Windows Hello 人脸身份验证

Windows 10 中的 Microsoft 人脸身份验证是一种企业级身份验证机制,该机制作为名为 Windows Hello 的核心 Microsoft Windows 组件集成到 Windows Biometric Framework (WBF) 中。 Windows Hello 人脸身份验证利用专门针对近红外 (IR) 成像配置的摄像头来验证和解锁 Windows 设备以及解锁 Microsoft Passport。

Windows Hello 人脸身份验证的主要优势和功能

以下是使用 Windows Hello 人脸身份验证的主要优势:

  • 跨具有兼容硬件(近红外传感器)的所有基于 Windows 10 的设备和平台的面部识别。
  • 用户友好的界面,该界面提供单一签名形式的验证来解锁 Microsoft Passport。
  • 对 Microsoft Passport Pro 支持的内容(包括网络资源、网站和付款方式)进行企业级身份验证和访问。
  • 能够使用红外线在不同的照明条件(同时允许外观上的细微变化,包括面部毛发、化妆等)下提供一致的图像。

方案

Windows 10 中 Windows Hello 人脸身份验证的两个主要应用场景为:通过身份验证进行登录或解锁,以及通过重新身份验证证明你还在原地。

身份验证

类型 说明
平均持续时间 < 2 秒
预期频率
频率说明 每当用户想要解锁设备或跨过锁屏界面时发生

重新身份验证

类型 说明
平均持续时间 < 2 秒
预期频率
频率说明 当应用程序或网站要重新验证用户是否在其设备前面时发生

工作原理

Windows Hello 人脸识别引擎由四个不同的步骤组成,使 Windows 能够了解谁在传感器前面:

  1. 查找人脸并发现标志

    在第一步中,算法在摄像头流中检测用户的面部,然后定位面部标志点(也称为对齐点),它们对应于眼睛、鼻子、嘴巴等。

  2. 头部方向

    为确保算法针对人脸有足够的视野来做出身份验证决策,它确保用户面向设备 +/- 15 度。

  3. 表征向量

    算法使用标志位置作为锚点,从面部不同区域获取数千个样本来建立一项表征。 最基本形式的表征是表示特定点周围明暗差异的直方图。 不存储人脸图像 - 它只是表征。

  4. 决策引擎

    一旦传感器前面有用户的表征,就会将其与物理设备上的注册用户进行比较。 表征必须超过机器学习的阈值,算法才会接受它作为正确的匹配项。 如果系统上注册了多个用户,此阈值将相应提高,以帮助确保安全性不受影响。

注册

注册是生成你自己的一项或一组表征(例如,如果戴眼镜,可能需要在戴眼镜和不戴眼镜的情况下注册)并将它们存储在系统中以供将来比较的步骤。 此表征集合称为注册个人资料。 Microsoft 从不存储实际图像,并且你的注册数据永远不会发送到网站或应用程序进行身份验证。

大多数用户可能需要在每台设备上注册一次。 符合以下条件的用户需要额外注册:

  • 偶尔佩戴特定类型的眼镜
  • 脸部形状或纹理发生了重大变化
  • 移到周围近红外光较强的环境中(例如,如果将设备带到户外的阳光底下)

近红外线的优点

在 Xbox 360 上随着第一款 Kinect 发布人脸识别功能后,Microsoft 了解到,依靠环境光提供一致的图像会导致用户体验不佳。 人们在各种环境中生活和工作,有各种各样的照明条件。 传统的颜色识别系统依赖于调高亮度、曝光或其他设置来创建可用的图像 - 所有这些都会曝光影响系统可靠性的伪影。

相比之下,近红外图像在各种环境照明场景中保持一致,如下所示。

方案 集成摄像头拍摄的彩色图像 Microsoft 参考传感器拍摄的红外图像
看电视或做 PowerPoint 演示时的典型弱光场景 color image from integrated camera ir image from microsoft reference sensor - low light
坐在窗边或台灯旁时的侧光场景 side lighting with color image ir image from microsoft reference sensor - side lighting

使用红外线还有助于防止欺骗,因为它有助于防止最容易获得的攻击。 例如,红外线不会显示在照片中,因为它是不同的波长,正如你在下面看到的,图像不会显示在照片或 LCD 显示屏上。

form factors

如何测量准确性

当 Microsoft 谈到 Windows Hello 人脸身份验证的准确性时,使用了三个主要度量值:假正、真正和假负。

术语 假正 真正 假负
说明 有时也计算为错误接受率,这表示将获得对你设备的物理访问权限的随机用户识别为你的可能性。 这个数字应尽可能低。 真正率表示用户每次在传感器前面时,与其注册的个人资料正确匹配的可能性。 这个数字应较高。 表示用户与其注册的个人资料不匹配的可能性。 这个数字应较低。
Windows 10 算法 小于 0.001% 或 1/100,000 FAR 单个注册用户大于 95% 单个注册用户小于 5%

考虑测量误差很重要,因此 Microsoft 按两种方式对其分类:偏差误差(系统误差)和随机误差(抽样)。

偏差误差

如果未使用能够代表环境和算法使用条件的数据,可能会出现偏差误差。 此类误差可能是由不同的环境条件(例如照明、传感器角度、距离等)以及交付设备时不具有代表性的硬件引起的。

随机误差

使用与实际使用该特征的群体多样性不匹配的数据会导致随机误差。 例如,专注于一小组没有眼镜、胡须或独特面部特征的人脸。

外部摄像头安全性

强烈建议持续运行 Windows 更新,并确保系统使用最新的安全更新(包括 2021 年 7 月 13 日发布的更新)进行更新,以提高使用 CVE-2021-34466 中所述的 Windows Hello 摄像头时的安全性。 此外,如果你想完全禁止使用外部 Hello 摄像头,可以在以下路径中添加一个可选注册表值。
注册表路径:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\FaceLogon
DWORD 值:ShouldForbidExternalCameras
值:1

Windows 生物识别框架 API