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

ГОСТ-S/MIME: шифрованная почта и проверяемый документооборот

Практические особенности MIME-переноса, подписи, сертификатов и совместимости почтовых клиентов.

Документация ПО — НАЙС.ОС CLOUD. Это самостоятельная учебно-справочная статья. Команды приведены для изучения и диагностики; операции с ключами, дисками и действующими сервисами выполняют только после резервного копирования и проверки назначения.

S/MIME состоит из двух независимых частей

Одна часть отвечает за формат почтового сообщения и MIME-вложения, другая — за CMS-подпись или шифрование. Соответственно, почтовая система может корректно доставлять вложение S/MIME и всё равно не иметь криптопровайдера, необходимого для проверки ГОСТ-алгоритмов. SMTP-серверу необязательно расшифровывать содержимое для доставки; криптографические операции обычно выполняет клиент.

Внешний MIME и внутренний CMS

Слой Что проверять
SMTP/IMAP Доставка, хранение, перенос без порчи MIME-сообщения
MIME Тип содержимого, кодирование transfer-encoding, границы частей
CMS SignedData Состав атрибутов, digest, SignerInfo, detached/attached
CMS EnvelopedData Получатели, транспорт CEK, шифрование содержимого
PKI Подходящий сертификат, EKU, цепочка доверия, отзыв

Почему возникают ошибки на границе почтовых клиентов

Проблемы нередко вызваны изменением перевода строк, перекодированием текста, повторной упаковкой вложений или несовпадением защищаемых байтов при detached-подписи. Нужно различать целый .eml и извлечённый CMS-объект: подпись может относиться не к визуальному тексту письма, а к точному MIME-объекту.

Лабораторный тест

Создайте учебный документ без персональных данных и двумя тестовыми сертификатами. Один клиент формирует подпись; другой сохраняет исходный .eml, извлекает подписанную MIME-часть и CMS, проверяет структуру и цепочку, затем отдельно проверяет криптографическую подпись. Повторите обратное направление. Для шифрованного письма добавьте проверку двух разных получателей и отказа на неверном закрытом ключе.

Что важно в НАЙС.ОС

GPGSM и OpenSSL могут обрабатывать CMS, но наличие gpgsm или ГОСТ-Provider ещё не делает конкретный почтовый клиент совместимым с S/MIME ГОСТ. Интеграция требует проверки MIME, сертификатного хранилища и поддержки соответствующего формата на стороне клиента.

Первоисточники и дополнительное чтение

  • RFC 5652 — базовая структура CMS и типы содержимого.
  • Р 1323565.1.025-2019 — российские рекомендации по CMS.
  • RFC 9215 — ГОСТ-2012 в сертификатах и списках отзыва.
  • RFC 4490 — исторические профили CMS.