YAK (криптография)

редактировать

YAK - это протокол согласования ключей с открытым ключом , предложенный Фэн Хао в 2010 году. Он считается одним из простейших протоколов обмена ключами с аутентификацией среди связанных схем, включая MQV, HMQV, протокол между станциями, SSL / TLS и т. Д. Аутентификация основана на парах открытых ключей. Как и в случае с другими протоколами, YAK обычно требует инфраструктуры открытых ключей для распространения аутентичных открытых ключей взаимодействующим сторонам.

Содержание

  • 1 Описание
  • 2 Свойства безопасности
  • 3 Криптоанализ
  • 4 Ссылки

Описание

Две стороны, Алиса и Боб, договариваются о группе G {\ displaystyle G}Gс генератором g {\ displaystyle g}g простого порядка q {\ displaystyle q}q , в котором дискретные проблема с журналом сложна. Обычно используется группа Шнорра. В общем, YAK может использовать любую группу первичного порядка, которая подходит для криптографии с открытым ключом, включая криптографию с эллиптической кривой. Пусть g a {\ displaystyle g ^ {a}}g ^ {a} будет долгосрочным открытым ключом Алисы, а g b {\ displaystyle g ^ {b}}g^{b}будет ключом Боба. Протокол выполняется в один раунд :

Алиса выбирает x ∈ R [0, q - 1] {\ displaystyle x \ in _ {\ text {R}} [0, q-1]}x \ in _ {{\ text {R}}} [0, q-1] и отправляет gx {\ displaystyle g ^ {x}}g ^ {x} вместе с доказательством с нулевым разглашением (используя, например, неинтерактивный неинтерактивный метод Шнорра с нулевым разглашением. доказательство знания, как описано в RFC 8235 ) для доказательства экспоненты x {\ displaystyle x}x. Точно так же Боб выбирает y ∈ R [0, q - 1] {\ displaystyle y \ in _ {\ text {R}} [0, q-1]}y \ in _ {{\ text {R}}} [0, q-1] и отправляет gy {\ displaystyle g ^ {y}}g ^ {{y}} вместе с доказательством с нулевым разглашением для доказательства экспоненты y {\ displaystyle y}y. Здесь запись ∈ R {\ displaystyle \ in _ {\ text {R}}}\ in _ {{\ text {R}}} обозначает элемент, выбранный случайным образом с равномерной вероятностью.

Вышеупомянутая коммуникация может быть завершена за один раунд, поскольку ни одна из сторон не зависит от другой. По окончании Алиса и Боб проверяют полученные доказательства с нулевым разглашением. Затем Алиса вычисляет K = (gygb) x + a = g (x + a) (y + b) {\ displaystyle K = (g ^ {y} g ^ {b}) ^ {x + a} = g ^ {(x + a) (y + b)}}K = (g ^ {{y}} g ^ {{b}}) ^ {{x + a}} = g ^ {{(x + а) (y + b)}} . Точно так же Боб вычисляет K = (gxga) y + b = g (x + a) (y + b) {\ displaystyle K = (g ^ {x} g ^ {a}) ^ {y + b} = g ^ {(x + a) (y + b)}}K = (g ^ {{x}} g ^ {{a}}) ^ {{y + b}} = g ^ {{(x + a) (y + b)}} . Используя тот же ключевой материал K {\ displaystyle K}K , Алиса и Боб могут получить сеансовый ключ, используя криптографическую хеш-функцию : κ = H (K) {\ displaystyle \ kappa = H (K)}\ kappa = H (K) .

Свойства безопасности

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

  1. Безопасность закрытого ключа - злоумышленник не может узнать статический закрытый ключ пользователя, даже если он может узнать все секреты сеанса в любом скомпрометированном сеансе.
  2. Прямая секретность - Ключи сеанса которые были надежно установлены в прошлом, неповрежденные сеансы останутся невычисленными в будущем, даже если будут раскрыты статические закрытые ключи обоих пользователей.
  3. Безопасность сеансового ключа - злоумышленник не может вычислить сеансовый ключ, если он олицетворяет пользователя, но имеет нет доступа к закрытому ключу пользователя.

Заявления о безопасности в исходной статье YAK основаны на вычислительном предположении Диффи-Хеллмана в модели случайного оракула.

Криптоанализ

В 2015 году Турани упомянул, что «протоколу YAK не хватает совместного управления ключами и атрибутов совершенной прямой секретности, и он уязвим для некоторых атак, включая атаки с использованием неизвестного общего доступа и репликации ключей», к которым Хао имеет иное мнение.

В 2020 году Мохаммад упомянул, что протокол YAK не выдерживает атака на систему безопасности с известным ключом, которая приводит к новой атаке с подделкой под чужое имя, когда злоумышленник может раскрыть как общий статический секретный ключ между двумя сторонами, так и эфемерный закрытый ключ инициатора. Автор также предложил улучшенный протокол для защиты от этих атак и предыдущих атак, упомянутых Турани на протоколе YAK, и предложенный протокол использует механизм проверки, который обеспечивает аутентификацию объекта и подтверждение ключа. Автор показал, что предлагаемый протокол безопасен в предлагаемой формальной модели безопасности при допущении разрыва Диффи-Хеллмана и предположении случайного оракула. Более того, безопасность предложенного протокола и атаки на протокол YAK были проверены инструментом Scyther.

Ссылки

  1. ^Хао, Фэн (2010). «О согласовании надежного ключа на основе аутентификации открытого ключа» (PDF). Финансовая криптография и безопасность данных, LNCS 6052. 14-я конференция по финансовой криптографии и безопасности данных. Тенерифе, испания. С. 383–390.
  2. ^ Хао, Фэн (18 апреля 2012 г.). «О надежном согласовании ключей на основе аутентификации с открытым ключом» (PDF). Сети безопасности и связи. 7 (1): 77–87. doi : 10,1002 / сек. 550. ISSN 1939-0122.
  3. ^Турани, Мохсен (30 октября 2015 г.). «Криптоанализ надежного соглашения о ключах на основе аутентификации с открытым ключом». Сети безопасности и связи. 9 : 19–26. doi : 10.1002 / sec.1373. ISSN 1939-0122.
  4. ^Хао, Фэн (2019). «Комментарии к« Криптоанализу надежного соглашения о ключах на основе аутентификации с открытым ключом »» (PDF). Проверено 22 сентября 2019 г.
  5. ^Mohammad, Zeyad (11 марта 2020 г.). «Криптоанализ и улучшение протокола YAK с формальным подтверждением безопасности и проверкой безопасности через Scyther». Международный журнал коммуникационных систем. doi : 10.1002 / dac.4386. ISSN 1099-1131.
Последняя правка сделана 2021-06-22 08:51:52
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте