Co je ECC a proč byste ho měli používat?
Certifikáty SSL nejčastěji používají klíče RSA a doporučená velikost klíčů konstantně roste (např. v posledních letech z 1024 bitů na 2048 bitů), a ta souvisí s údržbou dostatečné kryptografické síly. Oba typy klíčů vycházejí z využití asymetrických algoritmů (jeden klíč pro šifrování a jeden klíč pro dešifrování).
Nicméně ECC přináší stejnou úroveň kryptografické síly a současně zachovají mnohem menší velikost klíčů, což umožňuje zvýšit zabezpečení a snížit požadavky na počítačové vybavení. Podívejme se, co ECC je a proč byste měli zvážit jeho použití.
Co je ECC?
ECC (kryptografie eliptických křivek) – způsob kryptografie veřejného klíče na základě využití eliptických křivek nad konečnými poli. Nejvýznamnějším rozdílem při použití ECC je na rozdíl od RSA velikost klíče v porovnání s kryptografickou rezistencí. ECC nabízí stejnou kryptografickou sílu jako systém RSA, ale s mnohem menšími klíči. Například, klíč 256 bit ECC je stejný jako klíč 3072 bit RSA (který je o 50 % delší než používané klíče 2048 bit).
Nejbezpečnější symetrické algoritmy použité v TLS (např. AES) využívají minimálně klíčů 128 bit, takže přechod na asymetrické klíče se zdá být velmi rozumným.
Proč bychom měli přejít na ECC?
Díky malé velikosti klíče je ECC ideální volbou pro zařízení s omezeným úložištěm nebo zdroji pro zpracování dat, které se stále více objevují v oblasti IoT. V kontextu s technologiemi serverů, malá velikost klíče dokáže urychlit aktivaci SSL, a to má za následek extrémně rychlé nahrání stránky a vyšší bezpečnost.
Certifikáty ECC v současnosti vydává Symantec a Comodo. Pokud potřebujete certifikát ECC, musíte vygenerovat speciální žádost. Pro generování žádostí o CSR s eliptickými křivkami je potřeba OpenSSL 1.x nebo vyšší a postup je následující:
1) Vytvořte konfigurační soubor s parametry eliptických křivek.
$ openssl ecparam -name prime256v1 -out ecparams.pem
2) Vytvořte CSR:
$ openssl req -new -sha256 -nodes -newkey ec:ecparams.pem -keyout my_ecc.key -out my_ecc.csr
Poznámka: Vydání certifikátů ECC je možné pouze pokud jste nezahájili proces ověření. Proto nás v případě, že chcete certifikát ECC, informujte předem!