Недавно в списках рассылки проекта OpenSSH было объявлено, что предложил план прекращения поддержки ключей на основе алгоритма DSA.
Упоминается, что Главная причина прекратить поддержку этого алгоритма, потому что в настоящее время Ключи DSA не обеспечивают должного уровня безопасности. учитывая 160-битный предел закрытого ключа и использование SHA1, который с точки зрения безопасности примерно эквивалентен 80-битному симметричному ключу.
DSA означает алгоритм цифровой подписи. Он используется для цифровой подписи и проверки. Он основан на математической концепции модульного возведения в степень и дискретного логарифма. Он был разработан Национальным институтом стандартов и технологий (NIST) в 1991 году.
Он включает в себя четыре операции:
1. Генерация ключей
2. Распределение ключей
3. Подпись
4. Проверка подписи
Мы должны помнить, что в OpenSSH Использование ключей DSA по умолчанию было прекращено в 2015 году., был оставлен как опция, поскольку этот алгоритм был необходим для реализации в протоколе SSHv2. Такая необходимость возникла потому, что на момент создания и утверждения протокола SSHv2 все альтернативные алгоритмы подлежали патентованию. Однако со временем ситуация изменилась: срок действия патентов, связанных с RSA, истек, и были введены такие алгоритмы, как ECDSA и EdDSA, которые существенно превосходят DSA по производительности и безопасности.
DSA, как указано в протоколе SSHv2, по своей сути слаб:
ограничено 160-битным закрытым ключом и использованием дайджеста SHA1. Является
Предполагаемый уровень безопасности <= 80-битный симметричный эквивалент.OpenSSH по умолчанию отключил ключи DSA с 2015 года, но сохранил их в качестве дополнительной поддержки. DSA — единственный алгоритм, который должен быть реализован в RFC SSHv2, главным образом потому, что альтернативные алгоритмы были обременены патентами, когда они были разработаны и определены.
С тех пор мир изменился. RSA не обременен и поддерживает
потому что оно вездесуще. ECDSA предлагает значительные преимущества в производительности и безопасности по сравнению с modp DSA, а EdDSA превосходит дополнительные улучшения производительности и безопасности по сравнению с обоими.
Оценив текущую ситуацию, Разработчики OpenSSH пришли к выводу, что затраты, связанные с поддержанием небезопасного алгоритма DSA, больше не оправданы. Удаление DSA воспринимается как стимул для других реализаций SSH и криптографических библиотек также прекратить поддержку DSA.
В дополнение к этому, план по выводу DSA из кода уже опубликован OpenSSH, поскольку изначально, как уже упоминалось в начале, поддержка перешла от стандартного к дополнительному, и с учетом отклонения апрельская версия OpenSSH планирует сохранить компиляцию DSA, но предложит возможность отключить DSA во время компиляции.
Впоследствии, в июньском выпуске, DSA будет отключен по умолчанию во время сборки и будет удален из кодовой базы в начале 2025 года.
Разве это не делает OpenSSH несовместимым с RFC4253?
Практически не больше, чем с 2015 года, когда мы перестали предлагать поддержку DSA по умолчанию.
* Зачем вносить это изменение сейчас? Почему не до/после?
Мы считаем, что прошло достаточно времени с тех пор, как DSA был отключен по умолчанию, что, вероятно, привело к воздержанию от использования алгоритма подавляющим большинством пользователей. Также вероятно, что вскоре мы начнем исследовать алгоритм постквантовой подписи и узнаем общий размер и сложность кода ключа/подписи.
Наконец, упоминается, что для те пользователи, которым все еще нужна поддержка DSA на стороне клиента, будет возможность использовать альтернативные сборки старых версий OpenSSH, например пакет "openssh-client-ssh1", поставляемый Debian. Этот пакет, основанный на OpenSSH 7.5, предназначен для подключения к SSH-серверам с использованием протокола SSHv1, поддержка которого была прекращена в OpenSSH 7.6 шесть лет назад.
наконец, если вы интересно узнать о нем больше, Поэтому ознакомьтесь с подробностями в Siguiente ссылка.