5.7.2.1. JWE (JSON Web Encryption) - структура данных в формате JSON, представляющая зашифрованное и защищенное от модификации сообщение.
- <JOSE Header>: JOSE заголовок - JSON-объект, содержащий параметры, описывающие криптографические операции и их параметры (см. подпункт 5.7.1.4);
- <JWE Encrypted Key>: зашифрованный ключ защиты содержимого JWE для каждого получателя;
- <JWE Initialization Vector>: синхропосылка (вектор инициализации) JWE;
- <JWE AAD>: дополнительные аутентифицируемые, не шифруемые данные JWE;
- <JWE Ciphertext>: шифротекст JWE;
- <JWE Authentication Tag>: имитовставка JWE.
В состав <JOSE Header> входят следующие компоненты:
- <JWE Protected Header>: защищенный заголовок JWE, целостность значения которого будет защищаться JWE;
- <JWE Shared Unprotected Header>: общий незащищенный заголовок JWE;
- <JWE Per-Recipient Unprotected Header>: незащищенный заголовок для каждого получателя JWE.
Для обеспечения конфиденциальности и целостности открытого текста, а также целостности защищенного заголовка и <JWE AAD> используется алгоритм аутентифицированного шифрования с присоединенными данными.
5.7.2.2. Как и JWS, структура JWE использует компактную и JSON-сериализацию. В компактной сериализации JWE представляется следующим образом:
BASE64URL(UTF8(<JWE Protected Header>)) || '.' ||
BASE64URL(<JWE Encrypted Key>) || '.' || BASE64URL
(<JWE Initialization Vector>) || '.' || BASE64URL (<JWE
Ciphertext>) || '.' || BASE64URL(<JWE Authentication Tag>)
Компактная сериализация не поддерживает параметры <JWE Shared Unprotected Header>, <JWE Per-Recipient Unprotected Header> и <JWE AAD>. Кроме того, она предполагает одного получателя сообщения.
В случае JSON-сериализации JWE представлен в виде JSON-объекта, содержащего следующие параметры:
- <protected>: если заголовок <JWE Protected Header> не пустой, этот параметр должен присутствовать со значением BASE64URL(UTF8(<JWE Protected Header>)); иначе этот параметр должен быть опущен;
- <unprotected>: если заголовок <JWE Shared Unprotected Header> не пустой, этот параметр должен присутствовать со значением <JWE Shared Unprotected Header>; иначе этот параметр должен быть опущен; как правило, это JSON-объект;
- <recipients>: (обязательный) массив JSON-объектов, в адрес каждого получателя JWE; структура этого объекта:
- <header>: если заголовок <JWE Per-Recipient Unprotected Header> не пустой, этот параметр должен присутствовать со значением <JWE Per-Recipient Unprotected Header>; иначе этот параметр должен быть опущен; как правило, это JSON-объект;
- <encrypted_key>: если значение <JWE Encrypted Key> не пустое, этот параметр должен присутствовать со значением BASE64URL(<JWE Encrypted Key>); иначе этот параметр должен быть опущен;
- <iv>: если значение <JWE Initialization Vector> не пустое, этот параметр должен присутствовать со значением BASE64URL(<JWE Initialization Vector>); иначе этот параметр должен быть опущен;
- <aad>: если значение <JWE AAD> не пустое, этот параметр должен присутствовать со значением BASE64URL(<JWE AAD>); иначе этот параметр должен быть опущен;
- <ciphertext>: (обязательный) шифротекст со значением BASE64URL (<JWE Ciphertext>);
- <tag>: если значение <JWE Authentication Tag> не пустое, этот параметр должен присутствовать со значением BASE64URL(<JWE Authentication Tag>); иначе этот параметр должен быть опущен.
5.7.2.3. Параметры JOSE заголовка:
- <enc>: (обязательный) идентификатор алгоритма шифрования, используемого для выполнения аутентифицированного шифрования открытого текста; этот параметр должен быть понят и обработан получателем;
- <zip>: (опциональный) идентификатор алгоритма сжатия, который применяется к незашифрованному тексту перед шифрованием; определено единственное значение: "DEF" - алгоритм сжатия DEFLATE; если значение этого параметра отсутствует, выполняется шифрование открытого текста без сжатия;
- <alg>, <jku>, <jwk>, <kid>, <x5u>, <x5c>, <typ>, <cty>, <crit>: как в JWS (см. пункт 5.7.1); при этом параметры < jku>, <jwk>, <kid>, <x5u>, <x5c> определяют открытый ключ, который был использован при формировании ключа шифрования, получатель может воспользоваться этой информацией, чтобы выбрать соответствующий закрытый ключ.
5.7.2.4. Шифрование выполняется следующим образом:
- в соответствии с идентификатором алгоритма шифрования вычислить ключ шифрования содержимого CEK;
- если используется алгоритм с шифрованием ключа, зашифровать ключ CEK, положив значением <JWE Encrypted Key> результат шифрования; если алгоритм шифрования не предполагает шифрования ключа, положить значение <JWE Encrypted Key> пустым;
- если требуется для алгоритма шифрования, сгенерировать значение случайной синхропосылки <JWE Initialization Vector> необходимой длины; иначе значение <JWE Initialization Vector> должно быть пустое;
- если указано значение параметра "zip", положить M - последовательность октетов, представляющих сжатый открытый текст; иначе M - последовательность октетов, представляющих открытый текст;
- зашифровать M с помощью алгоритма, который идентифицирован параметрами <alg> и <enc>, с использованием значений ключа CEK, синхропосылки <JWE Initialization Vector> и <JWE AAD>; результат - шифротекст <JWE Ciphertext> и имитовставка <JWE Authentication Tag>.
Расшифрование выполняет получатель JWE обратным преобразованием. Если сообщение зашифровано в адрес нескольких получателей, обрабатывается только один из подходящих заголовков, адресованный получателю. Если проверка целостности дала отрицательный результат, зашифрованное сообщение должно быть отвергнуто.
1 Общие сведения о структуре JWE и алгоритмах работы с ней приведены в RFC 7516 [35].
2 Выбор используемых криптографических алгоритмов производится на этапе разработки сервера авторизации и клиента.
- Гражданский кодекс (ГК РФ)
- Жилищный кодекс (ЖК РФ)
- Налоговый кодекс (НК РФ)
- Трудовой кодекс (ТК РФ)
- Уголовный кодекс (УК РФ)
- Бюджетный кодекс (БК РФ)
- Арбитражный процессуальный кодекс
- Конституция РФ
- Земельный кодекс (ЗК РФ)
- Лесной кодекс (ЛК РФ)
- Семейный кодекс (СК РФ)
- Уголовно-исполнительный кодекс
- Уголовно-процессуальный кодекс
- Производственный календарь на 2025 год
- МРОТ 2026
- ФЗ «О банкротстве»
- О защите прав потребителей (ЗОЗПП)
- Об исполнительном производстве
- О персональных данных
- О налогах на имущество физических лиц
- О средствах массовой информации
- Производственный календарь на 2026 год
- Федеральный закон "О полиции" N 3-ФЗ
- Расходы организации ПБУ 10/99
- Минимальный размер оплаты труда (МРОТ)
- Календарь бухгалтера на 2025 год
- Частичная мобилизация: обзор новостей
- Постановление Правительства РФ N 1875