网站的“信任这台计算机”选项有多安全?

信息安全 网页浏览器 多因素 相信
2021-09-07 22:40:37

许多网站都有“信任这台计算机”选项,允许用户绕过某些安全措施(例如:启用 Google 的两步验证后,如果计算机/浏览器之前被标记为受信任,无需输入手机代码) . 如果可能的话,我很难找到有关该主题的更多信息,特别是有关如何安全地实施它的信息。

注意:我专门指的是通用站点,除了浏览器的功能之外没有什么特别的依赖。例如,我的银行站点使用自己的安全模块(使用 Java 或 ActiveX),但这超出了这个问题的范围。 )

假设:

  • 被标记为受信任的计算机确实只由受信任的人使用,并采取了合理的措施使其无恶意软件。
  • SSL 用于与站点通信。

问题:

  1. 据我所知,cookie 用于在浏览器和站点之间存储一些任意共享机密。这就是全部?或者它是否采用某种独特的(不可伪造的)方式来唯一地识别特定的计算机或设备?

    • 如果它真的是任意的,它需要哪些属性来抵抗碰撞和/或伪造?(长度,随机性,...)
  2. “受信任”状态是否应该在某个时候到期?或者如果用户认为计算机/设备已被入侵,是否足以提供按需撤销它的方法?

  3. 它真的增加了安全性吗?再次使用 Google 示例,我注意到它会定期要求我再次进行身份验证(尽管只使用用户名/密码)。这背后的原因是什么?

    • 如果它假设计算机仍然是可信的,它不能让我永远保持身份验证吗?
    • 如果 OTOH 它假定恶意用户可能正在使用它,它不应该请求完整的身份验证吗?(即为什么它假设只有密码就足够了?它是否认为计算机本身是第二个因素?)

    我理解,一般来说,当便利性上升时,安全性就会下降。我怀疑这个选项是否违背了两因素身份验证的目的,或者它确实是一个合理的妥协。

1个回答

是的,“记住我”/“信任这台计算机”选项可以安全使用,只要您信任可能访问您的计算机的其他所有人,并且只要正确实施即可。

它通常使用持久 cookie 来实现。cookie 包含一个随机的、不可猜测的令牌,可以安全地识别您的身份。如果网站实施得当,它将通过 SSL 发送,并且 cookie 被标记为安全的。然而,许多网站忽略了这一步并通过非 SSL 连接发送它(如果您曾经通过不安全的通信介质使用您的计算机,例如通过不安全的 Wifi 链接,这是不安全的)或忘记将安全标志添加到 cookie(如果您使用的是不安全的 Wifi 链接,这对于主动中间人攻击是不安全的)。

此 cookie 可以选择有一个过期日期,或者可以在服务器端过期。这取决于网络服务器。可能没有太大的必要让它过期,但如果它让你感觉更舒服,你可以让它过期。

此功能增加了很多便利,因为它使您不必通过某些身份验证步骤。安全性/便利性权衡和安全性好处的确切细节将取决于特定网站如何使用“记住我”功能,并且无法在摘要中笼统地回答。

例如,许多网站可能会使用“记住我”功能,这样您每次从同一台计算机访问时都会自动登录,而无需输入密码。这很方便。这也意味着您可以合理地选择更长的密码:由于您很少需要输入密码,因此您可以随意设置,而不必担心尝试记住或输入密码的不便。因此,从某种意义上说,这确实提供了一些安全优势。