在 iPhone 或 iPad 上,您可以设置“Touch ID”,这是一种使用指纹解锁设备的方法。我不明白为什么这不会比密码锁更安全,因为任何人都可以猜到/看到/知道您的密码,而您不能冒充指纹。
然而,当您重新启动手机时,它需要您的密码而不是您的指纹。这似乎表明它认为您的密码比您的指纹更安全(因为您必须使用它来“解锁”触摸 ID)。从安全的角度来看,为什么要执行此操作?为什么重启设备时必须输入密码?
在 iPhone 或 iPad 上,您可以设置“Touch ID”,这是一种使用指纹解锁设备的方法。我不明白为什么这不会比密码锁更安全,因为任何人都可以猜到/看到/知道您的密码,而您不能冒充指纹。
然而,当您重新启动手机时,它需要您的密码而不是您的指纹。这似乎表明它认为您的密码比您的指纹更安全(因为您必须使用它来“解锁”触摸 ID)。从安全的角度来看,为什么要执行此操作?为什么重启设备时必须输入密码?
需要密码的原因是因为文件系统加密密钥是使用密码加密的:
文件的内容使用每个文件的密钥进行加密,该密钥使用类密钥包装并存储在文件的元数据中,而文件的元数据又使用文件系统密钥进行加密。类密钥受硬件 UID 保护,对于某些类,还受用户密码保护。(来源)
为什么指纹处理器不能存储文件加密密钥?由于读取指纹的有损特性,指纹不能用于加密/解密。
而在像安全飞地这样的安全协处理器的帮助下,您可以使指纹可用于快速解锁机制,这种快速解锁的安全性取决于协处理器能够在用户/攻击者输入错误指纹时丢弃加密密钥太多次了。例如,TouchID 需要在五次手指识别失败后输入常规密码。
如果系统仅使用指纹解锁,这意味着协处理器永远无法丢弃加密密钥,因为这将永久锁定设备,从而有效地对设备进行微不足道的拒绝服务攻击。
其原因是由于 Secure Enclave。
“安全飞地”在手机中存储指纹的数学表示,但此飞地也受您的密码保护。
当您收到请在开始时输入您的密码时,Apple 真正在做的是告诉您解锁 Secure Enclave 以及在重新启动或更新发生时 SE 锁定。
您可以在以下网址阅读有关 iOS 安全性的信息: https ://www.apple.com/business/docs/iOS_Security_Guide.pdf
我想从安全的角度来看,但是最好在电源完全关闭或重新启动时锁定 SE,因为其他类型的信息存储在嵌入式 SE 中。更重要的是,我个人认为他们这样做是为了帮助人们记住他们的密码,但这只是猜测。如果指纹扫描仪无法工作的 iphone 损坏,可能也是如此?
指纹或任何生物特征测量都不是精确的东西。设备需要将注册的指纹与测量值进行比较,并确定测量值是否“足够接近”。因此,指纹不是加密密钥。如果您更改加密密钥中的一位,它就不再起作用了。因此,生物特征测量只能用于授予或不授予您权限,而不能用作加密密钥。 现在,在加密设备上,您需要给它一个解密密钥,让它自己解密,根据定义,它不保留自己的解密密钥。 这根本不可能提供生物特征测量,因为它永远无法重现到单个位。您需要一个可复制到单个位的解密密钥,并且您的指纹或面部或任何其他生物特征测量都不能用于此。但是,PIN 码可重现到精确的单个位。 所以这不是设计选择的问题,而是设计的不可能性促使苹果不使用你的指纹来解密它。 这根本不可能。当您的 iPhone 关闭时,设备会忘记某些加密密钥的明文,并且只知道使用您的密码加密的加密版本。无论如何,如果没有 PIN 码,手机就无法以明文形式访问加密密钥,它需要它来解密手机上的文件。PIN 码本身就是一个精确的加密密钥。如果将密码替换为生物特征指纹测量,那么您在启动时几乎不可能产生完全相同的指纹测量,并且如果没有完全相同的密钥,手机将无法解密密钥.