Протоколы формирования общего ключа

В 2014 году в Республике Беларусь вводятся в действие два новых стандарта в области криптографической защиты информации. Это СТБ 34.101.65 «Информационная технология и безопасность. Протокол защиты транспортного уровня (TLS)» и СТБ 34.101.66 «Информационные технологии и безопасность. Протоколы формирования общего ключа на основе эллиптических кривых». Если в предыдущих стандартах определялись криптографические алгоритмы, то в новых – криптографические протоколы – интерактивные алгоритмы, которые выполняют несколько сторон-участ­ни­ков, обмениваясь между собой сообщениями, содержащими промежуточные результаты вычислений.

СТБ 34.101.66 (условное название BAKE, от AKE – Authenticated Key Establishment) определяет протоколы, которые позволяют двум сторонам сформировать общий, только им известный, ключ. Ключ формируется так, что ни одна из сторон не может определить его значение самостоятельно, без данных от противоположной стороны.

Протоколы СТБ 34.101.66 построены по схемам MQV, STS и PACE. Схема определяет общий вид протокола и не содержит исчерпывающих деталей, обеспечивающих совместимость различных его реализаций. В СТБ 34.101.66 зафиксированы все базовые криптографические алгоритмы схем, окончательно определены действия сторон, уточнены форматы передаваемых сообщений. В схемы MQV и STS встроены алгоритмы электронной цифровой подписи (ЭЦП), схожие с алгоритмами СТБ 34.101.45. В схеме STS выработка одноразовой подписи совмещена с расчетом одноразовых открытых ключей. Окончательные протоколы названы BMQV, BSTS и BPACE.

Протоколы BMQV и BSTS позволяют сторонам сформировать общий ключ, используя долговременные личные ключи и обмениваясь соответствующими открытыми ключами. Эффективность BMQV выше, но BSTS дополнительно обеспечивает анонимность – злоумышленник, который не вступает во взаимодействие со сторонами, а только перехватывает их сообщения, не получает информации о том, какие стороны участвуют в протоколе.

Протокол BPACE позволяет сторонам сформировать общий ключ, используя общий пароль. Злоумышленнику, который перехватывает все сообщения протокола (вступая или не вступая во взаимодействие со сторонами), вычислительно трудно определить пароль, даже если он короткий или низкоэнтропийный. Выполняя сеанс протокола с легальной стороной, злоумышленник может проверить только один вариант пароля.

Все протоколы СТБ 34.101.66 обеспечивают конфиденциальность ключей, сформированных сторонами. Кроме этого, в протоколах предусмотрена проверка того, что та или другая сторона сформировала корректный ключ, совпадающий с ключом противоположной стороны. Такая проверка называется явным подтверждением ключа. Подтверждать ключ может либо одна сторона, либо обе стороны. Явное подтверждение ключа является обязательной частью BSTS и необязательной частью BMQV и BPACE.

Протоколы построены так, что злоумышленнику вычислительно трудно определить общий ключ или выдать себя за другую сторону, не зная долговременный личный ключ этой стороны (BMQV, BSTS) или общий пароль (BPACE).

Стойкость протоколов определяется уровнем l ∈ {128,192,256}. На уровне l для определения общего ключа по сообщениям протокола злоумышленнику требуется выполнить порядка 2l операций. Стойкость основывается на сложности дискретного логарифмирования в группе точек эллиптической кривой и на сложности вычислительной задачи Диффи – Хеллмана в этой группе.

Протоколы обеспечивают защиту от «чтения назад». Это значит, что определение общего ключа остается такой же трудной задачей, даже если злоумышленнику, дополнительно к сообщениям протокола, становятся известными долговременные личные ключи сторон или их общий пароль, но остаются неизвестными одноразовые личные или секретные ключи.

В протоколах используются вычисления в группе точек эллиптической кривой над конечным простым полем. Группа задается модулем p, определяющим поле, коэффициентами a и b, определяющими уравнение кривой, и базовой точкой G = (0, yG) – образующим группы. Параметры p, a, b, yG, а также q – порядок группы – являются 2l-битовыми числами.

Параметры удовлетворяют ограничениям СТБ 34.101.45. В частности, p ≡ 3 (mod 4), a ≠ 0, b – квадратичный вычет mod p. Эти ограничения позволяют использовать регуляризированную редакцию алгоритма SWU, который выполняет хэширование в группу точек эллиптической кривой и используется в протоколе BPACE. Регуляризация состоит в исключении переходов по условиям, связанным с критическими данными (в BPACE – паролями) и обеспечивает защиту от атак по побочным каналам.

Согласованы не только параметры алгоритмов СТБ 34.101.45 и протоколов СТБ 34.101.66, но и их ключи. Более того, долговременные личный и открытый ключи протокола BMQV или BSTS разрешается использовать в алгоритмах ЭЦП из СТБ 34.101.45. Например, для проверки владения личным ключом BMQV при формировании сертификата соответствующего открытого ключа разрешается подписать на личном ключе запрос на выпуск сертификата.

Сертификаты используются для аутентификации сторон протоколов BMQV и BSTS. Формат сертификатов не оговаривается, хотя предполагается, что в основном будут использоваться сертификаты X.509 (СТБ 34.101.19). В BMQV стороны передают друг другу сертификаты в открытом виде, а в BSTS – в зашифрованном.

Протоколы могут начинаться с обмена приветственными сообщениями. Эти сообщения позволяют согласовать версию протокола, уровень стойкости, параметры эллиптической кривой, подсказку по выбору пароля, отметку времени и др. Приветственные сообщения участвуют в построении общего ключа и поэтому действия злоумышленника по их изменению (например, для изменения настроек протокола) будут обнаружены.

В таблице приводятся характеристики эффективности протоколов. Основные вычисления сторон связаны с определением кратных точек эллиптической кривой. Одна кратная точка – это сумма u экземпляров заданной точки,  где u – 2l-битовое число, половина кратной точки – это сумма v экземпляров, где vl-битовое число. Отметим, что совмещение в BSTS выработки одноразовой подписи с расчетом одноразовых открытых ключей позволило сократить на 1 число кратных точек, вычисляемых каждой из сторон.

 

Протокол

Число кратных точек, вычисляемых каждой из сторон
(без учета проверки сертификата)

Число пересылок (двустороннее явное подтверждение ключа, без учета приветственных сообщений)

BMQV

2.5

3

BSTS

3.5

3

BPACE

2

4


 

Новости
07.03.2024
План семинара весна 2024
12.02.2024
Единый день голосования
24.10.2023
II Международная научная конференция
26.05.2023
XХVIII научно-практическая конференция
28.04.2023
TIBO 2023
02.01.2023
Программный комплекс ЭАДП
27.12.2022
С Новым годом!
21.11.2022
Программный инструментарий
13.09.2022
XIII Международная научная конференция