Перейти к содержанию

libksba в НАЙС.ОС: дополнительные возможности для сертификатов и защищённых документов

libksba в НАЙС.ОС — системная библиотека для обработки сертификатов X.509 и криптографических сообщений CMS, адаптированная для российских алгоритмов и распространённых форматов российских удостоверяющих центров. Основное отличие от обычной сборки libksba состоит не в новом интерфейсе для пользователя, а в том, какие сертификаты и защищённые документы могут правильно прочитать приложения, использующие эту библиотеку.

В НАЙС.ОС сохранены обычные возможности libksba и добавлена обработка ряда ГОСТ-форматов: ключей ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 (256/512), подписей с ГОСТ Р 34.11-94 и «Стрибогом», параметров российских эллиптических кривых и отдельных форматов CMS с ГОСТ 28147-89. В том числе предусмотрены особенности кодирования, встречающиеся в документах КриптоПро.

Важная граница: libksba не является самостоятельной программой электронной подписи и не шифрует файлы сама. Пользователь запускает gpgsm или другую программу, а libksba распознаёт и формирует стандартизированные структуры. Криптографические вычисления обеспечивает другая библиотека, доступ к закрытым ключам — соответствующий агент или устройство, а решение о доверии — система проверки сертификатов.

Что получает пользователь

Задача Практический эффект
Открыть сертификат российского УЦ Поддерживается разбор ГОСТ-идентификаторов, параметров кривой и публичного ключа в X.509.
Прочитать сведения о подписанте Программа получает корректно разобранные криптографические поля сертификата.
Проверять подписанный документ Правильно интерпретируется формат ГОСТ-подписи; результат криптопроверки зависит также от GnuPG/libgcrypt, сертификата и доверия.
Работать с архивными сертификатами Учтены форматы ГОСТ 2001 и традиционные параметры CryptoPro.
Работать с сертификатами ГОСТ 2012 Учтены алгоритмы с 256- и 512-битными ключами, «Стрибог» и наборы параметров ТК26.
Читать зашифрованный CMS-конверт Добавлен разбор отдельных схем переноса ключа и параметров ГОСТ 28147-89; само расшифрование выполняется внешними компонентами.
Создавать CMS-конверт Библиотека умеет записывать соответствующие структуры, если прикладная программа передаст корректные данные.
Обмениваться данными с партнёрами Появляется техническая основа для испытаний с документами, сформированными КриптоПро и другими ГОСТ-реализациями.

Чем отличается от распространённых дистрибутивов

Обычная libksba предназначена для X.509 и CMS в целом. Наличие библиотеки в Linux не доказывает поддержку специфических форматов ГОСТ. В неподготовленных сборках сертификат может отображаться частично, а подпись не преобразовываться в понятную криптографическому механизму форму. Патч НАЙС.ОС добавляет именно недостающий уровень интерпретации ГОСТ. Он не отменяет стандартную поддержку RSA, ECDSA и прочих общепринятых форматов.

Сравнение относится к исходной upstream libksba без данного расширения; отдельные другие дистрибутивы тоже могут поставлять собственные ГОСТ-патчи, поэтому нельзя утверждать, что таких возможностей нет нигде кроме НАЙС.ОС.

Как устроена работа

Пользователь / деловая система
           |
      gpgsm / приложение
           |
   libksba НАЙС.ОС
     | X.509: сертификаты, ключи, подписи
     | CMS: структура подписи/конверта, OID, параметры
           |
      libgcrypt / криптопровайдер / агент / ключевой носитель
           |
    Проверка подписи или расшифрование
           |
   Проверка цепочки доверия и статуса сертификата

Не путайте: успешное чтение сертификата, успешная математическая проверка подписи и доверие к подписанту — три разные проверки. Сертификат может корректно открываться, а подпись быть неверной; подпись может быть верной, а УЦ — недоверенным.

Навигация по руководству

Первоисточники

Этот раздел описывает возможности, заложенные в адаптации НАЙС.ОС для libksba. Фактическая доступность функций в конкретной установке зависит от того, какой RPM поставлен и с какими версиями GnuPG и libgcrypt он работает. Поэтому примеры проверки предназначены для воспроизведения на вашей системе, а не заменяют испытаний конкретного комплекта пакетов.