Интеграция отечественных протоколов выработки общего ключа в протокол TLS 1.3 | ПДМ. Приложение. 2018. № 11. DOI: 10.17223/2226308X/11/19

Интеграция отечественных протоколов выработки общего ключа в протокол TLS 1.3

Рассматривается актуализация протокола TLS 1.3 с учётом опыта отечественных исследователей и разработчиков, последующая модификация данного протокола, исправляющая ряд недостатков и удовлетворяющая требованиям по безопасности информации, действующим в Российской Федерации. Изменения касаются логики взаимодействия участников протокола при установлении соединения в различных режимах, используемых криптографических примитивов и шифронаборов, а также ключевой системы протокола.

Implantation of russian key agreement protocols into.pdf Разработка протокола TLS 1.3 началась в 2014 г. В марте 2018 г. проект спецификации данного протокола получил статус стандарта [1]. Новая версия протокола разрабатывалась с целью сделать более быстрый, за счёт сокращения времени на установление соединения, более защищённый и более скрытный, за счёт использования шифрования в процессе установления соединения, вариант протокола. Протокол TLS 1.3 нацелен на использование алгоритмов блочного шифрования в режиме AEAD. Независимо от TLS 1.3, начиная с 2011г. в Российской Федерации проводились исследования по созданию новых протоколов выработки общего ключа, первым из которых был Лимонник-3 (L-3) [2]. К данному семейству «цветочных» протоколов относятся протокол Crocus [3], представленный на конференции RusCrypto'12, и протоколы Эхинацея-2 (E-2) и Эхинацея-3 (E-3) [4], представленные на конференции RusCrypto'14. Итогом проведённых исследований стало создание в 2017 г. рекомендаций по стандартизации Р 1323565.1.004-2017 [5], описывающих схемы выработки общего ключа на основе аутентификации. В состав рекомендаций вошли схемы E-2, E-3 и L-3. С учётом опыта разработки отечественных решений и особенностей эксплуатации СКЗИ на территории Российской Федерации для использования протокола TLS 1.3 в РФ необходимо внести ряд модификаций, которые позволили бы удовлетворить основным положениям [6]. Отметим ряд положительных качеств протокола TLS 1.3: - По сравнению с предшествующими версиями установление соединения по протоколу TLS 1.3 является более быстрым за счёт сокращения числа пересылок. - При установлении соединения по протоколу TLS 1.3 участники стараются как можно быстрее перейти к использованию шифрования. Быстрый переход к обмену зашифрованными сообщениями позволяет обеспечить защиту от утечки метаин-формации об участниках протокола и позволяет обеспечить выполнение свойства анонимности на стороне клиента. - При установлении соединения по протоколу TLS 1.3 осуществляется привязка ключей, полученных в рамках установления соединения данного сеанса связи, к контексту установления соединения. - Протокол TLS 1.3 обеспечивает возможность создания предварительно распределённого ключа PSK и привязки его к конкретному сеансу связи. - Протокол TLS 1.3 нацелен на использование режимов шифрования, позволяющих обеспечить имитозащиту всех передаваемых сообщений. Это защищает от большого класса атак, нацеленных на предыдущие версии протокола TLS. Основываясь на опыте разработки отечественных решений, можно выделить ряд негативных сторон протокола TLS 1.3: - Согласно спецификации протокола TLS 1.3 [1], в случае использования предварительно распределённого ключа PSK генерация общей точки эллиптической кривой по протоколу Диффи - Хеллмана в процессе установления соединения может являться опциональным параметром, что может привести к нарушению свойства PFS (Perfect Forward Security). - Использование при генерации ключей третьего уровня (application traffic secret) неполного контекста сеанса установления соединения, зависящего только от первой и второй пересылок, нарушает принцип зависимости сеансовых ключей от всего контекста установления соединения. - Процесс установления соединения по протоколу TLS 1.3 в случае проведения взаимной аутентификации оставляет возможность отправки сервером данных не аутен-тифицированному клиенту в рамках второй пересылки. - TLS 1.3 нацелен на использование режима шифрования AEAD. В этом случае для шифрования и выработки имитовставки используется один ключ. Использование двух ключей - одного для шифрования и другого для имитозащиты - позволяет обеспечить более высокий уровень защиты, что регламентируется принятым в Российской Федерации стандартом ГОСТ Р 34.13-2015 [7] и рекомендациями по стан-тартизации Р 1323565.1.012-2017 [6]. - При генерации случайных значений в процессе установления соединения по протоколу TLS 1.3 может использоваться один и тот же датчик случайных чисел (ДСЧ) для генерации как секретных, так и открытых случайных значений. Это потенциально может привести к определению секретных значений в случае использования слабых ДСЧ. - Протокол TLS 1.3 позволяет для реализации протокола Диффи - Хеллмана использовать мультипликативную группу конечного простого поля, что может не обеспечивать необходимый уровень защиты [8]. Данный подход не применяется в Российской Федерации с 2001 г. - Спецификация протокола TLS 1.3 не предусматривает возможность использования национальных наборов криптографических преобразований и алгоритмов. - Протокол TLS 1.3 допускает использование режима установления соединения 0-RTT, который является менее стойким по сравнению с другими режимами установления соединения. Данная работа посвящена описанию способа интеграции схем протоколов E-2 и E-3, в случае односторонней и взаимной аутентификации, в различные режимы установления соединения по протоколу TLS 1.3. Рассматриваемый протокол носит название RuTLS и представляет собой модифицированный вариант протокола TLS 1.3. Проведённый анализ предлагаемого варианта протокола RuTLS позволяет утверждать, что он является стойким, удовлетворяет набору свойств безопасности, описанных в [9], и обеспечивает более высокий уровень защиты по сравнению с исходным вариантом протокола TLS 1.3. При внесении модификаций в логику работы протокола установления соединения и ключевую систему использовался опыт отечественных исследований, полученный при разработке схем Лиммонник-3 [2], Крокус [3] и Эхинацея-2(3) [4]. Данный протокол разрабатывался с учётом дальнейшего его использования на территории Российской Федерации, основываясь на [6]. Отметим ряд наиболее важных отличий протокола RuTLS от TLS 1.3: - Использование режимов установления соединения в протоколе RuTLS нацелено в первую очередь на обеспечение защиты передаваемой информации, а не на ускорение работы протокола. - RuTLS не поддерживает менее стойкий, по сравнению с другими, режим установления соединения 0-RTT. - Отправка данных приложения допускается только после завершения процесса аутентификации. - Для аутентификации могут использоваться только сертификаты открытых ключей, использование RawKeys не поддерживается. - Вариант протокола RuTLS предполагает использование минимум двух различных ДСЧ для генерации секретных и открытых случайных значений. - Исходная ключевая система протокола TLS 1.3 упрощена и переработана с учётом [6]. - При генерации ключей используются идентификаторы участников протокола, извлекаемые из сертификатов, как предложено при разработке схем Эхи-нацея-2(3) [4]. - При генерации ключей осуществляется привязка ключей, выработанных в рамках установления соединения данного сеанса связи, к контексту установления соединения. Подобный подход использовался при проектировании схемы отечественного протокола Крокус [3]. - Предлагаемый вариант ключевой системы позволяет формировать и использовать различные ключи для шифрования и имитозащиты. - При установлении соединения в обязательном порядке формируется общая точка эллиптической кривой по протоколу Диффи - Хеллмана (ECDH). - Ключевая система подразумевает использование только группы точек эллиптической кривой. - Переработанная ключевая система, логика взаимодействия участников и порядок формирования ключей позволяют разгрузить сервер от проведения лишних вычислений, что может быть полезно при защите от DoS-атак.

