SPEKE - Википедия - SPEKE
SPEKE (Обмен простым экспоненциальным ключом паролей) - криптографический метод для соглашение о ключах с аутентификацией паролем.
Описание
Протокол состоит из немногим более Обмен ключами Диффи-Хеллмана где генератор Диффи-Хеллмана грамм создается из хэш из пароль.
Вот одна простая форма SPEKE:
- Алиса и Боб согласны использовать достаточно большой и случайно выбранный безопасный прайм п, а также хеш-функция ЧАС().
- Алиса и Боб соглашаются на общий пароль π.
- Алиса и Боб оба создают грамм = ЧАС(π)2 мод п. (Квадрат делает грамм генератор подгруппы простого порядка группы мультипликативный группа целых чисел по модулю п.)
- Алиса выбирает секретное случайное целое число а, затем отправляет Бобу грамма мод п.
- Боб выбирает секретное случайное целое число б, затем отправляет Алисе граммб мод p.
- Алиса и Боб прерывают работу, если полученные ими значения выходят за пределы диапазона [2,п-2], чтобы предотвратить атака с ограничением в малой подгруппе.
- Алиса вычисляет K = (граммб мод п)а мод п.
- Боб вычисляет K = (грамма мод п)б мод п.
И Алиса, и Боб придут к одному и тому же значению для K тогда и только тогда, когда они используют одно и то же значение для π.Как только Алиса и Боб вычисляют общий секрет K они могут использовать это в протокол подтверждения ключа чтобы доказать друг другу, что они знают один и тот же пароль π, и получить общий секретный ключ шифрования для отправки друг другу безопасных и аутентифицированных сообщений. Использование протокола подтверждения ключа необязательно, как указано в стандартах IEEE P1363.2 и ISO / IEC 11770-4.
В отличие от неаутентифицированного Диффи-Хеллмана, SPEKE предотвращает атака "человек посередине" путем включения пароля. Злоумышленник, который может читать и изменять все сообщения между Алисой и Бобом, не может узнать общий ключ. K и не может угадывать пароль более одного раза при каждом взаимодействии со стороной, которая его знает.
В общем, SPEKE может использовать любую группу первичного порядка, подходящую для криптографии с открытым ключом, включая криптография с эллиптической кривой. Однако, когда SPEKE реализуется с помощью криптографии с эллиптической кривой, протокол существенно изменяется, требуя дополнительного примитива, который должен безопасно отображать пароль на случайную точку на обозначенной эллиптической кривой. (Этот примитив называется функцией IOP или целочисленным преобразованием в точку в IEEE P1363.2 и ISO / IEC 11770-4.)
История
SPEKE - один из старых и хорошо известных протоколов в относительно новой области обмена ключами с аутентификацией паролем. Впервые он был описан Дэвид Джаблон в 1996 г.[1] В этой публикации Jablon также предложил вариант, в котором на шаге 2 протокола грамм рассчитывается как г = гqS с постоянным граммq. Однако эта конструкция оказалась небезопасной для атак по словарю и поэтому больше не рекомендовалась в исправленной версии статьи. В 1997 году Jablon усовершенствовал и усовершенствовал SPEKE с дополнительными вариациями, в том числе соглашение о ключах с аутентификацией паролем метод называется B-SPEKE.[2] В статье, опубликованной Маккензи в 2001 году, на основе модели случайного оракула представлено доказательство того, что SPEKE является безопасным протоколом PAKE (с использованием несколько смягченного определения), основанным на варианте решения Диффи-Хеллмана.[3] Однако доказательство рассматривает функцию подтверждения ключа в SPEKE как обязательную, а SPEKE не определен в стандартах IEEE P1363.2 и ISO / IEC 11770-4.
С 1999 года протокол использовался несколькими компаниями в различных продуктах, как правило, в дополнение к другим криптографическим методам.
В 2014 году были выявлены две атаки на протокол SPEKE, как указано в исходной статье Jablon за 1996 год и в стандартах IEEE P1363.2 (D26) и ISO / IEC 11770-4 (2006).[4] Первая атака позволяет активному злоумышленнику выдать себя за пользователя, не зная пароля, путем запуска двух параллельных сеансов с жертвой. Вторая атака позволяет злоумышленнику типа «человек посередине» манипулировать ключом сеанса между двумя честными пользователями, не будучи обнаруженным. Первая атака указывает на практическую слабость протокола, тогда как вторая атака имеет теоретическое значение для доказательств безопасности SPEKE. Во время встречи ISO / IEC JTC 1 / SC 27 в Мехико в октябре 2014 года две атаки обсуждались техническим комитетом в ISO / IEC SC 27 / Work Group 2, и было решено, что спецификация SPEKE в ISO / IEC 11770-4 (2006) следует пересмотреть, чтобы устранить выявленные проблемы. Предлагаемый патч включает в себя явное определение идентификаторов сеансов и включение этих идентификаторов в функцию получения ключа таким образом, чтобы не изменять симметрию протокола. Исправленный SPEKE был опубликован в ISO / IEC 11770-4 (2017).[5] Однако спецификация SPEKE в IEEE P1363.2 остается без исправлений.
Патенты
Патент США 6,226,383 описывает несколько вариантов метода. Срок действия этого патента истек в марте 2017 года.
Стандарты
Стандарты, описывающие SPEKE, включают: IEEE P1363.2 и ИСО / МЭК 11770-4. В последнем стандарте ISO / IEC 11770-4 (2017) спецификация SPEKE изменена по сравнению с предыдущей в ISO / IEC 11770-4 (2006), чтобы противостоять двум атакам, о которых сообщили Хао и Шахандашти в 2014 году.[4]
Рекомендации
- ^ Джаблон, Дэвид (октябрь 1996 г.). «Надежный обмен ключами с проверкой подлинности только с помощью пароля». Обзор компьютерных коммуникаций. 26 (5): 5–26. CiteSeerX 10.1.1.57.4798. Дои:10.1145/242896.242897.
- ^ Яблон, Дэвид (20 июня 1997 г.). Расширенные протоколы обмена ключами паролей, невосприимчивые к атакам по словарю. Материалы шестого семинара по поддерживающим технологиям: инфраструктура для совместных предприятий (WET-ICE '97). Кембридж, Массачусетс, США: Компьютерное общество IEEE. С. 248–255. CiteSeerX 10.1.1.30.8102. Дои:10.1109 / ENABL.1997.630822. ISBN 978-0-8186-7967-4.
- ^ Маккензи, Филипп (19 июля 2001 г.). "О безопасности протокола обмена ключами SPEKE с аутентификацией паролем". Получено 2008-03-22. Цитировать журнал требует
| журнал =
(помощь) - ^ а б Ф. Хао, С.Ф. Шахандашти. Возвращение к протоколу SPEKE. Труды 1-й Международной конференции по исследованиям в области стандартизации безопасности, 2014 г.
- ^ https://www.iso.org/obp/ui/#iso:std:67933:en