Релиз OpenSSH 9.9 с поддержкой алгоритма постквантового шифрования ML-KEM

Опубликован релиз OpenSSH 9.9, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. Основные изменения:

  • В ssh и sshd добавлена поддержка гибридного алгоритма обмена ключами “mlkem768x25519-sha256“, стойкого к подбору на квантовом компьютере и представляющего собой комбинацию из X25519 ECDH и алгоритма ML-KEM (CRYSTALS-Kyber), недавно стандартизированный Национальным институтом стандартов и технологий США (NIST). ML-KEM использует методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
  • В файл конфигурации sshd_config добавлено ключевое слово “RefuseConnection”, при выставлении которого sshd будет завершать соединения после первой попытки аутентификации. В директиву PerSourcePenalties добавлен класс “refuseconnection”, который применяется при завершении соединения после срабатывания “RefuseConnection”.
  • В клиенте ssh прекращена поддержка сжатия данных на этапе до прохождения аутентификации, которая существенно увеличивает поверхность атаки на SSH-серверы и создаёт риски применения косвенных методов анализа информации, отправляемой в процессе аутентификации. В сервере sshd сжатие до аутентификации было отключено ранее.
  • В ssh и sshd при разборе аргументов директивы “Match” задействованы похожие на shell правила работы со строками, заключёнными в кавычки, поддерживающие вложенное обрамление и экранирования при помощи символа “”.
  • В файле конфигурации ssh_config в директиве “Include” обеспечена поддержка переменных окружения и “%”-подстановок, таких же как в директиве “Match Exec”.
  • В sshd_config в директиву Match добавлена опция “invalid-user”, срабатывающая при попытке входа с некорректным именем пользователя.
  • В ssh и sshd задействована более быстрая реализация алгоритма “Streamlined NTRUPrime”. Для гибридного алгоритма обмена ключами Streamlined NTRUPrime/X25519 добавлена возможность использования имени “sntrup761x25519-sha512”, помимо специфичного для SSH имени “[email protected]”.
  • В ssh, sshd и ssh-agent добавлена работающая в OpenBSD, Linux и FreeBSD защита от оседания закрытых ключей в core-файлах.
  • Обработка ключей переведена на использование API EVP_PKEY, предоставляемый библиотекой libcrypto.
  • В sshd добавлено случайное изменение таймаута подключения (LoginGraceTime) в пределах 4 секунд для усложнения определения истечения таймаута.
  • Решены проблемы со сборкой с библиотекой Musl.
Release. Ссылка here.