安全 cookie 的反重放攻击?

信息安全 饼干
2021-08-20 03:21:32

在我正在开发的系统中,我们在客户端有一些会话 cookie,我们需要保护它们免受重放攻击!所以我从这个问题Secure Session Cookies中找到了以下论文http://www.cse.msu.edu/~alexliu/publications/Cookie/cookie.pdf我真的很喜欢他们把东西放在一起的方式。这样做只有一个问题,那就是使用 SSL 会话密钥(用于防重放目的)。我在我的代码中获取此参数时遇到了一些问题(我们使用 .Net 框架并且服务器在 IIS7.0 上运行)。所以我想知道是否有人为他/她的系统实现了这种方法,以及你是否有建议用另一个参数替换这个参数。

谢谢

2个回答

我用过mod_auth_tkt,它使用了一个非常相似的方案。

我建议在使用SSL 会话密钥之前仔细考虑:用户(应用程序)会话、TCP/HTTPS 连接以及 SSL 会话 ID 和密钥都是不同的东西。它们不一定具有相同的寿命。

此外,重复使用或重新利用加密材料通常是不受欢迎的(尽管我不能说它在 HMAC 中的使用肯定有问题,问题在于确定相反的情况)。

在传统的浏览器/网络应用程序的情况下,这种方案可能会立即出现明显的问题,例如当浏览器选项卡不共享状态时。

您已验证的是浏览器“状态”,将其与其他任何东西(SSL 状态或 IP 地址)联系起来是令人担忧的。绑定到 SSL 会话 ID 更为常见(尽管有 MSIE 问题的历史)。实现这一目标的更好方法之一是使用客户端证书,当然,实施和管理并非易事。

有关更多注意事项,请参阅此内容:https ://www.owasp.org/index.php/Session_Management 和(现已完成)RFC 6896 Secure Cookie Sessions(链接到您链接到的问题的已接受答案中的草稿)有一个部分致力于重播问题。

更安全的策略是构建一个应用程序,一开始就很难获得会话 ID。在 cookie 值上设置SecureHTTPOnly标志。消除应用程序中的 XSS、CSRF 和 Clickjacking 漏洞。