Activex
Компания Microsoft разработала два основных клиентских ActiveX-компонента, которые транслируют функционал CryptoAPI в скрипты, в браузер.Для генерации ключа и создания PKCS#10-запроса применятся компонент XEnroll/CertEnroll, а для ЭЦП/шифрования и работы с сертификатами компонент CAPICOM.
В следующих статьях будут подробно рассмотрены оставшиеся решения.
Openssl-style
Open Source библиотека OpenSSL обладает широкими криптографическими возможностями и удобным механизмом ее расширения другими криптоалгоритмами. OpenSSL является основным криптоядром для широкого спектра приложений Open Source.
После того, как в эту библиотеку компанией Криптоком были добавлены ГОСТы, появились патчи для «гостификации» многих популярных приложения, использующих OpenSSL. На базе OpenSSL некоторые вендоры разработали и сертифицировали СКЗИ, кроме того в ряд продуктов OpenSSL входит «неявным» образом.
Pkcs#11
Библиотека PKCS#11 предоставляет универсальный кроссплатформенный программный интерфейс к USB-токенам и смарт-картам.
Функции делятся на:
Таким образом, стандарт PKCS#11 поддерживает полный набор криптопримитивов, пригодный для реализации криптографических форматов (PKCS#7/CMS/CADES, PKCS#10, X.509 и др.) и протоколов (TLS, IPSEC, openvpn и др.).
Для обеспечения быстродействия часть криптопримитивов может быть реализована программно.
В стандарте PKCS#11, начиная с версии 2.30, поддерживаются ГОСТ Р 34.10-2001, ГОСТ Р 34.11-94, ГОСТ 28147-89.
Использование библиотеки PKCS#11 обеспечивает совместимость ПО различных вендоров при работе с токенами. Через PKCS#11 интерфейс умеют работать приложения, написанные на на базе CryptoAPI, NSS, OpenSSL.
Пример совместимости приложений приведен на схеме. Таким образом, возможно использование подходящего приложения в соответствующем месте инфосистемы.
PKCS#11 бывают также без поддержки аппаратных устройств с программной реализацией криптоалгоритмов и хранением объектов в файловой системе.
Примеры – PKCS#11 интегрированный в NSS (Mozilla), проект aToken, библиотека Агава-Про.
У компании Крипто-Про есть библиотека PKCS#11, реализованная на базе MS CryptoAPI:
Существуют PKCS#11-библиотеки для мобильных платоформ. Примером подобной библиотеки служит библиотека для Рутокен ЭЦП Bluetooth, которая позволяет использовать устройство на iOS и Android.
Библиотеки c собственным интерфейсом
Проприетарные библиотеки предоставляют собственный API для встраивания в приложения. В данный список можно внести:
Браузерные плагины
Для того, чтобы из скриптов WEB-страницы вызвать нативную библиотеку большинство браузеров поддерживают специальные расширения — ActiveX для IE и NPAPI-плагин для GH, MF, Opera, Sаfari и др. В данный момент на рынке существует широкий спектр продуктов, относящихся к браузерным плагинам.
Архитектурно данные плагины могут быть исполнены по-разному. Некоторые работают на базе CryptoAPI и требуют дополнительной установки криптопровайдера, другие используют в качестве криптоядра PKCS#11-совместимые устройства и не требуют установки дополнительных СКЗИ на рабочее место клиента. Есть универсальные плагины, которые поддерживают как все основные криптопровайдеры, так и широкий спектр аппаратных СКЗИ.
Как установить криптопровайдер: рассказываем на примере криптопро и vipnet
На волне интереса к предыдущим памяткам по работе с ПО «Астрал Отчет» (по переносу ПО на другой компьютер и его первому запуску, например) подготовили для Вас еще одно мини-руководство – по установке и переустановке на ПК криптопровайдеров КриптоПро CSP и ViPNet CSP.
Начнем с КриптоПро CSP
Шаг 1. Перейдите на сайт «КриптоПро», затем в меню выберите Продукты → СКЗИ КриптоПро CSP/TLS/JCP → Загрузка файлов
Откроется раздел «Как загрузить дистрибутив?». При первоначальном входе в систему необходимо зарегистрироваться, а если процедуру регистрации Вы уже проходили – войти под своей учетной записью.
После авторизации на сайте откроется ссылка «Загрузка файлов», перейдите по ней. В «Центре загрузки» выберите КриптоПро CSP.
Далее выберите необходимый дистрибутив в соответствии с установленной у Вас операционной системой и ее разрядностью и сохраните его в формате .msi на жесткий диск компьютера (с помощью кнопки «Сохранить файл»). Перед скачиванием дистрибутива рекомендуем ознакомиться с совместимостью СКЗИ КриптоПро CSP и Windows.
Важно: перед установкой, переустановкой и удалением криптопровайдера рекомендуем также предусмотрительно создать точку восстановления системы.
Шаг 2. Для начала установки нажмите в открывшемся окне «Установить»
Начнется установка программы. После ее завершения нажмите кнопку «Ок»
Шаг 3. После установки КриптоПро CSP Вам необходимо перезагрузить ПК, после чего криптопровайдер будет готов к работе.
Обращаем Ваше внимание на то, что СКЗИ КриптоПро CSP имеет демонстрационный период продолжительностью 3 месяца, в течение которого КриптоПро CSP будет работать в полнофункциональном режиме, после чего потребуется его обязательная регистрация.
Как установить СКЗИ ViPNet CSP
Шаг 1. Перейдите на сайт «ОАО «ИнфоТеКС». Из списка дистрибутивов выберите необходимый и перейдите по ссылке с его наименованием. Рекомендуем перед скачиванием ознакомиться с совместимостью СКЗИ VipNet CSP и Windows.
Затем необходимо заполните лицензионное соглашение и нажмите «Отправить заявку»
После этого ссылка на загрузку файла и его серийный номер будут отправлены Вам на указанный при регистрации адрес электронной почты (серийный номер необходим для регистрации программного продукта ViPNet CSP после его установки).
Важно: перед установкой, переустановкой и удалением криптопровайдера рекомендуем также предусмотрительно создать точку восстановления системы.
Шаг 2. Перейдите по ссылке, загрузите и запустите файл. Откроется лицензионное соглашение. Нажмите «Я принимаю это соглашение – Продолжить»
Если Вы планируете использовать ViPNet CSP для входа в Личный кабинет ФНС, в окне «Способ установки» нажмите «Настроить – Поддержка работы ViPNet CSP через MS Crypto API – Поддержка протокола TLS/SSL». Если не для этого – выберите «Установить сейчас»
Начнется установка ViPNet CSP, после ее окончания нажмите «Закрыть»
Шаг 3. По завершении установки перезагрузите компьютер для обеспечения корректной работы VipNet CSP. Важно: в течение демонстрационного периода (14 дней) криптопровайдер будет работать в полнофункциональном режиме, после нужно будет его обязательно зарегистрировать.
Готово! Успешной работы!
Узнать больше об установке или переустановке криптопровайдеров и ПО «Астрал Отчет» можно у наших специалистов:
Криптопровайдеры
Де-факто стандартом отрасли является класс криптосредств, известных как криптопровайдеры. Криптопровайдер — это предоставляющая специальный API и специальным образом зарегистрированная в ОС библиотека, которая позволяет расширить список поддерживаемых в ОС криптоалгоритмов.
Следует отметить, что несовершенство предлагаемых MS Windows механизмов расширения вынуждает разработчиков криптопровайдеров дополнительно модифицировать высокоуровневые криптобиблиотеки и приложения MS Windows в процессе их выполнения для того, чтобы «научить» их использовать российские криптоалгоритмы.
Следует понимать, что не все СКЗИ одного вида реализуют полный объем функциональности, приведенный в таблицах. Для уточнения возможностей криптосредств следуют обратиться к производителю.
Кроссбраузерные плагины
Спецификация | — |
Платформы | Семейство Windows, GNULinux, OS X |
Алгоритмы и криптографические протоколы | ЭЦП, шифрование, хэш-функция, имитозащита, HMAC |
Интеграция с PKI | X.509, PKCS#10, CMS, CRL, OCSP (КриптоПро ЭЦП Browser plugin), TSP (КриптоПро ЭЦП Browser plugin) |
Механизмы ЭЦП | Программный интерфейс для использования в JavaScript |
Механизмы аутентификации | ЭЦП случайных данных |
Механизмы “гостирования” TLS | — |
Форматы защищенных сообщений | PKCS#7, CMS, XMLSec (КриптоПро ЭЦП Browser plugin), CADES (КриптоПро ЭЦП Browser plugin) |
Интеграция с браузером | ActiveX (для IE) NPAPI |
Мобильные платформы | не поддерживаются |
Хранилища ключей | Реестр, файлы, USB-токены |
Взаимодействие с USB-токенами | Хранилище ключей и сертификатов Использование аппаратной реализации алгоритмов Через PKCS#11, через CryptoAPI |
Приложения | Браузеры |
Инсталляция | Программа установки, не требуются права системного администратора |
Примеры (ГОСТ) | КриптоПро ЭЦП Browser plugin eSign-PRO КриптоПлагин Лисси Плагин портала госуслуг JC-WebClient Рутокен Плагин Плагин BSS КриптоАРМ Browser plugin |
Проблемы:
Плюсы:
Локальные прокси
Основным принципом действия локального прокси является прием незащищенного соединения от приложения, установка TLS-туннеля с удаленным сервером и передача «прикладного уровня» между приложением и удаленным сервером по этому туннелю.