在计算机系统中,身份验证是指验证用户身份的过程。大多数身份验证系统都依赖于身份验证因素,这些因素是只有用户才能拥有的物品(刷卡)、特征(指纹扫描)或信息位(PIN 码)。
考虑一个常见的身份验证方案:提供用户 ID 和密码以登录电子邮件帐户。当用户输入他们的用户 ID(此情形中可能是他们的电子邮件地址)时,他们会告诉电子邮件系统:“这就是我。”
但这还不足以验证最终用户的身份。任何人都可以输入他们想要的任何用户 ID,尤其是当用户的 ID 是诸如电子邮件地址之类的公开内容时。为了证明他们确实是拥有该电子邮件地址的人,用户输入了他们的密码,这是(理论上)其他人不应该拥有的秘密。然后,电子邮件系统会识别该用户是真实帐户持有人并允许他们进入。
身份验证过程还可以确认非人类用户的身份,例如服务器、Web 应用程序以及其他机器和工作负载。
身份验证是信息安全策略的基本组成部分。它对身份和访问管理 (IAM) 尤为重要,IAM 是一门处理用户如何访问数字资源的网络安全学科。身份验证使组织能够限制合法用户的网络访问,这是强制执行个人用户权限的第一步。
如今,用户身份已成为威胁参与者的主要目标。根据 IBM X-Force Threat Intelligence Index,劫持有效用户帐户是攻击者入侵网络的最常见方式,占网络攻击的 30%。黑客窃取凭据,然后冒充合法用户,从而得以突破网络防御,植入恶意软件并窃取数据。
为了抵御这些基于身份的攻击,许多组织正在放弃纯粹基于密码的身份验证方法。相反,他们正在采用多重身份验证、自适应身份验证和其他强大的身份验证系统,在这些系统中,用户凭据更难被窃取或伪造。
身份验证和授权是相关但不同的过程。身份验证确认用户的身份,而授权授予已验证的用户对资源的适当级别的访问权限。
我们可以把身份验证和授权看作是对两个互补问题的回答:
身份验证通常是授权的先决条件。例如,当网络管理员登录到安全系统时,他们必须通过提供正确的身份验证因素来证明自己是管理员。只有这样,IAM 系统才会授权用户执行添加和删除其他用户等管理操作。
在较高级别上,身份验证基于用户凭据的交换,用户凭据也称为身份验证因素。用户将其凭据提供给身份验证系统。如果这些信息与系统存档的信息一致,系统就完成了用户身份验证。
为了更深入地了解,可以将身份验证过程分为一系列步骤:
虽然此示例假设用户是人类,但对于非人类用户来说,身份验证通常是相同的。例如,当开发人员首次将应用程序连接到应用程序编程接口 (API) 时,API 可能会生成 API 密钥。密钥是只有 API 和应用程序知道的秘密值。从那时起,每当应用程序调用该 API 时,它都必须出示其密钥以证明该调用是真实的。
用户可以使用四种类型的身份验证因素来证明其身份:
知识因素是指理论上只有用户才知道的信息,例如密码、PIN 和安全问题的答案。虽然知识因素很常见,但它们也是最容易窃取或破解的因素。
持有因素是用户拥有的东西。虽然一些用户拥有本意仅用作持有因素的专用硬件安全令牌,但许多人使用他们的移动设备。
例如,用户可以安装一个身份验证器应用程序,该应用程序生成一次性密码 (OTP),该密码将在一次使用后过期。用户还可以通过短信接收 OTP。
机器和工作负载通常使用由受信任的第三方颁发的数字证书作为持有因素。
固有因素是用户特有的身体特征。该类别包括生物识别身份验证方法,例如面部识别和指纹扫描。
行为因素是行为模式,例如一个人的典型 IP 地址范围、活动时间和平均打字速度。
自适应身份验证方案通常使用行为因素来评估用户的风险等级。(有关更多信息,请参阅“身份验证类型”。)
通常,每个单独的应用程序、网站或其他资源都有自己的 IAM 系统来处理用户身份验证。随着数字化转型的兴起以及企业和消费者应用程序的激增,这种碎片化的系统变得繁琐和不便。
组织很难在整个网络中跟踪用户并执行一致的访问策略。用户养成了不良的安全习惯,例如使用简单的密码或在系统中重复使用凭据。
作为回应,许多组织正在实施更统一的身份识别方法,其中单个系统可以对各种应用程序和资产的用户进行身份验证。
不同的身份验证系统使用不同的身份验证方案。一些最常见的类型包括:
在单因素身份验证 (SFA) 流程中,用户仅需要提供一个身份验证因素来证明自己的身份。最常见的是,SFA 系统依赖用户名和密码组合。
SFA 被认为是最不安全的身份验证类型,因为它意味着黑客只需要窃取一个凭证即可接管用户的帐户。美国网络安全和基础设施局 (CISA) 官方不鼓励 SFA,称其为“不良做法”。
无密码身份验证是一种不使用密码或其他知识因素的身份验证系统。例如,线上快速身份验证 2 (FIDO2) 身份验证标准将密码替换为基于公钥加密技术的密钥。
在 FIDO2 下,用户注册其设备以充当应用程序、网站或其他服务的身份验证器。在注册过程中,将创建公私密钥对。公钥与服务共享,私钥保存在用户的设备上。
当用户想要登录服务时,该服务会向他们的设备发送质询。用户通过输入 PIN 码、扫描指纹或执行其他操作进行响应。此操作可使设备使用私人密钥签署质询书,证明用户身份。
越来越多的组织采用无密码身份验证来防范凭据窃贼,由于知识因素相对容易被窃取,因此他们往往瞄准知识因素。
随着网络安全控制措施变得越来越有效,威胁参与者正在学习绕过它们,而不是正面应对它们。强大的身份验证流程可以帮助阻止基于身份的网络攻击,在这些攻击中,黑客会窃取用户帐户并滥用其有效权限来穿透网络防御并造成严重破坏。
根据 X-Force Threat Intelligence Index,基于身份的攻击是两种最常见的初始攻击媒介之一,并且威胁参与者有许多窃取凭据的策略。用户密码,即使是强密码,也很容易通过暴力攻击被破解;在暴力攻击中,黑客使用机器人和脚本系统地测试可能的密码,直到找到一个可行的密码。
威胁参与者可以使用社会工程策略来诱骗目标给出他们的密码。他们可以尝试更直接的方法,例如中间人攻击或在受害者的设备上植入间谍软件。攻击者甚至可以在暗网上购买凭据,其他黑客会在那里出售他们在之前的攻击中窃取的帐户数据。
然而,许多组织仍在使用无效的身份验证系统。根据 X-Force Threat Intelligence 指数,识别和身份验证失败是第二常见的 Web 应用程序安全风险。
强大的身份验证流程可以帮助保护用户帐户以及他们可以访问的系统,因为黑客很难窃取凭据并冒充合法用户。
例如,多重身份验证 (MFA) 使黑客必须窃取多个身份验证因素,包括物理设备甚至生物识别数据,才能冒充用户。类似地,自适应身份验证方案可以检测用户何时参与危险行为,并在允许他们继续之前提出额外的身份验证质询。这可以帮助阻止黑客滥用被盗帐户的尝试。
通过加强网络安全,身份验证还可以带来额外的好处。例如,IBM 商业价值研究院的一项研究发现,66% 的运营主管将网络安全视为收入推动因素。
除了保护个人用户帐户之外,身份验证系统还可以服务于特定用例,包括: