Android 開源多媒體操作系統(tǒng)已成為智能手機、上網(wǎng)本和其他眾多新興電子消費產(chǎn)品的重要選擇。與此同時,這些設(shè)備的安全問題——通信、數(shù)字版權(quán)管理(DRM) 和金融交易保密變得越來越重要。功能與安全通常不能兼得,Android® 就是高端產(chǎn)品存在安全漏洞的一個很好例證。本文將介紹如何利用ARM® TrustZoneTM 大幅提升Android 產(chǎn)品的安全標(biāo)準(zhǔn),滿足市場日益增加的應(yīng)用安全需求。
Android的安全:歷史回顧
早在2008年9月第一款A(yù) ndroidTM智能手機發(fā)布時,Google就高調(diào)宣稱:與其他智能手機操作系統(tǒng)相比,Android安全架構(gòu)采用了重大創(chuàng)新。Android官網(wǎng)的原文是:“Android安全架構(gòu)的設(shè)計要點是,默認情況下,任何應(yīng)用程序均無權(quán)執(zhí)行會對其他應(yīng)用程序、操作系統(tǒng)或者用戶產(chǎn)生不利影響的操作。”
就在該款手機發(fā)布后幾天,其Web瀏覽器軟件中便發(fā)現(xiàn)了一個廣為人知的嚴(yán)重漏洞。Google工程師在沒有認真了解內(nèi)容和來源的情況下,整體采用了數(shù)百萬條開源代碼,其中包括網(wǎng)絡(luò)瀏覽器。隨后在2008年11月,黑客又發(fā)現(xiàn)了一個更嚴(yán)重的操作系統(tǒng)漏洞——可在手機上安裝任意程序的方法,讓Google也不禁哀嘆:“為確保Andr oid的安全,我們確實下足了功夫,但毫無疑問,這的確是一個很大的程序缺陷,我們認為這是一個重大的安全問題,因為設(shè)備的根存取權(quán)限打破了我們的應(yīng)用程序沙盒。”
如果說Google、微軟、蘋果和IBM的智能手機技術(shù)為我們的社會進步做出了巨大貢獻,恐怕一點也不為過。Android無疑是出色的多媒體平臺,各種眼花繚亂的功能和開源開發(fā)環(huán)境對技術(shù)創(chuàng)新和提高生產(chǎn)力有很大幫助。
然而,Android和其他通用多媒體操作系統(tǒng)(最近iOS遭黑客攻擊表明目前還沒有哪個智能手機平臺可以幸免)無法為用戶、企業(yè)和重要基礎(chǔ)設(shè)施供應(yīng)商提供足夠的安全保障,也使他們?nèi)狈ψ銐虻男判?,不敢輕易在智能手機應(yīng)用安全關(guān)鍵型功能。更為嚴(yán)重的是,服務(wù)供應(yīng)商可能已將智能手機列為高安全級別服務(wù)對象,并沒有真正意識到潛在的風(fēng)險。
策略與方法
既然你的技術(shù)無法抵御全球日益兇猛的專業(yè)黑客攻擊,我們?yōu)楹我獙⒆约旱臄?shù)字身份和金錢托付給你?我們希望智能手機能夠?qū)崿F(xiàn)安全的個人信息保護、移動付費、汽車遠程控制和企業(yè)重要信息處理。但現(xiàn)在缺少的是值得信任的安全平臺。
TrustZone簡介
對于上述難題,倒是有一套技術(shù)解決方案,這就是現(xiàn)代移動微處理器中一項經(jīng)常被忽略且被嚴(yán)重低估的技術(shù):ARM TrustZone。TrustZone可以實現(xiàn)專業(yè)的硬件系統(tǒng)虛擬化。
TrustZone提供了兩個區(qū)域:“正常”區(qū)域和“信任”或“安全”區(qū)域。使用Tru st Zo n e時,多媒體操作系統(tǒng)(即用戶通??煽吹降南到y(tǒng))在正常區(qū)域運行,而安全關(guān)鍵型軟件則在信任區(qū)域運行(圖1)。安全區(qū)域管理員權(quán)限軟件可以訪問正常區(qū)域,但卻不允許逆向訪問。因此,正常區(qū)域?qū)嶋H上充當(dāng)了虛擬機的角色,由信任區(qū)域中運行的系統(tǒng)管理程序進行控制,不過,與Intel V T等其他硬件虛擬化技術(shù)不同,如果不運行Trust Zone,正常區(qū)域客戶操作系統(tǒng)運行時不會額外占用資源。因此,Trust Zone解決了在低功耗器件中采用系統(tǒng)虛擬化技術(shù)的性能障礙(或者說是最大障礙)。
圖 1:TrustZone硬件虛擬化
TrustZone現(xiàn)代ARM應(yīng)用處理器內(nèi)核(包括A R M1176、CortexTM-A5、CortexTM-A8和 Cortex-A9)中固有的一項功能。不過,值得注意的是,并非所有使用這些內(nèi)核的S o C都完全兼容Tr u st Zo n e。芯片供應(yīng)商必須允許對儲存器進行安全分區(qū),并提供全面的I/O外設(shè)中斷處理。此外,芯片供應(yīng)商還必須為第三方可信任操作系統(tǒng)和應(yīng)用程序開放安全區(qū)。目前飛思卡爾的i.MX53 (Cor texTM-A8) 和德州儀器的OMAP 4430(CortexTM-A9) 移動芯片都能支持TrustZone。
多年來,Green Hills Software公司與這些芯片供應(yīng)商及其他支持TrustZone處理器的主流供應(yīng)商能力合作,提供功能全面并且獲得安全認證的操作系統(tǒng)和軟件開發(fā)工具(SDK),為移動設(shè)備開發(fā)和安裝可信任開源應(yīng)用程序提供支持。
可信任軟件可能包含加密算法、網(wǎng)絡(luò)安全協(xié)議(如S S L/ T L S)和密鑰材料、數(shù)字版權(quán)管理(DRM)軟件、用于可信任路徑身份輸入的虛擬鍵盤、移動支付子系統(tǒng)、電子身份數(shù)據(jù),以及服務(wù)提供商、手機制造商和/或移動SoC供應(yīng)商可能認為值得為之提供安全保護的其他任何資料。
除了提高安全性能外,針對移動設(shè)備的某些功能需要金融和其他重要行業(yè)的認證授權(quán),TrustZone還能降低這些設(shè)備的開發(fā)成本,縮短產(chǎn)品上市時間。利用TrustZone,銀行(或認證機構(gòu))就可以將認證限制在信任區(qū)域,從而避免多媒體操作環(huán)境進行認證的復(fù)雜性(如果認證工作切實可行)。
經(jīng)過認證的安全區(qū)域操作系統(tǒng)可以進一步降低成本和減少認證時間,原因有兩個:第一,經(jīng)過認證的操作系統(tǒng)已經(jīng)得到信任,并且認證機構(gòu)可以獲取其所有設(shè)計和測試工件,這樣就無需對安全區(qū)域操作環(huán)境進行認證,從而節(jié)省了時間和成本。第二,由于安全區(qū)域是一個完整的邏輯A R M內(nèi)核,操作系統(tǒng)可以使用其內(nèi)存管理單元(M M U)分區(qū)功能將安全區(qū)域進一步劃分為元區(qū)域(圖2)。例如,銀行可能要求對用于銀行交易信息驗證和加密的加密元區(qū)域進行認證,但是銀行不會關(guān)心對多媒體DRM元區(qū)域的認證,盡管多媒體DRM元區(qū)域?qū)φ麄€設(shè)備來說至關(guān)重要,但由于它不用于銀行交易,因此,安全操作系統(tǒng)只要保證其不產(chǎn)生干擾就行了。
圖 2:利用TrustZone中的元區(qū)域(meta-zone)大幅減少認證時間和成本
TrustZone分離內(nèi)核
TrustZone安全操作系統(tǒng)采用了一種稱為分離內(nèi)核的架構(gòu)。分離內(nèi)核安全架構(gòu)的原理基于高可靠性器件、嚴(yán)格隔離和器件間的信息流動控制。分離內(nèi)核實際上是一個專業(yè)的實時操作系統(tǒng)(R TO S),可為通用型、安全關(guān)鍵型和硬實時型應(yīng)用程序提供一個強大的運行環(huán)境,同時又滿足最高標(biāo)準(zhǔn)的安全保障要求。
作者:David Kleidermacher,Green Hills Software公司首席技術(shù)官
(審核編輯: 智匯小新)
分享