苹果终于接受了基于密钥的2FA。你也应该这样

2020-07-18 02:09:14

近三年前,谷歌推出了高级保护计划(APP),这是一项针对高风险用户的安全计划,需要硬件密钥才能访问账户,可以说是业界阻止账户被接管的最有效方式。但到目前为止,有一个重大缺陷阻碍了APP的发展:它的iPhone和iPad产品对大多数用户来说是有限的,令人望而却步。现在这一点已经改变了-稍后会有更多的改变-我觉得可以更广泛地推荐APP。

通过要求用户每次使用新设备登录时,除密码外还需要出示物理安全密钥,APP旨在阻止俄罗斯特工在发布民主党高级官员的敏感电子邮件时用来扰乱2016年总统选举的那种账户入侵。

这些攻击向目标提供了据称来自谷歌的令人信服的电子邮件。他们错误地警告说,目标的账户密码已经被一个外人获得,应该立即更改。当希拉里·克林顿(Hillary Clinton)的总统竞选团队主席约翰·波德斯塔(John Podesta)和其他民主党人照办时,他们实际上向黑客交出了密码。虽然黑客有很多方法可以侵入账户,但钓鱼仍然是最受欢迎的方法之一,这既是因为它很容易,也因为它的成功率如此之高。

APP使这类攻击几乎不可能发生。存储在APP所需物理密钥上的加密秘密不能被网络钓鱼,理论上说,即使有人物理访问了密钥或侵入了它连接的设备,也无法提取。除非攻击者窃取密钥(这在远程是不可行的),否则即使他们获得了目标的密码,也无法登录。

安全从业者几乎一致认为物理密钥是比验证器应用程序更安全的MFA替代方案,验证器应用程序提供不断变化的密码,用户输入密码是第二个因素。当通过短信发送时,临时密码更是一个问题,因为短信很容易受到SIM交换攻击和手机网络的危害。一次性密码也是有问题的,因为它们可能会被网络钓鱼,在某些情况下可能会被窃取。

2016年对谷歌5万名员工进行的两年多时间的一项研究发现,安全密钥在安全性和可靠性方面都击败了其他形式的2FA。APP将物理密钥的安全性与严格的帐户锁定方法相结合。在第一次设置APP时,用户必须注册两个安全密钥,比如由优比科或泰坦安全制作的密钥。一旦注册了密钥,所有可能登录到该帐户的设备都会自动注销,并且只能使用其中一个密钥作为第二因素重新登录。

用户首次从任何新设备登录时也必须使用密钥。(谷歌称这一过程为自举)。设备通过身份验证后,默认情况下,在后续登录期间不再需要第二个身份验证因素。即使到那时,如果公司员工看到可疑IP的登录或其他迹象表明账户已经或即将被劫持,谷歌可能会再次要求第二个因素。谷歌表示,这款应用程序提供了额外的保障措施,但从未提供过更多细节。

为了减轻引导过程的痛苦,用户可以将他们的Android-以及最近的iOS设备-注册为一个额外的物理密钥,通过在引导过程中自动出现的屏幕上单击YES来激活该密钥。这一选项的吸引力在于,用户通常将手机放在口袋里,比更传统的物理按键更方便。

基于手机的按键-符合最近推出的WebAuthn标准(稍后详细介绍)-只有在手机和正在引导的设备上都启用了蓝牙时才有效。最重要的是,只有当手机和自举设备都非常接近时,按键才能工作。这一要求修复了早期基于推送的2FA中的一个安全漏洞,即用户在成功输入帐户密码后点击手机上的OK按钮。

与来自验证器和短信的临时密码类似,当攻击者仔细计时的登录紧跟在试图登录攻击者的虚假网站的目标之后时,推送身份验证保护可以绕过。既然目标认为他们正在登录,他们没有理由不按下“是”按钮。蓝牙要求增加了一个额外的障碍--攻击者不仅必须拥有目标的账户密码和时间,而且还必须物理上接近目标的设备。

作为一名安全专家和一名不时与匿名消息来源合作的记者,我注册了APP,既用我的个人账户,也用我的工作账号,它使用G Suite。(我不得不先让我的管理员允许APP,但他可以很容易地打开它。)。每个账户的过程只需不到5分钟,这还不包括购买两把钥匙所需的时间。从那时起,物理密钥成为提供第二个身份验证因素的唯一手段。

