TLS 1.3 в OpenSSL теперь поддерживает российские стандарты шифрования

TLS 1.3 в OpenSSL теперь поддерживает российские стандарты шифрования

TLS 1.3 в OpenSSL теперь поддерживает российские стандарты шифрования

Специалисты компаний «Криптонит» и «Криптоком» завершили разработку открытой реализации протокола TLS версии 1.3, обеспечивающего защиту данных с использованием российских криптографических алгоритмов. Она доступна как расширение для OpenSSL 1.1.1.

Протокол TLS используется в браузерах, мессенджерах, клиентах электронной почты, IP-телефонии и другими приложениями для обеспечения конфиденциальности данных, передаваемых через интернет. Версия 1.3 этого протокола определена в международном стандарте RFC8446 и является достаточно «революционной». Благодаря ей внесены существенные модификации в протокол, обеспечивающие одновременно усиление безопасности и улучшение его пользовательских характеристик.

TLS 1.3 позволяет использовать различные алгоритмы шифрования, распределения ключей и цифровой подписи. Конкретный набор криптографических алгоритмов (cipher suites), поддерживаемый обеими сторонами, задаётся на этапе «рукопожатия» (Handshake) — согласования параметров соединения.

Стандарт RFC8446 предусматривает использование в протоколе только зарубежных криптоалгоритмов. В России принято расширение RFC8446 — стандарт Р 1323565.1.030-2020. Его основным отличием является использование российских криптографических алгоритмов и поддержка других режимов работы протокола. Отечественный стандарт определяет 4 криптонабора, каждый из которых использует режим MGM (описан в Р 1323565.1.026) со своими уникальными параметрами.

Режим MGM относится к группе алгоритмов AEAD (аутентифицированного шифрования со связанными данными). В нём используется мультилинейный режим с аутентификацией Галуа, позволяющий одновременно обрабатывать конфиденциальные данные (содержимое сетевых пакетов) и вспомогательные технические (заголовки пакетов). Последние не нужно шифровать, но им требуется обеспечить защиту от модификации (целостность) и проверяемое соответствие зашифрованным фрагментам. Иными словами, MGM защищает от несанкционированных изменений метаданных, передаваемых открытым текстом.

Ранее научно-производственная компания «Криптонит» сообщала о создании на базе OpenSSL 1.1.1 реализации с открытым исходным кодом всех актуальных российских алгоритмов шифрования и режимов их использования, включая режим MGM. Следующим шагом стало обеспечение возможности использования этих алгоритмов в протоколе TLS 1.3.

Основным механизмом расширения функциональности библиотеки OpenSSL в версии 1.1.1 и более ранних является механизм «движка» (engine). Значительный объём российских криптографических алгоритмов доступен в OpenSSL через расширение Gost Engine.

Специалистами компаний «Криптонит» и «Криптоком» были выполнены следующие доработки Gost Engine, а также исходного кода самой библиотеки OpenSSL:

  • добавлен алгоритм кодировки открытого эфемерного ключа в расширении key_share (на этапе Handshake);
  • добавлен алгоритм выработки общего секретного значения ECDHE, при использовании протокола Диффи-Хеллмана;
  • реализован алгоритм TLSTREE, используемый для порождения ключей защиты записей из корневого ключа;
  • доработан механизм согласования алгоритма в расширении signature_algorithms (потребовало правки кода OpenSSL);
  • доработана встроенная система тестов.

«За относительно короткое время после выхода официального стандарта мы сделали open-source реализацию протокола TLS 1.3 с отечественной криптографией. Мне кажется, это хорошая работа и отличный задел на будущее для научного сообщества, разработчиков, а также пользователей, которые должным образом относятся к безопасности своих коммуникаций», — поясняет Александр Спиридонов, руководитель лаборатории информационной и сетевой безопасности НПК «Криптонит».

«Наша компания всегда понимала важность открытых реализаций наряду с сертифицированными, мы считаем, что такой подход способствует расширению рынка для всех его участников», — прокомментировал Дмитрий Кабелев, генеральный директор ООО «Криптоком».

На заключительном этапе согласно методическим рекомендациям ТК26 была проведена проверка полученной реализации протокола TLS 1.3 на контрольных примерах. Дополнительно выполнено её тестирование с использованием формального языка первичных спецификаций криптографических протоколов. Разработанную реализацию протокола TLS 1.3 планируется использовать на стенде тестирования совместимости криптографических средств, также разработанного в НПК «Криптонит».

Параллельно для текущей ветки OpenSSL 3.0 уже ведётся аналогичная работа по внедрению российских стандартов шифрования.

Подпишитесь на новости

Более 300 выходных узлов Tor использовали для перехвата SSH-паролей

Злоумышленники превратили сотни выходных узлов Tor в инфраструктуру для перехвата SSH-соединений. Вместо нужного сервера пользователь мог попасть на сервер атакующих и отдать им пароль. Но был важный барьер: для успешной кражи требовалось принять подменённый ключ сервера.

Атаку описал исследователь под псевдонимом kaba. Проверив около 3000 выходных узлов, он обнаружил 333, перенаправлявших SSH-трафик через одни и те же 12 серверов перехвата. Это примерно каждый десятый узел по количеству.

Исследователь заметил неладное 2 октября: SSH-клиент предупредил, что ключ удалённого сервера изменился. То самое сообщение, которое хочется раздражённо закрыть, в этот раз указывало на реальную подмену.


Если пользователь принимал чужой ключ и вводил пароль, атакующие могли получить доступ к его серверу. В ходе дальнейшей проверки kaba также зафиксировал попытку установить Ebury — бэкдор для Linux, предназначенный в том числе для кражи учётных данных.

Команда Tor подтвердила компрометацию серверов операторов: злоумышленники меняли настройки, а некоторые промежуточные узлы превращали в выходные. Затронутые узлы начали исключать из сети. Первоначальный способ взлома серверов остаётся неясным.


Опасное окно пришлось на 1-5 октября. Число пострадавших неизвестно. Пользователям, которые в эти дни подключались по SSH через Tor, принимали незнакомый ключ и вводили пароль, стоит считать его скомпрометированным. Анонимный маршрут не отменяет проверку того, кому вы отдаёте доступ.

RSS: Новости на портале Anti-Malware.ru