指纹解锁和密码解锁,哪个更安全?
2019-09-04 09:40

指纹解锁和密码解锁,哪个更安全?

本文来自微信公众号:我是科学家iScientist(ID:IamaScientist),作者:臧亚丽,编辑:麦芽杨、凝音,封面:视觉中国


当你看到指纹手机又被破解的视频,你是否感到恐慌或是认为只是危言耸听?当你假期旅行、周游列国的时候,是否考虑过海关系统指纹验证的必要性?被列入黑名单的嫌疑人,破坏自己的指纹就可以通过系统检测吗?你听说过“指纹丢失”吗……你的指纹还好吗?


臧亚丽演讲视频:



以下为臧亚丽演讲实录:


我是臧亚丽,来自中国科学院自动化研究所。


大家都比较关注指纹的安全性,所以我的分享主要围绕安全性展开。



我本科毕业于西安交通大学,然后中国科学院大学硕博连读,后来在中科院自动化所做副研究员。


在我整个学习和工作的过程中,一共涉及到以下几个指纹的课题:



形变指纹的匹配。在采集的时候,手指可能会变形,比如会不自觉地拧一下,会影响识别的效率。


现场指纹识别。它主要应用在公安上,是关于怎样能将指纹有效地从背景里找出来,然后跟正常的指纹做匹配。


假指纹甄别。主要研究各种材料的假手指跟真正的皮肤采集的图像有什么区别。


小面积的指纹识别。我们有一个横向的项目,跟公司合作来做指纹识别的芯片。


更安全:密码,还是指纹?


大家觉得,指纹和密码,哪一个更安全?指纹现在应用得这么广泛,是因为密码不安全吗?



一个八位数字组成的随机密码,一共会有108(1亿)种方案。也就是说,随便生成一个八位数字的密码,另外一个人随机猜到的可能性是一亿分之一。如果夹杂大小写字母和符号,就会有948(6千万亿)种。


这就是说,当选择的范围越宽时,密码的不确定性就越高,相对安全性也就会越高。


信息学和密码学的领域里有一个“熵”的概念,用来评测密码的安全性。密码熵里边有两个关键变量L和N,表示在N个符号的范围内,去随机选择长度为L的密码,得到的值是52.7。


而指纹只要采集的位置、面积、形变角度等存在不一致,收到的信息就会不一样。正因如此,很难定量判断指纹的唯一性和不确定性有多高。全世界六十亿个人,每个人十个手指,一共有六百亿个手指。而指纹又是唯一的,算下来是六百亿分之一——这样说起来好像是绝对安全的,但其实不是这样的。


很难定量判断指纹的唯一性和不确定性有多高|Pixabay


目前商用的指纹算法(比如手机解锁),在误识率为五万分之一的情况下,拒识率小于百分之三。也就是说,在别人的手指试五万次,会有一次能够非法通过认证的前提下,自己的手指每试一百次,有三次会被拒绝掉。


这是一个博弈的过程:误识率和拒识率,一个高,另外一个就会低。目前的数值,是从用户反馈中得出的。


这个性能,对小面积而言是1:小N——系统里可能会注册不止一两个手指;对大面积而言(刑侦公安或者大数据库)而言是1:大N。所以,指纹系统的安全性(指纹识别出错的概率)大致是五万分之一,大面积的可能会达到十万分之一或者二十万分之一,但目前的技术也就到此为止了。


指纹系统和密码系统的安全性完全不是一个量级的,但是也不能就此认为后者就是安全的。


为什么?


大家想想,我们设置的密码,真的是随机的吗?即便是随机的密码(而且要所有的系统都不一样),记得住吗?


所以有两个概念,一个叫“预测熵”,一个叫“最小熵”,它们是用来衡量考虑了各种实际情况以后可能达到的安全性的测度。


预测熵,就是任意的一个8位字符。在有组合要求(有大小写、有符号、不能是一个英文单词、不能是连续的数字等等)的情况下,数值可以达到30,也就十亿分之一的概率会被猜中。


十亿分之一,听起来还可以。但是,我的密码绝对是自己惯用的几个组合,因此也存在较坏情况下的判断,而这就与最小熵(即认为他人达到最优状态,如对主体密码设置习惯有一定了解)有关。


一般来说,一个密码系统的最小熵达到是10(即在随机一千分之一的概率被猜中),我们才能认为它是安全的。在系统本身不做限制或者安全增强技术的情况下,密码要有15位才能保证一千分之一。15位的密码,大家有吗?反正我没设过这么长的密码。所以密码的安全性其实并不高的,容易被人破解。


通过上述讨论,我们可以得到一个大概的结论:指纹系统的安全性往往是由它系统本身(硬件、算法)决定的,而密码系统几乎完全依赖于用户的使用习惯。因此,对于特别认真谨慎而且记忆力特别好的人,密码可能更安全;但对于比较马虎的一般人,设置密码有点随便,可能还是指纹更安全。


指纹的优势有哪些?


所以,就安全性而言,指纹并没有比密码有本质上、颠覆性的突破。不是说用了指纹之后,密码所有不安全的问题都解决了。


那么,为什么指纹应用如此广泛?


因为方便。



指纹到底有什么优势呢?首先是方便、快捷。我不用像钥匙一样带在身上,也不用特意记住,甚至都不用每次输入——一摸就开了。


固有特征。固有特征的意思是,指纹是长在我身上的,所以认证通过了我的指纹就代表认证通过了我这个人,而不是密码、卡或者证件。因此,也就减少了盗用密码以及盗刷卡或者证件的可能性,所以这是它比密码要好一些的地方。当然也不是绝对的,比如指纹也可以通过特殊手段来伪造。


稳定性。指纹终生不变,但不代表完全不变。已经有很多人做过研究,隔5年、10年再去采同一个人的同一根手指,指纹相似度会有一些下降。此外,体型胖瘦、手的干湿程度以及磨损程度(如受伤、划痕、脱皮)也会造成影响,但都是在量变的水平,没有到质变。



电影《烈日灼心》里,主人公每次抽完烟都捻搓烟头烧自己的手指,希望能把指纹烧得无法辨认。那么这种方法有用吗?在结局中他被捕了,所以我们可以一步到位地得出结论——没用。


为什么没用?


尽管破坏了指纹,必然会影响到识别,但是能不能匹配成功,取决于多个因素。



首先取决于破坏的程度。在这张图中,指尖部分可能破坏得不能用于识别了,但是指腹只要采集得够多,还是能够识别出。


但是,如果破坏的程度真的很高呢?比如整个表层皮肤都破坏掉,甚至连底下都没有了。那可能就识别不出来了。但是在公安刑侦领域,并不会把指纹作为嫌疑人唯一的特征,还会有别的识别方法。电影中,邓超饰演的辛小丰之所以会被关注,就是因为他搓烟头的动作被看到了。


不同场景下的规则有什么区别?


在正常的指纹应用环境里,指纹识别根据不同的运用环境也会有不同的规则。


我简单归纳为“非你不可,偏你不行”——这不是专业用词,是我自己编的。



什么叫“非你不可”?这是我的手机,就只有我能通过,其他人一律都不行,所以它只关注我固定的一根手指。只要不吻合,就不让通过。


“偏你不行”指的是,不允许海关刑侦黑名单上的人通过,而其他人都可以。


具体该怎么实现呢?


首先,会设置阈值来判断是不是同一个人,或者同一根手指。阈值的取值在不同的应用场景下可能不一样,在“非你不可”这边可以高一点,哪怕多拒绝真的用户几次,也不能让假的用户过去。但是在“偏你不行”这边,阈值就可以取得低,可以相似用户留下来再看一看。


还会关注是否存在异常现象。如果犯罪分子想通过破坏指纹来逃脱,就反而会受到关注。


“指纹丢失”有哪些情况?


“指纹丢失”也不是一个专业的概念,但是我在很多地方都见到过这种说法。



