- Криптографические решения. От криптопровайдеров до браузерных плагинов
- Создание и проверка эцп в gost-crypto-gui[править]
- Установка сертификата[править]
- Интересные фактыПравить
- Руководство по настройке
- Установка драйверов и ПО для работы с JaCarta PKI
- Установка пакетов КриптоПро CSP
- Настройка и диагностика КриптоПро CSP
- Работа с токеном JaCarta PKI
- Программное извлечение ключей
- Результаты
- Полезные ссылки
- Установка CryptoPro[править]
- Как подписать документ ЭЦП с помощью КриптоПро 5
- Совместимость[править]
- Экспорт контейнера и сертификата на другую машину[править]
- Генерирование ключей и получение сертификата[править]
- Создание и проверка эцп с использованием cptools[править]
- Дополнительное ПОПравить
- JaCarta SecurLogonПравить
- JaCarta Management System (JMS)Править
- JaCarta Authentication Server (JAS)Править
- JC-WebClientПравить
- Преимущества компании КриптоПро
- Среди главных преимуществ КриптоПро выделяют
- Удаление сертификата[править]
- Поддержка КриптоПро различными платформамиПравить
- PKCS#11
- NSS
- Библиотеки c собственным интерфейсом
- Продукты КриптоПроПравить
- Инфраструктура открытых ключейПравить
- Защита от несанкционированного доступа с использованием КриптоПро CSPПравить
- Программы и утилитыПравить
- Как работает КриптоПро
- Главные функции КриптоПро
- Кому нужна программа КриптоПро
- Управление считывателями[править]
- Неправильный зарегистрированный набор ключей[править]
- Аппаратно-программные устройстваПравить
- Смарт-карт ридерыПравить
- Электронное удостоверениеПравить
- Установка криптопро csp[править]
- ПрименениеПравить
- Криптопро эцп browser plug-in[править]
- Работа с сертификатами в token-manager[править]
Криптографические решения. От криптопровайдеров до браузерных плагинов
Производители средств криптографической защиты информации (СКЗИ) предлагают различные механизмы для интеграции криптосредств в информационные системы. Существуют решения, ориентированные на поддержку систем с Web-интерфейсом, мобильных и десктопных приложений, серверных компонентов. СКЗИ интегрируются в приложения Microsoft и в продукты Open Source, обеспечивают поддержку различных прикладных протоколов и форматов электронной подписи.
С учетом растущего количества проектов с применением ЭЦП и появления массовых проектов для физических лиц, разработчикам подобных проектов требуется хорошо ориентироваться в предлагаемых производителями решениях по ЭЦП для того, чтобы сделать систему удобной в эксплуатации и недорогой в плане техподдержки. Таким образом, если еще лет 5 назад главным фактором выбора криптосредства являлось его полное соответствие требованиям регуляторов, то при сегодняшнем разнообразии важными критериями могут выступать охват поддерживаемых платформ, возможность интеграции с браузером, поддержка мобильных пользователей, возможность установки без прав системного администратора и т.
В данном материале сделана попытка классифицировать средства криптографической защиты информации.
- Рассмотрены в основном СКЗИ, использующиеся на клиентских местах для защиты клиент-серверных соединений по протоколу TLS, для организации ЭЦП, шифрования передаваемых данных;
- Не рассматриваются СКЗИ, применяемые для создания VPN и шифрования файловой системы, хранимых данных, а так же УЦ;
- Отдельно выделены аппаратные криптографические устройства.
Классификация построена на основе:
- технологий интеграции (CryptoAPI, Active-X, NPAPI и др.), которые поддерживают СКЗИ для встраивания в приложения и прикладные системы;
- интерфейсов, которые предоставляют СКЗИ для встраивания в приложения и прикладные системы.
Кроме того, показаны способы интеграции СКЗИ с Web-приложениями и возможность его использования на мобильных платформах
Общая схема классификации приведена в таблице:
КриптопровайдерыНативные библиотеки (openssl-style, PKCS#11, NSS, собственные интерфейсы)Локальные проксиБраузерные плагиныОблачная подписьБраузеры с российской криптографией
Почтовые клиенты с российской криптографиейРоссийская криптография в фреймворках, платформах, интерпретаторахНастольные криптографические приложенияКриптография в BIOS UEFIСервис-провайдеры ЭЦПЭмуляторы доверенной среды
Аппаратные средства
В первой статье рассмотрим решения, начиная с криптопровайдеров по браузерные плагины включительно. В последующих статьях будут рассмотрены остальные средства.
Создание и проверка эцп в gost-crypto-gui[править]
gost-crypto-gui — средство для создания электронной подписи и шифрования файлов.
Установить пакет gost-crypto-gui из репозитория можно, выполнив команду:
Запустить программу можно:
С её помощью можно подписывать и проверять подписи файлов:
Для создания электронной подписи файла необходимо:
- Нажать кнопку «Подписать файл(ы)».
- Выбрать файл, который необходимо подписать.
- Выбрать сертификат и нажать кнопку «Далее»:
- Ввести пароль на контейнер (если он был установлен):
- Появится сообщение о подписанном файле:
Опции ЭП настраиваются в меню «Опции» (параметр «Отсоединенная подпись» не работает???):
Для проверки электронной подписи следует:
- Нажать кнопку «Проверить подпись».
- Выбрать подписанный файл.
- Появится информация о сертификате подписи:
Установка сертификата[править]
Чтобы установить сертификат с токена в локальное хранилище, необходимо выбрать контейнер на токене и нажать кнопку «Установить»:
Сертификат будет установлен в локальное хранилище сертификатов и будет связан с закрытым ключом на токене.
Чтобы установить сертификат в локальное хранилище из файла, необходимо выбрать «Личное хранилище сертификатов», нажать кнопку «Установить», выбрать файл сертификата и нажать кнопку «Открыть». Появится сообщение об успешном импорте сертификата:
Сертификат будет установлен в локальное хранилище сертификатов, но не будет связан ни с каким закрытым ключом. Этот сертификат можно использовать для проверки подписи.
Интересные фактыПравить
Столица Индонезии, имя которой фонетически неразличимо с JaCarta, расположена на острове Ява, давшем название одноимённому сорту кофе, в честь которого, в свою очередь, назван язык программирования Java, на котором основана технология Java Card, используемая в продуктах JaCarta.
Руководство по настройке
После установки токена JaCarta PKI в USB порт сервера и запуска системы проверяем, что новое устройство обнаружено и появилось в списке:

В нашем случае это Bus 004 Device 003: ID 24dc:0101
Для диагностики считывателей можно воспользоваться утилитой pcsc-tools из проекта security:chipcard (software. opensuse. org).

Пока не установлены все необходимые пакеты, информация о токене не отобразится.
Установка драйверов и ПО для работы с JaCarta PKI
На странице Поддержки сайта «Аладдин Р. » загружаем Документацию и программное обеспечение для работы только с JaCarta PKI
Согласно Руководству по внедрению «JaCarta для Linux» пункт 4. , первым делом требуется установить пакеты pcsc-lite, ccid и libusb.
Для работы утилиты управления JaCarta необходимо установить следующие компоненты:
- PC/SC Lite — промежуточный слой для обеспечения доступа к смарт-картам по стандарту PC/SC, пакет pcsc-lite.
- Библиотеки ccid и libusb для работы с USB-ключами, смарт-картами и считывателями смарт-карт.
Выполняем проверку наличия этих пакетов и установку:
zypper search pcsc-lite

zypper search libusb

zypper install pcsc-lite


zypper search CCID

zypper install pcsc-ccid


zypper install libusb

В итоге пакет pcsc-lite был обновлен, CCID установлен, libusb никаких действия не требовалось.
Следующими двумя командами выполняем установку пакета с драйверами и программным обеспечением непосредственно для работы с JaCarta PKI:
zypper install idprotectclientlib-637. 03-0. x86_64. rpm

zypper install idprotectclient-637. 03-0. x86_64. rpm

Проверяем, что драйверы и ПО для JaCarta PKI установились:
zypper search idprotectclient

При попытках заставить работать SafeNet eToken PRO я нашел информацию, что предустановленный в SLES пакет openct — Library for Smart Card Readers может конфликтовать с pcsc-lite — PCSC Smart Cards Library, установку которого требует руководство Аладдин Р.
zypper search openct

Поэтому пакет openct удаляем:
rpm -e openct
Теперь все необходимые драйверы и ПО для работы с токеном установлены.
Выполняем диагностику с помощью утилиты pcsc-tools и убеждаемся, что JaCarta определяется в операционной системе:

Установка пакетов КриптоПро CSP
При установке КриптоПро CSP по умолчанию нужные пакеты для работы с токенами и смарт-картами отсутствуют.
zypper search cprocsp

Выполняем установку в CSP компонента поддержки JaCarta components for CryptoPro CSP
zypper install cprocsp-rdr-jacarta-64-3. 408. 683-4. x86_64. rpm

Некоторые компоненты имеют зависимости. Так, например, если попытаться выполнить установку пакета поддержки SafeNet eToken PRO cprocsp-rdr-emv-64-4. 9944-5. x86_64. rpm — EMV/Gemalto support module, то получим сообщение о необходимости сначала установить базовый компонент CSP поддержки считывателей cprocsp-rdr-pcsc-64-4. 9944-5. x86_64. rpm — PC/SC components for CryptoPro CSP readers:
Устанавливаем базовые пакеты поддержки считывателей и ключевых носителей:
zypper install cprocsp-rdr-pcsc-64-4. 9944-5. x86_64. rpm

zypper install lsb-cprocsp-pkcs11-64-4. 9944-5. x86_64. rpm
Теперь можно установить модули для работы с остальными видами носителей и компонент GUI:
zypper install cprocsp-rdr-emv-64-4. 9944-5. x86_64. rpm

zypper install cprocsp-rdr-novacard-64-4. 9944-5. x86_64. rpm
zypper install cprocsp-rdr-mskey-64-4. 9944-5. x86_64. rpm
zypper install cprocsp-rdr-gui-gtk-64-4. 9944-5. x86_64. rpm

Проверяем итоговую конфигурацию КриптоПро CSP:
zypper search cprocsp
Loading repository data. Reading installed packages.

Чтобы применить изменения, выполняем перезапуск службы криптографического провайдера и проверяем ее статус:
/etc/init. d/cprocsp restart
/etc/init. d/cprocsp status

Настройка и диагностика КриптоПро CSP
Проверим, видит ли криптографический провайдер наш токен и другие доступные типы носителей следующими командами:
/opt/cprocsp/bin/amd64/csptest -card -enum -v –v


/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view -f cp1251

Следуя инструкции КриптоПро CSP для Linux. Настройка, выполняем его регистрацию в криптографическом провайдере:

Чтобы выполнить требования Формуляра, Правил пользования и Руководства администратора безопасности КриптоПро CSP:
Использование СКЗИ «КриптоПро CSP» версии 4. 0 с выключенным режимом усиленного контроля использования ключей не допускается. Включение данного режима описано в документах ЖТЯИ. 00087-01 91 02. Руководство администратора безопасности.
Необходимо включить режим усиленного контроля использования ключей:
/opt/cprocsp/sbin/amd64/cpconfig -ini ‘configparameters’ -add long StrengthenedKeyUsageControl 1
Проверяем, что режим включен:

Выполняем перезапуск службы криптографического провайдера:
После перезапуска проверяем, что ошибок в работе провайдера с ключевыми носителями нет:
/opt/cprocsp/bin/amd64/csptest -keyset –verifycontext

/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum –unique
Работа с токеном JaCarta PKI
Запустим программу Xming (X11 forwarding) на своей станции, чтобы по SSH иметь возможность открывать и работать с графическими интерфейсами нужных утилит.

Athena-IDProtectClient. desktop
Athena-IDProtectManager. desktop
Это ярлыки, в которых можно посмотреть параметры запуска утилит Exec=/usr/bin/SACTools
Запустим утилиту IDProtectPINTool.
С помощью нее задаются и меняются PIN-коды доступа к токену.

При первой инициализации токена будет полезна ссылка, содержащая PIN-коды (пароли) ключевых носителей по умолчанию
Программа IDProtect_Manager позволяет просматривать информацию о токене и контейнере с ключами и сертификатом:

Для доступа к контейнеру с ключами нужно ввести пароль:


Для работы с SafeNet Authentication Client eToken PRO существуют аналогичные программы — SafeNet Authentication Client Monitor и SafeNet Authentication Client Tools, которые запускаются так:

Выполнять операции непосредственно с ключевыми контейнерами удобнее в интерфейсе криптографического провайдера КриптоПро JavaCSP:
/jdk1. 0_181/jre/bin/java ru. CryptoPro. JCP. ControlPane. MainControlPane

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


Программное извлечение ключей
В общем виде пример извлечения закрытого ключа и сертификата открытого ключа из контейнера на токене с помощью КриптоПро Java CSP следующий:
Если действовать так:
Key key = keyStore. getKey(keyAlias, pwd);
то криптографический провайдер будет пытаться в системе отобразить через консоль или GUI окно запрос на ввод пароля к контейнеру.
Результаты
Отторгаемый ключевой носитель-токен установлен во внутренний USB-порт сервера.
Само серверное оборудование опломбировано и размещается в помещении с ограниченным доступом.
Такие меры позволяют повысить уровень защиты наших информационных систем от кражи и компрометации ключей электронной подписи или шифрования, как удаленно по сети, так и физически.
Полезные ссылки
- Документация Aladdin-RD JaCarta
- wiki.astralinux.ru — Работа с КриптоПро CSP
- Перечень кодов ошибок объектной модели компонентов Microsoft COM Error Codes (Security and Setup)
- СКЗИ КриптоПро CSP 4.0 ФКН (Gemalto)
- Утилита диагностики считывателей pcsc-tools из проекта security:chipcard (software.opensuse.org)
- КриптоПро CSP для Linux. Настройка.
- Aladdin-RD PIN-коды (пароли) ключевых носителей по умолчанию
Установка CryptoPro[править]
После скачивания создайте папку, в которую будет происходить распаковка архивов.
Распакуйте оба архива в эту папку
Установите необходимый пакет lsb-core-noarch
sudo yum install lsb-core-noarch
Запустите графический инсталлер CryptoPRO командой
sudo ~/CryptoPro5. 0/linux-amd64/install_gui
В этом примере рассматривается установка всех компонентов. Установка отдельных компонентов ничем не отличается.
После установки компоненты CryptoPro доступны через Главное Меню
Как подписать документ ЭЦП с помощью КриптоПро 5
Для того чтобы подписать электронный документ, нужны установленные на компьютер СКЗИ Криптопро версии 5. 0 и действующий сертификат электронной подписи.
Шаг 1. Найдите в списке установленных программ приложение «Инструменты КриптоПро». Для этого в строке поиска (1) введите название приложения (2) и выберите нужное из выпавшего списка (3).


Шаг 2. В главном окне нажмите на кнопку «Показать расширенные».

Шаг 3. Откроется список дополнительных разделов. В нём выберите «Создание подписи» (1). Справа откроется список сертификатов, в котором нужно выбрать вашу подпись (2). Затем нажмите на кнопку «Выбрать файл для подписи» (3).

Шаг 4. В открывшемся окне проводника выберите файл, который нужно подписать электронной подписью.

Шаг 5. В строке адреса отразится путь к выбранному файлу. Убедитесь, что выбрали правильный сертификат и файл для подписи, и нажмите на кнопку «Подписать».

Шаг 6. Если не возникло ошибок, внизу окна появится надпись «Создание подписи завершилось успехом».

Шаг 7. В папке, где хранится файл для подписи, появится зашифрованный файл с таким же названием, но с расшсайтирением *. P7S.

Совместимость[править]
По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:
- КриптоПро CSP
- КриптоПро JCP
- КриптоПро HSM
- КриптоПро TSP
- КриптоПро OCSP
- КриптоПро ЭЦП Browser plug-in
- КриптоПро SSF
- КриптоПро Stunnel
- Браузер КриптоПро Fox
Примечание: В репозитории доступен пакет firefox-gost, аналогичный КриптоПро Fox, с патчем от КриптоПро.
Экспорт контейнера и сертификата на другую машину[править]
Если при создании контейнера он был помечен как экспортируемый (ключ -exportable), то его можно экспортировать на USB-диск:
При этом потребуется ввести пароль от контейнера ‘. HDIMAGEtest_export’ и задать пароль на новый контейнер ‘. FLASHtest_new’.
Просмотр списка контейнеров:
Экспортировать сертификат из локального хранилища в файл:
Скопировать сертификат на USB-диск:
Экспорт контейнера с USB-диска на жесткий диск:
Примечание: Экспорт сертификата на жесткий диск необходимо выполнять под пользователем, который будет использовать данный контейнер для подписи.
Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My:
Генерирование ключей и получение сертификата[править]
Для получения сертификата необходимо:
- Сформировать запрос на квалифицированный сертификат.
- Транспортировать запрос в аккредитованный УЦ (тестовый УЦ не подойдет).
Создание и проверка эцп с использованием cptools[править]
Запустить программу можно из консоли (должен быть установлен cprocsp-cptools-gtk из скачанного архива КриптоПро):
С помощью cptools можно подписывать и проверять подписи файлов.
- В левом меню выбрать пункт «Создание подписи».
- Выбрать файл, который необходимо подписать, нажав кнопку «Выбрать файл для подписи» (или ввести адрес файла в текстовое поле под кнопкой «Выбрать файл для подписи»).
- Изменить имя файла подписи, если оно вас не устраивает:
- Нажать кнопку «Подписать».
- Ввести пароль на контейнер (если он был установлен).
- Появится сообщение о подписанном файле: «Создание подписи завершилось успехом».
- В левом меню выбрать пункт «Проверка подписи».
- Выбрать файл с подписью, нажав кнопку «Выбрать файл с подписью для проверки» (или ввести адрес файла в текстовое поле под этой кнопкой).
- Нажать кнопку «Проверить подпись».
- Появится информация о результате проверки:
Информацию о создании и проверки ЭЦП на веб-сайтах с помощью плагина КриптоПро можно найти в руководстве разработчика КриптоПро ЭЦП Browser plug-in:
Дополнительное ПОПравить
Программный комплекс ПК «Единый Клиент JaCarta» — ПО для настройки и работы со всеми моделями USB-токенов и смарт-карт JaCarta.
С его помощью можно:
• установить или изменить PIN-коды пользователя и администратора;
• получить полную информацию о USB-токенах и смарт-картах JaCarta (название, номер модели, серийный номер, хеш-алгоритм электронной подписи, объем свободной памяти и т. );
• разблокировать устройство (если несколько раз неправильно был введен PIN-код);
• произвести первичную инициализацию устройства с заданными настройками;
• просмотреть, импортировать или экспортировать хранимые в устройстве объекты (цифровые сертификаты, пароли, лицензии и т. );
• провести диагностику работы JaCarta.
Поддерживается работа с известными криптопровайдерами без установки дополнительного ПО, например, с КриптоПро CSP, Signal-COM CSP, ViPNet CSP и др. Возможности ПК «Единый Клиент JaCarta» могут быть расширены при активации платной опции JaCarta SecurLogon.
JaCarta SecurLogonПравить
Aladdin SecurLogon — решение, позволяющее осуществить простой и быстрый переход к двухфакторной аутентификации (2ФА) в Linux при входе в операционную систему и доступе к сетевым ресурсам по USB-токенам и смарт-картам JaCarta. Предназначено для быстрой установки и настройки 2ФА в Linux через графический интерфейс. Характеризуется гибкими возможностями настройки и различными сценариями применения. В рамках инфраструктуры открытых ключей (PKI) вход в систему происходит по ключу и сертификату на токене; этот сценарий поддерживает аутентификацию в различных электронных сервисах. В сценарии вне PKI решение генерирует сложные пароли для аутентификации пользователя на автоматизированном рабочем месте.
JaCarta Management System (JMS)Править
JMS — сертифицированная система централизованного управления жизненным циклом средств аутентификации и электронной подписи (смарт-картами и USB-токенами) JaCarta и аналогичными устройствами других производителей. Начиная с версии 4. 0 поддерживает также работу с защищёнными носителями информации (ЗНИ), средствами безопасной удалённой работы. Существуют версии на базе Windows и Linux.
Применение JMS позволяет автоматизировать типовые операции при работе с USB-токенами и смарт-картами, обеспечить гибкую настройку политик использования средствами информационной безопасности, безопасной удалённой работы, ЗНИ, а также дает возможность централизованно управлять средствами, которые могут быть использованы для реализации безопасного доступа.
JaCarta Authentication Server (JAS)Править
Характеризуется высокой производительностью – свыше 5,000 аутентификаций в секунду на одном сервере и отказоустойчивостью – возможна работа нескольких серверов JAS в одном кластере.
JC-WebClientПравить
JC-Mobile — программный комплекс для организации безопасного доступа к системам и сервисам компании с мобильных устройств. Позволяет обеспечить юридическую значимость подписываемых электронных документов и производимых операций.
Преимущества компании КриптоПро
Общество с ограниченной ответственностью «КриптоПро» существует с 2000 года. Основная деятельность ООО — разработка средств криптографической защиты информации (СКЗИ) и электронной цифровой подписи.
Среди главных преимуществ КриптоПро выделяют

Опыт работы компании в информационной безопасности. Программа широко распространена — бизнес обычно ставит КриптоПро в качестве стандартного софта для работы с ЭЦП

Совместимость КриптоПро с альтернативным софтом. Прочитать сертификат можно даже в том случае, если для его установки использовалось другое ПО. Компания предлагает версию КриптоПро для операционных систем Mac, Linux и Windows. Для корректного использования не нужны эмуляторы или другие дополнительные способы запуска софта

Консультации. Если пользователь ЭЦП не знает, как обращаться с софтом, можно проконсультироваться с техподдержкой криптопровайдера
Работа системы КриптоПро высоко оценена экспертами, поэтому разработчикам криптопровайдера было вручено множество наград и сертификатов. Количество достижений расширяется. Заинтересованные пользователи могут посмотреть дополнительную информацию у производителя криптографического софта.
Удаление сертификата[править]
Удалить сертификат c “CN=Иванов Иван Иванович” из хранилища КриптоПро:
Удалить сертификат c “CN=Иванов Иван Иванович” из контейнера:
Удалить все сертификаты из хранилища КриптоПро:
Удалить все сертификаты установленные в хранилище машины:
Поддержка КриптоПро различными платформамиПравить
Open Source библиотека OpenSSL обладает широкими криптографическими возможностями и удобным механизмом ее расширения другими криптоалгоритмами. OpenSSL является основным криптоядром для широкого спектра приложений Open Source.
После того, как в эту библиотеку компанией Криптоком были добавлены ГОСТы, появились патчи для «гостификации» многих популярных приложения, использующих OpenSSL. На базе OpenSSL некоторые вендоры разработали и сертифицировали СКЗИ, кроме того в ряд продуктов OpenSSL входит «неявным» образом.

СпецификацияOpenSSL API — один из де-факто стандартов для СПО
ПлатформыСемейство Windows, GNULinux, OS X, iOS, Android
Алгоритмы и криптографические протоколыЭЦП, шифрование, хэш-функция, имитозащита, HMAC, VKO;
TLS
Интеграция с PKIX. 509, PKCS#10, CMS, CRL, OCSP, TSP
Механизмы ЭЦПНативный программный интерфейс, Си-style;
Механизмы аутентификацииклиентская аутентификация в рамках TLS
собственные механизмы на базе ЭЦП случайных данных
Механизмы “гостирования” TLSTLS с российской криптографией поддержан в библиотеке (в случае использования OpenSSL в качестве браузерного криптодвижка)
TLS-прокси на базе OpenSSL (например, sTunnel)
Форматы защищенных сообщенийPKCS#7, CMS, XMLSec (при использовании с библиотекой www. aleksey. com/xmlsec, в том числе ГОСТ), S/MIME
Интеграция с браузеромЧерез TLS-прокси
Через проприетарные плагины
В Chromium OpenSSL один из возможных криптодвижков
Интеграция со службой каталоговOpenLDAP
Мобильные платформыiOS, Android
Команднострочная утилитаЕсть
Хранилища ключейФайлы, USB-токены
Взаимодействие с USB-токенамиХранилище ключей и сертификатов
Использование аппаратной реализации алгоритмов
Через PKCS#11
ПриложенияOpenVPN, Apache, sTunnel, Nginx, Postgre SQL, postfix, dovecot
Проприетарные приложения
Интеграция с фреймворкамиOpenSSL интегрирован в большое количество фреймворков (PHP, Python,. NET и др. ), но ГОСТа нет. Требуется выпускать патчи к фреймворкам
ИнсталляцияПрограмма установки, в целом не требуются права системного администратора
Копирование
Запуск использующих rкриптосредства приложений с FLASH-памяти USB-токена
Примеры (ГОСТ)МагПро КриптоПакет
ЛирССЛ
OpenSSL (несерт. )
OpenSSL + engine PKCS11_GOST + Рутокен ЭЦП
- OpenSSL и его аналоги не поддерживается приложениями Microsoft;
- Необходимость патчить СПО, которое поддерживает OpenSSL, для включения ГОСТов.
- Кроссплатформенность;
- Использование в огромном количестве проектов, открытые исходники большей части проекта — выявление и устранение уязвимостей (как пример, недавнее выявление heartbleed);
- Распространяется копированием — можно делать приложения, не требующие инсталляции;
- Широкий охват приложений СПО, на базе которых можно делать защищенные сертифицированные продукты;
- Широкая интеграция в фреймворки, но при этом проблемы с ГОСТами.
PKCS#11
Библиотека PKCS#11 предоставляет универсальный кроссплатформенный программный интерфейс к USB-токенам и смарт-картам.
Функции делятся на:
- Функции доступа к устройству;
- Функции записи/чтения произвольных данных;
- Функции работы с ключами (поиск, создание, удаление, импорт, экспорт);
- Функции работы с сертификатами (поиск, импорт, экспорт);
- Функции ЭЦП;
- Функции хэширования;
- Функции шифрования;
- Функции вычисления имитовставки;
- Функции выработки ключа согласования (Диффи-Хeллман);
- Функции экспорта/импорта сессионного ключа;
Таким образом, стандарт 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.
NSS
NSS представляет собой криптографическую библиотеку от сообщества Mozilla. NSS используется такими приложениями, как браузер Mozilla Firefox, почтовым клиентом Mozilla Thunderbird.
В данный момент существуют два проекта по «гостификации» NSS:
- Компания Лисси периодически публикует на своем сайте доступные для скачивания актуальные версии Mozilla Firefox и Mozilla Thunderbird, пересобранные с поддержкой российской криптографии. Кроме того, существует ряд продуктов этой компании, построенный на базе модифицированной библиотеки NSS — высокоуровневая библиотека NSSCryptoWrapper, плагин LCSignPlugin, десктопное приложение для ЭЦП под Android SignMaker-A.
Следует отметить, что модифицированный специалистами этой компании NSS позволяет использовать как программные PKCS#11-токены, так и аппаратные (Рутокен ЭЦП, eToken ГОСТ, JaCarta ГОСТ, MS_KEY). - Atoken — это open source проект компании R-Альфа. В рамках проекта создан программный PKCS#11-токен с российской криптографией и выложены патчи для определенной версии NSS и компонента Security Manаger, позволяющие использовать в продуктах Mozilla россиийскую криптографию (TLS, ЭЦП, PKI). Кроме того R-Альфа предлагает реализацию программного PKCS#11-токена с поддержкой сертифицированной библиотеки Агава-С под названием Агава-Про.
Библиотеки c собственным интерфейсом
Проприетарные библиотеки предоставляют собственный API для встраивания в приложения. В данный список можно внести:
- Агава-С
- Крипто-C
- Крипто-КОМ
- Руководство пользователя Системы Интернет-платежей Сбербанка России Архивная копия от 21 сентября 2004 на Wayback Machine(pdf)
- Требования к аппаратно-программному Обеспечению Клиента для работы ПО АС «Банк-Клиент» (BSS). Приложение № 1 (недоступная ссылка)(doc)
- Сертификаты ФСБ на продукты КриптоПро. Дата обращения: 14 сентября 2010. Архивировано 19 сентября 2010 года.
- СКЗИ КриптоПро CSP 5.0. Дата обращения: 17 июня 2019. Архивировано 17 июня 2019 года.
- Лицензионное соглашение с ООО “КРИПТО-ПРО” Архивная копия от 14 января 2018 на Wayback Machine
- КриптоПро – Поддержка ОС, аппратных платформ и отделяемых носителей. Дата обращения: 17 июня 2019. Архивировано 17 июня 2019 года.
- Инструменты КриптоПро – кроссплатформенный графический интерфейс. Дата обращения: 17 июня 2019. Архивировано 17 июня 2019 года.
Продукты КриптоПроПравить
- КриптоПро CSP 2.0
- КриптоПро CSP 2.0 Solaris
- КриптоПро CSP 3.0
- КриптоПро CSP 4.0
- Атликс HSM
- КриптоПро HSM
- КриптоПро JCP
- КриптоПро Sharpei
Средства криптографической защиты информации со смарткартами и USB ключами
- Магистра – CSP
- КриптоПро Рутокен CSP
- КриптоПро eToken CSP
Инфраструктура открытых ключейПравить
- Удостоверяющий центр КриптоПро УЦ
- КриптоПро TSP
- КриптоПро OCSP
- АРМ разбора конфликтных ситуаций
- КриптоПро Revocation Provider
- КриптоПро ЭЦП
- КриптоПро PDF
- Сервер электронной подписи КриптоПро DSS
Защита от несанкционированного доступа с использованием КриптоПро CSPПравить
- КриптоПро TLS
- КриптоПро Winlogon
- КриптоПро EAP-TLS
- КриптоПро IPSec
- КриптоПро NGate
- Secure Pack Rus
Программы и утилитыПравить
- Приложение командной строки cryptcp
- ЭЦП процессор
- cptools – графические инструменты КриптоПро
Как работает КриптоПро
Первым делом пользователь устанавливает КриптоПро на компьютер, чтобы пользоваться подписью. Программа обращается к сертификату на ПК, флешке, токенах или других носителях, потом завершает работу установкой подписи на документе. Электронная подпись не может корректно функционировать в условиях отсутствия закрытого ключа. Поэтому корректное использование КриптоПро заключается в том, что софт сначала проверяет сертификат, потом подтверждает, и только последняя стадия — шифровка и отправка документа.
Главные функции КриптоПро
Защита информации. Для сохранности ЭЦП её надо правильно зашифровать. С последней задачей корректно справляется указанный софт. Последний релиз добавил множество полезных функций относительно степени защиты информации. Такие вещи, как хэширование и имитозащита, существовали и в старых версиях. Тестирования, проведённыенезависимыми экспертами, показывают хороший результат
Создание ключей шифрования. Допускается использование разных типов носителей
Форммирование ПИН-кода. Эта функция используется, чтобы усложнить работу злоумышленнику и обеспечить пользователя дополнительной защитой

Защита информации от случайных или преднамеренных потерь. Последние версии КриптоПро показали надёжность софта

Защита от вредоносного кода, а также целенаправленного взлома
Кому нужна программа КриптоПро
Используют КриптоПро все, кому нужен криптографический сертификат для установки электронного реквизита в документ. Не обойтись без этой программы работникам на государственных площадках.
Законодатель определил требования для каждого участника производственного процесса на таких площадках. Обязательно нужен усиленный квалифицированный вариант. Для этого ставят КриптоПро даже в том случае, если предполагается работа всего с одного компьютера. Последние нововведения делают программу нужной в том числе тем, кто использует онлайн-кассы.
Сферы работы с электронным сертификатом со временем будут только увеличиваться.
Управление считывателями[править]
Просмотр доступных (настроенных) считывателей:
Инициализация считывателя HDIMAGE, если его нет в списке доступных считывателей (под правами root):
Считыватель HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/.
Для работы со считывателем PC/SC требуется пакет cprocsp-rdr-pcsc. После подключения считывателя можно просмотреть список видимых считывателей (не зависимо от того, настроены ли они в КриптоПро как считыватели, зависит только от того, какие установлены драйверы для считывателей):
Инициализация считывателя Aktiv Co. Rutoken S 00 00 (требуется, если считыватель есть в списке видимых считывателей и отсутствует в списке настроенных), в параметре -add указывается имя, которое было получено при просмотре видимых считывателей, в параметре -name — удобное для обращения к считывателю имя, например, Rutoken (под правами root):
Современные аппаратные и программно-аппаратные хранилища ключей, такие как Рутокен ЭЦП или eSmart ГОСТ, поддерживаются через интерфейс PCSC. За реализацию этого интерфейса отвечает служба pcscd, которую необходимо запустить перед началом работы с соответствующими устройствами:
Можно включить службу pcscd в автозапуск при загрузке системы:
Неправильный зарегистрированный набор ключей[править]
Код ошибки: 0x8009001A Может возникнуть в многопользовательской системе у второго и последующих пользователей из-за нарушения прав доступа к файлам в каталоге /var/opt/cprocsp/tmp.
Добавить в ACL отдельную запись для суперпользователя root:
Аппаратно-программные устройстваПравить
Антифрод-терминал в зависимости от способа интеграции в прикладное ПО может использоваться:
- Совместно со средством электронной подписи (USB-токеном, смарт-картой или программным СКЗИ) — для безопасного подтверждения ключевых данных, подписываемых электронных документов и безопасного ввода PIN-кода;
- Как самостоятельное устройство без использования средств ЭП — для безопасного подтверждения транзакций, намерений пользователя выполнить важные операции в системе и безопасного ввода аутентификационных данных (пароля, кода подтверждения).
Смарт-карт ридерыПравить
Смарт-карт ридер для работы с любыми типами контактных микропроцессорных смарт-карт.
Для работы с любыми контактными смарт-картами (MCU) стандарта ISO 7816 Part 1-3 Class A, B, C (5V, 3V, 1. 8V) используется смарт-карт ридер JCR721 Enterprise-класса, предназначенный для интенсивного использования в офисах, Удостоверяющих центрах (УЦ), МФЦ, медицинских учреждениях, на различных предприятиях. Имеет стандартный USB-разъём Type-A или Type-C.
Электронное удостоверениеПравить
Закрытые ключи к сертификатам находятся в /var/opt/cprocsp/keys.
Для экспорта сертификатов необходимо:
- Перенести ключи из на нужную машину в тот же каталог.
- Экспортировать сертификаты (их, количество можно определить, выполнив: certmgr -list, в примере сертификатов 3):
- Перенести файлы сертификатов (1.cer, 2.cer, 3.cer) на нужную машину.
- На машине, куда переносятся сертификаты, просмотреть какие контейнеры есть (должны появится контейнеры с первой машины):
- Связать сертификат и закрытый ключ:Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:Cannot install certificate
Public keys in certificate and container are not identical - Если закрытого ключа нет, то просто поставить сертификат:
Установка криптопро csp[править]
Архив с программным обеспечением (КриптоПро CSP 4. 0 R4 — сертифицированная версия, КриптоПро CSP 5. 0 — несертифицированная) можно загрузить после предварительной регистрации:
- linux-ia32.tgz (19,3 МБ, для i586) — для 32-разрядных систем (x86, rpm);
- linux-amd64.tgz (20,1 МБ, для x86_64) — для 64-разрядных систем (x64, rpm).
Внимание! По умолчанию при скачивании с сайта КриптоПро выдаётся лицензия на три месяца
Установите пакет cryptopro-preinstall:
Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).
Примечание: Пакет cryptopro-preinstall вытягивает зависимости libpangox-compat, opensc, pcsc-lite, pcsc-lite-rutokens, pcsc-lite-ccid, newt52.
Распакуйте архив, скачанный с официального сайта КриптоПро:
Таблица 1. Описание необходимых пакетов КриптоПро.
Установите пакеты КриптоПро:
Примечание: Для 32-битной версии вместо последнего пакета — lsb-cprocsp-rdr-4*
Примечание: Если возникнут проблемы с отображением контейнеров на Рутокен S — удалите pcsc-lite-openct
Примечание: Для установки cprocsp-rdr-jacarta может понадобиться предварительно удалить openct.
Также можно выполнить установку КриптоПро, запустив. /install_gui. sh в распакованном каталоге и выбрав необходимые модули:
Внимание! Пакеты КриптоПро после обновления утрачивают работоспособность, так что рекомендуется удалить все пакеты и установить их заново.
Для обновления КриптоПро необходимо:
- Запомнить текущую конфигурацию:
- Удалить штатными средствами ОС все пакеты КриптоПро:
- Установить аналогичные новые пакеты КриптоПро.
- При необходимости внести изменения в настройки (можно просмотреть diff старого и нового ).
- Ключи и сертификаты сохраняются автоматически.
ПрименениеПравить
Для создания электронной подписи файла необходимо указать сертификат и имя подписываемого файла.
Для создания прикрепленной (attached) электронной подписи выполните команду:
Примечание: Проще всего для указания сертификата использовать адрес e-mail.
На выходе появится файл zayavlenie. pdf. sig, содержащий как сам подписываемый файл, так и электронную подпись.
Для создания открепленной (detached) подписи необходимо заменить ключ -sign на -signf:
Тогда рядом с оригинальным файлом будет лежать файл подписи — zayavlenie. pdf. sgn.
Криптопро эцп browser plug-in[править]
Внимание! Последняя доступная версия плагина КриптоПро ЭЦП Browser plug-in 2. 0 требует КриптоПро 4. С более ранними версиями КриптоПро плагин не работает и конфликтует.
КриптоПро ЭЦП Browser plug-in предназначен для создания и проверки электронной подписи (ЭП) на веб-страницах с использованием СКЗИ «КриптоПро CSP».
Плагин проверки ЭЦП для браузера требует установленного КриптоПро CSP, пакета cprocsp-rdr-gui-gtk из его комплекта и расширения для браузера CryptoPro Extension for CAdES Browser Plug-in (для работы в Firefox версии 52 и выше).
Для установки плагина:
Работа с сертификатами в token-manager[править]
token-manager предоставляет графический интерфейс управления ключевыми носителями и сертификатами. С помощью этой программы можно:
- просматривать подключенные ключевые носители (токены);
- изменять PIN-код ключевого носителя;
- устанавливать, просматривать и удалять сертификаты;
- просматривать и устанавливать лицензию КриптоПро.






