Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка OPENSSL for WIN_2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
746.5 Кб
Скачать

Лабораторная работа №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:

  1. сформировать список наборов алгоритмов, поддерживающих ADH openssl ciphers ADH > ser_ADH

  2. Файл ser_ADH сделать исполняемым и в нем набрать команду openssl s_server –nocert -state –accept 10001

–cipher <список наборов шифров поддерживающих ADH >

2

В папке ./client_ADH

  1. сформировать список наборов шифров, поддерживающих ADH openssl ciphers ADH > cli_ADH

  2. Файл 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:

  1. Скопировать в каталог файлы:

cacert.pem

Ivan.pr.pem Ivan.cert.pem

  1. сформировать список наборов шифров, поддерживающих RSA openssl ciphers kRSA > ser_RSA_WWW

  2. Файл 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-обозреватель смог проверить сертификат сервера, в нем надо зарегистрировать сертификат центра сертификации. Если проверка сертификата сервера прошла успешно, это означает, что выполнена аутентификация сервера клиентом.