Генерация пар SSH: RSA или DSA?


104

SSH поддерживает два алгоритма подписи для пар ключей: RSA и DSA. Что предпочтительнее, если есть? Какова минимальная допустимая длина ключа для RSA?

Ответы:


70

RSA, как правило, предпочтительнее (теперь, когда выдача патента закончена), потому что он может достигать 4096 бит, где DSA должен быть ровно 1024 бит (по мнению ssh-keygen). 2048 бит - ssh-keygenэто длина по умолчанию для ключей RSA, и я не вижу особой причины использовать более короткие. (Минимально возможное значение составляет 768 битов; я полагаю, что это "приемлемо", это ситуативно.)


Я часто задавался вопросом, почему люди чувствуют необходимость защищать свои ssh-соединения с помощью 2048-битного ключа, когда ваш банк, которому вы, вероятно, доверяете, вряд ли превысит 256 бит и с большей вероятностью будет использовать 128 бит. Я, конечно, не говорю, что с большим ключом что-то не так, я просто… говорю.
msanford

25
Банковское SSL-соединение представляет собой другой тип шифра, который используется, и более конкретно, ключ, используемый для основных частей транзакции, генерируется и используется исключительно для этой транзакции, а затем отбрасывается.
Офидиан

Причина на самом деле связана с масштабированием. шифрование недешево, и чем выше ваша стойкость ключа, тем меньше SSL-соединений вы можете обслуживать. Если у вас есть розничный банк, в котором каждый потребитель пытается использовать SSL, вам придется выбрать совместимый набор ключей, который также соответствует вашему оборудованию.
Спенс

15
msanford: Как сказал Офидиан, это разные виды шифрования. 256-битные ключи RSA были бы совершенно бесполезны практически для любых целей. Симметричные ключи находятся в диапазоне 128-512 бит, в то время как ассиметричные начинаются с 768 бит, и безопасны при 1500-2000 бит и выше. Открытые ключи 768 бит могут быть и были сломаны. 128-битная симметрия не может (сама по себе) быть практически нарушена.
Томас

2
@xenoterracide, ssh использует библиотеки openssl. При первом запуске SSH он использует ключи RSA / DSA для проверки хоста и настройки симметричных ключей для сеанса. Это та же самая процедура, которой следуют SSL-серверы и клиенты, поэтому вы обнаружите, что мы, люди, говорим о SSH, они часто будут ссылаться, чтобы разрешить исследование и документацию, выполненную для SSL
Walter

5

Это не симметричное или асимметричное шифрование. Речь идет о конкретных алгоритмах (RSA и DSA), требующих большего числа битов для достижения приемлемого уровня безопасности. Например, ECC - это также асимметричное шифрование, но оно обеспечивает хорошую безопасность при гораздо меньшем количестве битов, чем RSA или DSA.


5

Если у вас есть недавняя реализация SSH, вы также можете рассмотреть ECDSA!


3

256-битные сертификаты, которые банки используют для соединений SSL, представляют собой симметричные шифры, такие как 3DES или AES, отсюда и меньшее количество битов. Когда вы видите 1024 и 2048 (и даже 4096), это асимметричные шифры.


1

Ключи DSA имеют значительно более короткие подписи, чем ключи RSA (для того же «уровня безопасности»), поэтому одной из причин использования DSA может быть ограниченная среда.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.