多年来,指纹验证的安全性一直是人们争论的话题。早在2013年,iPhone 5S发布TouchID后不久,研究人员就找到了破解指纹验证技术的方法,利用在玻璃表面拍摄的指纹照片制作模具就能骗过当时的系统。但技术从未停滞不前,进步仍将带来希望。
在去年,部分厂商开始生产的手机型号内置了隐藏在屏幕下方的超声波指纹扫描仪,这种方式不仅减少了额外的面板,且理论上更加安全。
我们思科Talos的同事决定对各种指纹扫描模块进行测试,看看是否能轻易破解各个主流设备所使用的模块,这项技术是否足够安全值得信赖。
指纹验证的原理
首先,我们复习一下指纹扫描的工作原理。它的基本概念非常简单,即将手指放在智能手机或笔记本电脑的扫描仪或智能锁上,传感器就会提取指纹图像。不同类型的扫描仪识别指纹的方式也不一样。思科Talos团队集中测试了三类主流扫描仪:
- 最常见的是电容式扫描。微型电容器可以储存电能,它通过内置电容器产生的小电荷生成指纹图像。当手指接触扫描仪时,它就会释放电容器,手指与传感器接触的部分(指纹脊)产生的电能更多,皮肤和传感器之间的间隙(指纹谷)电能较少,扫描仪通过测量电能差异来确定指纹图像。
- 光学扫描仪则依靠拍摄指纹的图像。设备通过棱镜照亮手指,光经过指纹的脊和谷反射的角度不同,传感器读取信息后会将其转换成图像。
- 超声波扫描仪使用超声波信号代替光,记录指纹脊与谷反射的波形(和光反射原理相似,经过指纹脊与谷反射后的波形也不一样)。这种扫描仪并不需要直接接触手指,因此可以内置于屏幕下方。更重要的是,它不仅能”听到”手指接近表面的部分,还能”听到”距离传感器更远的边缘,这样扫描仪生成的图像就更接近三维,有助于检测出平面拷贝的假指纹。
在采集到用户指纹后,扫描仪或操作系统会将指纹与存储在设备中的指纹进行匹配。由于目前没有称得上是完美的指纹识别方法,因此每个厂商都允许一定的误差存在。
允许误差的范围越大,伪造指纹就越容易。反过来说,如果设置更严格,允许的误差范围更小,就更难骗过指纹扫描仪,但同时它也更有可能识别不出自己真正的主人。
研究人员是如何伪造指纹的
研究小组采用以下三种方法,尝试制作指纹的实体复制品。
如何盗用指纹?方法一:制作模具
趁目标受害者失去知觉或身体不适时,攻击者就可以使用粘土等合适的软质材料提取其手指的模型,从而制作一个假的手指头。
这个方法的难点在于受害者必须处于无法抵抗的状态,且入侵者要与受害者进行物理接触。
方法二:获取指纹的扫描图像
用扫描仪采集指纹也是可行的方法之一。这种方法在技术上更复杂,但对心存不轨的犯罪分子来说却依然是个好方法,因为部分处理生物特征数据的公司在存储这些数据时并不能做到毫无破绽、安全可靠,所以他们有可能在网上找到扫描的指纹或者在”暗网”上以实惠的价格购入。
下一步就是将平面图像转换成3D模型并使用3D打印机打印出来。不过问题来了,首先研究人员所使用的程序无法修改设定打印对象的大小,其次,廉价的3D打印机使用的光敏聚合物在打印后会被加热,而这就会改变模型的尺寸。
最后,当研究人员设法创建出合适的模型并将它打印出来后,他们发现打印用的聚合物太硬了,没能通过任何一台指纹验证设备的测试。为了解决这个问题,研究人员决定打印一个手指外模,然后注入一种更有弹性的材料来制作假手指。
方法三:拍一张指纹印在玻璃表面的照片
第三种方法也是最简单的一种,只需要拍摄目标指纹留在玻璃表面的痕迹,对拍摄的照片进行处理提高其清晰度,然后3D打印出来即可。这就是当初破解iPhone 5S指纹验证的方法。
不过研究人员表示,凡是涉及3D打印的实验都相当漫长乏味。他们必须反复试验才能校准打印机并确定合适尺寸的模具,每个模具光是打印就要花上一个小时,而他们总共打印了50个模具。因此,要想制造一个假指纹解锁偷来的手机并不是一件容易的事情,在受害者熟睡后复制他的指纹也是同理。
要想造出可用的假指纹,光做好模具还远远不够。选择模型的材料是一道更加困难的大题,因为我们要使用假体测试三种不同类型的传感器上,每种传感器识别指纹的方法还各不相同。例如,在超声波和光学传感器上测试时,材料是否导电都无所谓,但要想通过电容式传感器,就必须考虑这一问题。
然而事实上,所有人都可以搞到制作假体的最佳材料:廉价的织物胶水。
假指纹破解能哪些设备
研究人员使用假指纹测试了各大厂商生产的智能手机、平板和笔记本电脑,以及一个智能锁和两个有指纹传感器保护的USB存储(Verbatim Fingerprint Secure和Lexar Jumpdrive Fingerprint F35)。
结果相当令人震惊:假指纹有八到九成的概率可以在大多数智能手机和平板电脑上蒙混过关,有些时候通过率甚至达到100%。3D打印模具的通过率较低,但差别并不明显。实验结果表明,文中上述的三种方法实际上都能成功破解指纹验证。
但也有例外的情况,比如研究团队完全无法破解三星A70。但值得一提的是在识别自己真正的主人时这款手机也是最迟钝、出错最多的一台设备。
此外,只要是运行Win10的设备,无论其制造厂商是谁,都无法破解。研究人员将这种显著的一致性归因为进行指纹识别匹配过程的是操作系统,因此在很大程度上不依赖于设备制造商。
与此同时,受指纹保护的闪存盘证明了自己确实名副其实。不过我们的同事警告称,它们可能会受到更复杂的攻击。
最后我们还想提出的一个发现是,最容易被假体骗到的是超声波指纹扫描仪。尽管它能够感知3D图像,但只要将假指纹贴在人的手指表面,它就会信以为真,无法将真假指纹区分开来。
普通用户如何使用指纹保护
研究人员表示,指纹验证的安全性还有很多提升空间,与前几年相比,某些方面的安全性反而降低了。
总而言之,假手指的造价非常高,光是时间成本就相当惊人。这也意味着普通用户其实没什么可怕的,但如果有人不巧被资金雄厚的犯罪集团或情报机构盯上,那就另当别论了。在这种情况下,最好使用传统的密码保护所有设备。毕竟破解一个强密码比破解指纹困难多了,如果你怀疑有其他人获取了你的密码也可以随时修改补救。