转载自InfoQ:Apple 详解 Face ID 的安全性
Apple 发布了一本新的白皮书,详述了 Face ID 如何工作,以及如何保证其安全性。
简而言之,Face ID 通过检测用户面部的几何学表征,使用 iPhone X A11 神经引擎(neural engine)芯片与存储的数学模型进行比对来解锁 iPhone X。然而,即使在配备了 Face ID 的设备上,安全基石仍然是用于加密用户数据的密码。换言之,Face ID 可以降低用户被要求输入密码的频率,从而更方便地使用强度更高的密码。根据 Apple 的说法,随机一个人,能使用 Face ID 解锁你的 iPhoneX 的几率约为百万分之一,这是一个显著的改善,因为 Touch ID 解锁几率是五万分之一。
iPhone X 使用原深感摄像头(TrueDepth Camera),利用红外技术创建面部深度图,生成相应的 2D 红外图像并发送到 iPhone 的 Secure Enclave 中。由于使用了深度信息,因此不可能使用数码照片来解锁 iPhone,因为数码照片不包含深度信息。另外,Face ID 要求用户睁眼并面朝设备才能使用,这样,在无意识的状态下(如睡觉时)是无法解锁的。
实际上,Face ID 使用了多个神经网络,分为两类:面部识别和抗欺骗。面部识别神经网络可以应对用户穿戴帽子、围巾、眼镜、隐形眼镜以及各式太阳镜的情形;而抗欺骗神经网络是防止使用照片或者面罩来解锁手机。
由摄像头拍摄的红外图像计算出数学表征,Face ID 只将它存储到 Secure Enclave,然后在尝试解锁时将存储的模型与面部的数学表征进行比对。由于人们的相貌会随时间变化,例如,长了胡子或者刮了胡子,得益于 Apple 神经网络的重复训练机制,使得能够随时间变化而适应用户的面部。解锁成功后,会自动进行重复训练。反之,如果解锁失败,会要求用户输入密码,如果密码正确,则使用新的 Face ID 数据来重复训练神经网络。
除了解锁设备外,Face ID 还可被第三方应用用来验证用户。具体来说,所有 Touch ID 兼容的应用程序都将支持 Face ID,无需更改任何代码。
有关 Face ID 工作方式的更多有趣细节尽在这份 Apple 白皮书,如果您有兴趣,请不要错过。
查看英文原文: Apple Details Face ID Security