Windows Hello 企业版的预配工作原理

Windows Hello 企业版预配使用户能够注册新的、强大的双因素凭据,该凭据可用于无密码身份验证。 预配体验因:

  • 如何将设备加入到Microsoft Entra ID
  • Windows Hello 企业版部署类型
  • 如果环境是托管的还是联合的

注意

本部分中的流并非针对每个可能的方案都详尽无遗。 例如,联合密钥信任也是受支持的配置。

使用托管身份验证预配已加入Microsoft Entra设备

使用托管身份验证加入Microsoft Entra设备的Windows Hello预配流的序列图。

阶段 描述
A 云体验主机中托管的预配应用程序 (CXH) 开始预配,方法是请求 Azure 设备注册服务 (ADRS) 的访问令牌。 应用程序使用 Microsoft Entra Web 帐户管理器插件发出请求。
用户必须提供两个身份验证因素。 在此阶段中,用户已经提供了一个身份验证因素,通常是用户名和密码。 Microsoft Entra多重身份验证服务提供第二个身份验证因素。 如果用户在过去 10 分钟内执行了Microsoft Entra多重身份验证(例如从现成体验 (OOBE) 注册设备时),则不会提示他们进行 MFA,因为当前 MFA 仍然有效。
Microsoft Entra ID验证访问令牌请求以及与它关联的 MFA 声明,创建 ADRS 访问令牌,并将其返回到应用程序。
B 收到 ADRS 访问令牌后,应用程序会检测设备是否有Windows Hello生物识别兼容传感器。 如果应用程序检测到生物识别传感器,则用户可以选择注册生物识别。 完成或跳过生物识别注册后,应用程序要求用户在与生物识别) 一起使用时创建 PIN 和默认 (和回退手势。 用户提供并确认其 PIN。 接下来,应用程序从密钥预生成池请求Windows Hello 企业版密钥对,其中包括证明数据。 这是 ukpub/ukpriv) (用户密钥。
C 应用程序将 ADRS 令牌、ukpub、证明数据和设备信息发送到 ADRS 进行用户密钥注册。 Azure DRS 验证 MFA 声明是否保持最新状态。 成功验证后,Azure DRS 在 Microsoft Entra ID 中找到用户的 对象,并将密钥信息写入多值属性。 密钥信息包括对创建它的设备的引用。 Microsoft Entra ID向应用程序返回密钥 ID,指示用户预配结束,应用程序退出。

使用联合身份验证为已加入Microsoft Entra设备预配

使用联合身份验证Microsoft Entra联接设备的Windows Hello预配流的序列图。

阶段 描述
A 云体验主机中托管的预配应用程序 (CXH) 开始预配,方法是请求 Azure 设备注册服务 (ADRS) 的访问令牌。 应用程序使用 Microsoft Entra Web 帐户管理器插件发出请求。
在联合环境中,插件将令牌请求发送到本地 STS,例如Active Directory 联合身份验证服务。 本地 STS 对用户进行身份验证,并确定用户是否应执行另一个身份验证因素。
用户必须提供两个身份验证因素。 在此阶段中,用户已经提供了一个身份验证因素,通常是用户名和密码。 Microsoft Entra多重身份验证服务提供第二个身份验证因素。 如果用户在过去 10 分钟内执行了Microsoft Entra多重身份验证(例如从现成体验 (OOBE) 注册设备时),则不会提示他们进行 MFA,因为当前 MFA 仍然有效。
本地 STS 服务器在成功的 MFA 时颁发企业令牌。 应用程序将令牌发送到Microsoft Entra ID。
Microsoft Entra ID验证访问令牌请求以及与它关联的 MFA 声明,创建 ADRS 访问令牌,并将其返回到应用程序。
B 收到 ADRS 访问令牌后,应用程序会检测设备是否有Windows Hello生物识别兼容传感器。 如果应用程序检测到生物识别传感器,则用户可以选择注册生物识别。 完成或跳过生物识别注册后,应用程序要求用户在与生物识别) 一起使用时创建 PIN 和默认 (和回退手势。 用户提供并确认其 PIN。 接下来,应用程序从密钥预生成池请求Windows Hello 企业版密钥对,其中包括证明数据。 这是 ukpub/ukpriv) (用户密钥。
C 应用程序将 ADRS 令牌、ukpub、证明数据和设备信息发送到 ADRS 进行用户密钥注册。 Azure DRS 验证 MFA 声明是否保持最新状态。 成功验证后,Azure DRS 在 Microsoft Entra ID 中找到用户的 对象,并将密钥信息写入多值属性。 密钥信息包括对创建它的设备的引用。 Microsoft Entra ID向应用程序返回密钥 ID,表示用户预配结束,应用程序退出。

使用托管身份验证在云 Kerberos 信任部署模型中进行预配

混合云 Kerberos 信任部署模型中具有托管身份验证的Windows Hello预配流的序列图。

阶段 描述
A 云体验主机中托管的预配应用程序 (CXH) 开始预配,方法是请求 Azure 设备注册服务 (ADRS) 的访问令牌。 应用程序使用 Microsoft Entra Web 帐户管理器插件发出请求。
用户必须提供两个身份验证因素。 在此阶段中,用户已经提供了一个身份验证因素,通常是用户名和密码。 Microsoft Entra多重身份验证服务提供第二个身份验证因素。 如果用户在过去 10 分钟内执行了Microsoft Entra多重身份验证(例如从现成体验 (OOBE) 注册设备时),则不会提示他们进行 MFA,因为当前 MFA 仍然有效。
Microsoft Entra ID验证访问令牌请求以及与它关联的 MFA 声明,创建 ADRS 访问令牌,并将其返回到应用程序。
B 收到 ADRS 访问令牌后,应用程序会检测设备是否有Windows Hello生物识别兼容传感器。 如果应用程序检测到生物识别传感器,则用户可以选择注册生物识别。 完成或跳过生物识别注册后,应用程序要求用户在与生物识别) 一起使用时创建 PIN 和默认 (和回退手势。 用户提供并确认其 PIN。 接下来,应用程序从密钥预生成池请求Windows Hello 企业版密钥对,其中包括证明数据。 这是 ukpub/ukpriv) (用户密钥。
C 应用程序将 ADRS 令牌、ukpub、证明数据和设备信息发送到 ADRS 进行用户密钥注册。 Azure DRS 验证 MFA 声明是否保持最新状态。 成功验证后,Azure DRS 在 Microsoft Entra ID 中找到用户的 对象,并将密钥信息写入多值属性。 密钥信息包括对创建它的设备的引用。 Microsoft Entra ID向应用程序返回密钥 ID,指示用户预配结束,应用程序退出。

注意

Windows Hello 企业版云 Kerberos 信任不需要将用户的密钥从Microsoft Entra ID同步到 Active Directory。 用户可在预配凭据后立即对Microsoft Entra ID和 AD 进行身份验证。

使用托管身份验证在混合密钥信任部署模型中进行预配

使用托管身份验证的混合密钥信任部署模型中Windows Hello预配流的序列图。

阶段 描述
A 云体验主机中托管的预配应用程序 (CXH) 开始预配,方法是请求 Azure 设备注册服务 (ADRS) 的访问令牌。 应用程序使用 Microsoft Entra Web 帐户管理器插件发出请求。
用户必须提供两个身份验证因素。 在此阶段中,用户已经提供了一个身份验证因素,通常是用户名和密码。 Microsoft Entra多重身份验证服务提供第二个身份验证因素。 如果用户在过去 10 分钟内执行了Microsoft Entra多重身份验证(例如从现成体验 (OOBE) 注册设备时),则不会提示他们进行 MFA,因为当前 MFA 仍然有效。
Microsoft Entra ID验证访问令牌请求以及与它关联的 MFA 声明,创建 ADRS 访问令牌,并将其返回到应用程序。
B 收到 ADRS 访问令牌后,应用程序会检测设备是否有Windows Hello生物识别兼容传感器。 如果应用程序检测到生物识别传感器,则用户可以选择注册生物识别。 完成或跳过生物识别注册后,应用程序要求用户在与生物识别) 一起使用时创建 PIN 和默认 (和回退手势。 用户提供并确认其 PIN。 接下来,应用程序从密钥预生成池请求Windows Hello 企业版密钥对,其中包括证明数据。 这是 ukpub/ukpriv) (用户密钥。
C 应用程序将 ADRS 令牌、ukpub、证明数据和设备信息发送到 ADRS 进行用户密钥注册。 Azure DRS 验证 MFA 声明是否保持最新状态。 成功验证后,Azure DRS 在 Microsoft Entra ID 中找到用户的 对象,并将密钥信息写入多值属性。 密钥信息包括对创建它的设备的引用。 Microsoft Entra ID向应用程序返回密钥 ID,指示用户预配结束,应用程序退出。
D Microsoft Entra Connect 在其下一个同步周期请求更新。 Microsoft Entra ID发送通过预配安全注册的用户公钥。 Microsoft Entra Connect 接收公钥并将其写入 Active Directory 中的用户msDS-KeyCredentialLink属性。

重要提示

在 Microsoft Entra Connect 成功将公钥同步到本地 Active Directory之前,新预配的用户将无法使用 Windows Hello 企业版 登录。

使用联合身份验证在混合证书信任部署模型中进行预配

使用联合身份验证的混合证书信任部署模型中Windows Hello预配流的序列图。

阶段 描述
A 云体验主机中托管的预配应用程序 (CXH) 开始预配,方法是请求 Azure 设备注册服务 (ADRS) 的访问令牌。 应用程序使用 Microsoft Entra Web 帐户管理器插件发出请求。
在联合环境中,插件将令牌请求发送到本地 STS,例如Active Directory 联合身份验证服务。 本地 STS 对用户进行身份验证,并确定用户是否应执行另一个身份验证因素。
用户必须提供两个身份验证因素。 在此阶段中,用户已经提供了一个身份验证因素,通常是用户名和密码。 Microsoft Entra多重身份验证服务 (或非 Microsoft MFA 服务) 提供第二个身份验证因素。
本地 STS 服务器在成功的 MFA 时颁发企业令牌。 应用程序将令牌发送到Microsoft Entra ID。
Microsoft Entra ID验证访问令牌请求以及与它关联的 MFA 声明,创建 ADRS 访问令牌,并将其返回到应用程序。
B 收到 ADRS 访问令牌后,应用程序会检测设备是否有Windows Hello生物识别兼容传感器。 如果应用程序检测到生物识别传感器,则用户可以选择注册生物识别。 完成或跳过生物识别注册后,应用程序要求用户在与生物识别) 一起使用时创建 PIN 和默认 (和回退手势。 用户提供并确认其 PIN。 接下来,应用程序从密钥预生成池请求Windows Hello 企业版密钥对,其中包括证明数据。 这是 ukpub/ukpriv) (用户密钥。
C 应用程序将 ADRS 令牌、ukpub、证明数据和设备信息发送到 ADRS 进行用户密钥注册。 Azure DRS 验证 MFA 声明是否保持最新状态。 成功验证后,Azure DRS 在 Microsoft Entra ID 中找到用户的 对象,并将密钥信息写入多值属性。 密钥信息包括对创建它的设备的引用。 Microsoft Entra ID向应用程序返回密钥 ID 和密钥回执,表示用户密钥注册的结束。
D 在应用程序收到密钥注册的成功响应后,预配的证书请求部分开始。 应用程序创建 PKCS#10 证书请求。 证书请求中使用的密钥与安全预配的密钥相同。
应用程序将密钥收据和证书请求(包括公钥)发送到托管在 Active Directory 联合身份验证服务 (AD FS) 场上的证书注册机构。
收到证书请求后,证书颁发机构会向 Active Directory 查询 msDS-KeyCredentialsLink 以获取已注册公钥的列表。
E 注册机构验证证书请求中的公钥是否与用户的已注册密钥匹配。
如果在已注册的公钥列表中找不到证书中的公钥,则会验证密钥回执,以确认密钥是否已安全注册到 Azure。
验证密钥收据或公钥后,注册机构使用其注册代理证书对证书请求进行签名。
F 注册机构将证书请求发送到颁发证书颁发机构的企业。 证书颁发机构验证证书请求是否由有效的注册代理签名,并在成功后颁发证书并将其返回给注册机构,注册机构随后将证书返回到应用程序。
G 应用程序接收新颁发的证书,并将其安装到用户的个人存储中。 这表示预配结束。

重要提示

同步证书注册不依赖于 Microsoft Entra Connect 来同步用户的公钥,以颁发Windows Hello 企业版身份验证证书。 预配完成后,用户可以立即使用证书登录。 Microsoft Entra Connect 继续将公钥同步到 Active Directory,但此流中未显示。

在本地密钥信任部署模型中进行预配

本地密钥信任部署模型中Windows Hello预配流的序列图。

阶段 描述
A 云体验主机中托管的预配应用程序 (CXH) 通过请求企业设备注册服务 (EDRS) 的访问令牌来开始预配。 应用程序使用 Microsoft Entra Web 帐户管理器插件发出请求。
在本地部署中,插件将令牌请求发送到本地 STS,例如Active Directory 联合身份验证服务。 本地 STS 对用户进行身份验证,并确定用户是否应执行另一个身份验证因素。
用户必须提供两个身份验证因素。 在此阶段中,用户已经提供了一个身份验证因素,通常是用户名和密码。 Microsoft Entra多重身份验证服务器 (或非 Microsoft MFA 服务) 提供第二个身份验证因素。
本地 STS 服务器在成功进行 MFA 时颁发企业 DRS 令牌。
B 收到 EDRS 访问令牌后,应用程序会检测设备是否有Windows Hello生物识别兼容传感器。 如果应用程序检测到生物识别传感器,则用户可以选择注册生物识别。 完成或跳过生物识别注册后,应用程序要求用户在与生物识别) 一起使用时创建 PIN 和默认 (和回退手势。 用户提供并确认其 PIN。 接下来,应用程序从密钥预生成池请求Windows Hello 企业版密钥对,其中包括证明数据。 这是 ukpub/ukpriv) (用户密钥。
C 应用程序将 EDRS 令牌、ukpub、证明数据和设备信息发送到企业 DRS,以便进行用户密钥注册。 企业 DRS 验证 MFA 声明是否保持最新。 成功验证后,企业 DRS 在 Active Directory 中找到用户的 对象,并将密钥信息写入多值属性。 密钥信息包括对创建它的设备的引用。 企业 DRS 向应用程序返回密钥 ID,表示用户密钥注册的结束。

在本地证书信任部署模型中进行预配

本地证书信任部署模型中Windows Hello预配流的序列图。

阶段 描述
A 云体验主机中托管的预配应用程序 (CXH) 通过请求企业设备注册服务 (EDRS) 的访问令牌来开始预配。 应用程序使用 Microsoft Entra Web 帐户管理器插件发出请求。
在本地部署中,插件将令牌请求发送到本地 STS,例如Active Directory 联合身份验证服务。 本地 STS 对用户进行身份验证,并确定用户是否应执行另一个身份验证因素。
用户必须提供两个身份验证因素。 在此阶段中,用户已经提供了一个身份验证因素,通常是用户名和密码。 Microsoft Entra多重身份验证服务器 (或非 Microsoft MFA 服务) 提供第二个身份验证因素。
本地 STS 服务器在成功进行 MFA 时颁发企业 DRS 令牌。
B 收到 EDRS 访问令牌后,应用程序会检测设备是否有Windows Hello生物识别兼容传感器。 如果应用程序检测到生物识别传感器,则用户可以选择注册生物识别。 完成或跳过生物识别注册后,应用程序要求用户在与生物识别) 一起使用时创建 PIN 和默认 (和回退手势。 用户提供并确认其 PIN。 接下来,应用程序从密钥预生成池请求Windows Hello 企业版密钥对,其中包括证明数据。 这是 ukpub/ukpriv) (用户密钥。
C 应用程序将 EDRS 令牌、ukpub、证明数据和设备信息发送到企业 DRS,以便进行用户密钥注册。 企业 DRS 验证 MFA 声明是否保持最新。 成功验证后,企业 DRS 在 Active Directory 中找到用户的 对象,并将密钥信息写入多值属性。 密钥信息包括对创建它的设备的引用。 企业 DRS 向应用程序返回密钥 ID,表示用户密钥注册的结束。
D 在应用程序收到密钥注册的成功响应后,预配的证书请求部分开始。 应用程序创建 PKCS#10 证书请求。 证书请求中使用的密钥与安全预配的密钥相同。
应用程序将证书请求(包括公钥)发送到Active Directory 联合身份验证服务 (AD FS) 场上托管的证书注册机构。
收到证书请求后,证书颁发机构会向 Active Directory 查询 msDS-KeyCredentialsLink 以获取已注册公钥的列表。
E 注册机构验证证书请求中的公钥是否与用户的已注册密钥匹配。
验证公钥后,注册机构使用其注册代理证书对证书请求进行签名。
F 注册机构将证书请求发送到颁发证书颁发机构的企业。 证书颁发机构验证证书请求是否由有效的注册代理签名,并在成功后颁发证书并将其返回给注册机构,注册机构随后将证书返回到应用程序。
G 应用程序接收新颁发的证书,并将其安装到用户的个人存储中。 这表示预配结束。