什么叫指纹丢失?主动破坏自己的指纹,肯定是丢失的一种,因为如果破坏程度大就会永久性失去指纹(不可能再恢复到原来的纹理)


疾病和外伤和磨损所致的表面纹路受损更为常见的,但这种情况下,经过一段时间就可以恢复到和原来一致。


还有一种叫指纹副本丢失。是指得到的指纹图像,或者制作出来的假指纹丢失。


还有指纹模板丢失。指纹特征存在系统里,就有可能会被可能黑客获取。


我重点对后面两种稍微阐述一下。


01. 指纹副本丢失


首先是关于假指纹。



左边两幅图片是我在网上找的例子,是通过硅胶或者导电材料制作假指纹。自己做自己的假手指,没什么难度,因为配合度非常高;甚至可以做多做两个,找其中最清楚的那个识别。


那么,假指纹涉及到哪些技术呢?它分软件和硬件两个层面。


软件层面(算法)包括动态特征和静态特征。首先,手指摁下去的过程就是一个逐渐形变的过程,这就跟材料的弹性和质地有关;而且要考虑出汗。其实在软件层面,可能纹理更有效,因为它是一个静态的特征,不需要不停地采很多帧。但是不同的材料摁下去以后形成纹路,虽然可能肉眼看不出来,但计算机能识别出明显的区别。


硬件层面(设备)会集成一个小模块。尽管现在测生理信号的模块都很成熟了,但考虑到体积和成本,应用场景十分有限。


为什么我们手机里面没有假指纹的甄别技术呢?一方面,就是因为增加相关硬件就要增加体积——手机再厚一层估计你也不愿意。另一方面,在自己不愿意、不知情的情况下,别人拿我的手指去做假指纹,还要能打开手机,需要挺高的技术含量,而且是非常专业的领域才能实现的。所以大家也不用特别担心。


02. 指纹模板丢失


接下来是关于稳定性。



指纹终身不变,到底是优势还是缺陷?这个问题其实是所有的生物特征可能都会面对的。刚刚说过,指纹会丢失,不管是副本丢失还是模板丢失,别人有了我的指纹,但是我的指纹永远不会变,不能像密码一样更改重置。因此,一旦指纹被别人知道,我其它的系统都不能再用这个指纹了,因为它不安全了。



其实现在也有指纹模板保护技术,而且这个工作已经做了很多年了。但是因为它会有一点问题,就是会损失指纹的有效信息。因为它相当于对指纹做了一次加密,然后用加密后的信息再去做认证,所以必然会造成一定的信息损失,进而导致精度上的下降。这项技术目前还没有成熟到可以随便应用的程度,但在不断进步。


保护指纹:势在必行,还是危言耸听?


我简单总结一下前文:指纹相比密码其实没有更安全,但确实更方便。但同时,它带来两个问题,一个是假指纹,一个是指纹丢失。也许大家特别关注指纹丢失,但我认为不需要在上面太费心思,因为别人拿着你指纹来攻破系统,不是一般人能做到的。



曾有新闻报道说,一段胶带就能破解手机的指纹解锁:把透明胶带贴在手机指纹识别键上,只要试三次就能解锁。其实,这在理论上是可行的。但是你真的不会发现自己的手指或者手机上贴了一个胶带吗?所以,这种情况不是随便就可以发生的。


还有人说,不要随便拍照比Y手势,不然指纹会丢失。我想说,虽然现在通过远距离拍照实现手机指纹的采集和识别可以做到,但需要在非常苛刻的条件下:人要有一定配合度,相机的分辨率要高,图像成像的角度要合适,周围的环境光线要好……所以也不是说上去拍一下,你的指纹信息我就有了。


所以,对于像我这样的普通人,享受简单生活的简单快乐就可以了。谢谢大家!


本文来自微信公众号:我是科学家iScientist(ID:IamaScientist),作者:臧亚丽,编辑:麦芽杨、凝音,封面:视觉中国

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定