为什么安卓手机开机第一次解锁不能用指纹验证?
2017-06-28 06:38:25 -0400
作者:xiaotiger
先说结论:指纹是一种不够安全的身份认证方式。

确切来说,所有基于生物特征的身份认证,包括人脸识别、声纹识别、静脉识别等等,都是不够安全的。
不安全到什么程度呢?
业内共识是:生物特征不能作为唯一认证手段。
密码有成为唯一认证手段的资格,U盾、ID卡这些也没问题。换句话说,你的某个帐号可以只用密码保护、也可以只用U盾;但如果设计成没有密码、只用指纹认证就能访问,对不起,安全不合格。

单说这个问题的话:为什么手机重启后必须输入一次密码,不能直接用指纹解锁?有人回答说因为指纹信息是用密码保护的,得输入密码才能读取指纹。但这只回答了一半,之所以这么做,仍然是因为指纹不够安全。如果哪款手机重新开机后直接能用指纹解锁,说明它的安全性是低于行业一般水平的。

为什么它不安全?让我们从头开始详细讲讲吧。
身份认证是自古就有的安全机制。口令、印信、花押,无论哪种首先都是为了解决「你是谁」的问题,这一步之后才是「允许你做什么」。

认证因素五花八门,并且随着科技进步一直在增加。但大体上分为三类:

你知道的:如密码、安全问题的答案、PIN码、解锁图案等,属于用户知识的一部分;

你拥有的:如ID卡、令牌、U盾、能接收验证码的手机等,属于用户携带的物品和所包含的信息;

你自身的:如指纹、虹膜、面部特征、声纹、DNA、字迹、打字习惯等,属于用户自身特征和行为习惯的一部分。

以指纹为代表的用户生物特性都属于「你自身的」这类。而它们之所以被业界公认为不够安全,有以下四个决定性的原因:

易复制和窃取

与人类的记忆不同,生物特性大部分是暴露在外的。用照片骗过人脸识别设备的新闻也不止一两次了;在杯子、桌子、键盘上到处都印着你的指纹,提取复制一枚指模可能只需要几十分钟时间。更夸张的是,你甚至不用接触到本人,只需足够清晰的照片就能复制出指纹来。
哪怕是虹膜、静脉、DNA这种肉眼不可见的信息,也能够通过专用设备提取出来——如果不能提取还怎么验证呢?

无法修改

每次大规模密码泄漏事件后各大网站纷纷提醒大家更换自己的常用密码。但如果指纹信息泄漏呢?手指只有十根,这种事多来几次就只能号召大家砍手了。面部信息呢?难道要整容么?
生物信息不可变的属性是它能成为身份认证因素的理由,但数字化时代的到来,反而成了最大的隐患。这也是苹果等各大厂商对此十分谨慎的理由。

容错范围大

与精确的文字密码或数字证书比起来,指纹、面部、声音等信息必须从生物体上实时获取,而这个过程不可能是完全准确的。必然会存在以下两个几率:
一是拒真率(FRR),即应该通过认证的被拒绝;
一是认假率(FAR),即不该通过认证的通过了。
识别模块的技术参数往往都是FRR小于万分之一、FAR小于百万分之一左右。但这只是理论,实际应用中为了能识别出油污的手指、低光照下化妆的脸、嘈杂充满噪音的环境,必然会放宽识别范围,这也导致了窃取复制的指模、照片就算不完全精确,也有一定机会弄假成真、骗过识别算法。

难以加密

重要信息应该加密存储而不是明文,这是安全常识。
但加密也有可逆和不可逆之分。可逆加密顾名思义就是可以通过某种算法还原出明文,而不可逆加密则不能还原。比如常见的散列(哈希)算法,就是将任意长度的文本加密成固定长度的一串代码,并且无法还原。(散列碰撞的可能性这里暂时忽略,只提算法)
看不到明文,怎么判断密码的正确性呢?答案很简单,把用户输入的密码再做一次哈希,跟之前存储的一对比,如果一致的话就说明密码正确。

但哈希是一种差之毫厘谬以千里的算法。以常用的SHA-1为例,「123456」的结果是「7c4a8d09ca3762af61e59520943dc26494f8941b」,而「123457」则是「908f704ccaadfd86a74407d234c7bde30f2744fe」,没有一个字母是相同的。因此它只能应用于精确的密码或数字证书等,对于需要模糊对比的指纹、声纹、面部图像等则完全不适用。就算存储时用了加密算法,在对比阶段必须还原成明文,从而有了泄漏的可能性。
明文+无法修改,这意味着指纹一旦泄漏就是不可挽回的灾难。
综合以上四点,所有的生物因素认证基本都是不够安全也不该滥用的。
但这并不代表它不能用。

一般来说,在身份认证过程中为了提高安全性,所以我们在需要加强身份校验时会使用双因素认证。但双因素绝大部分情况下指的是「你知道的+你拥有的」,而极少有「你自身的」。
比如ATM取款,需要你拥有的银行卡+你知道的密码。
再比如一些私人重要帐号登录,需要你知道的密码+你拥有的手机接收到的验证码。
只有在少数历史遗留场合才仍然保留用户自身信息的验证,比如信用卡无密码签名,之所以我们能接受这种很不安全的方式,是因为风险转嫁给了银行,同时用严厉的法律来约束。
在已经有了足够安全的基本认证方式之后,才能用生物信息作为辅助手段在不重要的场合临时代替一下。
在操作系统重要功能时必须验证密码;
在设置或修改指纹信息时必须验证密码;
在涉及金融资产时,如果金额小于100~200元才允许使用指纹,超过则必须验证密码;特别大的金额还要使用短信验证、U盾或者银行柜台办理;
等等等等。

智能手机在重开机时验证密码、每隔固定时间要输入一次密码、指纹多次识别失败必须用密码解锁,都是出于同样的考虑:安全。
在同等技术条件下,安全和快捷是难以兼得的。在面对不可逆的长期隐患时,适当牺牲快捷而提高安全性才是负责任的行为。
本文来源: csngmap资源分享大本营版权所有 (开玩笑啦……),磨友转载时请以链接形式注明作者和原始出处…csngmap分享、发表资源也不容易,大家且转且珍惜,至少留个言也好,谢谢合作!
«Newer      Older»
Comment:
Name:
Back to home 好文推荐 /cat/100385