密码之外:如何使用多重身份验证-aka 2FA-改善安全性

你只需要一次数据泄露就可以让你的整个在线生活彻底颠覆。问题在于密码,这是一种极其脆弱的保护宝贵资源的方法。

不要相信创建更长,更复杂,更难以猜测的密码会以某种方式使您在网上更安全,从而误以为是错误的安全感。您可以创建一个非常长且复杂的密码,它花费您五分钟的时间输入,并且如果您使用该密码的服务未正确存储该密码然后破坏了其服务器,则它无济于事。它经常发生。

即使制定了合理的政策(复杂性,定期更改,不重用),人员仍然是安全链中最薄弱的环节。社会工程学甚至可以说服聪明的人在钓鱼网站上输入其凭据,或者通过电话将其放弃。

解决方案是两因素身份验证或2FA。(某些服务,出于细节考虑,将其称为多因素身份验证或两步验证,但是2FA是使用最广泛的术语,因此这是我选择在此处使用的术语。)

微软在2019年的一份报告中得出结论认为2FA可以正常工作,阻止了99.9%的自动攻击。如果服务提供商支持多因素身份验证,即使与基于SMS的一次性密码一样简单,Microsoft也建议您使用它。Google的另一份2019年报告提供了类似的结论。

在本文中,我回答了人们对2FA提出的一些最常见的问题。

2FA如何工作?

为服务打开2FA会更改安全要求,从而迫使您在未知设备上首次访问安全服务时至少提供两个身份证明。这两种身份验证形式可以来自以下至少两个元素的任意组合:

  • “您知道的事情”,例如密码或PIN
  • “您的身份”,例如指纹或其他生物识别ID
  • “您拥有的东西”,例如可以生成或接收确认码的受信任的智能手机,或基于硬件的安全设备

在大多数情况下,您今天所看到的双因素身份验证系统将使用第一项(您的密码)和最后一项(您的智能手机)。智能手机已无处不在,使其成为理想的安全设备。

您的智能手机可以通过提供唯一的代码以及您的密码来登录来帮助进行身份验证。您可以通过以下两种方式之一获取该代码:从服务中以短信形式发送,或由安装在您的应用程序上生成电话。

例如,这是我刚才尝试使用以前从未使用过的浏览器登录Gmail帐户时看到的内容。

谷歌验证
如果有人尝试登录受2FA保护的帐户,则需要第二个证明,例如来自身份验证器应用的代码

如果此登录请求来自窃取了我的Google帐户凭据的某人,那么他们将死于不轨。没有该代码,他们将无法继续登录过程。

支持2FA的大多数(但不是全部)服务提供了多种身份验证方法。例如,谷歌和微软都可以将通知推送到受信任的设备。您点击通知以批准登录。越来越多的服务支持使用硬件安全密钥(请参阅:  “ YubiKey动手:基于硬件的2FA更安全,但请注意这些陷阱”。

而且,当然,大多数服务都提供了打印备份恢复代码的选项,您可以将其存储在安全的地方,并在无法使用常规辅助身份验证方法的情况下使用。如果您的智能手机丢失,被盗或损坏,则需要这些代码。

哪种认证方法最好?

最好的身份验证方法是您最熟悉的一种。只需确保您至少有两个选择,即可避免被锁定帐户的风险。

我宁愿选择使用身份验证器应用程序,而不是尽可能通过短信接收代码,出于两个原因,您也应该这样做。首先是简单的物流问题。有时您会访问互联网(通过有线连接或Wi-Fi)但由于手机信号微弱或不存在或者您在旅行时使用其他SIM卡而无法接收短信。第二个是极小的机会,但实际上,攻击者将通过社交方式通过移动运营商的防御手段来获取带有您电话号码的SIM卡,这一过程称为“ SIM劫持”。

最受欢迎的2FA应用是Google Authenticator,可在iOS和Android上使用。但是有很多选择。由于生成安全令牌的过程是基于开放标准的,因此任何人都可以编写执行相同功能的身份验证器应用。实际上,您可以使用多个身份验证器应用程序。我使用Microsoft Authenticator,它能够从Microsoft平台上的个人和企业帐户以及第三方应用程序Authy接收推送通知。(有关详细信息,请参阅“保护自己:如何选择正确的两因素身份验证器应用程序。”) 

值得注意的是,身份验证器应用程序在初始设置过程中仅需要数据连接。之后,一切都会在您的设备上发生。该过程由公认的标准控制,该标准使用基于时间的一次性密码算法(TOTP)。该算法将身份验证器应用程序用作复杂的计算器,使用您设备上的当前时间和共享机密生成代码。在线服务使用相同的秘密及其自己的时间戳来生成与您的输入进行比较的代码。连接的双方都可以毫无问题地调整时区,尽管如果设备上的时间错误,代码也会失败。

我怎么知道哪些服务支持2FA?

十年前,当我开始撰写有关该技术的文章时,对2FA的支持还很少。如今,这已司空见惯。

Google帐户(包括消费者Gmail和企业GSuite帐户)提供了多种两步式验证方法。所有Microsoft帐户(包括与Outlook.com,Xbox,Skype和其他消费者服务一起使用的免费帐户)都支持各种身份验证选项,与Microsoft的业务和企业服务(包括Microsoft 365和Office)一起使用的Azure Active Directory帐户也支持各种身份验证选项。 365。

2FA支持在社交媒体服务(Facebook,Twitter,Instagram等)中无处不在。每个值得考虑的在线存储服务都支持2FA,大多数域注册商和网络托管公司也支持2FA。如果您不确定特定的服务,最好的检查场所是一个称为Two Factor Auth List的一流开源信息存储库。而且,如果您所依赖的高价值服务不支持2FA,那么也许您应该考虑改用支持2FA的服务。 

我应该首先保护哪些服务?

您可能在数十个支持2FA的在线服务中都具有登录凭据,因此最好的策略是制定优先列表并逐步进行操作。我建议这些优先事项:

  • 密码/身份管理器。使用密码管理器也许是确保每个服务都有一个唯一的强壮密码的最重要方法,但这也会造成单一攻击点。添加2FA可以弥补潜在的缺陷。请注意,对于某些密码管理软件,2FA支持是付费选项。  
  • Microsoft和Google帐户。如果您使用两家公司的服务,则必须添加2FA支持。幸运的是,这也很容易。
  • 电子邮件帐户。如果恶意行为者可以接管您的电子邮件帐户,他们通常会造成严重破坏,因为电子邮件是发送密码重置链接的标准方法。从受感染的电子邮件帐户发送的邮件还可以用于攻击您的朋友和同事(例如,通过发送包含恶意软件的附件)。如果您使用Outlook.com,Exchange Online,Gmail或G Suite,则您的电子邮件帐户将使用与您的Microsoft或Google帐户关联的身份验证方法。如果您使用其他电子邮件服务,则需要分别设置2FA。
  • 社交媒体帐户。与电子邮件一样,与Twitter或Facebook帐户被黑客入侵有关的最大风险是,它将被用于对您的朋友和同事进行攻击。即使您是潜伏者,很少在社交媒体上发布任何内容,也应该保护这些帐户。  
  • 银行和金融机构。 大多数银行和信用卡公司都在后端欺诈检测程序上进行了大量投资,这就是为什么与其他类别相比2FA选项通常受到限制的原因。尽管如此,还是值得探索这些设置并尽可能收紧它们。  
  • 购物和在线商务。您保存了信用卡号码的任何网站都应受到保护。

如何设置2FA?

为大多数在线服务设置额外的安全性要求最低的技术技能。如果可以使用智能手机的相机,请键入一个六位数的数字,然后在对话框中点击“确定”,则您具备所有必需的技能。这项工作最困难的部分是查找具有相关设置的页面。

如果您使用的是SMS消息,则只需将手机号码与您的帐户相关联即可。(您也可以使用虚拟电话线(例如Google语音号码)来接收SMS消息。)将帐户配置为在您登录不受信任的设备时向该号码发送代码。例如,在Twitter帐户上启用此选项后,其外观如下:

twitter-2fa-setup.jpg
最简单的2FA选项是通过短信发送到已注册电话的代码。这是Twitter的2FA设置页面。

在Twitter帐户上设置2FA要求您首先重新输入密码,然后在要接收验证码的地方输入电话号码。完成该过程后,您将在该设备上收到一个代码。输入代码以确认您已收到它,并且2FA设置已完成。有用的是,Twitter在此设置过程结束时自动生成了恢复代码;将其打印并保存在安全的地方,以便在主要的2FA方法不再起作用时可以恢复。

要开始使用身份验证器应用程序,首先需要在要用作第二个身份验证因素的移动设备上安装该应用程序:

  • 如果您携带iOS设备,则可以从App Store中获取Google Authenticator应用。(已针对在iPhone上使用进行了优化,但也可以在iPad上使用。)在Android设备上,从Google Play商店安装Google Authenticator应用。
  • 使用相同标准创建身份验证令牌的Microsoft Authenticator应用程序可用于Google Play商店中的Android设备和App Store中的iOS设备。
  • Authy也可以从App Store和Google Play商店获得。
  • 如果您使用LastPass密码管理器,请考虑安装LastPass Authenticator应用程序,该应用程序旨在与LastPass应用程序一起在移动设备和台式机上使用。
  • 如果将1Password用作密码管理器,则所有平台上的1Password应用程序均内置2FA支持。有关如何使用一次性密码功能的详细信息,请参见1Password支持页面。

在为设备安装应用程序后,下一步是将其设置为与启用了2FA的每个帐户一起使用。 

设置过程通常要求您使用移动应用程序输入共享密码(长文本字符串)。我上面列出的所有移动应用程序都支持使用智能手机相机拍摄QR码照片,其中包含您帐户的共享密钥。这比手动输入复杂的字母数字字符串要容易得多。

例如,以下是您在设置Dropbox帐户时会看到的QR码:

dropbox-2fa-setup.jpg
在智能手机应用程序中,选择添加新帐户的选项,然后拍摄条形码图片以自动设置2FA支持。

在您的身份验证器应用中。选择添加新帐户的选项,选择条形码选项,将智能手机对准计算机屏幕上的条形码,然后等待应用填写必填字段。

在身份验证器应用程序中设置帐户后,它将开始根据共享密钥和当前时间生成代码。要完成设置过程,请从身份验证器应用程序中输入当前代码。

下次尝试使用新设备或网络浏览器登录时,您需要输入当前代码,如身份验证器应用程序所示。

如果您使用受2FA保护的帐户使用不支持现代身份验证的较旧的电子邮件应用程序,那么您的常规密码将不再起作用。您需要生成专用于这些应用程序的特殊密码。您帐户的安全设置应指导您完成该过程。(但实际上,如果您使用的是需要应用密码的旧应用,则也许应该考虑替换它。)

作为2FA设置过程的一部分,您还应该生成一个或多个恢复代码,可以将其打印出来并存储在安全的地方。万一您的智能手机丢失或损坏,您可以使用这些代码重新获得对帐户的访问权限。  

如何将2FA帐户转移到新的智能手机?

如果将SMS短信用作身份验证的第二要因,则将号码转移到新手机也将无缝转移2FA设置。

一些身份验证器应用程序允许您在多个设备上生成代码。1Password和Authy都属于此类别。在新手机上设置应用程序,安装该应用程序,登录,然后检查每个帐户以确认在新手机上生成的代码是否正常运行。Microsoft Authenticator允许您将代码备份到云中并将其还原到新设备上。有关说明,请参阅“使用Microsoft Authenticator应用程序备份和恢复帐户凭据”。 

但是,对于Google Authenticator和其他简洁的应用程序,您需要在新设备上手动重新创建每个帐户。在新设备上安装身份验证器应用,然后为旧手机上使用的每个帐户重复设置过程。在新的身份验证器应用上设置帐户会自动禁用旧设备生成的代码。

两因素身份验证将阻止大多数偶然的攻击行踪。不过,这并不完美。直接针对特定帐户的坚定攻击者可能能够找到解决该问题的方法,尤其是如果他可以劫持用于恢复的电子邮件帐户或将电话和SMS消息重定向到他控制的设备上时。但是,如果有人决心闯入您的帐户,那么您将面临更大的问题。

*编译:Domino

*来自:zdnet

标签: