很难定量判断指纹的唯一性和不确定性有多高|Pixabay
目前商用的指纹算法(比如手机解锁),在误识率为五万分之一的情况下,拒识率小于百分之三。也就是说,在别人的手指试五万次,会有一次能够非法通过认证的前提下,自己的手指每试一百次,有三次会被拒绝掉。
这是一个博弈的过程:误识率和拒识率,一个高,另外一个就会低。目前的数值,是从用户反馈中得出的。
这个性能,对小面积而言是1:小N——系统里可能会注册不止一两个手指;对大面积而言(刑侦公安或者大数据库)而言是1:大N。所以,指纹系统的安全性(指纹识别出错的概率)大致是五万分之一,大面积的可能会达到十万分之一或者二十万分之一,但目前的技术也就到此为止了。
指纹系统和密码系统的安全性完全不是一个量级的,但是也不能就此认为后者就是安全的。
为什么?
大家想想:我们设置的密码,真的是随机的吗?即便是随机的密码(而且要所有的系统都不一样),记得住吗?
所以有两个概念,一个叫“预测熵”,一个叫“最小熵”,它们是用来衡量考虑了各种实际情况以后可能达到的安全性的测度。
预测熵,就是任意的一个8位字符。在有组合要求(有大小写、有符号、不能是一个英文单词、不能是连续的数字等等)的情况下,数值可以达到30,也就十亿分之一的概率会被猜中。
十亿分之一,听起来还可以;但是,我的密码绝对是自己惯用的几个组合,因此也存在较坏情况下的判断,而这就与最小熵(即认为他人达到最优状态,如对主体密码设置习惯有一定了解)有关。
一般来说,一个密码系统的最小熵达到是10(即在随机一千分之一的概率被猜中),我们才能认为它是安全的。在系统本身不做限制或者安全增强技术的情况下,密码要有15位才能保证一千分之一。15位的密码,大家有吗?反正我没设过这么长的密码。所以密码的安全性其实并不高的,容易被人破解。
通过上述讨论,我们可以得到一个大概的结论:指纹系统的安全性往往是由它系统本身(硬件、算法)决定的,而密码系统几乎完全依赖于用户的使用习惯。因此,对于特别认真谨慎而且记忆力特别好的人,密码可能更安全;但对于比较马虎的一般人,设置密码有点随便,可能还是指纹更安全。
指纹的优势有哪些?
所以,就安全性而言,指纹并没有比密码有本质上、颠覆性的突破。不是说用了指纹之后,密码所有不安全的问题都解决了。
那么,为什么指纹应用如此广泛?
因为方便。
指纹到底有什么优势呢?
首先是方便、快捷。我不用像钥匙一样带在身上,也不用特意记住,甚至都不用每次输入——一摸就开了。
还有固有特征。固有特征的意思是,指纹是长在我身上的,所以认证通过了我的指纹就代表认证通过了我这个人,而不是密码、卡或者证件。因此,也就减少了盗用密码以及盗刷卡或者证件的可能性,所以这是它比密码要好一些的地方。当然也不是绝对的,比如还有假指纹可以伪造。
另外还有稳定性。指纹终生不变,但不代表完全不变。已经有很多人做过研究,隔5年、10年再去采同一个人的同一根手指,相似度会有一些下降。此外,体型胖瘦、手的干湿程度以及磨损程度(如受伤、划痕、脱皮)也会造成影响,但都是在量变的水平,没有到质变。
电影《烈日灼心》里,主人公每次抽完烟都碾搓烟头烧自己的手指,希望能把指纹烧得无法辨认。那么,这种方法有用吗?在结局中他被捕了,所以我们可以一步到位地得出结论说没用。
为什么没用?
尽管破坏了指纹,必然会影响到识别,但是能不能匹配成功,取决于多个因素。
首先取决于破坏的程度。在这张图中,指尖部分可能破坏得不能用于识别了,但是指腹只要采集得够多,还是能够识别出。
但是,如果破坏的程度真的很高呢?比如整个表层皮肤都破坏掉,甚至连底下都没有了。那可能就识别不出来了。但是在公安刑侦领域,并不会把指纹作为嫌疑人唯一的特征,还会有别的识别方法。电影中,邓超饰演的辛小丰之所以会被关注,就是因为他搓烟头的动作被看到了。
不同场景下的规则有什么区别?
在正常的指纹应用环境里,指纹识别根据不同的运用环境也会有不同的规则。
我简单归纳为“非你不可,偏你不行”——这不是专业用词,是我自己编的。