蔡一新, 朱嘉鋼
(江南大學 物聯(lián)網(wǎng)工程學院,江蘇 無錫 214000)
?
基于Android系統(tǒng)嵌入式移動可信網(wǎng)關(guān)設(shè)計*
蔡一新, 朱嘉鋼
(江南大學 物聯(lián)網(wǎng)工程學院,江蘇 無錫 214000)
以往移動可信平臺設(shè)計均以終端設(shè)計為主,不適用于移動物聯(lián)網(wǎng)條件下,提出一種基于Android系統(tǒng)的嵌入式可信移動網(wǎng)關(guān),結(jié)合可信平臺模塊(TPM)芯片與Android系統(tǒng)特有特性,設(shè)計新的可信模塊。本設(shè)計提出Android系統(tǒng)下軟硬件系統(tǒng)架構(gòu)以及每個模塊的詳細功能。根據(jù)設(shè)計利用Atmel AT97SC3205T芯片對Cortex—A8 S5PV210 平臺可信改造,并在Android系統(tǒng)上開發(fā)網(wǎng)關(guān)應(yīng)用程序。根據(jù)此平臺已經(jīng)開發(fā)ZigBee應(yīng)用程序,此設(shè)計有較高的商業(yè)價值。
Android系統(tǒng); 可信計算; 可信平臺模塊芯片
物聯(lián)網(wǎng)(IoT)在傳感技術(shù)、全球定位系統(tǒng)等物理環(huán)境信息采集技術(shù)的基礎(chǔ)上,結(jié)合互聯(lián)網(wǎng)、信息共享、信息傳遞、人工智能和信息感知等技術(shù)實現(xiàn)“物—物”和“人—物”的交互與控制,其中物理的和虛擬的"物"具有身份識別、物理屬性、虛擬特性和智能接口,并和信息網(wǎng)絡(luò)無縫整合[1]。物聯(lián)網(wǎng)[2]是未來互聯(lián)網(wǎng)的重要組成部分,是一個動態(tài)的全球網(wǎng)絡(luò)框架,具有基于標準和公有通信協(xié)議的自組織能力。
移動物聯(lián)網(wǎng)是物聯(lián)網(wǎng)的一個分支,也是無線物聯(lián)網(wǎng)的一個分支。移動物聯(lián)網(wǎng)是指適用于某些移動的特定的場景如高鐵、長途汽車、房車等中的物聯(lián)網(wǎng)網(wǎng)絡(luò),上述場景是隨時運動的,需要通過移動運營商網(wǎng)絡(luò)與因特網(wǎng)中的服務(wù)器相連。在上述環(huán)境中,有一定數(shù)量的監(jiān)控和控制設(shè)備,而這些設(shè)備采集諸多敏感信息如溫度、濕度、有毒氣濃度、火災(zāi)信息等,同時控制設(shè)備掌控所有的智能家電設(shè)備如安防系統(tǒng)、空調(diào)、燈具等等。上述列舉的采集和控制行為直接關(guān)系當前環(huán)境的敏感信息和重要操作,如果信息被惡意篡改或者智能設(shè)備被惡意操作會給上述場景物聯(lián)網(wǎng)網(wǎng)絡(luò)中造成實物損壞,比傳統(tǒng)的安全問題帶來的信息竊取和篡改更加嚴重。如何保證移動物聯(lián)網(wǎng)網(wǎng)絡(luò)安全是急需解決的問題。
當前的移動物聯(lián)網(wǎng)網(wǎng)絡(luò)安全系統(tǒng)主要以防火墻,入侵檢測和病毒防范為主,是基于純軟件的解決方案,這種解決方案存在一定的問題,面對種類繁多的病毒入侵已經(jīng)顯得力不從心,由于安全保護軟件都不能保證自身安全,保障安全只有從硬件和軟件的底層做起,才能有效地確保安全。同時現(xiàn)有的移動可信平臺的解決方案都是解決手機終端的可信計算,并不適合移動物聯(lián)網(wǎng)場景中。 為了解決移動物聯(lián)網(wǎng)面臨的安全問題,本文構(gòu)建基于可信平臺模塊(TPM)芯片的Android系統(tǒng)移動可信網(wǎng)關(guān)用于保護移動物聯(lián)網(wǎng)的安全。
可信物聯(lián)網(wǎng)網(wǎng)絡(luò)組織結(jié)構(gòu)如圖1。

圖1 移動物聯(lián)網(wǎng)結(jié)構(gòu)圖Fig 1 Structure diagram of mobile IoT
在圖1中本文設(shè)計的適用于移動物聯(lián)網(wǎng)的可信網(wǎng)關(guān),在移動的應(yīng)用場景中網(wǎng)關(guān)不能通過傳統(tǒng)的方式連接因特網(wǎng),只能通過運營商的3G/4G無線網(wǎng)連接因特網(wǎng)。本設(shè)計中的網(wǎng)關(guān)搭載的是Android 4.0,而且通過應(yīng)用程序管理控制移動應(yīng)用場景中的其他傳感器和控制設(shè)備。用戶在有運營商網(wǎng)絡(luò)的環(huán)境下可以通過手機上的應(yīng)用控制應(yīng)用場景中的所有設(shè)備或者查看設(shè)備狀態(tài)。在上圖中最為核心的就是可信網(wǎng)關(guān)的構(gòu)建,網(wǎng)關(guān)是保證整個網(wǎng)絡(luò)安全的核心。為了保證移動網(wǎng)關(guān)的安全,本文計劃使用TPM芯片和Android操作系統(tǒng)結(jié)合使用設(shè)計適用于移動物聯(lián)網(wǎng)網(wǎng)關(guān)的嵌入式可信平臺。
移動可信計算可以采用軟件實現(xiàn)、硬件實現(xiàn)、軟硬件結(jié)合實現(xiàn)。Zhang Xinwen等人提出一種內(nèi)核級別的域隔離措施,是擴展基于SELinux的內(nèi)核來提供移動可信模塊(mobile trusted module,MTM)所需的平臺特性[3]。還有兩種重要方案:一是利用ARM公司的TrustZone技術(shù)實現(xiàn)純軟件的MTM可信構(gòu)建塊[4];二是利用基于Java Card技術(shù)的智能卡構(gòu)建安全元來實現(xiàn)MTM[5,6]。文獻[7]提出一種結(jié)合TrustedZone和Java Card技術(shù)的可信移動終端架構(gòu)。上面幾種方案在安全等級上是不同的,根據(jù)文獻[7]提出了3種移動設(shè)備的安全等級要求,本文根據(jù)可信嵌入式設(shè)備的安全特點,劃分以下三個等級,如表1。
文獻[3~6]提出的方案只滿足最低一種安全級別,在可信移動網(wǎng)關(guān)的高安全性的要求下,需要滿足更高的要求。雖然文獻[7]提出的方案滿足安全級別2,但是TrustZone技術(shù)在實現(xiàn)上暴露出安全性問題,Dan Rosenberg在文獻[8]中指出高通曉龍系列中所有依靠TrustZone安全技術(shù)Android設(shè)備都出現(xiàn)重大安全漏洞,系統(tǒng)安全機制被破壞。雖然高通公司及時發(fā)布通告解決此次漏洞,但是TrustZone技術(shù)的安全性能值得我們懷疑。因此本文提出基于TPM芯片和Android操作系統(tǒng)的移動可信網(wǎng)關(guān)解決方案,滿足安全等級2完全滿足移動物聯(lián)網(wǎng)可信網(wǎng)關(guān)的安全要求。

表1 可信體系結(jié)構(gòu)的安全特點
在移動物聯(lián)網(wǎng)中的可信網(wǎng)關(guān)本文也計劃選擇搭載Android操作系統(tǒng)。由于Android操作系統(tǒng)可以通過Android NDK(Android native development kit)[9]技術(shù)調(diào)用C語言編寫函數(shù)庫,解決Java計算效率低的問題。
因此,可以構(gòu)建基于Android操作系統(tǒng)的可信計算平臺架構(gòu)。Android可信計算平臺整體架構(gòu)如圖2所示。

圖2 Android可信計算平臺整體架構(gòu)Fig 2 Overall architecture of Android trusted computing platform
本設(shè)計平臺由6個主要部分組成如圖2所示??尚庞嬎銘?yīng)用程序模塊是為應(yīng)用主體提供可信計算服務(wù),其調(diào)用圖2中協(xié)議算法、可信芯片API和計算庫API中的函數(shù)庫編寫可信計算應(yīng)用程序。協(xié)議算法使用JAVA語言編寫,為可信計算應(yīng)用程序模塊提供算法支持??尚判酒珹PI同樣使用JAVA編寫,封裝TPM芯片中的密碼學函數(shù)庫。計算庫API是用JAVA編程,將計算API中的算法利用NDK技術(shù)封裝成函數(shù)接口。
計算API利用Android NDK技術(shù),將需要大量運算的算法程序用C語言編寫。
硬件平臺是由ARM處理器核心板為主體,外設(shè)多個模塊,包括TPM可信計算芯片、USIM卡模塊、WiFi模塊等等。TPM芯片通過I2C總線和ARM處理器的處理芯片相連,然后提供可信芯片相關(guān)可信服務(wù)。
3.1 可信信任鏈
TPM芯片依據(jù)TPM規(guī)范生產(chǎn)的安全芯片,含有密碼運算器和安全存儲區(qū)域??梢詫崿F(xiàn)的功能包括:數(shù)字摘要、簽名與認證、密鑰生成及隨機數(shù)生成、存儲保護和安全審計,并具有可信校驗啟動功能。可信信任鏈建立是嵌入式設(shè)備可信改造的重要步驟,可信平臺的可信傳遞源于可信信任鏈的建立,可信信任鏈的建立??尚判湃捂溄⑦^程如圖3所示。

圖3 信任鏈建立過程Fig 3 Establishment process of trust chain
圖3顯示的是可信根信任鏈建立過程,CRTM(Core Root of Trust Measurement)是可信量度根,也是信任鏈的開始點。網(wǎng)關(guān)硬件平臺上電后,最先加載CRTM,通過校驗平臺配置注冊表(platform configuration register,PCR)中的校驗值驗證Bootloader中Stage1代碼段完整性和安全性。Stage1是靠近硬件常用匯編部分實現(xiàn),用以執(zhí)行簡單的硬件初始化與配置,包括設(shè)置嵌入式CPU 中若干控制寄存器、設(shè)置內(nèi)存和堆棧、變量的初始化及執(zhí)行方式等。接下來驗證過程同樣通過PCR中的校驗值一級級校驗代碼段,確保Android操作系統(tǒng)可信啟動。
3.2 MTM
MTM是2006年TCG[3]規(guī)范提出的,為可信計算應(yīng)用到移動設(shè)備領(lǐng)域提供理論指導(dǎo)。MTM規(guī)范是基于TPM VI.2規(guī)范上構(gòu)建的,可以將MTM看成是更適合移動平臺的特殊TPM[4]。
在移動網(wǎng)關(guān)中如何實現(xiàn)移動可信模塊是關(guān)鍵點之一,TCG標準[3]在文中只是描述MTM 需要滿足的特性并沒有給出具體的MTM的實現(xiàn)方法。由于網(wǎng)關(guān)的特性決定網(wǎng)關(guān)可以搭載大容量電池,故采用嵌入式TPM芯片結(jié)合使用已存在的軟件庫實現(xiàn)MTM是可行的方案。利用TPM芯片建立可信信任鏈可以保證MTM軟件模塊不被入侵篡改與破壞,從而確保MTM安全性。由于網(wǎng)關(guān)搭載的是Android操作系統(tǒng),可以將所有C語言編寫函數(shù)庫都存儲為動態(tài)鏈接庫(SO文件),通過對SO文件的完整性校驗實現(xiàn)對其的可信驗證,在具體實施上可行。
3.3 安全性分析與方案對比
本文提出的可信移動網(wǎng)關(guān)解決方案與前述幾種方案在幾個重要的安全性上進行詳細比較,如表2。

表2 方案對比分析
3.4 可信移動網(wǎng)關(guān)實現(xiàn)
本文提出了一種基于Android和TPM芯片的移動物聯(lián)網(wǎng)網(wǎng)關(guān)可信平臺設(shè)計,并對其各個模塊的可行性進行了分析。在此架構(gòu)下,可以認為移動平臺經(jīng)過驗證后是可信的.且現(xiàn)有技術(shù)方案已可以滿足可信計算平臺的技術(shù)需求。
TPM芯片通過IIC總線與主控制器通信,本設(shè)計使用是基于ARM V7架構(gòu)Cortex—A8應(yīng)用處理器,使用是三星公司推出的S5PV210處理器。本架構(gòu)方式實施過程使用的是ATMEL型號為AT97SC3205T的TPM芯片,是ATMEL出品最新的TPM芯片。AT97SC3205T與ARM處理器通信通過I2C總線,故需要在底板上焊接一個5針的插槽。

圖4 AT97SC3205T外接插槽Fig 4 AT97SC3205T external slot
在本設(shè)計中AT97SC3205T的外接模塊暫時使用Atmel的TPM開發(fā)板Atmel TPM I2C/SPI Development Kit代替。
同時在網(wǎng)關(guān)底板上添加ZigBee芯片CC2530的接口,使用UART串口與核心板通信??尚啪W(wǎng)關(guān)實物圖如圖5所示。

圖5 可信嵌入式網(wǎng)關(guān)實物圖Fig 5 Physical map of trusted embedded gateway
3.5 設(shè)計驗證與結(jié)果分析
本設(shè)計采用Uboot作為Bootloader,內(nèi)核版本為Android 的Linux Kernel 3.0.8,主要驗證TPM安全芯片在本設(shè)計中工作狀態(tài)。具體的驗證步驟如下:
1)在可信改造Uboot之后,網(wǎng)關(guān)平臺在啟動的時候向TPM發(fā)送TPM_StartUP指令,通過返回的值判斷TPM是否可以正常工作。TPM_Startup 命令就是啟動TPM。這個命令必須在通上電源或者復(fù)位后執(zhí)行。TPM_Startup在復(fù)位或者上電后只能執(zhí)行一次,TPM_SUCCESS返回0x 00000000,如圖6。

圖6 TPM_Startup命令Fig 6 TPM_Startup command
2)通過TPM芯片實現(xiàn)可信信任鏈的建立,通過SHA—1操作將結(jié)果擴展到PCR中,選擇一個PCR存儲散列值。在校驗啟動中向TPM發(fā)送0X00C10000000A0000000A返回的值如圖7所示。

圖7 PCR1讀取內(nèi)容Fig 7 PCR1 read-out content
上述實驗驗證說明本設(shè)計的核心組件TPM可信啟動與校驗在本網(wǎng)關(guān)工作平臺上是正常工作的。在可信改造過后需要實現(xiàn)Android的計算機庫API和計算機接口。
就上述移動物聯(lián)網(wǎng)可信網(wǎng)關(guān)的設(shè)計,本文作者已經(jīng)完成了基于Android系統(tǒng)的ZigBee網(wǎng)關(guān)的開發(fā)設(shè)計工作。
TPM可信根啟動部分也已經(jīng)測試通過,現(xiàn)在著手實現(xiàn)基于Android的計算庫API和計算函數(shù)庫的實現(xiàn)。針對上述可信平臺架構(gòu),本文作者已著手實現(xiàn)基于此架構(gòu),將現(xiàn)有嵌入式設(shè)備實現(xiàn)可信計算,然后結(jié)合Android系統(tǒng)實現(xiàn)移動可信網(wǎng)關(guān)平臺,保護移動物聯(lián)網(wǎng)內(nèi)的信息安全。
[1] 楊 靜,辛 宇,謝志強,面向物聯(lián)網(wǎng)傳感器事件監(jiān)測的雙向反饋系統(tǒng)[J].計算機學報,2013,36(3):506-520.
[2] 趙志軍,沈 強,唐 輝,等. 物聯(lián)網(wǎng)架構(gòu)和智能信息處理理論與關(guān)鍵技術(shù)[J].計算機科學,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,等.一個面向智能電話的移動可信平臺設(shè)計[J].計算機科學,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)學研資助項目(BY2013015—40)
10.13873/J.1000—9787(2016)10—0105—04
TP 368.1
A
1000—9787(2016)10—0105—04
蔡一新(1991-),男,安徽廣德人,碩士研究生,主要研究方向為嵌入式、信息安全。