JWE标准定义了一个称为密钥管理模式的概念。根据RFC,有五种:直接加密、密钥加密、直接密钥协商、密钥包装、密钥协商与密钥包装。
它们之间有什么区别,拥有这么多又有什么意义呢?
JWE始终使用称为(内容加密密钥)的对称加密密钥来加密明文CEK。发行者和接收者并不总是拥有可用作 的预共享密钥CEK,因此他们必须使用某种形式的公钥加密技术才能安全地共享或同意使用CEK。密钥管理模式指定如何CEK确定。
JWE始终提供机密性(确保只有接收者可以解密数据)和完整性(确保数据在传输过程中不被第三方更改)。根据密钥管理模式,它还可以提供身份验证(确保数据来自其声称的发行者)。
JWE还支持用于多个接收者的令牌,其中每个接收者可以使用不同的密钥管理模式。在这种情况下,JWE不能使用紧凑序列化,必须使用JSON序列化。此外,无论收件人数量有多少,JWE都会使用单个CEK收件人来加密明文。因此,不需要为每个预期接收者包含不同的密文副本。
以下是JWE支持的密钥管理模式:
1.直接加密:
CEK.CEK。CEK。CEK)。{ "alg": "dir", "enc": "A256GCM" }2. 密钥加密:
RSA。RSA该接收者的公钥。CEK.CEK。CEK发行者使用接收者的公钥进行加密。CEK+密文。CEK接收者用其私钥解密加密。CEK。{ "alg": "RSA-OAEP", "enc": "A256GCM" }3. 直接密钥协议
EC公钥(EC密钥对不能直接用于加密/解密数据)。EC公钥/私钥对。CEK使用临时私钥和接收者的公钥进行派生。CEK。CEK使用临时公钥及其私钥进行派生。CEK。{ "alg": "ECDH-ES", "enc": "A256GCM", "epk": { ephemeral public key }, "apu": "(issuer)", "apv": "(recipient)" }4. 按键包装
CEK.CEK。CEK发行者使用包装密钥进行加密。CEK+密文。CEK并使用包装密钥对其进行解密。CEK。{ "alg": "A256KW", "enc": "A256GCM" }5. 密钥协议与密钥包装
EC该接收者的公钥(EC密钥对不能直接用于加密/解密数据)。CEK.CEK。EC公钥/私钥对。CEK发行者使用包装密钥进行加密。CEK+临时公钥+密文。CEK并使用派生的包装密钥对其进行解密。CEK。{ "alg": "ECDH-ES+A256KW", "enc": "A256GCM", "epk": { ephemeral public key }, "apu": "(issuer)", "apv": "(recipient)" }| 归档时间: |
|
| 查看次数: |
675 次 |
| 最近记录: |