许多网站都有“信任这台计算机”选项,允许用户绕过某些安全措施(例如:启用 Google 的两步验证后,如果计算机/浏览器之前被标记为受信任,则无需输入手机代码) . 如果可能的话,我很难找到有关该主题的更多信息,特别是有关如何安全地实施它的信息。
(注意:我专门指的是通用站点,除了浏览器的功能之外没有什么特别的依赖。例如,我的银行站点使用自己的安全模块(使用 Java 或 ActiveX),但这超出了这个问题的范围。 )
假设:
- 被标记为受信任的计算机确实只由受信任的人使用,并采取了合理的措施使其无恶意软件。
- SSL 用于与站点通信。
问题:
据我所知,cookie 用于在浏览器和站点之间存储一些任意共享机密。这就是全部?或者它是否采用某种独特的(不可伪造的)方式来唯一地识别特定的计算机或设备?
- 如果它真的是任意的,它需要哪些属性来抵抗碰撞和/或伪造?(长度,随机性,...)
“受信任”状态是否应该在某个时候到期?或者如果用户认为计算机/设备已被入侵,是否足以提供按需撤销它的方法?
它真的增加了安全性吗?再次使用 Google 示例,我注意到它会定期要求我再次进行身份验证(尽管只使用用户名/密码)。这背后的原因是什么?
- 如果它假设计算机仍然是可信的,它不能让我永远保持身份验证吗?
- 如果 OTOH 它假定恶意用户可能正在使用它,它不应该请求完整的身份验证吗?(即为什么它假设只有密码就足够了?它是否认为计算机本身是第二个因素?)
我理解,一般来说,当便利性上升时,安全性就会下降。我怀疑这个选项是否违背了两因素身份验证的目的,或者它确实是一个合理的妥协。