防不胜防!揭秘指纹识别中的“假技术”

除了给手机解锁,指纹识别已经成为安全支付的必要技术,以及家居安防的重要技术。但在纷乱的市场中,有多少假技术在忽悠着你,威胁着你的手机、帐户、隐私,甚至家人的安全?

防不胜防 揭秘指纹识别中的“假技术”

假技术之一,“活体指纹”

危险指数★★★★

在契约纸上按下指印是Finger “Print”这个词的来源。为把手指上的指纹与纸上的指印做区别,就会加上Alive这个前缀。

这就是Aliveness,中文译名“活体”本来的意思。在英语语境里,Aliveness是证明某个Fingerprint来自生物体;但在汉语语境里,经过一些人别有用心的鼓吹,竟成了排除非生物体指纹的安全技术。这不得不说汉语真巧妙。

先来看对“活体”技术的最近一次官方打脸:央视2017年315晚会曝光了所谓的“活体”人脸识别,某人脸识别APP竟然被非人类质感的低劣合成图片破解。

防不胜防 揭秘指纹识别中的“假技术”

再来看点高端水平,这胖墩成功扮演了前美国总统,要是白宫使用如此“活体”人脸识别,岂不免费一日游?

防不胜防 揭秘指纹识别中的“假技术”

回到“活体”指纹识别,同样是央视,这次却站在了对立面:

防不胜防 揭秘指纹识别中的“假技术”

请问,这黑乎乎的一坨,到底要证明其不是“活体”,还是无法证明其是“活体”呢?

果然,打脸来得比315还快,在2017年315晚会之前就有视频发布,如下:

视频中使用的是下图所示的透明假指纹。

防不胜防 揭秘指纹识别中的“假技术”

吃瓜群众们恍然大悟,原来是这“活体”就是“鉴黄”啊,只排除黑的。

“活体”指纹虽然是假技术,但要是你信的话,把身家放在被这“活体”指纹技术保护的手机里,那么就“信则贫”了。明为“活体”实为“鉴黄”,对安全进行捏造和夸大,误导用户冒更大的风险,危险指数4星。

防不胜防 揭秘指纹识别中的“假技术”

假技术之二,“通过率”

危险指数★★★

从字面意思看,“通过率”指使用中的成功概率。这对使用体验至上的消费电子可不得了,“通过率”测试就是指纹识别的尚方宝剑,足以一票否决。

可惜道高一尺魔高一丈,有一种偏执就会有一百种造假等着你。先看下图:

防不胜防 揭秘指纹识别中的“假技术”

这是同一手指在干、正常、湿三种情况下采集到的图像,基于图像匹配很难解决这种差异性。而消费者真正的使用体验,是在任意时间任意身体状况下使用的“通过率”,尤其在遭受拒绝后主动配合摆正姿势时仍然被拒绝是非常恼火的。

iPhone 5S曾经就暴露经过一段时间后不能使用,必须重新注册的缺陷,随后通过版本更新消除了这一缺陷。

防不胜防 揭秘指纹识别中的“假技术”

但不幸的是在Android手机里随着厂商对“通过率”要求越来越苛刻,这种指纹不能用的抱怨却越来越多。大致有以下几个原因:

为了降低成本,指纹传感器能够提供的指纹图像面积越来越小;

指纹识别和图像识别是有本质区别的,图像识别不考虑指纹受压变形、皮肤含水含油变化、起皱脱皮等生理变化;

图像面积不足又要通过苛刻的“通过率”测试,使一些指纹识别供应商面向“测试方法”,简单说就是造假。

先来谈谈背后的故事,指纹识别的基本测试依据是 FAR / FRR 对比图如下:

防不胜防 揭秘指纹识别中的“假技术”

对每次匹配给出一个打分,不同手指的指纹图像匹配分数超过阈值的比率叫做误通过率(False Accept Rate, FAR),相同手指的指纹图像匹配分数低于阈值的比率叫做误拒绝率(False Reject Rate, FRR)。FAR 和 FRR 是此消彼长的关系。

但受限于测试的数据规模,FAR / FRR 测试基于离线图像数据库进行。在学术界的测试中使用相同的数据库,是相对公平的;但在商业测试中由于传感器差异,图像数据库实际上由受测方提供。这就留下了造假的空间。

要想“通过率”高,无非让指纹图像非常稳定,且总是在同一个区域。多数提供商业送检的指纹图像数据库采集只包含在极短时间内连续采集小区域的指纹图像,以规避指纹的变化。这就是在实际使用体验低下的条件下大幅度提升“测试通过率”的灵丹妙药。

随着“大数据”测试方法的兴起,“通过率”造假乱象有望解决。以50人总计超过30000次的日常使用作为统计依据,总能比5人1小时内测试结论有意义。但考虑到iPhone 5S爆出不能使用的周期大于一个月,目前的“大数据”测试仍不够。市场呼唤第三方标准化测试的建立,还市场一个公平的环境。

虚假的“通过率”,使消费者放弃使用指纹识别,回到不安全的Pin码,危险指数3星。

假技术之三,“误识率”

危险指数★★★★★

指纹识别技术未建立定量安全评估,以“误识率”来替代安全性。但“误识率”仅是天然指纹随机碰撞被算法判定为相同的概率,不是对主动攻击的抵抗能力。

即便如此,在“误识率”上的造假手段也层出不穷。从误识率的定义“不同手指的指纹图像匹配分数超过阈值的比率”可引申出3种造假手段:

1.定义造假

智能手机行业的测试方法以“指 * 次”为分母,例如注册5指,给他人使用1次就产生了5个“指 * 次”;1/50,000误识率意味着注册5指后,被他人随机尝试10,000次为被解开的期望值。但由于传感器面积很小,误识总是发生在A指纹某个局部和B指纹某个局部之间;从安全考虑我们关心的是多少人当中存在一个人的一个指纹的一个局部能够和我的5指的某一个局部匹配上。对10,000次进行分解,一人10指,每指视传感器尺寸不同可分解为10-50个独立局部。在传感器极小的情况下,1/50,000的误识率竟然意味着每20个人里有一个能打开我的手机?!纳尼?!

2.测试方法造假

和通过率不同,误识率的分母往往达百万级,只能依赖数据库测试。这又回到送检数据库造假了。包括如下几种手法:

剔图法,把导致误识的图删除;

集合法,调整图像在注册集合和匹配集合的分配,使误识图像不进行匹配;

排序法,调整注册匹配的顺序,使误识图像不进行匹配。

3.隐瞒缺陷

众所周知指纹识别要进行动态更新,一旦发生误识,且分数给的很高,被学习更新进去,是不是在以后会保证发生误识?对此进行隐瞒有两种做法:

在同指匹配和异指匹配中,采用不同的阈值或采用不同的判决逻辑;

异指匹配中无论分数多高,都不允许学习更新。

这一节难以附图解释,读者不妨只关注结论:由供应商开发测试软件是一种极端落后的做法,存在造假空间。在多年前公安部对安防产品的测试中就淘汰了这一落后的做法,改由供应商提供AP以统一调用防止流程造假,图像的采集也由第三方独立进行防止造库造假。可惜的是至今没有产生为智能手机行业服务的第三方指纹测试,谈何指纹安全?

误识率造假,彻底毁坏指纹识别技术的安全属性,危险程度5星。

0

付费内容

查看我的付费内容