����������, ������, �������
22.03.2017
Андрей Селедкин

Как настроить утилиты по работе с электронной подписью в Linux

Количество просмотров: 27453

Вернуться к списку статей

Наши коллеги из компании «Актив» подготовили и разместили в своем блоге на Хабре интересный кейс по программным средствам для создания и проверки электронной подписи на операционных системах. Получился интересный обзор, полезный, на наш взгляд, не только программистам. К тому же в статье немного упоминается и о приложении «Trusted eSign», представленном в нашем интернет-магазине. Публикуем текст статьи в полном объеме.

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

Такое положение вещей сохранялось последние несколько лет. Но с конца 2016 года ситуация изменилась в лучшую сторону. Появилось сразу два продукта, которые позволяют работать с электронной подписью по стандарту ГОСТ и шифрованием без использования консоли – это Rosa Crypto Tool и Trusted eSign. Оба эти продукта для работы с криптографией используют «КриптоПро CSP» для Linux. Поэтому, перед тем как обратиться к описанию самих продуктов, поговорим немного про «КриптоПро CSP».

«КриптоПро CSP» под Linux — неоднозначный продукт. С одной стороны, это одно из самых распространенных и мощных сертифицированных средств по работе с криптографией как в Windows, так и в Linux. С другой стороны, для простого человека пользоватся его интерфейсами даже в Windows не так-то просто. А в Linux доступен только консольный интерфейс. Надеюсь, что компания «КриптоПро» в курсе этой ситуации, и в будущем нас ждут новые красивые и удобные интерфейсы, как для Windows, так и для Linux.

Для настройки нам понадобится:

  • Любимый дистрибутив Linux. Я использовал Ubuntu Linux 16.04 LTS и ROSA Fresh GNOME R8;
  • Сертифицированная версия КриптоПро CSP 4.0 R2 для Windows, UNIX и macOS;
  • Рутокен ЭЦП 2.0.

Настройка «КриптоПро» CSP

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

Приступаем к настройке.

Скачиваем «КриптоПро CSP» для Linux с официального сайта КриптоПро — www.cryptopro.ru/downloads

Распаковываем «КриптоПро 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

Сделаем небольшое отступление. Для работы с электронной подписью и шифрованием нам не обойтись без ключевых пар и сертификатов. Надежное хранение закрытых ключей – один из основных факторов безопасности. А более надежных средств хранения, чем токен или смарт-карта, человечество пока не придумало. Я буду использовать Рутокен ЭЦП 2.0, который имеет сертификат ФСБ и поддерживает работу как с новыми, так и со старыми ГОСТами.

 Рутокен ЭЦП 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

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

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

Воспользуемся тестовым УЦ компании «КриптоПро» по адресу — https://www.cryptopro.ru/certsrv/
Создаем запрос на сертификат с параметрами по умолчанию.

Получение тестового сертификата

Проверим, что сертификат получен успешно.

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

list_pcsc

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

Aktiv Rutoken ECP 00 00

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

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 00\822506788-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: SCARD\rutoken_ecp_351d6671\0A00\62AC
OK.
Total: SYS: 0,010 sec USR: 0,140 sec UTC: 1,040 sec
[ErrorCode: 0x00000000]

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

certmgr -list -cert -store uMy

Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores


=============================================================================
1-------
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject : CN=Trusted eSign Test
Serial : 0x120019F5D4E16D75F520A0299B00000019F5D4
SHA1 Hash : 0x016f443df01187d5500aff311ece5ea199ff863e
SubjKeyID : 204e94f63c68595e4c521357cf1d9279bff6f6e5
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 22/02/2017 10:53:16 UTC
Not valid after : 22/05/2017 11:03:16 UTC
PrivateKey Link : Yes
Container : SCARD\rutoken_ecp_351d6671\0A00\62AC
Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0
CA cert URL : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt
OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl
Extended Key Usage : 1.3.6.1.5.5.7.3.2
=============================================================================

