【导读】指纹是属于每个人独一无二的身份特征,因此使用指纹来作为生活中密码的替代品无疑会让人感觉到安全又方便。但事实上“安全”永远是一种理想的状态。尽管指纹识别技术已经相当成熟,但与之相对的黑客手段也在不停进步,不同结构的指纹识别模块的安全性也是有相当大的区别的。其中最关键的点就在数据的存储和传输上。
根据指纹识别模块存储和传输指纹数据的方法的不同,所有种类的识别模块大致可以分为三个类型:在主芯片上完成数据处理的,在Trustzone(或类似空间)里完成数据处理的和在传感器上直接进行处理的。这三种方式各有其优劣势,但总的而言从安全性上来讲,后两者是高于第一种的。
在主芯片上完成数据处理
在这种识别方式中,主芯片上的指纹匹配架构是分别用两个IC——一个是用来获取数据的传感器IC,另一个是用来运行实际匹配操作的软件的独立控制器IC(通常是设备上的应用处理器)——来满足功能要求的。当用户在芯片存储空间内第一次留下本人的指纹数据后,每次通过指纹锁访问设备时,传感器会识别指纹特征,然后建立加密的生物识别资源(指纹模板)、存储指纹模板,并将其与设备上已存储的指纹模板进行匹配。在这过程中主系统会通过加密的方式来。此外,主系统还负责检测伪造的生物识别数据——这些所谓的防欺骗技术是遏制表达攻击(presentation attack)所必需的。这种结构相对来说最简单,早期的指纹识别设备采用的都是这种存储方式。其流程图如下:
使用主芯片完成整个识别过程在成本上具有一定的优势,因为不需要对主芯片施加过多的改造,可以让厂商以较低的研发和生产成本将指纹识别设备嵌入到自己的产品中。并且在传输和存储中对数据也有加密。但其指纹就存储在主系统当中,一旦系统被攻破,无论是在存储中还是数据传输中,指纹数据都有被窃取的可能,指纹数据具有唯一性,并且一生都无法更改,因此其重要程度比密码重要得多,一旦被盗,后果也会比密码被盗严重得多。
TrustZone的出现
显然研究人员们也明白这种方式所存在的隐患,在新一代指纹识别系统中,人们将SoC上的一个区域独立了出来,专门存储指纹的数据。称作TrustZone或类似的名字,这其中以苹果的指纹识别技术Touch ID为代表。在TrustZone技术出现之后指纹数据的安全性得到了很大的提高。除去各种复杂的加密方式,其具体的表现特征是:主系统完全没有访问TrustZone数据的权限,即使系统被攻破也是一样。TrustZone有自己独立的子系统和运作方式。直接与指纹传感器交流。用户注册指纹后,每次需要用到指纹时,传感器会将指纹数据直接传给TrustZone,TrustZone将收到的数据与存储的数据对比后,对系统给出一个“对”或“错”的反馈。整个过程就完成了。由于TrustZone与主系统是隔绝的,对于主系统来说,它是一个只能给出“0”和“1”的黑箱,因此通过黑客手段盗取指纹数据是几乎不可能的。
值得一提的是,为了给防止指纹被盗多加一道保险。新一代传感器还多增加了一道安全屏障:传感器在读取指纹后保存的并不是指纹的图像,而是根据图像生成的一组特征数据。这组数据经过微妙的处理,使其既可以保证其唯一性和检测的准确性,又无法让人根据这组数据还原出指纹信息。因此即使特征数据被盗,其主人的损失也可以被降低到最小的程度。
在传感器中直接处理指纹数据的
近期,一些公司开始逐渐发布一些在传感器内直接进行指纹数据处理的指纹识别技术。这种传感器的IC含有高速微处理器、指令和数据存储器,安全通信和高性能加密功能。为了实现这种程度的集成,同时在传感器IC内建立安全的执行环境,传感器内匹配技术采用了SoC架构,如下图所示。
在安全性上,这种技术同TrustZone差不多,不过因为也不需要对主芯片做过多修改。这种方式相较TrustZone的成本会稍微降低,整个系统的开发难度也会有所降低。
总结
综合以上的信息不难发现,对于开发者来说,或许第三种方案是最适合的。但对于消费者来说,第二和第三种结构的表现不相上下,只要注意指纹识别芯片有没有独立的硬件安全措施。指纹信息安全即可得到有效的保障。