Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа ИБдТКС.docx
Скачиваний:
4
Добавлен:
21.02.2024
Размер:
42.1 Кб
Скачать

Вывод по теоретическому разделу

Краткий обзор существующих удостоверяющих центров и принципов их работы помог нам лучше понять необходимые требования к удостоверяющему центру, а также выделить основные задачи, которые может решать созданный УЦ. В частности, мы выяснили, что одним из главных принципов работы удостоверяющих центров является генерация и подписание цифровых сертификатов, которые используются для аутентификации и шифрования данных в электронной форме.

Для реализации проекта было выбрано свободно распространяемое программное обеспечение OpenSSL, так как оно отвечает всем необходимым требованиям и обладает широким функционалом.

В целом, проведенный анализ и выбор программного обеспечения были важным этапом на пути создания удостоверяющего центра, который будет обеспечивать надежную аутентификацию и безопасное шифрование данных. Следующий этап — это создание и настройка удостоверяющего центра с использованием выбранного программного обеспечения.

Практический раздел

1. Создание уц на базе OpenSsl

В ходе создания удостоверяющего центра на ОС Ubuntu нужно выполнить несколько этапов:

1. Установить OpenSSL для нужной платформы.

Для этого необходимо склонировать репозиторий, размещённый на официальном сайте проекта.

2. Подготовка каталогов

Необходимо выбрать каталог для хранения всех ключей и сертификатов. Создаем нужную директорию:

mkdir /root/ca

3. Создание самоподписанного СА сертификата.

Для создания сертификата необходимо сгенерировать приватный ключ 2048-бит RSA:

openssl genrsa -out root_ca.key 2048

А затем создать X.509 сертификат (root_ca.crt) и подписать его приватным ключом (root_ca.key). В итоге будет создан самоподписанный сертификат, его нужно разместить на всех клиентах, между которыми необходимо организовать защищенное соединение. Атрибут -days устанавливает срок действия сертификата.

openssl req -x509 -new -key root_ca.key -days 365 -out root_ca.crt

4. Создание сертификата для HTTPS сервера

Следующий шаг - генерация приватного ключа для HTTPS сервера, этот ключ нужно скопировать только на компьютер, на котором будет развернут сервер:

openssl genrsa -out server.key 2048

Затем необходимо сгенерировать запрос на сертификат CSR. В этом запросе нужно передать конкретные значения в параметре "subj". Это должны быть один или несколько параметров CN (Common Name), которые будут прописаны в атрибутах сертификата "Subject" и "Subject Alternative Name". CN - это IP адреса и имена хостов, по которым будет осуществляться доступ к серверу.

Openssl req -new -key server.key -subj "/CN=xx.xx.xx.xx/CN=server/CN=server.example.com" -out server.csr

Затем выполняем генерацию сертификата X.509 (server.crt) со сроком действия 365 дней для HTTPS сервера и подписываем его приватным ключом CA (root_ca.key):

openssl x509 -req -in server.csr -CA root_ca.crt -CAkey root_ca.key -CAcreateserial -out server.crt -days 365 -extensions SAN -extfile openssl.cnf

Примечание:

Файл openssl.cnf должен содержать список Subject Alternative Name, идентичный тому, что был в CSR запросе на сертификат:

[SAN]

subjectAltName = @alt_names

[alt_names]

IP.1 = xx.xx.xx.xx

DNS.1 = server

DNS.2 = server.example.com

5. Создание CRL

CRL - это список сертификатов, которые были отозваны. Клиентское приложение, к примеру, веб-браузер, может использовать CRL для проверки подлинности сервера. Серверные приложения, такие как Apache или OpenVPN, могут использовать CRL для запрета доступа клиентам, которые больше не являются доверенными.

Публикация CRL в публично доступном позволит получать CRL из этого места, чтобы проверить, нет ли в нем сертификатов, которые могут быть отозваны. Когда центр сертификации подписывает сертификат, он обычно зашифровывает расположение CRL в сертификат. Добавляется crlDistributionPoints в подходящие секции.

crlDistributionPoints = URI:http://example.com/intermediate.crl.pem

Необходимо создать СRL помощью команды:

openssl ca -config intermediate/openssl.cnf -gencrl -out intermediate/crl/intermediate.crl.pem

и пересоздавать CRL на регулярной основе. По умолчанию, CRL истекает через 30 дней. Это настраивается опцией default_crl_days в секции CA_default. Проверить, есть ли отозванные сертификаты, легко командой:

openssl crl -in intermediate/crl/intermediate.crl.pem -noouttext