限制密码的使用
如今大多数计算机系统利用用户凭证作为安全的基础,使其依赖于可重用的、用户创建的密码。 这也导致密码成为账户和数据泄露的最常见原因。 例如,密码可以在传输过程中被截获或从服务器上被窃取(通过钓鱼或密码喷射攻击)并泄露以获得对用户帐户的访问权。
为提高安全性和帐户保护,HoloLens 2 能为设备登录启用强大的、硬件支持的“无密码”凭据(包括 Windows Hello),提供对 Microsoft 云的无缝访问。
从另一台设备登录
HoloLens 2在初始设备设置和用户登录期间为Microsoft Entra ID工作帐户提供远程设备登录选项,以减少键入复杂密码的需求,并最大程度地减少密码作为凭据的需求。 使用智能卡进行身份验证的用户和组织很难在 HoloLens 2 等设备上使用这些凭证,而且组织通常会开发复杂的系统和昂贵的流程来解决该问题。 为了解决此问题,Microsoft Entra ID提供了两个选项,用于在 HoloLens 2 上进行无密码登录。
第一种身份验证方法依赖于 Microsoft Authenticator 应用中的新功能,提供基于密钥的身份验证,可将用户凭据绑定到设备。 管理员在租户上启用后,在 HoloLens 设备安装期间将显示一条消息,告诉用户点击应用上的某个号码。 然后他们必须匹配验证器应用上的号码,选择“批准”,提供他们的个人识别码或完整的生物身份验证,才能继续安装 HoloLens。 无密码登录中对此有更详细的介绍。
第二种是设备代码流,它对用户来说很直观,不需要额外的基础设施。 此远程登录行为依赖于另一受信任的设备,该设备支持组织的首选身份验证机制,完成后,令牌被发送回 HoloLens 以完成登录或设备安装。 此流程中的步骤包括:
- 用户在 OOBE 上进行初始设备设置或登录流时,会看到“从其他设备登录”的链接并点击它。 这将启动远程登录会话。
- 然后,向用户显示一个轮询页,其中包含指向Microsoft Entra ID安全令牌服务 (https://microsoft.com/devicelogin STS) 的短 URI () 。 用户还将看到一个在云中安全生成的一次性代码,最长生存期为 15 分钟。 除了代码生成之外,Microsoft Entra ID还会在上一步中启动远程登录请求时创建加密会话,同时使用 URI 和代码来批准远程登录请求。
- 然后用户从另一设备导航到 URI,系统会提示输入 HoloLens 2 设备上显示的代码。
- 用户输入代码后,Microsoft Entra STS 会显示一个页面,指示触发远程登录请求并请求生成代码的用户HoloLens 2设备。 然后系统会提示用户进行确认以防任何网络钓鱼攻击。
- 如果用户选择继续登录到显示的“应用程序”,Microsoft Entra STS 会提示用户输入其凭据。 身份验证成功后,Microsoft Entra STS 会将缓存的远程会话更新为“已批准”以及授权代码。
- 最后,用户HoloLens 2设备上的轮询页收到来自Microsoft Entra ID的“授权”响应,并继续验证用户代码及其关联的存储授权代码,并生成 OAuth 令牌,根据请求完成设备设置。 所创建的身份验证令牌的有效期为 1 小时,刷新令牌的生存期为 90 天。
此流中使用的代码生成和加密算法都符合 FIPS,但是,HoloLens 2目前尚未通过 FIPS 认证。 HoloLens 2 设备利用 TPM 保护设备密钥,并使用硬件保护密钥对用户身份验证后生成的令牌进行加密。 有关 HoloLens 2 上令牌安全性的详细信息,请参阅什么是主刷新令牌 (PRT)。
使用 Windows Hello 登录设备
Windows Hello 提供内置无密码选项,允许用户使用 Iris 或 PIN 登录设备。 PIN 作为凭证始终可用,是设备设安装所必需的,而 Iris 是可选的、可跳过的。 用户无需输入密码即可使用其个人 Microsoft 帐户或Microsoft Entra ID工作帐户登录到 HoloLens 设备。 这些选项为用户提供快速、安全丰富的 Windows 体验、应用、数据、网站和服务。 Microsoft 的无密码体验战略详情在此。
创建 Windows Hello 凭证后,它与标识提供者建立受信任的关系,并且创建用于身份验证的非对称密钥对。 Windows Hello 手势(如 iris 或 PIN)提供熵来解密由设备的受信任的平台模块 (TPM) 芯片支持的私钥。 然后,该私钥对对发送到身份验证服务器的请求进行签名,并在验证成功后,向用户授予对其邮件、图片和其他帐户设置的访问权限。
了解更多信息,请参阅以下信息图:
在上图中,注意 nonce 代表“number once”,是随机或半随机生成的数字。 设置 Windows Hello 生物或 PIN 凭据后,它永不会离开预配它的设备。 即使用户的 Windows Hello PIN 被盗(如通过网络钓鱼攻击),但如果不使用用户的物理设备,盗用 PIN 是无用的。
为提高安全性,Windows Hello 凭据由受信任的平台模块 (TPM) 保护,以防凭据被篡改,并辅以针对多次错误输入的防攻击保护,并提供防恶意软件保护以避免凭据泄露。 有关单一登录 (SSO) 的详细信息,请阅读此 SSO 方法概述。
Iris 身份验证回退到 PIN。 为了在设备上设置新 PIN(强身份验证),用户须最近已通过多重身份验证 (MFA) 才能完成此进程。
使用 Web 帐户管理器进行单一登录
单一登录 (SSO) 允许无密码用户使用用户的个人、工作或学校帐户登录设备。 用户将通过 Web 帐户管理器 API 自动获得所有集成应用和服务的 SSO 授权。
通过一个应用程序添加了身份标识后,在用户同意的情况下,该标识可通过系统级集成用于所有应用程序和服务。 这显著降低应用程序的登录负担,并为用户提供无缝的标识体验。
有关实现 Web 帐户管理器 API 的详细信息,请参阅实现 Web 帐户管理器 API。
对有特殊身份验证要求的应用程序套件,Web 帐户管理器 (WAM) 框架可扩展到自定义标识提供程序。 用户可从 Microsoft Store 下载打包为通用 Windows 平台 (UWP) 应用的自定义标识提供程序,以便在与该身份提供程序集成的其他应用上启用 SSO。
有关实现自定义 WAM 标识提供程序的详细信息,请参阅自定义 WAM 标识提供程序 API 引用。
使用 WebAuthn 登录 Windows Hello 和 FIDO2
HoloLens 2 可用无密码用户凭据(如 Windows Hello 或 FIDO2 安全参数),通过 Microsoft Edge 登录上网,以及登录到支持 WebAuthn 的网站。 FIDO2 允许用户凭证利用基于标准的设备进行联机服务身份验证。
至于 Windows Hello,当用户创建并注册 FIDO2 凭据时,设备(HoloLens 2 或 FIDO2 安全参数)将在设备上生成私钥和公钥。 私钥安全地存储在设备上,并仅在使用生物特征或 PIN 等本地手势解锁后才能使用。 存储私钥后,公钥将被发送到云中的 Microsoft 帐户系统,并用相关的用户账户进行注册。
使用 MSA 和 Microsoft Entra 帐户登录后,系统会将生成的数字或数据变量发送到HoloLens 2或 FIDO2 设备。 HoloLens 2 或设备使用私钥为标识签名。 已签名的标识和元数据被发送回 Microsoft 帐户系统,并使用公钥进行验证。
Windows Hello 和 FIDO2 设备根据 HoloLens 设备,尤其是内置受信任的平台模块的安全区域,来实现凭据。 TPM 区域存储私钥,并需要生物特征或 PIN 才能解除锁定。 类似地,FIDO2 安全参数是一个具有内置安全区域的小型外部设备,用于存储私钥,并且需要生物特征或 PIN 来解锁。
这两个选项通过一个步骤提供双因素身份验证,需要注册设备和生物识别或 PIN 才能成功登录。 有关详细信息,请参阅使用 FIDO2 安全密钥进行强身份验证的图形和流程,如下所示。
使用 FIDO2 安全密钥进行强身份验证
- 用户将 FIDO2 安全密钥插入 HoloLens 2
- Windows 检测 FIDO2 安全密钥
- HoloLens 发送身份验证请求
- Microsoft Entra ID发送回 nonce
- 用户作出手势,以解锁安全密钥安全协处理器中的私钥存储库
- FIDO2 安全密钥使用私钥对 nonce 进行签名
- 使用已签名 nonce 的 PRT 令牌请求将发送到 Microsoft Entra ID
- Microsoft Entra ID验证 FIDO 密钥
- Microsoft Entra ID返回 PRT 和 TGT 以启用对资源的访问
MSA 和Microsoft Entra ID是首批通过实现 WebAuthn 来支持无密码身份验证的信赖方之一。
有关将 WebAuthn 与应用程序和/或 SDK 一起使用的详细信息,请参阅用于在 Windows 10 上进行无密码身份验证的 WebAuthn API。
HoloLens 2支持实现的 FIDO2 安全设备,这些设备符合Microsoft Entra无密码登录中列出的要求 - 应支持 FIDO2 安全密钥。 在 23H2 版本中,可以使用 NFC 读取器读取 FIDO2 安全密钥,这要求用户点击其安全锁屏提醒两次才能登录。
支持 NFC 读取器
HoloLens 的 23H2 版本包括用户利用 NFC 阅读器的功能。 使用 USB-C NFC 读取器,HoloLens 2设备可与 Azure AD 支持的 NFC FIDO2 卡集成。 对于在无尘室环境中或 ID 徽章包含 FIDO 技术的用户,此方法可以为 HoloLens 登录启用“点击 & PIN”体验。 此功能为用户提供更快的登录体验。
USB NFC 读取器支持
支持 USB-CCID (芯片卡接口设备) USB 基类“0B”和子类“00”的兼容 NFC FIDO2 读卡器。 有关 适用于 USB CCID 设备的 Microsoft 类驱动程序的详细信息,请参阅适用于 USB CCID 智能卡 的 Microsoft 类驱动程序。 若要确定 NFC 阅读器是否与 HoloLens 兼容,可以参考阅读器制造商提供的文档,或使用电脑上的设备管理器,如下所示:
- 将 USB NFC 读卡器插入 Windows 电脑。
- 在设备管理器找到读取器设备,右键单击它并选择“属性”。
- 在“详细信息”选项卡中,选择“兼容 ID”属性并检查“USB\Class_0b&SubClass_00”是否在列表中。
注意
如果 USB NFC 读卡器在带有内置 CCID 驱动程序的 Windows 桌面上工作,则同一读卡器应与HoloLens 2兼容。 如果读取器需要第三方驱动程序 (Windows 更新或通过手动安装驱动程序) ,则读取器与HoloLens 2不兼容。
无论是登录到之前使用过的设备还是新设备,请按照以下步骤使用 NFC 读卡器登录:
在“其他用户”屏幕中,输入 FIDO 密钥/点击读取器上的 NFC 密钥。
输入 FIDO PIN。
按 FIDO 键上的按钮/再次对着读取器点击 NFC 键。
设备登录。
a. 注意:如果用户是设备的新用户,则会显示“单一生物识别披露屏幕”。
然后,将显示“开始”菜单。
注意
对 HoloLens 2 的 NFC 读取器支持仅支持用于 FIDO2 登录的 NFC CTAP。 没有计划提供与 Windows 桌面版相同级别的智能卡 WinRT API 支持。 这是因为智能卡 WinRT API 存在差异。 此外,与桌面版本相比,用于HoloLens 2的 SCard API 的功能略少一些,并且某些读取器和功能可能不受支持。
本地帐户
可为脱机模式部署配置一个本地帐户。 本地帐户在默认情况下为未启用状态,必须在设备预配时进行配置。 它们需要使用密码登录,且不支持备用身份验证方法(例如 Windows Hello 企业版 或 Windows Hello)。
有关 HoloLens 用户帐户的更多详细信息,请参阅 HoloLens 标识。
IT 管理员通过 AllowMicrosoftAccountConnection 调整是否允许用户使用 MSA 帐户进行与电子邮件无关的连接身份验证和获取服务。 有关密码设置策略、空闲策略和锁屏策略,请参阅设备锁定。