Доступен первый официальный выпуск экспериментальной реализации сервера и клиента для протокола SSH3 , оформленного в форме надстройки над протоколом HTTP/3, использующей QUIC (на базе UDP) и TLS 1.3 для установки защищённого канала связи и механизмы HTTP для аутентификации пользователей. Проект ведёт Франсуа Мишель (François Michel), аспирант Лувенского католического университета (Бельгия), при содействии Оливье Бонавентуры (Olivier Bonaventure), профессора этого же университета, известного разработкой Multipath TCP и сегментной маршрутизации IPv6 для ядра Linux, а также участием в написании 10 RFC и более 60 черновиков сетевых спецификаций. Код эталонной реализации клиента и сервера написан на языке Go и лицензирован под Apache 2.0.
Основными особенностями SSH3 являются:
- Новый подход к семантике классического протокола SSH: SSH3 использует механизмы HTTP для реализации функциональности, ранее свойственной SSH, что позволяет внедрить дополнительные возможности и скрыть активность SSH среди другого трафика.
- Интеграция с HTTP: SSH3 сервер выглядит как обычный HTTP-сервер и работает на порту 443 (HTTPS). Трафик SSH3 смешивается с обычным HTTP-трафиком, что усложняет выявление SSH-серверов и проведение атак на них.
- Секретный путь-идентификатор: для усиления безопасности сервера SSH3 может использоваться секретный путь-идентификатор. Этот идентификатор, указанный в URL, позволяет подключиться к серверу только с правильным идентификатором. Если идентификатор указан некорректно, сервер выдаст штатную ошибку “404”.
- Расширенные функции аутентификации: SSH3 поддерживает аутентификацию с использованием сертификатов X.509 и методов OAuth 2.0/OpenID Connect, помимо традиционных методов SSH.
- Поддержка перенаправления UDP-портов: помимо TCP-портов, SSH3 позволяет перенаправление UDP-портов, включая QUIC, DNS и RTP.
- Расширенные функции протокола QUIC: SSH3 включает возможности протокола QUIC, такие как миграция соединений без разрыва подключения и установка multipath-соединений для распараллеливания трафика по нескольким маршрутам.
- Улучшенное время установки соединения: SSH3 сокращает количество сетевых итераций при установке соединения с сервером, что повышает его эффективность.
- Использование TLS 1.3 для шифрования: для шифрования канала связи SSH3 использует протокол TLS 1.3, обеспечивая высокий уровень безопасности.
- Множество методов аутентификации: SSH3 поддерживает различные методы аутентификации, включая пароли, открытые ключи (RSA и EdDSA/ed25519) и OAuth 2.0.
- Интеграция с внешними провайдерами: SSH3 позволяет использовать аутентификацию через сторонних провайдеров, таких как Google, Microsoft и GitHub, с помощью протокола OAuth 2.0.
- Совместимость с OpenSSH: Реализация SSH3 поддерживает множество базовых функций OpenSSH, такие как файлы authorized_keys, конфигурационные файлы клиента, аутентификация через сертификаты и механизм known_hosts. Она также совместима с OpenSSH Agent и поддерживает прямой проброс TCP-портов.