我一直在阅读JSON Web Encryption(JWE)规范,最新草案为08,因为我们正在考虑在我们的身份验证服务器中支持JSON Web Tokens(JWT)。
使用它定义的非对称加密方法,对称密钥(内容主密钥)使用接收者的公钥进行加密。这是有道理的,这样只有接收者可以解密它,并确信令牌是为他们而设计的。
通常我也希望看到一些证明令牌来自哪里的东西,例如使用发行者的私钥创建的签名,可以使用其公钥进行验证。然而,签名似乎也是从内容主密钥或接收者的公钥派生出来的,没有提及发行者的私钥。
没有这个,对我来说,就好像只要知道预期的令牌格式,任何拥有接收者公钥的人(即任何人)都可以生成有效的令牌;不仅仅是受信任的身份验证服务器。
我不是密码学专家(离得很远),所以我肯定在这里漏掉了一些东西。接收方如何验证来自受信任发行者的非对称加密令牌?
鉴于JSON Web Signatures(JWS)规范确实定义了使用发行者的私钥签名并可以使用其公钥进行验证的签名,我想知道的是JWE令牌的有效负载是否应该是JWS令牌?
使用它定义的非对称加密方法,对称密钥(内容主密钥)使用接收者的公钥进行加密。这是有道理的,这样只有接收者可以解密它,并确信令牌是为他们而设计的。
通常我也希望看到一些证明令牌来自哪里的东西,例如使用发行者的私钥创建的签名,可以使用其公钥进行验证。然而,签名似乎也是从内容主密钥或接收者的公钥派生出来的,没有提及发行者的私钥。
没有这个,对我来说,就好像只要知道预期的令牌格式,任何拥有接收者公钥的人(即任何人)都可以生成有效的令牌;不仅仅是受信任的身份验证服务器。
我不是密码学专家(离得很远),所以我肯定在这里漏掉了一些东西。接收方如何验证来自受信任发行者的非对称加密令牌?
鉴于JSON Web Signatures(JWS)规范确实定义了使用发行者的私钥签名并可以使用其公钥进行验证的签名,我想知道的是JWE令牌的有效负载是否应该是JWS令牌?