Windows Hello 企业版身份验证

Windows Hello 企业版身份验证是一种无密码的双重身份验证。 使用 Windows Hello 企业版 进行身份验证提供了一种方便的登录体验,可对Microsoft Entra ID和 Active Directory 资源对用户进行身份验证。

Microsoft Entra加入的设备在登录期间向Microsoft Entra ID进行身份验证,并且可以选择性地向 Active Directory 进行身份验证。 Microsoft Entra混合联接的设备在登录期间向 Active Directory 进行身份验证,并在后台向Microsoft Entra ID进行身份验证。

Microsoft Entra将身份验证加入到 Microsoft Entra ID

向Microsoft Entra ID进行身份验证的Microsoft Entra联接设备的关系图。

注意

所有已加入Microsoft Entra的设备都以相同的方式向Microsoft Entra ID Windows Hello 企业版进行身份验证。 Windows Hello 企业版信任类型仅影响设备向本地 AD 进行身份验证的方式。

阶段 描述
A 当用户关闭锁屏时,身份验证开始,这会触发 Winlogon 显示Windows Hello 企业版凭据提供程序。 用户提供其Windows Hello手势 (PIN 或生物识别) 。 凭据提供程序打包这些凭据并将其返回到 Winlogon。 Winlogon 将收集的凭据传递给 lsass。 Lsass 将收集的凭据传递给云身份验证安全支持提供程序,称为云 AP 提供程序。
B 云 AP 提供商从 Microsoft Entra ID 请求 nonce。 Microsoft Entra ID返回 nonce。 云 AP 提供程序使用用户的私钥对 nonce 进行签名,并将已签名的 nonce 返回到 Microsoft Entra ID。
C Microsoft Entra ID使用用户安全注册的公钥针对 nonce 签名验证已签名的 nonce。 然后,Microsoft Entra ID验证返回的已签名 nonce,并使用会话密钥创建 PRT,该会话密钥已加密到设备的传输密钥,并将其返回到云 AP 提供商。
D 云 AP 提供程序接收具有会话密钥的加密 PRT。 云 AP 提供程序使用设备的私钥传输密钥解密会话密钥,并使用设备的 TPM 保护会话密钥。
E 云 AP 提供程序向 lsass 返回成功的身份验证响应。 Lsass 缓存 PRT,并通知 Winlogon 身份验证成功。 Winlogon 创建登录会话,加载用户的配置文件,并启动 explorer.exe。

Microsoft Entra使用云 Kerberos 信任将身份验证加入到 Active Directory

使用云 Kerberos 信任对 Active Directory 进行身份验证的Microsoft Entra联接设备示意图。

阶段 描述
A 从已加入Microsoft Entra设备的 Active Directory 身份验证从用户首先尝试使用需要 Kerberos 身份验证的资源开始。 托管在 lsass 中的 Kerberos 安全支持提供程序使用Windows Hello 企业版密钥中的元数据来获取用户域的提示。 使用提示,提供程序使用 DClocator 服务来查找域控制器。
B 找到域控制器后,Kerberos 提供程序将它从以前的Microsoft Entra身份验证Microsoft Entra ID接收的部分 TGT 发送到域控制器。 部分 TGT 仅包含用户 SID,并且由 Microsoft Entra Kerberos 签名。 域控制器验证部分 TGT 是否有效。 成功后,KDC 会向客户端返回 TGT。

Microsoft Entra使用密钥将身份验证联接到 Active Directory

使用密钥信任对 Active Directory 进行身份验证的Microsoft Entra联接设备的关系图。

