Microsoft Entra ID 的无密码身份验证选项
多重身份验证 (MFA) 等功能是保护组织的一种好方法,但用户通常对必须记住密码之外的额外安全层感到沮丧。 无密码身份验证方法更为方便,因为密码会被删除并替换为你指定的内容,或者你自己的或你已知的内容。
身份验证 | 已有内容 | 你自己的或你已知的内容 |
---|---|---|
无密码 | Windows 10 设备、电话或安全密钥 | 生物识别或 PIN |
当涉及身份验证时,每个组织都有不同的需求。 Microsoft Entra ID 和 Azure 政府整合以下无密码身份验证选项:
- Windows Hello for Business
- macOS 平台凭据
- 使用智能卡身份验证进行 macOS 平台单一登录 (PSSO)
- Microsoft Authenticator
- 通行密钥 (FIDO2)
- 基于证书的身份验证
Windows Hello 企业版
Windows Hello 企业版非常适合拥有自己的指定 Windows 电脑的信息工作者。 生物识别和 PIN 凭据直接绑定到用户的电脑,可阻止除所有者之外的任何人访问。 利用公钥基础结构 (PKI) 集成和内置单一登录 (SSO) 支持,Windows Hello 企业版提供了一种方便的方法,可无缝访问本地和云中的公司资源。
以下步骤演示了使用 Microsoft Entra ID 进行登录的过程:
- 用户使用生物识别或 PIN 手势登录 Windows。 手势会解除 Windows Hello 企业版私钥的锁定,并被发送到云身份验证安全支持提供程序(称为云验证提供程序 (CloudAP))。 有关 CloudAP 的详细信息,请参阅什么是主刷新令牌?。
- CloudAP 从 Microsoft Entra ID 请求一个 nonce(一个随机的任意数字,可以使用一次)。
- Microsoft Entra ID 将返回有效期为 5 分钟的 nonce。
- CloudAP 使用用户的私钥对 nonce 进行签名,然后将签名的 nonce 返回给 Microsoft Entra ID。
- Microsoft Entra ID 使用用户安全注册的公钥对 nonce 签名进行签名来验证已签名的 nonce。 Microsoft Entra ID 会验证签名,然后会验证返回的签名 nonce。 验证 nonce 后,Microsoft Entra ID 将使用加密到设备传输密钥的会话密钥创建主刷新令牌 (PRT) ,并将其返回给 CloudAP。
- CloudAP 接收包含会话密钥的加密 PRT。 CloudAP 使用设备的专用传输密钥来解密会话密钥,并使用设备的受信任的平台模块 (TPM) 来保护会话密钥。
- CloudAP 向 Windows 返回成功的身份验证响应。 然后,用户可以使用无缝登录 (SSO) 访问 Windows 和云和本地应用程序。
Windows Hello 企业版规划指南可用于帮助你决定 Windows Hello 企业版部署的类型以及需要考虑的选项。
macOS 平台凭据
macOS 的平台凭据是 macOS 上的一项新功能,它使用 Microsoft 企业单一登录扩展 (SSOe) 来启用。 它预配一个安全 Enclave 支持的硬件绑定加密密钥,可以在使用 Microsoft Entra ID 进行身份验证的应用中进行 SSO。 用户的本地帐户密码不受影响,需要登录到 Mac。
借助 macOS 平台凭据,用户可通过配置 Touch ID 解锁设备并使用基于 Windows Hello 企业版技术的防网络钓鱼凭据来实现无密码。 这通过消除对安全密钥的需求来节省客户组织的成本,并通过与 Secure Enclave 集成来推进零信任目标。
macOS 平台凭据还可用作防网络钓鱼凭据,以供在 WebAuthn 质询中使用(包括浏览器重新身份验证方案)。 身份验证策略管理员需要启用通行密钥 (FIDO2) 身份验证方法,以支持将 macOS 平台凭据作为防钓鱼凭据。 如果你在 FIDO 策略中使用密钥限制策略,则需要将用于 macOS 平台凭据的 AAGUID 添加到允许的 AAGUID 列表:7FD635B3-2EF9-4542-8D9D-164F2C771EFC
- 用户使用指纹或密码手势解锁 macOS,这会解锁密钥包来提供对 UserSecureEnclaveKey 的访问。
- macOS 从 Microsoft Entra ID 请求一个 nonce(一个随机的任意数字,只能使用一次)。
- Microsoft Entra ID 将返回有效期为 5 分钟的 nonce。
- 操作系统 (OS) 向 Microsoft Entra ID 发送登录请求,该请求带有一个嵌入式断言,该断言以 Secure Enclave 中的 UserSecureEnclaveKey 签名。
- Microsoft Entra ID 使用 UserSecureEnclave 密钥的用户安全注册的公钥来验证已签名的断言。 Microsoft Entra ID 验证签名和 nonce。 验证断言后,Microsoft Entra ID 会创建一个主刷新令牌 (PRT)(它使用注册期间交换的 UserDeviceEncryptionKey 的公钥进行加密),并将响应发送回 OS。
- OS 解密并验证响应,检索 SSO 令牌,存储和与 SSO 扩展共享它来提供 SSO。 用户可以使用 SSO 访问 macOS、云和本地应用程序。
若要详细了解如何配置和部署 macOS 平台凭据,请参阅 macOS 平台 SSO。
使用智能卡的 macOS 平台单一登录
借助 macOS 的平台单一登录 (PSSO),用户可使用智能卡身份验证方法实现无密码。 用户使用外部智能卡或智能卡兼容的硬令牌(例如 Yubikey)登录到计算机。 设备解锁后,智能卡与 Microsoft Entra ID 一起使用,在使用 Microsoft Entra ID 进行身份验证的应用中使用基于证书的身份验证 (CBA) 授权 SSO。 需要为用户配置并启用 CBA 才能使此功能正常工作。 若要配置 CBA,请参阅如何配置 Microsoft Entra 基于证书的身份验证。
若要启用它,管理员需要使用 Microsoft Intune 或其他受支持的移动设备管理 (MDM) 解决方案来配置 PSSO。
- 用户使用智能卡 PIN 解锁 macOS,该 PIN 可解锁智能卡和密钥包,来提供对 Secure Enclave 中的设备注册密钥的访问权限。
- macOS 从 Microsoft Entra ID 请求一个 nonce(一个随机的任意数字,只能使用一次)。
- Microsoft Entra ID 将返回有效期为 5 分钟的 nonce。
- 操作系统 (OS) 向 Microsoft Entra ID 发送登录请求,该请求带有一个嵌入式断言,该断言使用智能卡中用户的 Microsoft Entra 证书进行签名。
- Microsoft Entra ID 验证已签名的断言、签名和 nonce。 验证断言后,Microsoft Entra ID 会创建一个主刷新令牌 (PRT)(它使用注册期间交换的 UserDeviceEncryptionKey 的公钥进行加密),并将响应发送回 OS。
- OS 解密并验证响应,检索 SSO 令牌,存储和与 SSO 扩展共享它来提供 SSO。 用户可以使用 SSO 访问 macOS、云和本地应用程序。
Microsoft Authenticator
你还可以使用员工的手机作为无密码身份验证方法。 除密码外,你可能已使用 Authenticator 应用作为便利的多重身份验证选项。 你还可以使用 Authenticator 应用作为无密码选项。
Authenticator 应用可将任何 iOS 或 Android 手机变成强、无密码凭据。 用户可以通过以下方式登录到任何平台或浏览器:向其手机发送通知,将屏幕上显示的数字与其手机上的相应数字匹配。 然后,用户可以使用生物识别(触摸或人脸)或 PIN 进行确认。 有关安装的详细信息,请参阅下载并安装 Microsoft Authenticator。
使用 Microsoft Authenticator 的无密码身份验证遵循与 Windows Hello 企业版相同的基本模式。 这会稍微复杂一些,因为需要识别用户,以便 Microsoft Entra ID 可以找到正在使用的 Authenticator 应用版本:
- 用户输入其用户名。
- Microsoft Entra ID 检测到用户具有强凭据并启动强凭据流。
- 通过 iOS 设备上的 Apple Push Notification 服务 (APNS),或通过 Android 设备上的 Firebase Cloud Messaging (FCM) 向应用发送通知。
- 用户收到推送通知并打开应用。
- 应用调用 Microsoft Entra ID,并收到一个存在证据质询和 nonce。
- 用户通过输入生物识别或 PIN 以解锁私钥来完成质询。
- Nonce 使用私钥签名后发送回 Microsoft Entra ID。
- Microsoft Entra ID 执行公钥/私钥验证并返回令牌。
若要开始使用无密码登录,请完成以下操作方法:
通行密钥 (FIDO2)
用户可以注册通行密钥 (FIDO2),并将其选为其主要登录方法。 使用处理身份验证的硬件设备,由于不使用可能被公开或猜到的密码,帐户的安全性会提高。 目前其为预览版,身份验证管理员还可以使用 Microsoft Graph API 和自定义客户端代表用户预配 FIDO2 安全性。 目前,代表用户预配仅限于安全密钥。
FIDO(线上快速身份验证)联盟可帮助推广开放式身份验证标准,并减少将密码作为用户身份验证方式的情况。 FIDO2 是采用了 Web 身份验证 (WebAuthn) 标准的最新标准。 通过 FIDO,组织可以通过使用外部安全密钥或内置于设备中的平台密钥来应用 WebAuthn 标准,无需使用用户名或密码即可登录。
FIDO2 安全密钥是无法钓鱼的基于标准的无密码身份验证方法,可采用任何外形规格。 它们通常是 USB 设备,但它们也可以使用蓝牙或近场通信 (NFC)。 通行密钥 (FIDO2) 基于相同的 WebAuthn 标准,可保存在 Authenticator 或移动设备、平板电脑或计算机上。
FIDO2 安全密钥可用于登录到其 Microsoft Entra ID 或已建立混合 Microsoft Entra 联接的 Windows 10 设备,并可单一登录到其云和本地资源。 用户还可以登录到受支持的浏览器。 对于安全敏感的企业而言,或者如果企业有些员工不愿意或有些场景无法使用其手机作为第二种验证方法,FIDO2 安全密钥是一个不错的选择。
有关通行密钥 (FIDO2) 支持的详细信息,请参阅对于使用 Microsoft Entra ID 进行通行密钥 (FIDO2) 身份验证的支持。 有关开发人员最佳做法,请参阅在其开发的应用程序中支持 FIDO2 身份验证。
用户使用 FIDO2 安全密钥登录时,将使用以下过程:
- 用户将 FIDO2 安全密钥插入到计算机中。
- Windows 检测 FIDO2 安全密钥。
- Windows 发送身份验证请求。
- Microsoft Entra ID 发送回 nonce。
- 用户完成其手势以解锁存储在 FIDO2 安全密钥的安全隔区中的私钥。
- FIDO2 安全密钥用私钥对 nonce 进行签名。
- 向 Microsoft Entra ID 发送带签名 nonce 的主刷新令牌(PRT) 令牌请求。
- Microsoft Entra ID 使用 FIDO2 公钥验证已签名的 nonce。
- Microsoft Entra ID 返回 PRT 以启用对本地资源的访问。
有关 FIDO2 安全密钥提供程序的列表,请参阅成为 Microsoft 兼容的 FIDO2 安全密钥供应商。
若要开始使用 FIDO2 安全密钥,请完成以下操作方法:
基于证书的身份验证
通过 Microsoft Entra 基于证书的身份验证 (CBA),客户能够允许或要求用户使用 X.509 证书来针对其 Microsoft Entra ID 应用程序和浏览器登录直接进行身份验证。 CBA 使客户能够采用防网络钓鱼诈骗的身份验证,并使用针对其公钥基础设施 (PKI) 的 X.509 证书进行登录。
使用 Microsoft Entra CBA 的主要优势
优点 | 说明 |
---|---|
出色的用户体验 | - 需要基于证书的身份验证的用户现在可以直接针对 Microsoft Entra ID 进行身份验证,而无需投资于联合验证方式。 - 门户 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 中的无密码,请完成以下操作方法之一: