曹基宏,李謝華,許名松,范 卿
(湖南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙410082)
移動終端正逐步取代PC成為人機接口的主要設(shè)備,3G時代的到來,移動終端變得更加智能化,能夠處理語音和數(shù)據(jù)通信,本質(zhì)上已經(jīng)成為一個 “微型電腦”[1]。由于采用了開放的操作系統(tǒng),可以像PC一樣自由安裝第三方軟件,因此,伴隨各種數(shù)字業(yè)務(wù)的興起,移動終端將面臨著越來越多的安全威脅[2]??尚庞嬎慵夹g(shù)是目前信息安全領(lǐng)域研究的熱點,已成功應(yīng)用于PC的安全防護。2004年,NTT,IBM,Intel等公司提出了可信移動平臺 (trusted mobile platform,TMP)項目,以可信計算組織TCG的可信平臺模塊 (trusted platform module,TPM)為基礎(chǔ),提出了可信移動平臺的軟件、硬件體系結(jié)構(gòu)和協(xié)議規(guī)范[3-6],用于解決移動終端的安全問題。
針對移動平臺,信任鏈的建立和傳遞是其中的關(guān)鍵技術(shù)之一,是實現(xiàn)移動終端可信的重要前提。國內(nèi)外眾多研究機構(gòu)、學(xué)者已經(jīng)對該領(lǐng)域開展了許多研究工作,并取得了一定的成果:2007年6月,TCG發(fā)布了專門針對移動平臺特點的MTM (mobile trusted module)移動參考架構(gòu)[7],2008年又發(fā)布了MTM規(guī)范[8],設(shè)計了一種鏈?zhǔn)降男湃蝹鬟f機制。Andreas U.Schmidt等針對移動平臺可信啟動之后的若干信任傳遞,尤其是可信子系統(tǒng)的轉(zhuǎn)移問題進行了研究[9]。Johann Gro?sch?dl等在信任鏈傳遞過程中提出了采用ECC算法的設(shè)想[10]。鄭宇等將平臺的信任傳遞與用戶認證相結(jié)合,提出了一種用戶、USIM和TPM相互認證的方案,強化了用戶域的安全[11]。陳書義針對可信移動平臺引導(dǎo)過程存在的安全漏洞,改進了平臺的引導(dǎo)過程[12]。本文在深入研究可信計算理論的基礎(chǔ)上結(jié)合移動終端平臺特點,針對移動終端可信傳遞存在的不足,從安全和可靠的角度出發(fā),設(shè)計一條完整的信任鏈模型,實現(xiàn)信任傳遞從啟動到應(yīng)用程序運行整個過程中平臺的安全可信。
信任鏈?zhǔn)窃谟嬎阆到y(tǒng)啟動和運行的過程中,使用完整性度量的方法在部件之間所建立的信任傳遞關(guān)系。信任鏈的建立與傳遞涉及到3個方面:信任根、可信傳遞、可信測量,它們是保證平臺可信的根本,也是實現(xiàn)平臺可信的理論基礎(chǔ)[13]。
TCG認為一個可信計算平臺必須包括3個信任根:可信測量根 (root of trust for measurement,RTM)、可信存儲根 (root of trust for storage,RTS)和可信報告根 (root of trust for reporting,RTR),信任根的可信性由物理安全和管理安全確保??尚庞嬎闫脚_對請求訪問的實體進行可信測量,并存儲測量結(jié)果,實體詢問時平臺提供報告,以此來判斷平臺當(dāng)前狀態(tài)是否可信[14],三者之間的關(guān)系如圖1所示。
圖1 信任根關(guān)系
在可信計算體系中建立可信,需先擁有可信根,然后建立一條信任鏈,再將信任傳遞到系統(tǒng)的各個組件,之后就能建立整個系統(tǒng)的可信。在移動終端信任鏈的傳遞理論方面,同樣,平臺的可信傳遞是由一個可信根 (節(jié)點0)出發(fā),由這個可信任根來驗證另一個節(jié)點1,節(jié)點1在可信的情況下,再由這個可信節(jié)點1來驗證另一個節(jié)點2,如此反復(fù)直至節(jié)點N。使得可信任節(jié)點集合從最初的 {節(jié)點0}逐步增長為 {節(jié)點0,…,節(jié)點N}。其中可信節(jié)點i(i=0,1,…,N-1)驗證節(jié)點i+1,從而使原來不可信任節(jié)點i+1也成為可信任節(jié)點,該過程稱為信任傳遞的過程。
在信任的傳遞模型中有一個重要的前提,即系統(tǒng)中存在可信根,系統(tǒng)從可信根開始,一級校驗一級,一級信任一級,形成一條可信鏈[15]。根據(jù)TCG規(guī)范,可信根被無條件信任是由一系列證書保證的,一個系統(tǒng)的啟動過程也就是一條可信鏈的傳遞過程,TCG給出了移動平臺上的可信鏈傳遞的框架和實施機制如圖2所示。
圖2 終端的可信傳遞
可信測量是可信計算的基礎(chǔ),由于可信性目前尚不易直接度量,所以TCG在信任鏈中采用的是度量數(shù)據(jù)完整性,而且通過校驗數(shù)據(jù)哈希值的方法來度量數(shù)據(jù)的完整性??尚庞嬎憬M織制定了一種鏈?zhǔn)降男湃螠y量模型,測量代理測量文件的Hash值,并收集組成測量列表,它代表證實系統(tǒng)的完整性歷史。采用迭代計算哈希值如式 (1)所示的方法,即將現(xiàn)值與新值級聯(lián),再計算哈希值并作為新的完整性度量值存儲起來,有效維護了測量列表的完整性。
通過分析現(xiàn)有信任鏈模型,直接應(yīng)用于移動終端將會出現(xiàn)以下問題:
(1)由于RTS和RTR存儲在可信平臺模塊TPM中,其安全性和可信性受到TPM芯片的硬件保護,在可信PC上,RTM作為BIOS之前執(zhí)行的程序,不容易被外界訪問,安全性較高,但是嵌入式系統(tǒng)的Bootloader卻能被輕易修改,這就加重了RTM在嵌入式系統(tǒng)中自身安全性的隱患,信任根本身受到攻擊或篡改,必定會導(dǎo)致整個平臺的可信度降低。
(2)信任鏈?zhǔn)且粋€單向傳遞的,其間任意一個節(jié)點出現(xiàn)問題,尤其是信任根出現(xiàn)問題,會導(dǎo)致整個可信環(huán)境建立失敗。根據(jù)Dempster-Shafer信任傳遞理論,影響平臺可信度的主要因素即信任鏈長度,信任值在傳遞過程中會有損耗,隨著傳遞的路徑越長,則損耗越大。
(3)按照TCG的測量模型,可信測量只是系統(tǒng)開機時的系統(tǒng)資源靜態(tài)完整性測量,只能確保系統(tǒng)開機時的系統(tǒng)資源靜態(tài)完整性,并不是系統(tǒng)工作后的動態(tài)可信測量。在以后的運行中,特別是各類軟件的運行,單純依靠軟件代碼靜態(tài)完整性度量確保軟件代碼動態(tài)運行的可信性是有缺陷的,黑客在不破壞軟件代碼靜態(tài)完整性情況下也能使軟件處于非可信狀態(tài),因此,保護移動終端在運行中的安全,需要有動態(tài)的監(jiān)控機制,從而確保系統(tǒng)的動態(tài)可信性。
針對移動終端信任傳遞過程存在的缺陷,從安全、可靠的角度出發(fā),設(shè)計了全新的信任傳遞的模型。通過信任鏈理論分析,此模型能夠有效的解決信任度降低的問題,并且能增強了平臺的可靠性,經(jīng)過信任鏈的傳遞不僅能確保系統(tǒng)啟動時的靜態(tài)可信性,而且也能保障應(yīng)用程序運行中的動態(tài)可信性。
安全的引導(dǎo)過程是保證移動平臺可信的基礎(chǔ),經(jīng)過安全引導(dǎo),能夠建立起可信的程序執(zhí)行環(huán)境。TCG規(guī)范中提出的是鏈?zhǔn)降囊龑?dǎo)過程,后一組件只有在前一組件測量,驗證后是可信的狀態(tài)下,控制權(quán)才會交給后一組件,通過逐級傳遞將這種信任關(guān)系擴展到整個平臺。但是隨著信任鏈長度的增加信任值會下降,導(dǎo)致平臺的可信度降低。
本文設(shè)計了具有備份數(shù)據(jù)恢復(fù)功能的信任傳遞模型,將RTM和RTV放入受MTM保護的區(qū)域中,最大限度保護可信信任根的安全,MTM在啟動時若檢測到平臺的OS、Bootloader等關(guān)鍵重要組件受到攻擊并被篡改時,不僅阻止平臺的進一步運行,而且將會啟動備份恢復(fù)機制,從而保證平臺的正常工作不受干擾。通過在平臺內(nèi)部添加一個受MTM保護的備份存儲器,保存系統(tǒng)OS、Bootloader等希望被保護的內(nèi)容代碼。具體引導(dǎo)過程如圖3所示。
圖3 帶恢復(fù)功能的信任傳遞過程
可信移動終端帶恢復(fù)功能的信任結(jié)構(gòu)以MTM為可信根,作為整個嵌入式平臺的可信測量和控制器,嵌入式平臺作為從設(shè)備受MTM的管理和控制,MTM啟動后,只有身份信息和存儲器內(nèi)容的完整性驗證完成之后,可信的代碼才能在嵌入式平臺上執(zhí)行。
在平臺啟動時,對加載的組件進行完整性測量/驗證,對受到攻擊或篡改的組件進行了恢復(fù),保證了系統(tǒng)的正常啟動過程不受到干擾,表明了啟動過程和用戶的權(quán)限通過了可信根的驗證,但是只是開機時的系統(tǒng)資源靜態(tài)完整性測量,只能確保系統(tǒng)開機時的系統(tǒng)資源靜態(tài)完整性,并不是系統(tǒng)工作后的動態(tài)可信測量,因此尚不能確保系統(tǒng)工作后的動態(tài)可信性。經(jīng)過分析,在可信啟動之后,系統(tǒng)感染病毒的主要途徑是通過各種應(yīng)用與外界交互,需要有一種動態(tài)的可信檢測機制,能夠?qū)\行中的應(yīng)用程序進行動態(tài)的監(jiān)控和行為的限制,來保證移動終端在運行中的安全,因此采用動態(tài)的檢測機制也是對靜態(tài)完整性測量的有效擴展。
行為檢測法是常用的一種殺毒技術(shù),利用病毒的特有行為特征性來檢測病毒,當(dāng)程序運行時,監(jiān)視其行為,如果發(fā)現(xiàn)病毒行為,立即報警。TCG提出的 “可信計算”從行為的角度給出實體可信的定義,強調(diào)行為的可預(yù)測性和可控性,因此,可信的移動終端要求參與計算的組件和操作在任意的條件下都是可預(yù)測的,可以將這些可預(yù)測的所有操作,定義為一個集合,即對應(yīng)某個或某些軟件全部功能的列表 (function list,F(xiàn)L)。對于系統(tǒng)要執(zhí)行的每次操作如果都在這一功能列表中,則允許其執(zhí)行,除此之外的任何操作都視為不可信的,將阻止其執(zhí)行并報警??尚艖?yīng)用的具體模型設(shè)計如圖4所示。
圖4 安全應(yīng)用模型
功能列表的內(nèi)容包括:進程對系統(tǒng)API的調(diào)用,存儲區(qū)的訪問,數(shù)據(jù)傳輸,允許的操作等。平臺啟動之后,系統(tǒng)自動初始化該功能列表,為防止功能列表被篡改,MTM負責(zé)對FL的保護。行為監(jiān)測模塊實時監(jiān)控程序的動態(tài),在代碼運行過程中發(fā)現(xiàn)并阻止不在功能列表中的操作,由于它不考慮惡意代碼的特征,因此避免了大量的特征碼計算比較的工作量以及特征庫的存儲空間,適合移動終端的這樣資源有限的平臺。軟件從啟動到運行,具體流程如圖5所示。
完整信任鏈模型采用靜態(tài)測量與動態(tài)檢測相結(jié)合的機制,能有效提高平臺的安全性和可靠性。采用基于Dempster-Shafer原理計算信任值的方法驗證分析,其中兩條原則如下[16]:
(1)信任衰減原則:節(jié)點A經(jīng)節(jié)點B傳遞到C節(jié)點的信任值為TB(A,C),則TB(A,C)≤min(T (A,B),T (B,C))。
圖5 軟件的運行流程
(2)信任聚合原則:節(jié)點A到節(jié)點D的信任值為T(A,D),則T (A,D)≥max (TB(A,D),TC(A,D))。
圖6 信任基本規(guī)則
對于靜態(tài)信任傳遞過程的分析可以采用Dempster-Shafer原理,靜態(tài)的可信根直接測量/驗證模型如圖3所示。分析過程如下:
假設(shè),節(jié)點A、B、C、D依次代表MTM、bootloader、OS、應(yīng)用程序。由于從信任根到各個節(jié)點的信任傳遞,只經(jīng)過單個路徑,且各節(jié)點之間相互獨立。根據(jù)Dempster-Shafer原理的信任衰減原則,TB(A,C)≤T (A,C),同理,TBC(A,D)≤T (A,D),所以最終信任值不會小于max (T (A,B),T (A,C),T (A,D))。因此,采用可信根直接測量/驗證模型能夠保持可信測量過程的信任值不受損失。
其次,采用動態(tài)的信任機制,假設(shè)定義所有的軟件代碼構(gòu)成的集合為其中ei,1≤i≤n為任意一個待載入的軟件代碼,并對應(yīng)一個期望的功能列表在運行過程中實際操作記為:o′im,m為正整數(shù),對于ei∈E的實際過程操作:①o′im∈FL則執(zhí)行可信的操作,允許執(zhí)行;②o′imFL則執(zhí)行不可信的操作,將于阻止并警告;
采用該機制能有效避免單純依靠測量軟件代碼靜態(tài)完整性的脆弱性,應(yīng)用程序的運行按照預(yù)期的可信操作執(zhí)行,阻止非法的操作,同樣在可信的范圍之內(nèi),確保系統(tǒng)的動態(tài)可信性。與現(xiàn)有的信任鏈模型相比本文提出的完整信任鏈模型具有以下優(yōu)點:①減少信任傳遞路徑,有效的降低了信任值在傳遞過程中的損耗,增加平臺的可信度;②在移動終端平臺中,主要的可信根RTM得到了MTM的硬件保護,從而在源頭上解決了可信根的安全問題;③在啟動的過程中,發(fā)現(xiàn)不完整的組件,則自行啟動恢復(fù)功能,保證系統(tǒng)啟動過程不受干擾,增強平臺的可靠性;④各個組件之間相互獨立,添加和刪除組件以及軟件版本升級,不會影響整個信任鏈,較之TCG鏈?zhǔn)降男湃谓Y(jié)構(gòu)版本更新更加方便。
為驗證本文提出的完整性信任鏈模型的安全性及可行性,利用ARM微處理器來搭建MTM模塊并模擬安全芯片的功能,對平臺的靜態(tài)信任傳遞過程進行了實驗檢驗。其中RTM、RTV在芯片內(nèi)部有指定程序完成,移動平臺啟動前Flash中的代碼分區(qū)如表1所示。
表1 Flash中代碼分布
首先,測量根RTM采用sha1算法對組件進行度量,將測量值存儲在PCR中,然后,驗證根RTV校驗測量值與參考值是否相等。具體數(shù)據(jù)分析如圖7、圖8所示,首先輸出的是平臺組件的參考值,其中圖7表示正常情況下安全啟動的可信測量并驗證結(jié)果,圖8是Kernel被篡改之后的驗證結(jié)果。由圖可知,Kernel部分的測量sha值發(fā)生了改變,結(jié)果校驗未通過,因此該方案能夠靈敏的發(fā)現(xiàn)被病毒或惡意代碼修改的代碼部分,從而進一步證實了所提出方案的正確性。
圖7 未篡改的測量驗證結(jié)果
圖8 篡改后的結(jié)果
關(guān)于測量和驗證的時間如表2所示,各個組件的測量/驗證過程所消耗的時間不等,內(nèi)核空間最大,耗時也最長,在移動平臺上增加可信的功能共需約3.7s的時間。
表2 各組件的運行時間
可信計算技術(shù)是解決目前日益突出的移動終端安全問題的主要途徑,具有高安全性能的移動終端更加適合下一代移動通信系統(tǒng)的要求。本文分析目前移動平臺信任傳遞存在的諸多缺陷,針對移動終端的特點及安全需求,提出的基于可信根直接測量/驗證和動態(tài)檢測機制相結(jié)合的完整信任鏈模型。通過信任鏈理論分析,實現(xiàn)信任傳遞從啟動到應(yīng)用程序運行整個過程中平臺的安全可信,能夠有效提高平臺的安全性和可靠性??尚艈訌娬{(diào)了系統(tǒng)的運行環(huán)境和靜態(tài)的完整性,使用行為監(jiān)測確保應(yīng)用的動態(tài)完整性,兩者結(jié)合在一起代表了移動平臺對系統(tǒng)的完整性支持功能和安全機制的增強。
[1]Muthukumaran D,Sawani A,Schiffman J.Measuring integrity on mobile phone systems[C].Proceedings of the 13th ACM Symposium in Access Control Models and Technologies,2008:155-164.
[2]MPWG.Mobile phone work group selected use case analyses-v 1.0 [EB/OL].http://www.trustedcomputinggroup.org/resources/mobile_phone_work_group_selected_use_case_analysis_specification_version_10,2009.
[3]TMP.Trusted mobile platform hardware architecture description [EB/OL ].http://www.trustedmobile.org/TMPHWAD-rev1-00.pdf,2004.
[4]TMP.Trusted mobile platform software architecture description [EB/OL ].http://www.trustedmobile.org/TMPSWAD-rev1-00.pdf,2004.
[5]TMP.Trusted mobile platform hardware architecture description [EB/OL].http://www.trustedmobile.org/TMP-Protocol-rev1-00.pdf,2004.
[6]OMTP.Open mobile terminal platform group [EB/OL].http:∥www.omtp.org/wgs-recommendations.html#t rusted,2005.
[7]TCG.Mobile reference architecture specification version 1.0revision 1[EB/OL].http://www.trustedcomputinggroup.org/developers/mobile,2007.
[8]TCG.Mobile trusted module specification version 1.0revision 6 [EB/OL].http://www.trustedcomputinggroup.org/developers/mobile,2008.
[9]Schmidt A U,Kuntze N,Kasper M.On the deployment of mobile trusted modules [C].Las Vegas:Proceedings IEEE Wireless Communications and Networking Conference,2008:3169-3174.
[10]Grossschadl J,Vejda T,Page D.Reassessing the TCG specification for trusted computing in mobile and embedded systems[C].Anaheim:Proceeding IEEE Hardware-Oriented Security and Trust,2008:84-90.
[11]ZHENG Yu,HE Dake,HE Mingxing.Trusted computing based user authentication for mobile equipment [J].Chinese Journal of Computers,2006,29 (8):1255-1264 (in Chinese).[鄭宇,何大可,何明星.基于可信計算的移動終端用戶認證方案 [J].計算機學(xué)報,2006,29 (8):1256-1264.]
[12]CHEN Shuyi,WEN Yingyou,ZHAO Hong.Conceptual design of trusted mobile platform [J].Journal of Northeastern University(Natural Science),2008,29 (8):1096-1099 (in Chinese).[陳書義,聞英友,趙宏.基于可信計算的移動平臺設(shè)計方案[J].東北大學(xué)學(xué)報,2008,29 (8):1096-1099.]
[13]WANG Jiangshao,YU Zong,LI Guang.Study of trusted chain technology of computing trusted [J].Computing Engineering and Design,2008,29 (9):2195-2198 (in Chinese).[王江少,余綜,李光.可信計算之信任鏈技術(shù)研究 [J].計算機工程與設(shè)計,2008,29 (9):2195-2198.]
[14]TCG specification architecture overview [EB/OL].http://www.trustedcomputinggroup.org/resources/tcg_architecture_overview_version_14,2007.
[15]XIAO Xi,HAN Jun,WANG Lunwei.Research on key mechanism of trusted computing platform [J].Journal of Information Engineering University,2007,8 (2):217-220 (in Chinese).[肖曦,韓軍,汪倫偉.可信計算平臺關(guān)鍵機制研究 [J].信息工程大學(xué)學(xué)報,2007,8 (2):217-220.]
[16]ZHAO Bo,ZHANG Huanguo,LI Jing,et al.The system architecture and security of trusted PDA [J].Chinese Journal of Computers,2010,33 (1):82-92 (in Chinese).[趙波,張煥國,李晶,等.可信PDA計算機平臺系統(tǒng)結(jié)構(gòu)與安全機制 [J].計算機學(xué)報,2010,33 (1):82-92.]