專利名稱:給設(shè)備提供安全性的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本申請涉及給設(shè)備提供安全性。
背景技術(shù):
隨著機器對機器通信(M2M)的到來,電子健康、地理跟蹤、家庭自動化和消費電子設(shè)備中的應用成為可能。許多這種應用需要將網(wǎng)絡(luò)運營商的裝備放置在用戶端。這些裝備和設(shè)備易受惡意攻擊。為了打擊這種惡意攻擊,除了包括防火墻和病毒保護的其它形式的設(shè)備保護之外,這種基于用戶端的裝備還需要設(shè)備完整性驗證。已經(jīng)討論了用于設(shè)備完整性保護的若干方法。這些方法包括安全啟動(boot)——其中可信的執(zhí)行環(huán)境加載并僅執(zhí)行通過完整性驗證(verification)的軟件組件(component)。但是這些方法需要一組未經(jīng)組織的測量(measurement),在這種測量的數(shù)量很大時管理起來變得很繁瑣。因此,需要的是這樣的方法和相關(guān)裝置,有助于收集、分類并組織這些測量以有利于有效搜索完整性失敗的組件。
發(fā)明內(nèi)容
本文公開了用于生成驗證數(shù)據(jù)的各種技術(shù),包括一種用于生成可用于無線發(fā)射-接收單元(WTRU)的確認(validation)的驗證數(shù)據(jù)的方法。WTRU可以具有一個或多個組件和一個具有多個安全寄存器的安全環(huán)境。根據(jù)一個實施方式,對于WTRU的多個組件中的每一個可以獲得一個值,代表WTRU組件的測量??梢陨梢粋€測量日志(ML),包含組件測量值的記錄,其它的組件專用數(shù)據(jù)可以存儲在WTRU上??梢愿鶕?jù)針對每個組件的組件測量值生成驗證數(shù)據(jù),驗證數(shù)據(jù)可以存儲在可信平臺模塊內(nèi)的一個或多個安全寄存器中。驗證數(shù)據(jù)和ML可以被組織成樹結(jié)構(gòu)。包含驗證數(shù)據(jù)的安全寄存器可以定義樹結(jié)構(gòu)的根。ML可以定義樹結(jié)構(gòu)的內(nèi)部節(jié)點,包含在ML中的測量值可以定義樹結(jié)構(gòu)的葉??梢允褂冒踩h(huán)境的安全擴展操作形成樹結(jié)構(gòu)。根據(jù)另一實施方式,可以獲得代表WTRU組件的測量的值。可以根據(jù)測量值生成驗證數(shù)據(jù),驗證數(shù)據(jù)可以存儲在WTRU上安全環(huán)境內(nèi)的寄存器中。測量值可以被存儲在樹結(jié)構(gòu)中的一個葉節(jié)點處??梢栽诎踩h(huán)境中執(zhí)行一個或多個擴展操作以將存儲在葉節(jié)點中的值擴展到所述樹結(jié)構(gòu)的根節(jié)點。根節(jié)點可以包括安全寄存器中的數(shù)據(jù),生成的驗證數(shù)據(jù)被存儲在該安全寄存器中。根據(jù)另一實施方式,描述了一種對由無線發(fā)射/接收單元(WTRU)生成的樹形(tree-formed)驗證數(shù)據(jù)進行確認(validate)的方法。樹形驗證數(shù)據(jù)可以包括被組織成樹結(jié)構(gòu)的驗證數(shù)據(jù)元(data element)、測量日志(ML)和組件測量值。驗證數(shù)據(jù)元可以定義樹結(jié)構(gòu)的根節(jié)點。ML可以定義樹結(jié)構(gòu)的內(nèi)部節(jié)點。組件測量值可以定義樹結(jié)構(gòu)的葉節(jié)點。樹形驗證數(shù)據(jù)可以在組織的樹結(jié)構(gòu)中接收。從接收的樹形驗證數(shù)據(jù)的根處的驗證數(shù)據(jù)元開始,對樹結(jié)構(gòu)進行遍歷(t r a V e r s e )。作為遍歷樹結(jié)構(gòu)的一部分,在接收的樹結(jié)構(gòu)的分支(branching)節(jié)點和分支節(jié)點的孩子(child)節(jié)點的值可以與在參考樹中相同節(jié)點位置的值進行比較。然后可以基于節(jié)點值的比較確定是對WTRU還是對WTRU的單個組件進行確認。根據(jù)另一實施方式,描述了一種方法,用于證實(certify)由無線發(fā)射/接收單元(WTRU)生成的測量日志(ML)的節(jié)點值。ML的值可以存儲為包括根節(jié)點、內(nèi)部節(jié)點和葉節(jié)點的樹結(jié)構(gòu)的節(jié)點??梢越邮兆C明(attestation)分組,其指示將由子樹證書授權(quán)(SCA)證實的節(jié)點值。節(jié)點值可以被識別為能夠由SCA證實的節(jié)點值??梢詣?chuàng)建與節(jié)點值相關(guān)聯(lián)的清單(manifest),其包括與節(jié)點值相關(guān)聯(lián)的確認信息??梢詣?chuàng)建用于節(jié)點值的證書,其被配置為將確認信息綁定到WTRU的安全環(huán)境。證書可以隨著清單一起發(fā)布,并提供給WTRU的 安全環(huán)境,WTRU將證書存儲在其ML中。根據(jù)下面詳細描述和相關(guān)附圖,本文描述的系統(tǒng)、方法和裝置的其它特性和方面
將變得清楚。
當結(jié)合附圖閱讀時,前述的發(fā)明內(nèi)容以及下面詳細描述將更好理解。為了說明本文描述的系統(tǒng)、方法和裝置,在附圖中示出了示意性實施方式,但是,本發(fā)明不限于所公開的具體方法和手段。在附圖中圖I示出了示例性長期演進無線通信系統(tǒng)/接入網(wǎng);圖2是圖I的長期演進無線通信系統(tǒng)的示例性框圖;圖3示出了樹形存儲測量日志(SML)和驗證數(shù)據(jù)的一般結(jié)構(gòu);圖4示出了顯示樹形成的一個算法(算法I)的示例;圖5示出了在右邊沿的正確配置;圖6示出了顯示不完整樹清除(cleanup)的一個算法(算法2);圖7示出了深度3的不完整樹的順序形成/樹分支;圖8示出了樹驗證數(shù)據(jù)的最大容量安排,其中在葉處的測量值表示為m ;圖9示出了樹形SML中節(jié)點配置的分類;圖10在2df個壞葉隨機分布中壞的內(nèi)部節(jié)點的期望分數(shù),其中d=16 ;圖11示出了 SML樹中每一個基本三角形的值的正確配置;圖12示出了算法I,用于找到線性哈希(hash)鏈中的第一個失敗(failure)點;圖13示出了 Huffman (哈夫曼)編碼樹的一個示例;圖14示出了樹修剪的一個示例;圖15不意了最優(yōu)樹形驗證系統(tǒng)圖/系統(tǒng)圖和相關(guān)通f目;圖16示意了具有替代孩子鏈路的樹,其中由一個模塊表示的軟件組件或功能使用另一個模塊;圖17示出了算法2——用于確定具有度量的二叉樹的總體(population);
圖18示出了算法3——用于確定使用TPM命令的樹的總體;圖19示出了算法4-用于確定具有度量的n元(n_ary)樹的總體;圖20示出了算法5——用于確定具有替代孩子鏈路的二叉樹的總體;圖21示出了比較和修剪算法6——來確定完整性檢查失敗的節(jié)點和葉;圖22 示出了顯示 TPM_reduced (減少)_Tree (樹)_Verify (驗證)_Load (加載)的算法-I ;圖23 不出了顯不 TPM_reduced_Tree_Verify 的算法-I ;圖24a 不出了顯不 TPM_Tree_Node (節(jié)點)_Verify 的算法-3 ;
圖24b 不出了顯不 TPM_Reduced Tree_Update (更新)的算法-4 ;圖25示出了用于PVM的數(shù)據(jù)種類;圖26示出了用于具有根的子樹的子樹證實(certification)協(xié)議;圖27示出了證書子樹綁定;圖28示出了左邊不平衡的多樹結(jié)構(gòu);圖29示出了如本文描述的樹結(jié)構(gòu)的一個示意性實施方式;圖30是組件子樹結(jié)構(gòu);圖31示出了分割確認步驟I :測量的收集;圖32不出了分割確認步驟2 :子樹的證實;圖33示出了分割確認步驟3 :服務連接;圖34示出了分割確認的H (e) NB用例;圖35示出了 H(e)NB阻止接入惡意設(shè)備;圖36示出了基于設(shè)備類型、設(shè)備類別(class)、設(shè)備特性或連接配置文件(profile)的M2M GW分組設(shè)備,并為設(shè)備確認樹提供組證書;圖37示出了 M2M Gff P2P分割確認;圖38是可以在其中執(zhí)行一個或多個公開的實施方式的示例性通信系統(tǒng)的系統(tǒng)圖;圖39是可在圖38中示出的通信系統(tǒng)中使用的示例性無線發(fā)射/接收單元(WTRU)的系統(tǒng)圖;以及圖40是可在圖38中示出的通信系統(tǒng)中使用的示例性無線電接入網(wǎng)和示例性核心網(wǎng)的系統(tǒng)圖。
具體實施例方式下文提到時,術(shù)語“無線發(fā)射/接收單元(WTRU)”包括但不限于用戶設(shè)備(UE)、移動站、固定或移動用戶單元、尋呼機、蜂窩電話、個人數(shù)字助理(PDA)、計算機或能夠在無線環(huán)境中運行的任意其它類型的設(shè)備。下文提到時,術(shù)語“基站”包括但不限于節(jié)點B、站點控制器、接入點(AP)或能夠在無線環(huán)境中運行的任意其它類型的接口設(shè)備。本文公開了用于生成驗證數(shù)據(jù)的各種技術(shù),包括一種用于生成可用于確認無線發(fā)射-接收單元(WTRU)的驗證數(shù)據(jù)的方法。WTRU可以具有一個或多個組件和一具有多個安全寄存器的安全環(huán)境。安全環(huán)境可以包括提供安全執(zhí)行環(huán)境的安全硬件和/或軟件環(huán)境。例如,安全環(huán)境可以是可信平臺模塊(TPM)、智能卡、通用集成電路卡(UICC)或其任意組合。安全環(huán)境可以用于保護諸如例如加密功能的安全功能、諸如例如操作寄存器的安全資源、存儲器、隨機數(shù)生成器、定時器和/或時鐘。
根據(jù)一個實施方式,可以通過對于WTRU的多個組件中的每一個獲得代表WTRU組件的測量的值來生成驗證數(shù)據(jù)??梢陨梢粋€測量日志(ML),其包含組件測量值的記錄,其它的組件專用數(shù)據(jù)可以存儲在WTRU上。對于每個組件可以根據(jù)組件測量值生成驗證數(shù)據(jù),驗證數(shù)據(jù)可以存儲在可信平臺模塊內(nèi)的一個或多個安全寄存器中。驗證數(shù)據(jù)和ML可以被組織成樹結(jié)構(gòu)。包含驗證數(shù)據(jù)的安全寄存器可以定義樹結(jié)構(gòu)的根。ML可以定義樹結(jié)構(gòu)的內(nèi)部節(jié)點,包含在ML中的測量值可以定義樹結(jié)構(gòu)的葉??梢允褂冒踩h(huán)境的安全擴展操作來形成樹結(jié)構(gòu)。根據(jù)另一實施方式,可以獲得代表WTRU組件的測量的值??梢愿鶕?jù)測量值生成驗證數(shù)據(jù),驗證數(shù)據(jù)可以存儲在WTRU上安全環(huán)境內(nèi)的寄存器中。測量值可以存儲在樹結(jié)構(gòu)中的一葉節(jié)點處。可以在安全環(huán)境中執(zhí)行一個或多個擴展操作將存儲在葉節(jié)點中的值擴展到所述樹結(jié)構(gòu)的根節(jié)點。根節(jié)點可以包括安全寄存器中的數(shù)據(jù),生成的驗證數(shù)據(jù)存儲在該安全寄存器中。根據(jù)另一實施方式,描述了一種對由無線發(fā)射/接收單元(WTRU)生成的樹形驗證數(shù)據(jù)進行確認的方法。樹形驗證數(shù)據(jù)可以包括組織為樹結(jié)構(gòu)的驗證數(shù)據(jù)元、測量日志(ML)和組件測量值。驗證數(shù)據(jù)元可以定義樹結(jié)構(gòu)的根節(jié)點。ML可以定義樹結(jié)構(gòu)的內(nèi)部節(jié)點。組件測量值可以定義樹結(jié)構(gòu)的葉節(jié)點。樹形驗證數(shù)據(jù)可以在組織的樹結(jié)構(gòu)中接收。從接收的樹形驗證數(shù)據(jù)的根處的驗證數(shù)據(jù)元開始,對樹結(jié)構(gòu)進行遍歷。作為遍歷樹結(jié)構(gòu)的一部分,在接收的樹結(jié)構(gòu)的分支節(jié)點和分支節(jié)點的孩子節(jié)點處的值可以與參考樹中相同節(jié)點位置處的值進行比較。然后可以基于節(jié)點值的比較確定是對WTRU還是對WTRU的單個組件進行確認。根據(jù)另一實施方式,描述了一種方法,用于證實由無線發(fā)射/接收單元(WTRU)生成的測量日志(ML)的節(jié)點值。ML的值可以存儲為包括根節(jié)點、內(nèi)部節(jié)點和葉節(jié)點的樹結(jié)構(gòu)的節(jié)點。可以接收證明分組,其指示將由子樹證書授權(quán)(SCA)證實的節(jié)點值。節(jié)點值可以被識別為能夠由SCA證實的節(jié)點值??梢詣?chuàng)建與節(jié)點值相關(guān)聯(lián)的清單,其包括與節(jié)點值相關(guān)聯(lián)的確認信息??梢詣?chuàng)建用于節(jié)點值的證書,其被配置為將確認信息綁定到WTRU的安全環(huán)境。證書可以隨著清單一起發(fā)布,并提供給WTRU的安全環(huán)境,WTRU將證書存儲在其ML中。結(jié)構(gòu)化的確認是一種確認方法,其中確認的數(shù)據(jù)和操作方面被結(jié)構(gòu)化。本文描述了結(jié)構(gòu)化確認的分離但相關(guān)的概念和方法。例如,本文描述了樹形確認(TFV),專注于使用子樹證實、TFV的擴展和變體以及分割確認的方法,其中將確認任務分布到兩個或更多個網(wǎng)絡(luò)實體之間,其允許網(wǎng)絡(luò)實體以分布方式執(zhí)行對于(所連接的)設(shè)備的設(shè)備完整性確認,從而每個確認實體可以不必要必須對整個設(shè)備進行確認而可以確認其一部分。圖I示出了長期演進(LTE)無線通信系統(tǒng)/接入網(wǎng)400,包括一個演進的通用陸地無線電接入網(wǎng)(E-UTRAN) 605。該E-UTRAN 605包括一個WTRU 610和多個演進的節(jié)點B(eNB) 620o WTRU 610與eNB 620進行通信。eNB 620使用X2接口彼此連接。eNB 620的每個通過SI接口與移動性管理實體(MME)/服務網(wǎng)關(guān)(S-GW)630進行連接。盡管在圖I中示出了單個WTRU 610和三個eNB 620,但是應當清楚無線和有線設(shè)備的任意組合都可以包含在無線通信系統(tǒng)接入網(wǎng)600中。
圖2是LTE無線通信系統(tǒng)500的示例性框圖,包括WTRU 610,eNB 620和MME/S-GW630。如圖2所示,WTRU 610,eNB 620和MME/S-GW 630被配置為執(zhí)行用于向設(shè)備提供安全性的方法。除了在典型的WTRU中找到的組件外,該WTRU 610還包括具有可選的鏈接存儲器722的處理器716、至少一個收發(fā)信機714、可選的電池720以及天線718。處理器716配置為執(zhí)行用于向設(shè)備提供安全性的方法。收發(fā)信機714與處理器716和天線718進行通信以便于無線通信的傳輸和接收。在WTRU 610中使用電池720的情況下,電池720給收發(fā)信機714和處理器716供電。除了在典型的eNB中找到的組件外,eNB 620還包括具有可選的鏈接存儲器715的處理器717、收發(fā)信機719和天線721。處理器717被配置為執(zhí)行向設(shè)備提供安全性的方法。收發(fā)信機719與處理器717和天線721進行通信以便于無線通信的傳輸和接收。eNB620連接到移動性管理實體/服務網(wǎng)關(guān)(MME/S-GW),所述MME/S-GW 630包括具有可選鏈接 存儲器734的處理器733。通常,為了保證設(shè)備完整性,執(zhí)行軟件/固件或硬件的測量(諸如,例如加密哈希值)并與可信的參考值相比較。測量的這種比較或者針對可信參考值的這種測量(稱為驗證數(shù)據(jù))的函數(shù)或分組可以在設(shè)備內(nèi)部(自主確認)執(zhí)行或在外部由確認實體(半自主或遠程確認)完成。在半自主或遠程確認的情況下,測量可以作為未組織的集合在凈荷(payload)中被發(fā)送,該凈荷可以是經(jīng)過加密、完整性保護和加密證實過的。為了找到完整性驗證失敗的組件,可以將測量的集合與參考值的集合進行比較,得到完整性測量失敗的索引集合。然而,如果這種測量的數(shù)量很大,這種未組織的測量集合可能難于管理。為了優(yōu)化完整性檢查失敗的模塊的搜索,以測量日志(例如存儲的測量日志(SML))的哈希樹的形式生成驗證數(shù)據(jù)。由可信計算組(TCG)架構(gòu)和規(guī)范使用的術(shù)語SML,可以用在描述本文描述的測量日志的各種實施方式中,但是SML是測量日志的一種示意性實施方式。組織的一個示例是樹形確認(TFV)。存儲的測量日志可以被組織成平衡的二叉樹,且可以提出一種算法來使用TPM命令生成樹。算法可以是通用的,并可以擴展到平衡的二叉樹。由樹形驗證產(chǎn)生的SML可以在內(nèi)容上與TCG SML類似,但是可以在通信中構(gòu)造、形成、計算、使用、存儲、獲取、更新、刪除、傳送和/或接收,或者與如何處理和/或操作TCGSML不同地進行處理或操作。TFV可以在TrE中實現(xiàn),例如下面描述的那樣。這將引起許多其它用例類型的創(chuàng)新,且是用于TrE針對的復雜類型的網(wǎng)絡(luò)側(cè)平臺確認的參考使能者(enabler)。本文描述TFV的技術(shù)內(nèi)容。本文描述TFV指向(pointing)的概要。TFV還被放入TrE的上下文中,其應用在本文中描述。TFV的一個元素(element)是驗證數(shù)據(jù)的分層結(jié)構(gòu),其為遠程確認器(validator)的平臺確認帶來各種好處。本文描述用于創(chuàng)建和管理樹形驗證數(shù)據(jù)的算法。此外,對平臺的子結(jié)構(gòu)(即驗證數(shù)據(jù)的子樹)的證明可以用于確認TFV中的平臺。該層級中最高層的驗證數(shù)據(jù),稱為根(集),可以諸如,例如通過具有特殊的(例如,硬件)保護的驗證數(shù)據(jù)寄存器在TFV中被保護。TFV可以通過小型有效的算法對樹形驗證數(shù)據(jù)進行操作。TFV的全部實施可以在TCB,或甚至是硬件保護的安全執(zhí)行環(huán)境中實現(xiàn)。確認數(shù)據(jù)的復雜結(jié)構(gòu)可以與樹形驗證數(shù)據(jù)的樹狀層次(hierarchy)相關(guān)聯(lián)和/或由其保護。子樹可以通過結(jié)構(gòu)_子結(jié)構(gòu)的關(guān)系向驗證和確認數(shù)據(jù)提供固有語義(semantics)。因此子樹可以向確認器識別平臺的功能部分。TFV的一個實施方式可以使用經(jīng)修改的TPM。可信計算作為現(xiàn)有技術(shù)針對TFV的實現(xiàn)和/或標準化是潛在的入口點。TFV還容易從樹(諸如二叉樹上)概括出具有子結(jié)構(gòu)的更一般的結(jié)構(gòu)。下面描述的是可以由TFV提供的元素。安全性在TFV中通過保護樹形驗證數(shù)據(jù)的根來提供硬件保護。參考保護等級是TPM中PCR的保護等級,顯示為可以由TFV維護。平臺側(cè)的小型算法和低復雜度使得能夠在·小型TCB或片上實現(xiàn)。管理TFV包括安全可靠地挑選出平臺的子結(jié)構(gòu)并基于這種子結(jié)構(gòu)的收集對該平臺進行管理的方法和裝置。用TFV子樹表示的模塊可以靈活地進行改變、更新或甚至是在平臺之間移動,具有任意情況所要求的安全特性。分布TFV的層次允許實體間確認的分層分割。這使得通信場景和用例的設(shè)計更加靈活,并有利于效率。效率用于搜索的一個有效數(shù)據(jù)結(jié)構(gòu)——二叉樹——可以在TFV中實現(xiàn)。它表明,例如,對失敗組件(具有不想要的完整性測量值)的搜索在TFV中可以比在TCG類平臺證明中更有效率。由TFV引入的天然層次提供了確認過程中負荷分布的選擇。TFV的一個示意性特征是TFV可以根據(jù)其內(nèi)置的分層順序進行設(shè)計,用于由“更核心的”實體對大量低能力平臺的確認。因此,TFV可以適用于連接到網(wǎng)關(guān)和/或經(jīng)由網(wǎng)關(guān)連接到網(wǎng)絡(luò)的設(shè)備。一個示意性用例可以包括M2M通信場景。TFV的這個特性可以提供給它一個與許多現(xiàn)有概念正交的概念,以向可信平臺進行的狀態(tài)證明提供更多語義。平臺證明的其它方法顯示了完全相反的理念。它們適用于能夠產(chǎn)生復雜確認數(shù)據(jù)的平臺,但是沒有過多假設(shè)其層次化、模塊化的結(jié)構(gòu)。TFV可以與其它正交的方法,諸如PBA、語義證明、虛擬化和/或HIM進行結(jié)合。下面給出本說明書中用到的詞匯表和縮略詞列表。RM參考完整性度量提供了實際測量數(shù)據(jù)可以與之比較的參考值。RM是,為了確認,由設(shè)備提供的測量值的副本(counterpart)。它們作為期望目標值與報告的測量值比較的參考。RIM在它們唯一與組件相關(guān)聯(lián)的意義上提供完整性的證明,例如作為在安全測試設(shè)施中獲得的組件代碼的加密摘要值。在它們允許與測量值直接(確定性)比較的意義上它們
是一種度量。RIM證書RM證書包含用于特定組件的RM,由TTP簽名。AuV自主確認。IDS入侵檢測系統(tǒng)。DoS拒絕服務(攻擊)。PVM平臺確認和管理。PVE進行的平臺確認和(e) HMS進行的平臺的OTA管理的組合。包括能夠從該組合中得到的所有潛在組合功能。DMS設(shè)備管理系統(tǒng)。對家庭(e)節(jié)點B管理系統(tǒng)(HMS)的泛化記法(3GPP LTEXTS32. 583,[4]),適用于一般設(shè)備,由PVM功能增強。RIM管理器/管理者RIMman管理確認數(shù)據(jù)庫V_DB的實體。是唯一授權(quán)那樣做的實體,是唯一對數(shù)字證書(驗證,生成)進行加密操作的實體。SAV半自主確認。PVM基于的確認變量。TCG可信計算組。TSS可信軟件棧。TPM可信平臺模塊。TTP可信第三方。TCB可信計算基礎(chǔ)。不能在運行時間評估可信度從而必須無條件信任的系統(tǒng)的部分。 CN運營商核心網(wǎng)。SHO選擇的本地(home)運營商。PKI公鑰基礎(chǔ)設(shè)施。PDP策略決策點。PEP策略執(zhí)行點。D-H Diffie-Heliman。TFV樹形確認。驗證數(shù)據(jù)在安全啟動過程中對內(nèi)部驗證的總的結(jié)果進行唯一識別的數(shù)據(jù)。最好的例子是鏈式哈希值形式的大量測量值的PCR值,即摘要。確認數(shù)據(jù)在區(qū)分驗證數(shù)據(jù)時,確認數(shù)據(jù)是提交給另一方(確認器)的所有數(shù)據(jù),并用于評估平臺狀態(tài)的可信度。確認確認數(shù)據(jù)提交給確認器,例如實現(xiàn)為根據(jù)TCG的遠程證明,以及由確認器對其進行評估的過程恰當?shù)胤Q為確認。確認數(shù)據(jù)通??梢园炞C數(shù)據(jù),諸如引用的驗證數(shù)據(jù)寄存器(PCR)值。確認可以,除驗證數(shù)據(jù)的加密驗證外,包括策略評估和確認器進行的動作觸發(fā)。驗證數(shù)據(jù)寄存器針對未經(jīng)授權(quán)的接入和改變,保護驗證數(shù)據(jù)的硬件存儲。對可信平臺的信任關(guān)系的建立依賴于確認過程。確認允許外部實體基于提供的平臺配置的證據(jù)對平臺的預期行為建立信任。在確認機制,諸如遠程證明中,可信平臺顯示在啟動過程中產(chǎn)生的驗證數(shù)據(jù)。這些數(shù)據(jù)可以是平臺配置寄存器的硬件保護的值,包含所有加載或啟動組件的嵌套測量值,例如哈希值。這些值可以由安全的擴展操作以線性順序產(chǎn)生。確認器基于驗證數(shù)據(jù)的線性順序和相關(guān)聯(lián)測量日志對組件的低粒度診斷可能是低效的。提供了一種產(chǎn)生樹形驗證數(shù)據(jù)的方法,其中組件測量值表示葉,受保護的寄存器表示根。使用有限數(shù)量的硬件保護寄存器和標準擴展操作示出該方法的功能。如此,可以維持驗證數(shù)據(jù)的安全性,同時存儲的測量日志可以始終組織成樹。討論了使用樹形測量日志和驗證數(shù)據(jù)確認平臺的基本機制。對計算平臺建立信任的過程可以按照一個獨特的通用模式。在平臺啟動過程中,可以由平臺上的受保護實體測量組件。例如,組件可以在被加載和/或執(zhí)行之前被測量。信任鏈的生成對于可信計算系統(tǒng)是重要的概念。這個鏈可以無間隙地從系統(tǒng)根一直擴展到當前的系統(tǒng)狀態(tài),包括執(zhí)行的指令和程序??梢砸竺總€組件在執(zhí)行下面的組件之前對其進行測量和報告。直接繼任者的測量可以防止測量和實際執(zhí)行之間的代碼的未經(jīng)監(jiān)視的執(zhí)行。測量過程可以由測量的信任的根進行保護,可以例如通過計算代碼和配置數(shù)據(jù)之上的摘要值來實現(xiàn)。驗證數(shù)據(jù)可以通過受保護的操作從測量值進行編譯和/或存儲在受保護的存儲中。驗證數(shù)據(jù)可以,諸如在完成安全啟動后,唯一地識別平臺狀態(tài)。這些過程的實施方式可以被認證(authenticate)并且是可信計算組(TCG)指定的安全啟動。認證的啟動可以用于PC客戶端。也可以使用移動平臺的安全啟動。兩者的差異在于安全啟動增加了本地驗證和執(zhí)行引擎,如果組件的測量值等于可信參考值,該引擎就使組件啟動。TCG提出分別經(jīng)由可信平臺模塊(TPM)和移動可信模塊(MTM)的擴展操作,根據(jù)是組件代碼和/或數(shù)據(jù)的哈希值的測量值計算驗證數(shù)據(jù)。數(shù)據(jù)可以存儲在平臺配置寄存器(PCR)中。作為示例,根據(jù)規(guī)范的版本I. I可以存在最小16個PCR,在TPM的版本I. 2中可以識別至少24個PCR。PCR可以由授權(quán)的命令訪問。擴展操作建立了線性順序的、嵌套的哈希值鏈,類似于Merkle-Damgard變換,如下V; ViOm def H (V; 11 m'(式 1、
·
其中Vi代表驗證數(shù)據(jù)寄存器(對于PCR,i=0 ; ;23),H是防沖突的哈希函數(shù)(在TPM情況下的SHA-l),m=H (數(shù)據(jù))是測量值。因此,TCG可信平臺的驗證數(shù)據(jù)可以防止TPM的保護功能和屏蔽能力的操作而保證安全。驗證數(shù)據(jù)可以伴有更具表現(xiàn)力的測量值記錄和/或存儲的測量日志(SML)中的其它組件專用數(shù)據(jù)。在針對外部實體的確認中,驗證和/或其它數(shù)據(jù),諸如SML,可以由平臺簽名并傳遞到確認器。確認器能夠?qū)⑵脚_的可信度評估到任意期望的顆粒度(granularity),其由在確認過程中傳遞的總的信息限制。用于確認的示范實施方式可以由TCG在證明協(xié)議中定義。TCG設(shè)想確認可以最終用于對可信平臺采用糾正步驟(例如,根據(jù)第一網(wǎng)絡(luò)或服務接入時),如TCG的可信網(wǎng)絡(luò)連接工作組所預想的那樣。提供了一種在樹(諸如,例如Merkle哈希樹)中不同于TCG規(guī)范預見的線性順序組織驗證數(shù)據(jù)和SML的方法。從應用的觀點來看,線性鏈式的驗證數(shù)據(jù)的效率問題突出。將驗證數(shù)據(jù)組織為樹的主要安全性問題是使得它們的生成與同樣提供的TCG規(guī)范的測量擴展操作一樣安全。還提出了一種在一組有限的如實表示哈希樹根節(jié)點的硬件保護的寄存器中生成驗證數(shù)據(jù)的方法和算法。還示出了樹狀驗證數(shù)據(jù)和SML如何能夠有效率并有效地用于確認。還討論了樹形驗證數(shù)據(jù)的實施選項和進行的實驗。驗證數(shù)據(jù)提供關(guān)于具有無條件安全性的系統(tǒng)狀態(tài)的信息。例如,它們可以獨立于SML而安全,其根據(jù)TCG標準,在平臺上或者確認中(可能不是簽名的證明數(shù)據(jù)的一部分)沒有特別保護。簽名的PCR值,S卩,驗證數(shù)據(jù)本身,可以為SML提供隱含的完整性控制。為此,可以根據(jù)SML中的測量,通過折回(retrace)所有擴展操作,重新計算驗證數(shù)據(jù)。在認證的啟動中使用PCR值確保測量日志安全的TCG標準化的方法可以基于由Schneier和Kelsey引入的用于確保不可信機器上審計日志安全的技術(shù)。事實上,其可以是一個簡化,因為哈希鏈的最后的元素保持在PCR中,同時SML可以包含測量值而不是哈希鏈的中間項。使用TPM的完整性測量可以在完整性測量架構(gòu)(IMA)中實現(xiàn),該IMA作為Linux內(nèi)核模塊以使用TPM測量完整性并生成線性SML。由線性鏈式擴展操作產(chǎn)生的驗證數(shù)據(jù)可以是用于平臺的遠程診斷和/或諸如組件方面糾正的先進管理的限定值。本質(zhì)上,SML的操作位置,通過在測量值擴展到PCR之前篡改測量值,或者在安全啟動之后篡改SML本身,都不能肯定地進行定位。此外,具有數(shù)以百計或千計被測組件的真實世界SML的空間復雜度可以使得其針對確認失敗的組件(測量值不同于“好的”參考值的組件)以高昂代價進行篩選(sift)。為了檢查代碼和/或數(shù)據(jù),可以有各種可用的加密校驗和(checksum)函數(shù),且它們可以要求保持對“正確”數(shù)據(jù)的校驗和的完整性。對各種機器上有效版本中軟件的集中式數(shù)據(jù)庫的要求可能是一個重大的管理問題,需要一種有效的解決方案。進一步,連網(wǎng)設(shè)備的大規(guī)模部署,諸如,例如機器對機器通信情景所需要的,可能需要固體設(shè)備和網(wǎng)絡(luò)側(cè)平衡且有效的信任基礎(chǔ)設(shè)施。松散連接到網(wǎng)絡(luò)且半自主運行的設(shè)備的安全性要求高。行業(yè)考慮的情況可能帶來對連接設(shè)備的遠程完整性檢驗或確認的高級別的要求。本文描述的方法和裝置可以用于使確認具表現(xiàn)力、有效和/或安全。TCG基礎(chǔ)框架工作組的規(guī)范可以包括解決這個問題的方法,分層區(qū)分驗證的組件和子組件。描述了表示平臺結(jié)構(gòu)的信任樹(ToT)的概念和符號。ToT的節(jié)點可以表示平臺組件,從TPM直到應用,以信任和安全性聲明(statement)進行注釋。這可以用于對應當投入到平臺的信任進行評估,或甚至根據(jù)一定的約束重新組織平臺。另一個在其中信任僅僅是線性鏈的缺點變得迫在眉睫的技術(shù)領(lǐng)域是虛擬化技術(shù)。虛擬機可以在許多潛在的層上動態(tài)地生成和/或破壞,導致信任依賴性的樹狀動態(tài)結(jié)構(gòu)。盡管該共同體可能已經(jīng)承認可能需要結(jié)構(gòu)化的確認數(shù)據(jù)來真正評估平臺的可信度,這種樹形數(shù)據(jù)層次與驗證數(shù)據(jù)(PCR值)的顆粒度關(guān)聯(lián)可能是缺乏的。驗證數(shù)據(jù)和SML可以被組織進二叉樹結(jié)構(gòu)。在這樣的結(jié)構(gòu)中,驗證數(shù)據(jù)寄存器是根,SML數(shù)據(jù)結(jié)構(gòu)可以包括內(nèi)部節(jié)點,葉可以是組件測量值。整個結(jié)構(gòu)可以是樹形的,諸如,例如代表Merkle哈希樹的類別。該方法可以被概括到η元和任意的樹。圖3的圣誕樹用于示出樹形驗證的一般概念。圖3示出了樹形SML和根據(jù)驗證數(shù)據(jù)的一般結(jié)構(gòu)。星星代表存儲在驗證數(shù)據(jù)寄存器中的樹的根。組件(代碼和/或數(shù)據(jù))由葉處的小包(packet)表示。由活結(jié)(slipknot)表示組件的測量哈希值。內(nèi)部節(jié)點(球)將驗證信息向上游傳輸?shù)礁?。線暗示針對確認遍歷樹,稍后更詳細地解釋。代表哈希樹根節(jié)點的驗證數(shù)據(jù)的安全生成可能提出一個問題。在正常擴展操作中,使用由組件的可信測量根(RoTM)采用的測量值和當前的驗證數(shù)據(jù)寄存器值Vi,且操作本身在硬件保護的TPM中執(zhí)行。 因此,特別地,在生成過程中不使用在SML中無保護的存儲的測量。這對哈希樹是不可能的,其中增加一個新的葉可能影響該樹的d-2個內(nèi)部節(jié)點,其中d是樹的深度。挑戰(zhàn)可能是在受限數(shù)量的硬件保護的寄存器(PCR)內(nèi)生成樹形驗證數(shù)據(jù),諸如,通過使用單個葉測量作為輸入,并使用TPM擴展操作和其它TPM能力。根據(jù)系統(tǒng)創(chuàng)建和保護樹形驗證數(shù)據(jù)所需的最低要求,可以清楚下述說明中的方法和裝置可以不受限于遵守TCG標準的平臺和安全硬件單元??梢栽诩虞d之前和啟動的同時執(zhí)行程序的驗證。也可以如本文描述的那樣使用證明。代碼認證是可信計算的目標之一。執(zhí)行的代碼可以由平臺的安全啟動進行保護。例如,硬件機制可以用于將信任引導(bootstrap)到標準PC硬件上具有安全協(xié)處理器(coprocessor )的主機中??梢詰每尚牌脚_。安全硬件可以包含在安全引導過程中。例如,如果檢測到異常,安全協(xié)處理器可以停止啟動過程。這認為引導ROM是安全的。為了確保這一點,可以配置系統(tǒng)的地址空間,以使得啟動向量(boot vector)和啟動碼(boot code)由安全協(xié)處理器直接提供或者啟動ROM本身可以是一個安全硬件。無論如何,安全協(xié)處理器通過針對已知值檢查軟件簽名對系統(tǒng)軟件(OS內(nèi)核、系統(tǒng)相關(guān)的用戶級軟件)進行驗證。在該過程中可以實現(xiàn)防篡改的代碼。解決該問題的一個方法可以在硬件(例如XOM (只執(zhí)行存儲器)處理器架構(gòu)和建立在其上的XOM操作系統(tǒng))中固定用于程序的信任。這可能不解決安全加載程序和/或證明外部實體的問題。AEGIS在PC上使用安全啟動。例如,AEGIS使用簽名的哈希來識別啟動過程中的每個層,如Terra所做的,其用在虛擬機的證明末尾的完整證書鏈來證明加載的組件。TCG規(guī)范定義了雙邊遠程證明,以通過驗證二進制可執(zhí)行文件來遠程地驗證平臺的完整性。當執(zhí)行代碼被加載時可以測量執(zhí)行代碼。該測量可以存儲在PCR中作為驗證數(shù)據(jù),TPM可以通過用TPM保護的密鑰對這些數(shù)據(jù)進行簽名來對這些數(shù)據(jù)進行證明。驗證器可以,在接收到這些度量時,決定平臺是否可以被認為可信。因為配置可以被傳送并驗證,驗證器可以知道機器的配置。此外,二進制證明公開了配置,因此提出了隱私風險。在不同 的解決方案中,討論了“特性”和“基于特性的證明”(PBA)。PBA允許向驗證器確保經(jīng)驗證的平臺的安全性特性而不透露詳細的配置數(shù)據(jù)。可信第三方(TTP)用于頒發(fā)證書,其將平臺配置映射到可以在該配置中實現(xiàn)的該特性(尤其是期望/不期望的功能)。然后TPM可以使用零知識證明,向驗證器證明這些特性,而不公開完整的配置。PBA將平臺確認的基礎(chǔ)設(shè)施問題轉(zhuǎn)移到TTP,與TCG的隱私證書授權(quán)(CA)類似,但是擴展了其作用。另一個替換方式由Nexus OS提出,其建立最小可信計算基礎(chǔ)(TCB)以在用戶空間和特權(quán)程序之間建立強大的隔離。Nexus具有安全存儲區(qū)域和監(jiān)視及執(zhí)行機來保護它們。一個應用可以將設(shè)備驅(qū)動器移動到用戶空間。Nexus的證明將描述性標簽連接到被監(jiān)視的程序,因此允許類似于PBA的表現(xiàn),但是是系統(tǒng)固有的。PBA概念以及Nexus方法都沒有辦法對由多個組件構(gòu)成,進一步將被動態(tài)管理的復雜系統(tǒng)進行確認。兩種方法都與現(xiàn)有的一種方法正交,并可以與其結(jié)合。分層完整性管理(HM),提出了用于組件方面完整性測量和平臺組件的策略啟用管理的框架。組件和子組件通過依賴關(guān)系圖(對此目的有用的最普通的結(jié)構(gòu))在HM中相關(guān)。但是HM的目的不在于遠程平臺確認,不保護PCR中的結(jié)構(gòu)化的平臺驗證數(shù)據(jù)。而是,它保持測量一起處于全球組件配置寄存器(軟件寄存器)表中。用于大型數(shù)據(jù)集的完整性保護的哈希樹的一個應用,諸如,例如由Merkle引入的哈希樹可以是PKI中的證書管理。這可以使用樹結(jié)構(gòu),諸如Merkle樹或經(jīng)認證的搜索樹產(chǎn)生CA的長期的責任性(accountability)。哈希樹的使用可以擴展到用于數(shù)字數(shù)據(jù)的普通長期安全歸檔。哈希樹可以用于運行時間存儲保護。系統(tǒng)可以使用哈希樹用于存儲裝置和/或存儲器保護,并可以分成不可信存儲裝置和TCB。運行在TCB上的程序可以使用哈希樹維護存儲在不可信存儲裝置上的數(shù)據(jù)的完整性,不可信存儲裝置可以是例如方便訪問的大塊存儲裝置(bulk store),在其中程序定期存儲和加載不適用于TCB的數(shù)據(jù)。整棵樹的根可以存儲在固定大小的片上可信寄存器中,但是其它節(jié)點可以存儲在主存儲器或緩存中。哈希樹的另一個用途可以包括示出它們?nèi)绾沃С譄o線傳感器網(wǎng)絡(luò)(WSN)中的分布式代碼的認證。還是在WSN中,包括多個節(jié)點的數(shù)據(jù)聚合可以使用哈希樹進行完整性保護。
使驗證數(shù)據(jù)可搜索的另一個實施方式可以包括經(jīng)認證的僅附加的跳表,其可以是有序的鏈表,設(shè)計為通過采用“快捷方式(shortcut)”允許快速查找存儲的數(shù)據(jù)元。然而,樹可能更適合平臺狀態(tài)的確認,諸如,例如用于有效確定確認失敗的葉處的組件的子集。本文描述了使用一組有限的防篡改驗證數(shù)據(jù)寄存器從組件測量值生成樹結(jié)構(gòu)(例如二進制Merkle樹)的系統(tǒng)、方法和裝置。樹結(jié)構(gòu)可以使用TPM的能力生成,諸如,例如標準擴展操作。算法可以足夠小以在TCB內(nèi),尤其是在片上執(zhí)行。該方法的這部分可以提高哈希樹的根的生成的安全性,其反過來可以向樹節(jié)點提供更多的安全性。本文還描述了系統(tǒng)、方法和裝置,用于利用通過通用PCR值和SML的增強的診斷能力開發(fā)用于有效確認的樹結(jié)構(gòu)來增加遠程平臺確認的安全性特性,同時從失敗點搜索的樹狀結(jié)構(gòu)的效率中受益。樹結(jié)構(gòu)數(shù)據(jù)的這種使用可以用于安全診斷、確認和/或證明。本文描述的系統(tǒng)、方法和裝置可以使用有限數(shù)量的驗證數(shù)據(jù)寄存器來安全地生成一個根驗證值。TCG指定的可信計算的具體實施方式
的每個參考,諸如,例如TPM操作、PCR和/或SML,可以是本文描述的系統(tǒng)、方法和裝置的實施中使用的示意性實施方式。算法和/或進程可以適用于具有其所使用的最低限度能力的每種安全技術(shù)。 硬件保護的寄存器中的一個,vdef {C,…,K},例如PCR,可以包括最終樹的根。該
樹可以是二進制的,保持算法緊湊并,例如,提供失敗組件的細粒度檢測。葉可以攜帶測量值,而內(nèi)部節(jié)點可以保存在修改的SML中。SML可以以支持確認數(shù)據(jù)的樹結(jié)構(gòu)的方式被修改,即,其可以不是測量值的線性列表,但是數(shù)據(jù)結(jié)構(gòu)可以支持標準樹操作和遍歷。為了在平臺確認過程中有效搜索,SML可以支持增加新葉并保持邊的關(guān)系。在深度d的樹的葉處增加一個新的測量可能需要重新計算存儲在V e V中的樹根和/或該葉的減少的哈希樹的d-Ι個內(nèi)部節(jié)點。Merkle樹的“左” “右”邊分別有天然著色(coloring),因為二進制擴展操作(I)是不可交換的。葉繼承這種順序,并從左到右地增加。二進制,d數(shù)字表示葉n,O彡η彡2d-l,記為<n>,產(chǎn)生從葉到根的唯一路徑上內(nèi)部節(jié)點和邊的自然(natural)坐標。
就是說,第k個數(shù)字(從MSB計數(shù),k=l,----, d), <n>k=l,分別通過<n>k=0或<n>k=l確定該
路徑上深度為k-Ι的節(jié)點是否分別由左、右邊連接。在算法執(zhí)行的過程中產(chǎn)生的每一個子樹的根可以安全地存儲在V e V中。如果存在兩個具有相同深度d’的子樹(測量值是深度為O的子樹),它們可以合并為單個的深度為d’ +1的樹。在使用合并操作中,兩個保護子樹根的V中的一個可以在合并操作后被釋放??梢灾贫ㄓ糜谛碌竭_的測量值的更新算法,從而寄存器V1,……,Vd^1包含深度為1,....,d-Ι的“激活”子樹的當前狀態(tài),因此Vd可以包含當前的全局(global)根值。此處“激活”描述為一個子樹,其根等待與相同深度的子樹合并完成。謹慎地制定從而使用實際的測量值、保護的寄存器和/或正常的擴展操作,且不涉及未經(jīng)保護的存儲空間。以nil (無)表示深度為d的全二叉樹的空節(jié)點。樹的形成可以由圖4中所示的算法I執(zhí)行。算法I中涉及的各種操作包括M向Vd增加測量;Vd — m。Sv存儲驗證數(shù)據(jù)寄存器到SML ;Vk — SML。Sm 存儲測量到 SML ;m — SML。V復制驗證數(shù)據(jù)寄存器;Vk — Vk+1。
El 以測量擴展 Vd ;Vd — Vd m。E2擴展內(nèi)部節(jié)點寄存器;Vk — Vk Vk+1。上述符號可互換地表示操作及其執(zhí)行次數(shù)。一個丟失操作m — RoTM可以被歸入Sm。如果n〈2d,樹可能在右邊處殘缺,可以執(zhí)行圖6中所示的算法2中示出的清除過程。算法2 (圖6)可以導致根的最終合并,從而V1最終包含所有的子樹信息。由于圖4中所示的算法I的第17-21行的測試,如果該樹還沒滿,那么可以進行清除過程。完成數(shù)所根據(jù)的規(guī)則是圖5所示配置在右邊處正確。 內(nèi)部節(jié)點可以寫到SML,即使它們是沿著左邊的結(jié)果(帶來稍許的冗余)。形式上,上述完成樹所根據(jù)的規(guī)則可以解釋為修改“ ”操作的概念,使得X O nil=x,如此處解釋的。如果葉和內(nèi)部節(jié)點以圖4所示算法I規(guī)定的順序添加到SML,可以獲得最后得到的樹的天然順序化(serialization)。對于深度為3的不完整樹該順序如圖7所示。在圖7中,得到的SML中標記的項10和11相同,這是由于11是由清除算法2的前向操作創(chuàng)建的。二進制搜索可以使用SML順序為SML中的樹節(jié)點定址。給定長度為2d+1-l的SML中的序列號K,這樣一個搜索從最后一個項——根進行。其余2d+1-2個項同等地劃分為大小為2d-l的部分,且決定K是在左邊部分還是右邊部分。重復這個過程直到K指向當前部分的最右的元素(element)。做出決定的順序產(chǎn)生了 SML中從根引到具有索引K的節(jié)點的左-右邊的順序。圖4的樹形成算法I可以容易地適應任意、統(tǒng)一的元數(shù)(函數(shù)或操作的元數(shù)是該函數(shù)使用的自變量(argument)或操作數(shù)的個數(shù)),諸如b的樹。為此,二進制坐標<n>必須由b元坐標<n>(b)以及其分別在圖4所示算法I的第4、12行評估的第d和第k位數(shù)字代替,
其中評估的表達式必須變?yōu)椤K惴? (圖6)可以相應地調(diào)整。進一步推廣到任意樹可能需要建立關(guān)聯(lián)節(jié)點坐標,即,η —節(jié)點的映射。在每個元數(shù)超過2的節(jié)點,由于對于連接到每個節(jié)點的支線(leg)的哈希擴展是線性的,因此可能會有上述提到的缺點,且可能出現(xiàn)檢測粒度的損失。從生成過程可以清楚,可以以有限數(shù)量V1, . ... Vr的驗證數(shù)據(jù)寄存器覆蓋樹的葉處的有限數(shù)量的組件。最大容量可以計算如下。用于第一寄存器V1的過程可以使用r-Ι個其它寄存器作為長度為r-Ι的管道來建立深度為r的樹。當V1被占用時,第二寄存器可以支持深度為r-Ι的樹,等等,直到最后一個寄存器\,針對該\管道的深度為0,樹的深度為I。因此寄存器的樹攜帶的葉的總的數(shù)量可以這樣給出= r+i-2(式 2)
k=l對于附屬于V I. 2規(guī)范的TPM的PCR數(shù)量r=24,這產(chǎn)生33,554,430個位置用于r個樹的葉處的組件測量。如果限制為最后16個PCR,因為,例如,根據(jù)TCG的PC客戶端規(guī)范,PCR 0-7是預留的,規(guī)范還要計數(shù)131,070個測量。盡管這個容量很高,但不是無限的,因為標準是線性可擴展的。因此,由于在啟動過程中或者在運行時間進行的測量的數(shù)量不是預先已知的,所以最后一個寄存器可以,作為后備(fallback),在達到容量限制后進行線性擴展。圖8示出了這種安排——顯示樹的驗證數(shù)據(jù)的最大容量安排。在圖8中,葉處的測量值表示為m。樹形成算法的空間復雜度很小。因為內(nèi)部數(shù)據(jù)明確需要三個de {l,....r},n e {0,... 2d-l},以及 k e {1,.... d},數(shù)據(jù)的大小最大為d + 2「log24£r + 2「log2r"|J個比特。另外,根據(jù)實施,一個寄存器可能被需要來接收并保持當前的測量值,和/或作為用于對驗證數(shù)據(jù)寄存器操作的中間寄存器。SML適度增加了尺寸。對于深度為d的完全充滿的二叉樹,2d+1-2個節(jié)點值,包括葉測量,被存儲在SML中(根節(jié)點被包含在Vi中)。也就是說,樹形SML小于僅包含測量值的線性形成的SML的大小的雙倍。對于時間復雜度的估計,考慮深度為d的完整樹,S卩,2d個葉測量。根據(jù)樹的結(jié)構(gòu),可以對操作的發(fā)生進行計數(shù)。Sm.在每個葉處發(fā)生,即,?!鼻?。El和M在深度為d-Ι的·每個內(nèi)部節(jié)點處發(fā)生,即2^次。V和E2在深度d-2以上的每個內(nèi)部節(jié)點處發(fā)生,即Ztw-I次。最后,Sv在樹中除根以外的每個內(nèi)部節(jié)點處發(fā)生,根保持在V1中。也就是說,Sv發(fā)生2d-2次。這樣一共產(chǎn)生這樣的估計不管流控制,對于算法執(zhí)行時間為Ztw(EhM)+ Oim-I)(V+E2)+2dSm+(2d-2)Sv。對類似的操作進行分組(E1, EJ , {M, Sv, Sj 產(chǎn)生 2^ (EfE2)-Ε#11—1 (M+2Sv+2Sm) ISv+f-DV。假設(shè)存儲器操作在耗時上近似相等,并以通用常數(shù)對>叉>|\,|丨^\為
2 L
邊界,其中因子2包含在V中用于簡單的讀取/存儲實施,在Sm中用于上述提到的丟失操作,同樣也用于擴展操作E1 E2 < E,對于d>l的樹形成的時間復雜度的粗估計由
+(五+仏)給出。當擴展操作是主導因素時,樹形成可能需要小于經(jīng)認證的
V L )
啟動的線性鏈的一個擴展操作。對于由上述描述的過程生成的樹形驗證數(shù)據(jù)的確認,描述了在每個樹節(jié)點處使用可用信息的確認策略。平均計算成本可以分別關(guān)于失敗的測量的相對分擔(share)、數(shù)量進行計算。采用在普通經(jīng)認證的啟動中生成并存儲并隨后擴展到PCR的測量的線性鏈作為參考情況,可以看出樹的遍歷確認是顯著不同的。在前者的情況下,SML的操作原則上可以不本地化,而遍歷樹形SML可以允許識別在其中發(fā)生了操作的子樹。同樣的考慮適用于診斷確認,即,搜索不符合經(jīng)確認的平臺的期望參考配置的組件(本文描述為失敗組件)。對于線性鏈式SML,這可能需要比較每個測量和參考值和/或重新計算直到PCR的擴展操作鏈以驗證SML的完整性。由于線性SML中的操作可以不本地化,那么復制PCR值的失敗可能意味著診斷確認是不可能,可能不能將失敗的組件與好的組件區(qū)分開。對于樹形SML,情況更好一些。如果識別了一個子樹,其中SML的操作被懷疑,那么SML樹中它的補集(complement)仍然需要確認。而且,對于診斷確認,可以期望在確定失敗組件的集合并同時驗證根驗證數(shù)據(jù)寄存器的內(nèi)容上具有顯著的加速。在可能的情況下,樹形SML的確認可以用于找到無法確認的葉的子集和/或檢測SML的操作??梢约僭O(shè)在確認器處存在用于本地可用比較的參考樹。確認可以從樹的根,即驗證數(shù)據(jù)元V開始,遍歷SML數(shù)據(jù)的樹。這可以生成組件的葉集合,針對該組件的測量不同于參考值,該組件稱為失敗組件。在遍歷樹的過程中,可以應用具有修剪的深度優(yōu)先搜索,在每個分支節(jié)點做決定。樹可以是二進制的。分支節(jié)點及其兩個孩子處的SML樹值可以與相同節(jié)點位置的參考樹值進行比較,結(jié)果可以記為g (good)用于一致和/或b (bad)用于不一致。在這種表示法中,可能出現(xiàn)下述的情況,如圖9中所示。圖9示出了樹形SML中節(jié)點配置的分類。在圖9中,情況(a),該父節(jié)點以下的整個子樹可能都被肯定地確認,遍歷在該節(jié)點結(jié)束。在圖9中,情況(b),父節(jié)點可能由確認器將擴展操作應用到孩子節(jié)點值來重新計算。如果重新計算的值與該父節(jié)點處的值不匹配,那么這可以表明子樹之一的SML操作具有標記為壞的根。這可以作為異常處理。否則,確認可以繼續(xù)到下一級樹,分別遍歷發(fā)現(xiàn)壞值的子樹,S卩,(b)中的左、右或兩個子樹。情況(C),可以檢測到樹操作異常。這種檢測可以不對擴展操作進行重新計算就發(fā)生。最后一種情況(d),可以在二叉樹不完整和/或右側(cè)樹枝是空的時發(fā)生。那么值X與 值y相等,在該情況下遍歷可以進行到左側(cè),否則可能發(fā)生樹操作異常。確認樹形SML的一個優(yōu)點是具有正確根的子樹可以從對失敗組件的進一步搜索中丟棄?,F(xiàn)在提供一種對樹確認的性能進行量化評估的簡單概率模型。假設(shè),例如,SML是深度為d的完整樹。確認器具有表示已知期望平臺配置的完整參考樹。重新計算哈希操作可以用于估計確認復雜度的主要成本因素,而比較是廉價的。假設(shè)一組隨機的失敗葉。可以使用一種樂觀的確認策略,稱為診斷確認,其遍歷從根到失敗組件(即相對于參考樹的葉具有壞測量值的組件)的路徑。這種策略的一個特性就是它發(fā)現(xiàn)具有真實測量值的失敗組件。診斷確認可以如下進行。當訪問不同于參考樹中相應節(jié)點的內(nèi)部父節(jié)點,即壞的父節(jié)點時,可以遇到圖9中的一種情況,情況(b),或者情況(C)的最右邊的配置。在后一種情況下,可以不執(zhí)行對父節(jié)點的重新計算,因為很明顯SML完整性是失敗的。具有這個根配置的子樹可以從進一步遍歷中丟棄,因為其不能產(chǎn)生關(guān)于失敗組件的可信信息。這種情況下,進一步的步驟可以依賴于確認器的策略。情況(b)中的節(jié)點配置是這樣的,可能需要通過一個擴展操作O根據(jù)根哈希重新計算父哈希,來肯定從確認器的參考樹不能得知的這個配置是真實的。其根是在仔細檢查下壞的父節(jié)點的好的孩子節(jié)點的子樹可以從進一步的遍歷中丟棄。診斷確認的這個過程隱含地從診斷確認中排除了圖9的配置/情況(a)以及三個左邊的配置。只要有意義,可以在SML樹的進一步取證(forensic)評估中被考慮。診斷確認可能需要一個訪問,并在從失敗(壞)葉到根的路徑聯(lián)合(union)中的壞內(nèi)部節(jié)點處執(zhí)行哈希操作。在相反的未經(jīng)篡改的樹中,這可以隱含地排除了具有壞的父節(jié)點的右側(cè)配置/情況(C)。獨立且理想分布(i. i. d.)的壞葉的子集構(gòu)成葉的分數(shù)f e [O,I]。壞葉的數(shù)量是2df??梢匀缦旅娼忉尩哪菢佑嬎銐牡膬?nèi)部節(jié)點的期望數(shù)量Eim(rt,f)。本文解決的一個問題是對由葉的隨機i. i. d.選擇生成的二叉樹進行雙向著色(例如,壞的對(vs.)好的內(nèi)部節(jié)點),以及對將它連接到根的路徑進行著色。這種葉的隨機選擇和路徑可以相當于長度為d的i. i.d.的比特串的隨機選擇。對從N=2d個葉的集合中進行k次選擇后被著色的葉的期望數(shù)量F廣進行計算。以遞歸方式,五/=0,且
EL = E^ + ( Εζ +1)手=1 + [f 警。對其求解得到:E: = N(\ - (I - N-' f。
由于選中的比特串的所有子串在統(tǒng)計上是獨立的,在等級d-1,....O的內(nèi)部節(jié)點
應用相同的自變量。因此,著色的內(nèi)部節(jié)點的期望數(shù)量由合計
權(quán)利要求
1.一種在無線發(fā)射接收單元(WTRU)中用于生成能用于該WTRU的確認的驗證數(shù)據(jù)的方法,該WTRU包括一個或多個組件并具有包括多個安全寄存器的安全環(huán)境,該方法包括 針對所述WTRU的多個組件中的每一個組件,獲得表示所述WTRU的所述組件的測量的值; 生成測量日志(ML)并將該ML存儲在所述WTRU上,其中該ML包含所述組件測量值和其他組件專用數(shù)據(jù)的記錄; 根據(jù)針對每個組件的所述組件測量值生成驗證數(shù)據(jù),并將該驗證數(shù)據(jù)存儲在所述安全環(huán)境內(nèi)的所述安全寄存器的一個或多個安全寄存器中;以及 將所述驗證數(shù)據(jù)和所述ML組織到樹結(jié)構(gòu)中,其中包含所述驗證數(shù)據(jù)的所述安全寄存器定義所述樹結(jié)構(gòu)的根,所述ML定義所述樹結(jié)構(gòu)的內(nèi)部節(jié)點,以及包含在所述ML中的所述測量值定義所述樹結(jié)構(gòu)的葉,而且 其中,使用所述安全環(huán)境的安全擴展操作來形成所述樹結(jié)構(gòu)。
2.根據(jù)權(quán)利要求I所述的方法,其中所述樹結(jié)構(gòu)是二叉樹結(jié)構(gòu)。
3.根據(jù)權(quán)利要求I所述的方法,其中所述安全環(huán)境是可信平臺模塊。
4.根據(jù)權(quán)利要求I所述的方法,其中所述測量日志是存儲的測量日志。
5.根據(jù)權(quán)利要求I所述的方法,其中使用寄存器移位操作進一步形成所述樹結(jié)構(gòu)。
6.一種在無線發(fā)射接收單元(WTRU)中用于使用安全環(huán)境內(nèi)的多個安全寄存器生成驗證數(shù)據(jù)的方法,該WTRU包括一個或多個組件并具有安全環(huán)境,該方法包括 獲得表示所述WTRU的組件的測量的值; 根據(jù)所述測量值生成驗證數(shù)據(jù),并將該驗證數(shù)據(jù)存儲在所述安全環(huán)境內(nèi)的所述寄存器的一個寄存器中; 將所述測量值存儲到樹結(jié)構(gòu)中的葉節(jié)點;以及 在所述安全環(huán)境內(nèi)執(zhí)行一個或多個擴展操作以將存儲在所述葉節(jié)點中的所述值擴展到所述樹結(jié)構(gòu)的根節(jié)點,其中所述根節(jié)點包括在所述安全寄存器中的數(shù)據(jù),所生成的驗證數(shù)據(jù)被存儲在該安全寄存器中。
7.根據(jù)權(quán)利要求6所述的方法,其中所述樹結(jié)構(gòu)包括在從所述葉節(jié)點到所述根節(jié)點的路徑上的至少一個內(nèi)部節(jié)點,其中所述至少一個內(nèi)部節(jié)點形成所述樹結(jié)構(gòu)的子樹的根,且其中所述將存儲在所述葉節(jié)點中的值擴展到所述樹結(jié)構(gòu)的所述根節(jié)點進一步包括 執(zhí)行一個或多個擴展操作以將存儲在所述葉節(jié)點的所述值擴展到所述至少一個內(nèi)部節(jié)點,其中所述至少一個內(nèi)部節(jié)點包括在所述安全環(huán)境內(nèi)的另一個安全寄存器;以及 執(zhí)行一個或多個其他擴展操作以將來自所述至少一個內(nèi)部節(jié)點的所述值擴展到所述樹結(jié)構(gòu)的所述根節(jié)點。
8.根據(jù)權(quán)利要求6所述的方法,其中所述樹結(jié)構(gòu)是二叉樹結(jié)構(gòu)。
9.根據(jù)權(quán)利要求6所述的方法,其中所述安全環(huán)境是可信平臺模塊。
10.根據(jù)權(quán)利要求6所述的方法,其中執(zhí)行一個或多個其他擴展操作以將來自所述至少一個內(nèi)部節(jié)點的所述值擴展到所述樹結(jié)構(gòu)的所述根節(jié)點的所述步驟基于所述至少一個內(nèi)部節(jié)點到所述根節(jié)點的距離。
11.一種用于確認由無線發(fā)射/接收單元(WTRU)生成的樹形驗證數(shù)據(jù)的方法,其中所述樹形驗證數(shù)據(jù)包括組織到樹結(jié)構(gòu)中的驗證數(shù)據(jù)元、測量日志(ML)和組件測量值,其中所述驗證數(shù)據(jù)元定義所述樹結(jié)構(gòu)的根節(jié)點,所述ML定義所述樹結(jié)構(gòu)的內(nèi)部節(jié)點,以及所述組件測量值定義所述樹結(jié)構(gòu)的葉節(jié)點,該方法包括 接收在所述樹結(jié)構(gòu)中組織的樹形驗證數(shù)據(jù); 從在所接收的樹形驗證數(shù)據(jù)的根處的驗證數(shù)據(jù)元開始,遍歷所述樹結(jié)構(gòu); 作為遍歷所述樹結(jié)構(gòu)的部分,將所接收的樹結(jié)構(gòu)的分支節(jié)點和該分支節(jié)點的孩子節(jié)點處的值與參考樹中相同節(jié)點位置處的值進行比較; 基于所述節(jié)點值的比較,確定是確認所述WTRU還是確認該WTRU中的單個組件。
12.根據(jù)權(quán)利要求11所述的方法,該方法進一步包括 如果分支節(jié)點或該分支節(jié)點的孩子節(jié)點的節(jié)點值與所述參考樹的相應節(jié)點值不匹配,則通過對所述孩子節(jié)點值應用擴展操作來重新計算分支節(jié)點值;以及將重新計算的節(jié)點值與所述參考樹的相應節(jié)點值進行比較。
13.根據(jù)權(quán)利要求11所述的方法,其中所述參考樹被本地存儲在確認器上。
14.根據(jù)權(quán)利要求11所述的方法,其中由與所述WTRU相關(guān)聯(lián)的網(wǎng)關(guān)設(shè)備執(zhí)行所述步驟。
15.根據(jù)權(quán)利要求11所述的方法,其中由與所述WTRU相關(guān)聯(lián)的可信第三方執(zhí)行所述步驟。
16.根據(jù)權(quán)利要求15所述的方法,其中從與所述WTRU相關(guān)聯(lián)的網(wǎng)關(guān)設(shè)備接收所述樹形驗證數(shù)據(jù)。
17.一種用于證實由無線發(fā)射/接收單元(WTRU)生成的測量日志(ML)的節(jié)點值的方法,其中所述ML的值被存儲作為樹結(jié)構(gòu)的節(jié)點,該樹結(jié)構(gòu)包括根節(jié)點、內(nèi)部節(jié)點和葉節(jié)點,該方法包括 接收證明包,該證明包指示將由子樹證書授權(quán)中心(SCA)證實的節(jié)點值; 將所述節(jié)點值識別為能由所述SCA證實的節(jié)點值; 產(chǎn)生與所述節(jié)點值相關(guān)聯(lián)的清單,其中該清單包括與所述節(jié)點值相關(guān)聯(lián)的確認信息;產(chǎn)生用于所述節(jié)點值的證書,該證書為被配置成將所述確認信息綁定到所述WTRU的安全環(huán)境;以及 發(fā)布具有所述清單的該證書,其中該證書和清單被提供給所述WTRU的所述安全環(huán)境,該WTRU將所述證書存儲在該WTRU的ML中。
18.根據(jù)權(quán)利要求17所述的方法,其中所述證書用于代替所述WTRU的所述ML的節(jié)點值。
19.根據(jù)權(quán)利要求17所述的方法,其中所述證明包包括簽名、所述節(jié)點值、由可信證書授權(quán)中心發(fā)布的證書以公共證明身份密鑰。
20.根據(jù)權(quán)利要求17所述的方法,其中所述SCA是與所述WTRU相關(guān)聯(lián)的網(wǎng)關(guān)設(shè)備。
全文摘要
提供了一種用于生成驗證數(shù)據(jù)的系統(tǒng)、方法和裝置,驗證數(shù)據(jù)可以用于確認無線發(fā)射接收單元(WTRU)。驗證數(shù)據(jù)可以使用樹結(jié)構(gòu)生成,其中該樹結(jié)構(gòu)具有表示為根節(jié)點的受保護的寄存器和表示為葉節(jié)點的組件測量。驗證數(shù)據(jù)可以用于確認WTRU。確認可以使用分割確認來執(zhí)行,這是所描述確認的將確認任務分布到兩個或更多個實體上的一種形式。還描述了子樹證實,其中樹結(jié)構(gòu)的子樹可以由第三方進行證實。
文檔編號H04L9/32GK102986163SQ201180022607
公開日2013年3月20日 申請日期2011年3月4日 優(yōu)先權(quán)日2010年3月5日
發(fā)明者A·施米特, A·萊切爾, I·查, S·B·帕塔爾, Y·C·沙阿 申請人:交互數(shù)字專利控股公司