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