Použití certifikátů s RSA i ECDSA klíčem současně

Chtěli byste zákazníkům zpřístupnit moderní a rychlé šifrování pomocí EC klíče, ale stále se bojíte o kompatibilitu starších prohlížečů? Už nemusíte. Na webový server můžete nastavit dva certifikáty vedle sebe a RSA bude sloužit jako fallback. V tomto návodu se dozvíte, jak použít dva certifikáty s RSA i EC klíčem společně na jedné doméně.

Webové servery už toto umí delší dobu; pokud tedy kvůli kompatibilitě návštěvníků váháte, zdali je pravý okamžik přejít na EC certifikát, můžete nastavit oba. Moderní prohlížeče použití EC klíče podporují a jejich komunikace se serverem bude rychlejší. Ty prohlížeče, které kryptografii eliptických křivek (ECC) použít neumí, budou mít k dispozici klasický RSA certifikát jako tzv. fallback.

Princip fungování dvou certifikátů na webserveru

Fungování dvou certifikátů s různým algoritmem vedle sebe je jednoduché. Jednoduše do konfigurace webového serveru doplníte druhý certifikát a necháte na něm, který pak použije.

K dispozici budou dva certifikáty, každý s jiným algoritmem klíče, a jejich použití určí seznam šifer seřazených podle preference (a samozřejmě preference prohlížeče, který se připojuje). Preferovaný bude ECC certifikát, který obsahuje kratší klíč a jehož kryptografie je silnější než RSA.

Pořadí certifikátů se určuje podle preference šifrovacích algoritmů, které nastavujete pro danou doménu na webserveru. V seznamu preferovaných (i zakázaných) šifer jsou šifry seřazeny podle priorit tak, aby server zkoušel ty dříve uvedené před těmi později uvedenými.

Fallback z ECC na RSA

Pokud se server s klientem nedomluví na šifrách s EC klíčem, tak přejde k následujícím šifrám využívajícím RSA, které prohlížeč určitě podporuje. Je tak zajištěn tzv. fallback na klasický RSA certifikát. Díky tomu je použití duální konfigurace bezpečné a nemusíte mít obavy, že se na váš web zákazník se starým browserem nedostane.

Nastavení preference šifer

U každého webového serveru je potřeba definovat preferované šifry; k tomu doporučujeme využít službu moz://a SSL Configuration Generator či Cipherli.st. Získáte tak seznam vhodných šifer, který doporučují odborníci na bezpečnost, a nebudete ho muset složitě vytvářet sami.

Jak získat duplikát certifikátu

V SSLmarketu standardně získáte jeden certifikát s algoritmem použitým v CSR. Pokud chcete získat duplikát ke stávajícímu certifikátu zdarma (s jiným algoritmem), neváhejte kontaktovat naši zákaznickou podporu. Pro duální použití RSA a ECC nemusíte kupovat 2x stejný certifikát.

Apache

Do konfigurace vhostu konkrétního webu doplníte umístění druhého páru certifikátu a privátního klíče. Tento druhý certifikát bude mít jiný algoritmus klíče než první; předpokládáme, že doplňujete ECC certifikát ke stávajícímu RSA certifikátu.

Do konfigurace pouze doplníte druhý pár klíčů. Jejich použití pak závisí na preferenci algoritmů v ciphersuites.

SSLCertificateFile /etc/ssl/certs/ssl-rsa.crt
SSLCertificateKeyFile /etc/ssl/private/pkey-rsa.pem

SSLCertificateFile /etc/ssl/certs/ssl-ecc.pem
SSLCertificateKeyFile /etc/ssl/private/pkey-ecc.pem

Pokud máte v konfiguraci povolenu direktivu SSLCACertificateFile, tak ji klidně smažte či zakomentujte. Intermediate (CA certifikát) není nutné zvlášť uvádět, jelikož ho už máte v souboru se samotným certifikátem pro doménu.

Šifrovací algoritmy využívající ECC by měly logicky být v seznamu vepředu s vyšší prioritou. Nastavení protokolů a seznamu šifer provedete v souboru ssl.conf (standardně ve složce /mods-enabled). Příklad převzat z ssl-config.mozilla.org:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

Nginx

Nginx umí zároveň použít RSA a ECC certifikát od verze 1.11.0, která vyšla v roce 2016. Nastavení konfigurace pro nginx má stejnou logiku jako u Apache. Pouze přidáte druhý certifikát do konfigurace a necháte server rozhodnout.

server {
listen 443 ssl default_server;
server_name domena.cz www.domena.cz;
# RSA certifikát
ssl_certificate /var/ssl/domena.cz/certs/fullchain.rsa.pem;
ssl_certificate_key /var/ssl/domena.cz/private/privkey.rsa.pem;
# ECDSA certifikát
ssl_certificate /var/ssl/domena.cz/certs/fullchain.ecc.pem;
ssl_certificate_key /var/ssl/domena.cz/private/privkey.ecc.pem;

# Other directives
}

Nastavení protokolů a seznamu šifer (převzato z ssl-config.mozilla.org):

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

Ověření správnosti instalace

Správnost instalace SSL certifikátu si můžete ověřit nástrojem certifikační autority. Pro více informací čtěte sekci Kontrola instalace SSL certifikátů v článku nápovědy o instalaci certifikátů.

Zdroje a více informací


Pomoc s SSL certifikáty

Je toho na vás moc?

Napište nám
info@sslmarket.cz
Kontaktní formulář
Zavolejte nám
+420 511 150 150
+420 730 162 600
Byl tento článek pro vás užitečný?