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