2. Terminology (术语)
术语 "JSON Web Signature (JWS)"、"Base64url Encoding" (Base64url 编码)、"Collision-Resistant Name" (抗冲突名称)、"Header Parameter" (头部参数)、"JOSE Header" 和 "StringOrURI" 由 JWS 规范 [JWS] 定义.
术语 "Ciphertext" (密文)、"Digital Signature" (数字签名)、"Initialization Vector (IV)" (初始化向量)、"Message Authentication Code (MAC)" (消息认证码) 和 "Plaintext" (明文) 由 "Internet Security Glossary, Version 2" [RFC4949] 定义.
以下术语由本规范定义:
JSON Web Encryption (JWE) (JSON Web 加密) : 表示加密和完整性保护消息的数据结构.
Authenticated Encryption with Associated Data (AEAD) (带关联数据的认证加密) : AEAD 算法是对明文进行加密、允许指定 Additional Authenticated Data (附加认证数据)、并对密文和 Additional Authenticated Data 提供集成内容完整性检查的算法. AEAD 算法接受两个输入: 明文和 Additional Authenticated Data 值, 并产生两个输出: 密文和 Authentication Tag (认证标签) 值. AES Galois/Counter Mode (GCM) 是这样一种算法.
Additional Authenticated Data (AAD) (附加认证数据) : AEAD 操作的输入, 它受完整性保护但不加密.
Authentication Tag (认证标签) : AEAD 操作的输出, 确保密文和 Additional Authenticated Data 的完整性. 请注意, 某些算法可能不使用 Authentication Tag, 在这种情况下, 此值是空八位字节序列.
Content Encryption Key (CEK) (内容加密密钥) : AEAD 算法使用的对称密钥, 用于加密明文以产生密文和 Authentication Tag.
JWE Encrypted Key (JWE 加密密钥) : 加密的 Content Encryption Key 值. 请注意, 对于某些算法, JWE Encrypted Key 值被指定为空八位字节序列.
JWE Initialization Vector (JWE 初始化向量) : 加密明文时使用的 Initialization Vector 值. 请注意, 某些算法可能不使用 Initialization Vector, 在这种情况下, 此值是空八位字节序列.
JWE AAD : 由认证加密操作完整性保护的附加值. 这只能在使用 JWE JSON Serialization 时存在. (请注意, 通过将 AAD 值作为受完整性保护的 Header Parameter 值包含在内, 也可以在使用 JWE Compact Serialization 或 JWE JSON Serialization 时实现这一点, 但代价是该值被双重 base64url 编码.)
JWE Ciphertext (JWE 密文) : 对明文和 Additional Authenticated Data 进行认证加密产生的密文值.
JWE Authentication Tag (JWE 认证标签) : 对明文和 Additional Authenticated Data 进行认证加密产生的 Authentication Tag 值.
JWE Protected Header (JWE 受保护头部) : JSON 对象, 包含由认证加密操作完整性保护的 Header Parameters. 这些参数适用于 JWE 的所有接收方. 对于 JWE Compact Serialization, 这包含整个 JOSE Header. 对于 JWE JSON Serialization, 这是 JOSE Header 的一个组成部分.
JWE Shared Unprotected Header (JWE 共享非受保护头部) : JSON 对象, 包含适用于 JWE 所有接收方但不受完整性保护的 Header Parameters. 这只能在使用 JWE JSON Serialization 时存在.
JWE Per-Recipient Unprotected Header (JWE 每接收方非受保护头部) : JSON 对象, 包含适用于 JWE 单个接收方的 Header Parameters. 这些 Header Parameter 值不受完整性保护. 这只能在使用 JWE JSON Serialization 时存在.
JWE Compact Serialization (JWE 紧凑序列化) : JWE 作为紧凑的、URL 安全字符串的表示.
JWE JSON Serialization (JWE JSON 序列化) : JWE 作为 JSON 对象的表示. JWE JSON Serialization 允许将相同内容加密给多方. 此表示既不针对紧凑性进行优化, 也不是 URL 安全的.
Key Management Mode (密钥管理模式) : 确定要使用的 Content Encryption Key 值的方法. 用于确定 CEK 值的每个算法都使用特定的 Key Management Mode. 本规范采用的 Key Management Modes 有 Key Encryption (密钥加密)、Key Wrapping (密钥包装)、Direct Key Agreement (直接密钥协商)、Key Agreement with Key Wrapping (带密钥包装的密钥协商) 和 Direct Encryption (直接加密).
Key Encryption (密钥加密) : 一种 Key Management Mode, 其中使用非对称加密算法将 CEK 值加密给预期接收方.
Key Wrapping (密钥包装) : 一种 Key Management Mode, 其中使用对称密钥包装算法将 CEK 值加密给预期接收方.
Direct Key Agreement (直接密钥协商) : 一种 Key Management Mode, 其中使用密钥协商算法来协商 CEK 值.
Key Agreement with Key Wrapping (带密钥包装的密钥协商) : 一种 Key Management Mode, 其中使用密钥协商算法来协商对称密钥, 该对称密钥用于使用对称密钥包装算法将 CEK 值加密给预期接收方.
Direct Encryption (直接加密) : 一种 Key Management Mode, 其中使用的 CEK 值是各方之间共享的秘密对称密钥值.