Microsoft Entra ID 的无密码身份验证选项

多重身份验证 (MFA) 等功能是保护组织的一种好方法,但用户通常对必须记住密码之外的额外安全层感到沮丧。 无密码身份验证方法更为方便,因为密码会被删除并替换为你指定的内容,或者你自己的或你已知的内容。

身份验证 已有内容 你自己的或你已知的内容
无密码 Windows 10 设备、电话或安全密钥 生物识别或 PIN

当涉及身份验证时,每个组织都有不同的需求。 Microsoft Azure 和 Azure 政府提供了下面四个与 Microsoft Entra ID 集成的无密码身份验证选项:

  • Windows Hello 企业版
  • Microsoft Authenticator
  • 通行密钥 (FIDO2)
  • 基于证书的身份验证

身份验证:安全性和便利性

Windows Hello 企业版

Windows Hello 企业版非常适合拥有自己的指定 Windows 电脑的信息工作者。 生物识别和 PIN 凭据直接绑定到用户的电脑,可阻止除所有者之外的任何人访问。 利用公钥基础结构 (PKI) 集成和内置单一登录 (SSO) 支持,Windows Hello 企业版提供了一种方便的方法,可无缝访问本地和云中的公司资源。

用户登录 Windows Hello 企业版的示例。

以下步骤演示了使用 Microsoft Entra ID 进行登录的过程:

概述用户登录 Windows Hello 企业版所涉及的步骤的示意图

  1. 用户使用生物识别或 PIN 手势登录 Windows。 手势会解除对 Windows Hello 企业版私钥的锁定,并发送到云身份验证安全支持提供商(称为“云 AP 提供商”)。
  2. 云 AP 提供商从 Microsoft Entra ID 请求一个 nonce(一个随机的任意数字,可以使用一次)。
  3. Microsoft Entra ID 将返回有效期为 5 分钟的 nonce。
  4. 云 AP 提供商使用用户的私钥对 nonce 进行签名,然后将签名的 nonce 返回给 Microsoft Entra ID。
  5. Microsoft Entra ID 使用用户安全注册的公钥对 nonce 签名进行签名来验证已签名的 nonce。 Microsoft Entra ID 会验证签名,然后会验证返回的签名 nonce。 验证 nonce 后,Microsoft Entra ID 将使用对设备传输密钥进行加密的会话密钥 (PRT) 创建主刷新令牌,并将其返回给云 AP 提供商。
  6. 云 AP 提供商接收使用会话密钥加密的 PRT。 云 AP 提供商使用设备的专用传输密钥来解密会话密钥,并使用设备的受信任的平台模块 (TPM) 来保护会话密钥。
  7. 云 AP 提供商向 Windows 返回成功的身份验证响应。 然后,用户可以访问 Windows 以及云和本地应用程序,而无需再次进行身份验证 (SSO)。

Windows Hello 企业版规划指南可用于帮助你决定 Windows Hello 企业版部署的类型以及需要考虑的选项。

Microsoft Authenticator

你还可以使用员工的手机作为无密码身份验证方法。 除密码外,你可能已使用 Authenticator 应用作为便利的多重身份验证选项。 你还可以使用 Authenticator 应用作为无密码选项。

通过 Microsoft Authenticator 登录 Microsoft Edge

Authenticator 应用可将任何 iOS 或 Android 手机变成强、无密码凭据。 用户可以通过以下方式登录到任何平台或浏览器:向其手机发送通知,将屏幕上显示的数字与其手机上的相应数字匹配。 然后,用户可以使用生物识别(触摸或人脸)或 PIN 进行确认。 有关安装的详细信息,请参阅下载并安装 Microsoft Authenticator

使用 Authenticator 应用的无密码身份验证遵循与 Windows Hello 企业版相同的基本模式。 这会稍微复杂一些,因为需要识别用户,以便 Microsoft Entra ID 可以找到正在使用的 Authenticator 应用版本:

概述用户通过 Microsoft Authenticator 应用登录所涉及的步骤的示意图

  1. 用户输入其用户名。
  2. Microsoft Entra ID 检测到用户具有强凭据并启动强凭据流。
  3. 通过 iOS 设备上的 Apple Push Notification 服务 (APNS),或通过 Android 设备上的 Firebase Cloud Messaging (FCM) 向应用发送通知。
  4. 用户收到推送通知并打开应用。
  5. 应用调用 Microsoft Entra ID,并收到一个存在证据质询和 nonce。
  6. 用户通过输入生物识别或 PIN 以解锁私钥来完成质询。
  7. Nonce 使用私钥签名后发送回 Microsoft Entra ID。
  8. Microsoft Entra ID 执行公钥/私钥验证并返回令牌。

若要开始使用无密码登录,请完成以下操作方法:

通行密钥 (FIDO2)

FIDO(线上快速身份验证)联盟可帮助推广开放式身份验证标准,并减少将密码作为用户身份验证方式的情况。 FIDO2 是采用了 Web 身份验证 (WebAuthn) 标准的最新标准。

FIDO2 安全密钥是无法钓鱼的基于标准的无密码身份验证方法,可采用任何外形规格。 线上快速身份验证 (FIDO) 是无密码身份验证的开放式标准。 通过 FIDO,用户和组织可以应用该标准使用外部安全密钥或内置于设备的平台密钥登录到其资源,而无需使用用户名或密码。

用户可以进行注册,然后在登录界面选择 FIDO2 安全密钥作为主要的身份验证方式。 这些 FIDO2 安全密钥通常是 USB 设备,但也可以使用蓝牙或 NFC。 使用处理身份验证的硬件设备,由于不使用可能被公开或猜到的密码,帐户的安全性会提高。

FIDO2 安全密钥可用于登录到其 Microsoft Entra ID 或已建立混合 Microsoft Entra 联接的 Windows 10 设备,并可单一登录到其云和本地资源。 用户还可以登录到受支持的浏览器。 对于安全敏感的企业而言,或者如果企业有些员工不愿意或有些场景无法使用其手机作为第二种验证方法,FIDO2 安全密钥是一个不错的选择。

请参阅此处的参考文档:支持使用 Microsoft Entra ID 进行 FIDO2 身份验证。 有关开发人员最佳做法,请参阅在其开发的应用程序中支持 FIDO2 身份验证

使用安全密钥登录 Microsoft Edge

用户使用 FIDO2 安全密钥登录时,将使用以下过程:

概述用户使用 FIDO2 安全密钥登录所涉及的步骤的示意图

  1. 用户将 FIDO2 安全密钥插入到计算机中。
  2. Windows 检测 FIDO2 安全密钥。
  3. Windows 发送身份验证请求。
  4. Microsoft Entra ID 发送回 nonce。
  5. 用户完成其手势以解锁存储在 FIDO2 安全密钥的安全隔区中的私钥。
  6. FIDO2 安全密钥用私钥对 nonce 进行签名。
  7. 向 Microsoft Entra ID 发送带签名 nonce 的主刷新令牌(PRT) 令牌请求。
  8. Microsoft Entra ID 使用 FIDO2 公钥验证已签名的 nonce。
  9. Microsoft Entra ID 返回 PRT 以启用对本地资源的访问。

FIDO2 安全密钥提供商

以下提供商提供了 FIDO2 安全密钥,它们具有已知兼容无密码体验的不同外形规格。 建议你通过联系供应商以及 FIDO 联盟来评估这些密钥的安全属性。

提供程序 生物识别 USB NFC BLE
AuthenTrend y y y y
ACS n y y n
ATOS n y y n
Ciright n n y n
Composecure n n y n
Crayonic y n y y
Cryptnox n y y n
Ensurity y y n n
Excelsecu y y y y
Feitian y y y y
Fortinet n y n n
Giesecke + Devrient (G+D) y y y y
Google n y y n
GoTrustID Inc. n y y y
HID n y y n
HIDEEZ n y y y
Hypersecu n y n n
Hypr y y n y
Identiv n y y n
IDmelon Technologies Inc. y y y y
Kensington y y n n
KONA I y n y y
NeoWave n y y n
Nymi y n y n
Octatco y y n n
OneSpan Inc. n y n y
PONE 生物识别 y n n y
Precision Biometric n y n n
RSA n y n n
Sentry n n y n
SmartDisplayer y y y y
Swissbit n y y n
Thales Group y y y n
Thetis y y y y
Token2 Switzerland y y y n
Token Ring y n y n
TrustKey Solutions y y n n
VinCSS n y n n
WiSECURE Technologies n y n n
Yubico y y y n

