刷新用户会话的 CSRF 令牌之前的最佳时间段是什么?

信息安全 验证 密码学 csrf 会话管理 可用性
2021-08-19 20:44:57

我正在使用表单令牌来防止 CSRF 攻击。这些令牌被存储并绑定到用户的会话。现在我只想每 N 分钟或几小时刷新一次令牌,这样用户就不会遇到任何可用性问题,例如浏览器后退按钮无法正常工作。

我的问题是,刷新用户会话令牌之前的最佳时间段是多少?

2个回答

我的建议:永远不要。

每个会话你应该只有一个 CSRF 令牌。如果会话超时,则 CSRF 令牌此时过期。

由于攻击者无法读取 CSRF 令牌(至少没有攻击者将 CSRF 令牌读取为会话 ID cookie 的风险),除非您有新的令牌,否则无需生成新令牌会议与它一起去。

那么你应该研究你的个人数据。你应该问自己以下问题:

  1. 用户在您的系统中花费了多少时间?
  2. 在会话中不改变它的可用性影响是什么?
  3. 您的会话到期时间是多少?...

这里没有人能比你自己更好地回答这些问题(以及其他问题)。