阶段 描述
A 从已加入Microsoft Entra设备的 Active Directory 身份验证从用户首先尝试使用需要 Kerberos 身份验证的资源开始。 托管在 lsass 中的 Kerberos 安全支持提供程序使用Windows Hello 企业版密钥中的元数据来获取用户域的提示。 使用提示,提供程序使用 DClocator 服务来查找域控制器。 提供程序找到域控制器后,提供程序使用私钥对 Kerberos 预身份验证数据进行签名。
B Kerberos 提供程序以自签名证书) 的形式将已签名的预身份验证数据及其公钥 (发送到密钥分发中心, (KDC) 服务以KERB_AS_REQ的形式在域控制器上运行。
域控制器确定证书是自签名证书。 它从KERB_AS_REQ中包含的证书中检索公钥,并在 Active Directory 中搜索公钥。 它验证用于身份验证请求的 UPN 是否与在 Active Directory 中注册的 UPN 匹配,并使用 Active Directory 中的公钥验证已签名的预身份验证数据。 成功后,KDC 会将 TGT 返回到客户端,其证书以KERB_AS_REP。
C Kerberos 提供程序确保它可以信任来自域控制器的响应。 首先,它确保 KDC 证书链接到设备信任的根证书。 接下来,它确保证书在其有效期内且未吊销。 然后,Kerberos 提供程序验证证书是否存在 KDC 身份验证,以及 KDC 证书中列出的使用者备用名称是否与用户进行身份验证的域名匹配。 通过此条件后,Kerberos 将 TGT 返回给 lsass,其中缓存 TGT 并用于后续服务票证请求。

注意

可能有一个与 Microsoft Entra ID 联合的本地域。 在加入Microsoft Entra的设备上成功预配Windows Hello 企业版 PIN/Bio 后,Windows Hello 企业版 (PIN/Bio) 登录的任何将来登录都将直接针对Microsoft Entra ID如果 LOS 到 DC 可用,) 获取 Kerberos,则获取 PRT 并针对 DC (触发身份验证。 它不再使用 AD FS 对Windows Hello 企业版登录进行身份验证。

Microsoft Entra使用证书将身份验证联接到 Active Directory

使用证书信任对 Active Directory 进行身份验证的Microsoft Entra联接设备的关系图。

阶段 描述
A 从已加入Microsoft Entra设备的 Active Directory 身份验证从用户首先尝试使用需要 Kerberos 身份验证的资源开始。 托管在 lsass 中的 Kerberos 安全支持提供程序使用证书中的信息来获取用户域的提示。 Kerberos 可以使用在证书使用者中找到的用户的可分辨名称,也可以使用在证书的使用者备用名称中找到的用户的用户主体名称。 使用提示,提供程序使用 DClocator 服务来查找域控制器。 提供程序找到活动域控制器后,提供程序使用私钥对 Kerberos 预身份验证数据进行签名。
B Kerberos 提供程序以KERB_AS_REQ的形式将已签名的预身份验证数据和用户证书(包括公钥)发送到密钥分发中心 (KDC) 服务。
域控制器确定证书不是自签名证书。 域控制器确保证书链接到受信任的根证书,在其有效期内,可用于身份验证,并且尚未吊销。 它从KERB_AS_REQ中包含的证书中检索公钥和 UPN,并在 Active Directory 中搜索 UPN。 它使用证书中的公钥验证已签名的预身份验证数据。 成功后,KDC 会将 TGT 返回到客户端,其证书以KERB_AS_REP。
C Kerberos 提供程序确保它可以信任来自域控制器的响应。 首先,它确保 KDC 证书链接到设备信任的根证书。 接下来,它确保证书在其有效期内且未吊销。 然后,Kerberos 提供程序验证证书是否存在 KDC 身份验证,以及 KDC 证书中列出的使用者备用名称是否与用户进行身份验证的域名匹配。 通过此条件后,Kerberos 将 TGT 返回给 lsass,其中缓存 TGT 并用于后续服务票证请求。

注意

可能有一个与 Microsoft Entra ID 联合的本地域。 成功预配Windows Hello 企业版 PIN/Bio 后,Windows Hello 企业版 (PIN/Bio) 登录的任何将来登录都将直接针对Microsoft Entra ID进行身份验证以获取 PRT,以及针对 DC (进行身份验证(如果 LOS 到 DC 可用),) 如前所述获取 Kerberos。 仅当从客户端发出企业 PRT 调用时,才使用 AD FS 联合身份验证。 需要启用设备写回才能从联合身份验证获取“企业 PRT”。

使用云 Kerberos 信任Microsoft Entra混合加入身份验证

使用云 Kerberos 信任向 Active Directory 进行身份验证的Microsoft Entra混合联接设备示意图。

阶段 描述
A 当用户关闭锁屏时,身份验证开始,这会触发 Winlogon 显示Windows Hello 企业版凭据提供程序。 用户提供其Windows Hello手势 (PIN 或生物识别) 。 凭据提供程序打包这些凭据并将其返回到 Winlogon。 Winlogon 将收集的凭据传递给 lsass。 如果启用了云 Kerberos 信任,Lsass 查询Windows Hello 企业版策略以检查。 如果启用了云 Kerberos 信任,则 Lsass 会将收集的凭据传递给云身份验证安全支持提供商或云 AP。 云 AP 从 Microsoft Entra ID 请求 nonce。 Microsoft Entra ID返回 nonce。
B 云 AP 使用用户的私钥对 nonce 进行签名,并将已签名的 nonce 返回到 Microsoft Entra ID。
C Microsoft Entra ID使用用户安全注册的公钥针对 nonce 签名验证已签名的 nonce。 验证签名后,Microsoft Entra ID然后验证返回的已签名 nonce。 验证 nonce 后,Microsoft Entra ID创建具有会话密钥的 PRT,该会话密钥已加密到设备的传输密钥,并从 Microsoft Entra Kerberos 创建部分 TGT 并将其返回到云 AP。
D 云 AP 接收具有会话密钥的加密 PRT。 使用设备的私钥传输密钥,云 AP 会解密会话密钥,并使用设备的 TPM (保护会话密钥(如果可用) )。 云 AP 向 lsass 返回成功的身份验证响应。 Lsass 缓存 PRT 和部分 TGT。
E 托管在 lsass 中的 Kerberos 安全支持提供程序使用Windows Hello 企业版密钥中的元数据来获取用户域的提示。 使用提示,提供程序使用 DClocator 服务来查找域控制器。 找到活动域控制器后,Kerberos 提供程序将它从 Microsoft Entra ID 接收的部分 TGT 发送到域控制器。 部分 TGT 仅包含用户 SID,并由 Microsoft Entra Kerberos 签名。 域控制器验证部分 TGT 是否有效。 成功后,KDC 会向客户端返回 TGT。 Kerberos 将 TGT 返回到 lsass,在 lsass 中将其缓存并用于后续服务票证请求。 Lsass 通知 Winlogon 身份验证成功。 Winlogon 创建登录会话,加载用户的配置文件,并启动 explorer.exe。

使用密钥Microsoft Entra混合联接身份验证

使用密钥信任对 Active Directory 进行身份验证的Microsoft Entra混合联接设备示意图。

阶段 描述
A 当用户关闭锁屏时,身份验证开始,这会触发 Winlogon 显示Windows Hello 企业版凭据提供程序。 用户提供其Windows Hello手势 (PIN 或生物识别) 。 凭据提供程序打包这些凭据并将其返回到 Winlogon。 Winlogon 将收集的凭据传递给 lsass。 Lsass 将收集的凭据传递给 Kerberos 安全支持提供程序。 Kerberos 提供程序从已加入域的工作站获取域提示,以查找用户的域控制器。
B Kerberos 提供程序以自签名证书) 的形式将已签名的预身份验证数据和用户的公钥 (以KERB_AS_REQ的形式发送到密钥分发中心 (KDC) 服务。
域控制器确定证书是自签名证书。 它从KERB_AS_REQ中包含的证书中检索公钥,并在 Active Directory 中搜索公钥。 它验证用于身份验证请求的 UPN 是否与在 Active Directory 中注册的 UPN 匹配,并使用 Active Directory 中的公钥验证已签名的预身份验证数据。 成功后,KDC 会将 TGT 返回到客户端,其证书以KERB_AS_REP。
C Kerberos 提供程序确保它可以信任来自域控制器的响应。 首先,它确保 KDC 证书链接到设备信任的根证书。 接下来,它确保证书在其有效期内且未吊销。 然后,Kerberos 提供程序验证证书是否存在 KDC 身份验证,以及 KDC 证书中列出的使用者备用名称是否与用户进行身份验证的域名匹配。
D 通过此条件后,Kerberos 将 TGT 返回给 lsass,其中缓存 TGT 并用于后续服务票证请求。
E Lsass 通知 Winlogon 身份验证成功。 Winlogon 创建登录会话,加载用户的配置文件,并启动 explorer.exe。
F 当 Windows 加载用户的桌面时,lsass 会将收集的凭据传递给云身份验证安全支持提供程序,称为云 AP 提供程序。 云 AP 提供商从 Microsoft Entra ID 请求 nonce。 Microsoft Entra ID返回 nonce。
G 云 AP 提供程序使用用户的私钥对 nonce 进行签名,并将已签名的 nonce 返回到 Microsoft Entra ID。 Microsoft Entra ID使用用户安全注册的公钥针对 nonce 签名验证已签名的 nonce。 验证签名后,Microsoft Entra ID然后验证返回的已签名 nonce。 验证 nonce 后,Microsoft Entra ID使用会话密钥创建 PRT,该会话密钥已加密到设备的传输密钥,并将其返回给云 AP 提供商。
云 AP 提供程序接收具有会话密钥的加密 PRT。 云 AP 提供程序使用设备的私钥传输密钥解密会话密钥,并使用设备的 TPM 保护会话密钥。
云 AP 提供程序向 lsass 返回成功的身份验证响应。 Lsass 缓存 PRT。

重要提示

在上述部署模型中,新预配的用户将无法使用 Windows Hello 企业版 登录,除非 () Microsoft Entra Connect 成功将公钥同步到本地 Active Directory,并且 (b) 设备首次与域控制器具有视线。

使用证书Microsoft Entra混合加入身份验证

使用证书信任对 Active Directory 进行身份验证的Microsoft Entra混合联接设备示意图。

阶段 描述
A 当用户关闭锁屏时,身份验证开始,这会触发 Winlogon 显示Windows Hello 企业版凭据提供程序。 用户提供其Windows Hello手势 (PIN 或生物识别) 。 凭据提供程序打包这些凭据并将其返回到 Winlogon。 Winlogon 将收集的凭据传递给 lsass。 Lsass 将收集的凭据传递给 Kerberos 安全支持提供程序。 Kerberos 提供程序从已加入域的工作站获取域提示,以查找用户的域控制器。
B Kerberos 提供程序以KERB_AS_REQ的形式将已签名的预身份验证数据和用户证书(包括公钥)发送到密钥分发中心 (KDC) 服务。
域控制器确定证书不是自签名证书。 域控制器确保证书链接到受信任的根证书,在其有效期内,可用于身份验证,并且尚未吊销。 它从KERB_AS_REQ中包含的证书中检索公钥和 UPN,并在 Active Directory 中搜索 UPN。 它使用证书中的公钥验证已签名的预身份验证数据。 成功后,KDC 会将 TGT 返回到客户端,其证书以KERB_AS_REP。
C Kerberos 提供程序确保它可以信任来自域控制器的响应。 首先,它确保 KDC 证书链接到设备信任的根证书。 接下来,它确保证书在其有效期内且未吊销。 然后,Kerberos 提供程序验证证书是否存在 KDC 身份验证,以及 KDC 证书中列出的使用者备用名称是否与用户进行身份验证的域名匹配。
D 通过此条件后,Kerberos 将 TGT 返回给 lsass,其中缓存 TGT 并用于后续服务票证请求。
E Lsass 通知 Winlogon 身份验证成功。 Winlogon 创建登录会话,加载用户的配置文件,并启动 explorer.exe。
F 当 Windows 加载用户的桌面时,lsass 会将收集的凭据传递给云身份验证安全支持提供程序,称为云 AP 提供程序。 云 AP 提供商从 Microsoft Entra ID 请求 nonce。 Microsoft Entra ID返回 nonce。
G 云 AP 提供程序使用用户的私钥对 nonce 进行签名,并将已签名的 nonce 返回到 Microsoft Entra ID。 Microsoft Entra ID使用用户安全注册的公钥针对 nonce 签名验证已签名的 nonce。 验证签名后,Microsoft Entra ID然后验证返回的已签名 nonce。 验证 nonce 后,Microsoft Entra ID使用会话密钥创建 PRT,该会话密钥已加密到设备的传输密钥,并将其返回给云 AP 提供商。
云 AP 提供程序接收具有会话密钥的加密 PRT。 云 AP 提供程序使用设备的私钥传输密钥解密会话密钥,并使用设备的 TPM 保护会话密钥。
云 AP 提供程序向 lsass 返回成功的身份验证响应。 Lsass 缓存 PRT。

重要提示

在上述部署模型中,新预配的用户将无法使用 Windows Hello 企业版登录,除非设备具有域控制器的视线。