虽然APP不是防止入侵的灵丹妙药,但它比我能想到的任何其他措施都能更有效地防止因网络钓鱼和其他类型的利用被泄露密码的攻击而导致的账户泄露。我喜欢它的保证,也喜欢它的可用性。使用支持NFC的Pixel XL,我可以很容易地在我拥有的所有设备上使用物理按键,即使在应用程序的早期,按键选项更有限。当我可以用我的手机作为安全钥匙时,事情就变得更容易了。

然而,到目前为止,我一直没有推荐在其他网站上普遍使用APP,甚至是2FA的物理按键。我的理由是:苹果长期以来一直严格限制对Lightning端口的访问,直到最近,iPhone和iPad NFC在这些设备上使用基于硬件的按键都受到了令人望而却步的限制。对于世界上最流行和最有影响力的平台之一的用户来说,几乎不值得推荐一种令人不快或不适合的身份验证方法。

在APP存在的大部分时间里,iPhone和iPad上唯一可以使用的物理按键是使用BLE的加密狗,BLE是蓝牙低能量的缩写。我发现这些加密狗脆弱、笨重,而且容易失败,有时需要尝试三次或更多次才能成功登录。这些钥匙是苹果咒语的对立面,它就是有效的。

更糟糕的是,我对蓝牙的安全性持怀疑态度。蓝牙规范及其某些实现中的大量漏洞引发了人们的合理担忧,即它们没有经过严格的安全审计。谷歌去年披露了一个漏洞,使附近的黑客有可能劫持泰坦蓝牙配对过程,但这并没有让我感觉好一点。(自那以后,该缺陷已被修复。)。

缺乏可行的关键选择不在谷歌手中。苹果由内而外构建的传统,以及它对其认为未经测试的技术的厌恶,使得该公司在开放其产品以硬件为基础的密钥方面行动迟缓。因此,苹果拒绝了允许iPhone和iPad通过NFC或其Lightning端口与大多数设备连接的呼吁。

虽然基于USB的钥匙可以在运行Chrome以及后来的Firefox和其他浏览器的Mac电脑(以及Windows和Linux设备)上使用,但蓝牙仍然是将钥匙连接到iPhone和iPad的唯一手段。归根结底,蓝牙钥匙似乎从未流行起来。例如,钥匙制造商Yubio仍然不提供使用蓝牙的产品。在谷歌支持论坛上发表的这样的评论抓住了一些用户对缺乏可行选择的失望之情。由于iOS和iPadOS基本上被排除在外,谷歌和一些行业合作伙伴尽了最大努力拼凑出替代产品。

例如,2019年6月,谷歌(Google)开始允许应用账户持有者将他们的Android手机作为安全密钥登录iPhone和iPad,但这一选择并没有让我相信APP已经为iPhone和iPad的大众做好了准备。一旦我渡过了学习曲线,这个选择就足够好用了。但即便如此,对第二台移动设备的要求--运行竞争对手的操作系统--意味着它不太可能吸引很大比例的iOS和iPadOS用户。

2019年8月,Yubio发布了Yubikey 5Ci,这是一款使用专有技术连接苹果Lightning端口的钥匙,全世界都在等待苹果增加原生支持。大多数人几乎没有注意到,因为5Ci只能与新贵浏览器Brave的iOS版本一起使用,然后才能用于数量极少的服务。更多主流浏览器和网站被完全排除在外。直到第二个月,也就是2019年9月,MacOS版的Safari才增加了对物理按键的支持,成为最后一款支持物理按键的主流浏览器。

直到12月发布iOS和iPadOS13.3之后,苹果才通过名为FIDO2的认证标准增加了对NFC和USB Key的本地支持。这些新增功能是一项重大改进,但也有其自身的局限性。七个月后,只有iOS和iPadOS版的Safari和Brave可以使用认证密钥。许多提供基于硬件的2FA的网站在Brave上都不能很好地工作,甚至根本不能正常工作。虽然浏览器可以使用Yubio按键,但根本不支持来自泰坦的按键。

令浏览器制造商和在线服务运营商沮丧的是,苹果尚未发布第三方浏览器使用最近添加的本地支持实际读取密钥所需的编程接口。(Brave可以读取5Ci密钥,这要归功于专有的Yubio接口。为了支持Yubio NFC密钥,Brave结合使用了Yubio界面和一组苹果API,使iOS和iPadOS应用程序可以原始访问支持NFC的设备。)。苹果公司的一位发言人证实,该公司尚未提供支持,但他表示,这不应被解读为未来不会发生这种情况。

所有这些可用性限制让我根本没有广泛推荐物理密钥--这又是因为我不想支持一种适用于iOS和iPadOS的MFA方法,而另一种适用于所有其他平台。