雷锋网按:我们在很早之前就有指纹传感和采集的需求,但直到20世纪59年代计算机发明后才实现了指纹识别的可能性。到70年代,美国FBI开启了一个项目,从而开启了用指纹识别来进行一些身份认证的工作。从此,业界对指纹的传感和如何攻破指纹系统的研究延续到现在。
指纹识别遭遇的攻击手段层出不穷,假指纹就是其中之一。
为了防御假指纹带来的安全风险,去年有国内厂商专门推出了活体指纹识别技术,这种技术号称可以通过指纹、手指皮肤颜色以及心率信号等生物特征来验证用户的真实身份,以避免假指纹的攻击。然而雷锋网了解到,市面上所谓内置“活体指纹识别”技术的终端遭假指纹破解的事件也屡见不鲜,这一技术似乎也不可靠。
指纹的采集技术和传感器原理是指纹识别系统最基础的部分,所以,要认清指纹识别的安全问题必然绕不过这两部分。那么活体指纹识别遭破解背后究竟有什么秘密呢?
为此,雷锋网邀请了迈瑞微电子创始人李扬渊为大家分享《指纹传感器原理和假指纹攻防技术》。
嘉宾介绍李扬渊,苏州迈瑞微电子创始人;指纹识别领域唯一贯通算法、传感器、IC设计的从业者;密码芯片领域最早的开发者之一;基于李扬渊所发明的“C-Q-T”电路,仅成立3周年的苏州迈瑞微电子已成为中国大陆电容式指纹传感器出货量第二名的供应商。
以下内容整理自本期公开课:
我们在很早之前就有指纹传感和采集的需求,但直到20世纪50年代计算机发明后才实现了指纹识别的可能性。到70年代,美国FBI开启了一个项目,从而开启了用指纹识别来进行一些身份认证的工作。从此,业界对指纹的传感和如何攻破指纹系统的研究延续到现在。
“活体指纹识别”靠谱吗?去年2月的MWC上,国内某公司号称发布了全球首个活体指纹检测技术,2017年该公司得到了CES全球创新金奖,在这期间有三个著名的厂商应用了其活体指纹识别,并对外宣称可以避免假指纹的攻击。
MWC2016: XX科技发布全球首个活体指纹检测技术,2016.02
黑科技 XX天机X XXX支持活体指纹识别 ,2016.10
XX“真”旗舰 除了8890芯片还有活体指纹 ,2016.12
XX科技荣获2017年CES全球创新金奖 活体指纹检测识别方案引领生物识别科技创新 ,2017.01
XX M2017活体指纹体验 假指纹无处遁形 ,2017.01
然而,前不久有网友曝出一段视频,视频演示了假指纹是否能破解活体指纹识别的测试,结果如下:
1.未注册的裸手制和理论结果一样不能解锁;
2.使用隐形指纹膜可以解锁;
3.传统指纹膜和理论结果一样不能解锁。
总结来说,活体检测的可靠性随技术方法的提升而提高,现在被破解的是最低级的早已被淘汰的技术。
假指纹“黑产”指纹识别最早应用在公安、海关等领域,所以假指纹的研究起初是一种间谍级别的行为。用硅胶等材料制作假指纹来欺骗传感器是从指纹识别的应用开始就存在的一种方式。
假指纹黑产一直是指纹识别技术的副产品, “隐形指纹膜”不是新技术,只是因为以前没有需求才没有作为产品推出。而在中国,严格来讲还没有形成黑产业,一般只用作欺骗考勤机。
活体指纹是什么?活体指纹识别是一个很宽泛的名词,他本身不是一个很严格的技术定义。去年,我在雷锋网发布了一篇文章《iPhone SE发布了,并没有“活体指纹识别什么事”》,这篇文章里面引用了中国知识产权局的定义,定义的内容包括哪些东西可以归纳到活体检测的门类,具体有以下几点:
第一类是生理特征信号,例如体温、皮肤表面的电阻特性、排汗过程、表情的变化、眼部动作、瞳孔大小变化等;
第二类是光谱学信息,该项技术主要针对打印图像形成的规律的纸质纹理特性,利用频谱特征进行检测;
第三类是通过人机互动的形式,通过检测预期的运动来对生物特征的活体特性进行验证;
第四类是多模态的生物特征识别,在认证系统中采用两种以上的生物特征识别技术方式,提高伪造样本的难度。
这是一套检测规则,如果做了其中一种就可以叫活体。但需要注意的是,活体并不代表最新的先进技术,它可能是已经不具备安全性的过时技术。
破解的原理上文提到的活体指纹被破解的例子中,其手机用的技术其实就是苹果拥有却没有应用的专利技术(专利US 8180120 B2的技术):
电容采集指纹成像;
红外光反射率检测(先发射,再检测它的反射光,反射光的强度在一定范围内的时候就认为其反射率和预期的差不多)。
但是,该方案智能防御传统黑色材料的假指纹,并不能防住半透明材料的假指纹,这种假指纹具备以下两个特性:
导电性,电容成像的可能性;
半透明,可以让红外光透过假指纹由真手指反射,所以能欺骗检测系统。
指纹传感器指纹是空间的特征,它并不是具体的物理量,所以指纹的采集是一种很开放的技术领域。
传感器可以分为物理传感器、化学传感器、生物传感器,指纹传感器是第一种,除了磁传感器外,光、电、力、声、热这五类物理传感器都可以采集指纹。
光学1.基于全反射的效应,这是最经典的一种:
当光源在全反射角以上,就是光源侧着照进去时,光线会侧着反射出去,在反射光的角度用镜头拍摄,就能拍到很亮的背景,如果指纹在棱镜表面光源照亮的区域接触,那么指纹凸出的部分(脊线)和棱镜接触,凹下的部分(谷线)不会接触,接触部分因为全反射效应会有一个受抑制的情形(光线从脊线接触的地方透射出去了),反射光的对应区域会变弱, 这时候会收到一个脊线暗、谷线亮的图像;
当光源在全反射角一下(上图不能实现这种情况,需要把棱镜的直角削平,也就是变成梯形),光线从正下方射入,这时候光线大不会从棱镜上透射出去,但是手指与棱镜接触的区域,光线会发生所有角度的散射,这时候就会出现脊线部分为亮,谷线为暗,这也可以形成指纹图像。
这个例子解释的是指纹传感器的物理效应是调制效应,一组物理量在空间上有分布,而指纹只是通过某种方法影响了这种分布,用传感器采集这个物理量的空间分布来获得指纹的图像,这是所有指纹传感器所遵循的原理,具体差异只是选择的物理量不同。
2.基于指内漫射光效应
这是由NEC公司原创的技术,它的原理如下:
当我们用手电筒对着手掌照射,整个手掌会亮起来,这是光线在手的肌肉皮肤传播,这种传播包含散射、折射,如果从指纹的方向射出来,会产生亮暗的差别,我们就可以从中提取出来;
与指静脉采集使用同样的原理不同的波长;
3.近距离面光源照射指纹,谷线阴影成像
最近iPhone 8要上光学指纹识别的消息被炒得沸沸扬扬,这实际上只是在炒冷饭。这种技术的原理甚至是工艺,早在1997年就发明了,之所以现在还能拿出来炒,是因为这个专利过期了。
这种方法的原理就是,当有一个面型的光源离手指比较近的时候,脊线就会挡住谷线。如果远距离的光线照进去,必须要有角度,某些角度看得见,某些角度看不见;但是近距离对于手指的任意一个点都相当于从差异很大的方向光线汇聚过来进行照明,所以有充分的条件使得脊线把谷线挡住。
但是这种图像很弱,对于指纹浅的人来说,就很难识别。
4.空气排斥成像
在玻璃板上放置哑光柔性薄膜,指纹压迫薄膜时把脊线下方空气排出,在另一面形成不同的反射率。可以说,在所有光学指纹识别传感器里面,这种图像是最清晰的,不过目前只有台湾一家公司在做小批量的生产。
电学1.直接电容式
这是最早的电学传感器,是在1980年由西门子提出,也就是把指纹看做电极,对面放上一整片电极,凸起的地方距离小电容大,而凹下的地方电容更小,测出这部分电容就能得到指纹的分布。不过,在使用中,这种方法不耐用。
按照FBI的标准,指纹的像素密度是50微米一个像素,作为电容,那么电极之间的距离要远小于50微米,以5微米为例,随便一根牙签就能戳坏。所以早期的电容传感器很容易损坏,要提高指纹到电极之间的距离,就需要有中间介质进行保护,也就是后面的电场式。
2.电场式
这种方法在1997年首次提出,传感电极距离指纹距离远大于传感点击尺寸时,就不能堪称电容,而必须以电场密度差(指纹的凸起和凹陷)为测量目标,因为电极是平的,所这个密度差体现的就是指纹的图像,苹果收购的AuthenTec就是采用的是这种原理。
3.生物射频、微波
这两种都是无关原理的命名。
力学力学一般有两种原理,但都不结实,为什么这么说呢?
要传递细微力的差异,必然不结实,但反过来,如果要在厚厚的钢板上按压,力就没办法传递。目前解决了这个矛盾的只有苹果,这也是为什么苹果能推出3D Touch的原因。
1.压阻效应
通过压力改变电阻大小;
2.压容效应
通过压力改变电容大小。
声学也就是采用压电互换效应:
压电换能器件又称为超声波换能器,把压力和电压进行互换;
超声波传感器的命名是因为其使用了超声波换能器,但并不像常见的超声波传感器那样向空气中发射超声波再接收回波;
流传的各种超声波指纹传感器的超能力,都基于对其定义的误解,有点类似生物射频、微波这样的假技术名词。
但是超声波指纹识别传感器并不是传统意义上的超声波传感器,它是一个固体类的振动阻抗传感器。例如小米5S的指纹识别传感器,它会自己发生振动,手贴在指纹识别的区域就会产生阻抗,会减弱振动,接触的地方(脊线)振动减弱会大一些,这写振动的变化会影响到下面的传感器,然后转换为电信号最后形成图像。
热学采用热传导效应:
热学传感器最早退出了市场,因为当热传导达到平衡,指纹传感器就失去能力;所以热学指纹传感器曾经以滑动式存在过,却一直难以实现按压式。
这也在一定程度上证明了一点,试图超越数学、物理来实现一项技术的能力,完全是缘木求鱼。
总结来说,声学和热学一样因为物理上的缺陷而被淘汰,力学也因为上述原因不可用,电学是主流,光学是很复杂,取决于是否适合产品。
假指纹攻击原理假指纹的定义系统层面,假指纹攻击有三个等级:
rank1,已知指纹实体复制的假指纹;
rank2,根据指纹特征还原出的假指纹;
rank3,不基于具体指纹特征制作的“万能指纹”。
需要注意的是,在传感段不关心算法怎么判断,而是传感器怎么判断是否是生物体的指纹。
传感器防假一般与判定是否生物体等价:
基于生物指纹不重复的假定;
“活体”不是一种可传感的物理量;
上文提到,指纹传感器都是物理传感器,而任何物俩量都可以被仿冒,区别只是成本高低。
低级假指纹平面打印指纹图案可欺骗光学传感器:
打印设备非常普及,不可管控;
东亚地区有按指印的文化习俗,通过指印来获取电子化指纹数据只需要一台扫描仪;
把日常留在物体表面的指纹进行显影和拍照,是公安部门应用了近百年的技术,相当普及;
类似的,由于定制美瞳作为一种商业活动的存在,从照片中抠图并基于之定制美瞳来攻击虹膜识别系统,也是一种低成本攻击。
中级假指纹立体指纹可欺骗电、力、声、热传感器,难度比低级假指纹要高:
立体指纹可以由3D打印、激光雕刻获得,这样的设备相对稀缺,操作技能要求高;
立体指纹还可由生物指纹经2次倒膜获得,这相当于要求指纹主人“攻击”自己;
当传感器类型不同,假指纹所用的材料需要有所差别,电学传感器需要(弱)导电材料,力学声学使用一般材料,热学则要求人体体温。
高级假指纹在化学特性或细微结构特性上非常接近真指纹的假指纹:
由于历史上在指纹识别领域并未普及应用过化学传感方法,所以如果开发出化学型指纹传感器,一段时间内还没有对应的造假方法;
细微结构,如汗腺、皮脂腺、皮肤层次等接近真指纹,需要非常高的制造技术。
如何防御假指纹安全价值安全技术成本不是安全技术价值的度量标准,破解成本才是:
防守方必须防御所有可能的攻击,这形成了安全技术的成本;
攻击方只要寻找到一个突破口,所有破解方法中成本最低者决定了攻击成本,攻击成本低安全环境就差;
使攻击者因为成本太高而放弃攻击是安全技术唯一价值;
多传感技术各种生理特征都需要转换为具体物理量,导致从物理破解角度,这些检测办法都没什么用:
参考中级假指纹,立体指纹通吃各种传感技术,即使5类传感技术全部用上也增加不了安全性;
如把电和光结合的例子,被某宝破解的结局说明,结合弱安全和中安全,结果还是中安全,没有任何提高;
传统指纹膜成本0.05rmb,隐形指纹膜0.016rmb,所以起不到阻止攻击的作用。
另外,有个原则是安全性和安全成本的比例要在10以上。
红外多光谱技术通过红外反射谱扫描可以判定真假手指:
红外光谱可以用于分析物质,符合人体光谱的可判定为真手指;
这种技术虽然靠谱,但是成本高(一套5000元左右),只能在海关一类场合应用。
红外断层扫描技术红外断层扫描(OCT)通过红外干涉激光对皮下结构进行um级断层成像,这是一种更高级的做法:
能获取3D皮肤组织结构,包括汗孔、汗腺、微细血管,神经末梢;
成本极高(光传感部分就是6万美元,整套系统30万美元以上),速度极慢。
这种技术的安全性和安全成本的比例在100以上。
保护好指纹信息平面假指纹到立体假指纹之间的技术鸿沟才是主要防御假指纹的壁垒:
不要自造立体指纹,更绝不可以交给第三方使用,以免被复制;
手机丢失要迅速锁定,你的手机可能自带指纹印,但辗转到技术高手手中并制造出立体假指纹来尚需时间。
总结我们没必要在假指纹攻破指纹识别系统这件事上太过担忧,关键是自己不要参与制作假指纹的制造,保护好自己的指纹。
精彩问答Q:看到有些活体指纹识别方案是把多个传感器集成在一起,对此您怎么看?这是目前业界普遍的做法?
A:把难度不同的集成到一起,难度等于原本最大那个。全球充分研究40多年的攻防,不止针对指纹,而是针对各类物理传感器。要提高防御能力必须用先进技术,不可能靠几毛钱打到好效果。
实际上当有人提出用光学来加强电传感器的放假能力时,我就已经很雷了。公认的强技术居然可以靠公认的弱技术来提高,这得多业余啊。业界的普遍看法是,不必操心,守住3d立体指纹的制作难度即可,千万别自己制作复制指纹送人!
Q:刚听您讲的内容,现在好像没有很好的防御假指纹攻击的办法啊,现在上游厂商研究的方向是什么?
A:多光谱,oct都是目前能确实防得住的技术,但成本等限制了应用场合。从日常生活应用来看,要注意几点:
1、坚决淘汰光学指纹传感器,毕竟靠打印指纹图案就能欺骗的东西
2、攻防相长,要持续提高防御技术,这分几个角度
2.1、把验证做得更复杂,但导致不方便
2.2结合更丰富的安全手段,切实提高攻击者的成本和风险
3、绝对安全是假象,相对安全才是唯一可量化的
生物识别其实是不太靠谱的安全方式,但考虑到经典信息安全领域只能做到设备到设备,没有认证人的办法,也就聊胜于无了。
Q:那活体指纹识别方案对设备安全到底有没有意义?
A:活体指纹识别是一个大类,在海关用多光谱来验活就有意义,但用一些没有效果的做法套上活体的名词,就涉嫌欺诈。指纹识别到目前为止其实还是一个模式识别技术,还没有正式进入信息安全技术的范畴,还有不少需要研究的。
我举个最简单的例子,安全性的量化,目前就做不到,目前业界有一些企业,把指纹传感器越做越小。我就想,你们干脆缩小成一个点,当开关用好了,消费者毕竟还指望这玩意有点聊胜于无的安全性,总不能啥也没有吧。
Q:指纹识别做到显示屏上还有什么难点?现在做到了什么水平?
A:这有三个思路:
第一,on,就是做在tp里
第二,in,做在screen里
第三,under,做在screen下面
先说第一类,tp层,做指纹的话密度会很高,会导致光学差异,其次,穿透整块2.5D玻璃超出了物理极限,所以整个设计要重来。如果单说做个透明指纹面板,倒不是什么难度,难在各方面都达到工业量产。
再说第二类,技术上实现用光学方案问题不大,问题在于,screen损失近一半的亮度和分辨率,价格还大大提高,你愿意买单吗?而且这种光学方案的图像很弱,功耗又高,也就是说指纹唤醒等功能就别指望了。
第三类,under,这个最有欺骗性,但说句不好听的,就凭3D touch都做不到量产的水平,under screen真的可行么?结合工业可行性,还是刻意忽视,就是领先工业设计者和技术骗子的区别,一线之隔,远隔天边
under一重介质,良率就一塌糊涂了,还要连续穿透那么多层那么厚。
本期硬创公开课视频如下:
雷峰网原创文章,未经授权禁止转载。详情见转载须知。