发布时间:2016-03-29作者:智汇小新
Android 开源多媒体操作系统已成为智能手机、上网本和其他众多新兴电子消费产品的重要选择。与此同时,这些设备的安全问题——通信、数字版权管理(DRM) 和金融交易保密变得越来越重要。功能与安全通常不能兼得,Android® 就是高端产品存在安全漏洞的一个很好例证。本文将介绍如何利用ARM® TrustZoneTM 大幅提升Android 产品的安全标准,满足市场日益增加的应用安全需求。
Android的安全:历史回顾
早在2008年9月第一款A ndroidTM智能手机发布时,Google就高调宣称:与其他智能手机操作系统相比,Android安全架构采用了重大创新。Android官网的原文是:“Android安全架构的设计要点是,默认情况下,任何应用程序均无权执行会对其他应用程序、操作系统或者用户产生不利影响的操作。”
就在该款手机发布后几天,其Web浏览器软件中便发现了一个广为人知的严重漏洞。Google工程师在没有认真了解内容和来源的情况下,整体采用了数百万条开源代码,其中包括网络浏览器。随后在2008年11月,黑客又发现了一个更严重的操作系统漏洞——可在手机上安装任意程序的方法,让Google也不禁哀叹:“为确保Andr oid的安全,我们确实下足了功夫,但毫无疑问,这的确是一个很大的程序缺陷,我们认为这是一个重大的安全问题,因为设备的根存取权限打破了我们的应用程序沙盒。”
如果说Google、微软、苹果和IBM的智能手机技术为我们的社会进步做出了巨大贡献,恐怕一点也不为过。Android无疑是出色的多媒体平台,各种眼花缭乱的功能和开源开发环境对技术创新和提高生产力有很大帮助。
然而,Android和其他通用多媒体操作系统(最近iOS遭黑客攻击表明目前还没有哪个智能手机平台可以幸免)无法为用户、企业和重要基础设施供应商提供足够的安全保障,也使他们缺乏足够的信心,不敢轻易在智能手机应用安全关键型功能。更为严重的是,服务供应商可能已将智能手机列为高安全级别服务对象,并没有真正意识到潜在的风险。
策略与方法
既然你的技术无法抵御全球日益凶猛的专业黑客攻击,我们为何要将自己的数字身份和金钱托付给你?我们希望智能手机能够实现安全的个人信息保护、移动付费、汽车远程控制和企业重要信息处理。但现在缺少的是值得信任的安全平台。
TrustZone简介
对于上述难题,倒是有一套技术解决方案,这就是现代移动微处理器中一项经常被忽略且被严重低估的技术:ARM TrustZone。TrustZone可以实现专业的硬件系统虚拟化。
TrustZone提供了两个区域:“正常”区域和“信任”或“安全”区域。使用Tru st Zo n e时,多媒体操作系统(即用户通常可看到的系统)在正常区域运行,而安全关键型软件则在信任区域运行(图1)。安全区域管理员权限软件可以访问正常区域,但却不允许逆向访问。因此,正常区域实际上充当了虚拟机的角色,由信任区域中运行的系统管理程序进行控制,不过,与Intel V T等其他硬件虚拟化技术不同,如果不运行Trust Zone,正常区域客户操作系统运行时不会额外占用资源。因此,Trust Zone解决了在低功耗器件中采用系统虚拟化技术的性能障碍(或者说是最大障碍)。
图 1:TrustZone硬件虚拟化
TrustZone现代ARM应用处理器内核(包括A R M1176、CortexTM-A5、CortexTM-A8和 Cortex-A9)中固有的一项功能。不过,值得注意的是,并非所有使用这些内核的S o C都完全兼容Tr u st Zo n e。芯片供应商必须允许对储存器进行安全分区,并提供全面的I/O外设中断处理。此外,芯片供应商还必须为第三方可信任操作系统和应用程序开放安全区。目前飞思卡尔的i.MX53 (Cor texTM-A8) 和德州仪器的OMAP 4430(CortexTM-A9) 移动芯片都能支持TrustZone。
多年来,Green Hills Software公司与这些芯片供应商及其他支持TrustZone处理器的主流供应商能力合作,提供功能全面并且获得安全认证的操作系统和软件开发工具(SDK),为移动设备开发和安装可信任开源应用程序提供支持。
可信任软件可能包含加密算法、网络安全协议(如S S L/ T L S)和密钥材料、数字版权管理(DRM)软件、用于可信任路径身份输入的虚拟键盘、移动支付子系统、电子身份数据,以及服务提供商、手机制造商和/或移动SoC供应商可能认为值得为之提供安全保护的其他任何资料。
除了提高安全性能外,针对移动设备的某些功能需要金融和其他重要行业的认证授权,TrustZone还能降低这些设备的开发成本,缩短产品上市时间。利用TrustZone,银行(或认证机构)就可以将认证限制在信任区域,从而避免多媒体操作环境进行认证的复杂性(如果认证工作切实可行)。
经过认证的安全区域操作系统可以进一步降低成本和减少认证时间,原因有两个:第一,经过认证的操作系统已经得到信任,并且认证机构可以获取其所有设计和测试工件,这样就无需对安全区域操作环境进行认证,从而节省了时间和成本。第二,由于安全区域是一个完整的逻辑A R M内核,操作系统可以使用其内存管理单元(M M U)分区功能将安全区域进一步划分为元区域(图2)。例如,银行可能要求对用于银行交易信息验证和加密的加密元区域进行认证,但是银行不会关心对多媒体DRM元区域的认证,尽管多媒体DRM元区域对整个设备来说至关重要,但由于它不用于银行交易,因此,安全操作系统只要保证其不产生干扰就行了。
图 2:利用TrustZone中的元区域(meta-zone)大幅减少认证时间和成本
TrustZone分离内核
TrustZone安全操作系统采用了一种称为分离内核的架构。分离内核安全架构的原理基于高可靠性器件、严格隔离和器件间的信息流动控制。分离内核实际上是一个专业的实时操作系统(R TO S),可为通用型、安全关键型和硬实时型应用程序提供一个强大的运行环境,同时又满足最高标准的安全保障要求。
作者:David Kleidermacher,Green Hills Software公司首席技术官
Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有
电话:010-62314658 邮箱:service@ilinki.net
主办单位:智汇万联(北京)信息技术有限公司