Введение

SPEKE (Simple Password Exponential Key Exchange) - это криптографический метод для согласования ключей с аутентификацией по паролю.

История

SPEKE является одним из старейших и хорошо известных протоколов в относительно новой области обмена ключами с аутентификацией по паролю. Он был впервые описан Дэвидом Джаблоном в 1996 году. В этой публикации Джаблон также предложил вариант, в котором на втором шаге протокола g вычисляется как g = gqS с постоянным gq. Однако эта конструкция оказалась уязвимой для атак по словарю и поэтому больше не рекомендовалась в пересмотренной версии статьи. В 1997 году Джаблон усовершенствовал и расширил SPEKE, добавив дополнительные варианты, включая расширенный метод согласования ключей с аутентификацией по паролю, называемый B SPEKE. В статье, опубликованной Маккензи в 2001 году, представлено доказательство в модели случайного оракула, что SPEKE является безопасным протоколом PAKE (используя несколько ослабленное определение), основанное на варианте предположения о решении задачи Диффи-Хеллмана. Однако в этом доказательстве функция подтверждения ключа в SPEKE рассматривается как обязательная, что не соответствует спецификации SPEKE в стандартах IEEE P1363.2 и ISO/IEC 11770-4. С 1999 года протокол используется несколькими компаниями в различных продуктах, как правило, в дополнение к другим криптографическим методам. В 2014 году были выявлены две атаки на протокол SPEKE, как указано в оригинальной статье Джаблона 1996 года и в стандартах IEEE P1363.2 (D26) и ISO/IEC 11770-4 (2006). Первая атака позволяет злоумышленнику выдать себя за пользователя, не зная пароля, запустив два параллельных сеанса с жертвой. Вторая атака позволяет злоумышленнику, находящемуся посередине, манипулировать ключом сеанса между двумя добросовестными пользователями, оставаясь незамеченным. Первая атака указывает на практическую слабость протокола, а вторая имеет теоретические последствия для доказательств безопасности SPEKE. Во время заседания ISO/IEC JTC 1/SC 27 в Мехико в октябре 2014 года эти две атаки были обсуждены техническим комитетом в рабочей группе 2 ISO/IEC SC 27, и было согласовано, что спецификацию SPEKE в ISO/IEC 11770-4 (2006) следует пересмотреть для устранения выявленных проблем. Предлагаемый патч предполагает явное определение идентификаторов сеансов и включение этих идентификаторов в функцию выработки ключа таким образом, чтобы не нарушалась симметричность протокола. Исправленная версия SPEKE была опубликована в ISO/IEC 11770-4 (2017). Однако спецификация SPEKE в IEEE P1363.2 остается без изменений.

Патенты

описывает несколько вариантов метода. Срок действия этого патента истек в марте 2017 года.

Стандарты

Стандарты, описывающие SPEKE, включают IEEE P1363.2 и ISO/IEC 11770-4. В последней версии стандарта ISO/IEC 11770-4 (2017) спецификация SPEKE была пересмотрена по сравнению с предыдущей версией в ISO/IEC 11770-4 (2006) для устранения двух атак, о которых сообщили Хао и Шахандашти в 2014 году.