英文原文:What is Apple's new Secure Enclave and why is it important ?
7 年摸索的结果
从 2008 年开始我就注意到了苹果要采用指纹扫描的消息并一直关注至今。直到 9 月 10 日发布的 iPhone 5s 印证了我长久以来的猜想,这对苹果和我来说都是一段漫长的旅程。我相信 Touch ID 的果实会在 10 年内结出。
多年来,就连业内资深人士都对苹果可能采用的指纹技术的可靠性和必要性心存质疑。这种情况在去年苹果收购了 AuthenTec 之后有所改观,一些和我一起工作的初创公司终于开始重视起来。然而,还是有人选择了视而不见,他们觉到只要不去理睬,这事儿就不存在一样(这可是某位创业者说的)。
当我在 5 年前第一次看见苹果关于此类技术的专利申请时就被深深迷住了。之后,我开始思考苹果将会如何保存这些极重要生物学信息。根据自己在支付卡行业,尤其是 PIN 码方面逾 30 年的从业经验,我知道这不是单靠软件方案就能解决的。于是我想一定会有一个独立的硬件被用来存储信息。
Secure Enclave
网上分析 Touch ID 的文章已经有成千上百,但是真正意识到这项技术的革新意义的却不算多。苹果不仅打造了最精确的量产生物学安全识别设备,他们还解决了如何加密、存储和保护数据这个关键问题。苹果称之为 Secure Enclave,可以说这是个新概念。
为安全而生的 A7
苹果选择基于 ARMv8 架构的 A7 芯片有很多原因,其中一个就是为了满足 Touch ID 的硬件需求。为了经济地搭建 Secure Enclave, 苹果需要的芯片必须具有原生的安全性能并且有专门的区域供隔离和加密。
这正是 ARM 大约在三年前就开始研究的地方,并且通过一系列合作打造出了名为 TrustZone/SecurCore 的技术。TrustZone 技术和 A7 芯片精密结合并通过 AMBA AXI 总线和特定的 TrustZone System IP 块贯穿系统层面。这种布局意味着保护外围设备不受软件攻击成为了可能。
这篇 ARM 在 2008 年发布的白皮书节选从侧面反应了 A7 在移动支付方面的作用:
“6.2.2 移动支付
不少嵌入式设备开始存储大量用户信息,包括电子邮件、移动银行资料和移动支付证书等高度敏感信息。这些信息可以通过密码的方式受到保护,然而一旦解锁后就会容易受到任何底层软件漏洞的危害。
把数据的存储、修改甚至是密码输入都迁移到 Secure 区域是非常合理的。尽管那些应用需要各自读取不同类型的用户信息,但是在安全限制问题方面却有着相似要求。为做到这点,Gadget2008 的移动支付功能将具备更加严格的限制条件。”
Secure Enclave 的工作原理
苹果用高度优化过的 TrustZone 为基础做出了 Secure Enclave。我们当然不指望苹果透露任何关于定制硬件的细节,因此我就以 TrustZone 为分析对象,借此来推断 Secure Enclave 的情况。
TrustZone 系统通过完全分割硬件和软件资源以保证安全性,这两者被分别安置在 Secure 区和 Normal 区 – 前者为安全子系统而设,后者则是处理其它任务的正常区域。AMBA3 AXI 总线保证 Normal 区的组件无法访问 Secure 区的资源,以此方式在两区之间建立区一道坚固的墙来杜绝对储存在 Secure 区的敏感资源做出的潜在攻击。
这种物理隔离的方式将有效减少需要通过安全验证的子系统数量。监控模式(monitor mode)会负责在两个虚拟处理器之间切换以应对安全验证的要求。
由此可见,A7 是自带安全基因的。建立在硬件架构上的安全性非常稳固的。光是访问储存在 Secure Enclave 内的信息就要求在硬件破解上付出大量工作。这显然对设备本身是有利的,那么对于互联网又有什么影响呢?事实上,那些用来激活云端系统的数据的用途就像一把连接网络的钥匙,这就是苹果将要在 iTunes 和 App Store 里采取的模式。同时,还有可能到来的零售支付系统。
ARM 网站上就给出了一个移动支付方式的例子 -- 个人 POS 终端:
Touch ID 的问世绝对称得上是苹果潜心研究的结果,七年间,苹果提交了许多专利申请、收购 AuthenTec、选用集成了 TrustZon 技术的 A7 芯片...... 所有的这一切汇聚在一起,才成就了今天的 Touch ID。
想必乔布斯也会为 Touch ID 引以为豪的吧。