如果我使用JWE发送加密的JSON消息,该消息将存储在客户端,以便与授权一起使用,为什么客户端需要解密此消息?
客户端将JWE令牌附加到所有请求。服务器使用JWE令牌标识客户端,并响应或拒绝请求。在整个过程中,只有服务器才能解密。
如果这个结构没有问题,那么实现它的最佳方法是什么?我是否应该使用非对称加密而不提供公钥(这在JWE规范中是可能的)?
按照这些思路,确保JWE令牌没有被截获,尽管没有解密,但附加到恶意服务器请求中,有效地允许攻击者模拟客户端的最佳方式是什么?
还有,我还有其他安全隐患吗?
发布于 2017-07-18 16:57:23
如果我使用JWE发送加密的JSON消息,该消息将存储在客户端,以便与授权一起使用,为什么客户端需要解密此消息?
当客户端需要读取JWT中包含的一些数据时,例如用户id或过期日期。这并不是所有情况下都需要的。
客户端将JWE令牌附加到所有请求。服务器使用JWE令牌标识客户端,并响应或拒绝请求。
是的,这是通常的授权流程。
在整个过程中,只有服务器才能解密。
不一定。服务器可以使用接收者的公钥对加密密钥进行加密,例如使用RSAES-OAEP。然后,接收者将能够用他的私钥解密JWT。
如果这个结构没有问题,那么实现它的最佳方法是什么?我是否应该使用非对称加密而不提供公钥(这在JWE规范中是可能的)?
这取决于你的要求。如果您希望客户端能够解密JWT,则需要提供密钥或使用不对称加密,并将消息加密给收件人。
按照这些思路,确保JWE令牌没有被截获,尽管没有解密,但附加到恶意服务器请求中,有效地允许攻击者模拟客户端的最佳方式是什么?
JWT的出现是认证的证明.如果令牌被盗,则攻击者可以冒充用户。所以你需要保护它以减少风险:
https://stackoverflow.com/questions/45171615
复制相似问题