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 ECC 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 zkontrolovat v našem ověřovači. Pro více informací čtěte článek nápovědy Kontrola instalace certifikátu.
Zdroje a více informací
- Hybrid RSA and ECDSA certificates with NginX. Dostupné na: https://scotthelme.co.uk/hybrid-rsa-and-ecdsa-certificates-with-nginx/
- moz://a SSL Configuration Generator. Dostupné na: https://ssl-config.mozilla.org/
Je toho na vás moc?
+420 511 150 150
+420 730 162 600
Mrzí nás, že jste zde nenašli potřebné.
Pomůžete nám článek vylepšit? Napiště nám, co jste zde očekávali a nedozvěděli se.