Задание № 6 «Протокол защиты электронной почты S/MIME»



 

Протокол S/MIME является основным промышленным стандартом для защиты электронной почты. Этот протокол поддерживает большинство современных почтовых клиентов (например, Outlook Express). Чтобы использовать протокол S/MIME пользователь должен иметь сертификат Х.509 своего открытого ключа.

Цель работы: Научиться использовать протокол S/MIME для защиты электронной почты. Для защиты почтовых сообщений будем применять команду smime программы openssl.

 

Порядок выполнения работы:

В данной лабораторной работе используются секретный ключ ключевой пары алгоритма RSA Ivan.pr.pem, сертификат локального центра сертификации cacert.pem, сертификат пользователя Ivan.cert.pem, секретный ключ Masha.pr.pem, сертификат пользователя Masha.cert.pem

1 Скопировать в каталог ./lab6 свой секретный ключ RSA, сертификат локального центра сертификации и свой сертификат, переименовав его: Ivan.pr.pem cacert.pem Ivan.cert.pem
2 Создать текстовый файл f.txt с текстом: Hello, my friend Masha! Best Regards from Ivan.
3 Создать подписанное почтовое сообщение: openssl smime -sign -in f.txt  -out toMashaFromIvan.s.msg -inkey Ivan.pr.pem -signer Ivan.cert.pem -from Ivan@mail.ua -to Masha@mail.ua Подписанное сообщение будет состоять из двух частей. Первая часть содержит текст сообщения. Вторая – подпись и сертификат отправителя. Вторая часть сообщения кодируется алгоритмом base64 во избежание потерь при передаче через различные почтовые серверы.
4 Отправить почтовое сообщение соседу (если Интернет не доступен, надо просто скопировать файл toMashaFromIvan.s.msg на соседний компьютер)
5 Получить от соседа подписанное почтовое сообщение: toIvanFromMasha.s.msg
6 Проверить подпись почтового сообщения: openssl smime -verify -in toIvanFromMasha.s.msg -signer Masha.cert.pem -CAfile cacert.pem -out f1.txt В случае успеха, в текущем каталоге появятся файл Masha.cert.pem с сертификатом соседа и файл f1.txt с текстом сообщения. Заметим, что для проверки подписи необходимо указать сертификат центра сертификации, выдавшего сертификат отправителю сообщения.
7 Создать текстовый файл f2.txt с текстом: Hello, my friend Masha! This message is top secret. Ivan.
8 Зашифровать почтовое сообщение для соседа: openssl smime -encrypt -in f2.txt  -out toMashaFromIvan.e.msg -from Ivan@mail.ua -to Masha@mail.ua Masha-cert.pem Заметим, что для этого надо указать сертификат соседа.
9 Передать соседу зашифрованное почтовое сообщение toMashaFromIvan.e.msg и получить от него зашифрованное почтовое сообщение toIvanFromMaswha.e.msg.
10 Расшифровать полученное почтовое сообщение: openssl smime -decrypt -in toIvanFromMaswha.e.msg -recip Ivan.cert.pem -inkey Ivan.pr.pem

 

Задание для самостоятельной работы.Подписать и зашифровать почтовое сообщение для соседа, используя любой почтовый клиент, поддерживающий протокол S/MIME (например, Outlook Express). Вначале надо импортировать сертификат СА и свой сертификат в этот почтовый клиент.

 


Задание №7 «Стек протоколов SSL/TLS»

 

В настоящее время стек протоколов SSL/TLS является общепринятым стандартом, обеспечивающим надежную защиту сквозной передачи данных с использованием протокола TCP.

 

Цель работы: С помощью программы OpenSSL запустить приложения клиент и сервер, которые будут обмениваться защищенной информацией по протоколу SSL/TLS.

Для установления защищенного сеанса клиент и сервер обмениваются общим секретным ключом (Master Secret). Для создания этого ключа протокол SSL/TLS предоставляет различные методы. Рассмотрим два из них: ADH и RSA.  

Порядок выполнения работы:

Для выполнения работы студент создает каталог ./lab7. Студенту потребуются:

cacert.pem – сертификат локального центра сертификации,

Ivan.pr.pem – секретный RSA-ключ,

Ivan.cert.pem – сертификат соответствующего открытого ключа.

 

Метод обмена ключами ­– anonymous DH (ADH)

1 В папке ./server_ADH: a. сформировать список наборов алгоритмов, поддерживающих ADH openssl ciphers ADH > ser_ADH b. Файл ser_ADH сделать исполняемым и в нем набрать команду openssl s_server –nocert -state –accept 10001 –cipher <список наборов шифров поддерживающих ADH >
2 В папке ./client_ADH a. сформировать список наборов шифров, поддерживающих ADH openssl ciphers ADH > cli_ADH b. Файл cli_ADH сделать исполняемым и в нем набрать команду openssl s_client –state –connect 127.0.0.1:10001  –cipher <список наборов шифров поддерживающих ADH >  
3 Запустить на выполнение SSL-сервер ser_ADH  
4 Любой пользователь может подсоединиться к вашему серверу, запустив на своем компьютере SSL-клиент cli_ADH В этом режиме к серверу может подсоединиться только один клиент. Клиент и сервер могут обмениваться тестовыми сообщениями (после ввода с консоли текста сообщения нажмите Enter).

Метод обмена ключами ­– RSA

Программа OpenSSL позволяет моделировать простейший защищенный Web-сервер.

1 В каталоге ./server_RSA_WWW: a. Скопировать в каталог файлы:  cacert.pem  Ivan.pr.pem  Ivan.cert.pem b. сформировать список наборов шифров, поддерживающих RSA openssl ciphers kRSA > ser_RSA_WWW c. Файл ser_RSA_WWW сделать исполняемым и в нем набрать команду openssl s_server –WWW –accept 10002 -state –cert Ivan.cert.pem -key Ivan.pr.pem  -CAfile cacert.pem –cipher <список наборов шифров поддерживающих RSA >
2 В этом же каталоге разместить произвольную Web-страницу, например, пусть файл p.html содержит: <html> <body> I am Ivan. This is my homepage. This page is transmitted by SSL/TLS protocol. </body> </html>
3 Запустить файл ser_RSA_WWW  на выполнение из каталога ./server_RSA.
4 Теперь с помощью Web-обозревателя на любом ПК сети можно просмотреть эту Web-страницу, указав в адресной строке Web-обозревателя: https://ourhost:10002/p.html например https://172.16.23.5:10002/p.html или, если Web-обозреватель запускается с компьютера, на котором запущен Web-сервер, в адресной строке надо указать https://localhost:10002/p.html

 

Замечание. При подключении к защищенному Web-серверу Web-клиент получает сертификат сервера. Чтобы Web-обозреватель смог проверить сертификат сервера, в нем надо зарегистрировать сертификат центра сертификации. Если проверка сертификата сервера прошла успешно, это означает, что выполнена аутентификация сервера клиентом.

 

Литература

 

1. Бернет С., Пэйн С. Криптография. Официальное руководство RSA Security. – М.: Бином-Прогресс, 2002. – 381 с.

2. Венбо Мао. Современная криптография. Теория и практика–Вильямс, 2005.– 768 с.

3. Нильс Фергюсон, Брюс Шнайер. Практическая криптография. – 2004.

4. Романец Ю.В., Тимофеев В.Ф., Шаньгин П.А. Защита информации в компьютерных системах и сетях. – 2-е изд., перераб. и доп. – М.: Радио и связь, 2001. – 376 с.

5. Соколов А. В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах М.: ДМК пресс, 2002. – 656 с.

6. Столлингс В. Криптография и защита сетей: принципы и практика, 2-е изд. – М: Вильямс, 2001. – 669 с.

7. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. – М: Триумф, 2003. – 797 с.


Содержание

Введение 1

1 Задание №1 «Симметричные алгоритмы шифрования»_ 2

2 Задание №2 “Асимметричный алгоритм шифрования RSA”_ 6

3 Задание №3 «Электронно-цифровая подпись»_ 10

4 Задание №4 «Создание и распределение криптографических ключей». 12

5 Задание №5 «Создание сертификатов» в WINDOWS_ 13

6 Задание № 6 «Протокол защиты электронной почты S/MIME»_ 17

7 Задание №7 «Стек протоколов SSL/TLS»_ 19

Литература_ 21

 


Дата добавления: 2018-04-15; просмотров: 246; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!