多重身份验证 (MFA) 等功能是保护组织的绝佳方法,但用户通常会因为必须记住其密码而对额外的安全层感到沮丧。 无密码身份验证方法更方便,因为密码会被删除,并替换为你拥有或知道的内容。
身份验证 | 已有内容 | 你自己的或你已知的内容 |
---|---|---|
无密码 | Windows 10 设备、手机或安全密钥 | 生物识别或 PIN |
在身份验证方面,每个组织都有不同的需求。 Microsoft Entra ID 和 Azure Government 集成以下无密码身份验证选项:
- Windows Hello 企业版
- 适用于 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 Enterprise 单一登录扩展 (SSOe) 启用。 它预配一个安全 enclave 支持的硬件绑定加密密钥,用于跨使用 Microsoft Entra ID 进行身份验证的应用的 SSO。 用户的本地帐户密码不受影响,需要登录到 Mac。
借助 macOS 平台凭据,用户可通过配置 Touch ID 解锁设备并使用基于 Windows Hello 企业版技术的防网络钓鱼凭据来实现无密码。 这通过消除对安全密钥的需求来节省客户组织的成本,并通过与 Secure Enclave 集成来推进零信任目标。
macOS 平台凭据还可用作防网络钓鱼凭据,用于 WebAuthn 质询,包括浏览器重新身份验证场景。 如果在 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。
使用 SmartCard 实现 macOS 的平台单一登录
适用于 macOS 的平台单一登录 (PSSO) 允许用户使用智能卡身份验证方法实现无密码。 用户使用外部智能卡或智能卡兼容的硬令牌(例如 Yubikey)登录到计算机。 解锁设备后,智能卡与 Microsoft Entra ID 一起使用,以跨使用 Microsoft Entra ID 进行身份验证的应用授予 SSO,这些应用使用基于证书的身份验证 (CBA) 。 需要为用户配置并启用 CBA 才能使此功能正常工作。
要启用它,管理员需要使用 Microsoft Intune 或其他受支持的移动设备管理 (MDM) 解决方案配置 PSSO。
- 用户使用智能卡 PIN 解锁 macOS,这会解锁智能卡和密钥包,以提供对 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 安全密钥,请完成以下操作方法:
支持的方案
请注意以下事项:
- 管理员可以为其租户启用无密码身份验证方法。
- 对于每种方法,管理员可面向所有用户或选择其租户中的用户/安全组。
- 用户可以在其帐户门户中注册和管理这些无密码身份验证方法。
- 用户可以通过以下无密码身份验证方法登录:
- 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 企业版 | 使用 Authenticator 应用 无密码登录 | FIDO2 安全密钥 | |
---|---|---|---|
先决条件 | Windows 10 版本 1809 或更高版本 Microsoft Entra ID |
验证器应用 手机(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 中的无密码,请完成以下操作方法之一: