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: подробно — что именно добавлено и где проходят границы.
- ГОСТ-сертификаты X.509 и российские УЦ — форматы ключей, кривые, подписи и чтение сертификатов.
- Электронная подпись CMS и проверка документов — SignedData, отделённая подпись, проверка и доверие.
- Зашифрованные CMS-документы — EnvelopedData, «ГОСТ 28147», UKM, наборы замен и ограничения.
- Руководство для администратора — установка, диагностика, миграция и эксплуатация.
- Руководство для пользователя — обмен сертификатами, подписью и защищёнными файлами.
- Совместимость, ошибки и вопросы — матрица возможностей, разбор типовых проблем, правила испытаний.
Первоисточники¶
- Libksba — официальный сайт GnuPG — назначение исходной библиотеки.
- RFC 9215 — применение ГОСТ 2012 в X.509.
- RFC 4491 — ГОСТ 2001 в X.509.
- RFC 4490 — исторический ГОСТ в CMS.
- RFC 5652 — общий формат CMS.
- Руководство GPGSM — команды для администратора и пользователя.
Этот раздел описывает возможности, заложенные в адаптации НАЙС.ОС для libksba. Фактическая доступность функций в конкретной установке зависит от того, какой RPM поставлен и с какими версиями GnuPG и libgcrypt он работает. Поэтому примеры проверки предназначены для воспроизведения на вашей системе, а не заменяют испытаний конкретного комплекта пакетов.