Установка и настройка средств криптографической защиты информации иногда вызывает большие сложности, а тем более если не занимаешься этим постоянно и профессионально. Даже специалистам, часто требуется время по отработке и «обкатке» некого типового решения, прежде чем интегрировать его в некую систему, с учётом требований и особенностей рабочего процесса.
Немного теории:
- Криптография – наука о шифровании (преобразовании) данных, таким образом, что бы исключить возможность их восприятия (прочесть, прослушать, просмотреть), без обратного преобразования в «человекочитаемый» вид. (очень упрощенное определение)
- Криптопровайдер – специальное программное обеспечение, которое позволяет выполнять криптографические операции, управлять ими.
- Электронная подпись – аналогична рукописной подписи, но в цифровом мире, цель – обеспечить юридическую силу подписываемого документа.
- Сертификат электронной подписи – подтверждает принадлежность открытого ключа ЭП человеку или организации.
- Ключи есть открытые и закрытые. Закрытый – секретный – используется для генерации подписи и доступ к нему имеет только владелец подписи. Открытый – уникальная последовательность символов – нужен для проверки подлинности электронной подписи – доступен всем.
- Контейнер ЭП – хранит закрытый и открытый ключи, другую информацию – защищен кодом.
Так, при обмене информацией подписанной электронной подписью, осуществляется обмен открытыми ключами. Используя специальное программное обеспечение и открытые ключи – можно осуществить проверку подписи.
Существуют разные криптопровайдеры, с разным набором функций и сервисов, но базовые принципы защиты информации – похожи.
Требования к функционалу СКЗИ – средств криптографической защиты информации – отличаются. Влияют различные требования к ИБ- информационной безопасности, так и сфера применения: где и для чего?!. Функции СКЗИ: Шифрование и расшифровка, проверка целостности данных, управление ключами, электронная подпись и другие. В связи с чем необходим разный набор компонентов и модулей средств.
Про установку разного программного обеспечения (ПО), реализующего различные функции криптографической защиты данных – много информации, очень много и часто очень сложно и запутанно написано. Могут встречаться противоречия и неточности. (противоречия и неточности иногда связанны со стремительно изменяющимися функциями ПО, интерфейсом, доработкой, связанной с изменением стандартов и ГОСТов, устранением багов -ошибок на разных платформах)
О компании КриптоПро
Российская компания, которая занимается разработкой средств криптографической защиты информации. На их официальном сайте можно ознакомиться с большим выбором различного программного обеспечения. Однако, это разнообразие продуктов компании, может запутать человека, впервые оказавшегося на их сайте! Там представлено: самостоятельное, основное программное обеспечение, есть модули , есть дополнительное ПО, есть - кроссплатформенное, для виндовс и разных линукс операционных систем. Конечно, у них есть услуги по информационному и техническому сопровождению продуктов. Рекомендую скачивать и приобретать продукты на их оф. сайте или у партнёров компании.
О некоторых продуктах компании
Популярные продукты компании:
- Инструменты КриптоПро CSP (cptools) – кроссплатформенное приложение для управления функциями и настройками криптопровайдера;
- КриптоПро JCP (JCP 2.0) – средство, реализующее российские криптографические стандарты и интегрируется с архитектурой java;
- КриптоПро Java CSP – модуль выполняющие криптографические операции с использованием КриптоПро CSP.
То есть КриптоПро JCP и КриптоПро Java CSP – это разные продукты. И тот и другой доступны в разных операционных системах, в настоящее время.
КриптоПро JCP и КриптоПро Java CSP основные отличия
Что бы легко запомнить:
JCP – реализует криптографические алгоритмы самостоятельно, Java CSP – переадресует вызовы КриптоПро CSP. То есть, Java CSP не работает без КриптоПро CSP.
Java CSP – может быть нужен для работы с определенными типами носителей и считывателей, которые не поддерживает JCP. для реализации некоторых специфических решений на базе аппаратных модулей безопасности.
Работа с КриптоПро CSP и КриптоПро Java CSP в Linux
Надеюсь, данный раздел поможет тем, кому необходимо восстановить работоспособность электронной подписи, после получения новых компонентов или реализовать функции по применению электронной подписи для работы в государственных информационных системах, обмена электронной корреспонденцией.
Для работы ЭП в браузере - нужно настроить специальное расширение для браузера.
Контейнер и сертификат ЭП – это компоненты для создания и проверки электронной подписи, которые выдает аккредитованный удостоверяющий центр по запросу.
Имя контейнера может содержать только английские буквы и цифры (если он подписан с русским алфавитом – нужно переименовать)
Для примера я буду использовать ОС Альт Линукс 11 Рабочая Станция, которую я обновил перед работой. (забегая вперед скажу, что реализовать функции ЭП в Альт 11 стало проще, чем в Альт 8 СП, на пример. Система стала более гибкая. в моем случае ошибок, битых пакетов и других неприятных моментов не возникло)
Что бы реализовать работоспособность электронной подписи, с официального сайта КриптоПро я скачал следующие пакеты программного обеспечения:
-КриптоПро CSP 5.0.13003 (linux-amd64 инструменты)
-и Java-csp-5.0.42119A
-или можно jcp 2.0...
Так как мой токен от компании «Аладдин» - с их оф. сайта - скачал Единый клиент JaCarta (jacartauc 3.3.5.38) Он нужен для работы с отчуждаемым носителем электронной подписи (ЭП) – токен.
Многие не любят терминал линукс, но увы, нам он нужен!
Все действия в терминале выполняются от имени root – суперпользователя!
Что бы переключиться на root – команда: su
Далее. Нам нужна OpenJDK17 (17- это версия. Актуальны от 8 и выше версии) платформа – необходима для разработки и выполнения приложений на языке java. В нашем же случае для работы Java CSP.
Выполните команду: apt-get install java-17-openjdk -y
затем, установите библиотеку: apt-get install newt52
Отредактируйте файл расположенный в директории
Таким образом
security.provider.1=ru.CryptoPro.JCP.JCP
security.provider.2=ru.CryptoPro.reprov.RevCheck
security.provider.3=ru.CryptoPro.Crypto.CryptoProvider
Для установки скачанных выше пакетов, их необходимо распаковать (извлечь из архива).
Затем! От имени суперпользователя!
(вместо alt и моих версий ПО используйте имя и свои версии пакетов ПО, указывайте директорию где находится Ваша программа)
В терминале, на пример для установки клиента jacarta, я выполнил команду:
cd /home/alt/Загрузки/ jacartauc_3.3.5.38_rpm_x64/
cd /путь/ осуществляет переход в директорию с файлами программы.
В указанной Вами директории, с файлами программы, есть скрипт установки, который можно запустить выполнив команду: ./Install.sh и дождаться окончания процесса установки ПО.
Возможно, кажется сложно, но аналогичным способом осуществите установку КриптоПРО CSP! Только запустите скрипт ./Install_gui_sh
Как по мне, принцип простой: команда cd /путь/ является путем к месту, где располагается скрипт установки;
находясь в нужной директории пишите, на пример: ./ install.sh или ./Install_gui_sh то есть
./ точка и слэш в терминале перед именем скрипта - надежный способ запустить его.
Нужно быть внимательным при вводе команд и указании пути. И всё получится!
И внимание!
В графическом режиме установки КриптоПро CSP, перемещение между разделами осуществляется клавишей TAB, навигация- стрелками, подтверждение и продолжение – Enter, а выбор или отмена элементов – пробелом.
Когда появится окно, в котором необходимо выбрать устанавливаемые модули, важно выбрать модули под ваши задачи. НЕ выбирать вместе КС1 и КС2.
В моём случае необходимый набор модулей выглядит так, как на скрин ниже. пример
После выбора компонентов - жмете Далее. Далее. Ок. Выйти. А лицензию можно ввести позже.
После установки ПО, нужно перезагрузить компьютер.
Осуществите установку личного сертификата, корневых, промежуточных и обновите списки отозванных. (Корневые и промежуточные сертификаты предоставляет УЦ - удостоверяющий центр или указывает ресурсы откуда их можно скачать! ) А отозванные тут Качайте .crl
Однако, всё это можно сделать позже! А пока...
Создание электронной подписи на отчуждаемом носителе
Для работы с компонентами подписи, их необходимо переместить в директорию как на скрин (укажите Ваше имя пользователя, не alt. Ваш сертификат и Контейнер будут иметь другие имена)
/var/opt/cprocsp/keys/alt
Для запуска Java CSP Криптопро выполните переход в директорию размещения файлов программы, на пример
cd /home/alt/Загрузки/java-csp-5.0.42119-A
и запустите
./ControlPane.sh /usr/lib/jvm/java-17-openjdk
/usr/lib/jvm/java-17-openjdk - это путь к компонентам java, установку которых мы осуществили ранее!
Обязательно после
./ControlPane.sh / укажите Ваш путь к компонентам java/
Если на этапе установки, не был включен усиленный контроль использования ключей, обязательно, включите его в разделе “Дополнительно “
И перезапустите программу! Выполните действия для генерации случайной последовательности. (мышкой шевелите пока программа просит) Использовать ПО без включенного режима - нельзя.
Укажите путь к хранилищу в вкладке “Оборудование”
/var/opt/cprocsp/keys/ имя
В интерфейсе программы, раздел Хранилище ключей и сертификатов - HDImageStore -будет отображаться Ваш Контейнер ЭП, который вы ранее скопировали в /var/opt/cprocsp/keys/
Для добавления сертификата.
Двойным щелчком левой кнопки мыши- по значку контейнера- введите пин от контейнера, далее выделите Ключи обмена и сертификат! В окне программы Нажмите Добавить, перейдите в директорию где сохранен Ваш сертификат - Открыть. Так вы добавите свой сертификат в контейнер ЭП скрин ниже
Теперь контейнер можно скопировать на токен в вкладке Контейнер. При копировании контейнера будет запрошена смена кода. Измените пин-код. Иначе будет появляться ошибка.
Информацию о токен можно просмотреть в разделе - на скрин ниже.
Если токен не отображается - можно перезапустить ПО с уже подключенным в usb устройством.
Перед копированием ЭП на токен, рекомендую, подготовить его в специальном ПО. На пример - отформатировать.
Аналогичным образом можно осуществить запуск JCP 2.0 и провести аналогичную работу с компонентами подписи.
Так Вы получаете электронную подпись на отчуждаемом носителе!
Храните его надежно, носитель с подписью, не передавайте третьим лицам, не сообщайте защитный код
Всем удачи!
Подписывайтесь на канал. Пишите комментарии, где вместе разберемся с возникшими вопросами по теме.