Как я настраивал новые утилиты по работе с ЭП в Linux / Публикации / Пресс-центр / Компания «Актив»

Как я настраивал новые утилиты по работе с ЭП в Linux / Публикации / Пресс-центр / Компания «Актив» ЭЦП

Rosa crypto tool

Как следует из названия, это утилита для работы с электронной подписью и шифрованием для дистрибутива ROSA Linux. В данный момент утилита доступна в репозиториях Rosa Linux и Alt Linux.

Эта утилита разрабатывается одним человеком — Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке — с ноября 2022 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2.

Что внутри? Утилита написана на Python с использованием PyQt4 для графического интерфейса. Установить ее можно, использовав «Управление программами» в Rosa Linux.

Вставляем токен и запускаем утилиту.

Видим, что токен определился успешно и был найден наш сертификат.

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

Выбираем файл и жмем «Подписать файл». Получаем вот такое предупреждение.

Нажимаем «OK» и получаем информацию о том, что файл был подписан успешно.

Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта. Также, по сравнению с использованием «КриптоПро CSP» из консоли, проодукт порядок проще в использовании. Главный недостаток — отсутствуют различные параметры подписи.

Исходный код программы доступен в публичном репозитории на ABF. Система контроля версий, которую использует «НТЦ ИТ РОСА», интегрирована в сборочную среду и базируется на Git. Можно вполне использовать любой клиент git. Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.

Trusted esign

Второй продукт, про который мы поговорим, это Trusted eSign от компании «Цифровые технологии». Она известна на российском рынке ИБ как разработчик средства по работе с подписью и шифрованием для ОС Windows — КриптоАРМ. Главное, не путать этот продукт с Trusted.eSign — web-сервисом по работе с подписью этой же компании.

Найти продукт на сайтах компании «Цифровые технологии» непросто. Небольшое описание есть

Госуслуги

Основной по своей значимости портал для взаимодействия с государственными органами. Для входа на Госуслуги в Linux можно использовать только аппаратные ключи (токены), криптопровайдеры не поддерживаются. Поэтому если вам нужны только Госуслуги, то Крипто-Про вам устанавливать не нужно.

e-sign-linux-002.pngСистема корректно распознает текущую ОС и автоматически предлагает к скачиванию нужную версию плагина в виде DEB-пакета. Но не будем спешить с его установкой, для работы с токенами нам потребуется установить дополнительные библиотеки, в частности pcscd:

apt install pcscd

Если вы используете токены, то мы рекомендуем установить данную библиотеку вне зависимости от того, будете ли вы использовать Госуслуги или нет, она вам потребуется для работы с аппаратным ключом.

Затем откройте терминал в директории со скачанным плагином, повысьте права до суперпользователя и установите его командой:

dpkg -i IFCPlugin-x86_64.deb

Перезапустите браузер и снова попробуйте войти на портал Госуслуг, в этот раз все должно увенчаться успехом.

Настройка криптопро csp

Несмотря на то, что есть несколько неплохих статей по настройке КриптоПро CSP под Linux (например,

или 

), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия КриптоПро CSP 4.0 не является 100% совместимой с 3.x. Дополнительная причина — всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.

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

tar -zxf ./linux-amd64_deb.tgz 

Далее у нас есть 2 варианта: автоматическая установка и установка вручную. Автоматическая установка запускается командой sudo ./install.sh или  sudo ./install_gui.sh .

Здесь надо отдать должное разработчикам «КриптоПро» — автоматическая установка для большинства дистрибутивов отрабатывает успешно. Хотя бывают и нюансы. Например, если у вас не хватает некоторых пакетов, то установка будет успешно завершена, хотя некоторый функционал работать не будет.

Если что-то пошло не так, или вы по тем или иным причинам хотите использовать установку в ручном режиме, то вам необходимо выполнить:

dpkg -i ./cprocsp-curl-64_4.0.0-4_amd64.deb lsb-cprocsp-base_4.0.0-4_all.deb lsb-cprocsp-
capilite-64_4.0.0-4_amd64.deb lsb-cprocsp-kc1-64_4.0.0-4_amd64.deb lsb-cprocsp-rdr-64_4.0
.0-4_amd64.deb 

Для установки пакетов в ROSA используйте urpmi , вместо dpkg -i .

