双重身份验证(2FA):安全守护私密信息

 2023-09-14 11:48:04发布 2023-09-14 11:48:14更新

双因素身份验证(Two-factor authentication,2FA)是额外的一层安全保护,确保试图访问在线账户的人身份真实。除了提供你知道的信息(例如,用户名和密码,即第一个因素)之外,还需要使用自己拥有的设备(例如,智能手机,即二个因素)来确认你的身份。

双重身份验证(2FA)是什么

双重身份验证(2FA)是一种安全流程,可以提高一个人身份的真实性。想要了解双重身份验证(2FA),我们首先要知道身份验证因素有哪些。

身份验证因素

有多种类型的身份验证因子可用于确认一个人的身份。最常见的情况包括:

知识因素

用户知道的信息,可包括密码、个人识别码(PIN)或密码。

持有因素

用户拥有的事物,可能是其驾驶执照、身份证、移动设备或智能手机上的验证器应用程序。

属性因素

个人特质或用户的特征,通常是某种形式的生物特征识别因素。其中包括指纹识别、面部和语音识别,以及诸如击键特征和语言模式等行为生物识别特征。

位置因素

通常基于用户尝试验证其身份时的所在位置。组织可以限制位于特定位置的特定设备进行身份验证尝试,具体取决于员工登录到其系统的方式和位置。

时间因素

此因素将身份验证请求限制在特定时间内,只有在此时间内用户才能登录到服务。此时间之外的所有访问尝试将被阻止或限制。

双重身份验证的工作原理

当用户尝试登录到应用程序、服务或系统时,开始进行双重身份验证流程,直到他们被授予相应权限。身份验证流程如下所示:

第1步:用户打开他们想要访问的服务或系统的应用程序或网站。然后,系统会要求他们使用凭证登录。

第2步:用户输入登录凭证,通常是他们的用户名和密码。应用程序或网站确认详细信息,并确定是否已输入正确的初始身份验证详细信息。

第3步:如果应用程序或网站不使用密码登录凭证,则会为用户生成安全密钥。密钥将由身份验证工具进行审核,服务器将验证初始请求。

步骤4:随后将提示用户提交第二个身份验证因素。该因素通常是持有因素,也就是仅他们拥有的事物。例如,应用程序或网站将向用户的移动设备发送唯一的代码。

第5步:用户将代码输入至应用程序或网站,如果代码通过,用户将通过身份验证并被授予系统访问权限。

常见的双重身份验证(2FA)类型

有几种类型的2FA可用于进一步确认用户的身份,一些更简单的案例包括回答安全问题和提供一次性代码,其他的案例会使用各种类型的令牌和智能手机应用程序。常见的2FA类型包括:

2FA硬件令牌

硬件令牌是2FA方式最初的一种类型。它们通常是小密钥卡设备,每30秒生成一个唯一的数字代码。

当用户提交其第一个验证请求时,他们可以查看器密钥卡并提交其显示的代码。其他形式的硬件令牌包括通用串行总线(USB)设备,当把它们插入计算机时,会自动传输认证码。

其中一个案例是YubiKey,它是一种安全密钥,让用户能够为亚马逊、谷歌、微软和Salesforce等服务添加第二个身份验证因素。

当用户登录到支持一次性密码(OTP)的服务,例如Github、Gmail或Word Press时,他们会使用USB设备。用户将YubiKey插入其USB端口,输入密码,点击YubiKey字段,然后按设备上的按钮。它会生成一个包含44个字符的OTP,并自动输入到用户的设备上,从而通过持有2FA因素进行验证。

对于组织来说,分配硬件令牌设备的成本通常很高。此外,它们容易被用户丢失,并且可能被黑客破解,从而使其成为不安全的身份验证选项。

短信和SMS2FA

当用户尝试登录应用程序或服务时,会用到短消息服务(SMS)和文本消息2FA因素。SMS消息将被发送到用户的移动设备,其中包含用户随后输入到应用程序或服务的唯一代码。

银行和金融服务部门曾使用这类2FA因素,用于验证客户在线银行账户的购买和变更情况。但是,考虑到文本消息容易被拦截,他们通常会放弃此选项。

与SMS因素类似的是语音呼叫2FA。当用户输入其登录凭证时,他们将在移动设备收到电话,电话将告知他们需要输入的2FA代码。此因素的使用频率较低,但智能手机使用率较低的国家/地区的组织会部署此方式。

2FA推送通知

更常用的无密码双重身份验证是推送通知。与其通过短信或语音在其移动设备上接收代码(这可能会被黑客攻击),相反,用户会收到注册到认证系统的设备上的安全应用程序发送的推送通知。

该通知将告知用户所请求的操作,并提醒用户某人尝试进行身份验证。然后,他们只需批准或拒绝访问请求。

此身份验证方式在用户尝试访问的应用程序或服务、2FA服务提供商、用户本身和他们的设备之间建立起了联系。

这种方式易于使用,降低了安全风险出现的可能性,如网络钓鱼、中间人(MITM)攻击、社交工程和未经授权的访问尝试。

此身份验证方式比短信或语音呼叫更安全,但仍存在风险。例如,当出现推送通知时,用户很容易快速点击批准按钮,意外确认欺诈者进行的身份验证请求。

移动设备的2FA

智能手机为2FA提供各种可能性,让公司能够使用最适合自己的功能。有些设备能够识别指纹。内置摄像头可用于面部识别或虹膜扫描,麦克风可用于语音识别。

配备全球定位系统(GPS)的智能手机可以验证位置,从而能作为附加因素。语音或SMS也可以用作带外身份验证的渠道。

受信任的电话号码可用于通过短信或自动电话呼叫接收验证码。用户必须验证至少一个受信任电话号码才能注册2FA。Apple iOS、谷歌安卓和Windows 10均具有支持2FA的应用程序,使得电话本身能够作为满足持有因素的物理设备。

身份验证应用程序取代了通过文本、语音呼叫或电子邮件获取验证码的方式。例如,要访问支持Google Authenticator的网站或基于网络的服务,用户需要键入他们的用户名和密码,即知识因素。

然后,系统会提示用户输入六位数的号码。验证器会为用户生成数字,而不必等待几秒钟才能收到文本消息。这些数字每30秒更改一次,每次登录时都会不一样,通过输入正确的号码,用户可完成验证流程并证明拥有正确的设备,即持有因素。

推荐阅读