Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб работа 4

.docx
Скачиваний:
20
Добавлен:
27.05.2017
Размер:
19.49 Кб
Скачать

Лабораторная работа №4. Протоколы распределения ключей. Протоколы согласования ключей.

  1. Протоколы согласования ключей

Протокол Диффи-Хеллмана

Протокол Диффи-Хеллмана – интерактивный протокол, позволяющий двум или более пользователям без посредников выработать общий ключ.

Пусть существует две стороны, Алиса и Боб, каждой из сторон известны g, p.

1 Этап:

  • Алиса генерирует большое число а, вычисляет сообщение А и отправляет его Бобу:

  • Боб генерирует большое число b, вычисляет сообщение B и отправляет его Алисе:

2 Этап:

  • Алиса на основании своего числа а и полученного по сети B вычисляет:

  • Боб на основании своего числа b и полученного по сети A вычисляет:

  • Теперь Алиса и Боб обладают одним и тем же числом которое они могут использовать в качестве ключа.

Протокол MTI

Протокол MTI – протокол взаимной аутентификации и согласования сеансового ключа, разработанный Т. Мацумото, И. Такашима и Х. Имаи.

Пусть существует две стороны, Алиса и Боб. Им известны общедоступные данные:

.

Алиса и Боб обладают долговременной парой ключей, состоящей из секретного ключа расшифрования SK и открытого ключа шифрования PK:

,

.

1 Этап:

  • Алиса генерирует случайное число , создает сообщение A и отправляет его Бобу:

  • Боб генерирует случайное число , создает сообщение B и отправляет его Алисе:

2 Этап:

  • Алиса, используя известные открытые данные и полученное сообщение B создает сеансовый ключ:

  • Боб, используя известные открытые данные и полученное сообщение A создает сеансовый ключ:

  • Теперь Алиса и Боб обладают одним и тем же числом которое они могут использовать в качестве ключа.

Протокол STS (Station-to-Station protocol)

Протокол STS – протокол взаимной аутентификации и согласования сеансового ключа, основанный на использовании электронной подписи и идей протокола Диффи-Хеллмана.

  • Алиса генерирует случайное число , создает сообщение A и отправляет его Бобу:

  • Боб генерирует случайное число , создает сеансовый ключ и отправляет следующее сообщение Алисе:

  • Алиса аналогичным образом вычисляет секретный ключ и расшифровывает сообщение Боба. Затем аутенцифицирует Боба, верифицируя его электронную подпись, и отсылает ему своё сообщение: ;

  • Боб расшифровывает сообщение, полученное от Алисы и проверяет подпись.

  1. Задания

Реализация протокола Диффи-Хеллмана

Целью данного задания является реализация протокола согласования ключей Диффи-Хеллмана. В интерфейсе приложения должны быть наглядно представлены:

  • Исходные данные протокола (модули, ключи, секретные данные и т.п.);

  • Данные, передаваемые по сети каждой из сторон;

  • Проверки, выполняемые каждым из участников.

Процесс взаимодействия между сторонами протокола может быть реализован как с

применением сетевых технологий, так и при помощи буферных переменных. Также необходимо выделить каждый из этапов протоколов для того, чтобы его можно было отделить от остальных.

Реализация протокола MTI

Целью данного задания является реализация протокола согласования ключей MTI. В интерфейсе приложения должны быть наглядно представлены:

  • Исходные данные протокола (модули, ключи, секретные данные и т.п.);

  • Данные, передаваемые по сети каждой из сторон;

  • Проверки, выполняемые каждым из участников.

Процесс взаимодействия между сторонами протокола может быть реализован как с

применением сетевых технологий, так и при помощи буферных переменных. Также необходимо выделить каждый из этапов протоколов для того, чтобы его можно было отделить от остальных.

Реализация протокола STS (Station-to-Station)

Целью данного задания является реализация протокола согласования ключей Station-to-Station. В интерфейсе приложения должны быть наглядно представлены:

  • Исходные данные протокола (модули, ключи, секретные данные и т.п.);

  • Данные, передаваемые по сети каждой из сторон;

  • Проверки, выполняемые каждым из участников.

Процесс взаимодействия между сторонами протокола может быть реализован как с

применением сетевых технологий, так и при помощи буферных переменных. Также необходимо выделить каждый из этапов протоколов для того, чтобы его можно было отделить от остальных.