苹果官方告诉你,Touch ID是怎么保护数据的?

touch_id_internal_hero_2

如果把iPhone 5s拆开,你会发现Touch ID是一个很特别的部分,苹果最新发布的一份安全文档说明也证实了这一点。其中,苹果介绍了Secure Enclave是怎么配合来自系统其他部分的临时加密信息,来完成数据的加密传送,并同时保证你的指纹数据不被暴露,不被其他手段劫持。

苹果通过Touch ID采集用户指纹,并生成88像素×88像素、500ppi光栅扫描数据,存储在Secure Enclave中。平时指纹识别过程中的指纹采样,会被存在手机内存中,并与Secure Enclave中的数据比对,识别完成后就被丢弃。指纹数据不会存放在苹果的服务器上,也不会存在iCloud或设备的iTunes备份中。

A7芯片中有一个独立的Secure Enclave模块,它负责存放Touch ID采集到的指纹数据。苹果在安全文档中指出,A7芯片能帮助采集指纹数据,但是不能读取其中的信息:

每个Secure Enclave在制造的过程中都会被分配到一个单独的ID(UID),它不能访问iPhone中的其他系统,甚至苹果本身也不知道这个UID。当手机被启动的时候,一个临时的密钥就会被创建出来,配合手机的UID,用于加密Secure Enclave的内存部分。另外,数据将被保存在设备的文件系统中,并由Secure Enclave加密,Secure Enclave密钥由UID和反重放计数器(anti-replay counter)同时控制生效。

20140227091910

A7与Touch ID间的交流,通过序列周边接口(serial peripheral interface bus)完成。A7芯片能将数据传给Secure Enclave,但不能读取数据的内容。它的加密和身份认证过程,通过设备会话密钥(session key)与内置于Touch ID传感器中的共享密钥共同完成。会话密钥通过AES密钥包创建的随机密钥,用于两边的数据交换,并通过AES-CCM算法传输加密。

iMore网站曾经做过一个实验,试验中把一部手机上的Touch ID与另一部手机交换,Touch ID就会立马停止工作。Touch ID的设置失效,有时候Touch ID选项直接从设备的设置面板中消失。此时,再把原来的Touch ID装回去,设备就能继续照常运转。

在这份说明文件中,苹果公司还重申了Touch ID和指纹信息“没有第三方”规则,也就是说除了苹果本身,没有其他App和第三方能够使用Touch ID和用户指纹数据的权利。相较之下,三星已经打算将自己的Pass API开放给它的平台开发者。

图片来源:iMore苹果安全文档

订阅更多文章

你可能感兴趣的: