Přeskočit na obsah

Použitie certifikátov s RSA aj ECDSA kľúčom súčasne

Chceli by ste zákazníkom sprístupniť moderné a rýchle šifrovanie pomocou EC kľúča, ale stále sa bojíte o kompatibilitu starších prehliadačov? Už nemusíte. Na webový server môžete nastaviť dva certifikáty vedľa seba a RSA bude slúžiť ako fallback. V tomto návode sa dozviete, ako použiť dva certifikáty s RSA aj EC kľúčom spoločne na jednej doméne.

Webové servery už toto vedia dlhšiu dobu; ak teda váhate, či je pravý okamih prejsť na ECC certifikát kvôli kompatibilite návštevníkov, môžete nastaviť oba. Moderné prehliadače použitie EC kľúča podporujú a ich komunikácia so serverom bude rýchlejšia. Tie prehliadače, ktoré kryptografiu eliptických kriviek (ECC) použiť nevedia, budú mať k dispozícii klasický RSA certifikát ako tzv. fallback.

Princíp fungovania dvoch certifikátov na webserveri

Fungovanie dvoch certifikátov s rôznym algoritmom vedľa seba je jednoduché. Jednoducho do konfigurácie webového servera doplníte druhý certifikát a necháte na ňom, ktorý potom použije.

K dispozícii budú dva certifikáty, každý s iným algoritmom kľúča, a ich použitie určí zoznam šifier zoradených podľa preferencie (a samozrejme preferencie prehliadača, ktorý sa pripája). Preferovaný bude ECC certifikát, ktorý obsahuje kratší kľúč a ktorého kryptografia je silnejšia ako RSA.

Poradie certifikátov sa určuje podľa preferencie šifrovacích algoritmov, ktoré nastavujete pre danú doménu na webserveri. V zozname preferovaných (aj zakázaných) šifier sú šifry zoradené podľa priorít tak, aby server skúšal tie skôr uvedené pred tými neskôr uvedenými.

Fallback z ECC na RSA

Ak sa server s klientom nedohovorí na šifrách s EC kľúčom, tak prejde k nasledujúcim šifrám využívajúcim RSA, ktoré prehliadač určite podporuje. Je tak zaistený tzv. fallback na klasický RSA certifikát. Vďaka tomu je použitie duálnej konfigurácie bezpečné a nemusíte mať obavy, že sa na váš web nedostane zákazník so starým browserom.

Nastavenie preferencie šifier

Pri každom webovom serveri je potrebné definovať preferované šifry; na to odporúčame využiť službu moz://a SSL Configuration Generator alebo Cipherli.st. Získate tak zoznam vhodných šifier, ktorý odporúčajú odborníci na bezpečnosť, a nebudete ho musieť zložito vytvárať sami.

Ako získať duplikát certifikátu

V SSLmarkete štandardne získate jeden certifikát s algoritmom použitým v CSR. Ak chcete získať duplikát k existujúcemu certifikátu zadarmo (s iným algoritmom), neváhajte kontaktovať našu zákaznícku podporu. Na duálne použitie RSA a ECC nemusíte kupovať 2x rovnaký certifikát.

Apache

Do konfigurácie vhostu konkrétneho webu doplníte umiestnenie druhého páru certifikátu a privátneho kľúča. Tento druhý certifikát bude mať iný algoritmus kľúča ako prvý; predpokladáme, že dopĺňate ECC certifikát k existujúcemu RSA certifikátu.

Do konfigurácie iba doplníte druhý pár kľúčov. Ich použitie potom závisí od preferencie algoritmov 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

Ak máte v konfigurácii povolenú direktívu SSLCACertificateFile, tak ju pokojne zmažte či zakomentujte. Intermediate (CA certifikát) nie je nutné zvlášť uvádzať, pretože ho už máte v súbore so samotným certifikátom pre doménu.

Šifrovacie algoritmy využívajúce ECC by mali logicky byť v zozname vpredu s vyššou prioritou. Nastavenie protokolov a zoznamu šifier vykonáte v súbore ssl.conf (štandardne v priečinku /mods-enabled). Príklad prevzatý 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 vie zároveň použiť RSA a ECC certifikát od verzie 1.11.0, ktorá vyšla v roku 2016. Nastavenie konfigurácie pre nginx má rovnakú logiku ako u Apache. Iba pridáte druhý certifikát do konfigurácie a necháte server rozhodnúť.

server {
  listen 443 ssl default_server;
  server_name domena.sk www.domena.sk;

  # RSA certifikát
  ssl_certificate /var/ssl/domena.sk/certs/fullchain.rsa.pem;
  ssl_certificate_key /var/ssl/domena.sk/private/privkey.rsa.pem;

  # ECDSA certifikát
  ssl_certificate /var/ssl/domena.sk/certs/fullchain.ecc.pem;
  ssl_certificate_key /var/ssl/domena.sk/private/privkey.ecc.pem;

  # Other directives
}

Nastavenie protokolov a zoznamu šifier (prevzaté 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;

U oboch webových serverov sa certifikát vkladá spolu s Intermediate v jednom súbore. Tomu zodpovedá súbor linux_intermediate.pem, ktorý nájdete v e-maile od nás aj vo vašej zákazníckej administrácii. Použite tento a nemusíte nič viac upravovať.

Overenie správnosti inštalácie

Správnosť inštalácie SSL certifikátu si môžete skontrolovať v našom overovači. Pre viac informácií čítajte článok pomocníka Kontrola inštalácie certifikátu.

Zdroje a viac informácií

Máte otázky?

Neváhajte kontaktovať našu zákaznícku podporu, ktorá vám poradí a pomôže.

Zavolajte nám

ZONER s.r.o.

Jaskový rad 5
831 01 Bratislava

IČO: 35770929
DIČ: SK2020212590