Задачей распространения ключей между двумя пользователями является создание секретных псевдослучайных сеансовых ключей шифрования и аутентификации сообщений. Пользователи предварительно создают и обмениваются ключами аутентификации один раз. В дальнейшем для создания защищенной связи пользователи производят взаимную аутентификацию и вырабатывают сеансовые ключи.
Алгоритм Диффи-Хеллмана
Алгоритм Диффи - Хеллмана позволяет двум или более пользователям обменяться без посредников ключом, который может быть использован затем для симметричного шифрования.
Описание алгоритма
- Предположим существует два абонента: Алиса и Боб.
- Обоим абонентам известны некоторые общедоступные числа и .
1 этап
- Алиса генерирует большое число - , вычисляет сообщение и пересылает его Бобу:
- .
- Боб генерирует большое число - , вычисляет сообщение и пересылает его Алисе:
- .
Предполагается, что злоумышленник может получить оба этих значения, но не модифицировать их.
2 этап
- Алиса на основе имеющегося у нее числа и полученного по сети вычисляет значение
- .
- Боб на основе имеющегося у нее числа и полученного по сети вычисляет значение
- .
Как нетрудно видеть, у Алисы и Боба получилось одно и тоже число
- .
Его они и могут использовать в качестве секретного ключа.
MTI
Протокол MTI - протокол взаимной аутентификации, разработанный Т.Мацумото, И.Такашима и Х.Имаи.
Описание алгоритма
- Предположим существует две стороны Алиса и Боб
- Им известны общедоступные данные:
-
- Алиса и Боб обладают парой из долговременных секретного ключа расшифрования и открытого ключа шифрования для схемы шифрования с открытым ключом.
- ,
- .
1 этап
- Алиса генерирует случайное число , создает сообщение и отправляет Бобу:
-
- Боб генерирует случайное число , создает сообщение и отправляет Алисе:
-
2 этап
- Алиса, используя известные всем открытые данные и полученное сообщение , создает сеансовый ключ:
-
- Боб, используя известные всем открытые данные и полученное сообщение , создает сеансовый ключ:
-
Сеансовые ключи обеих сторон совпадают
- .
STS
Протокол STS - протокол взаимной аутентификации, использующий идеи алгоритма Диффи-Хеллмана и RSA.
Описание алгоритма
- Пусть есть две стороны: Алиса и Боб.
- Им известны общедоступные данные:
- .
- Алиса и Боб обладают парой из долговременных секретного ключа и открытого ключа для схемы ЭЦП:
- ,
- .
Подпись сообщения имеет вид
,
,
где - криптографическая хэш-функция от сообщения .
Протокол состоит из трех раундов обмена информацией между сторонами Алиса и Боб.
1 раунд
- Алиса случайно выбирает секретное число .
- Вычисляет сообщение
.
- Отправляет его Бобу:
.
2 раунд
- Боб случайно выбирает секретное число .
- C помощью полученного сообщения вычисляет общий секретный ключ:
.
- C помощью ключа шифрует сообщение для аутентификации:
.
- Отправляет его Алисе:
.
3 раунд
- Алиса с помощью и вычисляет общий секретный ключ:
,
- Расшифровывает сообщение:
.
- Аутентифицирует Боба, проверяя подпись открытым ключом .
- Вычисляет и пересылает Бобу сообщение
.
- Боб расшифровывает принятое сообщение:
.
- Осуществляет проверку подписи с помощью открытого ключа .
Габидулин стр 132
Жиро
- В протоколе Жиро участвуют три стороны - Алиса, Боб и надежный центр Трент.
- У Трента есть открытый и секретный ключи криптосистемы RSA,
- ,
с дополнительным параметром , генератором подгруппы максимально возможного порядка мультипликативной группы :
- - открытый ключ,
- - секретный ключ.
1 этап
Алиса и Боб вместе с Трентом создают свои секретные ключи, обмениваясь информацией по надежному защищенному каналу. Алиса и Боб выбирают свои секретные ключи, числа и :
- ,
- ,
и генерируют сообщения и и отправляют вместе с идентификаторами центру сообщения Тренту:
- ,
- ,
2 этап
Трент вычисляет открытые ключи для Алисы и Боба и также по надежному каналу передает им:
- ,
- .
3 этап
Получив сообщения от Трента, Алиса и Боб могут создать общий секретный симметричный сеансовый ключ.
Например, вычисления ключа для Алисы выглядят следующим образом:
- .
Аналогично Боб вычисляет
- .
Комментарии