Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Làm thế nào nó tất cả bắt đầu

В самом начале периода самоизоляции мне на почту пришло письмо:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Первая реакция была естественной: это надо либо ехать за токенами, либо их должны привезти, а с понедельника уже все сидим по домам, ограничения по передвижению, да и чем черт не шутит. Поэтому ответ был вполне естеcственным:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

И как мы все знаем, с понедельника 1 апреля наступил период достаточно жесткой самоизоляции. Мы тоже все перешли на удаленку и нам тоже потребовался VPN. Наш VPN построен на базе OpenVPN, но доработанный с целью поддержки российской криптографии и возможностью работы с токенами PKCS#11 и контейнерами PKCS#12. Естественно, тут выяснилось, что мы и сами не совсем были готовы к работе через VPN: у многих просто не было сертификатов, а у кого-то они были просрочены.

Как шел процесс

И вот здесь на помощь пришла утилита cryptoarmpkcs и приложение CAFL63 (удостоверяющий центр).

Утилита cryptoarmpkcs позволила сотрудникам, находящимся на самоизоляции и имеющим у себя на домашних компьютерах токены, сформировать запросы на сертификаты:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Сохраненные запросы сотрудники отправляли по электронной почте мне. Кто-то может спросить:- А как же персональные данные, но, если внимательно посмотреть, то их в запросе нету. А сам запрос защищен своей подписью.

По получении запрос на сертификат импортируется в БД УЦ CAFL63:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

После чего запрос должен быть либо отклонен, либо утвержден. Для рассмотрения запроса необходимо его выделить, нажать правую кнопку мыши и выбрать в выпадающем меню пункт «Принять решение»:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Сама процедура принятия решения абсолютно прозрачная:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Аналогичным образом выпускается и сертификат, только пункт меню называется «Выпустить сертификат»:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Для просмотра выпущенного сертификата можно воспользоваться контекстным меню или просто щелкнуть два раза по соответствующей строке:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Теперь содержимое можно просмотреть как посредством openssl (Вкладка «Текст от OpenSSL»), так и встроенным просмотрщиком приложения CAFL63 (вкладка «Текст сертификата»). В последнем случае можно воспользоваться контекстным меню для копирования сертификата в текстовом виде сначала в буфер обмена, а затем и в файл.

Здесь надо отметить, что же изменилось в CAFL63 по сравнению с первой версией? Что касается просмотра сертификатов, то мы уже это отметили. Стало возможным также выделять группу объектов (сертификаты, запросы, CRL) и просматривать их в режиме листания (кнопка «Просмотр выделенных …»).

Наверное, самое главное то, что проект выложен в свободном доступе на github. Помимо дистрибутивов для linux, подготовлены дистрибутивы для Windows и OS X. Дистрибутив для Android будет выложен чуть позже.

По сравнению с предыдущей версией приложения CAFL63 изменился не только сам интерфейс, но и, как уже было отмечено, добавились новые возможности. Так, например, переработана страница с описанием приложения, в нее добавлены прямые ссылки на скачивание дистрибутивов:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Многие спрашивали и сейчас спрашивают, где взять ГОСТ-овый openssl. Традиционно я даю liên kết, любезно предоставленную garex. Как использовать этот openssl, написано đây.
Но сейчас в состав дистрибутивов включена тестовая версия openssl с российской криптографией.

Поэтому, когда будет проводиться настройка УЦ, то в качестве используемого openssl, можно будет указать либо /tmp/lirssl_static для linux, либо $::env(TEMP)/lirssl_static.exe для Windows:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

При этом необходимо будет создать пустой файл lirssl.cnf и указать в переменной среды окружения LIRSSL_CONF путь к этому файлу:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Вкладка «Extensions» в настройках сертификатов дополнена полем «Authority Info Access», где можно задать точки доступа к корневому сертификату УЦ и к OCSP-серверу:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Часто приходится слышать, что УЦ не принимают от заявителей сгенерированные ими запросы (PKCS#10) или, еще хуже, навязывают формирование у себя запросов с генерацией ключевой пары на носителе через некое CSP. И отказываются от генерации запросов на токенах с неизвлекаемым ключом (на том же РуТокен ЭЦП-2.0) через интерфейс PKCS#11. Поэтому было решено добавить в функционал приложения CAFL63 генерацию запросов с использованием криптографических механизмов токенов PKCS#11. Для поключения механизмов токена был иcпользован пакет TclPKCS11. При создании запроса на УЦ (страница «Запросы на сертификаты», функция «Создать запрос/CSR») теперь можно выбирать как будет сгенерирована ключевая пара (средствами openssl или на токене) и подписан сам запрос:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Библиотека, необходимая для работы с токеном, прописывается в настройках для сертификата:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Но мы отклонились в сторону от основной задачи, связанной с обеспечением сотрудников сертификатами для работы в корпоратиной сети VPN в режиме самоизоляции. Оказалась, что часть сотрудников не имеет токенов. Было принято решение обеспечить их защищенными контейнерами PKCS#12, благо приложение CAFL63 это позволяет. Сначала для таких сотрудников делаем запросы PKCS#10 с указанием типа СКЗИ «OpenSSL», затем выпускаем сертификат и упаковываем его в PKCS12. Для этого на странице «Сертификаты» выбираем нужный сертификат, нажимаем правую кнопку мыши и выбираем пункт «Экспорт в PKCS#12»:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Для того, чтобы убедиться, что с контейнером все в порядке, воспользуемся утилитой cryptoarmpkcs:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Теперь можно отправлять сотрудникам выпущенные сертификаты. Кому-то отправляются просто файлы с сертификатами (это владельцы токенов, те, кто присылал запросы), либо контейнеры PKCS#12. Во втором случае каждому сотруднику по телефону сообщается пароль к контейнеру. Этим сотрудникам достаточно поправить конфигурационный файл VPN, правильно прописав путь к контейнеру.

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

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Теперь минимальные правки конфига VPN (могла измениться метка сертификата на токене) и все, корпоративная сеть VPN в рабочем состоянии.

Một kết thúc có hậu

И тут до меня дошло, а зачем людям привозить токены мне или мне посылать гонца за ними. И я отправляю письмо следующего содержания:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Ответ приходит на следующий день:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Я тут же отправляю ссылку на утилиту cryptoarmpkcs:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Перед созданием запросов на сертификаты я им рекомендовал почистить токены:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

Затем по электронной почте были присланы запросы на сертификаты в формате PKCS#10 и я выпустил сертификаты, которые отправил в адрес:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

И тут наступил приятный момент:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

А было еще и такое письмо:

Cơ sở hạ tầng nơi công cộng. Cấp giấy chứng nhận trong thời gian tự cách ly

И вот после этого родилась эта статья.

Дистрибутивы приложения CAFL63 для платформ Linux и MS Windows можно найти

đây

Дистрибутивы утилиты cryptoarmpkcs, включая платформу Android, находятся

đây

Nguồn: www.habr.com

Thêm một lời nhận xét