2 因素身份验证与安全问题

信息安全 验证 密码 多因素
2021-08-20 07:53:42

我在一家银行开设了一个账户,该账户具有额外的安全选项。

当它无法识别用于访问帐户的设备时,它会:

  1. 提示 3 个安全问题中的 1 个
  2. 通过短信向手机发送一次性令牌。

我确定它通过 cookie “识别”设备(当我清除浏览器 cookie 时,它​​会再次提示我提供额外的安全选项)。

假设我选择的安全问题/答案不受浏览 facebook/linkedin/etc 的社会工程学影响。

刚问了几个问题:

  1. 谁能帮我列举一次性令牌比安全问题更安全的所有原因?以下是我能想到的一些:

    • 这是真的 2 因素:你知道什么(登录/密码凭据),你有什么(手机)。
      与你所知道的(登录/密码凭据)和另一个你所知道的(秘密问题/答案)相反
    • 它是动态的,仅在给定的时间内提供访问权限。
    • 还有其他我想念的吗?
  2. 他们正在使用 cookie 来“识别”设备,因此不再提示一次性令牌破坏这种安全机制(例如在前面放一扇铁门并让后门解锁)这一事实吗?

  3. 在另一家使用类似安全措施的银行开设账户。但是,当我清除我的 cookie 时,它​​们仍然可以识别我的设备。我假设他们正在通过 IP 地址和可能的其他 HTTP 标头信息跟踪已知设备。这会是比 cookie 更好/更安全的“识别”方式吗?

谢谢,

3个回答
  1. 还有其他我想念的吗?

一次性密码比狗的名字具有更多的熵,并且不易受到枚举/字典攻击。

在网络钓鱼网站上,显示一些琐碎的个人问题是相当容易的(例如,你的狗叫什么名字)。钓鱼网站不需要知道答案。另一方面,很难欺骗发送到您手机的一次性密码,因为网络钓鱼者不会知道您的号码。

  1. 在前面放一扇铁门,让后门不上锁?

也许一点点。如果 cookie 具有足够的熵(即难以猜测),则可能不是问题。如果黑客有一些实际获取 cookie 的方法(例如,可以物理访问计算机),那么无论如何你都完蛋了。

  1. 当我清除我的 cookie 时,它​​们仍然“识别”我的设备

对此有几种可能的解释。

正如您所注意到的,一种解释是 IP 地址,尽管这对于移动设备或某些 ISP 来说效果不佳(IPv4 地址会不时更改)。

另一种解释是 cookie 由不同的令牌备份,例如 Flash 令牌,当您清除 cookie 时不会清除该令牌。

第三种解释是他们并没有真正检查他们是否“了解”您的计算机。相反,他们正在对浏览器的指纹、cookie、IP 地址等进行基于风险的分析并得出分数。如果你的分数不够好,你会收到 MFA 的提示。缺少 cookie 不一定会触发它。

一次性令牌比秘密问题提供了更多的安全性,因为它实现了 2 因素身份验证;在所有条件相同的情况下,2FA(密码 + SMS 密码、密码 + RSA SecurID 令牌等)总是比简单密码更安全。

另一方面,臭名昭著的“秘密问题”——通常由 Web 服务作为类似于 2FA 的安全增强功能提供——不仅对密码没有任何改进,而且降低了安全性。这是因为秘密答案的熵要小得多(“你最喜欢的颜色是什么?”)并且容易被猜到(“你高中的名字是什么?”)。

您的银行允许您通过 cookie 绕过 2FA 的事实是为了提高用户的可访问性(它以某种方式将您的计算机标记为“安全”,因此从那里进行的所有后续登录都将通过简单的密码完成)。如果您的笔记本电脑被盗或感染了木马,则可能存在安全风险。就我个人而言,我建议您在每次会话后清除 cookie,以便被迫始终通过 2FA 对自己进行身份验证。

  1. 谁能帮我列举一次性令牌比安全问题更安全的所有原因?

要评估一个系统的安全性,我们不仅需要赞美它的优点,还要赞美它的缺点。因此,当您和@JohnWu 提到 OTP 的基本积极方面但容易受到这些攻击时,我宁愿关注最后一个方面:

部署了一些解决方案来解决这些漏洞的某些方面,其中之一是强化浏览器,其他人建议使用加密令牌我个人更喜欢谷歌使用的OATH 令牌

还有一些其他考虑因素(即使它们是极端的但仍然可能发生的情况),例如当您的设备(笔记本电脑/手机)在您使用您拥有的令牌之前被盗时。请注意,根据国家和用于生成和交付代币的方法,一些银行曾经向客户收取费用(至少在过去)。

  1. 在另一家使用类似安全措施的银行开设账户。但是,当我清除我的 cookie 时,它​​们仍然“识别”我的设备。我假设他们正在通过 IP 地址和可能的其他 HTTP 标头信息跟踪已知设备。这会是比 cookie 更好/更安全的“识别”方式吗?

检查我对第二个问题的回答:

  1. 他们正在使用 cookie 来“识别”设备,因此不再提示一次性令牌破坏这种安全机制(例如在前面放一扇铁门并让后门解锁)这一事实吗?

攻击者可以使用被劫持的 cookie 做很多事情,但在您描述的上下文(银行系统)中,如果您的 cookie 被泄露,它是无用的。如果 cookie 是银行用来识别您的设备的唯一因素,那么您的问题就太严重了,但幸运的是,其他有效技术(例如浏览器指纹识别)也同时使用(此处还列出了其他一些方法:银行如何确定何时要求两因素身份验证?