代码之家  ›  专栏  ›  技术社区  ›  David Underhill

会话ID旋转是否增强了安全性?

  •  12
  • David Underhill  · 技术社区  · 15 年前

    (我认为)我理解为什么当用户登录时应该旋转会话ID-这是防止 session fixation .

    但是,随机/定期旋转会话ID有什么好处吗?

    在我看来,这似乎只是提供了一种虚假的安全感。假设会话ID不易受到暴力猜测的攻击,并且您只在cookie中传输会话ID(而不是作为URL的一部分),那么攻击者将必须访问您的cookie(最有可能是通过窥探您的流量)以获取会话ID。因此,如果攻击者获得一个会话ID,他们可能能够嗅探已旋转的会话I。而且,随机旋转并不能提高安全性。

    4 回复  |  直到 8 年前
        1
  •  6
  •   L̲̳o̲̳̳n̲̳̳g̲̳̳p̲̳o̲̳̳k̲̳̳e̲̳̳    15 年前

    如果您使用存储在cookie中的会话标识符,则会话固定不是问题。我浏览了一下你贴的那篇文章,看到了像使用DNS和XSS来拥有用户这样的事情,这显然比会话固定要严重得多(更不用说,是独立的)。如果您将会话标识符(具有可接受的熵级别)存储在cookie中,那么就没有理由旋转它。旋转它的唯一原因是它是可猜测的,或者在其他方面很脆弱,在这种情况下,用户无论如何都会被拥有。

        2
  •  0
  •   Aidan Cully    15 年前

    Web开发不是我的事情,但它可能是因为登录的用户可能是攻击者吗?例如,如果我登录并获得会话ID 4,我能猜到会话ID 5将属于其他用户吗,修改我的本地cookie,然后充当该用户?

        3
  •  0
  •   mP.    15 年前

    总的来说,听起来像个愚蠢的想法。

    如果用户点击后退按钮,这将彻底搞砸用户,因为上一页的链接现在包含一个过期的会话ID。您还可以抛出任何Ajax,因为每次对服务器进行RPC时,页面上的所有链接/表单都需要更新,因为它们现在具有无效值。如果有什么不安全的话,这意味着你的应用程序变得更加复杂,并且有更多的机会出错。

    如果推理要求您“旋转”ID,这可能意味着您的ID生成得很差,这应该是得到修复的东西。如果监听有问题,请使用SSL。

        4
  •  0
  •   Fredrik Wendt    8 年前

    根据这个 SSL Labs 博客帖子(从2013年开始),RC4芯片(仍在野外,2017年)很弱,可能允许黑帽公开截获的https流量(如wifi)的会话cookie数据。

    每旋转会话cookie id/数据一次 x 时间单位(分钟?),之后每 y 日志中建议的请求数。