你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

人脸活体检测

本文介绍人脸活体检测的概念、输入输出架构及相关概念。

介绍

链接到 Microsoft Azure 人脸活体检测视频介绍的截图。

人脸活体检测可用于确定输入视频流中的人脸是真实的(活的)还是虚假的(仿冒的)。 这是生物识别身份验证系统中的重要组成部分,可以防止冒名顶替者使用照片、视频、面具或其他方式冒充他人进入系统。

活体检测的目标是确保系统在身份验证时与实际存在的活人进行交互。 随着数字金融、远程访问控制和在线身份验证流程的兴起,这些系统正变得越来越重要。

Azure AI 人脸活体检测解决方案可以成功防御各种欺骗类型,包括纸质打印输出、2D/3D 面具以及手机和笔记本电脑上的欺骗演示。 活体检测是一个活跃的研究领域,人们不断对其进行改进以应对日益复杂的欺骗攻击。 随着整体解决方案对新型攻击的防御变得越来越强大,我们也会不断向客户端和服务组件推出持续改进。

Azure AI 人脸实时检测 API 在 iBeta 级别 1 和级别 2 演示攻击检测(PAD)测试中实现了 0% 渗透率,由 NIST/NVLAP 认可的实验室进行,并符合 ISO/IEC 30107-3 PAD 国际标准

工作原理

活体检测解决方案集成涉及两个不同的组件:前端移动/Web 应用程序和应用服务器/协调器。

Azure AI 人脸中的活体检测工作流示意图。

  • 在应用服务器中协调 Azure AI 人脸服务:应用服务器充当后端以创建实时情况检测会话,从每个会话的 Azure AI 人脸服务获取短期授权令牌,授权前端应用程序执行实时检测,并检索和查看实时情况检测结果。此设计可确保前端的安全会话管理和受控访问。
  • 在前端中集成 Foundry 工具人脸 SDK 中的 Azure 视觉:在前端应用程序中嵌入视觉人脸 SDK(iOS、Android 或 Web)。 SDK 会打开相机,引导用户完成被动或被动主动流,捕获图像,并将其发送到 Azure AI 人脸终结点以执行活体检测分类。 我们遵循严格的数据隐私标准,如下所述: 人脸的数据和隐私
  • 可选:使用 Microsoft-Hosted Liveness 快速链接:若要减少开发人员集成工作量,可以跳过嵌入 SDK 并使用Microsoft托管的体验。 将会话令牌兑换为一次性活体检测快速链接:活体检测快速链接 (https://liveness.face.azure.com/?s=…)。 将用户重定向到此 URL,Azure 在浏览器中托管整个捕获流。 可以通过可选回调接收完成状态。 此选项无需将 SDK 集成到应用程序中,同时确保自动收到所有更新,以便与 Azure 的最新增强功能保持一致。

活体检测模式

Azure 人脸活体检测 API 提供被动和 Passive-Active 检测模式的选项。

被动模式使用被动实时技术,无需用户进行额外操作。 它需要在光线较暗的环境中才能成功,在较亮的环境中可能会失败并显示“环境不支持”错误。 它还需要高屏幕亮度以实现最佳性能,这在移动(iOS 和 Android)解决方案中自动配置。 如果你更喜欢最少的最终用户交互,并且希望最终用户主要位于非明亮环境中,则可以选择此模式。 被动模式检查平均需要大约 12 秒才能完成。

Passive-Active 模式的行为与非亮照明环境中的被动模式相同,并且仅在明亮的照明环境中触发主动模式。 由于浏览器缺少自动屏幕亮度控制,限制了被动模式的操作范围,因此在 Web 浏览器解决方案中,此模式更加理想。 如果希望活体检测在任何照明环境中都能工作,则可以选择此模式。 如果由于明亮的照明环境而触发活动检查,则总完成时间平均可能需要长达 20 秒。

可以在会话创建步骤期间设置检测模式(请参阅 执行实时性检测)。

可选人脸验证

可以将人脸验证与实时检测相结合,以验证问题的人脸是否属于指定的特定人员。 下表详细说明了活体检测功能:

功能 / 特点 DESCRIPTION
活体检测 确定输入是真是假,只有应用服务器有权启动活体检查并查询结果。
附带人脸验证的活体检测 确定输入是真是假,并根据你提供的参考图像验证人员的身份。 应用服务器或前端应用程序都可以提供参考图像。 只有应用服务器有权启动活体检查并查询结果。

输出格式

实时情况检测 API 返回包含以下信息的 JSON 对象:

  • 一个真实的或虚假的人脸活体判定。 我们处理基础准确性和阈值,因此无需担心解释“置信度分数”或自行进行推理。 此方法使开发人员的集成更加简单、更无缝。
  • 如果使用验证执行活体检测(请参阅 使用人脸验证执行活体检测),则可以可选地获取人脸验证结果。
  • 经过质量筛选的“会话图像”,可用于存储以便审计目的、人工评审或使用人脸服务 API 执行进一步分析。

数据隐私

我们不会存储人脸实时检查中的任何图像或视频。 实时会话结束后,服务中不会保留任何图像或视频数据。 在检查期间上传的图像或视频仅用于执行实时分类以确定用户是真实还是欺骗,还可用于与实时验证方案中的引用图像匹配。 这些文件不能由任何人类查看,并且永远不会用于训练或改进 AI 模型。

安全性

重要

在选择正确的解决方案(Web 或移动)时,开发人员必须了解安全隐患。 虽然 Web 和移动解决方案都符合 iBeta 级别 1 和级别 2 ISO/IEC 30107-3 PAD 标准,但移动解决方案包含由 GuardSquare 提供的额外运行时应用程序自我保护(RASP),而这些功能在 Web 解决方案中不可用。

值得注意的是,Web 解决方案在浏览器环境中运行的固有限制,并且可能更容易受到某些类型的攻击。 因此,我们建议尽可能使用移动解决方案。

如果选择 Web 解决方案,请务必密切遵循 共同责任的最佳做法,确保正在使用的相机是受信任的物理设备,并考虑实施额外的安全措施和监视来缓解潜在的运行时攻击。

滥用检测

我们包括内置的滥用检测功能,旨在帮助开发人员识别可能存在欺诈或恶意活动的高风险的实时会话。 滥用检测功能会执行多项检查,包括基于 IP 的风险评估,以提供可在你自己的应用逻辑或审核流程中使用的可操作信号。

此功能在高安全性环境或具有提升欺诈风险的方案(例如帐户载入、身份验证或远程身份验证)中非常有用。 你可借此在完成验证步骤之前主动检测可疑的活动模式。

有关如何解释和处理滥用检测结果的详细指导,请参阅:实时性滥用监视

网络隔离

此外,我们还提供可选的网络隔离功能,使开发人员能够更好地控制前端客户端发起活体检测调用的方式。 使用此选项,可以完全禁用公共网络访问实时检测 API 调用,确保它们只能在定义的专用网络边界内访问。

此功能在受监管或企业环境中特别实用,在这些环境中,合规性策略要求所有服务调用都保留在受控网络外围内。 它还有助于通过防止来自不受信任的或未知网络的直接调用来缩小攻击面。 了解详细信息

支持选项

除了使用 主要 Foundry 工具支持选项之外,还可以在 SDK 存储库 的问题 部分发布问题。

后续步骤

既然您已熟悉活体检测概念,请在您的应用中实现活体检测。