作者:Caroline Hayes,高级编辑
如果它很重要,就应该保证其安全——无论对于数据还是对于操作系统,这句格言都适用。但随着数据和运营需求的改变,有效确保对象安全的方法也发生了变化。 本文着眼于硬件隔离技术 TrustZone 的演变历程,以及其自十多年前推出以来是如何逐步发展以应对新一级的数据任务和攻击的。
TrustZone 于 2003 年在伦敦的伦敦塔推出。这里的旅游景点包括 Crown Jewels(见图 1)。 ARM® 的安全营销经理 Rob Coombs 表示:“这是一个合适的场地:城堡有要塞和护城河隔离并缩小攻击区域,以安全层保护珍贵的资产。”
图 1:伦敦塔,ARM 于 2003 年在此推出了 TrustZone。 (图片由 Thomas Bredøl 拍摄,www.bredol.dk/photo/,由 Wiki Commons 提供。)
四个安全层
TrustZone 是 ARM 的硬件隔离技术,不依赖操作系统,并可缩小攻击面,增强隔离性。 高性能计算平台上有四个安全层。 第一个是“正常模式”,即用于操作系统和应用软件的正常操作状态。 (这在 ARMv7 架构中称作 PL0/PL1,在 ARMv8 中称作 EL0 或 EL1。)在正常模式下,进程或应用程序被操作系统和内存管理单元 (MMU) 彼此隔离,且每个正在执行的进程也相互隔离。
在最新的 64/32 位 ARMv8-A 处理器中,还有一个系统管理程序,其具有硬件支持和自己的异常级别 (EL2)。 系统管理程序允许操作系统的多个实例以虚拟机形式在同一个处理器上执行。 每个虚拟机可被隔离,以保护其他虚拟机的资源或资产。
“可信模式”(一个隐藏的安全区域)基于 TrustZone 技术提供的硬件隔离。 安全区域通常运行较小的可认证微内核,与大得多的主操作系统并行且相互独立。 在该模式下,可进行安全认证的代码区域缩小至 100 Kb,而非 Gb,Coombs 如是说。 负责在正常模式和安全模式之间切换的软件运行在安全 EL3 级别。 TrustZone 安全扩展至整个芯片,并以物理方式将系统划分为安全和非安全组件。 这隔离了某些部分,并确保在正常操作系统下运行的软件无法直接访问安全区域的资产,如内存或外设。
最后,系统中通常包含安全元件,并可能包含 ARM SecurCore® 处理器,以提供物理分离、防篡改的 IC,防范物理和软件攻击,从而提高保护级别和隔离级别,缩小攻击面。
图 2:一个组合了基于 TrustZone 的可信执行环境 (TEE) 和系统管理程序的典型处理器。
Coombs 解释说:“看待安全的方式有两种: 防范威胁;提供更好的用户体验或计算信任,这建立在用户和设备的强认证之上。”
演变阶段
TrustZone 隔离的第一个用例是可信引导。 “不讨人喜欢,”Coombs 说道,“但有必要。人们需要隐藏起来的可信引导,它可使他人难以在这个重要的设置阶段实施攻击。”
安全功能设计在硬件之中,就像 TrustZone 这样,意味着安全是设备的固有特性,安全应用程序可构建成在安全内核上运行,不影响系统的性能。
[Extension Media 嵌入式领域主编 Chris Ciufo 对话 ARM 的 Zach Shelby,谈论适用于移动和 IoT 设备的其他安全协议: http://eecatalog.com/IoT/2014/12/08/talking-iot-beyond-the-silicon-architectures-protocols-and-standards
,以及对话 Marc Canel,谈论保护 IoT: http://eecatalog.com/chipdesign/2014/12/09/securing-the-iot-from-silicon-to-system-an-interview-with-arm%E2%80%99s-marc-canel-vp-of-security-technologies/]
从 2009/2010 年开始,顶级 (OTT) 内容,如流媒体中使用的数字版权管理 (DRM),已成为安全操作的目标——此为 ARM TrustZone 的第二个演变阶段。 这可能是 iPlayer、Netflix 之类的电影服务、手机或智能电视,Coombs 解释道。 不依赖操作系统的 TrustZone 允许设备保护 DRM 及其加密密钥,以进行收费内容的解码,从而确保顶级服务的安全。
企业安全
移动设备模糊了工作和社交用途之间的界限,确保内容安全的本质也必须跟上。 这产生了对第三个演进阶段的需要:增强完整性管理。 2013 年,Samsung 在 Galaxy S4 智能手机上推出了 KNOX,认可了工作场所的自带设备办公 (BYOD) 趋势。 企业和政府类是 TrustZone 演变过程的第四个阶段,Coombs 说道。 它提供了更高的执行完整性,他补充道。
作为三星核准企业软件 (SAFE) 计划的一部分,KNOX 通过管理系统和安全功能在手机上对工作和私人区域进行了划分。 最初的 KNOX 平台采用 Security Enhanced Android 安全强化套件在手机上划分私人和专业领域;安全引导只允许经过验证的软件在设备上运行;借助基于 TrustZone 的完整性度量架构来保护内核。 密码保护工作区将加密存储在其中的任何数据,并允许 IT 人员在不删除私人区域内容的情况下使用文件。
图 3:Samsung KNOX 平台安全性概览(图片来自 Samsung KNOX Premium 白皮书,2014 年 9 月 - http://www.samsung.com/uk/business/insights/white-paper/)。
在 2014 年世界移动通信大会上,Samsung 在 Galaxy S5 智能手机上推出了具备生物身份验证、管理系统和定制功能的 KNOX 2.0。
TrustZone 演变过程的第四个阶段是经过安全加固的应用程序新市场。 ARM 安全服务部门、Giesecke & Devrient 与 Trusted Logic Mobility 合资创办的 Trustonic (https://www.trustonic.com/about-us/what-we-do) 已集成了在可信执行环境 (TEE) 上运行的可空中下载 (OTA) 的可信应用程序。 其 t-base TEE 负责隔离和保护安全数字任务(如支付、OTT 内容和工作任务)的资产(密码、指纹和证书)。
Trustonic 销售对服务提供商的访问权限,以启用通过信任根证书和 TEE 制造的设备。 可信应用程序由 OEM 安装或稍后以空中下载 (OTA) 方式提供。 在服务提供商需要安装受 TEE 保护的应用程序时按需提供访问。
应用程序在正常模式下通常具有其绝大部分功能,但在硬件隔离的安全区域中可具有由单独安装的可信应用程序提供的关键或敏感操作,如加密或安全存储。 这不会影响性能,因为安全区域的操作通常不会阻塞正常模式下的进程。
无密码的世界
密码很常用,但久而久之会变得脆弱并出现问题。
Coombs 表示:“它们在许多方面都很脆弱。
人们通常会选择简单的词语,并在多个网站重复使用,黑客发现很容易对它们实施网络钓鱼攻击:它们不够强大,无法保护你的数字生活。
一旦该帐户被接管,攻击者可将其用作网关,以获得更多的凭证。”因此,我们需要一个更强大、更简单的身份验证解决方案。
图 4:值得信赖的快速身份在线 (FIDO) 可信应用程序可在 TrustZone TEE 中保护敏感操作,如密钥管理和存储。
他认为,FIDO 快速身份在线 (FIDO) 是一种更好的解决方案(见图 4)。 FIDO 联盟成立于 2012 年,旨在制订规范,以定义开放、可互操作和可扩展的机制,以替换密码进行在线身份验证。 FIDO 采用了多因素身份验证的理念,即使用不同类型的身份验证程序,如指纹传感器或 PIN 码输入,通过可信的触摸屏,将信息仅提供给 TEE。
Coombs 认为:“TrustZone 和 TEE 是实现 FIDO 安全外设的好办法。 FIDO 世界的应用程序可用于密钥生成、存储和与指纹驱动程序或触摸屏进行通信。 我希望基于 FIDO 实现的大部分手机能在今年用上基于 TrustZone 的 TEE 提供的完整性和保密性。”
FIDO 提供了一个令人兴奋的没有密码的未来世界,而基于 TrustZone 的 TEE 是实现它的极好方式。”他如此说道。
虽然 FIDO 版本 I 规范目前已到位,技术尝鲜者 Samsung 在其 Galaxy S5 上采用了 PayPal 交易规范草案来进行指纹支付(见图 5)。 Coombs 表示,FIDO 背后有很多动力。他希望 FIDO 在未来能够大量实施:2015 年 OEM 加速采用该技术,并在 2016 年底使其成为主流技术。
图 5:利用 FIDO 可实现安全支付。
ARM 可信固件
2015 年的另一个前景是推出许多基于 64/32位 ARMv8-A 的平台。 为帮助减少底层安全软件的复杂性,ARM 在 GitHub 上创建了一个开源项目:ARM 可信固件。 该软件于去年发布了 1.0 版本,并计划于 1 月底发布 1.1 版本。 ARM 将 v8A 的底层、高权限安全区域软件在授权许可证下以开源代码形式(见图 6)提供。 它提供了一个软件公共层,芯片合作伙伴可将之用作可信引导的参考实现和可信操作系统的接口层。
图 6:64 位 ARM v8A 架构的 ARM 可信固件减少了安全操作系统开发过程中的集成工作量。
确保安全、隔离区域以保护珍贵代码和数据的工作一直延续至今(距 TrustZone 推出已逾 10 年)。 它在抵御恶意攻击的前线中发挥着重要作用。
本文由 ARM 赞助。