Практики / Практика 5-6
.docЛипецкий государственный технический университет
Кафедра автоматизированных систем управления
Практическая работа №5-6
по средствам и методам защиты информации
Протокол защищенного обмена информацией
|
Студент |
|
|
|
Филатов А.А. |
|
||||||||
|
|
|
подпись, дата |
|
фамилия, инициалы |
|
||||||||
|
Группа |
|
АС-09-2 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
||||||||
|
Принял |
|
|
|
|
|
||||||||
|
|
|
|
|
Батищев Р.В. |
|
||||||||
|
ученая степень, звание |
|
подпись, дата |
|
фамилия, инициалы |
|
Липецк 2012
1. Задание
Два узла обмениваются сообщениями в русском алфавите, включающем 32 буквы (без «ё»). Предложить для них систему криптографически защищенного канала связи, основанного на применении алгоритма шифрования с открытым ключом, с обеспечением конфиденциальности и цифровой подписи. Привести пример защищенного обмена сообщением «слово», если в качестве алгоритма шифрования используется RSA и задана пара ключей: {3;33},{7;33}.
2. Алгоритм
1. Клиент посылает «1» в качестве запроса к серверу.
2. После получения запроса, сервер генерирует случайное число и отправляет клиенту
3. Клиент шифрует число с использованием своей пары ключей и отправляет серверу
4. Сервер дешифрует число, и если дешифрованное число совпадает с отправленным ранее (это происходит если пары ключей клиента и сервера действительны), генерирует новое случайное число, зашифровывает его и отправляет клиенту (некое подобие сеансового ключа).
5. Клиент, получает сеансовый ключ, дешифруя переданное число.
6. Клиент передает серверу число символов в сообщении (число символов XOR сеансовый ключ)
7. Сервер принимает число, и принимает следующие (n+1) символов.
8. Клиент вычисляет хэш и присоединяет перед сообщением, шифрует его и передает серверу. Шифрование происходит по следующей формуле: rsa(a XOR (md5(a+m)[0] + m)).
9. Сервер расшифровывает сообщение, проверяет совпадение хэша. Если проверка пройдена, клиенту посылается код успеха (a^2 mod 32). Если проверка не пройдена, клиенту посылается код неудачи (a^2 mod 32 + 1). Сервер заканчивает прием.
10. Если клиент получил код успеха, клиент завершает передачу. Если получен код неудачи, клиент начинает передачу заново.
m – сообщение, а – сеансовый ключ.
3. Пример передачи
Сообщение M = «слово», N = 5.
Клиент |
Передача |
Сервер |
Ключ {3;33} |
|
Ключ {7;33} |
1 |
►► |
|
Rsa(13)=19 |
◄◄ |
13 |
19 |
►► |
(Rsa(19)==13)=true |
|
|
A = 30 |
|
|
Encode(A) = 24 |
A = Encode(24) = 30 |
◄◄ |
24 |
30 XOR 5 = 27 |
|
|
27 |
►► |
N = 27 XOR 30 = 5 |
30 + «слово» = «юслово» |
|
|
Md5(«юслово»)[0]=5 |
|
|
5+ «слово»= «еслово» |
|
|
«еслово» XOR 30 = «ылсрър» |
|
|
Rsa(«ылсрър») = «лйэдзд» |
|
|
«лйэдзд» |
►► |
Rsa(«лйэдзд») = «ылсрър» |
|
|
«ылсрър» XOR 30 = «еслово» |
|
|
Md5(30+«слово»)[0]=5 |
|
|
(5 == «е») = true |
|
|
30^2 mod 32 = 4 |
Завершить |
◄◄ |
4 |
|
|
Принятое сообщение «слово» |
4. Выводы о проделанной работе
В данной практической работе была представлена система защищенного канала связи, построенного на основе алгоритма шифрования RSA.
Предполагается, что ключи сервера и клиента заранее определены. Проверяется совпадение ключей, подлинность отправителя и подлинность переданного сообщения.