首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么客户端需要解密JWE?

为什么客户端需要解密JWE?
EN

Stack Overflow用户
提问于 2017-07-18 15:47:42
回答 1查看 1.4K关注 0票数 3

如果我使用JWE发送加密的JSON消息,该消息将存储在客户端,以便与授权一起使用,为什么客户端需要解密此消息?

客户端将JWE令牌附加到所有请求。服务器使用JWE令牌标识客户端,并响应或拒绝请求。在整个过程中,只有服务器才能解密。

如果这个结构没有问题,那么实现它的最佳方法是什么?我是否应该使用非对称加密而不提供公钥(这在JWE规范中是可能的)?

按照这些思路,确保JWE令牌没有被截获,尽管没有解密,但附加到恶意服务器请求中,有效地允许攻击者模拟客户端的最佳方式是什么?

还有,我还有其他安全隐患吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-18 16:57:23

如果我使用JWE发送加密的JSON消息,该消息将存储在客户端,以便与授权一起使用,为什么客户端需要解密此消息?

当客户端需要读取JWT中包含的一些数据时,例如用户id或过期日期。这并不是所有情况下都需要的。

客户端将JWE令牌附加到所有请求。服务器使用JWE令牌标识客户端,并响应或拒绝请求。

是的,这是通常的授权流程。

在整个过程中,只有服务器才能解密。

不一定。服务器可以使用接收者的公钥对加密密钥进行加密,例如使用RSAES-OAEP。然后,接收者将能够用他的私钥解密JWT。

如果这个结构没有问题,那么实现它的最佳方法是什么?我是否应该使用非对称加密而不提供公钥(这在JWE规范中是可能的)?

这取决于你的要求。如果您希望客户端能够解密JWT,则需要提供密钥或使用不对称加密,并将消息加密给收件人。

按照这些思路,确保JWE令牌没有被截获,尽管没有解密,但附加到恶意服务器请求中,有效地允许攻击者模拟客户端的最佳方式是什么?

JWT的出现是认证的证明.如果令牌被盗,则攻击者可以冒充用户。所以你需要保护它以减少风险:

  • 主要使用HTTPS加密通信信道。
  • 将其安全地存储在客户端上
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45171615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档