MQV ( Menezes–Qu–Vanstone ) — это аутентифицированный протокол для согласования ключей на основе схемы Диффи–Хеллмана . Как и другие аутентифицированные схемы Диффи–Хеллмана, MQV обеспечивает защиту от активного злоумышленника. Протокол может быть модифицирован для работы в произвольной конечной группе и, в частности, в группах эллиптических кривых , где он известен как MQV на эллиптической кривой (ECMQV) .
MQV был первоначально предложен Альфредом Менезесом , Минхуа Цюй и Скоттом Ванстоуном в 1995 году. Позднее он был модифицирован в совместной работе с Лори Лоу и Джерри Солинасом. [1] Существуют одно-, двух- и трехпроходные варианты.
MQV включен в стандарт открытого ключа IEEE P1363 и стандарт NIST SP800-56A. [2]
Некоторые варианты MQV заявлены в патентах, переданных Certicom .
ECMQV был исключен из набора криптографических стандартов Suite B Агентства национальной безопасности .
У Алисы есть пара ключей, состоящая из ее открытого ключа и ее закрытого ключа, а у Боба есть пара ключей, состоящая из его открытого ключа и его закрытого ключа.
В дальнейшем имеет следующий смысл. Пусть будет точкой на эллиптической кривой. Тогда где и — порядок используемой точки-генератора . Таковы первые L бит первой координаты .
Шаг | Операция |
---|---|
1 | Алиса генерирует пару ключей путем случайной генерации и вычисления с помощью точки на эллиптической кривой. |
2 | Боб генерирует пару ключей таким же образом, как и Алиса. |
3 | Теперь Алиса вычисляет модуль и отправляет Бобу. |
4 | Боб вычисляет модуль и отправляет Алисе. |
5 | Алиса вычисляет , а Боб вычисляет, где — кофактор (см. Криптография на эллиптических кривых: параметры домена ). |
6 | Передача секрета прошла успешно. Ключ для алгоритма с симметричным ключом может быть получен из . |
Примечание: для обеспечения безопасности алгоритма необходимо провести некоторые проверки. См. Hankerson et al.
Боб вычисляет:
Алиса вычисляет:
Итак, общие секреты действительно одинаковы.
Исходный протокол MQV не включает в себя идентификаторы пользователей взаимодействующих сторон в потоках обмена ключами. Идентификаторы пользователей включаются только в последующий процесс явного подтверждения ключа. Однако явное подтверждение ключа является необязательным в MQV (и в спецификации IEEE P1363 ). В 2001 году Калиски представил неизвестную атаку с общим ключом, которая эксплуатировала отсутствующие идентификаторы в протоколе обмена ключами MQV. [3] Атака работает против неявно аутентифицированного MQV, который не имеет явного подтверждения ключа. В этой атаке пользователь устанавливает сеансовый ключ с другим пользователем, но обманывается, полагая, что он делится ключом с другим пользователем. В 2006 году Менезес и Устаоглу предложили решить эту атаку, включив идентификаторы пользователей в функцию вывода ключа в конце обмена ключами MQV. [4] Процесс явного подтверждения ключа остается необязательным.
В 2005 году Кравчик предложил хэш-вариант MQV, названный HMQV. [5] Протокол HMQV был разработан для противодействия атаке Калиски (без обязательного явного подтверждения ключа) с дополнительными целями достижения доказуемой безопасности и лучшей эффективности. HMQV внес три изменения в MQV:
HMQV утверждает, что превосходит MQV по производительности, поскольку он обходится без операций 2) и 3) выше, которые являются обязательными в MQV. В документе HMQV приводятся «формальные доказательства безопасности», подтверждающие, что обход этих операций безопасен.
В 2005 году Менезес впервые представил атаку с ограничением небольшой подгруппы против HMQV. [6] Эта атака использует точное отсутствие валидации открытого ключа в 2) и 3). Она показывает, что при взаимодействии с активным злоумышленником протокол HMQV допускает утечку информации о долгосрочном закрытом ключе пользователя, и в зависимости от базовой настройки криптографической группы весь закрытый ключ может быть восстановлен злоумышленником. Менезес предложил решить эту атаку, по крайней мере, обязав валидацию открытого ключа в 2) и 3).
В 2006 году в ответ на атаку Менезеса Кравчик пересмотрел HMQV в представлении IEEE P1363 (включенном в черновик IEEE P1363 D1-pre). Однако вместо проверки долгосрочных и эфемерных открытых ключей в 2) и 3) соответственно как двух отдельных операций, Кравчик предложил проверять их вместе в одной объединенной операции в процессе обмена ключами. Это сэкономило бы затраты. При наличии объединенной проверки открытого ключа атака Менезеса была бы предотвращена. Пересмотренный HMQV все еще может претендовать на большую эффективность, чем MQV.
В 2010 году Хао представил две атаки на пересмотренный HMQV (как указано в черновике IEEE P1363 D1-pre). [7] Первая атака использует тот факт, что HMQV позволяет регистрировать любую строку данных, отличную от 0 и 1, в качестве долгосрочного открытого ключа. Следовательно, небольшой элемент подгруппы может быть зарегистрирован как «открытый ключ». Зная этот «открытый ключ», пользователь может пройти все этапы проверки в HMQV и в конце полностью «аутентифицироваться». Это противоречит общепринятому пониманию того, что «аутентификация» в аутентифицированном протоколе обмена ключами определяется на основе доказательства знания закрытого ключа. В этом случае пользователь «аутентифицируется», но не имеет закрытого ключа (на самом деле закрытого ключа не существует). Эта проблема не применима к MQV. Вторая атака использует режим самокоммуникации, который явно поддерживается в HMQV, чтобы позволить пользователю общаться с самим собой, используя тот же сертификат открытого ключа. В этом режиме показано, что HMQV уязвим для неизвестной атаки с общим ключом. Для решения первой атаки Хао предложил выполнять проверки открытого ключа в 2) и 3) отдельно, как изначально предлагал Менезес. Однако это изменение снизит преимущества эффективности HMQV по сравнению с MQV. Для решения второй атаки Хао предложил включить дополнительные идентификаторы для различения копий себя или отключить режим самокоммуникации.
Две атаки Хао обсуждались членами рабочей группы IEEE P1363 в 2010 году. Однако не было единого мнения о том, как следует пересмотреть HMQV. В результате спецификация HMQV в черновике IEEE P1363 D1-pre осталась неизменной, но стандартизация HMQV в IEEE P1363 с тех пор остановилась. [ необходима цитата ]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )