蔡一新, 朱嘉鋼
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214000)
?
基于Android系統(tǒng)嵌入式移動(dòng)可信網(wǎng)關(guān)設(shè)計(jì)*
蔡一新, 朱嘉鋼
(江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214000)
以往移動(dòng)可信平臺(tái)設(shè)計(jì)均以終端設(shè)計(jì)為主,不適用于移動(dòng)物聯(lián)網(wǎng)條件下,提出一種基于Android系統(tǒng)的嵌入式可信移動(dòng)網(wǎng)關(guān),結(jié)合可信平臺(tái)模塊(TPM)芯片與Android系統(tǒng)特有特性,設(shè)計(jì)新的可信模塊。本設(shè)計(jì)提出Android系統(tǒng)下軟硬件系統(tǒng)架構(gòu)以及每個(gè)模塊的詳細(xì)功能。根據(jù)設(shè)計(jì)利用Atmel AT97SC3205T芯片對(duì)Cortex—A8 S5PV210 平臺(tái)可信改造,并在Android系統(tǒng)上開發(fā)網(wǎng)關(guān)應(yīng)用程序。根據(jù)此平臺(tái)已經(jīng)開發(fā)ZigBee應(yīng)用程序,此設(shè)計(jì)有較高的商業(yè)價(jià)值。
Android系統(tǒng); 可信計(jì)算; 可信平臺(tái)模塊芯片
物聯(lián)網(wǎng)(IoT)在傳感技術(shù)、全球定位系統(tǒng)等物理環(huán)境信息采集技術(shù)的基礎(chǔ)上,結(jié)合互聯(lián)網(wǎng)、信息共享、信息傳遞、人工智能和信息感知等技術(shù)實(shí)現(xiàn)“物—物”和“人—物”的交互與控制,其中物理的和虛擬的"物"具有身份識(shí)別、物理屬性、虛擬特性和智能接口,并和信息網(wǎng)絡(luò)無(wú)縫整合[1]。物聯(lián)網(wǎng)[2]是未來互聯(lián)網(wǎng)的重要組成部分,是一個(gè)動(dòng)態(tài)的全球網(wǎng)絡(luò)框架,具有基于標(biāo)準(zhǔn)和公有通信協(xié)議的自組織能力。
移動(dòng)物聯(lián)網(wǎng)是物聯(lián)網(wǎng)的一個(gè)分支,也是無(wú)線物聯(lián)網(wǎng)的一個(gè)分支。移動(dòng)物聯(lián)網(wǎng)是指適用于某些移動(dòng)的特定的場(chǎng)景如高鐵、長(zhǎng)途汽車、房車等中的物聯(lián)網(wǎng)網(wǎng)絡(luò),上述場(chǎng)景是隨時(shí)運(yùn)動(dòng)的,需要通過移動(dòng)運(yùn)營(yíng)商網(wǎng)絡(luò)與因特網(wǎng)中的服務(wù)器相連。在上述環(huán)境中,有一定數(shù)量的監(jiān)控和控制設(shè)備,而這些設(shè)備采集諸多敏感信息如溫度、濕度、有毒氣濃度、火災(zāi)信息等,同時(shí)控制設(shè)備掌控所有的智能家電設(shè)備如安防系統(tǒng)、空調(diào)、燈具等等。上述列舉的采集和控制行為直接關(guān)系當(dāng)前環(huán)境的敏感信息和重要操作,如果信息被惡意篡改或者智能設(shè)備被惡意操作會(huì)給上述場(chǎng)景物聯(lián)網(wǎng)網(wǎng)絡(luò)中造成實(shí)物損壞,比傳統(tǒng)的安全問題帶來的信息竊取和篡改更加嚴(yán)重。如何保證移動(dòng)物聯(lián)網(wǎng)網(wǎng)絡(luò)安全是急需解決的問題。
當(dāng)前的移動(dòng)物聯(lián)網(wǎng)網(wǎng)絡(luò)安全系統(tǒng)主要以防火墻,入侵檢測(cè)和病毒防范為主,是基于純軟件的解決方案,這種解決方案存在一定的問題,面對(duì)種類繁多的病毒入侵已經(jīng)顯得力不從心,由于安全保護(hù)軟件都不能保證自身安全,保障安全只有從硬件和軟件的底層做起,才能有效地確保安全。同時(shí)現(xiàn)有的移動(dòng)可信平臺(tái)的解決方案都是解決手機(jī)終端的可信計(jì)算,并不適合移動(dòng)物聯(lián)網(wǎng)場(chǎng)景中。 為了解決移動(dòng)物聯(lián)網(wǎng)面臨的安全問題,本文構(gòu)建基于可信平臺(tái)模塊(TPM)芯片的Android系統(tǒng)移動(dòng)可信網(wǎng)關(guān)用于保護(hù)移動(dòng)物聯(lián)網(wǎng)的安全。
可信物聯(lián)網(wǎng)網(wǎng)絡(luò)組織結(jié)構(gòu)如圖1。
圖1 移動(dòng)物聯(lián)網(wǎng)結(jié)構(gòu)圖Fig 1 Structure diagram of mobile IoT
在圖1中本文設(shè)計(jì)的適用于移動(dòng)物聯(lián)網(wǎng)的可信網(wǎng)關(guān),在移動(dòng)的應(yīng)用場(chǎng)景中網(wǎng)關(guān)不能通過傳統(tǒng)的方式連接因特網(wǎng),只能通過運(yùn)營(yíng)商的3G/4G無(wú)線網(wǎng)連接因特網(wǎng)。本設(shè)計(jì)中的網(wǎng)關(guān)搭載的是Android 4.0,而且通過應(yīng)用程序管理控制移動(dòng)應(yīng)用場(chǎng)景中的其他傳感器和控制設(shè)備。用戶在有運(yùn)營(yíng)商網(wǎng)絡(luò)的環(huán)境下可以通過手機(jī)上的應(yīng)用控制應(yīng)用場(chǎng)景中的所有設(shè)備或者查看設(shè)備狀態(tài)。在上圖中最為核心的就是可信網(wǎng)關(guān)的構(gòu)建,網(wǎng)關(guān)是保證整個(gè)網(wǎng)絡(luò)安全的核心。為了保證移動(dòng)網(wǎng)關(guān)的安全,本文計(jì)劃使用TPM芯片和Android操作系統(tǒng)結(jié)合使用設(shè)計(jì)適用于移動(dòng)物聯(lián)網(wǎng)網(wǎng)關(guān)的嵌入式可信平臺(tái)。
移動(dòng)可信計(jì)算可以采用軟件實(shí)現(xiàn)、硬件實(shí)現(xiàn)、軟硬件結(jié)合實(shí)現(xiàn)。Zhang Xinwen等人提出一種內(nèi)核級(jí)別的域隔離措施,是擴(kuò)展基于SELinux的內(nèi)核來提供移動(dòng)可信模塊(mobile trusted module,MTM)所需的平臺(tái)特性[3]。還有兩種重要方案:一是利用ARM公司的TrustZone技術(shù)實(shí)現(xiàn)純軟件的MTM可信構(gòu)建塊[4];二是利用基于Java Card技術(shù)的智能卡構(gòu)建安全元來實(shí)現(xiàn)MTM[5,6]。文獻(xiàn)[7]提出一種結(jié)合TrustedZone和Java Card技術(shù)的可信移動(dòng)終端架構(gòu)。上面幾種方案在安全等級(jí)上是不同的,根據(jù)文獻(xiàn)[7]提出了3種移動(dòng)設(shè)備的安全等級(jí)要求,本文根據(jù)可信嵌入式設(shè)備的安全特點(diǎn),劃分以下三個(gè)等級(jí),如表1。
文獻(xiàn)[3~6]提出的方案只滿足最低一種安全級(jí)別,在可信移動(dòng)網(wǎng)關(guān)的高安全性的要求下,需要滿足更高的要求。雖然文獻(xiàn)[7]提出的方案滿足安全級(jí)別2,但是TrustZone技術(shù)在實(shí)現(xiàn)上暴露出安全性問題,Dan Rosenberg在文獻(xiàn)[8]中指出高通曉龍系列中所有依靠TrustZone安全技術(shù)Android設(shè)備都出現(xiàn)重大安全漏洞,系統(tǒng)安全機(jī)制被破壞。雖然高通公司及時(shí)發(fā)布通告解決此次漏洞,但是TrustZone技術(shù)的安全性能值得我們懷疑。因此本文提出基于TPM芯片和Android操作系統(tǒng)的移動(dòng)可信網(wǎng)關(guān)解決方案,滿足安全等級(jí)2完全滿足移動(dòng)物聯(lián)網(wǎng)可信網(wǎng)關(guān)的安全要求。
表1 可信體系結(jié)構(gòu)的安全特點(diǎn)
在移動(dòng)物聯(lián)網(wǎng)中的可信網(wǎng)關(guān)本文也計(jì)劃選擇搭載Android操作系統(tǒng)。由于Android操作系統(tǒng)可以通過Android NDK(Android native development kit)[9]技術(shù)調(diào)用C語(yǔ)言編寫函數(shù)庫(kù),解決Java計(jì)算效率低的問題。
因此,可以構(gòu)建基于Android操作系統(tǒng)的可信計(jì)算平臺(tái)架構(gòu)。Android可信計(jì)算平臺(tái)整體架構(gòu)如圖2所示。
圖2 Android可信計(jì)算平臺(tái)整體架構(gòu)Fig 2 Overall architecture of Android trusted computing platform
本設(shè)計(jì)平臺(tái)由6個(gè)主要部分組成如圖2所示??尚庞?jì)算應(yīng)用程序模塊是為應(yīng)用主體提供可信計(jì)算服務(wù),其調(diào)用圖2中協(xié)議算法、可信芯片API和計(jì)算庫(kù)API中的函數(shù)庫(kù)編寫可信計(jì)算應(yīng)用程序。協(xié)議算法使用JAVA語(yǔ)言編寫,為可信計(jì)算應(yīng)用程序模塊提供算法支持??尚判酒珹PI同樣使用JAVA編寫,封裝TPM芯片中的密碼學(xué)函數(shù)庫(kù)。計(jì)算庫(kù)API是用JAVA編程,將計(jì)算API中的算法利用NDK技術(shù)封裝成函數(shù)接口。
計(jì)算API利用Android NDK技術(shù),將需要大量運(yùn)算的算法程序用C語(yǔ)言編寫。
硬件平臺(tái)是由ARM處理器核心板為主體,外設(shè)多個(gè)模塊,包括TPM可信計(jì)算芯片、USIM卡模塊、WiFi模塊等等。TPM芯片通過I2C總線和ARM處理器的處理芯片相連,然后提供可信芯片相關(guān)可信服務(wù)。
3.1 可信信任鏈
TPM芯片依據(jù)TPM規(guī)范生產(chǎn)的安全芯片,含有密碼運(yùn)算器和安全存儲(chǔ)區(qū)域。可以實(shí)現(xiàn)的功能包括:數(shù)字摘要、簽名與認(rèn)證、密鑰生成及隨機(jī)數(shù)生成、存儲(chǔ)保護(hù)和安全審計(jì),并具有可信校驗(yàn)啟動(dòng)功能??尚判湃捂溄⑹乔度胧皆O(shè)備可信改造的重要步驟,可信平臺(tái)的可信傳遞源于可信信任鏈的建立,可信信任鏈的建立??尚判湃捂溄⑦^程如圖3所示。
圖3 信任鏈建立過程Fig 3 Establishment process of trust chain
圖3顯示的是可信根信任鏈建立過程,CRTM(Core Root of Trust Measurement)是可信量度根,也是信任鏈的開始點(diǎn)。網(wǎng)關(guān)硬件平臺(tái)上電后,最先加載CRTM,通過校驗(yàn)平臺(tái)配置注冊(cè)表(platform configuration register,PCR)中的校驗(yàn)值驗(yàn)證Bootloader中Stage1代碼段完整性和安全性。Stage1是靠近硬件常用匯編部分實(shí)現(xiàn),用以執(zhí)行簡(jiǎn)單的硬件初始化與配置,包括設(shè)置嵌入式CPU 中若干控制寄存器、設(shè)置內(nèi)存和堆棧、變量的初始化及執(zhí)行方式等。接下來驗(yàn)證過程同樣通過PCR中的校驗(yàn)值一級(jí)級(jí)校驗(yàn)代碼段,確保Android操作系統(tǒng)可信啟動(dòng)。
3.2 MTM
MTM是2006年TCG[3]規(guī)范提出的,為可信計(jì)算應(yīng)用到移動(dòng)設(shè)備領(lǐng)域提供理論指導(dǎo)。MTM規(guī)范是基于TPM VI.2規(guī)范上構(gòu)建的,可以將MTM看成是更適合移動(dòng)平臺(tái)的特殊TPM[4]。
在移動(dòng)網(wǎng)關(guān)中如何實(shí)現(xiàn)移動(dòng)可信模塊是關(guān)鍵點(diǎn)之一,TCG標(biāo)準(zhǔn)[3]在文中只是描述MTM 需要滿足的特性并沒有給出具體的MTM的實(shí)現(xiàn)方法。由于網(wǎng)關(guān)的特性決定網(wǎng)關(guān)可以搭載大容量電池,故采用嵌入式TPM芯片結(jié)合使用已存在的軟件庫(kù)實(shí)現(xiàn)MTM是可行的方案。利用TPM芯片建立可信信任鏈可以保證MTM軟件模塊不被入侵篡改與破壞,從而確保MTM安全性。由于網(wǎng)關(guān)搭載的是Android操作系統(tǒng),可以將所有C語(yǔ)言編寫函數(shù)庫(kù)都存儲(chǔ)為動(dòng)態(tài)鏈接庫(kù)(SO文件),通過對(duì)SO文件的完整性校驗(yàn)實(shí)現(xiàn)對(duì)其的可信驗(yàn)證,在具體實(shí)施上可行。
3.3 安全性分析與方案對(duì)比
本文提出的可信移動(dòng)網(wǎng)關(guān)解決方案與前述幾種方案在幾個(gè)重要的安全性上進(jìn)行詳細(xì)比較,如表2。
表2 方案對(duì)比分析
3.4 可信移動(dòng)網(wǎng)關(guān)實(shí)現(xiàn)
本文提出了一種基于Android和TPM芯片的移動(dòng)物聯(lián)網(wǎng)網(wǎng)關(guān)可信平臺(tái)設(shè)計(jì),并對(duì)其各個(gè)模塊的可行性進(jìn)行了分析。在此架構(gòu)下,可以認(rèn)為移動(dòng)平臺(tái)經(jīng)過驗(yàn)證后是可信的.且現(xiàn)有技術(shù)方案已可以滿足可信計(jì)算平臺(tái)的技術(shù)需求。
TPM芯片通過IIC總線與主控制器通信,本設(shè)計(jì)使用是基于ARM V7架構(gòu)Cortex—A8應(yīng)用處理器,使用是三星公司推出的S5PV210處理器。本架構(gòu)方式實(shí)施過程使用的是ATMEL型號(hào)為AT97SC3205T的TPM芯片,是ATMEL出品最新的TPM芯片。AT97SC3205T與ARM處理器通信通過I2C總線,故需要在底板上焊接一個(gè)5針的插槽。
圖4 AT97SC3205T外接插槽Fig 4 AT97SC3205T external slot
在本設(shè)計(jì)中AT97SC3205T的外接模塊暫時(shí)使用Atmel的TPM開發(fā)板Atmel TPM I2C/SPI Development Kit代替。
同時(shí)在網(wǎng)關(guān)底板上添加ZigBee芯片CC2530的接口,使用UART串口與核心板通信??尚啪W(wǎng)關(guān)實(shí)物圖如圖5所示。
圖5 可信嵌入式網(wǎng)關(guān)實(shí)物圖Fig 5 Physical map of trusted embedded gateway
3.5 設(shè)計(jì)驗(yàn)證與結(jié)果分析
本設(shè)計(jì)采用Uboot作為Bootloader,內(nèi)核版本為Android 的Linux Kernel 3.0.8,主要驗(yàn)證TPM安全芯片在本設(shè)計(jì)中工作狀態(tài)。具體的驗(yàn)證步驟如下:
1)在可信改造Uboot之后,網(wǎng)關(guān)平臺(tái)在啟動(dòng)的時(shí)候向TPM發(fā)送TPM_StartUP指令,通過返回的值判斷TPM是否可以正常工作。TPM_Startup 命令就是啟動(dòng)TPM。這個(gè)命令必須在通上電源或者復(fù)位后執(zhí)行。TPM_Startup在復(fù)位或者上電后只能執(zhí)行一次,TPM_SUCCESS返回0x 00000000,如圖6。
圖6 TPM_Startup命令Fig 6 TPM_Startup command
2)通過TPM芯片實(shí)現(xiàn)可信信任鏈的建立,通過SHA—1操作將結(jié)果擴(kuò)展到PCR中,選擇一個(gè)PCR存儲(chǔ)散列值。在校驗(yàn)啟動(dòng)中向TPM發(fā)送0X00C10000000A0000000A返回的值如圖7所示。
圖7 PCR1讀取內(nèi)容Fig 7 PCR1 read-out content
上述實(shí)驗(yàn)驗(yàn)證說明本設(shè)計(jì)的核心組件TPM可信啟動(dòng)與校驗(yàn)在本網(wǎng)關(guān)工作平臺(tái)上是正常工作的。在可信改造過后需要實(shí)現(xiàn)Android的計(jì)算機(jī)庫(kù)API和計(jì)算機(jī)接口。
就上述移動(dòng)物聯(lián)網(wǎng)可信網(wǎng)關(guān)的設(shè)計(jì),本文作者已經(jīng)完成了基于Android系統(tǒng)的ZigBee網(wǎng)關(guān)的開發(fā)設(shè)計(jì)工作。
TPM可信根啟動(dòng)部分也已經(jīng)測(cè)試通過,現(xiàn)在著手實(shí)現(xiàn)基于Android的計(jì)算庫(kù)API和計(jì)算函數(shù)庫(kù)的實(shí)現(xiàn)。針對(duì)上述可信平臺(tái)架構(gòu),本文作者已著手實(shí)現(xiàn)基于此架構(gòu),將現(xiàn)有嵌入式設(shè)備實(shí)現(xiàn)可信計(jì)算,然后結(jié)合Android系統(tǒng)實(shí)現(xiàn)移動(dòng)可信網(wǎng)關(guān)平臺(tái),保護(hù)移動(dòng)物聯(lián)網(wǎng)內(nèi)的信息安全。
[1] 楊 靜,辛 宇,謝志強(qiáng),面向物聯(lián)網(wǎng)傳感器事件監(jiān)測(cè)的雙向反饋系統(tǒng)[J].計(jì)算機(jī)學(xué)報(bào),2013,36(3):506-520.
[2] 趙志軍,沈 強(qiáng),唐 輝,等. 物聯(lián)網(wǎng)架構(gòu)和智能信息處理理論與關(guān)鍵技術(shù)[J].計(jì)算機(jī)科學(xué),2011,38(8):1-8.
[3] Zhang Xinwen,Aclicmez O,Seifert J P.A trusted mobile phone reference architecture via secure kernel[C]∥Proceedings of the 2007 ACM Workshop on Sealable Trusted Computing,Alexan-dria,Virginia,USA:ACM,2007:7-14.
[4] Winter J.Trusted computing building blocks for embedded Linux based ARM trustzone platforms[C]∥Proceedings of the 3rd ACM Workshop on Scalable Trusted Computing,Alexandria,Virginia,USA:ACM,2008:21-30.
[5] Dietrich K.An integrated architecture for trusted computing for java enabled embedded devices[C]∥Proceedings of the 2007 ACM Workshop on Scalable Trusted Computing,Alexandria,Virginia,USA:ACM,2007:2-6.
[6] Dietrich K.Anonymous credentials for java enabled platfoorm:A performance evaluation[C]∥Proceedings of INTRUST 2010,Oxford,UK:Springer-Verlag,2010:88-103.
[7] 楊 健,汪海航,Wong Flli Fui,等.一個(gè)面向智能電話的移動(dòng)可信平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)科學(xué),2012,39(8):20-25.
[8] Dan Rosenberg. QSEE trustZone kernel integer overow vulnerability[DB/OL].[2014—07—03].http:∥forum.xda-developers.com/galaxysatt/general/qsee-trustzone-kernel-integer-overflowt-2840415;2014;7:1-4.
[9] Google.AndroidNDK [DB/OL].[2015—08—03].http:∥deve-loper.android.com/sdk/ndk/inedx.html.
Design of embedded mobile trusted gateway based on Android system*
CAI Yi-xin, ZHU Jia-gang
(College of IoT Engineering,Jiangnan University,Wuxi 214000,China)
In the past,design of mobile trusted platform is based on terminal design,which is not suitable for mobile IoT,an embedded trusted mobile gateway based on Android system is proposed,which designs a new trusted module combined with the characteristics of trusted platform module(TPM) chip and Android system.In this design,hardware and software system architectures and the detail function of each module in Android system are presented.According to the design trused transformation platform of Cortex—A8 S5PV210 by the chip of Atmel AT97SC3205T,and develop gateway application program on Android system.According to this platform,ZigBee application program is developed this design has high commercial value.
Android system; trusted computing; trusted platform module(TPM) chip
2015—11—09
江蘇省產(chǎn)學(xué)研資助項(xiàng)目(BY2013015—40)
10.13873/J.1000—9787(2016)10—0105—04
TP 368.1
A
1000—9787(2016)10—0105—04
蔡一新(1991-),男,安徽廣德人,碩士研究生,主要研究方向?yàn)榍度胧?、信息安全?/p>