Добавить в корзинуПозвонить
Найти в Дзене
КБИТ ЗАЩИТЫ

Использование КриптоПро CSP и Java CSP для ЭП в Альт Линукс 11

Установка и настройка средств криптографической защиты информации иногда вызывает большие сложности, а тем более если не занимаешься этим постоянно и профессионально. Даже специалистам, часто требуется время по отработке и «обкатке» некого типового решения, прежде чем интегрировать его в некую систему, с учётом требований и особенностей рабочего процесса.
Немного теории:
- Криптография – наука о
Оглавление

Установка и настройка средств криптографической защиты информации иногда вызывает большие сложности, а тем более если не занимаешься этим постоянно и профессионально. Даже специалистам, часто требуется время по отработке и «обкатке» некого типового решения, прежде чем интегрировать его в некую систему, с учётом требований и особенностей рабочего процесса.

Немного теории:

- Криптография – наука о шифровании (преобразовании) данных, таким образом, что бы исключить возможность их восприятия (прочесть, прослушать, просмотреть), без обратного преобразования в «человекочитаемый» вид. (очень упрощенное определение)

- Криптопровайдер – специальное программное обеспечение, которое позволяет выполнять криптографические операции, управлять ими.

- Электронная подпись – аналогична рукописной подписи, но в цифровом мире, цель – обеспечить юридическую силу подписываемого документа.

- Сертификат электронной подписи – подтверждает принадлежность открытого ключа ЭП человеку или организации.

- Ключи есть открытые и закрытые. Закрытый – секретный – используется для генерации подписи и доступ к нему имеет только владелец подписи. Открытый – уникальная последовательность символов – нужен для проверки подлинности электронной подписи – доступен всем.

- Контейнер ЭП – хранит закрытый и открытый ключи, другую информацию – защищен кодом.

Так, при обмене информацией подписанной электронной подписью, осуществляется обмен открытыми ключами. Используя специальное программное обеспечение и открытые ключи – можно осуществить проверку подписи.

Существуют разные криптопровайдеры, с разным набором функций и сервисов, но базовые принципы защиты информации – похожи.

Требования к функционалу СКЗИ – средств криптографической защиты информации – отличаются. Влияют различные требования к ИБ- информационной безопасности, так и сфера применения: где и для чего?!. Функции СКЗИ: Шифрование и расшифровка, проверка целостности данных, управление ключами, электронная подпись и другие. В связи с чем необходим разный набор компонентов и модулей средств.

Про установку разного программного обеспечения (ПО), реализующего различные функции криптографической защиты данных – много информации, очень много и часто очень сложно и запутанно написано. Могут встречаться противоречия и неточности. (противоречия и неточности иногда связанны со стремительно изменяющимися функциями ПО, интерфейсом, доработкой, связанной с изменением стандартов и ГОСТов, устранением багов -ошибок на разных платформах)

О компании КриптоПро

Российская компания, которая занимается разработкой средств криптографической защиты информации. На их официальном сайте можно ознакомиться с большим выбором различного программного обеспечения. Однако, это разнообразие продуктов компании, может запутать человека, впервые оказавшегося на их сайте! Там представлено: самостоятельное, основное программное обеспечение, есть модули , есть дополнительное ПО, есть - кроссплатформенное, для виндовс и разных линукс операционных систем. Конечно, у них есть услуги по информационному и техническому сопровождению продуктов. Рекомендую скачивать и приобретать продукты на их оф. сайте или у партнёров компании.

О некоторых продуктах компании

Популярные продукты компании:

- Инструменты КриптоПро 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

Отредактируйте файл расположенный в директории

-2

Таким образом

Добавьте эти строки
Добавьте эти строки
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.

В моём случае необходимый набор модулей выглядит так, как на скрин ниже. пример

-5

После выбора компонентов - жмете Далее. Далее. Ок. Выйти. А лицензию можно ввести позже.

После установки ПО, нужно перезагрузить компьютер.

интерфейс установленной программы
интерфейс установленной программы

Осуществите установку личного сертификата, корневых, промежуточных и обновите списки отозванных. (Корневые и промежуточные сертификаты предоставляет УЦ - удостоверяющий центр или указывает ресурсы откуда их можно скачать! ) А отозванные тут Качайте .crl

-7

Однако, всё это можно сделать позже! А пока...

Создание электронной подписи на отчуждаемом носителе

Для работы с компонентами подписи, их необходимо переместить в директорию как на скрин (укажите Ваше имя пользователя, не alt. Ваш сертификат и Контейнер будут иметь другие имена)

/var/opt/cprocsp/keys/alt

-8

Для запуска 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/

так выглядит окно настроек
так выглядит окно настроек

Если на этапе установки, не был включен усиленный контроль использования ключей, обязательно, включите его в разделе “Дополнительно “

-10

И перезапустите программу! Выполните действия для генерации случайной последовательности. (мышкой шевелите пока программа просит) Использовать ПО без включенного режима - нельзя.

Укажите путь к хранилищу в вкладке “Оборудование”

/var/opt/cprocsp/keys/ имя

-11

В интерфейсе программы, раздел Хранилище ключей и сертификатов - HDImageStore -будет отображаться Ваш Контейнер ЭП, который вы ранее скопировали в /var/opt/cprocsp/keys/

-12

Для добавления сертификата.

Двойным щелчком левой кнопки мыши- по значку контейнера- введите пин от контейнера, далее выделите Ключи обмена и сертификат! В окне программы Нажмите Добавить, перейдите в директорию где сохранен Ваш сертификат - Открыть. Так вы добавите свой сертификат в контейнер ЭП скрин ниже

-13
Теперь контейнер можно скопировать на токен в вкладке Контейнер. При копировании контейнера будет запрошена смена кода. Измените пин-код. Иначе будет появляться ошибка.
-14
выделите контейнер щелчком мыши, нажмите Копировать и в окне- ваш токен - ок
выделите контейнер щелчком мыши, нажмите Копировать и в окне- ваш токен - ок

Информацию о токен можно просмотреть в разделе - на скрин ниже.

-16

Если токен не отображается - можно перезапустить ПО с уже подключенным в usb устройством.

Перед копированием ЭП на токен, рекомендую, подготовить его в специальном ПО. На пример - отформатировать.

В моём случае это ПО Аладдин.
В моём случае это ПО Аладдин.

Аналогичным образом можно осуществить запуск JCP 2.0 и провести аналогичную работу с компонентами подписи.

Так Вы получаете электронную подпись на отчуждаемом носителе!

Храните его надежно, носитель с подписью, не передавайте третьим лицам, не сообщайте защитный код

Всем удачи!

Подписывайтесь на канал. Пишите комментарии, где вместе разберемся с возникшими вопросами по теме.