基于SW-TPM的便攜式身份認(rèn)證
移動(dòng)設(shè)備、普適計(jì)算的推廣使得用戶(hù)越來(lái)越依賴(lài)于使用移動(dòng)終端與其他的應(yīng)用環(huán)境中所提供的服務(wù)進(jìn)行通訊,大大增加了敏感信息以及個(gè)人數(shù)據(jù)泄露的可能,同時(shí)使用網(wǎng)絡(luò)服務(wù)的用戶(hù)也希望通過(guò)使用可信賴(lài)的設(shè)備所提供的安全服務(wù)以減少隱私泄露。
用戶(hù)身份認(rèn)證、授權(quán)以及審計(jì)是進(jìn)行信息系統(tǒng)安全設(shè)計(jì)的關(guān)鍵因素。其中,身份認(rèn)證作為授權(quán)和審計(jì)的基礎(chǔ),是保障信息系統(tǒng)能以安全有效的方式被訪問(wèn)的前提,在系統(tǒng)安全中占有重要地位。
但是很多情況下終端設(shè)備的所有權(quán)和使用權(quán)分屬不同實(shí)體,這給信息安全與管理帶來(lái)了很多隱患。例如,用戶(hù)可能正在使用網(wǎng)吧里的機(jī)器將文件下載到他所持有的移動(dòng)設(shè)備上,這時(shí)機(jī)器的安全維護(hù)是由網(wǎng)吧負(fù)責(zé),但用戶(hù)并不能確定機(jī)器此時(shí)是否存在安全隱患,事實(shí)上很可能不像用戶(hù)所想象的那樣安全。特別是惡意攻擊者在一定條件下可以完全獲得用戶(hù)所使用的平臺(tái)的控制權(quán),甚至還有可能接觸到用戶(hù)實(shí)際使用的設(shè)備。因此,在大多數(shù)場(chǎng)合中用戶(hù)并不能夠確定所使用的設(shè)備的安全性,也不能確定某個(gè)具體時(shí)間間隔內(nèi)應(yīng)用環(huán)境的安全性是否會(huì)有所改變。
針對(duì)以上問(wèn)題,本文結(jié)合可信計(jì)算技術(shù)提出一種便攜式的遠(yuǎn)程認(rèn)證方案,把相關(guān)認(rèn)證移植到終端設(shè)備中來(lái)解決遠(yuǎn)程認(rèn)證問(wèn)題,并且引入U(xiǎn)SB Token在通用平臺(tái)環(huán)境下實(shí)現(xiàn)可信認(rèn)證。這種方法不僅能夠重用現(xiàn)有的缺少認(rèn)證機(jī)制的設(shè)備和應(yīng)用程序,而且有效地避免了中間人的攻擊,保證了通訊安全。
1 USB Token體系架構(gòu)
傳統(tǒng)意義上的信任鏈的建立都是基于固化在主板之上的安全芯片TPM,這就使沒(méi)有該安全芯片的主機(jī)無(wú)法獲得面向終端安全的“可信計(jì)算”?,F(xiàn)有替代方案[1]大都采用智能卡配以廠商提供的接口庫(kù)替換TPM體系中的安全芯片和TSS部分,但這樣不能很好地提供對(duì)可信計(jì)算的支持,不利于將來(lái)設(shè)備的升級(jí)改造。在實(shí)踐中,智能卡及其讀寫(xiě)設(shè)備、智能卡的接口庫(kù)都由廠商提供,安全性、保密性存在很大隱患,總體上很難達(dá)到可信平臺(tái)的標(biāo)準(zhǔn)。
Najwa Aaraj[2]等人通過(guò)測(cè)試基于軟件實(shí)現(xiàn)的仿真TPM運(yùn)行時(shí)執(zhí)行效率與開(kāi)銷(xiāo),發(fā)現(xiàn)大多數(shù)TPM指令引起的開(kāi)銷(xiāo)主要集中在RSA算法上,如果用TCG標(biāo)準(zhǔn)中規(guī)定的ECC算法代替RSA算法則可顯著降低開(kāi)銷(xiāo)。因此,在資源受限的系統(tǒng)中可以通過(guò)使用SW-TPM來(lái)加強(qiáng)可信認(rèn)證,所增加的系統(tǒng)開(kāi)銷(xiāo)也是可以接受的。
1.1 方案原理
基于TPM的可信平臺(tái)主要考慮的是用戶(hù)、平臺(tái)、應(yīng)用程序以及平臺(tái)之間的可信度,在可信架構(gòu)中提到的可信用戶(hù)也并不完全從用戶(hù)角度考慮,而是平臺(tái)安全中重要安全模型的一部分。便攜式認(rèn)證方案與可信計(jì)算中的TPM方案最大的區(qū)別在于密鑰的綁定:TPM綁定在主機(jī)上;便攜式則綁定在USB Token 上。因?yàn)門(mén)PM芯片作為可信根比較適合與機(jī)器相關(guān)的密鑰保護(hù),如存儲(chǔ)服務(wù)器端HTTPs或SSH協(xié)議中的密鑰等,在這種情況下密鑰與機(jī)器綁定,但是必須對(duì)主機(jī)平臺(tái)進(jìn)行改造。而便攜式認(rèn)證較適合私人密鑰保護(hù),如客戶(hù)端HTTPs證書(shū)或客戶(hù)端SSH密鑰,這樣密鑰可以在不同機(jī)器間移動(dòng)而且無(wú)需改動(dòng)系統(tǒng)平臺(tái)。便攜式認(rèn)證的關(guān)鍵就在于Token中隱藏的主密鑰,不允許持有者直接讀取該密鑰,但允許通過(guò)協(xié)議對(duì)Token進(jìn)行挑戰(zhàn)應(yīng)答。
1.2 基于SW-TPM的可信身份認(rèn)證體系
SW-TPM實(shí)際上是一個(gè)含有密碼運(yùn)算功能和存儲(chǔ)功能的軟件仿真,由于其中包含的各個(gè)部分在硬件實(shí)現(xiàn)上有其本身的復(fù)雜性,SW-TPM可以將其中的各個(gè)部分模塊化,再將各個(gè)模塊整合成整體,實(shí)現(xiàn)較為簡(jiǎn)單,如圖1所示。本文通過(guò)把SW-TPM移植到USB Token中在沒(méi)有TPM芯片的通用平臺(tái)下實(shí)現(xiàn)了終端用戶(hù)的遠(yuǎn)程認(rèn)證,分離了平臺(tái)與用戶(hù)間的身份綁定。該USB Token以SW-TPM為軟件可信根,通過(guò)挑戰(zhàn)應(yīng)答協(xié)議提供安全性更強(qiáng)的遠(yuǎn)程驗(yàn)證。
在新的平臺(tái)中,可信身份驗(yàn)證由主機(jī)識(shí)別Token開(kāi)始:主機(jī)可以檢測(cè)到當(dāng)前用戶(hù)的USB Token是否存在,如果存在就會(huì)測(cè)量其中SW-TPM的Hash值并驗(yàn)證它是否可信,因?yàn)镾W-TPM是已知的并且可以確定它的Hash值。確認(rèn)之后再由SW-TPM進(jìn)行完整性測(cè)量以保證所發(fā)放的EK是否可信,只有通過(guò)以上雙向驗(yàn)證后才能真正建立起Token與主機(jī)間的USB通道,隨后才能進(jìn)行相關(guān)事務(wù)處理。
評(píng)論