Що таке ECC і навіщо його використовувати?
У сертифікатах SSL найчастіше використовуються ключі RSA, і рекомендований розмір ключів постійно збільшується (так, за кілька останніх років він збільшився з 1024 до 2048 біт), що пов’язано з необхідністю забезпечувати достатню криптографічну стійкість. В основі ключів обох типів лежать асиметричні алгоритми (один ключ для шифрування й один ключ для дешифрування).
Однак алгоритм ECC, забезпечуючи той самий рівень криптографічної стійкості, вимагає набагато меншого розміру ключів, що дозволяє підвищити рівень безпеки та зменшити обсяг необхідних обчислень. Давайте ж розглянемо, що таке ECC і чому його варто використовувати.
Що таке ECC?
ECC (Elliptic Curve Cryptography) — це метод криптографії з відкритим ключем, в основі якого лежить використання еліптичних кривих над скінченними полями. Найважливіша відмінність ECC від RSA — це співвідношення розміру ключа та криптографічної стійкості. ECC забезпечує той самий рівень криптографічної стійкості, що й система на базі RSA, але з використанням значно менших ключів. Наприклад, 256-бітний ключ ECC не поступається ефективністю 3072-бітному ключу RSA (який на 50 % більший за використовувані зараз 2048-бітні ключі).
Нарешті, найнадійніші симетричні алгоритми, що застосовуються в протоколі TLS (наприклад, AES), використовують ключі мінімальним розміром 128 біт, а тому перехід на асиметричні ключі видається досить виправданим кроком.
Чому варто перейти на ECC?
Малий розмір ключів робить ECC ідеальним вибором для пристроїв із обмеженими ресурсами пам’яті або обробки даних, що дедалі частіше зустрічається у сфері «Інтернету речей». У контексті серверних технологій малий розмір ключів може пришвидшувати встановлення зв’язку SSL, що забезпечує надзвичайно швидке завантаження сторінок і вищий рівень безпеки.
Сьогодні сертифікати ECC видають компанії Symantec і Comodo. Щоб отримати сертифікат ECC, необхідно створити спеціальний запит. Щоб створити запит CSR для отримання сертифіката ECC від компанії Comodo, необхідно встановити пакет OpenSSL 1.x або пізнішої версії та виконати наведені нижче дії.
1) Створити файл конфігурації з параметрами еліптичних кривих.
$ openssl ecparam -name prime256v1 -out ecparams.pem
2) Створити запит CSR:
$ openssl req -new -sha256 -nodes -newkey ec:ecparams.pem -keyout my_ecc.key -out my_ecc.csr
Примітка. Видання сертифікатів ECC можливе лише в тому разі, якщо ви ще не розпочали процедуру перевірки. Тому обов’язково заздалегідь повідомляйте нас електронною поштою про те, що вам потрібен сертифікат ECC!