ГОСТ-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.