Tanúsítványok egyidejű használata RSA és ECDSA kulcsokkal
Modern és gyors EC-kulcsos titkosítást szeretne elérhetővé tenni ügyfelei számára, de aggódik a régebbi böngészőkkel való kompatibilitás miatt? Nem kell. Két tanúsítványt állíthat be egymás mellett a szervren, és az RSA tartalékként szolgál. Ebben a bemutatóban megtanulhatja, hogyan használhat két RSA és EC kulcsú tanúsítványt együttesen ugyanazon a tartományon.
A webszerverek már egy ideje képesek erre; ha tehát hezitál, hogy a látogatók kompatibilitása miatt nem lenne-e itt az ideje ECC-tanúsítványra váltani, akkor itt a megoldás: mindkettőt beállíthatja. A modern böngészők támogatják az EC-kulcs használatát, és a szerverrel való kommunikációjuk gyorsabb lesz. Azoknak a böngészőknek, amelyek nem tudják használni az elliptikus görbületű kriptográfiát (ECC), klasszikus RSA-tanúsítványt kell használniuk tartalékként (fallback).
Hogyan működik két tanúsítvány egy webszerveren?
Két különböző algoritmusú tanúsítvány egymás mellett történő működtetése egyszerű. Egyszerűen hozzáad egy második tanúsítványt a webkiszolgáló konfigurációjához, és a szerverre bízza, hogy melyik tanúsítványt használja.
Két tanúsítvány lesz, mindkettő más-más kulcsalgoritmussal, és használatukat a titkosítások listája határozza meg, amely a preferenciák (és természetesen a csatlakozó böngésző preferenciái) szerint van rendezve. A rövidebb kulcsot tartalmazó ECC-tanúsítvány, amelynek kriptográfiája erősebb az RSA-nál, prioritást élvez.
A tanúsítványok sorrendjét a titkosító algoritmusok preferenciája határozzza meg, amelyek az adott domain webszervére állít be. A titkosítások preferált listáján (és letiltotton is) a titkosítások olyan sorrendben vannak, hogy a szerver mindig az előbb találhatóakat próbálja a hátrébb rangsoroltakkal szemben.
Fallback ECC-ről RSA-ra
Ha a szerver és a kliens nem értik meg egymást az EC kulcsos titkosítással, akkor a következő titkosítási módra vált, amely az RSA-t használja és amelyet a böngésző biztosan támogat. Ez az úgy ún. fallback a klasszikus RSA tanúsítványra. Ez biztonságossá teszi a kettős konfiguráció használatát, és nem kell aggódnia amiatt, hogy egy régi böngészővel rendelkező ügyfél nem tud hozzáférni az oldalához.
Titkosítás preferencia beállítása
Minden webszerveren szükséges beállítani a preferált titkosításty; ehhez ajánljuk a moz://a SSL Configuration Generator szolgáltatást vagy a Cipherli.st-t. Így kap egy listát a biztonsági szakértők által ajánlott megfelelő titkosításokból, és nem kell azt bonyolultan létrehoznia azt.
Hogyan szerezhető meg a tanúsítvány duplikátja?
Az SSLmarketen alapból egy tanúsítványt kap a CSR-t használó algoritmussal. Ha ingyenes másolatot szeretne kapni meglévő tanúsítványáról (más algoritmussal), ne habozzon fel venni a kapcsolatot ügyfélszolgálatunkkal. A kettő RSA és ECC használathoz nem szükséges két ugyanolyan tanúsítványt vásárolnia.
Apache
Az adott weboldal vhost konfigurációjához adja hozzá a második és privát kulcs párost. Ennek a második tanúsítványnak más kulcsalgoritmusa lesz, mint az elsőnek; feltételezzük, hogy az ECC-tanúsítványt adja hozzá a már meglévő RSA-tanúsítványhoz.
A konfigurációhoz mindössze adja hozzá a második kulcspárost. Ezek használata a chipersuites algoritmusának preferenciájától függ.
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
Ha a konfigurációban engedélyezve van az SSLCACertificateFile direktíva, nyugodtan törölje vagy kommentálja. A köztes, Intermediate-t (CA-tanúsítvány) nem szükséges külön feltüntetni, mivel ez már benne van a tartománytanúsítvánnyal együtt lévő fájlban.
Az ECC-t használó titkosítási algoritmusoknak logikusan a lista elején kell lenniük magasabb prioritással. A protokollokat és a titkosítások listáját az ssl.conf fájlban állíthatja be (alapértelmezés szerint a /mods-enabled mappában). A példa átveheti innen 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
Az Nginx a 2016-ban megjelent 1.11.0-s verzió óta egyidejűleg használhat RSA- és ECC-tanúsítványokat. Az nginx konfigurációs beállításai ugyanazt a logikát használja, mint az Apache esetében. Csak adja hozzá a második tanúsítványt a konfigurációhoz, és hagyja, hogy a szerver döntsön.
server {
listen 443 ssl default_server;
server_name domain.hu www.domain.hu;
# RSA tanúsítvány
ssl_certificate /var/ssl/domain.hu/certs/fullchain.rsa.pem;
ssl_certificate_key /var/ssl/domain.hu/private/privkey.rsa.pem;
# ECDSA tanúsítvány
ssl_certificate /var/ssl/domain.hu/certs/fullchain.ecc.pem;
ssl_certificate_key /var/ssl/domain.hu/private/privkey.ecc.pem;
# Other directives
}
Protokol beállítás és titkosítások listája (átvéve a ssl-config.mozilla.org-ról):
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;
Telepítés helyességének ellenőrzése
Az SSL tanúsítvány telepítésének helyességét ellenőrizheti az erre szolgáló eszközünkön. Bővebb információkat a súgó oldalán olvashat: SSL tanúsítvány telepítésének ellenőrzése.
Források és további információk
- Hybrid RSA and ECDSA certificates with NginX. Elérhető itt: https://scotthelme.co.uk/hybrid-rsa-and-ecdsa-certificates-with-nginx/
- moz://a SSL Configuration Generator. Elérhető itt: https://ssl-config.mozilla.org/