雷锋网按:上一期公开课提到了指纹的传感方法,传感器把真实的指纹采集为图像,算法来识别指纹的一致性,而万能指纹是目前还没有开始研究的一种攻击方法。
在雷锋网的上一期硬创公开课中,迈瑞微电子创始人李扬渊为大家分享了的内容,其中,就提到了在系统层面,假指纹攻击有三个等级,这三个等级对指纹识别的技术需求都不一样:
rank1,已知指纹实体复制的假指纹;
rank2,根据指纹特征还原出的假指纹;
rank3,不基于具体指纹特征制作的“万能指纹”。
所以,如果听过上一期课程,你应该已经有所了解,黑客要攻击一部手机和设备,除了复制一个和你一模一样的指纹之外,他们会不会通过窃取指纹数据逆推出你的指纹来,甚至直接制作“万能钥匙”一样的“万能指纹”来破解你的设备?
面对这样的安全隐患,我们需要认清以下几个问题,才好做到未雨绸缪:指纹识别的原理是什么?指纹识别的攻击方式有哪些?万能指纹真的存在吗?雷锋网再次邀请到了李扬渊,为大家继续解答上述问题。
李扬渊,苏州迈瑞微电子创始人;指纹识别领域唯一贯通算法、传感器、ic设计的从业者;密码芯片领域最早的开发者之一;基于李扬渊所发明的“c-q-t”电路,仅成立3周年的苏州迈瑞微电子已成为中国大陆电容式指纹传感器出货量第二名的供应商。
指纹识别是模式识别的一种,模式识别是给一种物体每个个体一些描述,这些描述的总和就是特征空间,特征空间的维度越丰富,辨别个体就越容易。例如:男,中等个头,瘦小,面容猥琐,但是仅凭这些信息我们很难定位到某一个人。如果在上例增加一些特征,如下巴有一颗痣,左眼角有伤疤,就能对个体描述的更加准确。
在特征空间建立的时候,对个体抽象成一个特征序列的描述的时候,会有一定的不确定性,例如有的人会认为他长得很丑,但也有的人则认为帅。为了把特征空间的描述特性变成有意义的分类和辨别,就需要算法来实现了。
模式分类是把特征空间划分为若干区域,从而实现对个体的分类;
落户打分可以看作一种最为简单的分类,把多个特征维度合并到一个维度;
更为普遍的大于2种类别的分类,并不会首先形成一个连续的分值序列。
为什么这么说呢?主要有两个原因:
1.特征空间不明确
如果存在准确的坐标系,那么指纹特征就可以用特征空间来描述:
•细节点,无论端点还是叉点,其特征主要是几何位置;
•方向场、频率场等特征都基于坐标系;
但不幸的是,指纹匹配的目的是找到坐标变换:
•指纹匹配分数的定义是,穷尽任意坐标变换下,两个指纹实现最大程度匹配的坐标变换下的匹配分数即为指纹的匹配分数;
•指纹相对于手指的位置通常不予采集,是导致这个属性的原因。
2.模式分类不明确
从1823年起,就有关于指纹分类学的论述,上图显示的是珀金杰描述的9类指纹。因为指纹的基本环形有很大的差异,所以我们没法为指纹定做一个比较靠谱的坐标系,如果世界只存在一种指纹,那么指纹识别就会变得很简单。
自动指纹识别技术的目标是:
辨别某指纹是否是特定的已注册的指纹;
辨别某指纹是否是已注册的多个指纹中的一个,以及是哪一个。
所以,经典的指纹分类学对指纹识别技术没有什么助力。
从数学本质上,将指纹识别看作似然性匹配更为贴切。很多人都学过滑动窗相关法,这是最基本的似然性匹配,它只考虑两个维度的几何平移。但是指纹识别要考虑更多的因素:
•旋转,皮肤的蠕变(非刚性形变);
•皮肤的变化,例如脱皮、起皱;
•传感器带来的噪声和信号衰落。
因此,这些因素导致指纹识别成为充满挑战的领域:
•不能直接从经典大领域获得知识支持;
•涉及面广,又缺乏理论,偏偏应用呼声极高;
•作为信息源头的指纹传感器,其设计方法的开放性,使整个指纹识别领域的研发工作具备更大的开放性。
就目前而言,除指纹识别之外,生物识别还有面部识别和虹膜识别两种,但是后两者的特点是有明确的几何坐标系:
•五官有明确的结构关系,虹膜也有明确的结构和方向;
•人脸和虹膜都可以用特征空间来表述,虹膜甚至有经典的编码;
•采用高清摄像头,在传感器自身的稳定性上更好。
而指纹识别区别于这两种生物识别的最大因素就是它们不是一个类别,所以指纹识别的研究人员也很少有共同点。
在周一的公开课上,我们提到了活体指纹识别被破解的案例,但这种想法并不合理,安全一定是系统级的,并以攻击成本为价值衡量。
以单一技术单一环节实现安全,是以无知迎合无知,好比安装金库级的大门,却开着窗;
攻防相长,持续进步,落后的技术价值为零,所以安全领域不能炒冷饭;
层层设卡环环嵌套是基本做法;不同技术的防御面不同,结合起来看结果。
各种安全技术的可靠性和攻击成本必须得到量化:
从系统整合和系统攻击成本量化估计两方面都有此要求;
决不能等被攻破后才得知某技术的破解成本。
目前的指纹识别并没有发展成为一个安全技术,一直以来是个模式识别的研究,当它推向市场得到普及应用之后才真正具备了向安全技术的演进,也就是产业化在先,研究在后的阶段。
指纹识别自身还没有量化安全性评估,还不能作为安全技术,未来能不能发展成安全技术,就是现在产业界的责任。
far / frr 测试依赖于数据集,而数据集由采集获得:
•所以指纹识别系统的far只是随机碰撞概率,不是防攻击能力;
•这就好比声称6位数字密码的安全性等于10^6一样,非常业余;
•模式识别指标定义,不能作为信息安全定义。
再来看看指纹识别潜在的攻击方法,在上一期公开课中,我们提到和指纹识别技术有关的攻击方法有三种:
•rank1,根据真实指纹制作假指纹,攻击点是欺骗传感器;
•rank2,根据指纹数据制作假指纹,攻击点是数据库;
•rank3,无须指纹数据先验制作假指纹,攻击点是指纹识别算法。
如果真实指纹和指纹数据都得到保护,则传感器和算法构成两重防御。
特征空间明确对安全属性是双刃剑,一方面安全性容易量化,另一方面攻击方法容易研究。rank3大众脸攻击是面部识别的主要困境;而rank1从照片提取虹膜并制作美瞳是虹膜识别的主要困境。
当一种方法被普遍接受成为了要承担安全责任时候,如果有价值被攻击,那么一定有人研究,有人研究就有人实施,这也是为什么一定要提出“万能指纹”攻击方法的研究,并且评价最低成本的攻击方法成本是多少,进而评价指纹识别的安全性。
自动指纹识别技术由美国fbi主导于20世纪70年代建立,这个时代背景是指纹采集技术手段落后,图像质量差;而且运算平台落后,算法研究也落后。
唯一能保证的就是图像比较大,但是图像大特征不准确,采集尽量大的指纹图像,获取远超过必要的信息量,所以要对不可靠的特征集合进行“模糊识别”。
实现一定程度准确性的识别所需要的信息量是一定的。但是指纹传感器面积减小,信息总量也相应的减小了,所以要提高信息准确性,那么信息利用率也需要提高。
与此同时,传感器所面临的挑战是要保证更高的图像质量和保真度;而对算法来说需要尽可能全面的利用指纹图像蕴含的信息。
指纹传感器面积小,图像质量再不给力,问题就大了。
举个例子,有传言称国内某超声波指纹手机在冬天导致近20%人群无法使用,这实际上是特定指纹所导致的:
•亚洲人皮肤油脂最少,冬天气候干燥皮肤尤其干;
•亚洲女性是全世界人种中指纹最难搞的,又浅又细;
•再加上东亚人手洗衣服的生活习惯造就了数以亿计的指纹杀手。
除此之外,还有很多指纹对指纹识别不友好,如干皮肤对棱镜光学也是噩梦,家里有光学指纹锁都可以感受;另外,最近炒的很火的苹果授权的新专利技术在东亚市场也难以适应,因为细指纹对近光源阴影成像就是噩梦;表皮薄的妹纸更是噩梦中的噩梦。
据统计,过去有8万人在研究指纹识别算法,但目前全球只有5个公司实现算法的大规模应用,而传统指纹识别算法和现在的小面积图像指纹识别算法有着很大的差异。
传统大面积图像指纹识别算法:
•特征提取马马虎虎,反正原始数据就不可靠;
•特征匹配精细调整;
小面积图像指纹识别算法:
•原始数据必须可靠;
•特征提取精雕细琢,一点也不能放过;
•特征匹配要求精确,哪里还有模糊识别?
•对模板融合扩展(自学习功能)的要求大大提高。
万能指纹是否存在是从业者必须面对的事情。
第一种情形是针对算法缺陷,存在构建万能指纹的可能性:举个例子,2010年深圳客户报告过,其技术总工用拇指能够开启使用注册了别人指纹的杭州某公司算法芯片的指纹锁。
这是传统算法的缺陷造成的,它的思路是部分特征匹配即过,如果特征有无差别大,往往认为是图像问题或提取问题导致的异常,予以忽略。这哥们的指纹比较皮烂,特征提取算法差的话容易提取出非常多的假特征,正好和很烂的特征提取算法配合的匹配算法往往更容易忽略不匹配的特征的影响而只关注匹配特征。
第二种情形是特征空间遍历。如上图,我们用无线网覆盖的案例来解释什么叫特征空间遍历,类似锁匠尝试许多把钥匙来开锁。红点代表一个路由,每个路由覆盖一定的区域,这些区域会有连接重叠,我们把假指纹比喻成路由。
生物识别算法的判决规则允许一定程度的失真。如果特征空间很明确,算法自身的容错度导致比较大特征空间区域都可以判定通过,把这个区域定义为通过区域;制作一组假指纹,其通过区域能够覆盖特征空间,则必存在一枚假指纹可以通过。
只有实施攻击并评估其复杂度和成本,才能量化安全技术。指纹识别要从模式识别技术走向安全技术,必须进行进一步的研究,从攻击角度可以评价各种算法特性是否构成安全缺陷,第二个要评价指纹识别的特征空间。尽管指纹识别特征空间的不明确,但我们也需要要用等价的方法来做覆盖性的研究。
主动攻击相当于降低了判决阈值,所以除判决阈值处的far,当判决阈值进一步降低时far的提升曲线也很重要。
万能指纹的研究价值就是一个指纹识别系统从安全评价角度到底有多大的能耐。
有了评价标准之后,我们需要建立相应的测试方法体系和工业标准。从测试成本考虑,不能使用物质的假指纹,而是软件合成的假指纹图像,具体来说有以下几个方向:
研究点1,软件合成器如何能体现具体指纹传感器的噪声特性?
研究点2,如何设计假指纹特征分布来针对性的测试算法?
研究点3,如何调整合成策略来产生不同等级的测试库?
研究点4,不同测试库的测试结果如何统一为安全性量化评估?
q:汇顶的ifstm 技术见龙不见尾,目前有投产吗?另外,这个技术量产的关键难点是什么?
a:ifs不是指纹传感器的类型,而是手机工业设计的一种方向。按汇顶的意思,把电容指纹传感器放在玻璃下面。因为汇顶做触屏,这样一结合,一张玻璃两个产品,就没别人什么事了。但对手机设计而言,这样并不好。
所以ifs不是技术概念,而是插手了手机设计,但并没有被主流手机接受。
q:鉴于指纹本身的差异性以及指纹识别技术的多样性,行业是不是应该要形成一个规范?
a:规范是有必要的。尤其是我这样的研究背景很强的参与者。毕竟江湖功夫咱不到家,按技术规律规范着来,比较有竞争优势。规范的形成,是一个长期的拉锯战,各方博弈的后果,最后谁大呢?传统看法是谁份额大谁就有事实标准。
但有时也未必,因为涉及安全,安全是非常理性的规范性,否则就要遭遇大赔偿。跟金融业比起来,指纹识别技术供应商都算不得什么控制力,金融业是规范的需求方,不具备制定规范的技术能力。所以这事有得搞。
q:之前业界也在呼吁几种生物识别技术融合的方案,原则上安全性应该会有所提高,现在业界有没有相关的案例?以及技术难点在哪?
a:这就和结合光学与电容搞得活体一样,一高一低的结合不提高安全性。不过人行有个文件,安全等级是数技术手段个数的。从风控的角度,如果场景比较安全,那么认证手段就会少。此时选择最方便的一个让消费者舒服。如果场景本身不靠谱,认证手段多上几个,对提高攻击成本总有点价值,所以如果生物识别手段上多个,会有主有次,有高频有低频。而不会相互抵触。
如果非要说难点,只有两个非技术的:第一,安全量化没做到,金融业定不了标准。如果多模给100万额度,单模给1000额度,立刻都多模;另外是成本,但节流问题没有开源重要。
本期公开课视频如下: