Podpora ECC certifikátů - nastal už jejich čas?

22. 5. 2019 | Jindřich Zechmeister

ECC certifikáty (Elliptic Curve Cryptography) byly už před lety představeny jako budoucí náhrada certifikátů s RSA klíči; dosud se však neprosadily natolik, aby se dalo hovořit o náhradě. Pojďme se podívat na podporu ECC certifikátů ze strany klientů (prohlížečů) a také na to, jak je možné ECC certifikát získat.

Co je to ECC kryptografie

Eliptická křivka; zdroj: DigiCert.comKryptografie veřejného klíče je matematicky založena na vysoké složitosti řešení konkrétního matematického problému. Je účinná pouze tehdy, když vyřešení daného matematického problému není možné, protože se současnou výpočetní silou by zabralo velice dlouho (desítky, stovky, tisíce let). Tím je zaručeno, že nikdo na Zemi není schopen tento problém prakticky řešit a prolamovat danou úroveň zabezpečení (úrovní se myslí používaná síla šifrování a délka klíčů).

U RSA klíčů je matematickým problémem nemožnost rychlého výpočtu dvou součinitelů z jejich součinu (faktorizace); tím je velké prvočíslo. ECC kryptografie stojí na předpokladu, že nalezení diskrétního logaritmu náhodného bodu eliptické křivky s ohledem na známý základní bod je nemožné.

ECC kryptografie je tedy označení pro použití klíčů založených na eliptických křivkách. Běžně se v současné PKI infrastruktuře používají převážně RSA klíče a ECC je modernější nástupce, avšak s jiným algoritmem. EC klíče používané pro šifrování jsou kratší (při zachování stejné bezpečnosti) a tento rozdíl je poznat i na vyšší rychlosti šifrování a zejména prvotním spojení klienta se serverem. Server má jednoduše řečeno "méně počítání". Například 256bitový EC klíč je ekvivalentní 3072bitovému RSA klíči a 384bitový EC klíč je dokonce ekvivalentní 7680bitovému RSA klíči (běžně se u RSA klíčů používá délka 2048 bitů).

Prohlížeče si s EC klíčem poradí

V době uvedení ECC certifikátů bylo poměrně riskantní nasadit certifikát s EC klíčem jako výchozí pro webové stránky. Teorie ECC vznikla už v roce 1985, v další dekádě se standardizovala a první certifikáty s použitím ECC kryptografie se začaly komerčně vydávat zhruba po roce 2010. V té době měl na trhu stále nezanedbatelný podíl operační systém Windows XP, který moderní bezpečnostní algoritmy a principy nepodporuje. Většina provozovatelů serverů byla nucena udržovat kompromis mezi bezpečností a zpětnou kompatibilitou pro své návštěvníky.

Dnes je však situace zcela jiná a ECC kryptografii v podstatě nic nestojí v cestě. Údaje výrobců software hovoří jasně - pokud váš návštěvník nemá výjimečně starý operační systém bez podpory výrobce, tak se na web s ECC certifikátem bez problému připojí. Níže najdete přehled verzí softwaru, které jako první přinesly podporu ECC kryptografie:

  • Windows - Vista a novější
  • Apple - OSX 10.6 a novější
  • Chrome - závisí na Windows, protože používá knihovny systému. Samotný browser od v. 24
  • Firefox - verze 18, jediná možnost na Windows XP
  • Android - verze 4 a novější

V současnosti se tedy nemusíte bát ECC kryptografii na webu použít. Pokud byste stále chtěli zaručit kompatibilitu se starším zařízením, tak k ECC certifikátu (od CA DigiCert) můžete získat duplikát s RSA klíčem zdarma.

Získání ECC certifikátu je snadné

V době psaní tohoto článku podporují EC klíče všechny certifikáty DigiCert, RapidSSL a vybrané certifikáty GeoTrust (tedy všechny certifikáty vydávané přes novou PKI DigiCertu). Postupně bude podpora ECC kryptografie umožněna u všech certifikátů v naší nabídce.

Prémiové certifikáty Symantec Secure Site ve variantě Pro zavedly ECC kryptografii od jejího uvedení do komerčního prodeje; v současnosti jsme schopni vydat všechny Secure Site certifikáty s EC klíčem.

Algoritmus veřejného klíče v objednávce certifikátu je determinován veřejným klíčem v CSR. Chcete-li tedy získat ECC certifikát, je nutné udělat i CSR s použitím tohoto algoritmu. V objednávce žádnou možnost výběru nenajdete.

Při vytvoření CSR je důležité vybrat správnou ECC křivku. V současnosti DigiCert podporuje křivku NIST P-256 (neboli prime256v1) - tyto možnosti najdete v softwaru, který používáte pro generování CSR (návod pro OpenSSL a Windows Server). Vytvořené CSR použijete v naší objednávce jako u jakéhokoliv jiného certifikátu.

Vyzkoušejte si to!

Fungování ECC certifikátu si můžete vyzkoušet na naší zkušební stránce. Uvidíte, že funguje zcela bez problému, načítá se ďábelsky rychle a rozdíl v algoritmu klíče v certifikátu nijak negativně nepoznáte.

Více informací:

  1. Elliptic Curve Cryptography (ECC), dostupné na DigiCert.com
  2. Ensuring compatibility without compromising security: the case of ECC/RSA hybrid certificates, dostupné na DigiCert.com

Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz