YAK - это протокол согласования ключей с открытым ключом , предложенный Фэн Хао в 2010 году. Он считается одним из простейших протоколов обмена ключами с аутентификацией среди связанных схем, включая MQV, HMQV, протокол между станциями, SSL / TLS и т. Д. Аутентификация основана на парах открытых ключей. Как и в случае с другими протоколами, YAK обычно требует инфраструктуры открытых ключей для распространения аутентичных открытых ключей взаимодействующим сторонам.
Две стороны, Алиса и Боб, договариваются о группе с генератором
простого порядка
, в котором дискретные проблема с журналом сложна. Обычно используется группа Шнорра. В общем, YAK может использовать любую группу первичного порядка, которая подходит для криптографии с открытым ключом, включая криптографию с эллиптической кривой. Пусть
будет долгосрочным открытым ключом Алисы, а
будет ключом Боба. Протокол выполняется в один раунд :
Алиса выбирает и отправляет
вместе с доказательством с нулевым разглашением (используя, например, неинтерактивный неинтерактивный метод Шнорра с нулевым разглашением. доказательство знания, как описано в RFC 8235 ) для доказательства экспоненты
. Точно так же Боб выбирает
и отправляет
вместе с доказательством с нулевым разглашением для доказательства экспоненты
. Здесь запись
обозначает элемент, выбранный случайным образом с равномерной вероятностью.
Вышеупомянутая коммуникация может быть завершена за один раунд, поскольку ни одна из сторон не зависит от другой. По окончании Алиса и Боб проверяют полученные доказательства с нулевым разглашением. Затем Алиса вычисляет . Точно так же Боб вычисляет
. Используя тот же ключевой материал
, Алиса и Боб могут получить сеансовый ключ, используя криптографическую хеш-функцию :
.
Использование хорошо зарекомендовавших себя примитивов доказательства с нулевым разглашением, таких как схема Шнорра, значительно упрощает доказательства безопасности. При условии, что базовый примитив доказательства с нулевым разглашением является безопасным, протокол YAK стремится удовлетворить следующие свойства.
Заявления о безопасности в исходной статье YAK основаны на вычислительном предположении Диффи-Хеллмана в модели случайного оракула.
В 2015 году Турани упомянул, что «протоколу YAK не хватает совместного управления ключами и атрибутов совершенной прямой секретности, и он уязвим для некоторых атак, включая атаки с использованием неизвестного общего доступа и репликации ключей», к которым Хао имеет иное мнение.
В 2020 году Мохаммад упомянул, что протокол YAK не выдерживает атака на систему безопасности с известным ключом, которая приводит к новой атаке с подделкой под чужое имя, когда злоумышленник может раскрыть как общий статический секретный ключ между двумя сторонами, так и эфемерный закрытый ключ инициатора. Автор также предложил улучшенный протокол для защиты от этих атак и предыдущих атак, упомянутых Турани на протоколе YAK, и предложенный протокол использует механизм проверки, который обеспечивает аутентификацию объекта и подтверждение ключа. Автор показал, что предлагаемый протокол безопасен в предлагаемой формальной модели безопасности при допущении разрыва Диффи-Хеллмана и предположении случайного оракула. Более того, безопасность предложенного протокола и атаки на протокол YAK были проверены инструментом Scyther.