活体检测的工作原理

被动活体检测、3D Flash 和 3D Action 活体检测详解 - 每一种对用户有什么要求、强度如何,以及你的流程该如何选择。

Short answer

活体检测证明自拍照来自摄像头前的真实人物,而不是一张照片、一块屏幕或一个面具。 被动活体检测不要求用户做任何动作,属于免费额度范围。 3D Flash3D Action 分别加入了光线模式和动作检查,可获得更高的可信度,收费 $0.15。

#活体检测是用来做什么的

Didit 控制台中的一个会话,展示了 Liveness 标签页
  1. Liveness 标签页保存着采集到的自拍照和被动活体检测的结果。
  2. Events 显示了采集发生的时间,以及之后发生了什么。
检查产生的内容会保存在会话中,而不只是一个判定结果。

人脸比对能告诉你自拍照和证件是否匹配。但它无法告诉你这张自拍照来自哪里。 如果没有活体检测,把别人的脸的照片举在他被盗的身份证旁边,也能通过核验。

活体检测正是为了堵住这个漏洞。Didit 的实现方案准确率达到 99.9%,误接受率低于 0.1%。

#三种方式

被动活体检测 - 用户无需任何动作

单帧深度学习分析。系统会检查图像中能区分真实人脸与翻拍图像的伪影、纹理模式和其他细微信号。 用户只需要拍一张自拍照,不需要做任何额外动作。

适用场景: 大多数消费者入驻场景,以及任何转化率至关重要的地方。 它对老旧手机和较差光线的容忍度最高,也是拥有每月 500 次免费额度的方式。

3D Flash - 光线模式,仍无需动作

以每秒超过 30 帧的速度向人脸投射一系列光线模式,并分析反射结果以构建深度图。 深度图确认了人脸是三维的,从而排除了平面照片和屏幕翻拍的可能。

适用场景: 金融服务和账户访问场景,你希望获得较高的可信度,同时又不想要求用户执行任何动作。 收费 $0.15。

3D Action & Flash - 动作加光线

将光线模式深度检查与一个随机动作(眨眼、点头或类似动作)结合起来, 因此响应无法被预先录制。深度学习模型会同时分析微表情和光线反射情况。

适用场景: 银行、医疗和政务应用。这是目前可获得的最高可信度方案, 即便面对精心制作的面具也是最难被伪造的一种。收费 $0.15。

#如何在几种方式之间选择

真正的取舍在于可信度与完成率之间的平衡。对用户提出的每一项额外要求,都会带来一定的转化损失, 而主动式方案在老旧设备、较差光线,以及不理解操作指示的用户身上,损失会更大。

一种切实可行的模式:对所有人运行被动活体检测,只在你的风险规则升级的情况下 - 高价值账户、 可疑的设备信号、临界的人脸比对分数 - 才启用主动方式。这样可以让摩擦只出现在风险真正存在的地方。

#活体检测不止于活体检测本身

活体检测这一步,同时也是重复检测发生的地方。每一张人脸都会自动与你已经核验过的每一位用户, 以及你的黑名单进行比对,你不需要单独启用任何功能。这通常是受欢迎的,但偶尔也会让人意外 - 比如你自己的回头客把自己匹配成了自己。参见重复账号与人脸检索

#桌面端与摄像头可用性

活体检测需要一个能正常工作的摄像头。桌面端是否提供这一步,是一个工作流级别的设置, 因此如果你的用户在笔记本电脑上完成核验,却从未见过自拍步骤,请先检查这项设置,而不要直接认定它不受支持。

看起来像活体检测 bug 的问题,通常其实是摄像头根本没有打开 - 应用内置浏览器、此前被拒绝的权限, 或者另一个应用正在占用摄像头。参见修复活体检测与人脸比对问题

#年龄估算过程中的隐私保护

当活体检测作为年龄估算的一部分运行时,界面上会刻意将用户的人脸显示为模糊状态。 这是在向用户传递一个信号:这张图像仅用于分析年龄,而不是用来识别他们的身份。

#经过独立测试

一家 NIST 认可实验室依据 ISO/IEC 30107-3 标准,针对 Didit 的活体检测在六个攻击类别下发起了 360 次呈现攻击 - 包括打印照片、屏幕翻拍、面具等多种形式。没有一次成功。 参见反欺骗认证

#费用

方式价格
被动活体检测每月 500 次免费,之后 $0.10
3D Flash$0.15
3D Action & Flash$0.15

只有被动活体检测属于免费额度。把工作流从被动切换到某种主动方式后,从第一个会话开始就会消耗你的额度余额。