Подружил ЭЦП на ФКН контейнере с плагином Госуслуг

В чем проблема?

Уже «старый» Плагин Госуслуг (IFCPlugin) (осторожно, сразу начнется закачка 5МБ) работает по PKCS11. ФКН — другой протокол.

И без дополнительных настроек авторизоваться на Госуслугах не выйдет!

Так что, типовая настройка в /etc/ifc.cfg не подходит.

  { name  = "����� ������� ���";
    alias = "ruTokenECP";
    type  = "pkcs11";
	alg   = "gost2001";
	model = "Rutoken ECP";
    lib_win   = "rtpkcs11ecp.dll";
    lib_linux = "librtpkcs11ecp.so";
    lib_mac   = "librtpkcs11ecp.dylib";
  }

Видите здесь librtpkcs11ecp.so? Это софтина самого Рутокен. На ней всё и работает, без участия КриптоПро. Если ваш ключ создан по PKCS11.

Что такое ФКН?

Я не криптограф, ориентируюсь на популярные статьи. Их общий смысл — ФКН даёт большую защищенность. И фсё!

Началось всё с SESPAKE. Это протокол взаимной аутентификации, на который КриптоПро опубликовал свой RFC (т.е. не только российский). Там есть ссылка на подробную статью на Хабре.

Я сам заинтересовался ФКН из-за статьи Съемные носители и безопасное хранение ключей.

Есть статейка от Рутокен, где описывают три режима работы токена:

  • Режим «активного вычислителя».
  • Функционального ключевого носителя (ФКН).
  • Хранение в защищенной файловой системе.

Судя по статье от КриптоПро — ФКН это не только «ценный мех» … Тут и неизвлекаемый ключ, криптография внутри токена и новый протокол взаимной аутентификации. На это и повёлся.

Токены с аппаратной криптографией не вечны

Всю жизнь, до исчерпания встроенной памяти, создавать ключи на таком токене не выйдет. Если только вы не выбрали вариант «хранение в защищенной файловой системе» (это хранение под PINом). Если используете аппаратную криптографию, то используете встроенный СКЗИ. Именно он не вечен, т.к. сертификаты ФСБ выдаются на определенный срок. Новый ключ по истечении этого срока приличный УЦ создать не даст!

Как настроить IFCPlugin для работы с ключом ФКН (SESPAKE)

Всё уже придумано до нас. И мне написали об этом на форуме. Давно уже есть статья в базе знаний КриптоПро.

Там предложена рабочая конфигурация для /etc/ifc.cfg.

{ name  = "CryptoPro CSP";
    alias = "cprocsp";
    type  = "pkcs11";
    alg   = "gost2001";
    model = "CPPKCS 3";
    lib_linux   = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
}

Без неприятного нюанса не обошлось. PIN запрашивается дважды — плагином IFCPlugin и самим КриптоПро. Мне бы больше подошел запрос от КриптоПро. Авторам плагинов больше нравится свое поле для ввода.

Очевидно, что авторы не думали о КриптоПро. Думаю, и не будут, т.к. настроены исключительно на «режим активного вычислителя». Другие два, а не только ФКН, потребуют настроек.

Обратите внимание, эта конфигурация сделана для Linux. На это «намекает» путь до конфигурационного файла и параметр lib_linux.

Новый плагин Госплагин

Для авторизации на Госуслугах проделанных настроек сейчас достаточно. Для других функций портала может потребоваться уже «новый» Госплагин. Список поддерживаемых дистрибутивов у него гораздо уже (Debian 10, Astra Linux 1.6, 1.7). Для моего (Альт Рабочая станция K) официального решения не существует.

Попробовать что-то сделать можно.

Я для установки сторонних пакетов пользуюсь epm (от Etersoft). Поддерживает он не только Альт Линукс.

Увы, при установке таким образом остается неудовлетворенной одна зависимость — libxcb-util.so.0 В моей, уже древней, версии дистрибутива (на платформе P10) есть только более новый файл.

$ rpm -ql libxcbutil
/usr/lib64/libxcb-util.so.1
/usr/lib64/libxcb-util.so.1.0.0

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

Кстати, пакет gosuslugi-plugin_1.3.19.0-1_amd64.deb пришлось выдергивать из установочного скрипта Gosplugin_Linux-Debian_Installer.deb.sh. У них только так, там же предусмотрен небольшой «сервис» в виде отдельной установки пакетов для работы с токенами (pcscd, pcsc-tools и opensc).

Запись опубликована в рубрике Компьютеры и Интернет. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *