首页 > 解决方案 > Refresh-Token (JWT) 如何避免中间人攻击?

问题描述

我最近使用 DotNet 核心身份实现了 JWT Auth。

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

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

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

标签: authentication.net-corejwtauthorization

解决方案


假设您在服务器和客户端之间使用两种方式的 SSL,那么您的担忧主要是没有意义的。原因是任何中间人,如果他找到拦截的方法,甚至都不知道 JWT 的开始和结束位置。相反,他只会被一些编码的混乱所困。假设,如果有人持有 JWT,那么是的,他可能能够冒充您的一个用户。这与有人偷信用卡然后伪装成所有者没有什么不同。但是,由于 SSL,这种情况发生的可能性很小。


推荐阅读