Задание №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,
cakey – имя файла ключа,
1024 – длина ключа в битах, не рекомендуется устанавливать ее больше данного значения, иначе могут быть проблемы с некоторыми реализациями SSL.
После того как ключ будет сгенерирован, Вам предложат ввести для него пароль. Если вы забудете пароль, то не сможете выдавать новые сертификаты. Фактически, это означает, что ваш СА станет непригоден для использования, и вам нужно будет создавать его заново, а также выдать заново все клиентские сертификаты.

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; Мы поможем в написании вашей работы!

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






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