Refresh-Token (JWT) 如何避免中间人攻击?

How do Refresh-Token (JWT) avoid to man-of-the middle attack?

我最近使用 DotNet 核心身份实施 JWT 身份验证。

我知道为了减少获取访问令牌的身份验证次数(当它在短时间内过期以提高安全性时)我们使用刷新令牌来更新访问令牌而不是重新验证。

我认为如果中间人试图窃取 Refresh-Token 以获取新的 Access-Token 并发出请求(劫持令牌)系统如何找到它并拒绝请求?

我的意思是如果JWT被别人盗用来冒充,服务器识别并拒绝它,有没有解决方案? (我知道 SSL 可以提供帮助,但我正在考虑其他方法。例如,按时间和 Ip 或 .... 加密 JWT?)

假设您在服务器和客户端之间使用双向 SSL,您的顾虑基本上没有实际意义。原因是任何中间人,如果他找到拦截的方法,甚至都不知道 JWT 的起点和终点。相反,他只会被一些编码混乱所困。假设地,如果有人掌握了 JWT,那么是的,他可能能够冒充您的用户之一。这与有人窃取信用卡然后伪装成所有者没有什么不同。但是,由于 SSL,这种情况发生的可能性相当小。