終端設備地理位置的可信驗證方法
【技術領域】
[0001]本發明屬于網絡安全領域,具體涉及位置密碼驗證方法,可用于保護處于敏感位置的終端設備的安全。
【背景技術】
[0002]隨著移動互聯網、云計算、物聯網等新興IT技術的快速發展,計算資源通信交互的不斷增加,信息技術已經極大地影響了社會的管理方式及人們的生活方式。信息環境的復雜,使信息系統不斷面臨不可預知的挑戰。信息安全狀況越來越嚴峻,安全保密已經成為信息系統建設的重要問題。
[0003]終端設備作為網絡中最小的單元,對網絡安全的影響至關重要。然而傳統的網絡安全防護手段如病毒防御、入侵檢測和防火墻等一般都側重于保護服務器的信息安全,相比之下,終端設備的安全保護就顯得比較薄弱。而另一方面,對于一些處于敏感位置的終端設備,由于當今社會黑客技術的不斷增強、新興IT技術的發展,其位置信息的安全保密也面臨著極大的威脅,從而也可能進一步導致其他信息的泄露。
[0004]因此,如何安全有效地驗證終端設備的地理位置及其完整性顯得尤為重要。
[0005]((Trusted Geolocat1n-Aware Data Placement in Infrastructure Clouds)) 一文提出了一種安全的數據保護機制。該機制通過密碼協議,實現云服務端和用戶端的交流,從而使用戶可以控制云存儲數據的存儲位置。但是,該機制是從數據著手,并未解決終端設備的保護問題。
[0006]《Using Trusted Platform Modules for Locat1n Assurance in CloudNetworking)) 一文通過提出一個協議來確定虛擬資源的物理存儲位置。這種協議有效的確定了云存儲服務器的位置信息,從而實現了云數據的保護。但是,一旦位置信息被多個敵手聯合發起共謀攻擊,該協議將失去其保護的作用。
【發明內容】
[0007]本發明的目的在于針對上述已有技術的不足,提出一種終端設備地理位置的可信驗證方法,以確保對工作環境保密性要求較高且位置敏感終端的安全可信。
[0008]為實現上述目的,本發明采用的技術方案包括:
[0009](I)可信第三方TTP對合法區域中的位置信息集合進行哈希計算,將計算得到的摘要值存入標準位置信息特征數據庫;
[0010](2)證明者AP的PC終端在開機過程中其內部各個部件和硬件按照信任鏈CRTM — B1S — OS Loader — Posit1n — OS — Applicat1n 的順序逐級進行自身度量開啟,其中CRTM是一段開機執行代碼,B1S為基本輸入輸出系統,OS Loader是操作系統加載程序,Posit1n是證明者的位置信息,OS是操作系統,Applicat1n為應用程序;
[0011](3)當CRTM、B10S、0S Loader開啟完成后,證明者AP向可信第三方TTP發出度量位置信息P的請求,可信第三方TTP將該請求廣播至三個驗證者CP1、CP2XP3,并將來自CP1、CP2、請求確認消息轉發給證明者AP ;
[0012](4)證明者AP收到來自可信第三方TTP的確認消息之后,根據自身位置信息進行哈希計算,并將該計算結果寫入寄存器PCR中;
[0013](5)獲取證明者、驗證者、可信第三方的共享會話密鑰K:
[0014](5a)證明者AP將自身位置信息P發送給可信第三方TTP,TTP將P轉發至三個驗證者 CP^CPr CP3;
[0015](5b)可信第三方TTP和三個驗證者CPpCP2XP3收到位置信息P后,分別計算從P點到自己所處位置的時間,以保證稍后發送的消息能在同一時刻到達P點,同時,TTP生成密鑰1和信息串X 4,CP1生成信息串X X 5,CP2生成信息串X 2,CP3生成信息串X 3,并將密鑰K1和這些信息串在不同時刻發送至證明者,以確保信息能夠在T時刻同時到達P點;
[0016](5c)位于P點的證明者AP根據上述5個信息串X1'X2、X3、X4、X5和密鑰K:利用公式K1+1= PRG (X ^K1),I彡i彡5計算得到K6,則K6就是證明者AP和驗證者CP、可信第三方TTP的共享會話密鑰K ;
[0017](6)證明者AP在獲得會話密鑰K后,從存儲位置信息哈希擴展值的寄存器PCR中讀取當前狀態下位置信息的度量值PV,并從硬盤中讀取與此度量事件相應的度量日志信息ML ;
[0018](7)證明者AP先用平臺身份證明密鑰AIK對度量值PV進行簽名,得到簽名值SIG(AIK, PV),接著再用會話密鑰K對度量值PV進行消息認證碼MAC計算,得到散列值MAC (K,PV);
[0019](8)證明者AP將簽名值SIG (AIK,PV)、散列值MAC (K,PV)和度量日志信息ML打包生成完整性度量報告,并將該完整性度量報告發送至可信第三方TTP ;
[0020](9)可信第三方TTP收到完整性度量報告后,從完整性度量報告中提取簽名值SIG (AIK,PV)、散列值MAC (K,PV)和度量日志信息ML進行完整性度量驗證,并將度量結果發送至第一個驗證者CP1;
[0021](10)第一個驗證者CPjg據度量結果向證明者AP發送指令:若度量結果通過,則通知證明者AP的PC終端繼續執行開機過程;否則,通知證明者AP的PC終端開機過程終止。
[0022](11)證明者AP系統開啟成功后,第一個驗證者CP1*起驗證證明者位置信息的挑戰申請,將該挑戰申請通過可信第三方TTP轉發至證明者,證明者AP接收挑戰申請重復上述步驟(4)?(9),由可信第三方TTP進行完整性度量驗證,驗證者0?1根據TTP發送的度量結果判斷證明者是否依舊位于合法區域:如果證明者在合法區域,則證明者的PC終端系統仍然繼續運行;否則,證明者的PC終端關機。
[0023]本發明有以下優點:
[0024]第一,本發明使用位置密碼協議實現對設備位置的安全驗證,該協議可以抵御多個敵手針對位置驗證的共謀攻擊,安全性高。
[0025]第二,本發明將位置密碼協議與可信計算相結合,有效抵御了中間人攻擊,保證了設備位置驗證的可靠性和真實性。
[0026]第三,本發明將位置驗證結果加入到可信計算技術的信任鏈中,實現了設備完整性校驗與位置驗證的安全綁定,具有較好的擴展性和較高的可行性。
【附圖說明】
[0027]圖1是本發明的實現示意流程圖;
[0028]圖2是本發明中的信任鏈傳遞流程圖;
[0029]圖3是本發明中度量位置信息時的通信模型圖;
[0030]圖4是本發明中位置信息完整性度量驗證示意圖;
[0031]圖5是本發明中PC終端開機后的簡易通信模型圖。
【具體實施方式】
[0032]下面結合附圖,對本發明作進一步詳細的描述。
[0033]參照圖1,本發明的實現步驟如下:
[0034]步驟1、建立標準位置信息特征數據庫。
[0035]在本發明中,證明者AP是需要驗證其位置信息真偽性的實體;可信第三方TTP是對證明者位置信息進行完整性驗證的可信實體,存儲有標準位置信息特征數據庫;驗證者CP與可信第三方TTP共同計算生成共享會話密鑰K ;
[0036]在本發明中,可信第三方TTP和證明者AP的PC終端都裝載有可信芯片TPM。
[0037]在假設合法位置區域集合已知的條件下,可信第三方通過反向地理位置編碼將位置集合中的位置信息先轉化成成坐標形式,再對坐標形式的位置信息進行哈希計算得到長度為I60bit的摘要值,然后計算得到的位置信息摘要值存入標準位置信息特征數據庫。
[0038]步驟2、逐級開啟證明者AP的PC終端。
[0039]參照圖2,證明者AP的PC終端在開機過程中其內部各個部件和硬件按照信任鏈CRTM — B1S — OS Loader — Posit1n — OS — Applicat1n 的順序逐級進行自身度量開啟,其中CRTM是一段開機執行代碼,B1S為基本輸入輸出系統,OS Loader是操作系統加載程序,Posit1n是證明者的位置信息,OS是操作系統,Applicat1n為應用程序;
[0040]在傳統的裝載有TPM芯片的PC中,計算機內各個部件和硬件通常是按照信任鏈CRTM — B1S — OS Loader — OS — Applicat1n的順序逐級獲得控制權,通過將每一級的配置信息擴展至所對應的寄存器PCR中,從而進行完整性度量驗證使得系統啟動過程得以進行。
[0041 ] 為了對位置信息進行度量驗證,本發明將位置信息加入信任鏈中。
[0042]之所以將位置信息的度量置于OS Loader和OS之間,是因為在此時操作系統的配置檢測、硬件、服務都已經啟動完畢,方便在位置驗證過程中調用服務。
[0043]步驟3、度量證明者AP的位置信息。
[0044]參照圖3,本步驟的實現如下:
[0045](3.1)證明者AP向可信第三方TTP發出度量位置信息P的請求。
[0046]當執行代碼CRTM、基本輸入輸出系統B10S、操作系統加載程序OS Loader開啟完成后,證明者AP向可信第三方TTP發出度量位置信息P的請求,可信第三方TTP將該請求廣播至三個驗證者CPpCPpCPy并將來自0?1、0?2、0?3的請求確認消息轉發給證明者々?,此時會話建立;
[0047](3.2)證明者AP收到來自可信第三方TTP的請求確認消息之后,根據自身位置信息進行哈希計算,并將該計算結果寫入寄存器PCR中:
[0048]3.2a)證明者通過反向地理位置編碼將自身位置信息轉化成成坐標形式;
[0049]3.2b)證明者自身裝載的TPM芯片對坐標形式的位置信息進行哈希計算得到160bit摘要值;
[0050]3.2c)證明者將該摘要值以擴展更新的方式寫入寄存器PCR中,即將原來存儲于寄存器PCR中的舊值和該摘要值再次進行哈希計算得到新值,存儲于PCR中。
[0051](3.3)獲取證明者、驗證者、可信第三方的共享會話密鑰K:
[0052]3.3a)證明者AP向可信第三方TTP發送位置信息P,并由TTP將位置信息廣播至三個驗證者CP^ CP2、CP3。
[0053]3.3b)可信第三方TTP和三個驗證者CPp CP2、CP3收到位置信息P后,分別計算從P點到自己所處位置的時間,以保證稍后發送的消息能在同一時刻到達P點,同時,TTP生成密鑰1和信息串X 4,CP1生成信息串X X 5,CP2生成信息串X 2,CP3生成信息串X 3,并將密鑰K1和這些信息串在不同