Кратко

  • RFC 9939 назначает CMS content types структурам RFC 5958 PrivateKeyInfo и EncryptedPrivateKeyInfo.
  • OID сообщает ожидаемый синтаксис, но не доказывает владение закрытым ключом, успешную расшифровку, допустимую цель или решение полагающейся стороны.

В журнале передачи техническое имя легко принять за решение. Оператор видит id-ct-privateKeyInfo, получает успешный разбор и помечает ключ как готовый. Между этими действиями пропущены защита, хранение, восстановление, цель и полномочие.

RFC 9939 решает более узкую задачу. Он выделяет в ветви CMS content type десятичное значение 52 для id-ct-privateKeyInfo и 53 для id-ct-encrPrivateKeyInfo, добавляет идентификатор ASN.1-модуля и два inner content type для application/cms. IANA фиксирует эти записи. Такое имя позволяет разным реализациям ожидать одну и ту же структуру; оно не назначает хранителя и не выдает разрешение на операцию.

RFC 5958 определяет содержание. Совместимая форма PrivateKeyInfo/OneAsymmetricKey включает версию, идентификатор алгоритма, закрытый ключ и необязательные атрибуты или открытый ключ. EncryptedPrivateKeyInfo содержит идентификатор алгоритма шифрования и зашифрованные данные. Успешная проверка полей не показывает, располагает ли получатель нужным секретом, была ли внешняя оболочка надежной, соответствует ли восстановленный ключ ожидаемому сертификату, или разрешает ли политика конкретное применение.

CMS также не отменяет эти отдельные проверки. RFC 5652 описывает оболочку, способную подписывать, аутентифицировать или шифровать содержимое; используемые протоколы сами выбирают алгоритмы для своей среды. RFC 5959 задает соглашения алгоритмов для EncryptedPrivateKeyInfo. RFC 5958 предупреждает: раскрытие закрытого ключа может позволить подмену, а содержимое пакета не становится защищенным только из-за названия типа.

Нужен воспроизводимый чек передачи: hash объекта, OID, parser и версия, идентификаторы алгоритмов, защитная оболочка, доказательство получателя или управления ключом, разрешенные результаты целостности/расшифровки, цель, граница хранения и отдельное решение стороны, которая будет полагаться на материал. Как формулирует Heng Lu, выполняемый код подтверждает рассчитанное им состояние, но не присваивает чужое право использовать секрет.

Sources