在不同页面上设置用户名和密码字段是否更安全?

信息安全 验证 用户界面
2021-09-03 15:20:37

我使用的网上银行需要输入您的用户名,导航到第二页,然后输入密码才能登录。如果有的话,这提供了哪些实际的安全优势?

4个回答
  1. 安全控制的角度来看,它真正所做的只是减慢自动密码探测软件执行其尝试多个密码任务的能力。该网站希望攻击者可以选择“更软”的目标而不是他们的网站。作为一种实际的安全控制,这种技术并不是特别有效。
    • 此外,特别是对于银行,这是美国银行业要求成员银行从中选择的几个行业批准的“安全增强”之一。2011 年在美国,所有银行和信用合作社都从联邦金融机构审查委员会获悉了新的网络安全政策 ( https://www.ffiec.gov/pdf/Auth-ITS-Final%206-22-11%20 %28FFIEC%20Formated%29.pdf),以及身份验证指南演示文稿(https://chapters.theiia.org/western-new-york/ChapterDocuments/FFIEC%20Authentication%20Guidance.pptx)。我记得我使用的银行在 2012 年和 2013 年转换了他们的登录页面,以在年度审计之前满足新标准,包括将密码从用户 ID 移到单独的页面。
    • 鉴于所有被盗密码列表、单独的被盗电子邮件地址列表、大多数用户在他们拥有帐户的所有网站上使用相同密码的事实,以及大多数网站愚蠢地(从安全角度来看)强制用户 ID是电子邮件地址,有新类型的高度选择性的“低和慢”网络密码探测系统利用了上述所有优势。因此,该网站希望让登录序列变慢以进行自动密码探测可能会使攻击者更快地放弃。
  2. 安全 UI 设计的角度来看,这种 UI 设计模式确实提供了一些有用的优势。它允许采用它的站点添加条件身份验证步骤。例如,网站可以为用户提供文本消息令牌选项,以创建双因素身份验证。对于那些提供手机号码的用户,顺序可能是:page1=enter userid,page2=enter token,page3=enter password。对于没有提供手机号码的用户,只需 page1=enter userid, page2=enter password。
    • 此 UI 设计模板还允许将其用户群逐步转换为跨时间跨度逐个用户的更新和更强的身份验证,这对于拥有数千或更多用户的网站来说都是关键考虑因素。
    • 另一个例子,我在 2012 年使用的银行将他们的登录页面转换为首先询问我的用户 ID,然后要求我确认我从一组图像中选择的个人资料中的图像,最后询问我的密码,所有这些都在单独的页面上. 从一组图像中选择一个图像是否真的增加了任何身份验证有效性是与登录 UI 设计模板的问题不同的问题。
    • 再举一个例子,一些银行选择实施“UI 键盘”屏幕键盘以试图阻止键盘记录器(用户 ID 在一个带有常规 UI 文本字段的页面上输入,然后使用“UI 键盘”调出第二个页面。一个可以讨论屏幕键盘在安全方面是否有效,但在单独的页面上可配置和顺序身份验证的 UI 设计模式允许网站有这种创新的自由。
    • 如果输入错误,大多数站点不会提前结束登录序列。最终用户在序列的各个页面中输入所有信息,只有在最后才知道身份验证是否成功。一些网站确实提前退出,这在帐户有效性检测方面产生了一些机构残余风险。
    • 考虑到用户在其个人资料中选择的内容,显示的特定身份验证步骤甚至可能因特定用户 ID 而异。因此,这样做的网站不再被迫为其所有最终用户提供一种固定的身份验证序列。
    • 甚至更高级的这种风格的登录系统甚至可以为第一次身份验证失败的同一最终用户改变身份验证步骤,或者从未知的计算机/设备访问,或者从明显超出区域的 IP 地址访问,或者如果站点的自动 IDS 软件认为密码探测攻击正在进行中。
    • 因此,在登录 UI 中将 IDENTIFICATION 与 AUTHENTICATION(又名用户 ID 与密码和其他步骤)分开,可以让网站更自由和灵活地随着时间的推移发展其登录流程。那些将其登录页面更改为此新模板的站点将来可以进一步调整或更改登录顺序,但他们的最终用户不会觉得登录过程发生了太大变化。

当涉及许多 IDP 时,我已经看到许多提供者将其用作进行 Home Realm Discovery 的一种方式。

当用户输入他们的电子邮件地址时,下一个屏幕将是 IDP,或者在许多可能的选择的情况下,是一个选择列表,然后是一个重定向。

另一种可能是这种技术混淆了密码管理器,或者内置了 chrome 的“记住我的密码”功能。可能有更好的方法可以做到这一点,如果仅出于这个原因这样做,可能会导致安全战区

一些网站可能允许用户将非机密图片或短语与其用户名相关联,并在用户输入密码之前显示。根据用于防止中间人情况的机制,这种方法可能会使网络钓鱼者更难制作一个页面,在给定用户名的情况下,该页面将快速、顺利地调用与之相关的图像/短语用户。在没有 MITM 检测代码的情况下,没有什么可以阻止网络钓鱼者放置一个虚假的“用户名”屏幕,将用户名提交到银行的表格中,然后从银行的系统发回图片/短语,但银行的系统可以结合各种机制来防止这种情况发生。也许最大的困难是实现与“安全”的兼容性

我怀疑这并不是出于真正的安全原因,而是这两种情况可能会解释它:

  • 这只是系统如何开发的人工制品,而不是他们今天再次构建系统时必须重新实现的东西。
  • 在之前的回答中已经提出,银行喜欢使他们的身份验证过程独一无二,并且比典型的在线账户更复杂。这是为了让用户觉得登录他们的银行比登录 Facebook 更安全。

可能已经将帐户识别与密码验证步骤分开,但如果是这种情况,那么我只能得出结论,这是出于安全以外的某种原因。如果向用户指示了肯定的帐户标识,那么它将创建帐户枚举漏洞并使系统的安全性降低而不是提高。

一些身份验证系统确实有一个“个人站点印章”,您应该在输入密码之前识别它以防止网络钓鱼,但是这些系统通常在向您显示印章之前有一些其他形式的身份验证(例如您的母亲的娘家姓) - 这可以防止帐户被枚举,并且网络钓鱼者无需知道有关您的一些详细信息即可知道站点封印。虽然这被认为不是很有效