游曉黔,周韞藝
(重慶郵電大學 計算機科學與技術學院,重慶 400065)
可信計算是由可信計算組織(TCG)推動發展的。可信計算組織由Intel、IBM、微軟等200多家IT公司組成。根據TCG的描述,“可信”被描述為”An entity can be trusted if it always behaves in the expected manner for the intended purpose”[1]。這個定義與當前的安全技術有所區別。從技術角度來講,“可信的”未必意味著對用戶而言是“值得信賴的”。它強調行為結果的可預期性和可控制性。確切地講,它意味著可以充分相信其行為會更全面地遵循設計,而執行設計者和軟件編寫者所禁止的行為的概率很低。
可信計算的目的是保護最敏感的信息,如私鑰和對稱密鑰不被竊取或者不被惡意代碼使用。可信計算假設了客戶端軟件在其使用的過程中可能會遭到木馬、病毒等的惡意破壞,當這種情況發生時,敏感的信息將會被保護起來。可信計算的技術核心是TPM(Trusted Platform Module)。一般來說,它是一個嵌入系統的獨立的密碼芯片。TPM通過如下方式保護終端安全:1)保護私鑰安全;2)檢測惡意代碼;3)阻止惡意代碼使用私鑰;4)保證加密密鑰安全。而TCG芯片通過以下3個主要功能來達到這些目標:1)公鑰認證功能;2)完整性度量功能;3)證明功能。
與互聯網相比,物聯網的連接對象擴大到了物。根據功能的不同,物聯網網絡體系結構大致分為3個層次:底層是用來信息采集的感知層;中間是數據傳輸的網絡層;頂層是應用/中間件層[2]。文獻[3]給出了一個物聯網安全層次模型及體系結構,根據物聯網的3層體系結構,將物聯網安全架構相應地分為感知層安全、網絡層安全和應用層安全,如圖1所示[3]。

下面,從物聯網的3層安全結構出發,分別闡述每層的安全問題以及可信計算的應用方向。
物聯網感知層的任務是實現智能感知外界信息功能,包括信息采集、捕獲和物體識別,其典型設備包括各類傳感器、RFID裝置、圖像捕捉設備和聲音捕捉設備等[3]。由于該層設備直接對物體、信息等敏感數據進行采集和感知,該層結構受到攻擊時,容易導致隱私泄露等重大問題,易造成重大損失。
目前研究的方向主要是通過TPM,在平臺間進行完整性證明,通過平臺間相互證明彼此是“可信的”,防止了被侵入者或者惡意代碼竊取了敏感數據。文獻[4]提出了一種使用可信計算、平臺間相互驗證的協議,它通過TPM對各自平臺進行完整性度量后,當有一方發起訪問的時候,通過交換各自的完整性報告,報告了各自的環境,證明彼此是“可信的”之后,才允許交換數據。
物聯網網絡層主要實現信息的轉發和傳送,它將從感知層采集的信息傳送到終端,供終端分析和處理,其基礎網絡主要是互聯網,也可以是具體的某個行業的網絡。該層的安全主要體現在物聯網本身的架構、接入方式和各種設備的安全問題以及數據傳輸時的網絡相關安全[3]。2008年,TCG提出了可信網絡連接架構(TNC)。TNC是對可信計算應用的一次擴展,它不僅僅使得可信計算適用于平臺安全,也是可信計算機制與網絡接入機制的結合。TNC旨在將終端的可信狀態擴展到網絡端,使得信任鏈從終端擴展到網絡中,其基本思想是在終端接入網絡之前,首先對終端平臺進行身份驗證,如果驗證通過,則對終端平臺的狀態進行可信度量,如果度量結果滿足網絡接入安全策略,則允許終端接入網絡,否則將終端隔離到指定的隔離區域,對其進行修補和升級。TNC是網絡接入控制的一種實現方式,是一種主動性的防御方式,能夠在發生之前抑制大部分的潛在攻擊[5]。
目前有一些針對該層安全協議的研究。文獻[6]利用可信計算技術和雙線性對的簽密方法提出了一個物聯網安全傳輸模型,滿足了物聯網的ONS查詢以及物品信息傳輸兩個環節的安全需求,在該協議中通過引入可信第三方——可信認證服務器,對查詢者的身份合法性以及平臺可信性進行驗證,增強了可靠性以及安全性。
本層的安全主要著力在終端的信息安全與隱私保護。目前,IBM,HP等廠商都已經推出了符合TCG1.2規范的PC。在研究方面,文獻[7]提出了通過建立可信計算環境,對手機終端進行內容保護的機制。文獻[8]介紹了其利用可信性計算思想構造的可信PDA的體系結構和安全機制,并在此基礎上研制出了我國第一款可信PDA的原型機。
綜上所述,通過在物聯網安全結構中引入可信計算思想,可以構建出一個“可信的物聯網”,這包含了兩層含義:1)終端平臺在接入物聯網前,其本身是可信的;2)在數據傳輸、處理、交互的過程中,各個終端平臺是可信的。通過引入可信計算,構建一個可信的物聯網安全架構,對物聯網的安全性、可靠性都會是一個極大的提高。后文將會提出一種基于可信計算的安全模型。
如上所述,物聯網感知層的任務是實現智能感知外界信息功能,包括信息采集、捕獲和物體識別。RFID技術是一種被廣泛使用的無線識別技術。RFID閱讀器與RFID標簽通過無線信號連接。RFID標簽通常很小,因此可以被部署在很多的應用中,比如門禁系統、電子車票等。
由于RFID技術方便快捷,因而被廣泛應用。但是由于RFID系統中,標簽跟閱讀器通過無線射頻信號傳送數據,因此很容易被外來的閱讀器竊聽到信號,造成數據和隱私的泄露,任何惡意的閱讀器都可以對RFID系統發起中間人攻擊。通過引入可信計算,可以在RFID標簽以及閱讀器之間引入可信身份驗證,通過身份驗證,確保RFID標簽的信息能夠被正確的閱讀器讀取,避免惡意的閱讀器竊取重要信息,同時TPM可以對平臺本身的運行環境進行可信度量,確保平臺自身的信息安全不被惡意代碼等攻擊手段攻擊,造成信息的泄露。這樣可以使得RFID系統符合上文提出的“可信物聯網”的兩個原則,即平臺可信和傳輸可信。
目前已經有不少關于RFID協議方面的研究。文獻[9]提出了一種使用AES加密進行相互授權的RFID協議。在這個協議中,后臺服務器與RFID標簽通過RFID閱讀器交換數據。然而這個協議的主要問題是由于RFID閱讀器在交換數據的時候,沒有采取任何安全措施,使得它易于遭受中繼攻擊和中間人攻擊。文獻[10]提出了一種基于哈希函數的方法,RFID標簽通過meterID與閱讀器交互。其中meterID是標簽與服務器的共享私鑰的哈希值。這個協議部分滿足了RFID協議的安全要求,但是由于共享的密鑰沒有加密保存,也沒有任何的安全措施,導致標簽很容易被單個追蹤。而且這個協議很容易遭受重放攻擊。文獻[11]提出了另外一個基于哈希函數的協議——非確定性輕量級協議(Non-Deterministic Lightweight Protocol)。該協議依賴于時間戳,因此其最大的問題是時鐘同步的問題,因為不同的標簽可能會有不同的時鐘設置。文獻[12]提出了一種使用攔截器標簽來保護數據安全的方法。用戶可以隱藏一部分標簽,避免被閱讀器掃描到,通過“選擇性攔截”來保護數據安全。這個協議基于tree-walking singulation協議。然而這個協議的不足是攔截器標簽有可能產生溢出效應,從而攔截一些不應該被攔截的標簽。
以上協議并沒能很好地解決RFID系統的安全性問題,為此,考慮引入可信計算的思想,首先在服務器與閱讀器間建立一個可信的環境,然后擴展信任鏈,閱讀器驗證標簽的可信度,將信任域由服務器與閱讀器擴展到標簽和其他的RFID節點。
假設系統不會受到物理破壞,比如RFID標簽不會被移除,同時在數據傳輸過程中,對數據使用AES-128加密,RFID標簽可以使用AES-128加密由文獻[13]證明可行。RFID系統結構如圖2所示。

