Современная криптография - Венбо Мао
ISBN 5-8459-0847-7
Скачать (прямая ссылка):
Когда Боб получает сообщение, аутентифицированное с помощью ключа Кав, он точно знает, что автором сообщения является Алиса. Однако Алиса, доказывая свое авторство назначенному верификатору, Бобу, может отрицать свое участие в контакте, отвечая на запрос третьей стороны, поскольку Боб обладает теми же самыми криптографическими возможностями для создания сообщения. Рассмотрим сценарий, в котором Алиса и Боб являются шпионами. Вступая в контакт, они должны аутентифицировать друг друга. Однако Алиса является двойным агентом и подозревает, что Боб также ведет нечестную игру. Следовательно, схема аутентификации должна допускать возможность отрицания своего участия в контакте. Система разделения ключей SOK полностью соответствует этому требованию. Она использует открытые ключи, т.е. для аутентификации не требуется интерактивная связь с доверенным посредником (см. главу 2).
Более серьезный сценарий, описывающий применение системы разделения ключей SOK, — протокол IKE. Этот протокол имеет режим аутентификации, допускающий "правдоподобное отрицание" (см. раздел 12.2.4). Система разделения ключей SOK обеспечивает возможность полного отрицания авторства в рамках протокола IKE, сохраняя преимущества криптосистемы с открытым ключом.
502
Часть IV. Аутентификаци!
13.3.6 Трехсторонний протокол согласования ключей Диффи-Хеллмана
Жё [154] применил метод спаривания и разработал протокол трехстороннег согласования ключей с помощью весьма простого способа. Он назвал свой ме-j тод "трехсторонним протоколом согласования ключей Диффи-Хеллмана". В это^ протоколе снова использовался метод спаривания Вейля, поэтому он был не слигл^ ком удобен для реальных приложений (в нем требовалось генерировать линей™ независимые точки). Для решения этой проблемы был предложен протокол, основанный на модифицированном спаривании Вейля.
Предположим, что Алиса генерирует компоненты своего ключа Рд.
Ра *- [а]Р,
где Ре G\ — точка на суперсингупярной эллиптической кривой, имеющая просто! порядок а, а число а < а — целое. Аналогично предположим, что Боб и Чаря! вычисляют параметры своих ключей.
Рв^[Ь]Р,Рс<-[с]Р,
где Ь < а и с < а. Целые числа а, Ъ и с являются секретными ключами Алис< Боба и Чарли соответственно.
Каждый их трех партнеров помещает свой параметр ключа Рд, Рв или Pq в открытый каталог. Сделав это, они становятся обладателями общего ключа
\аЬс
е(Рв, РсТ = е(Рд, РсГ = е(Рл, РВ)С = е(Р, Р)
Алиса вычисляет общий ключ, возведя в степень образ первой пары, Боб — второй, а Чарли — третьей.
Если бы в протоколе не применялся метод спаривания, согласование ключа не удалось бы провести за один сеанс.
Разумеется, как и протокол обмена ключами Диффи-Хеллмана, эта схема не обладает свойством аутентификации.
13.3.7 Личностная криптосистема Бонэ и Франклина
Поскольку между двумя пользователями можно разделить общий ключ, используя лишь их идентификаторы, для шифрования также достаточно знать имен! пользователей. Бонэ (Boneh) и Франклин (Franklin) [51] применили метод спари| вания и создали первую прикладную личностную криптосистему с открытыЯ ключом, удовлетворяющую требованиям, сформулированным Шамиром.
В личностной криптосистеме Бонэ и Франклина используются четыре алгоритма.
Глава 13. Аутентификация в криптографии с открытым ключом
503
• Установка параметров системы. Этот алгоритм выполняется Трентом. Он предназначен для генерации глобальных параметров системы и главного ключа.
• Генерация ключа пользователя. Этот алгоритм выполняется Трентом. На его вход поступает главный ключ и произвольная строка битов id € {0,1}*. Результатом работы алгоритма является закрытый ключ, соответствующий строке id. Этот алгоритм является конкретизацией операции (13.3.1).
• Шифрование. Это — вероятностный алгоритм. Он шифрует сообщения с помощью открытого ключа id.
• Расшифровка. На вход этого алгоритма поступает зашифрованный текст и закрытый ключ, а результатом его работы является исходный текст.
Личностная криптосистема Бонэ и Франклина описывается алгоритмом 13.3.7.1.
Алгоритм 13.2. Личностная криптосистема Бонэ и Франклина Установка системных параметров
Трент выполняет следующие инструкции.
1. Сгенерировать две группы (Gi,+) и (G2, •)> имеющие простой порядок р, и вычислить отображение е : (Gi, +)2 i-> (G2, ¦)¦ Выбрать произвольный порождающий элемент Р G G\.
2. Извлечь случайное число s € иЪр и установить параметр Ppuj, <— [s]P, используя s в качестве главного ключа.
3. Выбрать криптографически стойкую функцию хэширования F : {0,1}* i-> Gi, предназначенную для отображения идентификатора пользователя id в элемент группы Gi.
4. Выбрать криптографически стойкую функцию хэширования Н : G2 {0,1}". В этом случае пространством исходных текстов М. является множество {0,1}".
Трент сохраняет число s в качестве закрытого ключа системы (главного ключа) и оглашает открытые системные параметры, а также их описание.
{G\ ,G2,e, п, Р, Ppub, F, Н).
Генерация ключа пользователя
Пусть ID — однозначно распознаваемый идентификатор Алисы. Выполнив физическую идентификацию Алисы и убедившись в уникальности ее идентификатора ID, Трент выполняет следующие операции.