现在很多手机都支持指纹解锁。然而,iOS 和 Android 都要求用户在设备重启后输入密码,即使提供了授权指纹。
我的问题是:为什么?
现在很多手机都支持指纹解锁。然而,iOS 和 Android 都要求用户在设备重启后输入密码,即使提供了授权指纹。
我的问题是:为什么?
第一的:
加密密钥检索必须是:
指纹识别不满足上述要求,就是:
因为指纹只用于身份验证,而密码也用于加密,这是不同的过程,要求非常不同。
您可能知道,锁屏的主要功能是确保访问您设备的人是您。这称为身份验证。如果有人在锁屏上插入正确的密码/密码/指纹,设备就会知道那个人可能就是您,并授予您对系统的访问权限。
除了身份验证之外,在您启动手机时要求您输入密码的屏幕也有不同的用途。现代电话具有称为磁盘加密的功能。这意味着存储在设备上的所有用户数据都受到加密算法的保护。
当使用正确实施的磁盘加密时,仅考虑手机的存储空间,没有人可以访问您的数据 - 甚至设备本身!用于此目的的对称加密使用密钥,出于安全目的,该密钥永远不会被设备存储。相反,必须告知设备正确的密钥才能访问您的数据。
现在,由于该算法的性质,密钥需要具有一些重要属性:
不幸的是,基于生物特征的系统(例如指纹读取器)无法满足这些特性。他们提供的信息量通常很小且不准确。
这就是您需要输入密码的原因 - 这是我们所知道的唯一能够正确满足要求的机制。这是通过密钥派生函数输入您的密码来完成的。
在启动并被告知您的密码后,手机会将派生的加密密钥保存在其易失性存储器中,因此无需再次询问 - 只需对您进行身份验证。这有一些缺点,例如容易受到冷启动攻击,但它被认为是安全性和可用性之间的良好折衷
AFAIK,在启动时,您首先必须解锁 SIM 卡,这需要数字密码。接下来的操作只是解锁屏幕,对于这部分你有不同的身份验证方法(并非所有设备都实现了):
这些方法都是手机直接处理的,但第一种是SIM卡自己处理的,而且功能远不如手机,只接受数字密码。当然,手机当然可以拦截代码,但它看起来像是中间人攻击,手机制造商和操作系统提供商都不想实施它。
虽然其他人提到的主要问题是准确,但密码的精度和准确性远高于指纹,但我认为值得一提的是驱动程序和算法。
也就是说,在您未加密驱动器之前,您的大部分硬盘空间和代码都不可用,读取和解释指纹的代码几乎肯定比读取指纹的代码复杂得多(大)密码。未加密之前的任何代码都是可攻击的,添加那么多代码本身就是一种安全风险。