[ErrorCode: 0x00000000]

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

Подпись средствами «КриптоПро CSP»

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

  • Отсутствие хорошей документации;
  • Отсутствие графического интерфейса.

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

csptestf –sfsign –sign –in <имя файла> -out <имя файла> -my ‘Trusted eSign Test’ –detached –alg GOST94_256

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

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

csptestf –sfsign

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

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

Rosa Crypto Tool

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

Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2016 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2. Сейчас утилита поддерживает работу только с «КриптоПро CSP» для Linux, однако в ближайшее время будет добавлена поддержка других криптопровайдеров.

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

Установить ее можно, использовав «Управление программами» в Rosa Linux.

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

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

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

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

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

Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта.

По сравнению с использованием «КриптоПро CSP» из консоли:

+ На порядок проще использовать
− Отсутствуют различные параметры подписи

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

Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.

Trusted eSign

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

Главное, не путать этот продукт с Trusted.eSign – web-сервисом по работе с подписью этой же компании.

Найти продукт на сайтах компании «Цифровые технологии» непросто. Небольшое описание есть в магазине http://www.cryptoarm.ru/shop/trusted_esign, продукт также можно скачать в разделе «Центр загрузки» на сайте trusted.ru — https://trusted.ru/support/downloads/?product=133

К сожалению, продукт пока доступен только в виде deb пакета для 64-битных систем. С чем связано такое ограничение, непонятно. Будем надеяться, что в ближайшее время компания выпустит и rpm пакет, а также версии для 32-битных дистрибутивов Linux.

Скачиваем с официального сайта deb-пакет и устанавливаем командой:

dpkg –i ./trustedesign-x64.deb

Сразу видно, что разработка не обошлась без дизайнера. Никакого сарказма. Все действия делаются просто и логично, а внешний вид радует глаз. К сожалению, большинство средств и программ в области ИБ от российских разработчиков разработаны без привлечения UX-специалистов и дизайнеров и заставляют своих пользователей страдать и плакать кровавыми слезами. Создается впечатление, что другими средства информационной безопасности просто не могут быть. «Цифровые технологии» опровергают это. Плата за красоту и удобство – необходимость платить за лицензию.

Но вернемся к подписи.

Выбираем раздел «Электронная подпись»:

Выбираем «Сертификат для подписи»:

Выбираем файлы для подписи и жмем «Подписать»:

Что под капотом? Процитирую с сайта: “Приложение создано на современном движке Electron, для вызова криптографических операций применяется библиотека OpenSSL. Совместимо с СКЗИ “КриптоПро CSP 4.0” и поддерживает все криптографические алгоритмы, реализованные в нем.” Для тех, кто ещё не в курсе Electron — это фреймворк для создания десктопных приложений на платформе node.js.

Сравним Trusted eSign с Rosa crypto tool:

+ Более удобный и красивый интерфейс
− Платная лицензия

Резюме

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

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

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

P.S.

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

Оригинал статьи на Хабре - ссылка.


Вернуться к списку статей
22.06.2021 09:00:00
КриптоАРМ ГОСТ сертифицирован в составе КриптоПро CSP 5.0 R2

Количество просмотров: 245

Мы рады сообщить вам, что КриптоАРМ ГОСТ сертифицирован в составе КриптоПро CSP 5.0 R2. Об особенностях обновления КриптоАРМ ГОСТ до сертифицированной версии читайте в нашем пресс-релизе.

02.04.2021 09:00:00
Безопасность ключей в КриптоАРМ ГОСТ

Количество просмотров: 573

В мобильном приложении «КриптоАРМ ГОСТ» ключи электронной подписи могут размещаться и храниться по-разному: в самом приложении, на сервере удостоверяющего центра, на внешнем отчуждаемом носителе. В этой статье расскажем о всех трех вариантах, их преимуществах и уровне безопасности.

11.11.2020 09:00:00
Фрилансеру. Как правильно заключить электронный договор с заказчиком

Количество просмотров: 1815

В условиях мировой пандемии фриланс стал очень популярным явлением, но всегда ли можно рассчитывать на честность заказчика? Будет ли ваш клиент вносить правки, не входящие в первоначальное задание? Как защитить себя в случае возникновения спорных ситуаций?

26.10.2020 09:40:00
Новое решение КриптоАРМ Сервер для автоматизации применения электронной подписи и шифрования в информационных системах

Количество просмотров: 1190

Компания «Цифровые технологии» выпустила новый продукт КриптоАРМ Сервер 1.0. Данное решение предназначено для автоматизации проверки электронной подписи, поступающих на сервер электронных документов, а также, для автоматического формирования подписи на документах, генерируемых сервером, к примеру, на квитанциях о получении, выписках.

22.09.2020 09:10:11
Электронный отчёт об оценке имущества

Количество просмотров: 1342

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

Показать еще
17.01.2018 14:22:38
Цифровые технологии вошли в состав ТК 159

Количество просмотров: 2532

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

17.11.2017 09:00:00
Криптозащита высшего уровня: ESMART® Token ГОСТ сертифицирован по классу КС3

Количество просмотров: 3580

ESMART® Token ГОСТ производства группы компаний ISBC на базе микросхемы ПАО «Микрона» сертифицировано ФСБ России по классу защиты КС3 на соответствие требованиям безопасности для средств криптографической защиты информации (СКЗИ) в форм-факторах смарт-карты и USB-токена.

07.04.2017 16:10:00
В России разрабатывают технологию квантовой криптографии

Количество просмотров: 4343

В 2019 году в России должна появиться технология квантовой криптографии для быстрых каналов связи и необходимое для этого оборудование. Минобрнауки выделило на эти цели 140 млн рублей.  Квантовые технологии могут вывести защиту данных на новый уровень.

29.01.2013
Шифр Энигмы разгадать – не поле перейти!

Количество просмотров: 6629

Когда создатели первой шифровальной машины Enigma ломали головы, как  усложнить шифрование данных, они не подозревали, что древние спартанцы делали то же самое, используя металлический жезл, обернутый пергаментом. Между двумя открытиями «уместилась» история всего человечества, а люди все шифруют и шифруют. А другие расшифровывают!

Показать еще
02.04.2021 09:00:00
Безопасность ключей в КриптоАРМ ГОСТ

Количество просмотров: 573

В мобильном приложении «КриптоАРМ ГОСТ» ключи электронной подписи могут размещаться и храниться по-разному: в самом приложении, на сервере удостоверяющего центра, на внешнем отчуждаемом носителе. В этой статье расскажем о всех трех вариантах, их преимуществах и уровне безопасности.

23.03.2021 10:30:00
КриптоАРМ ГОСТ поддерживает смарт-карту Рутокен ЭЦП 3.0 NFC

Количество просмотров: 671

Компания «Цифровые технологии» сообщает о выпуске новой версии мобильного приложения КриптоАРМ ГОСТ с поддержкой смарт-карты Рутокен ЭЦП 3.0 NFC. Теперь чтобы подписать документ электронной подписью, достаточно поднести к телефону смарт-карту и ввести пин-код. Процесс похож на привычную многим оплату покупок банковской картой в терминалах супермаркетов.

26.11.2019 06:11:31
Компании «Актив» и «Цифровые технологии» объявили об успешном тестировании последних версий своих продуктов

Количество просмотров: 1569

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

13.10.2015 11:45:00
Защита авторского контента в интернет-СМИ с помощью решения Рутокен Web

Количество просмотров: 4618

Интернет-издание Федерального собрания РФ «Парламентская газета» внедрила двухфакторную аутентификацию для доступа к авторским аккаунтам.

Показать еще
12.02.2018 13:40:54
Приложение для работы с электронной подписью Trusted eSign совместимо с ОС семейства Альт

Количество просмотров: 3714

Компания ООО «Цифровые технологии», разработчик и поставщик программного обеспечения в области криптографической защиты информации, и компания «Базальт СПО» завершили тестирование приложения Trusted eSign на совместимость с операционными системами семейства Альт.

31.08.2017 13:28:55
Подтверждена корректность работы Trusted eSign с СКЗИ «КриптоПро CSP»

Количество просмотров: 3613

Специалисты компаний ООО «Цифровые технологии» и ООО «КРИПТО-ПРО» провели испытания приложения Trusted eSign и средства криптографической защиты информации (СКЗИ) «КриптоПро CSP» 4.0

04.05.2017 15:48:15
Решения Trusted eSign и Trusted TLS включены в реестр отечественного ПО

Количество просмотров: 2964

Компания «Цифровые технологии» сообщает о включении Trusted eSign, программы для электронной подписи на платформах Linux и Mac, и решения для организации защищенных каналов связи Trusted TLS в «Единый реестр российских программ для электронных вычислительных машин и баз данных».

12.04.2017 17:16:00
Электронная подпись на Linux и Mac становится доступней

Количество просмотров: 5762

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

Показать еще
13.10.2020 09:02:00
Подтверждена совместимость КриптоАРМ с РОСА Linux

Количество просмотров: 801

Компании «Цифровые технологии» и «НТЦ ИТ РОСА» в рамках партнерства завершили тестирование совместимости своих решений.
В ходе проведенных испытаний подтверждена работоспособность приложений КриптоАРМ ГОСТ и КриптоАРМ ViPNet на операционных системах:
РОСА «КОБАЛЬТ», сертифицированной ФСТЭК;  
ROSA ENTERPRISE LINUX в клиентском и серверном вариантах;,
ROSA Enterprise Desktop.

11.08.2020 11:52:48
«Энстрим» и «Цифровые технологии» объявили о совместимости программных продуктов

Количество просмотров: 899

«Энстрим» и «Цифровые технологии» объявили об успешном завершении тестирования своих продуктов: универсальная программа для шифрования и электронной подписи файлов КриптоАРМ ГОСТ разработки компании «Цифровые технологии» с операционными системами на платформе «Лотос» компании «Энстрим».

25.06.2020 17:40:39
КриптоАРМ VipNet — средство электронной подписи для защищенных сетей VipNet

Количество просмотров: 10553

В апреле 2020 года компания «Цифровые технологии» сообщила о выпуске нового приложения для подписи и шифрования электронных документов КриптоАРМ ViPNet.  Мы подготовили для вас небольшой обзор по данной программе.

22.05.2020 11:03:37
КриптоАРМ ГОСТ и операционная система РЕД совместимы

Количество просмотров: 1216

Компании «Цифровые технологии» и «РЕД СОФТ» в рамках партнерства провели тестирование на совместимость своих продуктов. Разработчики подтвердили полноценную и бесперебойную работу программы «КриптоАРМ ГОСТ» на операционной системе РЕД ОС.

10.07.2019 14:05:19
КриптоАРМ ГОСТ совместим с ОС семейства «Альт»

Количество просмотров: 1603

Компании «Базальт СПО» и «Цифровые технологии» объявили об успешном тестировании последних версий своих продуктов: ПО «КриптоАРМ ГОСТ» и операционных систем Альт Рабочая станция 8, Альт Рабочая станция К 8, Альт 8 СП.

Показать еще
13.10.2020 09:02:00
Подтверждена совместимость КриптоАРМ с РОСА Linux

Количество просмотров: 801

Компании «Цифровые технологии» и «НТЦ ИТ РОСА» в рамках партнерства завершили тестирование совместимости своих решений.
В ходе проведенных испытаний подтверждена работоспособность приложений КриптоАРМ ГОСТ и КриптоАРМ ViPNet на операционных системах:
РОСА «КОБАЛЬТ», сертифицированной ФСТЭК;  
ROSA ENTERPRISE LINUX в клиентском и серверном вариантах;,
ROSA Enterprise Desktop.

Возврат к списку