- Криптопро — что это такое | softmagazin
- Activex
- Openssl-style
- Pkcs#11
- Библиотеки c собственным интерфейсом
- Браузерные плагины
- Встраивание криптопро csp в приложения
- Высокоуровневые функции обработки криптографических сообщений
- Диагностика «криптопро csp»
- Инструментарий разработчика capicom
- Инструментарий разработчика криптопро csp sdk
- Использование cryptoapi
- Использование sspi
- Использование криптопро csp в по microsoft
- Классические пассивные usb-токены и смарт-карты
- Кроссбраузерные плагины
- Локальные прокси
- Низкоуровневые функции обработки криптографических сообщений
- Носители с неизвлекаемыми ключами и защищенным обменом сообщениями
- Поддерживаемые алгоритмы
- Функции кодирования/декодирования
- Функции работы со справочниками сертификатов
- Цели использования криптографических функций
Криптопро — что это такое | softmagazin
Оба продукта представляют собой СКЗИ и являются криптопровайдерами. Чтобы выбрать, какое ПО наиболее вам подходит, необходимо ознакомиться предварительно с функционалом криптосредств. Следует учесть, поддерживает ли криптопровайдер различные платформы, необходимо ли права администратора для установки, инструментарий программы.
Так, в рамках обзора функций КриптоПро, можно обозначить, что криптопровайдер требует права администратора для установки его на компьютер. СКЗИ имеет несколько версий, каждая из которых подходит для определенной версии ОС. Идентификация электронных документов, защита соединений происходит с использованием криптографических методов, соответствующих отечественным стандартам. Чтобы ознакомиться с совместимостью ПО с различными операционных системами и UNIX-подобными ОС, рекомендует прочесть обзор «Установка КриптоПро на Windows, Linux и Mac OS».
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-совместимые устройства и не требуют установки дополнительных СКЗИ на рабочее место клиента. Есть универсальные плагины, которые поддерживают как все основные криптопровайдеры, так и широкий спектр аппаратных СКЗИ.
Встраивание криптопро csp в приложения
Для встраивания КриптоПро CSP в разрабатываемые приложения следует использовать функции Microsoft CryptoAPI, SSPI, CAPICOM, а так же КриптоПро ЭЦП Browser plug-in. Ниже приведено краткое описание этих интерфейсов. Более подробное описание можно найти в программной документации MSDN (Microsoft Developer Network).
Высокоуровневые функции обработки криптографических сообщений
Именно эта группа функций (Simplified Message Functions) в первую очередь предназначена для использования в прикладном ПО. С помощью этих функций можно:
Эти функции (так же как и функции низкого уровня) оперируют сертификатами открытых ключей X.509 для адресации отправителя/получателя данных. В качестве формата данных, формируемых функциями, используется формат PKCS#7 (RFC2315) или CMS (RFC2630) в Windows.
Диагностика «криптопро csp»
Условия использования Контур.Веб-диска
1. Настоящие условия предназначены для обязательного ознакомления пользователями
Контур.Веб-диска и иными лицами, ссылающимися или иным образом использующими страницу,
на которой размещены настоящие условия.
2. Контур.Веб-диск – программа для ЭВМ, предназначенная для автоматической проверки и
настройки рабочего места пользователя с установкой необходимых компонентов. Доступ к
Контур.Веб-диску может быть осуществлен по адресам
install.kontur.ru
и ecp64.ru.
3. Правообладателем Контур.Веб-диска является АО «ПФ «СКБ Контур», ИНН 6663003127.
Свидетельство о государственной регистрации права на Контур.Веб-диск опубликовано
на сайте kontur.ru.
4. Контур.Веб-диск может использоваться клиентами группы компания СКБ Контур согласно
условиям заключенных ими договоров, а также иными пользователями исключительно для
проверки и настройки своего рабочего места.
5. Не допускается использовать Контур.Веб-диск путем распространения информации о
Контур.Веб-диске третьим лицам с целью извлечения любой коммерческой выгоды, в том числе с
целью снижения собственных расходов вследствие отсутствия необходимости разрабатывать и
поддерживать решение, аналогичное или схожее по функциональности с Контур.Веб-диском.
Использование Контур.Веб-диска, если такое использование осуществляется без согласия
правообладателя, является незаконным и влечет ответственность, установленную действующим
законодательством (п. 1 ст. 1229 Гражданского кодекса РФ).
Инструментарий разработчика capicom
CAPICOM предоставляет COM-интерфейс, использующий основные функции CryptoAPI. Этот компонент является добавлением к уже существующему COM интерфейсу Certificate Enrollment Control (xenroll), который реализуют клиентские функции генерации ключей, запросов на сертификаты и обмена с центром сертификации.
С выпуском данного компонента стало возможным использование функций формирования и проверки электронной цифровой подписи, построения и проверки цепочек сертификатов, взаимодействия с различными справочниками сертификатов (включая Active Directory) с использованием Visual Basic, C , JavaScript, VBScript и среды разработки Delphi.
Загрузить дистрибутив и примеры использования CAPICOM можно непосредственно с сайта Microsoft.
Подробную информацию о CAPICOM смотрите на сайте Microsoft в следующих разделах:
Инструментарий разработчика криптопро csp sdk
КриптоПро CSP может использоваться для встраивания в прикладное программное путем непосредственного вызова функций КриптоПро CSP после загрузки модуля с использованием функции LoadLibrary.
Для этих целей в комплект поставки включается Руководство программиста (csp_2_0.chm, tls_2_0.chm для версии 2.0, CSP_3_0.chm, SSPI_3_0.chm, CAPILite_3_0.chm для версии 3.0), описывающее состав функций и тестовое ПО (sample2_0.zip для версии 2.0 и SDK для версии 3.0).
Руководство программиста и тестовое ПО для версии 3.6 доступны на странице загрузки.
Онлайн-версия руководства программиста для версии 3.6 также доступна на нашем сайте:
Тестовое ПО разработано с использованием компиляторов Microsoft Visual C (версия 2.0) и Microsoft Visual Studio .NET (для 3.0).
Для компиляции программ, входящих в тестовое ПО, дополнительно необходимы include файлы и библиотеки, входящие в Microsoft Windows Platform SDK.
В состав тестов входят примеры использования различных криптопровайдеров, входящих в состав Windows, для формирования/проверки электронной цифровой подписи, шифрования/расшифрования сообщений, создания и проверки сертификатов и другие примеры. Примеры используют функции CryptoAPI, подробное описание которых можно получить в MSDN, а также позволяют вызывать функции криптопровайдеров непосредственно на низком уровне.
Вы также можете получить уже скомпилированную тестовую программу csptest2_0.exe для версии 2.0 или SDK для версий 3.0 и выше.
Использование cryptoapi
Использование CryptoAPI в ОС Windows/Solaris/Linux/FreeBSD преследует две главные цели:
На рисунке ниже приведена общая архитектура криптографических функций.
Общая архитектура CryptoAPI состоит из пяти основных функциональных групп:
Использование sspi
Использование SSPI в ОС Windows/Solaris/Linux/FreeBSD преследует две главные цели:
Использование криптопро csp в по microsoft
К стандартным приложениям, которые теперь могут использовать российские алгоритмы электронной цифровой подписи и шифрования, относятся:
Классические пассивные usb-токены и смарт-карты
Большинство пользователей предпочитает быстрые, дешевые и удобные решения для хранения ключей. Как правило, предпочтение отдаётся токенам и смарт-картам без криптографических сопроцессоров. Как и в предыдущих версиях провайдера, в КриптоПро CSP 5.0 сохранена поддержка всех совместимых носителей производства компаний Актив, Аладдин Р.Д., Gemalto/SafeNet, Multisoft, NovaCard, Rosan, Alioth, MorphoKST и СмартПарк.
Кроме того, конечно, как и раньше поддерживаются способы хранения ключей в реестре 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-туннеля с удаленным сервером и передача «прикладного уровня» между приложением и удаленным сервером по этому туннелю.
Низкоуровневые функции обработки криптографических сообщений
Данная группа функция (Low Level Message Functions) предназначена для аналогичных целей, что и группа высокоуровневых функций, но обладает большей функциональностью. Вместе с тем большая функциональность потребует от прикладного программиста более детальных знаний в области прикладной криптографии.
Носители с неизвлекаемыми ключами и защищенным обменом сообщениями
В КриптоПро CSP 5.0 добавлена поддержка носителей с неизвлекаемыми ключами, реализующих протокол SESPAKE, позволяющий провести аутентификацию, не передавая в отрытом виде пароль пользователя, и установить шифрованный канал для обмена сообщений между криптопровайдером и носителем.
Нарушитель, находящийся в канале между носителем и приложением пользователя, не может ни украсть пароль при аутентификации, ни подменить подписываемые данные. При использовании подобных носителей полностью решается проблема безопасной работы с неизвлекаемыми ключами.
Компании Актив, ИнфоКрипт и СмартПарк разработали новые защищенные токены, которые поддерживают данный протокол.
Поддерживаемые алгоритмы
В КриптоПро CSP 5.0 наряду с российскими реализованы зарубежные криптографические алгоритмы. Теперь пользователи имеют возможность использовать привычные носители ключей для хранения секретных ключей RSA и ECDSA.
Электронная подпись | ГОСТ Р 34.10-2022 (ГОСТ 34.10-2022), ECDSA, RSA |
Хэш-функции | ГОСТ Р 34.11-2022 (ГОСТ 34.11-2022), SHA-1, SHA-2 |
Шифрование | ГОСТ Р 34.12-2022 (ГОСТ 34.12-2022), ГОСТ Р 34.13-2022 (ГОСТ 34.13-2022), ГОСТ 28147-89, AES (128/192/256), 3DES, 3DES-112, DES, RC2, RC4 |
Таблица алгоритмов, поддерживаемых разными версиями КриптоПро CSP.
Функции кодирования/декодирования
Данные функции предназначены для преобразование (кодирования) из внутреннего представления объектов, используемых в CryptoAPI, во внешнее представление и обратно. В качестве внешнего представления объектов используется формат ASN.1 (Abstracy Syntax Notation One), определенный серией рекомендаций X.680.
К этой же группе функций можно отнести набор функций, позволяющих расширить функциональность CryptoAPI, путем реализации и регистрации собственных типов объектов.
Функции работы со справочниками сертификатов
Эта группа функций предназначена для хранения и обработки сертификатов в различных типах справочников. Причем в качестве справочника могут использоваться самые различные типы хранилищ: от простого файла до LDAP.
Цели использования криптографических функций
Для обеспечения защиты электронных документов и создания защищенной автоматизированной системы в первую очередь используют криптографические методы защиты, которые позволяют обеспечить защиту целостности, авторства и конфиденциальности электронной информации и реализовать их в виде программных или аппаратных средств, встраиваемых в автоматизированную систему.
В общем случае создание защищенной автоматизированной системы — это в каждом конкретном случае процесс индивидуальный, поскольку не бывает абсолютно одинаковых систем, а бывают лишь типовые решения, реализующие те или иные функции по защите информации.
В первую очередь при создании защищенной автоматизированной системы необходимо определить модель угроз и политику безопасности проектируемой системы. Впоследствии, исходя из этого, можно определить тот набор криптографических функций и организационно-технических мер, реализуемых в создаваемой системе.
Ниже приведен основной перечень функций защиты информации, реализуемый при помощи криптографических функций библиотек СКЗИ.
- Конфиденциальность информации. При передаче данных в сети обеспечивается использованием функций шифрования. При хранении данных (на дисках, в базе данных) может использоваться функция шифрования или (для обеспечения НСД к хранимой информации) функция шифрования на производном (например, от пароля) ключе.
- Идентификация и авторство. При сетевом взаимодействии (установлении сеанса связи) обеспечивается функциями ЭЦП при использовании их в процессе аутентификации (например, в соответствии с рекомендациями Х.509). Одновременно при аутентификации должна использоваться защита от переповторов. Для этих целей может быть использована функция имитозащиты с ограничениями, так как при вычислении имитовставки используется симметричный ключ шифрования, единый для двух субъектов (объектов) системы. При электронном документообороте обеспечивается использованием функций ЭЦП электронного документа. Дополнительно должна быть предусмотрена защита от навязывания, переповтора электронного документа.
- Целостность. Обеспечивается использованием функций ЭЦП электронного документа. При использовании функций шифрования (без использования ЭЦП) обеспечивается имитозащитой. Для обеспечения целостности хранимых данных может быть использована функция хеширования или имитозащиты, но при этом не обеспечивается авторство информации.
- Неотказуемость от передачи электронного документа. Обеспечивается использованием функций ЭЦП (подпись документа отправителем) и хранением документа с ЭЦП в течение установленного срока приемной стороной.
- Неотказуемость от приема электронного документа. Обеспечивается использованием функций ЭЦП и квитированием приема документа (подпись квитанции получателем), хранением документа и квитанции с ЭЦП в течении установленного срока отправляющей стороной.
- Защита от переповторов. Обеспечивается использованием криптографических функций ЭЦП, шифрования или имитозащиты с добавлением уникального идентификатора сетевой сессии (электронного документа) с последующей их проверкой приемной стороной или разработкой специализированного протокола аутентификации (обмена электронными документами).
- Защита от навязывания информации. Зашита от нарушителя с целью навязывания им приемной стороне собственной информации, переданной якобы от лица санкционированного пользователя (нарушение авторства информации). Обеспечивается использованием функций ЭЦП с проверкой атрибутов электронного документа и открытого ключа отправителя. В случае навязывания информации про компрометации ключа обеспечивается организационно-техническими мероприятиями. Например, созданием системы централизованного управления ключевой информацией (оповещением абонентов) или специализированных протоколов электронного документооборота.
- Защита от закладок, вирусов, модификации системного и прикладного ПО. Обеспечивается совместным использованием криптографических средств и организационных мероприятиях.
