繁体   English   中英

结合JWE和JWS

[英]Combining JWE and JWS

只要了解JOSE,我就会知道JWE用于加密,JWS用于签名。 我似乎无法找到示例的是经过加密和签名的有效负载。

假装我有一个有效载荷hello world 做这样的事情是正确的吗? 使用加密的JWE作为JWS的有效负载的JWS(JWE('hello world')

JSON Web令牌 (JWT)是一种开放标准,它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息。 JWT是以下令牌类型的通用名称

  • JSON Web签名 (JWS):对有效负载进行编码和签名,以便可以验证声明的完整性

  • JSON Web加密 (JWE):它们的有效负载已加密,因此对其他方隐藏了声明。

JWT,JWS和JWE
该图像是从此页面中提取的。


做这样的事情是正确的吗? 使用加密的JWE作为JWS的有效负载的JWS(JWE('hello world')

它是一个嵌套的JWT ,其概念在RFC 7519中定义:

一个JWT,其中使用了嵌套的签名和/或加密。 在嵌套JWT中,JWT分别用作封闭的JWS或JWE结构的有效负载或纯文本值。

可以添加JWE作为JWS有效负载的声明,但是建议采用另一种方法: 首先对消息签名,然后对结果进行加密 ,如同一文档中所述:

11.2。 签名和加密顺序

虽然在语法上可以按任何顺序应用嵌套JWT的签名和加密操作,但是如果签名和加密都必须,通常生产者应该对消息签名,然后对结果进行加密(从而对签名进行加密)。 这样可以防止剥夺签名的攻击,仅留下加密消息,并为签名者提供隐私。 此外,在许多辖区中,加密文本上的签名被认为无效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM