在使用基于 token 的身份验证(例如:JSON Web 身份验证)时,如何防止重放攻击并为我的应用程序添加另一层加密?
最佳答案
如果您想保护您的应用程序身份验证免受重放攻击,您可以包括随机数 (jti)、过期时间 (exp) 和颁发时间 (iat)。
有关详细信息,请参阅 spec .
更多细节。
A replay attack (also known as playback attack) is a form of network attack in which a valid data transmission is maliciously or fraudulently repeated or delayed. [wikipedia]
因此,如果您使用随机数,则数据只能传输一次,因此不可能重新传输。这可以防止经典的重放攻击。
为避免延迟攻击,使用到期时间和发布时间。这种攻击不仅包括捕获数据流量,还包括中断受害者的流量。中断交通需要时间。
当然,使用到期时间和发行时间并不是 100% 的解决方案,但如果您明智地选择这些值,则可以将风险降至最低。
关于java - 在 HTTP 连接中使用基于 token 的身份验证时如何防止重放攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43327829/