В этой заметке я постараюсь обобщить опыт использования криптопровайдера КриптоПро для доступа к закрытой части официального сайта единой информационной системы в сфере закупок (zakupki.gov.ru) и сайта госуслуг (gosuslugi.ru). Сам криптопровайтер стал уже стандартом де-факто для госучреждений, в его формате выдает ЭЦП, например, удостоверяющий центр (УЦ) Федерального казначейства или УЦ Минздрава.
В первую очередь речь пойдет о сайте zakupki.gov.ru. Личный кабинет этого сайта доступен только через HTTPS с использованием ГОСТ-алгоритмов шифрования. Долгое время HTTPS через ГОСТ работал только в Internet Explorer, который целиком полагался на криптопровайдер. Развязка наступила не так давно, когда на сайте zakupki.gov.ru была прекращена поддержка старых версий IE, в том числе — IE8. Беда в том, что IE8 — последняя версия этого браузера, поддерживаемая в Windows XP, а государственные учреждения, как правило, очень консервативны в плане лицензирования. Таким образом, довольно большая часть пользователей в одночасье оказалась “за бортом”.
К счастью, компания КриптоПро выпускает специальную сборку браузера Firefox под названием КриптоПро Fox (CryptoFox), которая поддерживает ГОСТ-алгоритмы и работает, естественно, только в связке с соответствующим криптопровайдером. Было время, когда разработка сборки почти полностью прекратилась, однако сейчас новые версии выходят регулярно. Последняя сборка основана на Firefox 45, Скачать сборки можно тут, доступны версии под Windows, Linux и даже Apple OS X.
По ссылке доступна англоязычная версия браузера. Для ее локализации необходимо скачать пакет с переводом интерфейса. Обратите внимание, что версия пакета должна соответствовать версии самого браузера.
После установки пакета нужно открыть новую вкладку, набрать там about:config, а в открывшемся списке параметров ввести general.useragent.locale и изменить его значение с en-US на ru-RU. После перезапуска браузера интерфейс будет на русском языке.
Теперь можно ставить в хранилище “Доверенные корневые центры сертификации” корневой сертификат УЦ Федерального казначейства, в хранилище “Личные” — персональный сертификат пользователя, перезапускать браузер и заходить в личный кабинет zakupki.gov.ru по 44-ФЗ.
На моем рабочем месте не установлено действующих сертификатов уполномоченных лиц, поэтому доступ в личный кабинет запрещен. Однако шифрование соединения в любом случае проводится алгоритмом семейства ГОСТ.
В случае доступа к закрытой части сайта по 223-ФЗ авторизация будет проходить через ЕСИА (то есть через сайт gosuslugi.ru). Здесь ситуация упрощается, потому что у этого сайта плагин для Firefox существует уже давно и разрабатывается Ростелекомом. При первом заходе на сайт нам будет предложено скачать плагин. После установки плагин следует переключить в режим “Всегда включать” в настройках CryptoFox, иначе на сайте госуслуг не будет появляться окно с запросом сертификата.
К сожалению, подпись документов на сайте zakupki.gov.ru реализована через специфичесий компонет sing.cab, который использует технологию ActiveX. Естественно, в CryptoPro этот компонент не будет работать, так что будем ждать перехода на более распространенную технологию. К счастью, подписание документа — это лишь малая часть того, что должен делать оператор во время работы на zakupki.gov.ru, так что для повседневных операций CryptoFox вполне можно использовать.
Иногда бывает необходимо сохранить копию закрытого ключа на локальном компьютере. Это возможно сделать, если ключ при создании в УЦ помечен как выгружаемый. Копирование производится с помощью кнопки “Скопировать” (какая неожиданность) в интерфейсе апплета КриптоПро
Если два варианта хранения ключа на локальной машине — в считывателе “Реестр” и на виртуальном съемном диске. В принципе, безопасность хранения ключа в обоих случаях примерно одинакова, так что выбор средства остается за читателем.
В считывателе “Реестр” ключи хранятся в ветви
HKLM\SOFTWARE\Crypto Pro\Settings\Users\[SID пользователя]\Keys
для пользователя и в ветви
HKLM\SOFTWARE\Crypto Pro\Settings\Keys
для компьютера в целом.
В случае 64-битной ОС пути будут немного другими:
HKLM\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Users\[SID пользователя]\Keys
и
HKLM\SOFTWARE\Wow6432Node\Crypto Pro\Settings\Keys
При работе КриптоПро на терминальном сервере у пользователя может не хватить прав на запись ключа в эти ветви, поскольку они находятся не в профиле пользователя. Эту ситуацию можно исправить назначением соответствующих прав на ветви через утилиту Regedit.
КриптоПро ищет контейнеры ключей на дисках, которые имеют атрибут “съемный”, то есть флеш-диск или, прости господи, дискета будут считаться контейнерами ключей, а сетевой диск или диск, проброшенный через RDP — нет. Это позволяет хранить ключи на образах дискет по принципу один ключ — одна дискета и тем самым повысить безопасность. Для создания виртуального дисковода можно применить утилиту ImDisk, у которой есть версия и под 64-битные ОС. Заявляется совместимость с Windows вплоть до 8.1, нормально работает и в Windows 10.
Существует еще утилита Virtual Floppy Drive (VFD), в которой можно создавать дисковод, видимый только конкретным пользователем. К сожалению, она давно не развивается, и, кажется не будет работать на 64-битных ОС из-за неподписанного драйвера.
Применяя эти советы и не забывая о Положении ПКЗ-2005, которое, впрочем, носит рекомендательный характер, можно несколько облегчить жизнь как операторам, работающим на сайтах закупок, так и себе.
Комментарии (17)
GoldGoblin
19.04.2017 01:44Постоянно сейчас на основной работе сталкиваюсь с электронными подписями и так далее.
И постоянно мучает вопрос: почему все так криво?
http://lkul.nalog.ru/ — ssl сертификат «самоподписан» недействительный.
https://www.nalog.ru — ssl сертификат действительный.
Почему бы не обратится и добавить сертификаты выданные удостоверяющими центрами рф в доверенные?
У меня так же есть опыт работы с зарубежными эцп и там все намного проще и удобней для пользователя.
Предпринимаются какие либо шаги для добавления user friendly?garex
19.04.2017 08:29+1Предпринимаются какие либо шаги для добавления user friendly?
Все шаги у нас только official pocket friendly. Не раскачивайте яхту тут.
Ещё один вариант использования любого браузера — это локальный прокси, который понимает гост и выдаёт наружу просто http.
GoldGoblin
19.04.2017 11:44Русификация Firefox это тоже official pocket friendly? Почему сразу не сделать встроенный пакет русификации?
Локальный проси? Так может вообще https не надо?
bugrazoid
19.04.2017 12:21почему все так криво?
Дам очевидный ответ: Если вчерашний студент может это написать на 3 копейки, что бы хоть как-то работало. Тогда зачем платить много профессионалам? А сэкономленные средства утилизируются в карман.
torrie
19.04.2017 14:01Почему нельзя хранить все ключи на сервере и сделать многофакторную авторизацию вместо использования всего этого котла дьявола?
Сколько раз сталкивался с криптопро(и прочими к слову), всегда это какой-то ад из сотни кликов мыши. А мне всего-то нужно договор на 3000 рублей подписать. Зачем всё так усложнено?
Мне как пользователю это всё дико и неудобно. Если уж идёт такая борьба за безопасность, то мне проще селфи прислать с кодом, который я от руки пишу, чем каждый раз проходить через это. И не дай бог IE или ваша программа(или что-то ещё) обновится! А ведь вы за это ещё и деньги берёте…SchmeL
20.04.2017 11:43По тем же причинам, как и использование PKCS#12 в КриптоПРО. ФСБшники вставляют палки в колеса, требуя хранения ключа на съемных носителях, хотя почему тогда в реестре разрешается — я до сих пор не понимаю.
Merkat0r
19.04.2017 15:39Firefox всегда и работал… Собстенно он и ослик, а вот, например, тот же Хром — хренушки.
Плагин ЭЦП для всяких госуслуг реестров и т.д. в нем не работает, хотя именно криптопрошный или от контура работает.
redmanmale
19.04.2017 18:44однако сейчас новые версии выходят регулярно. Последняя сборка основана на Firefox 45.
Этой версии больше года (08-Mar-2016). Р — регулярность.
dikiykot
19.04.2017 23:26если через эту конструкцию нельзя подписать документ, значит все равно понадобится рабочее место с ie 10\11. без яиц жить можно, но грустно.
для ФЗ-44 авторизация должна с 1 января происходить через ЕСИА, но учитывая неготовность площадки сроки сдвигают каждый месяц. после нового года якобы поменялась обслуживающая компания, потерли форум, все обращения обнулились. сейчас ситуация исправляется, но в процессе 4 месяцев ожидания что вот скоро не сможем опубликовать гарантию, обнаружилось что нет никаких реальных контактов у сайта закупок, кроме телефона, куда не дозвониться, электронной почты, на которую не отвечают и а\я в почтовом отделении. удалось перерегистрироваться только в январе, получил богатый опыт общения с пустотой.
alkoro
20.04.2017 06:44У меня будут ещё пара замечаний:
1. Firefox c версии 53 уже не работает на XP, можно проверить — на ftp https://ftp.mozilla.org/pub/firefox/releases/53.0/ она уже выложена. Т.е. CryptoFox для XP уже обречён, если конечно, разработчики будут придерживаться основной ветки ff.
2. Подпись не работает, а это очень существенное ограничение для участников торгов, и опять, XP в этом случает уже не играет.
По поводу sign.cab — вообще отдельная песня, на закупках с начала года (сейчас не знаю) предлагался к скачиванию sign.cab c компонентом версии 1.0.0. Какое-то время это даже работало (Win764 IE11). В нашей конторе было немало машин, где всё это я настраивал ещё годы назад. Но спустя какое то время (в конце 2016) перестала работать подпись только на новых машинах (впервые устанавливаемые компоненты). В результате выяснилось, что рабочим является компонент 1.0.5, который я чудом нашёл на какой то файловой помойке. На сайте Ланит не было даже намёка на ссылки на свои продукты. Я подозреваю, что тут, видимо, виноваты обновления IE11, которые мешают его нормальной работе.
Тем не менее, я разделяю оптимизм автора, что они всё таки перепилят подпись через другое решение. Мир не стоит на месте, и IE11 уже вроде как тупиковая ветка, ведь на Edge, я так понимаю, activex не завезли изначально.Shaz
20.04.2017 11:58На сколько помню, у sign.cab была кривая цифровая подпись, ну по крайней мере в середине 2016 было так.
wertex15
20.04.2017 06:44А вот Ртс тендер прекрасно открывается через хром. Зачем для закупок кастыль? Видимо для распила.
Evil_zulu
20.04.2017 06:44Браузер Спутник. С Крипто-Про и корневыми сертификатами. Устанавливается сразу все одним пакетом. На закупках точно работает.
iPrime
20.04.2017 06:45Плагин Ростелекома не работает на новых версиях Firefox. Последняя версия 2.0.6 — 2014 года! Аууу разрабочики!!!
smple
наконец то не IE единым, но учитывая как это все работает, это быть бесплатным бето тестером