注意

如果你购买并计划使用基于 NFC 的安全密钥,则需要为安全密钥提供支持的 NFC 读卡器。 Azure 未要求或限制使用 NFC 读卡器。 有关支持的 NFC 读卡器的列表,请与供应商联系以获取基于 NFC 的安全密钥。

如果你是供应商,并且希望你的设备列入此受支持设备列表,请查看有关如何成为与 Microsoft 兼容的 FIDO2 安全密钥供应商的指导。

若要开始使用 FIDO2 安全密钥,请完成以下操作方法:

基于证书的身份验证

通过 Microsoft Entra 基于证书的身份验证 (CBA),客户能够允许或要求用户使用 X.509 证书来针对其 Microsoft Entra ID 应用程序和浏览器登录直接进行身份验证。 CBA 使客户能够采用防网络钓鱼诈骗的身份验证,并使用针对其公钥基础设施 (PKI) 的 X.509 证书进行登录。

Microsoft Entra 基于证书的身份验证的关系图。

使用 Microsoft Entra CBA 的主要优势

好处 说明
出色的用户体验 - 需要基于证书的身份验证的用户现在可以直接针对 Microsoft Entra ID 进行身份验证,而无需投资于联合 AD FS。
- 门户 UI 使用户能够轻松配置如何将证书字段映射到用户对象属性,以在租户中查找用户(证书用户名绑定
- 门户 UI 通过配置身份验证策略来帮助确定哪些证书是单因素证书,哪些是多因素证书。
易于部署和管理 - Microsoft Entra CBA 是一项免费功能,不需要拥有任何付费版本的 Microsoft Entra ID 即可使用此功能。
- 无需复杂的本地部署或网络配置。
- 直接针对 Microsoft Entra ID 进行身份验证。
安全 - 本地密码不需要以任何形式存储在云端。
- 通过与 Microsoft Entra 条件访问策略无缝协作来保护你的用户帐户,包括防网络钓鱼的多重身份验证(MFA 需要许可版本)和阻止旧式身份验证。
- 强身份验证支持,其中用户可以通过颁发者或策略 OID(对象标识符)等证书字段定义身份验证策略,以确定哪些证书满足单因素条件,哪些满足多因素条件。
- 该功能与条件访问功能和身份验证强度功能无缝协作来强制执行 MFA,从而帮助保护你的用户。

支持的方案

支持以下方案:

  • 用户在所有平台上登录到基于 Web 浏览器的应用程序。
  • 用户登录到 iOS/Android 平台上的 Office 移动应用以及 Windows 中的 Office 本机应用,包括 Outlook、OneDrive 等。
  • 用户在移动本机浏览器上登录。
  • 支持通过使用证书颁发者“使用者”和“策略 OID”进行多重身份验证的精细身份验证规则。
  • 使用以下任何证书字段配置证书到用户帐户的绑定:
    • 使用者可选名称 (SAN) PrincipalName 和 SAN RFC822Nare
    • 使用者密钥标识符 (SKI) 和 SHA1PublicKey
  • 使用以下任何用户对象属性配置证书到用户帐户的绑定:
    • 用户主体名称
    • onPremisesUserPrincipalName
    • CertificateUserIds

支持的方案

请注意以下事项:

  • 管理员可以为其租户启用无密码身份验证方法。
  • 对于每种方法,管理员可面向所有用户或选择其租户中的用户/安全组。
  • 用户可以在其帐户门户中注册和管理这些无密码身份验证方法。
  • 用户可以通过以下无密码身份验证方法登录:
    • Authenticator 应用:适用于使用 Microsoft Entra 身份验证的情况,包括跨所有浏览器、在 Windows 10 安装期间以及与任何操作系统上集成的移动应用使用。
    • 安全密钥:适用于 Windows 10 的锁屏界面和受支持的浏览器(如旧版和新版 Microsoft Edge)中的 Web。
  • 用户可以使用无密码凭据访问他们在其中为来宾身份的租户中的资源,但仍可能需要在该资源租户中执行 MFA。 有关详细信息,请参阅可能需要进行两次多重身份验证
  • 用户不能在他们为来宾身份的租户中注册无密码凭据,正如他们不能在该租户中管理密码一样。

不支持的方案

对于任何用户帐户,对于每个无密码方法,建议不超过 20 组密钥。 随着更多密钥的添加,用户对象大小会增加,你可能会注意到某些操作的性能下降。 在这种情况下,应该删除不必要的密钥。 有关详细信息以及用于查询和删除密钥的 PowerShell cmdlet,请参阅使用 WHfBTools PowerShell 模块清理孤立的 Windows Hello 企业版密钥。使用 /UserPrincipalName 可选参数可以仅查询特定用户的密钥。 所需权限是以管理员或指定用户身份运行。

使用 PowerShell 创建包含所有现有密钥的 CSV 文件时,请仔细识别需要保留的密钥,并从 CSV 中删除这些行。 然后将修改后的 CSV 与 PowerShell 配合使用来删除剩余密钥,使帐户密钥计数低于限制。

可以放心删除 CSV 中报告为 "Orphaned"="True" 的任何密钥。 孤立密钥是指不再在 Microsoft Entra ID 中注册的设备的密钥。 如果删除所有孤立项仍无法使用户帐户低于限制,则有必要查看“DeviceId”和“CreationTime”列,以确定要删除的目标密钥。 删除要保留的密钥在 CSV 中对应的任何行时要小心。 在执行删除步骤之前,应从 CSV 中删除与用户主动使用的设备相对应的任何 DeviceID 的密钥。

选择无密码方法

这三个无密码选项之间的选择取决于公司的安全要求、平台要求和应用要求。

下面是在选择 Microsoft 无密码技术时要考虑的一些因素:

Windows Hello for Business 使用 Authenticator 应用进行无密码登录 FIDO2 安全密钥
先决条件 Windows 10 版本 1809 或更高版本
Microsoft Entra ID
Authenticator 应用
手机(iOS 和 Android 设备)
Windows 10 版本 1903 或更高版本
Microsoft Entra ID
模式 平台 软件 硬件
系统和设备 带有内置受信任的平台模块 (TPM) 的电脑
PIN 和生物识别
手机上的 PIN 和生物识别 与 Microsoft 兼容的 FIDO2 安全设备
用户体验 在 Windows 设备中使用 PIN 或生物识别(人脸、可变光圈或指纹)登录。
Windows Hello 身份验证已绑定到设备;用户需要设备和登录组件(如 PIN 或生物识别因素)才能访问公司资源。
使用带有指纹扫描、人脸或可变光圈识别或 PIN 的移动电话登录。
用户从他们的电脑或移动电话登录到工作帐户或个人帐户。
使用 FIDO2 安全设备(生物识别、PIN 和 NFC)登录
用户可以基于组织控制访问设备并使用设备(如 USB 安全密钥和启用了 NFC 的智能卡、密钥或可穿戴设备)基于 PIN 和生物识别进行身份验证。
支持的方案 Windows 设备的无密码体验。
适用于专用的工作电脑,可单一登录到设备和应用程序。
使用移动电话的无密码解决方案。
适用于从任何设备访问 Web 上的工作或个人应用程序。
为使用生物识别、PIN 和 NFC 的员工提供无密码体验。
适用于共享电脑以及无法使用移动电话的情况(例如,咨询台人员、公共展台或医院团队限制使用移动电话的情况)

使用下表选择支持你的需求和用户的方法。

角色 场景 环境 无密码技术
管理员 安全访问设备以执行管理任务 已分配 Windows 10 设备 Windows Hello 企业版和/或 FIDO2 安全密钥
管理员 非 Windows 设备上的管理任务 移动设备或非 Windows 设备 使用 Authenticator 应用进行无密码登录
信息工作者 高效工作 已分配 Windows 10 设备 Windows Hello 企业版和/或 FIDO2 安全密钥
信息工作者 高效工作 移动设备或非 Windows 设备 使用 Authenticator 应用进行无密码登录
一线工作者 工厂、车间、零售或数据录入中的展台 共享 Windows 10 设备 FIDO2 安全密钥

后续步骤

若要开始使用 Microsoft Entra ID 中的无密码,请完成以下操作方法之一: