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

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

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

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

Наши коллеги из компании «Актив» подготовили и разместили в своем блоге на Хабре интересный кейс по программным средствам для создания и проверки электронной подписи на операционных системах. Получился интересный обзор, полезный, на наш взгляд, не только программистам. К тому же в статье немного упоминается и о приложении «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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

06.03.2013
Как Цезарь шифровал любовные записки

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

Ходят слухи, что знаменитый полководец Гай Юлий Цезарь использовал шифровку не только для военных указаний генералам, но и в любовной переписке. Его возлюбленная Клеопатра получала нежнейшие послания, записанные весьма странным способом…

Показать еще
21.09.2021 09:00:00
ЭДО на смартфоне

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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