Ключевые слова

TLS, key exchange, TLS, cryptographic protocol, выработка общего ключа, криптографический протокол

Авторы

ФИООрганизацияДополнительноE-mail
Семенов Александр МихайловичНациональный исследовательский университет "Высшая школа экономики"аспирант кафедры компьютерной безопасностиshyrik172@gmail.com
Нестеренко Алексей ЮрьевичНациональный исследовательский университет "Высшая школа экономики"кандидат физико-математических наук, доцент кафедры компьютерной безопасностиnesterenko_a_y@mail.ru
Лебедев Павел АлександровичНациональный исследовательский университет "Высшая школа экономики"старший преподаватель кафедры компьютерной безопасностиplebedev@hse.ru
Лазарева Елизавета ВладимировнаНациональный исследовательский университет "Высшая школа экономики"аспирантка кафедры компьютерной безопасностиlantaluts@gmail.com
Гребнев Сергей ВладимировичНациональный исследовательский университет "Высшая школа экономики"аспирант кафедры компьютерной безопасностиgrebnev_sv@tc26.ru
Всего: 5

Ссылки

Automated Validation of Internet Security Protocols and Applications. Properties (Goals). http://www.avispa-project.org/delivs/6.1/d6-1/node3.html (дата обращения: 28.03.2018)
Kleinjung T. Discrete logarithms in GF(p) - 768 bits. June 16, 2016. https://listserv. nodak.edu/cgi-bin/wa.exe?A2=NMBRTHRY;a0c66b63.1606 (дата обращения: 09.01.2018)
ГОС Р 34.13-2015. Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров. М.: Стандартформ, 2015.
Р 1323565.1.012-2017. Информационная технология. Криптографическая защита информации. Принципы разработки и модернизации шифровальных (криптографических) средств защиты информации. М.: Стандартформ, 2017.
Р 1323565.1.004-2017. Информационная технология. Криптографическая защита информации. Схемы выработки общего ключа с аутентификацией на основе открытого ключа. М.: Стандартформ, 2017.
Гребнев С. В. О возможности стандартизации протоколов выработки общего ключа. 2018. http://www.ruscrypto.ru/resource/summary/rc2014/03_grebnev.pdf (дата обращения: 09.01.2018)
Нестеренко А. Ю. Об одном подходе к построению защищенных соединений // Математические вопросы криптографии. 2013. №6. С. 170-176.
Матюхин Д. В. О некоторых свойствах схем выработки общего ключа, использующих инфраструктуру открытых, в контексте разработки стандартизированных криптографических решений.2011. http://www.ruscrypto.ru/resource/summary/rc2011/02_matyukhin. pdf (дата обращения: 09.01.2018)
The Transport Layer Security (TLS) Protocol Version 1.3. 2018. https://tlswg.github.io/ tls13-spec/draft-ietf-tls-tls13.html (дата обращения: 28.03.2018)
 Интеграция отечественных протоколов выработки общего ключа в протокол TLS 1.3 | ПДМ. Приложение. 2018. № 11. DOI: 10.17223/2226308X/11/19

Интеграция отечественных протоколов выработки общего ключа в протокол TLS 1.3 | ПДМ. Приложение. 2018. № 11. DOI: 10.17223/2226308X/11/19