Устанавливаем лицензию для «КриптоПро CSP» для Linux и проверяем, что все работает нормально:

cpconfig -license -set 
cpconfig -license –view 

Мы должны получить что-то вроде:

License validity:
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Expires: 3 month(s) 2 day(s)
License type: Server. 

Настройка работы с рутокен эцп 2.0

Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей — один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало.

Для работы с токенами в ОС Linux есть масса различных средств и драйверов. Для описания всех этих средств понадобится отдельная статья. Поэтому я не буду подробно описывать, как это работает, и почему нам нужны именно эти пакеты.

Устанавливаем пакеты для работы с Рутокен ЭЦП 2.0:

apt-get install libpcsclite1 pcscd libccid 

Нам также необходимо установить пакеты КриптоПро CSP для поддержки работы с токенами:

dpkg -i ./cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb ./cprocsp-rdr-rutoken-64_4.0.0-4_amd64
.deb ./cprocsp-rdr-pcsc-64_4.0.0-4_amd64.deb ./lsb-cprocsp-pkcs11-64_4.0.0-4_amd64.deb

Подпись средствами «криптопро csp»

В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка: Отсутствие хорошей документации и отсутствие графического интерфейса.

Подписать можно с помощью команды:

csptestf –sfsign –sign –in  -out  -my ‘Trusted eSign Test’ –detache
d –alg GOST94_256 

Здесь:

  • my — параметр, в котором надо указать часть Common Name сертификата для подписи;
  • detached — позволяет создать открепленную подпись;
  • alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.

Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:

Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.

Поговорим теперь об утилитах, которые облегчают жизнь обычным пользователям при работе с подписью и шифрованием в Linux.

Получаем тестовый сертификат

Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.

Воспользуемся тестовым УЦ компании «КриптоПро». Создаем запрос на сертификат с параметрами по умолчанию.

Проверим, что сертификат получен успешно. Чтобы убедиться, что «КриптоПро CSP» успешно увидел токен, выполним:

Мы должны получить что-то вроде:

Теперь проверяем, что сертификат на токене видится успешно:

csptest -keyset -enum_cont -verifyc -fq 

Получаем:

CSP (Type:80) v4.0.9014 KC1 Release Ver:4.0.9842 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 13476867
\.Aktiv Rutoken ECP 00 00822506788-dfcd-54c9-3a5e-e0a82a2d7f0
OK.
Total: SYS: 0,020 sec USR: 0,160 sec UTC: 0,870 sec
[ErrorCode: 0x00000000] 

Записываем в хранилище сертификатов КриптоПро информацию об этом сертификате:

csptestf -absorb -cert -pattern ‘rutoken’
Match: SCARDrutoken_ecp_351d6671A0062AC
OK.
Total: SYS: 0,010 sec USR: 0,140 sec UTC: 1,040 sec
[ErrorCode: 0x00000000] 

Проверим, что сертификат успешно сохранился в хранилище:

На этом основная настройка завершена, и мы можем начинать подписывать или шифровать файлы с использованием различных средств. Переходим к тому, зачем задумывалась эта статья.

Резюме

Подведем итог. В конце 2022 — начале 2022 года наметился неплохой прогресс в средствах по работе с электронной подписью под Linux. Информационная безопасность начинает поворачиваться к пользователю лицом, и с каждым годом требуется все меньше действий для такого простого действия, как подписать или зашифровать файл с использованием отечественных алгоритмов.

Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux.

Такое развитие не может не радовать, особенно когда это происходит под Linux.

P. S. Наверняка есть немало пользователей, особенно пользователей Linux, кто считает, что консольных утилит достаточно. А также специалистов по информационной безопасности, которые считают, что дизайн и удобство — излишество в ИБ. Но я не могу с ними согласиться.

Установка крипто-про

Крипто-Про самый распространенный и популярный отечественный криптопровайдер. Это коммерческое ПО и для установки вам понадобится серийный номер, без него будет активирована триальная версия на три месяца. Обычно лицензия на Крипто-Про выдается вместе с ЭЦП, либо использующим его ПО (например, система сдачи отчетности), поэтому если вы затрудняетесь найти лицензию, то обратитесь к своему поставщику ЭЦП.

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

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

e-sign-linux-005.pngофициального сайта, нажав на ссылку в правой колонке.

Оцените статью
ЭЦП64
Добавить комментарий