【发布时间】:2017-09-05 18:32:16
【问题描述】:
在使用基于令牌的身份验证(例如:JSON Web 身份验证)时,如何防止重放攻击并向我的应用程序添加另一层加密?
【问题讨论】:
在使用基于令牌的身份验证(例如:JSON Web 身份验证)时,如何防止重放攻击并向我的应用程序添加另一层加密?
【问题讨论】:
如果您想保护您的应用程序身份验证免受重放攻击,您可以包含随机数 (jti)、到期时间 (exp) 和发布时间 (iat)。
有关详细信息,请参阅spec。
更多细节。
重放攻击(也称为回放攻击)是一种网络形式 恶意或恶意有效数据传输的攻击 欺诈性地重复或延迟。 [wikipedia]
因此,如果您使用随机数,则数据只能传输一次,因此无法重新传输。这可以防止经典的重放攻击。
为了避免延迟攻击,使用了过期时间和发布时间。这种攻击不仅包括捕获数据流量,还包括中断受害者的流量。中断交通需要时间。当然,使用到期时间和发布时间并不是 100% 的解决方案,但如果您明智地选择这些值,则可以将风险降至最低。
【讨论】:
您可以使用 https。你应该使用 https。
【讨论】: