5.7.2. JSON структура шифрованного текста

5.7.2.1. JWE (JSON Web Encryption) - структура данных в формате JSON, представляющая зашифрованное и защищенное от модификации сообщение.

Структура JWE состоит из 5 компонентов:

- <JOSE Header>: JOSE заголовок, содержащий параметры, описывающие криптографические операции и их параметры (подпункт 5.7.2.2);

- <JWE Encrypted Key>: зашифрованный ключ защиты содержимого JWE;

- <JWE Initialization Vector>: синхропосылка (вектор инициализации), используемая для шифрования содержимого JWE;

- <JWE Ciphertext>: шифротекст JWE;

- <JWE Authentication Tag>: имитовставка JWE.

Для обеспечения конфиденциальности и целостности открытого текста, а также целостности <JOSE Header> используется алгоритм шифрования с имитозащитой и ассоциированными данными (Р 1323565.1.026-2019 [23]).

5.7.2.2. Параметры JOSE заголовка:

- <alg>: (обязательный) идентификатор криптографического алгоритма, который используется для шифрования или вычисления ключа шифрования контента;

- <enc>: (обязательный) идентификатор алгоритма шифрования, используемого для выполнения аутентифицированного шифрования открытого текста;

- <zip>: (опциональный) идентификатор алгоритма сжатия незашифрованного текста перед шифрованием;

- <kid>, <typ>, <cty>, <crit>: как в JWS (пункт 5.7.1); при этом параметр <kid> определяет открытый ключ, который был использован при формировании ключа шифрования контекста CEK, получатель может воспользоваться этой информацией, чтобы выбрать соответствующий закрытый ключ;

- <x5t#St256>: (опциональный) отпечаток сертификата открытого ключа получателя; представляет собой Base64url-представление 256-битного значения хэш-функции ГОСТ Р 34.11-2012 [12], вычисленной для DER-кодирования X.509 сертификата открытого ключа получателя JWE;

- <seed>: случайная последовательность; этот параметр обязателен при использовании механизма вычисления ключа шифрования <alg> = "GKDF256" или "VKO256" и не используется в других алгоритмах вычисления ключа шифрования (подраздел 9.1 [5]);

- <epk>: эфемерный открытый ключ отправителя в формате JWK; этот параметр обязателен при использовании механизма вычисления ключа шифрования <alg> = "VKO256" и не используется в случае других алгоритмов (подраздел 9.1 [5]).

Точное описание JWE с указанием российских криптографических алгоритмов и формул вычисления ключа, а также зашифрования/расшифрования и аутентификации содержимого приведено в подразделах 8.2, 9.1, 9.3, 9.4 [5].

Примечание. Дополнительные сведения о структуре JWE приведены в [46].