Какую длину ключа RSA следует использовать для сертификатов SSL?

Я в процессе создания CSR, и мне интересно, какая, возможно, лучшая длина для моего ключа RSA.

Конечно, 384, вероятно, слишком слабый, а 16384, вероятно, слишком медленный.

Есть ли консенсус относительно длины ключа, который следует использовать в зависимости от срока действия сертификата?

Изменить: Как и большинство людей, я хочу, чтобы мой ключ был достаточно сильным. Меня не беспокоит, что АНБ может сломать мой ключ в 2019 году. Я просто хочу знать, что лучше всего, когда кто-то планирует заниматься обычным бизнесом (например, сайт электронной коммерции)

Ответов (8)

Решение

По состоянию на 2020 год ключи RSA должны быть 2048 бит.

1024 бит

  • 1024-битные сертификаты RSA устарели и не принимаются браузерами.
  • Firefox перестал принимать 1024-битные сертификаты RSA в 2014 году.
  • Центры сертификации перестали доставлять 1024-битные сертификаты RSA в 2014 году или ранее. См. Уведомление GlobalSign или Comodo .
  • Ключи на 1024 бита устарели, потому что их можно было взломать в небольшом центре обработки данных (тысячи ЦП или сотни ГП, может быть, за несколько месяцев). Может показаться, что это много, но это было в пределах досягаемости любой крупной организации или правительства.

2048 бит

  • 2048-битные сертификаты RSA в настоящее время являются принятой нормой.
  • Базовый план по умолчанию, предоставляемый CA и используемый программным обеспечением.
  • Со временем тоже будет взломан. Не знаю, когда, но могут потребоваться десятилетия.
  • Для взлома удвоения размера требуется на много порядков больше вычислительной мощности. Посмотрите вопрос, насколько сильнее RSA 2048 по сравнению с 1024 .

4096 бит

  • 4096-битные сертификаты RSA - следующий шаг
  • Широко доступен и поддерживается. Все основные центры сертификации могут обеспечивать RSA как 2048, так и 4096 бит, включая Let's encrypt .
  • Стоимость вычислений не зависит от размера ключа. 4096 не вдвое медленнее 2048, возможно, в 10 раз медленнее для обработки. Не обновляйте сертификаты вслепую до 4096 бит, не принимая во внимание влияние на производительность .
  • «Сеть» в основном остается на 2048-битных сертификатах, потому что она не может нести затраты на оборудование для 4096-битных сертификатов. Рассмотрим крупных игроков, таких как Google, CloudFlare, NetFlix, с огромным трафиком и огромным объемом оборудования.

3072 бит

  • 3072 бита - это не вещь. Переходите прямо к 4096 битам.
  • Совершенно возможно сделать 3072-битную криптографию, просто никакое программное обеспечение не реализует, не поддерживает и не рекламирует ее официально.
  • Исторически сложилось так, что примерно в 2010-2015 годах была предпринята попытка запустить 3072 для случаев использования, когда дополнительные вычислительные затраты 4096 не идеальны. Он исчез, но есть еще несколько старых статей, раскрывающих достоинства (более быстрого) 3072.

Дополнительный

  • Впервые RSA был публично описан в 1977 году, и он все еще силен почти 50 лет спустя. Просто нужно увеличить количество бит, чтобы не отставать от более быстрых компьютеров.
  • Существует еще один метод криптографии с открытым ключом, основанный на эллиптических кривых, см. ECDSA (1992).
  • Существует огромная разница между возможностями пользователя и злоумышленника. Веб-сервер или мобильный клиент имеют один (маломощный) процессор. У злоумышленника может быть целый центр обработки данных, например, недавно построенный центр обработки данных AWS содержит около 60 000 серверов.
  • Невероятно, что одно мобильное устройство может вычислить математику за несколько секунд ... что миллионы компьютеров не могли даже мечтать отгадать за всю жизнь.

Центры сертификации не будут подписывать csr размером менее 2048 бит, поэтому вам следует сгенерировать csr размером 2048 бит.

ENISA рекомендует 15360 бит. Взгляните на PDF-файл (стр. 35)

http://www.enisa.europa.eu/activities/identity-and-trust/library/deliverables/algorithms-key-sizes-and-parameters-report/at_download/fullReport

В августе этого года Microsoft собирается развернуть исправление для Server 2003/2008, Win7 и т. Д., Которое потребует использования как минимум 1024-битного ключа RSA. Так что вы можете начать делать это своим «минимальным» стандартом.

Для сертификатов SSL, используемых на веб-сайтах, важно отметить этот текст с веб-сайта Thawte.com (по состоянию на 22.07.2014):

Отраслевые стандарты, установленные Форумом центров сертификации / браузеров (CA / B), требуют, чтобы сертификаты, выпущенные после 1 января 2014 г., ДОЛЖНЫ иметь длину ключа не менее 2048 бит.

Мне нужно было создать несколько новых сертификатов SSL, и ответы выше меня не удовлетворили, потому что они казались расплывчатыми или устаревшими, поэтому я немного покопался. Итог: выбранный ответ правильный, используйте «2048-битные ключи ... больше не имеет смысла» .

Увеличение длины бит до 4096 добавляет потенциально значимую нагрузку на ваш сервер (в зависимости от вашей существующей нагрузки), предлагая в основном незначительное обновление безопасности.

Если вы находитесь в ситуации, когда вам нужен ключ длиной более 2048 бит, вам не нужна более длинная длина в битах, вам нужен новый алгоритм

Поскольку многие клиенты требуют соблюдения криптографических стандартов NIST, я использую рекомендации в специальной публикации NIST 800-57, Рекомендации по управлению ключами, часть 1, §5.6. Большинство наших приложений хорошо подходят для 112 «бит» безопасности, так что это соответствует тройному DES (или небольшому увеличению до 128-битного AES) для симметричных шифров и 2048-битному ключу для RSA. См. Таблицу 2 для приблизительной эквивалентности.

Верно или нет, но возможность направить их к публикации NIST помогает клиентам лучше относиться к безопасности (если они удосуживаются спросить).

Я думаю, что 4096 подходит для RSA

Проверить эту ссылку

В конце подписи SHA-1 нет ничего нового, но Google ускорил процесс хромирования. В ближайшие несколько недель вам следует проверить их сертификаты SSL.

Это может быть полезно