После пяти месяцев разработки объявлен выпуск OpenSSH 6.5, открытой реализации клиента и сервера для работы по протоколам SSH (1.3, 1.5 и 2.0) и SFTP.
Из заметных улучшений можно отметить:
В ssh и sshd добавлена поддержка метода обмена ключами на базе функции Curve25519, предложенной Дэниэлом Бернштейном (D. J. Bernstein) и основанной на использовании криптографии по эллиптическим кривым. Указанный метод используется по умолчанию, в случае его поддержки на стороне клиента и сервера;
В ssh и sshd добавлена поддержка схемы цифровой подписи с открытым ключом Ed25519, также разработанной Дэниэлом Бернштейном. Цифровые подписи Ed25519 обладают более высоким уровнем безопасности, чем ECDSA и DSA, и при этом отличаются очень высокой скоростью верификации и создания подписей. Стойкость к взлому для Ed25519 составляет порядка 2^128 (в среднем для атаки на Ed25519 потребуется совершить 2^140 битовых операций), что соответствует стойкости таких алгоритмов, как NIST P-256 и RSA с размером ключа в 375 байт или 128-битному блочному шифру. Ed25519 также не подвержен проблемам с коллизиями в хэшах, не чувствителен к атакам через определение скорости работы кэша (cache-timing attacks) и атакам по сторонним каналам (side-channel attacks).
Новый формат хранения закрытого ключа, основанный на использовании функции порождения ключа (Key Derivation Function) bcrypt и обеспечивающий более высокий уровень защиты ключа. Данный формат используется по умолчанию только для ключей Ed25519, но может быть задействован и для других типов ключей при указании опции "-o" в ssh-keygen;
В ssh и sshd добавлен новый транспортный протокол "chacha20-poly1305@openssh.com" на основе алгоритмов потокового шифра ChaCha20 и аутентификации сообщений Poly1305-AES, разработанных Дэниэлом Бернштейном. Алгоритмы ChaCha20 и Poly1305-AES созданы специально для обеспечения наивысшей безопасности при наименьших вычислительных затратах. Программная реализация алгоритмов позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки.
Ssh и sshd теперь отклоняют RSA-ключи от старых проприетарных клиентов и серверов, использующих устаревшую схему формирования сигнатур RSA+MD5 и методы обмена ключей на основе уязвимых способов расчёта хэшей. Соединение с такими системами пока допускается, но только с использованием ключей DSA. В будущем поддержка будет прекращена полностью;
В ssh и ssh-agent обеспечена поддержка только токенов kcs#11, которые представлены сертификатами X.509, а не raw-ключами;
В клиент ssh добавлена поддержка ключевого слова "Match", позволяющего определять условные блоки в конфигурации ssh_config в зависимости от имени хоста, пользователя и результата выполнения произвольной команды;
В ssh добавлена поддержка канонизации имени хоста на стороне клиента, используя набор правил и суффиксов DNS в ssh_config. Изменение позволяет преобразовать неполное имя в полное, исключающее неоднозначность при поиске ключей в known_hosts или при проверке имён сертификатов хоста;
В sftp-server добавлена возможность помещения запросов по протоколу SFTP в белый или чёрный списки по имени;
В sftp-server добавлена схема "fsync@openssh.com" для вызова
fsync для открытого файлового дескриптора;
В конфигурацию sshd добавлена директива PermitTTY, запрещающая выделение TTY и повторяющая по своей сути опцию no-pty в файле authorized_keys;
В конфигурацию ssh добавлена опция ProxyUseFDPass, которая позволяет использовать директиву ProxyCommands для установки соединения, а затем передать сформированный файловый дескриптор обратно в ssh. Использование опции позволяет сразу завершить выполнение команды, заданной через ProxyCommands, а оставлять её во время передачи данных;
Улучшения, специфичные для переносимой версии OpenSSH:
В sshd добавлена поддержка Capsicum API во FreeBSD 10 для помещения процесса в изолированное окружение на стадии до начала аутентификации;
Автоматически включаются доступные в используемом для сборки инструментарии методы повышения безопасности кода, в том числе применяются "-ftrapv" для защиты от целочисленных переполнений, -fstack-protector-strong, -fstack-protector-all и -fstack-protector для защиты от переполнений стека и опции для защиты от записи информации о динамическом связывании. Данное поведение можно отключить при помощи опций "--without-hardening" и "--without-stackprotect";
OpenSSH 6.5 является последним выпуском, поддерживающий версии OpenSSL младше 0.9.6;
В Linux, OS X и OpenBSD при сборке с использованием современных компиляторов по возможности формируются исполняемые файлы PIE (Position Independent Executable);
Для платформ, не предоставляющих генератор псевдослучайных чисел, теперь используется функция arc4random() на базе алгоритма ChaCha20.
OpenSSH 6.5
После пяти месяцев разработки объявлен выпуск OpenSSH 6.5, открытой реализации клиента и сервера для работы по протоколам SSH (1.3, 1.5 и 2.0) и SFTP.После пяти месяцев разработки объявлен вТакже по теме: