Задание №4 «Создание и распределение криптографических ключей».
Алгоритм RSA можно использовать для обмена криптографическими ключами между пользователями. Например, RSA применяется для создания общего секретного ключа в протоколе SSL/TLS.
Цель работы: Научиться использовать алгоритм RSA для обмена ключевой информацией по сети.
Порядок выполнения работы:
Для выполнения лабораторной работы создать каталог ./lab4. Файлы с ключами называть своим именем, например, ivan.
1 | Создать сессионный ключ по паролю для симметричного алгоритма: openssl enc –des –P –k 12345 > ivan.key |
2 | Создать ключевую пару RSA: openssl genrsa –out ivan.pr.pem 1024 openssl rsa –in ivan.pr.pem –out ivan.pub.pem -pubout |
3 | Получить по сети открытый ключ RSA партнера (например, masha.pub.pem) и передать ему свой открытый ключ RSA. |
4 | Зашифровать свой сессионный ключ открытым ключом RSA партнера: openssl rsautl –encrypt –in ivan.key –out ivan.key.rsa -inkey masha.pub.pem –pubin |
5 | Передать по сети партнеру свой зашифрованный сессионный ключ (ivan.key.rsa) и получить от него зашифрованный сессионный ключ (masha.key.rsa). |
6 | Расшифровать сессионный ключ партнера: openssl rsautl –decrypt –in masha.key.rsa –out masha.key -inkey ivan.pr.pem |
7 | Создать текстовый файл masha.privet.txt, зашифровать его симметричным алгоритмом DES, используя ключ из файла masha.key: openssl des -in masha.privet.txt -out masha.privet.txt.des -e -K <ключ> -iv <IV> |
8 | Передать по сети зашифрованный файл masha.privet.txt.des соседу и получить от него аналогично зашифрованный файл ivan.privet.txt.des. |
9 | Расшифровать полученный файл симметричным алгоритмом DES, используя ключ из файла ivan.key: openssl des -in ivan.privet.txt.des -out ivan.privet.txt -d –K <ключ> -iv <IV> |
|
|
Задание №5 «Создание сертификатов» в WINDOWS
Сертификатом называется открытый ключ пользователя вместе с идентифицирующей пользователя информацией подписанные секретным ключом центра сертификации (CA – Certificate Authority). В настоящее время наиболее часто применяются сертификаты стандарта Х.509. Сертификаты Х.509 используются такими протоколами сетевой защиты, как IPSec, SSL/TLS, S/MIME, SET.
Цель работы: Научиться создавать сертификаты стандарта Х.509 программой opessl.
Порядок выполнения работы:
1. | В каталоге lab5 создайте каталог myCA, где будет храниться секретный ключ корневого сертификата и сам сертификат. | ||
2. | Генерируем секретный ключ ключевой пары алгоритма RSA для корневого сертификата локального центра: openssl genrsa –des3 –out myCA\cakey.pem 1024 | ||
где des3 означает, что ключ будет зашифрован по алгоритму Triple-DES,
| |||
3. | Создаем корневой сертификат ЦС. Корневой сертификат будет самоподписанным, потому что он находится выше всех в создаваемой иерархии: openssl req –new –x509 –key myCA\cakey.pem –out myCA\cacert.pem –days 365 –config openssl.cnf Создание (-new) cacert.pem сертификата (-x509) для использования в качестве сертификата сервера или сертификата CA. Сертификат создается с использованием секретного ключа –key и конфигурационного файла –config. Создаваемый сертификат будет действителен в течение 365 дней (-days), опция –days не применима к запросам на сертификацию. В процессе создания сертификата вам будут задавать вопросы об информации, которая будет указана в созданном сертификате, обязательным является только ответ на Common Name, где имеет смысл указать название вашего ЦС. | ||
4. | Просмотр содержимого сертификата: openssl x509 –text –noout –in myCA\cacert.pem |
Создание сертификата для пользователя | |
1. | В своем текущем каталоге генерируем секретный ключ: openssl genrsa -out Ivan_pr.pem 1024 Просмотр содержимого файла ключа: openssl rsa -noout -text -in <файл ключа> |
2. | Создание запроса reqIvan.pem на сертификацию (-new) на основе создаваемого секретного ключа rsa (-newkey rsa:1024), который записывается в файл –keyout Ivan_pr.pem (и шифруется тройным DES). Запрос на сертификацию создается на основе конфигурационного файла — config: openssl req -new -newkey rsa:1024 -keyout Ivan_pr.pem -config openssl.cnf -out reqIvan.pem |
На этом этапе вам снова предложат заполнить информационные поля сертификата. В поле Common Name следует указать полное определенное доменное имя (FQDN) (что-то вроде mail.sercer.home.ru или ip) чтобы почтовый клиент не выдавал предупреждение о неверности имени. | |
3. | Просмотр содержимого файла запроса на подписание сертификата пользователя: openssl req -noout -text -in <файл запроса на подписание сертификата сервера> |
4. | Для управления сертификатами x509 используется утилита openssl x509. С ее помощью можно подписать сертификат или запрос на сертификацию сертификатом CA. Также можно просмотреть содержимое сертификата в читаемой форме (DN, публичный ключ, время действия, отпечаток и.т.д.). Создать по запросу сертификат пользователя, подписанный локальным центром сертификации : openssl x509 -req -days 365 -in reqIvan.pem -CA myCA\cacert.pem -CAkey myCA\cakey.pem -CAcreateserial -out Ivan_cer.pem Подписать запрос на сертификацию (-req) файла -in, используя доверенный CA сертификат -CA и его секретный ключ -cakey. Ключ -CAcreateserial нужен для того, чтобы OpenSSL вел учет выдаваемым сертификатам в своей внутренней базе. В конечный сертификат клиента (-out), записываются дополнительные параметры сертификата 3-й версии из файла /usr/lib/ssl/openssl.cnf. Вас попросят ввести пароль к закрытому ключу ЦС. Сертификат будет выдан на 365 дней. |
5. | Просмотр содержимого файла сертификата: openssl x509 -noout -text -in <файл сертификата> |
6. | Для помещения сертификата пользователя в хранилище WINDOWS необходимо его преобразовать в формат pkcs#12: openssl pkcs12 -export -in Ivan_cer.pem -inkey Ivan_pr.pem -out Ivan_cer.p12 В сертификате этого формата вместе с открытым ключом пользователя хранится защищенный паролем секретный ключ. |
7. | Чтобы приложение Windows могло проверить сертификат пользователя, перед импортированием сертификата пользователя надо импортировать сертификат центра сертификации, выдавшего сертификат пользователю. Для этого сертификат центра сертификации можно перевести в формат сообщения pkcs#7: openssl crl2pkcs7 -nocrl -certfile myCA\cacert.pem -out myCA\cacert.p7b |
8. | Переместим сертификат пользователя в хранилище WINDOWS |
Выполнив двойной щелчок по файлу Ivan_cer.p12 откроется окно WINDOWS «Мастер импорта сертификата» В следующем окне надо ввести пароль секретного ключа пользователя, который вводился при создании ключа А затем выбрать хранилище, где будет храниться сертификат: Для просмотра хранилища ОС надо выполнить команду: certmgr.msc. |
|
|
|
|
Дата добавления: 2018-04-15; просмотров: 255; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!