Статус документа
Статус документа

Р 1323565.1.025-2019 Информационная технология (ИТ). Криптографическая защита информации. Форматы сообщений, защищенных криптографическими методами

     8.2 Тип Recipientlnfo


Информация о каждом из получателей хранится в структуре Recipientlnfo. Структура Recipientlnfo имеет разные форматы в зависимости от используемого механизма управления ключами (подробнее см. [1]). Любые механизмы управления ключами могут быть использованы для одного зашифрованного содержимого. Зашифрованный ключ шифрования содержимого передается одному получателю или более.

Все реализации должны корректно обрабатывать неподдерживаемые алгоритмы.

Для российских криптографических алгоритмов должны поддерживаться алгоритмы согласования ключей и симметричное шифрование ключей, как это указано в полях ktri, kari и kekri, соответственно (сокращения от KeyTransRecipientlnfo, KeyAgreeRecipientlnfo, KEKRecipientlnfo). Так как различные получатели могут поддерживать различные механизмы управления ключами и будущие спецификации могут определить дополнительные механизмы управления ключами, то все реализации должны корректно обрабатывать:

- все возможные варианты значения поля Recipientlnfo;

- все возможные версии реализаций для значений поля Recipientlnfo;

- все нереализованные и неизвестные варианты значения поля Recipientlnfo для OtherRecipientInfo.

Тип Recipientlnfo в формате АСН.1 представлен следующим образом:

Recipientlnfo ::= CHOICE

{

ktri KeyTransRecipientlnfo,

kari[1] KeyAgreeRecipientlnfо,

kekri[2] KEKRecipientlnfo,

pwri[3] PasswordRecipientinfo,

ori[4] OtherRecipientlnfо

}

Типы KeyTransRecipientlnfo, KeyAgreeRecipientlnfo, KEKRecipientlnfo определены в 8.2.1-8.2.3, соответственно. Типы PasswordRecipientinfo и OtherRecipientlnfo не рассматривают в данной спецификации.

Совместимые реализации, оперирующие сообщениями с типом данных "конверт данных", должны поддерживать следующий функционал при зашифровании и расшифровании:

- обработка шифрованных сообщений с использованием эфемерного протокола Диффи-Хеллмана;

- закодирование и раскодирование информации о получателях шифрованного сообщения в виде структур типа KeyTransRecipientlnfo;

- обработка шифрованных сообщений без имитовставки.

Поддержка следующих типов шифрованных сообщений является опциональной и остается на усмотрение разработчика:

- сообщения с использованием статического протокола Диффи-Хеллмана;

- сообщения с использованием структур типа KeyAgreeRecipientlnfo и KEKRecipientlnfo;

- сообщения с имитозащитой.

8.2.1 Тип KeyTransRecipientlnfo

Информация о каждом пользователе, использующем механизм управления ключами на основе эфемерного протокола Диффи-Хеллмана, хранится в структуре KeyTransRecipientlnfo. Каждый экземпляр структуры KeyTransRecipientlnfo имеет ключ шифрования содержимого, зашифрованный для одного из получателей.

Тип KeyTransRecipientlnfo в формате АСН.1 представлен следующим образом:

KeyTransRecipientlnfo : := SEQUENCE