Введение

Протокол обмена открытым ключом
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: Успешный обмен секретным ключом состоялся. Ключ для симметричного алгоритма шифрования может быть получен из .
Примечание: для обеспечения безопасности алгоритма необходимо выполнить некоторые проверки. См. Хэнкерсон и др.

MQV против HMQV

Первоначальный протокол MQV не включает идентификаторы пользователей обменивающихся сторон в потоках обмена ключами. Идентификаторы пользователей включаются только в последующий процесс подтверждения ключа. Однако, явное подтверждение ключа является необязательным в MQV (и в спецификации IEEE P1363). В 2001 году Калиски представил атаку на основе неизвестного общего секрета, которая использовала отсутствие идентификаторов в протоколе обмена ключами MQV. Атака работает против неявно аутентифицированного MQV, не имеющего явного подтверждения ключа. В этой атаке пользователь устанавливает сеансовый ключ с другим пользователем, но его обманывают, заставляя поверить, что он разделяет ключ с другим пользователем. В 2006 году Менезес и Устаоглу предложили решить эту проблему, включив идентификаторы пользователей в функцию вывода ключа в конце обмена ключами MQV. Процесс подтверждения ключа остается необязательным. В 2005 году Краучик предложил хеш-вариант MQV, названный HMQV. Протокол HMQV был разработан для устранения атаки Калиски (без обязательного подтверждения ключа), с дополнительными целями достижения доказуемой безопасности и повышения эффективности. HMQV внес три изменения в MQV: включение идентификаторов пользователей в потоки обмена ключами, а именно, позволяя и , где и являются идентификаторами Алисы и Боба соответственно; удаление обязательного требования в MQV, согласно которому центр сертификации (CA) должен проверять доказательство владения пользователем закрытым ключом во время регистрации открытого ключа. В HMQV CA просто должен проверить, что представленный открытый ключ не равен 0 или 1; удаление обязательного требования в MQV, согласно которому пользователь должен проверять, является ли полученный эфемерный открытый ключ допустимым открытым ключом (известное как подтверждение открытого ключа). В HMQV пользователю достаточно проверить, что полученный эфемерный открытый ключ не равен 0 или 1. 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 прекратилась.