Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Як усё пачыналася

У самым пачатку перыяду самаізаляцыі мне на пошту прыйшоў ліст:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Як ішоў працэс

І вось тут на дапамогу прыйшла ўтыліта cryptoarmpkcs і дадатак CAFL63 (які сведчыць цэнтр).

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Захаваныя запыты супрацоўнікі адпраўлялі па электроннай пошце мне. Хтосьці можа спытаць: - А як жа персанальныя дадзеныя, але, калі ўважліва паглядзець, то іх у запыце няма. А сам запыт абаронены сваім подпісам.

Па атрыманні запыт на сертыфікат імпартуецца ў БД УЦ CAFL63:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Сама працэдура прыняцця рашэння абсалютна празрыстая:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Для прагляду выпушчанага сертыфіката можна скарыстацца кантэкстным меню або проста пстрыкнуць два разы па адпаведным радку:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Цяпер змесціва можна прагледзець як з дапамогай openssl (Укладка «Тэкст ад OpenSSL»), так і ўбудаваным прагляднікам прыкладання CAFL63 (укладка «Тэкст сертыфіката»). У апошнім выпадку можна скарыстацца кантэкстным меню для капіявання сертыфіката ў тэкставым выглядзе спачатку ў буфер абмену, а затым і ў файл.

Тут трэба адзначыць, што ж змянілася ў CAFL63 у параўнанні з першай версіяй? Што да прагляду сертыфікатаў, то мы ўжо гэта адзначылі. Стала магчымым таксама вылучаць групу аб'ектаў (сертыфікаты, запыты, CRL) і праглядаць іх у рэжыме гартання (кнопка "Прагляд выдзеленых …").

Мусіць, самае галоўнае тое, што праект выкладзены ў вольным доступе на гітхабе. Акрамя дыстрыбутываў для linux, падрыхтаваны дыстрыбутывы для Windows і OS X. Дыстрыбутыў для Android будзе выкладзены крыху пазней.

У параўнанні з папярэдняй версіяй прыкладання CAFL63 змяніўся не толькі сам інтэрфейс, але і, як ужо было адзначана, дадаліся новыя магчымасці. Так, напрыклад, перапрацавана старонка з апісаннем прыкладання, у яе дададзены прамыя спасылкі на запампоўку дыстрыбутываў:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Многія пыталіся і зараз пытаюцца, дзе ўзяць ДАСТ-авы openssl. Традыцыйна я даю спасылку, ласкава прадстаўленую garex. Як выкарыстоўваць гэты openssl, напісана тут.
Але цяпер у склад дыстрыбутываў уключана тэставая версія openssl з расійскай крыптаграфіяй.

Таму, калі будзе праводзіцца налада УЦ, то ў якасці выкарыстоўванага openssl, можна будзе паказаць або /tmp/lirssl_static для linux, або $::env(TEMP)/lirssl_static.exe для Windows:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Укладка "Extensions" у наладах сертыфікатаў дапоўнена полем "Authority Info Access", дзе можна задаць кропкі доступу да каранёвага сертыфіката УЦ і да OCSP-серверу:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Бібліятэка, неабходная для працы з токенам, прапісваецца ў наладах для сертыфіката:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Для таго, каб пераканацца, што з кантэйнерам усё ў парадку, скарыстаемся ўтылітай cryptoarmpkcs:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Цяпер можна адпраўляць супрацоўнікам выпушчаныя сертыфікаты. Камусьці адпраўляюцца проста файлы з сертыфікатамі (гэта ўладальнікі токенаў, тыя, хто дасылаў запыты), альбо кантэйнеры PKCS#12. У другім выпадку кожнаму супрацоўніку па тэлефоне паведамляецца пароль да кантэйнера. Гэтым супрацоўнікам дастаткова паправіць канфігурацыйны файл VPN, правільна прапісаўшы шлях да кантэйнера.

Што да ўладальнікаў токена, то ім неабходна было яшчэ імпартаваць сертыфікат на свой токен. Для гэтага яны выкарыстоўвалі ўсё тую ж утыліту cryptoarmpkcs:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Цяпер мінімальныя праўкі канфіга VPN (магла змяніцца пазнака сертыфіката на токене) і ўсё, карпаратыўная сетка VPN у працоўным стане.

Шчаслівы канец

І тут да мяне дайшло, а навошта людзям прывозіць токены мне ці мне пасылаць ганца за імі. І я адпраўляю ліст наступнага зместу:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Адказ прыходзіць на наступны дзень:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Я тут жа адпраўляю спасылку на ўтыліту cryptoarmpkcs:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

Перад стварэннем запытаў на сертыфікаты я ім рэкамендаваў пачысціць токены:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

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

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

І тут наступіў прыемны момант:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

А быў яшчэ і такі ліст:

Інфраструктура Адкрытых Ключоў. Выпуск сертыфікатаў ва ўмовах самаізаляцыі

І вось пасля гэтага нарадзіўся гэты артыкул.

Дыстрыбутывы прыкладання CAFL63 для платформаў Linux і MS Windows можна знайсці

тут

Дыстрыбутывы ўтыліты cryptoarmpkcs, у тым ліку платформу Android, знаходзяцца

тут

Крыніца: habr.com

Дадаць каментар