系統的可信性是由平臺通過驗證完整性報告來實現的,完整性報告由平臺的可信啟動提供,TCG使用系統啟動序列來判斷平臺的可信狀態。TCG采用一種鏈式啟動的方式,從一個很小的信任根開始啟動,信任根是整個系統中第一個獲得控制權的模塊,然后信任根去度量下一個啟動塊,直到信任鏈被擴展到整個操作系統。TPM采用SHA-1算法將信息摘要存儲在平臺配置寄存器(PCR)中,每個執行程序在執行之前的度量摘要都將存儲于PCR中,其算法如下:

所有的應用程序可以采用由IBM Research Group提出的IMA測量完整性,最終所有的測量數據都被保存在PCR中。
在與標簽交互數據之前,閱讀器需要首先向服務器進行注冊,通過閱讀器與服務器之間互相驗證完整性報告,閱讀器將獲得一個由服務器頒發的證書,閱讀器可以憑借有效證書和服務器和標簽交互。閱讀器進行注冊獲得證書過程如圖3所示。
在這里用B和R分別表示不同的服務器,RFID為閱讀器,A表示AIK簽名。
1)服務器跟閱讀器通過各自的TPM,得到各自的完整性報告IB和IR,每一個標簽都有自身的唯一標識符(IT)。服務器連接的數據庫儲存了初始的IR,IT,閱讀器儲存了服務器的初始化IB。
2)服務器發起詢問,通常是一個隨機數Nonce,同時將自身的完整性報告IB,連同消息簽名SigB,由AIK簽名并使用AES-128加密后,生成EK[AB(IB,SigB)]發送給服務器。其中,AIK是平臺身份認證密鑰(Attestation Identity Key),是專用于對TPM產生的數據(如TPM功能/PCR寄存器的值等)進行簽名的不可遷移的密鑰,TPM使用AIK來證明自己的身份,凡是經過AIK簽名的實體,都表明已經過TPM的處理。消息簽名SigB由如下偽程序段生成:
SigB=H(Nonce||TampB) /*TampB是時間戳,H表示采用散列算法,一般采用的是SHA-1算法。*/
3)閱讀器接收到后,對信息進行解密,得到AIKB,IB和SigB,服務器驗證時間戳后,將IB與保存的初始化IB進行比較驗證,如果驗證通過,則將服務器自身的完整性報告IR和簽名消息SigR由AIK簽名后再用AES加密后發送給閱讀器。其中:

4)服務器同樣對接收到的數據進行解密后,得到AIKR,IR和SigR,服務器驗證時間戳后,將IR與其保存的初始化IR進行驗證,如果驗證通過,服務器將頒發給閱讀器一個證書,并把證書連同閱讀器身份信息保存在數據庫內。在證書的有效期內,閱讀器可以持該有效證書讀取RFID標簽的數據,并與服務器交互數據。
在相互驗證可信后,閱讀器與服務器就建立了一個可信的系統。然后將由閱讀器證明標簽可信,證明過程如圖4所示。
1)閱讀器發起一次會話,并將其完整性報告IR和證書CertR發給標簽。

2)標簽驗證證書CertR是否為有效證書,如果證書有效,則將IR與其保存的IR進行比較驗證,如果驗證成功,則將自身的唯一標識符IT發送給閱讀器。
3)閱讀器對IT進行驗證,如果驗證成功,則發送一個可信驗證成功確認符token給標簽,否則終止回話。
經過上述驗證成功后,閱讀器將信任域擴展到了標簽,這樣,服務器將不再需要驗證標簽的可信性。之后,閱讀器可以持有效證書與標簽和服務器進行數據交互了。
本方案通過互相驗證完整性,并用擴展信任鏈方法,為RFID系統各個平臺之間提供了一個可信的身份驗證方案。在該方案中,閱讀器扮演了服務器與標簽之間橋梁的作用,它將信任鏈從服務器擴展到了標簽。服務器與閱讀器通過TPM,得到自身的完整性報告,并用交換報告的方式,互相證明了自身的可信性,也驗證了對方的可信性。在數據交換的過程中,所有發送的數據都使用AES加密方式加密,保證了數據在傳輸過程中不被惡意竊聽。在服務器與閱讀器相互驗證過后,服務器會給閱讀器頒發一個證書,在證書的有效期內,閱讀器可以驗證標簽的可信狀態,將信任鏈擴展到標簽,擴大了信任域。
本文仿真用3臺聯網的PC分別代表服務器、閱讀器和標簽。使用TPM_emulator對系統進行可信度量。TPM_emulator是IBM Research Group開發的TPM模擬器,最新版本號為Version 0.7.2,并使用JTSS編寫應用層代碼。JTSS屬于IAIK開發的項目Trusted Computing for the Java(tm)Platform,它提供了針對TPM_emulator的JAVA編程接口。最新版本號為Version 0.7。仿真結果表明,本協議可以對包括中間人攻擊在內的攻擊進行有效的預防。表1給出了本協議與其他RFID協議的對比。

表1 RFID協議安全性對比
在閱讀器獲得證書后,由閱讀器證明標簽的可信狀態,與文獻[4]相比,這樣做有兩個好處:1)由于服務器不需要每次對標簽進行驗證,在需要對大量標簽進行數據交互時,提高了服務器的效率;2)新的組件接入的時候,只需要某一個可信的組件驗證其可信度,提高了該協議的擴展性。
本方案通過可信計算的引入,測量各個平臺自身的運行環境,得到其完整性報告,確保了平臺自身的安全性,通過相互驗證完整性報告以及身份授權和加密技術的使用,確保了數據傳輸過程中的數據安全,符合本文總結的“可信物聯網”的兩個基本原則。
本文在文獻[3]提出的物聯網三層安全結構的基礎上,介紹了一些當前可信計算在物聯網安全各個方面的應用方向,并借此總結了“可信物聯網”及其兩個原則,然后提出了一種基于可信計算的RFID安全協議,使用TPM度量自身的平臺狀態,并相互驗證對方的完整性報告,這樣就在各個平臺間建立了一個可信的數據交互的環境。
[1]Trusted Computing Group.TCG specification architectureoverview[EB/OL]. [2008-09-10]. http://www.trustedcomputinggroup.org/groups/TCG-1-0-A1.rchitectureOverview.pdf.
[2]沈蘇彬,范曲立,宗平,等.物聯網的體系結構與相關技術研究[J].南京郵電大學學報:自然科學版,2009,29(6):1-11.
[3]劉宴兵,胡文平,杜江.基于物聯網的網絡信息安全體系[J].中興通信,2011,17(1):17.
[4]MUBARAK M F,MANAN J A,YAHYA S.Mutual attestation using TPM for trusted RFID protocol[C]//Proc.2nd International Conference on Network Applications,Protocols and Services-NETAPPS 2010.Kedah,Malaysia:[s.n.],2010:153-158.
[5]張煥國,陳璐,張立強.可信網絡連接研究[J].計算機學報,2010,33(4):706-717.
[6]吳振強,周彥偉,馬建峰.物聯網安全傳輸模型[J].計算機學報,2011,34(8):1351-1364.
[7]LIU Ren,NIU Dongxiao.Content protection based on Trusted computing in mobile terminal[C]//2009 International Conference on Information Management,Innovation Management and Industrial Engineering.[S.l.]:IEEE Press,2009:192-195.
[8]趙波,張煥國,李晶,等.可信PDA計算平臺系統結構與安全機制[J].計算機學報,2010,33(1):82-92.
[9]TOIRUUL B,LEE K O.An advanced mutual-authentication algorithm using AES for RFID systems[EB/OL].[2012-01-01].http://paper.ijcsns.org/07_book/200609/200609C02.pdf.
[10]WEIS S,SARMA S,RIVEST R,et al.Security and privacy aspects of low-cost radio frequency identification systems[C]//Proc.1st Intern Conference on Security in Pervasive Computing(SPC).Germany:Springer-Verlag,2003:454-469.
[11]TRCEK D,J?PPINEN P.Non-deterministic lightweight protocols for security and privacy in RFID environments[EB/OL].[2011-11-11].http://www.avoine.net/rfid/download/papers/TreckJ-2009-auerbach.pdf.
[12]JUELS A,RIVEST R,SZYDLO M.The blocker tag:selective blocking of RFID tags for consumer priva RFID environments[EB/OL].[2012-01-01].http://www.rsa.com/rsalabs/staff/bios/ajuels/publications/blocker/blocker.pdf.
[13]FELDHOFER M,DOMINIKUS S,WOLKERSTOFER J.Strong authentication for RFID systems using AES algorithm[C]//Proc.Conference of Cryptographic Hardware and Embedded Systems.[S.l.]:Springer-Verlag,2004:357-370.