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 уже ведётся аналогичная работа по внедрению российских стандартов шифрования.

В Сеть выложили восстановленный исходный код легендарного Stuxnet

Неизвестный исследователь опубликовал на GitHub реконструированный исходный код Stuxnet — одного из самых известных и опасных компьютерных червей в истории. В репозитории представлены результаты обратной разработки вредоноса и инструкции по его сборке. В общем, цифровой экспонат из музея кибероружия теперь можно разобрать буквально по винтикам.

Stuxnet обнаружили в 2010 году, однако создавался он, предположительно, в рамках американо-израильской операции Olympic Games.

Целью атаки называли иранский завод по обогащению урана в Натанзе, где использовались промышленные контроллеры Siemens.

Добравшись до нужного оборудования, червь менял режим работы преобразователей частоты и выводил из строя роторы центрифуг. При этом операторам показывались нормальные показатели — промышленное оборудование ломалось, а на экранах царили тишина и порядок. По некоторым оценкам, атака повредила около 10% центрифуг предприятия.

Для распространения Stuxnet использовал USB-накопители, сетевые ресурсы и уязвимость Windows Print Spooler. Достаточно было открыть содержимое заражённой флешки, чтобы неизвестная на тот момент брешь запустила вредонос. Для обхода проверки драйверов применялись сертификаты, похищенные у Realtek и JMicron.

Червь также внедрялся в ПО Siemens WinCC и проекты Step 7, а затем перехватывал взаимодействие с программируемыми логическими контроллерами. Такой набор возможностей сделал Stuxnet первым широко известным вредоносом, который не просто портил файлы, а наносил физический ущерб промышленному объекту.

Идеальной операция всё же не была. Из-за ошибки в проверке окружения червь выбрался за пределы целевой сети и разлетелся по интернету, где его и заметили специалисты. В коде, к счастью, была предусмотрена дата самоуничтожения — 24 июня 2012 года.

Авторы публикации советуют изучать реконструкцию только в полностью изолированной виртуальной машине без сетевого доступа. Всё-таки это не ретроигра для Windows XP, а разобранная граната цифровой эпохи.

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