企业新闻
指纹,由于其具有终身不变性、唯一性和方便性,已几乎成为生物特征识别的代名词。目前来看,指纹识别技术应用已经相当广泛,不仅在门禁、考勤系统中可以看到指纹识别技术的身影,市场上还有更多指纹识别的产品:如笔记本电脑、手机、汽车、银行支付等等。但,指纹识别技术真的安全么?一起来看..
密码就是一坨翔。没有人会挑选一个好的密码,就算他们好不容易选了一个不错的,也会在所有的网站上都使用这个密码;就算你用了一个可以信赖的密码管理软件,它也会被人破解。不过你知道比密码更烂的是什么吗?那就是指纹。指纹的问题多如牛毛,你在任何时候都不应该用它来取代密码。
密码应该是保密的,就像你小时候养的宠物的名字。相比之下,你带着手指头到处晃悠,它们几乎在任何时候都是暴露在外的。当你的密码被泄露了,一般很容易就换个新密码。可你不想换个手指头吧?最后,也是最为重要的,你希望密码是经过哈希处理的,这样就算密码数据库被盗,不法之徒也无法获取你的密码。
看完本文你就会知道,指纹比用密码要糟糕得多。
指纹并不保密
首先,使用指纹取代密码最明显的问题是:指纹压根就不是保密的。
想想电影、电视剧中的剧情:警察在向坏蛋问话的时候,递给了他一杯饮料,然后再把杯子送到法医实验室,就搞到了指纹。案件轻松侦破!
但实际情况会更糟。你的指纹到处都是。可以从杯子、门把手、键盘和桌子表面提取到指纹。你不会把你的密码写在便签纸上,然后贴到工位的显示器上,对吧?可如果你的工作需要使用指纹来进行身份认证,那这个密码可能已经留在你的显示器上了。
欧洲最大的黑客团队宣称:他们可以通过少量的指纹照片,利用某些商业软件,就能够侵入采用指纹验证的系统。
在德国汉堡举行的第31届Chaos计算机俱乐部大会上,网名为“Starbug”的简恩·克里斯勒(Jan Krissler)表示,只要使用“相机拍摄的标准照片”,就可以获得某人的指纹。
别在你的照片中露出指纹!从一张照片中,Starbug复制出了Ursula von der Leyen(德国国防部长)的指纹。不管这个指纹是不是真的能控制整个德国的军队,反正你应该知道:真有可能会泄露出去。
同样,去年某团队声明,他们发掘了一种可以绕过iPhone 5s指纹认证Touch ID的方法。最新的进展显示出一张印有“偷来的”指纹胶片,可以用来让Touch ID以为这就是手机主人在解锁自己的手机。
如何仿造指纹?
Starbug用来仿造指纹的技术超级简单。他复制了一个指纹,然后把它蚀刻在铜片上(和制作印刷电路板一样),在蚀刻上喷一层石墨,最后在上面盖上一层木胶或者乳胶。在铜片被蚀刻掉的地方,胶水加石墨的指模会更深,这用来模拟你手指上纹路。石墨涂层和手指一样拥有电容的特性。如果再用上和皮肤颜色相同的乳胶,你就做出了一个像碟中谍电影里一样的东西,成本只有5美元加上一个下午的时间。而你需要的只是从杯子或者书本上提取一张质量好点的指纹图片。
指纹是不可改变的
打个比方,你的普通密码不管因为什么原因泄露了,会有多糟?在理想世界中,被攻破的网站会通知你并提醒你更换密码。你可以把宠物狗的名字换成宠物猫的名字,或者你出生的年份和你妹妹的出生年份。轻松搞定!
不过如果你用指纹当密码却不慎泄露的话,不可能去改变它。实际上,在传统使用指纹的场景中,正是利用了它的唯一性和不可变性——比如在犯罪现场中用来甄别罪犯。要是能在犯罪之后改变指纹的话,你就不用戴那些碍事的手套了。
指纹会伴随你一生!!
如果我盗取了你的指纹,我就可以解锁你现有的指纹加密的设备,和你以后购买的所有指纹加密的设备。指纹只是半安全的,它不可修改,这让它成了相当糟糕的密码。这一点不用再多说了,反正肯定就是这么回事儿了。
举个例子,敏感的政府机构会使用个人身份认证(PIV)卡,上面包括了雇员的指纹。除了需要输入正确的密码之外,使用PIV卡的联邦雇员还必须扫描指纹,并和保存在卡内的指纹进行对比。这种使用密码和指纹匹配的方式构成了双重认证系统。
而在这之后,美国国家人事局(OPM)被黑了,560 万(!)枚政府雇员的指纹被窃取,很可能是外国间谍机构干的。于是现在国土安全局可能不得不改为使用“三重认证”,因为其中的一个认证方式已经彻底完蛋了。如果当初政府在 PIV 卡中使用了一种可替换的方式,至少这次泄露弥补起来会容易得多。
密码需要定期更换来确保其保密性和安全性。指纹是不可更换的。
指纹是不能被哈希处理的
指纹的问题在于判定的时候只要近似就够了,而且应该也是这样。如果我在指纹识别器上按手指的时候稍微大了点劲儿,或者稍微错位了一点,又或者手指被划伤了,我依然希望这个识别器能接受我的指纹。训练有素的FBI探员在对比指纹时,通常都使用“部分”匹配的方式,只要有合理的精确度就够了。对于血肉之躯的人类和现实世界中的指纹扫描仪来说,近似匹配是合情合理的。不过只要指纹有细微的瑕疵,经过哈希处理后就会和参照版本完全不同。这也就意味着指纹是不可哈希的。哈希算法让密码更加健壮,一旦缺少了哈希算法的保护,指纹就变得脆弱得多。
比如一个靠谱点的网站被黑了,就算黑客窃取了网站的密码数据库,他们也不会因此拥有这些密码的列表。他们只能得到用户名以及被单向哈希之后的密码。
指纹和雪崩效应
刚才这些东西和指纹到底有啥关系?指纹本身不能经过哈希处理,所以上面那些做法(在数据中只保存加盐密码的哈希值)在安全性上面所带来的优势,对指纹来说毛用没有。这是因为除了单向之外,一个好的哈希算法展现了所谓的雪崩效应:密码中一个轻微的改变会导致哈希结果极大的区别。
字符串“!password123”在使用 MD5 哈希处理之后,得到的值是 b3a2efccbe10c39f2119979a6f9a3ab2,而“!Password123”对应的值是 d2583f9c75fbc22890d39e7241927511。这两个字符串只有一个字母不同,那个大写的“P”,但是两个哈希结果的差异却相当巨大。这防止了那些暴力破解者去判断他们尝试的密码和实际密码之间的近似程度。如果密码中每出现一个正确字母就和目标哈希值接近一分的话,他们毫不费力地就能猜到你的密码了。雪崩效应意味着猜到“相似”的密码是毫无意义的。
正如之前提到的,指纹技术需要能判断出“足够相似”。如果把它进行哈希处理的话,就会差之毫厘、谬以千里。这也就是说,指纹只能被明文存储,或者加密存储,但是哈希算法一点用也没有,因为一个好的哈希算法会导致雪崩效应。指纹数据库不可避免地会成为薄弱环节,只要你的指纹被保存下来,不管是在你的 iPhone 上、在 IPV 卡上还是在电子护照上,只要知道了主密码,这里面存储的指纹都可以被破解。
电子护照
哈希方法对比加密方法的一个很好的例子,就是电子护照。其中加密保存了你的指纹和虹膜照片的数据,因为这些都是敏感信息。不过这些数据也只能加密(而不能哈希处理),因为护照读取器需要能够解密这些信息,才能和你的手指和眼睛进行比对。(译注:中国的电子护照在芯片内也包含指纹和照片,也是加密保存的)
在这上面,所有你的非敏感信息和加密之后的数据包会一起进行哈希计算,这个哈希值会使得篡改其中任何信息都变得很困难。你可能想在这些数据里面改变一个比特,然后在别的地方改变另一个比特“找补”回来,然而雪崩效应让这一切成为不可能。
即使这样,到目前为止,这也仅仅意味着你的指纹只能通过加密的方式进行保护,而不是哈希处理的方式。这对于海关来说无所谓,因为他们只关心你的指纹是不是被篡改过了。对他们来说,你的指纹只是用来证明你就是你;以及通过跟在你的信息后面的一个哈希值,来确保你的数据不会被篡改。
而另一方面,对于考虑到隐私问题的个人而言,只是把你的指纹进行加密不免让人有些担忧。一个拥有你的护照和正确密码的坏蛋,可以把数据进行解密从而获得你的指纹。虽然从护照封皮上提取你的指纹可能要容易得多,因为指纹不是保密的,还记得吧?