JWE和密钥管理模式。JWE的目的是防止第三方看到/更改令牌。只有令牌颁发者和资源服务器才能使用它。(这是正确的吗?)
为了加密令牌的有效负载,我们需要生成CEK(内容加密密钥)。此密钥提供给“enc”JOSE字段中指定的对称算法。根据https://www.rfc-editor.org/rfc/rfc7516,我们有5种方法来获取CEK。
1.密钥加密。CEK是随机生成的,有效载荷使用CEK加密,CEK使用非对称算法-公钥-根据“auth”JOSE字段加密,并将其嵌入到令牌中,资源服务器可以发现并推导出相应的私钥,并使用非对称算法解密CEK,资源服务器可以通过多种方式发现相应的公钥,其中之一是JOSE头中的jkw。jkw表示相应的公钥。
1.密钥 Package 。CEK是随机生成的,有效负载使用CEK加密,CEK使用对称算法加密,并嵌入到令牌中。
在这种情况下,资源服务器如何解密CEK?
1.直接密钥协议。CEK是根据密钥协议算法决定的。
在这种情况下,发行者和资源服务器是否一起工作以首先获得CEK?它们是否在CEK生成之前保持一段时间的会话?这是否超出规范?
1.带密钥 Package 的密钥协议。CEK是随机生成的。
那么,我们为什么要提到密钥协议?
1.直接加密。带外交换CEK。
感谢您的反馈。
1条答案
按热度按时间6tr1vspr1#
JWE的目的是防止第三方看到/更改令牌。只有令牌颁发者和资源服务器可以使用它。(这对吗?)
是的,
JWE
的要点是提供保密性(只有预期的接收者可以看到内容),完整性(防止令牌被篡改)。一些密钥管理模式还提供身份验证(确保令牌由其声称的发行者生成)。**密钥封装。**在这种情况下,资源服务器如何解密CEK?
颁发者与接收者都必须具有用于解密CEK得预共享对称密钥.它们如何共享此密钥超出了规范得范围.
**直接密钥协议。**在这种情况下,发行者和资源服务器是否一起工作以首先获得CEK?它们是否在CEK生成之前保持一段时间的会话?这是否超出规范?
密钥协议用于不能直接用于加密数据的公钥/私钥对。ECC密钥就是这种情况,它只能直接用于执行数字签名。颁发者和接收者使用一种使用公钥/私钥ECC密钥的算法来派生CEK。
**使用密钥 Package 的密钥协议。**那么我们为什么要提到密钥协议呢?
因为随机生成的CEK是使用通过密钥协商算法导出的密钥加密的,这在概念上与普通密钥 Package 相同,但使用ECC密钥。
有关密钥管理模式以及何时使用每种模式的详细信息,请参阅this answer。