Що таке ECC?
ECC (Elliptic Curve Cryptography) - це метод криптографії з відкритим ключем, заснований на використанні еліптичних кривих над кінцевими полями. Найголовнішою відмінністю ECC від RSA є розмір ключа в порівнянні з криптографічного стійкістю. ECC здатний забезпечити ту ж саму криптостойкость, що і RSA-система, але з ключами набагато меншого розміру. Наприклад, 256-бітний ECC-ключ еквівалентний 3072-бітовим ключам RSA (які на 50% довше, ніж 2048-бітові ключі, які використовуються сьогодні). Нарешті, самі захищені симетричні алгоритми, що застосовуються в TLS (наприклад, AES), використовують як мінімум 128-бітові ключі, внаслідок чого перехід до асиметричних ключів виглядає найбільш раціональним кроком.
Чому потрібно переходити до ECC?
Невеликий розмір ключів робить ECC ідеальним вибором для пристроїв з обмеженими ресурсами зберігання або обробки даних, які все частіше зустрічаються в сфері IoT. Якщо говорити в контексті серверних способів використання, невеликі розміри ключів дозволяють прискорити рукостискання SSL (handshake), що виливається в максимально швидке завантаження сторінок і більш високу безпеку.
Сьогодні ECC-сертифікати випускаються як Symantec, так і Comodo. Якщо Вам необхідний ECC-сертифікат, Ви повинні згенерувати спеціальний запит. Для Comodo генерація Elliptical Curve CSRs вимагає використання OpenSSL 1.x або пізніших версій і виглядає наступним чином:
1) Створюємо файл конфігурації Elliptic Curve Parameters:
$ Openssl ecparam -name prime256v1 -out ecparams.pem
$ Openssl req -new -sha256 -nodes -newkey ec: ecparams.pem -keyout my_ecc.key -out my_ecc.csr
Зверніть увагу: випуск ECC-сертифіката можливий тільки в тому випадку, якщо Ви ще не пройшли процес валідації. Тому заздалегідь попереджайте нас по email про те, що Вам потрібно ECC-сертифікат!