如今,智能手机已经进入全面屏时代,就是因为全面屏技术,让很多手机无法把指纹安装在前面屏幕面板下,然而,不得不移植到背面,这也让很多智能手机在显示区域的屏幕下指纹成了热点方案。
自从屏下指纹技术一推出,很多朋友都在感叹它的黑科技成分,甚至也让笔者大吃一惊,就因为必须让手机实现真正的全面屏,所以前面板额头下巴的进一步缩窄让前置指纹无可放,屏幕下指纹就成了代替传统指纹的最佳位置方案。
不知有没有小伙伴发现一个问题,现在很多搭载指纹识别的手机在关机或者重启后,第一次都必须先输入密码才能正常解锁,这时的指纹技术是无法帮助我们来解锁的,那么到底是什么原因引起重启后无法指纹解锁?
1、指纹识别原理最重要是采集
对于指纹原理来说,采集指纹是对用户体验最好的一点,由于一次采集的指纹面积相对滑动式采集来说要小一些,就得多次采集,通过“拼凑”,拼出较大面积的指纹图像。这就必须仰仗先进的算法,用软件算法来弥补滑按压式采集获得的指纹面积相对偏小的问题,以保障识别的精确度。
当然,在采集到指纹之后,对采集的指纹进行质量评估,不合格要再采一次,合格则对图像进行增强和细化。在经过处理后会依次得道二值化图、细化图和提取特征图。在获得比较清晰的图像后,就开始对其进行特征提取。
其次是匹配中要注意一点,那就是由于同一个手指的两幅样本图像会因为手指的位移、偏转、以及按压时的力道不同而产生差异,这就使在匹配时要进行校准,通过特征点集校准等方式保障指纹识别的准确性。
点评:无论是iPhone还是Google在系统中采集的指纹信息都不是一幅完整的指纹图像,都是已一个数据标本形式存在。再通过指纹传感器采集信息,进行指纹图像的预处理,然后进行特征点提取,最后进行特征匹配。
2、手机开机输入密码问题分析
我们先来看一下Touch ID,如果要配置Touch ID,必须先设置密码以后才可以。也就是说Touch ID只是指纹的数字密码表达方式,这些指纹数据都被独立存放在CPU处理器上,并不能被系统调用,iOS系统或其他应用程序不会访问到你的指纹数据,只有Touch ID能访问。
然后,再看Google与指纹识别的标准核心类,使用Java语言开发的应用程序是无法直接访问硬件的。为了解决这个问题,在Android系统中提供了硬件抽象层来解决这个问题,硬件抽象层运行在用户空间并且使用C/C++语言编写,它向下屏蔽了硬件驱动模块的实现细节,向上提供了硬件访问服务。
至于为什么国产的手机品牌也将开机指纹解锁失效,也是出于一定的安全考虑,因为指纹资料存储区域已被加密,出于信息安全的考虑,当手机重启后,需要输入密码解锁后,才可以访问该加密区。
点评:指纹这些数据都被加密后存放在手机处理器内置的一个名叫Secure Enclave的模块中,而这份加密的模块是完全独立的,甚至手机系统也不能调用,我们每次重启设备后,手机需要我们手动输入的密码,也就是我们开启Secure Enclave中指纹数据的密码,这样是为了最大程度的保护用户的隐私。
3、手机也在保护我们的隐私
重启手机除了手机主人必须要重启之外,还有一种情况就是被小偷偷走了手机,而小偷偷走手机后百分之九十九点九都会立刻关机,然后等上十几个小时或者是几天,把手机开机看看能不能进的去,进不去就恢复出厂设置然后低价卖出去。
这个时候手机的第一次解锁就显的非常重要,如果第一次可以使用指纹,那这个手机多半是废了,我们都知道,平时用指纹解锁时手上免不了粘一些汗渍或是污渍,如果说指纹是解开手机的钥匙,那这个汗渍或是污渍就像是站在外面,对想解开你手机的那个人招招手然后把钥匙递给他们的人。
指纹解锁虽然快捷,但是从智能手机这几十年的发展,在于安全性与唯一性来看,还是远远比不上真正的密码解锁,面对不可预期的长期隐患时,适当牺牲快捷而提高安全性才是负责任的行为。
点评:电子产品都太方便了,你都不用记着密码,直接用指纹开机就好了,甚至于各种软件都会自动登录,不用你记着密码,所以很多时候你用着用着就忘记自己的密码是什么。但是实际上因为安全的原因,你不知道密码又不行。所以笔者觉得手机经常强制性地让你输入密码是有意识地让你回忆你的密码,防止你忘记。