• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    TrustZone技術(shù)在Android系統(tǒng)中的安全性研究

    2015-11-10 13:10:30包依勤
    物聯(lián)網(wǎng)技術(shù) 2015年10期

    包依勤

    摘 要:隨著移動終端應(yīng)用的日益增長,移動終端需要處理重要任務(wù)的需求也越來越大,對移動設(shè)備操作系統(tǒng)的安全性要求也越來越高。Android系統(tǒng)作為主流的移動設(shè)備操作開放系統(tǒng),目前只憑軟件還不能滿足用戶對移動設(shè)備的安全要求。而如果Android移動設(shè)備中采用ARM公司的Trust Zone技術(shù),即可使系統(tǒng)平臺的安全性得到保證。文章針對TrustZone技術(shù)在Android系統(tǒng)中的應(yīng)用進行了闡述,并對利用TrustZone技術(shù)保護移動設(shè)備中的屏幕、內(nèi)存等外設(shè),保證支付安全以及DRM受保護視頻內(nèi)容等操作進行了研究。

    關(guān)鍵詞:Android;TrustZone;安全支付;DRM

    中圖分類號:TP391.081 文獻標(biāo)識碼:A 文章編號:2095-1302(2015)10-00-04

    0 引 言

    隨著互聯(lián)網(wǎng)和移動終端的快速發(fā)展,傳統(tǒng)的手機已經(jīng)滿足不了用戶的需求,用戶不僅僅只是打電話和發(fā)送短信,而是希望手機能夠做更多的事情,例如網(wǎng)購、看剛上映的電影等,所以,手機的安全性得到用戶以及移動設(shè)備廠商的高度重視。用戶在使用手機網(wǎng)購時,特別擔(dān)心輸入的密碼、銀行卡等信息是否安全。用戶在看付費視頻時,視頻內(nèi)容不能被隨意的復(fù)制,否則將損害眾多數(shù)字版權(quán)廠商的利益。因此,安全支付和視頻內(nèi)容版權(quán)保護就需要手機廠商和硬件廠商提高手機的安全性。

    這些在傳統(tǒng)的手機軟件和硬件架構(gòu)中,實現(xiàn)起來相當(dāng)復(fù)雜,而且安全可靠性并不是令人非常滿意。一些廠商最原始的設(shè)計是將安全秘鑰寫到芯片中,但是如果芯片內(nèi)容被上層惡意軟件偽裝成系統(tǒng)服務(wù)進行訪問,必然會帶來很大的風(fēng)險。

    然而,Android系統(tǒng)是一個開放的操作系統(tǒng),Android源代碼開放[1],所以Android系統(tǒng)還不是很安全。同時,針對Android系統(tǒng)的惡意軟件越來越多,對于安全開發(fā)人員來說,惡意軟件的數(shù)量以及攻擊方式無法預(yù)期。用戶在使用安全支付功能時,當(dāng)支付進程與惡意進程同時存在Android系統(tǒng)中時,銀行卡、密碼等信息很有可能就被惡意軟件截獲,支付操作就變得非常危險。當(dāng)用戶在播放付費視頻時,視頻內(nèi)容雖然是加密過的,但是如果密鑰被惡意軟件所截獲,DRM受保護的視頻內(nèi)容利用密鑰解密后將被惡意軟件任意進行復(fù)制,將危及到全球數(shù)字版權(quán)廠商的利益。

    本文主要闡述了在Android系統(tǒng)中基于ARM[2]的TrustZone安全軟件架構(gòu)技術(shù),并對TrustZone安全軟件架構(gòu)下手機支付模式和DRM視頻播放模式進行了分析研究,TrustZone技術(shù)的應(yīng)用使Android系統(tǒng)平臺的安全性得到了很好的保證,有效地提高了網(wǎng)上支付的安全,維護了DRM數(shù)字版權(quán)廠商的利益。

    1 Android中TrustZone軟件架構(gòu)

    1.1 TrustZone技術(shù)

    ARM TrustZone? 技術(shù)是系統(tǒng)范圍的安全方法,針對高性能計算平臺上的大量應(yīng)用,包括安全支付、數(shù)字版權(quán)管理(DRM)、企業(yè)服務(wù)和基于 Web 的服務(wù)。TrustZone 技術(shù)與 Cortex處理器[3]緊密集成,并通過 AMBA AXI 總線和特定的 TrustZone 系統(tǒng) IP 塊在系統(tǒng)中進行擴展。此系統(tǒng)方法意味著可以保護安全內(nèi)存、加密塊、鍵盤和屏幕等外設(shè),從而可確保它們免遭軟件攻擊。隔離所有 SoC 硬件和軟件資源,使它們分別位于兩個區(qū)域(用于安全子系統(tǒng)的安全區(qū)域以及用于存儲其他所有內(nèi)容的普通區(qū)域)中。支持 TrustZone 的 AMBA AXI 總線構(gòu)造中的硬件邏輯可確保普通區(qū)域組件無法訪問安全區(qū)域資源,從而在這兩個區(qū)域之間構(gòu)建強大邊界。將敏感資源放入安全區(qū)域的設(shè)計,以及在安全的處理器內(nèi)核中可靠運行軟件可確保資產(chǎn)能夠抵御眾多潛在攻擊,包括那些通常難以防護的攻擊[4](如使用鍵盤或觸摸屏輸入密碼)。

    1.2 Android移動設(shè)備開機啟動流程

    Android移動設(shè)備中包含兩個操作系統(tǒng),分別為Secure OS和Normal OS 。設(shè)備在開機引導(dǎo)(如APQ8064)中,BootLoader啟動流程分為3個階段,分別是PBL、SBL1~3和APPSBL。其中,PBL(Primary BootLoader)指的是手機固件中固化好的啟動代碼,SBL(Secondary BootLoader)指第二啟動代碼,SBL1~SBL3分別是手機第二啟動的三個階段,APPSBL(Applications ARM BootLoader)指Android系統(tǒng)的引導(dǎo)代碼。Secure OS(即TrustZone鏡像)是在SBL2中加載并啟動的。Normal OS(即Android操作系統(tǒng)),是由APPSBL引導(dǎo)的,包含Android內(nèi)核以及Android的相關(guān)系統(tǒng)服務(wù)。啟動流程如圖1所示,從Power On 到Load TZ表明了Secure OS已經(jīng)啟動完成,從SBL3到Android OS表明了Normal OS已經(jīng)啟動完成,完成了Secure OS和Normal OS,則表明Android移動設(shè)備正常啟動。

    圖1 Android移動設(shè)備啟動流程

    ARM的TrustZone技術(shù)的作用就是:支持把多核系統(tǒng)劃分成關(guān)鍵系統(tǒng)資源運行的安全環(huán)境和其他系統(tǒng)資源運行的非安全環(huán)境。TrustZone隔離系統(tǒng)的關(guān)鍵部分只能在安全環(huán)境下訪問這些部分,其基礎(chǔ)是Cortex-A9 MPCore硬件和AMBA AXI3總線標(biāo)準(zhǔn)。在TrustZone支持系統(tǒng)中,每一AXI會話包括一個非安全(NS)比特,用于表示此次會話來自非安全還是安全環(huán)境。每次會話利用這一信息,系統(tǒng)中的從機可以選擇根據(jù)其TrustZone狀態(tài)進行響應(yīng)[5]。

    1.3 Secure OS

    Secure OS主要實現(xiàn)了一個分離內(nèi)核(separation kernel)的功能,與虛擬機監(jiān)控程序類似,分離(或分區(qū))內(nèi)核安全地隔離Android系統(tǒng)進程的環(huán)境。Secure OS是利用ARM提供的TrustZone安全擴展電路架構(gòu)來實現(xiàn)的,在這個系統(tǒng)中運行的所有程序都是受保護的、受信任的,擁有非常安全的運行空間,擁有自己獨立的系統(tǒng)堆棧以及內(nèi)存地址,是獨立于Android系統(tǒng)之外的操作系統(tǒng),與Android操作系統(tǒng)完全分隔。從外設(shè)、內(nèi)存地址空間、進程運行堆棧上完全分隔,從而可以保證Secure OS中進程的安全執(zhí)行,避免Android系統(tǒng)中惡意進程的干擾。當(dāng)手機中的進程需要執(zhí)行某些敏感的操作(例如安全支付、讀取DRM密鑰等)時,都需要在這個系統(tǒng)空間中去認(rèn)證并執(zhí)行,如果認(rèn)證失敗,就會直接產(chǎn)生中斷,告訴Android系統(tǒng)這個操作是不安全的,最終執(zhí)行失敗。在Android移動設(shè)備中執(zhí)行有關(guān)安全特性的操作時,Secure OS能夠有效的隔離惡意代碼的攻擊,其中,系統(tǒng)空間的隔離是最安全的保障。

    1.4 Normal OS

    在移動設(shè)備中,Normal OS就是Android OS。在此系統(tǒng)中,用戶可以自由安裝互聯(lián)網(wǎng)的軟件,可以瀏覽互聯(lián)網(wǎng)網(wǎng)頁,但其安全性相對于Secure OS要低很多。由于Android OS采用Linux安全機制,從系統(tǒng)上能夠保證Android OS一定程度的安全性,可以保證Android OS免受攻擊,但是當(dāng)用戶或者非法分子一旦將Android移動設(shè)備取得root管理員權(quán)限后,Android系統(tǒng)就變得十分不安全,互聯(lián)網(wǎng)中的惡意軟件就可以隨意修改設(shè)備中的文件、訪問用戶的資料,勢必給用戶帶來極大的利益損失。結(jié)合Secure OS利用TrustZone技術(shù),可以有效的保證手機的安全性,在不缺失Android系統(tǒng)給用戶帶來的極方便操作以及非常好的用戶體驗的同時,又能保障移動設(shè)備的安全,可以說ARM公司的TrustZone方案完全保障了移動設(shè)備廠商等的利益,使用戶用的安心。

    1.5 Android安全軟件架構(gòu)的實現(xiàn)

    在Android OS中,要實現(xiàn)與Secure OS通信,必須在內(nèi)核中集成TrustZone驅(qū)動,并在Android系統(tǒng)HAL層(Hardware Abstract Layer硬件抽象層)使用TrustZone API實現(xiàn)本地系統(tǒng)庫,在Framework中實現(xiàn)TrustZone客戶端服務(wù)進程,使得移動設(shè)備能夠滿足用戶的某些安全特性的需求。當(dāng)Android OS需要切換到Secure OS執(zhí)行相關(guān)安全操作時,需要向TrustZone客戶端服務(wù)進程發(fā)出請求,隨后服務(wù)進程調(diào)用TrustZone本地庫(即集成了TrustZone API系統(tǒng)庫),隨后轉(zhuǎn)交給內(nèi)核調(diào)用TrustZone驅(qū)動去切換CPU工作模式到Monitor Mode,再切換到Secure OS的執(zhí)行空間,有Core核心層分發(fā)請求安全操作事件,User用戶層執(zhí)行安全操作。這種安全架構(gòu)從內(nèi)存空間以及系統(tǒng)隔離方式上保證了操作的安全性,不管Android OS層有多少惡意進程,都無法進入Secure OS空間,用戶操作的安全性都能得到很好的保障[6]。

    從Android OS切換到Secure OS的過程如圖2所示。當(dāng)Android OS層的App(例如支付、DRM視頻播放等)需要完成安全性任務(wù)時,向Frameworks層的TZ(TrustZone) client請求;如果是DRM視頻播放任務(wù),則需要通過Android的DRM service與TZ client請求;如果是支付任務(wù),則直接向TZ client發(fā)出請求。TZ client收到上層的App請求后,通過調(diào)用HAL層的TZ Native庫,向Kernel層的TZ driver發(fā)出請求,TZ driver處理相應(yīng)的請求,通過SMC命令,切換到Secure OS中的Monitor模式。在Secure OS空間,通過Monitor監(jiān)視器完全切換到Secure OS的系統(tǒng)堆棧空間以及進程空間,有Secure OS的Core核心層通知Secure OS上層的TZ service服務(wù)處理任務(wù),再由TZ service負(fù)責(zé)分發(fā)安全性任務(wù)請求。此時,已經(jīng)完成Android OS向Secure OS請求安全任務(wù)的請求,最終由Secure OS空間的App層去處理相應(yīng)的安全性任務(wù)請求,根據(jù)不同的任務(wù)請求做出相應(yīng)的動作,例如DRM視頻解碼任務(wù),則DRM App獲取密鑰解密視頻內(nèi)容,或者支付任務(wù),則通過內(nèi)存塊保護或者總線保護手段鎖住顯示內(nèi)存空間。在手機使用中,主要的安全需求包括手機支付、DRM視頻播放服務(wù)等,為了保證操作或者某些特殊資源訪問的安全,需要切換到Secure OS下,執(zhí)行相關(guān)的代碼或者相關(guān)的外設(shè)訪問。

    圖2 android系統(tǒng)切換流程

    2 手機支付模式分析

    在手機彈出支付頁面時,Android系統(tǒng)就會切換到Secure OS中,使用TrustZone安全擴展架構(gòu)保護TouchScreen、Graphics以及內(nèi)存、總線地址等外設(shè),這些外設(shè)只能在Secure OS中被訪問,而且Secure OS運行的都是可靠安全的程序。相對于Android開發(fā)的操作系統(tǒng),免受惡意軟件的攻擊。

    當(dāng)用戶需要使用手機支付時,Android操作系統(tǒng)就會請求切換CPU模式,稱之為Monitor Mode,即監(jiān)控模式。在非常安全的環(huán)境下,CPU就會在Monitor Mode中切換到特權(quán)模式,進入Secure OS安全環(huán)境。這樣便保證了Android系統(tǒng)和Secure OS之間軟件空間的獨立性。由于Secure OS運行于TrustZone之上,所以Secure OS有權(quán)限對TouchScreen以及Graphics外設(shè)訪問,而普通的系統(tǒng)Android OS是沒有權(quán)限讀取這部分內(nèi)存以及這些外設(shè)的,所以這就保證了在硬件空間上的獨立性[7]。

    Android手機支付流程如圖3所示。當(dāng)用戶需要輸入用戶名密碼或者銀行卡號密碼時,支付軟件向TZ client請求保護相應(yīng)外設(shè),例如觸摸屏、屏幕、內(nèi)存等外設(shè),隨后TZ client通過一系列機制切換到Secure OS,Secure OS核心收到該請求,分發(fā)給上層中的進程,安全環(huán)境下的支付進程通過一些服務(wù)獲取觸摸屏上的觸摸信息,即支付信息,例如支付密碼等,隨后將這些信息發(fā)送給支付服務(wù)器。當(dāng)支付服務(wù)器處理支付信息后,向Android OS的支付進程反饋支付結(jié)果,Android OS中的支付進程最終將支付結(jié)果通過UI顯示給用戶,讓用戶得知是否支付成功。這種支付模式將所有有關(guān)銀行卡、密碼等敏感的信息全部由Secure OS中的支付進程獲取,保證了手機支付安全性和可靠性。

    由此可見,TrustZone的安全性可靠保證了手機購物方式的快速發(fā)展,給人們生活帶來了極大的便利。

    圖3 android手機支付流程

    3 DRM視頻播放模式分析

    DRM全稱是Digital Rights Management,叫做數(shù)字版權(quán)管理,是一種數(shù)字內(nèi)容版權(quán)保護技術(shù),目前這種技術(shù)主要用于國外。因為國外的很多影片公司視頻版權(quán)意識非常強,很忌諱用戶不用支付相應(yīng)的報酬就可以播放他們自己的視頻,所以都利用DRM的方式保護自己的視頻版權(quán),用戶需要付費觀看,并且不能夠通過拷貝方式給其他設(shè)備播放或者就是限制設(shè)備播放次數(shù)或者播放截止時間,使得用戶無法通過非法手段竊取視頻內(nèi)容,極大地保護了視頻內(nèi)容提供商的利益。這些功能雖然在軟件方面設(shè)計很簡單,但是對于Android設(shè)備來說,網(wǎng)絡(luò)上存在著大量的惡意軟件,只要用戶將Android設(shè)備root權(quán)限后,惡意軟件就可以非法篡改這些信息,所以關(guān)于DRM的軟件設(shè)計務(wù)必需要考慮大量惡意進程同時存在危險性,而通過TrustZone就完全可以保證其安全。

    DRM對視頻內(nèi)容版權(quán)進行保護的方式主要有兩方面:第一方面是通過License File,這個文件用于檢查該視頻的許可證以及一些限制使用參數(shù);第二方面是密鑰,包括私有密鑰和視頻解碼密鑰[8],這兩種密鑰可以順利讓加密好的視頻流進行解密。

    在移動設(shè)備中,需要保證其安全性的就是許可證文件、密鑰和解碼后的視頻流。通常許可證以及密鑰是通過文件的形式放在存儲器(閃存)上,而這個存儲器則由Secure OS進行管理,并且只有它能訪問,這樣Android進程是無法訪問到這一塊存儲器上的內(nèi)容。Android OS空間的視頻播放軟件即我們常說的視頻播放器在播放這類視頻時,都需要向Android Framework層的DRM Service請求,最終所有請求都是通過DRM Service轉(zhuǎn)換成TZ請求后,與Secure OS空間的DRM進程通信。License驗證以及密鑰讀取、視頻解碼都是在Secure OS空間里面完成的。

    DRM視頻播放的詳細流程如圖4所示。Movie軟件從視頻提供商獲取已經(jīng)加密的視頻流,向DRM Service發(fā)出請求,DRM Service收到請求后,將加密的視頻流放置在內(nèi)存中,通過TZ client與Secure OS的DRM管理進程進行通信。經(jīng)過上述流程,整個軟件運行空間就切換到Secure OS中,安全環(huán)境中的DRM進程讀取License File,如果不存在或者與遠程提供商服務(wù)器確認(rèn)出錯,就會拒絕解密,用戶端呈現(xiàn)出來的就是無法播放該視頻。License File以及密鑰認(rèn)證成功后,Decrypto解碼器[9]負(fù)責(zé)將視頻內(nèi)容提供商提供的加密視頻流解密,變成正常的視頻流,最終由Codec對這個視頻流進行解碼,交給MDP(Mobile Display Process,稱為移動顯示處理器)處理及顯示。

    圖4 DRM視頻播放流程

    因為DRM視頻內(nèi)容認(rèn)證以及解密、解碼均是在Secure OS環(huán)境中操作的,所以,Android OS層的任何進程或者服務(wù)都無法竊取到最終的顯示內(nèi)容,所以極大程度地保護了數(shù)字視頻內(nèi)容?;赥rustZone硬件架構(gòu)的軟件層設(shè)計保護了視頻內(nèi)容提供商的利益,為原創(chuàng)視頻以及電影保證了創(chuàng)作的積極性。

    通常Android系統(tǒng)空間運行的是安全要求不高的進程,而Secure OS空間運行的是安全性極高的進程,所以將需要保護的文件以及內(nèi)存外設(shè)等安排在Secure OS中訪問,這樣,就能夠保證Android移動設(shè)備播放DRM視頻的安全性。

    4 結(jié) 語

    Android系統(tǒng)是目前手機最流行的操作系統(tǒng),ARM架構(gòu)處理器則是大部分移動終端的CPU,而人們對手機的安全性越來越重視,這也就要求軟件廠商和硬件廠商都需要保證手機數(shù)據(jù)的安全性。ARM推出的TrustZone擴展外設(shè)保證了硬件上的隔離,Secure OS保證了軟件上的隔離,相當(dāng)于把安全的操作全部放在沙盒中,利用軟硬件的隔離方式,實現(xiàn)了手機的安全特性。

    參考文獻

    [1]鄭力明,廖明華.Android安全機制分析與解決方案初探[J].科學(xué)技術(shù)與工程,2011,11(26):6350-6355.

    [2]李宇成,李國輝,趙興彩. 基于ARM嵌入式系統(tǒng)的空閑車位檢測方法[J].科學(xué)技術(shù)與工程,2013,13(21):6118-6123.

    [3]杜斌,陳澤華.基于Cortex-M3和互聯(lián)網(wǎng)的分布式測試系統(tǒng)設(shè)計[J].科學(xué)技術(shù)與工程,2013,13(2):354-360.

    [4]秦緒佳,王建奇,朱思達,等.基于GPU的四維醫(yī)學(xué)圖像動態(tài)快速體繪制[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2011,23(11):1789-1798.

    [5] ARM Company. TrustZone? Security Foundation by ARM?.[EB/OL] .http://www.arm.com/zh/products/processors/technologies/trustzone.php.

    [6] StefanoZammattio, CliveDavies. 使用ARM的TrustZone技術(shù),針對安全和非安全應(yīng)用劃分系統(tǒng)[J].電子產(chǎn)品世界,2013(9):21-22.

    [7] TOM R., HALFHILL. TrustZone Security Extensions Strengthen ARMv6 Architecture[EB/OL].http://www.arm.com/miscPDFs/4136.pdf,2004.

    [8]于啟紅,李繼國.抗密鑰泄漏的基于身份的加密方案[J].科學(xué)技術(shù)與工程,2013,13(28):8310-8314.

    [9]楊平,安博文.超分辨率掃描成像系統(tǒng)圖像無損壓縮算法研究[J].計算機應(yīng)用與軟件,2014,31(7):210 - 213,244.

    长兴县| 柳河县| 通山县| 和龙市| 依安县| 阜南县| 阳江市| 盐津县| 万盛区| 梁河县| 泽州县| 庆安县| 瓦房店市| 涟水县| 凌源市| 兴安盟| 清徐县| 富蕴县| 江安县| 洞口县| 平塘县| 扶绥县| 拉孜县| 永顺县| 荔浦县| 邵东县| 麦盖提县| 龙陵县| 光山县| 贡山| 乐至县| 肇东市| 共和县| 泗水县| 奉贤区| 牟定县| 莱西市| 永年县| 珠海市| 微博| 惠安县|