專利名稱:一種可實現(xiàn)雙向平臺鑒別的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)完全技術(shù)領(lǐng)域,具體涉及一種可實現(xiàn)雙向平臺鑒別的方法。
背景技術(shù):
隨著信息化的不斷發(fā)展,病毒、蠕蟲等惡意軟件的問題異常突出。目前已 經(jīng)出現(xiàn)了超過三萬五千種的惡意軟件,每年都有超過四千萬的計算機被感染。 為了解決這些問題,除了用戶鑒別之外還需要增加對用戶所在平臺的識別和鑒 別,即平臺鑒別,包括平臺身份鑒別和平臺組件評估,目的是確定用戶所在 平臺是否處于一個可信賴狀態(tài)。平臺鑒別可以運用于各種不同的應(yīng)用場景。例 如,基于客戶端的可信賴性來控制客戶端對網(wǎng)絡(luò)的訪問;判定數(shù)字版權(quán)管理 (Digital Rights Management, DRM)客戶端軟件是否處于一個可信賴狀態(tài),是 否已執(zhí)行了一定的策略來防止非法使用、復(fù)制或重新分配知識產(chǎn)權(quán)。目前,大 多數(shù)平臺鑒別應(yīng)用都是單向模式。
若要實現(xiàn)雙向平臺鑒別,則可以正反方向執(zhí)行兩次單向平臺鑒別。不過, 也有一些研究者們?yōu)辄c對點網(wǎng)絡(luò)專門設(shè)計了雙向平臺鑒別模式。但是,上述雙 向平臺鑒別實現(xiàn)方法存在以下問題
(1) 鑒別雙方進行平臺身份鑒別時都需要各自利用平臺私有認證中心
(CertificateAuthority, CA)來驗證對方的平臺身份證書的有效性,如身份證 明密鑰(Attestation Identity Key, AIK)證書的有效性,也就是需要與平臺私有 CA進行通信,其中平臺私有CA為鑒別雙方的平臺頒發(fā)平臺證書。但是,在有些 情況下它們可能都不具有,或者可能只有一方具有與平臺私有CA進行通信的能 力;
(2) 各種平臺的組件是復(fù)雜多樣的,鑒別雙方不可能存儲足夠多的平臺組 件的基準值來校驗和評估對方平臺組件的可信賴狀態(tài),如存儲的基準完整性 值。因此,鑒別雙方都需要各自與第三方管理的平臺組件基準值數(shù)據(jù)庫進行通 信才能完成對對方平臺的平臺組件評估。但是,在有些情況下它們可能都不具 有,或者可能只有一方具有與第三方管理的平臺組件基準值數(shù)據(jù)庫進行通信的能力。此外,平臺組件的校驗是較為復(fù)雜的,這將會大大增加終端A和終端B的 負荷。
(3)鑒別雙方不存在所在網(wǎng)絡(luò)的管理策略來防止對方進行平臺組件信息探 測,使得自身的平臺組件信息完全暴露給對方,增加了自身平臺的危險性。
發(fā)明內(nèi)容
本發(fā)明的目的就是克服背景技術(shù)中所述的現(xiàn)有的雙向平臺鑒別實現(xiàn)方法所 存在的技術(shù)問題。
本發(fā)明的技術(shù)解決方案是 一種可實現(xiàn)雙向平臺鑒別的方法,其特殊之處 在于,該方法包括以下步驟
1)服務(wù)器S分別建立與平臺私有CA、組件分類表及網(wǎng)絡(luò)管理策略之間的
通信,其中平臺私有CA用于頒發(fā)終端A和終端B的平臺身份證書,以及在執(zhí) 行平臺鑒別協(xié)議時驗證終端A和終端B的平臺身份證書的有效性;組件分類表 中的平臺組件基準值是通過服務(wù)器S與基準值數(shù)據(jù)庫進行通信而獲得的;基準 值數(shù)據(jù)庫用于存儲各種平臺組件的基準值;網(wǎng)絡(luò)管理策略用于生成終端A和終 端B的平臺組件評估結(jié)果,并對平臺組件信息進行保護;
2) 終端B發(fā)起與終端A的平臺鑒別協(xié)議終端B向終端A發(fā)送對終端A的平臺 組件度量參數(shù);
3) 終端A等待終端B發(fā)起的平臺鑒別協(xié)議若在一個設(shè)定的時間內(nèi)終端A還 沒有收到終端B發(fā)起的平臺鑒別協(xié)議,終端A則主動發(fā)起與終端B的平臺鑒別協(xié) 議,終端A向終端B發(fā)送對終端B的平臺組件度量參數(shù);否則,終端A收到步驟2) 中的消息后,根據(jù)終端B在步驟2)中發(fā)送的對終端A的平臺組件度量參數(shù)獲取終 端A的平臺組件度量值,然后將所獲得的終端A的平臺組件度量值發(fā)送給終端B, 同時向終端B發(fā)送對終端B的平臺組件度量參數(shù);
4) 終端B首先驗證終端A的平臺組件度量值中的平臺簽名是否有效,若無效, 則丟棄該消息;若有效,則根據(jù)終端A在步驟3)中發(fā)送的對終端B的平臺組件度 量參數(shù)獲取終端B的平臺組件度量值,然后向服務(wù)器S發(fā)送終端A的平臺身份證 書、終端B的平臺身份證書、終端A的平臺組件度量值和終端B的平臺組件度量 值;
5) 服務(wù)器S首先利用平臺私有CA驗證終端A和終端B的平臺身份證書的有效性,并生成相應(yīng)的平臺身份證書驗證結(jié)果;若平臺身份證書無效,則將終端A和 終端B的平臺身份證書驗證結(jié)果發(fā)送給終端B,否則利用組件分類表中相應(yīng)的平 臺組件的基準值來校驗終端A和終端B的平臺組件度量值,并生成相應(yīng)的平臺組 件校驗結(jié)果,然后利用網(wǎng)絡(luò)管理策略、組件分類表和平臺組件校驗結(jié)果來生成 終端A和終端B的平臺組件評估結(jié)果,最后將終端A和終端B的平臺身份證書驗證 結(jié)果和平臺組件評估結(jié)果發(fā)送給終端B;
6) 終端B首先驗證終端A和終端B的平臺身份證書驗證結(jié)果和平臺組件評估 結(jié)果的服務(wù)器S的用戶簽名,若無效,則丟棄該消息;否則,當終端B已完成對 終端A的平臺鑒別時,終端B根據(jù)所獲得的終端A的平臺身份證書驗證結(jié)果和所 執(zhí)行的各輪平臺鑒別協(xié)議中的終端A的平臺組件評估結(jié)果生成終端B的訪問決 策,并執(zhí)行終端B的訪問決策,最后,終端B將從步驟5)中獲得的終端A和終端 B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果、終端B的平臺組件度量值中的 平臺簽名所涉及的信息、終端B的訪問決策發(fā)送給終端A;當終端B還未完成對 終端A的平臺鑒別時,終端B將從步驟5)中獲得的終端A和終端B的平臺身份證 書驗證結(jié)果和平臺組件評估結(jié)果、終端B的平臺組件度量值中的平臺簽名所涉及 的信息發(fā)送給終端A;終端B在完成本輪平臺鑒別協(xié)議后跳至步驟2)執(zhí)行另一輪 平臺鑒別協(xié)議;
7) 終端A首先驗證終端B的平臺組件度量值中的平臺簽名所涉及的信息的平 臺簽名,若無效,則丟棄該消息;若有效,則驗證步驟5)中的終端A和終端B 的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果的服務(wù)器S的用戶簽名,若無效, 則丟棄該消息;若有效,則驗證終端B的訪問決策,若終端B的訪問決策存在且 值為禁止,則斷開與終端B的連接,否則,當終端A已完成對終端B的平臺鑒別 時,終端A根據(jù)所獲得的終端B的平臺身份證書驗證結(jié)果和所執(zhí)行的各輪平臺鑒 別協(xié)議中的終端B的平臺組件評估結(jié)果生成終端A的訪問決策,并執(zhí)行終端A的 訪問決策,最后將終端A的訪問決策發(fā)送給終端B;當終端A還未完成對終端B 的平臺鑒別時,終端A在完成本輪平臺鑒別協(xié)議后跳至步驟3)執(zhí)行另一輪平臺 鑒別協(xié)議;若終端A收到終端B的訪問決策,則將終端B的訪問決策通告于終端A 中執(zhí)行平臺鑒別協(xié)議的相關(guān)組件;
8) 終端B將終端A的訪問決策通告于終端B中執(zhí)行平臺鑒別協(xié)議的相關(guān)組件。
上述終端A的平臺身份證書是指終端A的身份證明密鑰AIK證書AIKA,終端B 的平臺身份證書是指終端終端B的身份證明密鑰AIK證書AIKB。
上述步驟2)的具體步驟是終端B生成隨機數(shù)NB和對終端A的平臺完整性 度量參數(shù)ParmsA,然后將它們發(fā)送給終端A; ParmsA是終端A中平臺配置寄存器 PCR的序號列表、終端A中平臺組件的組件類型列表或終端A中平臺組件的標識 列表中的任一種或任兩種、三種的混合列表。
上述步驟3)的具體步驟是終端A根據(jù)NB和PamiSA獲取終端A中各個平臺 組件的完整性報告^po/^和PCR引用數(shù)據(jù)QuotesA,其中,i^poW&包含終端A 的PCR引用數(shù)據(jù)和快照,并需要安全傳輸至服務(wù)器S; QuotesA包含NB、終端A的 PCR值、對NB和終端A的PCR值的AIK簽名、終端A的AIK證書AIKA;然后向終 端B發(fā)^^oW^, QuotesA,隨機數(shù)NA和對終端B的平臺完整性度量參數(shù)ParmsB, 其中ParmsB是終端B中PCR的序號列表、終端B中平臺組件的組件類型列表或終 端B中平臺組件的標識列表中的任一種或任兩種、三種的混合列表。
上述步驟4)的具體步驟是終端B驗證QuoteSA中的AIK簽名,若無效,則 丟棄該消息;若有效,則根據(jù)NA和ParmsB獲取終端B中各個平臺組件的完整性報 告/ epoW^和PCR弓I用數(shù)據(jù)QuotesB,其中^/ o滄5包含終端B的PCR弓(用數(shù)據(jù)和快 照;QuotesB包含NA、終端B的PCR值、對NA和終端B的PCR值的AIK簽名、終端 B的AIK證書AIKB,然后向服務(wù)器S發(fā)送NB.s, NA, AIKA, AIKB, i 印oW&,及印oW&, 其中NB.s是終端B產(chǎn)生的隨機數(shù)。
上述步驟5)的具體步驟是服務(wù)器S利用平臺私有CA驗證終端A和終端B 的AIK證書AIKA和AIKB的有效性,并生成相應(yīng)的AIK證書有效性驗證結(jié)果ReA和 ReB,當AIK證書有效時,服務(wù)器S進一步利用組件分類表中相應(yīng)平臺組件的完整 性基準值來校驗終端A和終端B的i^poW^和i^poW^中的平臺組件的完整性度量 值,并生成平臺組件完整性校驗結(jié)果,然后利用網(wǎng)絡(luò)管理策略、組件分類表、 終端A和終端B的平臺組件完整性校驗結(jié)果生成終端A和終端B的組件級評估結(jié) 果ResA和ResB、組件級修補信息及em&和及em&,其中i 抓&需要安全傳輸至終端 A, i^m&需要安全傳輸至終端B,最后向終端B發(fā)送ReA, ReB, [NB.S, NA, AIKA, AIKB, ReA, ReB]Sig, ResA, 7 e附&, ResB, i eww^, [NB.S, NA, QuotesA, QuotesB,ResA, i em&, ResB, i e附^]sig;其中ReA, ReB,B[NB.s, NA, AIKA, AIKB, ReA, ReB]sig是終端A和終端B的AIK證書驗證結(jié)果,ResA, Aew&, ResB,及em^和[NB-s, NA, QuotesA, QuotesB, ResA, A^w&, ResB, Aew^]sig是終端A和終端B的平臺 組件評估結(jié)果,[NB.S, Na, AIKa, AIKb, ReA, ReB]sig是服務(wù)器S對NB.s, NA, AIKA, AIKB, ReA和Res的用戶簽名,[NB.S, NA, QuotesA, QuotesB, ResA,及ew", ResB, Aem&]sig是月艮務(wù)器S對NB.s, NA, QuotesA, QuotesB, ResA, 7 ew&, ResB 和i ^2&的用戶簽名,終端A和終端B的AIK證書驗證結(jié)果僅在執(zhí)行首輪平臺鑒別 協(xié)議時才存在。
上述步驟6)的具體步驟是終端B驗證[NB.s, NA, AIKA, AIKb, ReA, ReB]Sig 和[Nb.s, Na, QuotesA, QuotesB, ResA, i e附",ResB, i e附^]sig的服務(wù)器S的用 戶簽名,若無效則丟棄該消息;若有效,貝i」向終端A發(fā)送QuotesB, NB.S, Acti0nB 和步驟5)的終端A和終端B的AIK證書驗證結(jié)果和平臺組件評估結(jié)果;其中 ActionB是終端B的訪問決策,其值為允許、禁止或隔離,ActionB在終端B已完成 對終端A的平臺鑒別時才存在。
上述步驟7)的具體步驟是終端A驗證QuotesB中的AIK簽名,然后驗證步 驟5)中的[Nb.s, Na, AIKa, AIKb, ReA, ReB]s^Q[NB.s, NA, QuotesA, QuotesB, ResA, Aem&, ResB, ^附&]sig的服務(wù)器S的用戶簽名,若無效,則丟棄該消息; 若有效,則驗證ActicmB,若ActionB存在且其值為禁止,則斷開與終端B的連接, 否則,當終端A已完成對終端B的平臺鑒別時,終端A根據(jù)所獲得的終端B的AIK 證書驗證結(jié)果和所執(zhí)行的各輪平臺鑒別協(xié)議中的終端B的平臺組件評估結(jié)果生 成終端A的訪問決策ActionA,并執(zhí)行該訪問決策Actioiu,最后將該訪問決策發(fā) 送給終端B;當終端A還未完成對終端B的平臺鑒別時,終端A在完成本輪平臺鑒 別協(xié)議后跳至步驟3)執(zhí)行另一輪平臺鑒別協(xié)議;若終端A收到終端B的訪問決策, 則將終端B的訪問決策通告于終端A中執(zhí)行平臺鑒別協(xié)議的相關(guān)組件;Actioiu值 為允許、禁止或隔離,ActionA在終端A已完成對終端B的平臺鑒別時才存在。
上述終端A和終端B之間的平臺鑒別協(xié)議消息是由終端A和終端B之間建立 的安全通道進行安全保護的;若該安全通道相關(guān)于終端A和終端B之間的用戶認 證,則可以在AIK簽名中綁定該安全通道來增強平臺鑒別協(xié)議的安全性;若該安 全通道不相關(guān)于終端A和終端B之間的用戶認證,則可以在AIK簽名中綁定該安全通道和用戶認證信息來增強平臺鑒別協(xié)議的安全性。
上述步驟6)中若本輪平臺鑒別協(xié)議不是終端A和終端B之間的首輪平臺鑒別 協(xié)議,則本步驟發(fā)送給終端A的消息中不包含終端A和終端B的平臺身份證書驗 證結(jié)果。
本發(fā)明中的服務(wù)器S為終端A和終端B提供了所有平臺鑒別能力,包括平臺 身份鑒別和平臺組件的評估,終端A和終端B僅需要驗證對方的平臺簽名、驗證 服務(wù)器S的用戶簽名以及根據(jù)平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果生成 訪問決策,有效地降低了終端A和終端B的負荷,并且增強了該雙向平臺鑒別方 法的應(yīng)用性;通過設(shè)定網(wǎng)絡(luò)管理策略,并結(jié)合組件分類表,可以有效地保護終 端A和終端B中的某些平臺組件不被暴露給對方。
圖l是本發(fā)明的示意框圖。
具體實施例方式
參見圖1,本發(fā)明的可實現(xiàn)雙向平臺鑒別的方法的具體步驟如下
步驟l)服務(wù)器S建立與平臺私有CA的通信,建立與組件分類表的通信,建
立與網(wǎng)絡(luò)管理策略的通信,其中組件分類表中的平臺組件基準值可以通過與基 準值數(shù)據(jù)庫進行通信而獲得。
平臺私有CA可以由服務(wù)器S來充當或建立,也可以由第三方權(quán)威機構(gòu)來充 當,它用于頒發(fā)終端A和終端B的平臺身份證書,如終端A和終端B的AIK證書, 以及在執(zhí)行平臺鑒別協(xié)議時驗證終端A和終端B的平臺身份證書的有效性。
基準值數(shù)據(jù)庫由第三方權(quán)威機構(gòu)來建立,它存儲了各種平臺組件的基準值, 如各種平臺組件的完整性基準值。
組件分類表可以由服務(wù)器S來建立,也可以由第三方權(quán)威機構(gòu)來建立,它的 每l條記錄可以包含平臺組件的組件類型、序號、標識、版本號、安全級別和基 準值等等,其中基準值需要通過與基準數(shù)據(jù)庫進行通信才能獲得。例如,組件 分類表的結(jié)構(gòu)如下所示廣
版本號,安全級別,基準值
廣
組件類型
序號,標識 ^
《
、
平臺組件的組件類型表示該平臺組件屬于哪一類型的平臺組件,平臺組件 的序號表示該平臺組件在組件分類表中的位置編號(用于模糊區(qū)分同一組件類 型下的不同平臺組件),平臺組件的標識表示該平臺組件是什么(如是天網(wǎng)防 火墻還是其他防火墻,用于明確區(qū)分同一組件類型下的不同平臺組件),平臺組 件的版本號表示該平臺組件屬于哪一個版本(如V5丄1.1002),平臺組件的安 全級別表示該平臺組件屬于哪一個安全級別,平臺組件的基準值可以用來校驗 平臺鑒別協(xié)議中的平臺組件度量值(如平臺組件的完整性基準值)。
網(wǎng)絡(luò)管理器策略由服務(wù)器S來建立,它用于生成終端A和終端B的平臺組件
評估結(jié)果,可以對某些平臺組件信息進行保護,以避免在終端A和終端B之間被
對方探知。當網(wǎng)絡(luò)管理策略設(shè)定某個平臺組件在終端A和終端B之間不需要防止
被暴露時,服務(wù)器S生成的平臺組件評估結(jié)果可以包含平臺組件的組件類型、序
號、標識、版本號、安全級別、運行狀況和平臺組件校驗結(jié)果。例如非保護
模式下的平臺組件評估結(jié)果的結(jié)構(gòu)如下所示
序號,標識,版本號,安全級別,運行狀況和平臺組件校驗結(jié)果
組件類型
運行狀況是指平臺組件的是否正在運行,是利用哪個端口號在通信等等, 平臺組件校驗結(jié)果可以是平臺組件的完整性校驗結(jié)果,用于顯示平臺組件的完 整性狀態(tài)。
當網(wǎng)絡(luò)管理策略設(shè)定某個平臺組件在終端A和終端B之間需要防止被暴露時, 服務(wù)器S生成的平臺組件評估結(jié)果可以包含平臺組件的組件類型、序號、安全級
別、運行狀況和平臺組件校驗結(jié)果。例如保護模式下的平臺組件評估結(jié)果的 結(jié)構(gòu)如下所示f序號,安全級別,運行狀況和平臺組件校驗結(jié)果
組件類型
運行狀況不能包含可識別平臺組件的信息,如可識別平臺組件的端口號。 因為某端口號可能僅限于某平臺組件使用,所以通過該端口號可識別出平臺組 件,從而暴露了平臺組件。
步驟2)終端B發(fā)起與終端A的平臺鑒別協(xié)議,它向終端A發(fā)送對終端A的平
臺組件度量參數(shù),它標識終端A中哪些平臺組件需要度量。例如終端B生成隨
機數(shù)NB和對終端A的平臺完整性度量參數(shù)ParmsA,其中ParmsA標識終端A中哪些 平臺完整性需要度量,然后將它們發(fā)送給終端A。 ParmsA可以是終端A中平臺配 置寄存器PCR的序號列表,可以是終端A中平臺組件的組件類型列表,可以是終 端A中平臺組件的標識列表,還可以是上述兩者或三者的混合列表。
步驟3)終端A等待終端B發(fā)起的平臺鑒別協(xié)議,若在一個設(shè)定的時間內(nèi)還沒 有收到終端B發(fā)起的平臺鑒別協(xié)議,則主動發(fā)起與終端B的平臺鑒別協(xié)議,它向 終端B發(fā)送對終端B的平臺組件度量參數(shù),它標識終端B中哪些平臺組件需要度 量,否則收到步驟2)中的消息后,根據(jù)終端B在步驟2)中發(fā)送的對終端A的平 臺組件度量參數(shù)獲取終端A的平臺組件度量值,然后將所獲得的終端A的平臺組 件度量值發(fā)送給終端B,同時向終端B發(fā)送對終端B的平臺組件度量參數(shù),它標 識終端B中哪些平臺組件需要度量。例如終端A根據(jù)NB和ParmsA獲取終端A中 各個平臺組件的完整性報告i 印oW&和PCR弓I用數(shù)據(jù)QuotesA,其中i 印or^包含 終端A的PCR引用數(shù)據(jù)和快照等,它需要安全傳輸至服務(wù)器S, QuoteSA包含NB、 終端A的PCR值、對NB和終端A的PCR值的AIK簽名、終端A的AIK證書AIKA等, 然后向終端B發(fā)Mi ^wt^, Quotes^隨機數(shù)NA和對終端B的平臺完整性度量參 數(shù)ParmsB,其中ParmsB標識終端B中哪些平臺完整性需要度量。ParmsB可以是終 端B中PCR的序號列表,可以是終端B中平臺組件的組件類型列表,可以是終端B 中平臺組件的標識列表,還可以是上述兩者或三者的混合列表。
步驟4)終端B收到步驟3)中的消息后,首先驗證終端A的平臺組件度量值 中的平臺簽名,若無效,則丟棄該消息,否則根據(jù)終端A在步驟3)中發(fā)送的對 終端B的平臺組件度量參數(shù)獲取終端B的平臺組件度量值,然后向服務(wù)器S發(fā)送終端A的平臺身份證書、終端B的平臺身份證書、終端A的平臺組件度量值和終端B 的平臺組件度量值。例如終端B驗證QuotesA中的AIK簽名,若無效,則丟棄該 消息;若有效,則根據(jù)NA和ParmsB獲取終端B中各個平臺組件的完整性報告 i^po他s和PCR弓I用數(shù)據(jù)QuotesB,其中7 ^oW&包含終端B的PCR弓I用數(shù)據(jù)和快照 等,它需要安全傳輸至服務(wù)器S, QuoteSB包含na、終端B的PCR值、対Na和終端 B的PCR值的AIK簽名、終端B的AIK證書AIKB等,然后向服務(wù)器S發(fā)送NB.s, NA, AIKa, AIKb, Z 印oW&, i^poW&,其中nb.s是終端B產(chǎn)生的隨機數(shù)。
步驟5)服務(wù)器S收到步驟4)中的消息后,首先利用平臺私有CA驗證終端A 和終端B的平臺身份證書的有效性并生成相應(yīng)的平臺身份證書驗證結(jié)果,若平臺 身份證書無效,則將終端A和終端B的平臺身份證書驗證結(jié)果發(fā)送給終端B,否 則利用組件分類表中相應(yīng)平臺組件的基準值來校驗終端A和終端B的平臺組件度 量值并生成相應(yīng)的平臺組件校驗結(jié)果,然后利用網(wǎng)絡(luò)管理策略、組件分類表和 平臺組件校驗結(jié)果來生成終端A和終端B的平臺組件評估結(jié)果,最后將終端A和 終端B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果發(fā)送給終端B。值得注意的 是終端A和終端B的平臺身份證書驗證結(jié)果僅在執(zhí)行首輪平臺鑒別協(xié)議時才存 在。例如服務(wù)器S利用平臺私有CA驗證終端A和終端B的AIK證書AIKA和AIKB 的有效性,并生成相應(yīng)的AIK證書有效性驗證結(jié)果ReA和ReB,當AIK證書有效時, 服務(wù)器S進一步利用組件分類表中相應(yīng)平臺組件的完整性基準值來校驗終端A和 終端B的i^; oW&和i^;^W&中的平臺組件的完整性度量值,并生成平臺組件完整 性校驗結(jié)果,然后利用網(wǎng)絡(luò)管理策略、組件分類表、終端A和終端B的平臺組件 完整性校驗結(jié)果生成終端A和終端B的組件級評估結(jié)果ResA和ResB、組件級修補 信息及柳&和^柳5,其中i^m&需要安全傳輸至終端A, i^w&需要安全傳輸至 終端B,最后向終端B發(fā)送ReA, ReB, [NB_S, NA, AIKA, AIKB, ReA, ReB]Sig, ResA, i e附s^, ResB,及eww^, [NB.S, NA, QuotesA, QuotesB, ResA,及e附",ResB, 化腐b]sig,其中ReA, ReB和[NB.s, NA, AIKA, AIKB, ReA, ReB]sig是終端A和終 端B的AIK證書驗證結(jié)果,ResA, T em", ResB,及e附&和[NB.s, NA, QuotesA, QuotesB, ResA, i em", ResB,及柳"]sig是終端A和終端B的平臺組件評估結(jié)果, [NB.S, Na, AIKa, AIKb, ReA, ReB]sig是服務(wù)器S對NB-s, NA, AIKA, AIKB, ReA禾口ReB的用戶簽名,[NB_S, NA, QuotesA, QuotesB, Res八,i em", ResB, i ew&]sig是服務(wù)器S對NB-s, NA, QuotesA, QuotesB, ResA, i^m&, ResB和及em&的用戶 簽名,終端A和終端B的AIK證書驗證結(jié)果僅在執(zhí)行首輪平臺鑒別協(xié)議時才存在。 步驟6)終端B收到步驟5)中的消息后,首先驗證終端A和終端B的平臺身 份證書驗證結(jié)果和平臺組件評估結(jié)果的服務(wù)器S的用戶簽名,若無效,則丟棄該 消息,否則當終端B已完成對終端A的平臺鑒別時,終端B根據(jù)所獲得的終端A 的平臺身份證書驗證結(jié)果和所執(zhí)行的各輪平臺鑒別協(xié)議中的終端A的平臺組件 評估結(jié)果生成終端B的訪問決策,并執(zhí)行終端B的訪問決策,最后終端B將步驟5) 中的消息、終端B的平臺組件度量值中的平臺簽名所涉及的信息、終端B的訪問 決策發(fā)送給終端A;當終端B還未完成對終端A的平臺鑒別時,終端B將步驟5) 中的消息、終端B的平臺組件度量值中的平臺簽名所涉及的信息發(fā)送給終端A, 另外終端B在完成本輪平臺鑒別協(xié)議后需要發(fā)起另一輪平臺鑒別協(xié)議,也就是完 成本輪平臺鑒別協(xié)議后跳至步驟2)執(zhí)行另一輪平臺鑒別協(xié)議。若本輪平臺鑒別 協(xié)議不是終端A和終端B之間的首輪平臺鑒別協(xié)議,則本步驟發(fā)送給終端A的消 息中不包含終端A和和終端B的平臺身份證書驗證結(jié)果。例如終端B驗證[NB.s, na, AIKA, AIKb, ReA, Reakg禾口[nb-s, na, QuotesA, QuotesB, ResA, ResB, ^m^]sig的服務(wù)器S的用戶簽名,若無效則丟棄該消息;若有效,貝U向終 端A發(fā)送QuotesB, NB_S, ActioriB和步驟5)中的消息,其中ActionB是終端B的訪 問決策,其值可為允許、禁止或隔離等,它在終端B已完成對終端A的平臺鑒別 時才存在。
步驟7)終端A收到步驟6)中的消息后,首先驗證終端B的平臺組件度量值 中的平臺簽名所涉及的信息的平臺簽名,若無效,則丟棄該消息,否則驗證步 驟5)中的消息中的終端A和終端B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果 的服務(wù)器S的用戶簽名,若無效,則丟棄該消息,否則驗證終端B的訪問決策, 若終端B的訪問決策存在且值為禁止,則斷開與終端B的連接,否則當終端A 已完成對終端B的平臺鑒別時,終端A根據(jù)所獲得的終端B的平臺身份證書驗證 結(jié)果和所執(zhí)行的各輪平臺鑒別協(xié)議中的終端B的平臺組件評估結(jié)果生成終端A的 訪問決策,并執(zhí)行終端A的訪問決策,最后將終端A的訪問決策發(fā)送給終端B; 當終端A還未完成對終端B的平臺鑒別時,終端A在完成本輪平臺鑒別協(xié)議后需 要等待終端B發(fā)起的平臺鑒別協(xié)議,或者主動發(fā)起另一輪平臺鑒別協(xié)議,也就是完成本輪平臺鑒別協(xié)議后跳至步驟3)執(zhí)行另一輪平臺鑒別協(xié)議。若終端A收到 終端B的訪問決策,則將終端B的訪問決策通告于終端A中執(zhí)行平臺鑒別協(xié)議的 相關(guān)組件。例如終端A驗證QuotesB中的AIK簽名,然后驗證步驟5)中的消息 的[Nb.s, Na, AIKa, AIKb, ReA, ReB]sig和[NB.s, NA, QuotesA, QuotesB, ResA, i em&, ResB, i^^kg的服務(wù)器S的用戶簽名,若無效則丟棄該消息;若有效, 則向終端B發(fā)送NB和Actioiu,其中Actioru是終端A的訪問決策,其值可為允許、 禁止或隔離等,這條消息在終端A己完成對終端B的平臺鑒別時才存在。
步驟8)終端B收到步驟7)中的消息后,將終端A的訪問決策通告于終端B 中執(zhí)行平臺鑒別協(xié)議的相關(guān)組件。
在上述可實現(xiàn)雙向平臺鑒別的方法中,終端A和終端B之間的平臺鑒別協(xié)議 消息是由終端A和終端B之間建立的安全通道進行安全保護。若該安全通道相關(guān) 于終端A和終端B之間的用戶認證,則可以在AIK簽名中綁定該安全通道來增強 平臺鑒別協(xié)議的安全性。若該安全通道不相關(guān)于終端A和終端B之間的用戶認證, 則可以在AIK簽名中綁定該安全通道和用戶認證信息來增強平臺鑒別協(xié)議的安 全性。
上面所述的綁定相關(guān)于終端A和終端B之間的用戶認證的安全通道,或者綁 定不相關(guān)于終端A和終端B之間的用戶認證的安全通道、終端A和終端B的用戶認 證信息的方法適用于任何雙向平臺鑒別方法。
權(quán)利要求
1、一種可實現(xiàn)雙向平臺鑒別的方法,其特征在于該方法包括以下步驟1)服務(wù)器S分別建立與平臺私有CA、組件分類表及網(wǎng)絡(luò)管理策略之間的通信,其中平臺私有CA用于頒發(fā)終端A和終端B的平臺身份證書,以及在執(zhí)行平臺鑒別協(xié)議時驗證終端A和終端B的平臺身份證書的有效性;組件分類表中的平臺組件基準值是通過服務(wù)器S與基準值數(shù)據(jù)庫進行通信而獲得的;基準值數(shù)據(jù)庫用于存儲各種平臺組件的基準值;網(wǎng)絡(luò)管理策略用于生成終端A和終端B的平臺組件評估結(jié)果,并對平臺組件信息進行保護;2)終端B發(fā)起與終端A的平臺鑒別協(xié)議終端B向終端A發(fā)送對終端A的平臺組件度量參數(shù);3)終端A等待終端B發(fā)起的平臺鑒別協(xié)議若在一個設(shè)定的時間內(nèi)終端A還沒有收到終端B發(fā)起的平臺鑒別協(xié)議,終端A則主動發(fā)起與終端B的平臺鑒別協(xié)議,終端A向終端B發(fā)送對終端B的平臺組件度量參數(shù);否則,終端A收到步驟2)中的消息后,根據(jù)終端B在步驟2)中發(fā)送的對終端A的平臺組件度量參數(shù)獲取終端A的平臺組件度量值,然后將所獲得的終端A的平臺組件度量值發(fā)送給終端B,同時向終端B發(fā)送對終端B的平臺組件度量參數(shù);4)終端B首先驗證終端A的平臺組件度量值中的平臺簽名是否有效,若無效,則丟棄該消息;若有效,則根據(jù)終端A在步驟3)中發(fā)送的對終端B的平臺組件度量參數(shù)獲取終端B的平臺組件度量值,然后向服務(wù)器S發(fā)送終端A的平臺身份證書、終端B的平臺身份證書、終端A的平臺組件度量值和終端B的平臺組件度量值;5)服務(wù)器S首先利用平臺私有CA驗證終端A和終端B的平臺身份證書的有效性,并生成相應(yīng)的平臺身份證書驗證結(jié)果;若平臺身份證書無效,則將終端A和終端B的平臺身份證書驗證結(jié)果發(fā)送給終端B,否則利用組件分類表中相應(yīng)的平臺組件的基準值來校驗終端A和終端B的平臺組件度量值,并生成相應(yīng)的平臺組件校驗結(jié)果,然后利用網(wǎng)絡(luò)管理策略、組件分類表和平臺組件校驗結(jié)果來生成終端A和終端B的平臺組件評估結(jié)果,最后將終端A和終端B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果發(fā)送給終端B;6)終端B首先驗證終端A和終端B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果的服務(wù)器S的用戶簽名,若無效,則丟棄該消息;否則,當終端B已完成對終端A的平臺鑒別時,終端B根據(jù)所獲得的終端A的平臺身份證書驗證結(jié)果和所執(zhí)行的各輪平臺鑒別協(xié)議中的終端A的平臺組件評估結(jié)果生成終端B的訪問決策,并執(zhí)行終端B的訪問決策,最后,終端B將從步驟5)中獲得的終端A和終端B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果、終端B的平臺組件度量值中的平臺簽名所涉及的信息、終端B的訪問決策發(fā)送給終端A;當終端B還未完成對終端A的平臺鑒別時,終端B將從步驟5)中獲得的終端A和終端B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果、終端B的平臺組件度量值中的平臺簽名所涉及的信息發(fā)送給終端A;終端B在完成本輪平臺鑒別協(xié)議后跳至步驟2)執(zhí)行另一輪平臺鑒別協(xié)議;7)終端A首先驗證終端B的平臺組件度量值中的平臺簽名所涉及的信息的平臺簽名,若無效,則丟棄該消息;若有效,則驗證步驟5)中的終端A和終端B的平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果的服務(wù)器S的用戶簽名,若無效,則丟棄該消息;若有效,則驗證終端B的訪問決策,若終端B的訪問決策存在且值為禁止,則斷開與終端B的連接,否則,當終端A已完成對終端B的平臺鑒別時,終端A根據(jù)所獲得的終端B的平臺身份證書驗證結(jié)果和所執(zhí)行的各輪平臺鑒別協(xié)議中的終端B的平臺組件評估結(jié)果生成終端A的訪問決策,并執(zhí)行終端A的訪問決策,最后將終端A的訪問決策發(fā)送給終端B;當終端A還未完成對終端B的平臺鑒別時,終端A在完成本輪平臺鑒別協(xié)議后跳至步驟3)執(zhí)行另一輪平臺鑒別協(xié)議;若終端A收到終端B的訪問決策,則將終端B的訪問決策通告于終端A中執(zhí)行平臺鑒別協(xié)議的相關(guān)組件;8)終端B將終端A的訪問決策通告于終端B中執(zhí)行平臺鑒別協(xié)議的相關(guān)組件。
2、根據(jù)權(quán)利要求l所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述終端A的平臺身份證書是指終端A的身份證明密鑰AIK證書AIKA,終端B的平臺身份證書是指終端終端B的身份證明密鑰AIK證書AIKB。
3、 根據(jù)權(quán)利要求2所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述步驟2) 的具體步驟是終端B生成隨機數(shù)NB和對終端A的平臺完整性度量參數(shù)ParmsA,然后將它們發(fā)送給終端A; ParmsA是終端A中平臺配置寄存器PCR的序號列表、終端A中平臺組件的組件類型列表或終端A中平臺組件的標識列表中的任一種或任兩種、三種的混合列表。
4、 根據(jù)權(quán)利要求3所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述步驟3) 的具體步驟是終端A根據(jù)NB和ParmsA獲取終端A中各個平臺組件的完整性報告i 印or 禾口PCR引用數(shù)據(jù)QuoteSA,其中,i epoW&包含終端A的PCR引用數(shù)據(jù)和快照,并需要安全傳輸至服務(wù)器S; QuotesA包含Ns、終端A的PCR值、対Nb和終端A的PCR值的AIK簽名、終端A的AIK證書AIKA;然后向終端B發(fā)^e; w^, QuotesA,隨機數(shù)NA和對終端B的平臺完整性度量參數(shù)ParmsB,其中ParmsB是終端B中PCR的序號列表、終端B中平臺組件的組件類型列表或終端B中平臺組件的標識列表中的任一種或任兩種、三種的混合列表。
5、 根據(jù)權(quán)利要求4所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述步驟4) 的具體步驟是終端B驗證QuotesA中的AIK簽名,若無效,則丟棄該消息;若有效,則根據(jù)NA和ParmsB獲取終端B中各個平臺組件的完整性報告J 卬oW^和PCR引用數(shù)據(jù)QuotesB,其中及epo他s包含終端B的PCR引用數(shù)據(jù)和快照;QuotesB包含NA、終端B的PCR值、對NA和終端B的PCR值的AIK簽名、終端B的AIK證書AIKB,然后向服務(wù)器S發(fā)送NB.s, NA, AIKa, AIKb, i epoW&, / e/ oW&,其中NB.s是終端B產(chǎn)生的隨機數(shù)。
6、 根據(jù)權(quán)利要求5所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述步驟5) 的具體步驟是服務(wù)器S利用平臺私有CA驗證終端A和終端B的AIK證書AIKA和AIKb的有效性,并生成相應(yīng)的AIK證書有效性驗證結(jié)果ReA和ReB,當AIK證書有效時,服務(wù)器S迸一步利用組件分類表中相應(yīng)平臺組件的完整性基準值來校驗終端A和終端B的/^/^W^和i ^oW^中的平臺組件的完整性度量值,并生成平臺組件完整性校驗結(jié)果,然后利用網(wǎng)絡(luò)管理策略、組件分類表、終端A和終端B的平臺組件完整性校驗結(jié)果生成終端A和終端B的組件級評估結(jié)果ResA和ResB、組件級修補信息i ^^和i 柳&,其中仏w&需要安全傳輸至終端A, i^脂5需要安全傳輸至終端B,最后向終端B發(fā)送ReA, ReB, [NB.S, NA, AIKA, AIKB, ReA, ReB]sig, ResA, i^m&,ResB, i e附5^, [Nb-s, ^U, QuotesA, QuotesB, ResA, i ewis^, Ress, i e附《B]sig; 其中ReA, Re^n[NB.s, NA, AIKA, AIKB, ReA, ReB]sig是終端A和終端B的AIK證書驗證結(jié)果,ResA, i em", ResB, ^w^禾口[Nb-s, Na, QuotesA, QuotesB, ResA,及em&,ResB, / e附&]sig是終端A和終端B的平臺組件評估結(jié)果,[NB.S, NA, AIKA, AIKB,ReA, ReB]sig是服務(wù)器S對NB.s, NA, AIKA, AIKB, ReA和Res的用戶簽名,[NB.S,NA, QuotesA, QuotesB, ResA, 7 e附&, ResB, i^wj5]sig是月艮務(wù)器S對nb國s, NA, QuotesA,QuotesB, ResA, i^w&, ResB和^m&的用戶簽名,終端A和終端B的AIK證書驗證結(jié)果僅在執(zhí)行首輪平臺鑒別協(xié)議時才存在。
7、 根據(jù)權(quán)利要求6所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述步驟6) 的具體步驟是終端B驗證[nb.s, na, AIKA, AIKb, ReA, ReB]s^tl[nb.s, na,QuotesA, QuotesB, ResA, Aem", ResB, i em^]sig的服務(wù)器S的用戶簽名,若無效則丟棄該消息;若有效,則向終端A發(fā)送QuotesB, NB.S, ActionB和步驟5)的終端A和終端B的AIK證書驗證結(jié)果和平臺組件評估結(jié)果;其中ActionB是終端B的訪問決策,其值為允許、禁止或隔離,ActionB在終端B已完成對終端A的平臺鑒別時才存在。
8、 根據(jù)權(quán)利要求7所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述步驟7) 的具體步驟是終端A驗證QuoteSB中的AIK簽名,然后驗證步驟5)中的[Nb.s,NA, AIKA, AIKB, ReA, ReB]sig禾口[NB.s, NA, QuotesA, QuotesB, ResA, i e加",ResB,及e臘s]sig的服務(wù)器S的用戶簽名,若無效,則丟棄該消息;若有效,則驗證ActioriB,若Actionu存在且其值為禁止,則斷開與終端B的連接,否則,當終端A已完成對終端B的平臺鑒別時,終端A根據(jù)所獲得的終端B的AIK證書驗證結(jié)果和所執(zhí)行的各輪平臺鑒別協(xié)議中的終端B的平臺組件評估結(jié)果生成終端A的訪問決策ActionA,并執(zhí)行該訪問決策ActioriA,最后將該訪問決策發(fā)送給終端B;當終端A還未完成對終端B的平臺鑒別時,終端A在完成本輪平臺鑒別協(xié)議后跳至步驟3)執(zhí)行 另一輪平臺鑒別協(xié)議;若終端A收到終端B的訪問決策,則將終端B的訪問決策通告 于終端A中執(zhí)行平臺鑒別協(xié)議的相關(guān)組件;Actioiu值為允許、禁止或隔離,Actioru 在終端A已完成對終端B的平臺鑒別時才存在。
9、 根據(jù)權(quán)利要求1至8中任一權(quán)利要求所述的可實現(xiàn)雙向平臺鑒別的方法,其 特征在于所述終端A和終端B之間的平臺鑒別協(xié)議消息是由終端A和終端B之間建 立的安全通道進行安全保護的;若該安全通道相關(guān)于終端A和終端B之間的用戶認 證,則可以在AIK簽名中綁定該安全通道來增強平臺鑒別協(xié)議的安全性;若該安全 通道不相關(guān)于終端A和終端B之間的用戶認證,則可以在AIK簽名中綁定該安全通 道和用戶認證信息來增強平臺鑒別協(xié)議的安全性。
10、 根據(jù)權(quán)利要求l所述的可實現(xiàn)雙向平臺鑒別的方法,其特征在于所述步 驟6)中若本輪平臺鑒別協(xié)議不是終端A和終端B之間的首輪平臺鑒別協(xié)議,則本步 驟發(fā) 給終端A的消息中不包含終端A和終端B的平臺身份證書驗證結(jié)果。
全文摘要
本發(fā)明涉及的可實現(xiàn)雙向平臺鑒別的方法中,服務(wù)器S為終端A和終端B提供了所有平臺鑒別能力,包括平臺身份鑒別和平臺組件的評估,終端A和終端B僅需要驗證對方的平臺簽名、驗證服務(wù)器S的用戶簽名以及根據(jù)平臺身份證書驗證結(jié)果和平臺組件評估結(jié)果生成訪問決策,有效地降低了終端A和終端B的負荷,并且增強了該雙向平臺鑒別方法的應(yīng)用性;通過設(shè)定網(wǎng)絡(luò)管理策略,并結(jié)合組件分類表,可以有效地保護終端A和終端B中的某些平臺組件不被暴露給對方。
文檔編號H04L29/06GK101635709SQ20091002368
公開日2010年1月27日 申請日期2009年8月25日 優(yōu)先權(quán)日2009年8月25日
發(fā)明者軍 曹, 肖躍雷, 莉 葛, 黃振海 申請人:西安西電捷通無線網(wǎng)絡(luò)通信有限公司