保護設備安全的方法、裝置及系統的制作方法
【專利摘要】本發明提供了保護設備安全的方法、裝置及系統,該方法,包括:防護端在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息;所述防護端將所述完整性信息發送給可信第三方;所述可信第三方根據預先存儲的所述待保護設備的可信的完整性信息,對所述完整性信息進行驗證,如果通過驗證,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全,將驗證結果發送給所述防護端。本發明提供了保護設備安全的方法、裝置及系統,能夠提高待保護設備的安全性。
【專利說明】
保護設備安全的方法、裝置及系統
技術領域
[0001]本發明涉及計算機技術領域,特別涉及保護設備安全的方法、裝置及系統。
【背景技術】
[0002]隨著業務的不斷發展,尤其是云計算的快速發展,企業對物理平臺的安全性要求愈來愈高,尤其是以虛擬化、分布式等技術為關鍵支撐的數據中心。如何保證物理平臺的安全,越來越受到重視。
[0003]現有技術中,通過殺毒工具來保證物理平臺的安全。這些殺毒工具會隨著物理平臺的操作系統一起啟動,啟動后開始對物理平臺進行保護。
[0004]但是,有很對病毒在操作系統啟動之間就開始對物理平臺進行攻擊,例如:RootKit、BootKit等,這時候殺毒工具還沒有啟動,無法保護物理平臺。以BootKit病毒為例,在操作系統啟動之前,BootKit病毒對物理平臺進行攻擊,獲取系統的優先級,將病毒因此以規避殺毒工具的查殺。通過上述描述可見,現有技術沒有辦法在系統啟動之間對物理平臺進行保護,安全性較低。
【發明內容】
[0005]本發明實施例提供了保護設備安全的方法、裝置及系統,能夠提高待保護設備的安全性。
[0006]第一方面,本發明實施例提供了一種保護設備安全的方法,包括:
[0007]S1:防護端在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息;
[0008]S2:所述防護端將所述完整性信息發送給可信第三方;
[0009]S3:所述可信第三方根據預先存儲的所述待保護設備的可信的完整性信息,對所述完整性信息進行驗證,如果通過驗證,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全,將驗證結果發送給所述防護端。
[0010]進一步地,所述可信第三方包括:Privacy CA;
[0011]在所述SI之前,還包括:所述防護端預先獲取所述PrivacyCA頒發的簽名密鑰證書;
[0012]所述S2,包括:
[0013]所述防護端根據預先設置的簽名密鑰對所述完整性信息進行簽名,獲得簽名值;
[0014]所述防護端將所述完整性信息、所述簽名值以及所述簽名密鑰證書打包,生成待驗證信息,將所述待驗證信息通過Privacy CA發來的CA公鑰進行加密;
[00?5]所述防護端將加密后的待驗證信息發送給所述Privacy CA;
[0016]在所述S3之前,還包括:
[0017]所述Privacy CA通過所述CA公鑰對應的CA私鑰解密所述加密后的待驗證信息,獲取所述簽名密鑰證書,根據所述簽名密鑰證書,對所述完整性信息以及所述簽名值進行簽名驗證,通過驗證后,獲取所述完整性信息。
[0018]進一步地,所述防護端預先獲取所述PrivacyCA頒發的簽名密鑰證書,包括:
[0019]所述防護端向所述PrivacyCA發送所述簽名密鑰證書的頒發請求;
[0020]所述Privacy CA向所述防護端返回標簽label和所述CA公鑰;
[°021 ] 所述防護端接收所述Privacy CA返回的label和所述CA公鑰,將所述label與預先生成的簽名密鑰的默認屬性打包,并用所述簽名密鑰對打包的數據進行簽名,生成PrivCASign 信息;
[0022]所述防護端將所述PrivCASign信息與所述簽名密鑰的公共區域數據打包,并用預先生成的對稱加密密鑰進行加密,生成symBlob ;
[0023]所述防護端用所述CA公鑰加密所述對稱加密密鑰,生成asymBlob;
[0024]所述防護端將所述symBlob、所述asymBlob和所述預先設置的安全芯片TPM背書密鑰的證書EC發送給所述Privacy CA;
[0025]所述Privacy CA根據所述CA私鑰解密所述asymBlob,獲得所述對稱加密密鑰;
[0026]所述Privacy CA根據所述對稱加密密鑰解密所述symBlob,獲得所述PrivCASign信息和所述簽名密鑰的公共區域數據;
?0027] 所述Privacy CA根據所述簽名密鑰的公共區域數據對所述PrivCASign信息進行簽名驗證,驗證通過后,向所述防護端頒發所述簽名密鑰證書;
[0028]所述防護端接收所述簽名密鑰證書。
[0029]進一步地,所述向所述防護端頒發所述簽名密鑰證書,包括:
[°03°] 所述Privacy CA用所述CA私鑰生成所述簽名密鑰證書,并生成密鑰pcaKey,通過所述pcaKey加密所述簽名密鑰證書;
[0031]所述PrivacyCA生成隨機數seed,計算出所述簽名密鑰的公共區域數據的摘要值name ;
[0032]所述Privacy CA將所述seed作為密鑰推導函數KDF的密鑰,將所述name作為KDF的context,獲取對稱密鑰symKey ;
[0033]所述Privacy CA利用所述symKey對所述pcaKey進行加密,生成credentialBlob ;
[0034]所述Privacy CA獲取所述EC中的公鑰,并利用所述EC中的公鑰加密所述seed,生成secret;
[0035]所述Privacy CA將所述secret、所述credentialBlob以及被加密的簽名密鑰證書發送給所述防護端;
[0036]所述防護端接收所述簽名密鑰證書,包括:
[0037]所述防護端根據所述secret和所述credentialBlob,解密得到所述pcaKey;
[0038]所述防護端根據所述pcaKey解密被加密的簽名密鑰證書,獲得所述簽名密鑰證書。
[0039]第二方面,本發明實施例提供了一種保護設備安全的系統,包括:
[0040]防護端、可信第三方;
[0041]所述防護端,用于在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息,將所述完整性信息發送給所述可信第三方;
[0042]所述可信第三方,用于根據預先存儲的所述待保護設備的可信的完整性信息,對所述完整性信息進行驗證,如果通過驗證,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全,將驗證結果發送給所述防護端。
[0043]進一步地,所述可信第三方包括:Privacy CA;
[0044]所述防護端,還用于獲取所述Privacy CA頒發的簽名密鑰證書;
[0045]所述防護端,在執行將所述完整性信息發送給可信第三方時,用于根據預先設置的簽名密鑰對所述完整性信息進行簽名,獲得簽名值,將所述完整性信息、所述簽名值以及所述簽名密鑰證書打包,生成待驗證信息,將所述待驗證信息通過Privacy CA發來的CA公鑰進行加密,將加密后的待驗證信息發送給所述Privacy CA;
[0046]所述Privacy CA,還用于通過所述CA公鑰對應的CA私鑰解密所述加密后的待驗證信息,獲取所述簽名密鑰證書,根據所述簽名密鑰證書,對所述完整性信息以及所述簽名值進行簽名驗證,通過驗證后,獲取所述完整性信息。
[0047]進一步地,所述防護端,用于向所述Privacy CA發送所述簽名密鑰證書的頒發請求,接收所述Privacy CA返回的label和所述CA公鑰,將所述label與預先生成的簽名密鑰的默認屬性打包,并用所述簽名密鑰對打包的數據進行簽名,生成PrivCASign信息,將所述PrivCASign信息與所述簽名密鑰的公共區域數據打包,并用預先生成的對稱加密密鑰進行加密,生成symBlob,用所述CA公鑰加密所述對稱加密密鑰,生成asymBlob,將所述symBlob、所述asymBlob和所述預先設置的安全芯片TPM背書密鑰的證書EC發送給所述Privacy CA,接收所述Privacy CA頒發的所述簽名密鑰證書
[0048]所述Privacy CA,用于向所述防護端返回標簽IabeI和所述CA公鑰,根據所述CA私鑰解密所述asymBlob,獲得所述對稱加密密鑰,根據所述對稱加密密鑰解密所述symBlob,獲得所述PrivCASign信息和所述簽名密鑰的公共區域數據,根據所述簽名密鑰的公共區域數據對所述PrivCASign信息進行簽名驗證,驗證通過后,向所述防護端頒發所述簽名密鑰證書。
[0049]進一步地,所述PrivacyCA,在執行所述向所述防護端頒發所述簽名密鑰證書時,用于用所述CA私鑰生成所述簽名密鑰證書,并生成密鑰pcaKey,通過所述pcaKey加密所述簽名密鑰證書,生成隨機數seed,計算出所述簽名密鑰的公共區域數據的摘要值name,將所述seed作為密鑰推導函數KDF的密鑰,將所述name作為KDF的context,獲取對稱密鑰symKey,利用所述symKey對所述pcaKey進行加密,生成credentialBlob,獲取所述EC中的公鑰,并利用所述EC中的公鑰加密所述seed,生成secret,將所述secret、所述credentialBlob以及被加密的簽名密鑰證書發送給所述防護端;
[0050]所述防護端,在執行所述接收所述簽名密鑰證書時,用于根據所述secret和所述credentialBlob,解密得到所述pcaKey,根據所述pcaKey解密被加密的簽名密鑰證書,獲得所述簽名密鑰證書。
[0051]第三方面,本發明實施例提供了一種保護設備安全的方法,包括:
[0052]在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息;
[0053]將所述完整性信息發送給可信第三方,以使所述可信第三方根據預先存儲的可信的完整性信息,對所述完整性信息進行驗證,通過驗證后,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全。
[0054]第四方面,本發明實施例提供了一種保護設備安全的裝置,包括:
[0055]獲取單元,用于在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息;
[0056]驗證單元,用于將所述完整性信息發送給可信第三方,以使所述可信第三方根據預先存儲的可信的完整性信息,對所述完整性信息進行驗證,通過驗證后,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全。
[0057]在本發明實施例中,在可信第三方預先存儲了待保護設備的可信的完整性信息,防護端在待保護設備啟動過程中,獲取啟動部件的完整性信息,將完整性信息發給可信第三方,可信第三方根據存儲的可信的完整性信息,來對接收到的完整性信息進行驗證,進而判斷待保護設備是否安全,該驗證過程發生在待保護設備啟動之前,即使待保護設備在啟動之前被入侵,也可以被即使檢測出來,提高了待保護設備的安全性。
【附圖說明】
[0058]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0059]圖1是本發明一實施例提供的一種保護設備安全的方法的流程圖;
[0060]圖2是本發明一實施例提供的另一種保護設備安全的方法的流程圖;
[0061]圖3是本發明一實施例提供的一種保護設備安全的系統的示意圖;
[0062]圖4是本發明一實施例提供的又一種保護設備安全的方法的流程圖;
[0063]圖5是本發明一實施例提供的一種保護設備安全的裝置的示意圖。
【具體實施方式】
[0064]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0065]如圖1所示,本發明實施例提供了一種保護設備安全的方法,該方法可以包括以下步驟:
[0066]S1:防護端在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息;
[0067]S2:所述防護端將所述完整性信息發送給可信第三方;
[0068]S3:所述可信第三方根據預先存儲的所述待保護設備的可信的完整性信息,對所述完整性信息進行驗證,如果通過驗證,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全,將驗證結果發送給所述防護端。
[0069]在本發明實施例中,在可信第三方預先存儲了待保護設備的可信的完整性信息,防護端在待保護設備啟動過程中,獲取啟動部件的完整性信息,將完整性信息發給可信第三方,可信第三方根據存儲的可信的完整性信息,來對接收到的完整性信息進行驗證,進而判斷待保護設備是否安全,該驗證過程發生在待保護設備啟動之前,即使待保護設備在啟動之前被入侵,也可以被即使檢測出來,提高了待保護設備的安全性。
[0070]在一種可能的實現方式中,對所述完整性信息進行驗證,可以通過以下方式實現:可信第三方將接收到的完整性信息與存儲的可信的完整性信息進行比對,如果相同,則通過驗證,如果不同,則不通過驗證。
[0071]為了保證完整性信息的安全傳輸,在一種可能的實現方式中,所述可信第三方包括:Privacy CA;
[0072]在所述SI之前,還包括:所述防護端預先獲取所述PrivacyCA頒發的簽名密鑰證書;
[0073]所述S2,包括:
[0074]所述防護端根據預先設置的簽名密鑰對所述完整性信息進行簽名,獲得簽名值;
[0075]所述防護端將所述完整性信息、所述簽名值以及所述簽名密鑰證書打包,生成待驗證信息,將所述待驗證信息通過Privacy CA發來的CA公鑰進行加密;
[0076]所述防護端將加密后的待驗證信息發送給所述PrivacyCA;
[0077]在所述S3之前,還包括:
[0078]所述Privacy CA通過所述CA公鑰對應的CA私鑰解密所述加密后的待驗證信息,獲取所述簽名密鑰證書,根據所述簽名密鑰證書,對所述完整性信息以及所述簽名值進行簽名驗證,通過驗證后,獲取所述完整性信息。
[0079]在該實現方式中,Privacy CA獲取所述簽名密鑰證書,根據所述簽名密鑰證書,對所述完整性信息以及所述簽名值進行簽名驗證,具體可以通過以下方式實現:Privacy CA獲取所述簽名密鑰證書中的公鑰,通過該公鑰對完整性信息以及簽名值進行簽名驗證。另外,如果沒有通過驗證,則確定待驗證信息在傳輸過程中損壞,不進行后續的校驗。
[0080]在一種可能的實現方式中,所述防護端預先獲取所述PrivacyCA頒發的簽名密鑰證書,包括:
[0081]所述防護端向所述PrivacyCA發送所述簽名密鑰證書的頒發請求;
[0082]所述Privacy CA向所述防護端返回label(標簽)和所述CA公鑰;
[0083]所述防護端接收所述Privacy CA返回的label和所述CA公鑰,將所述label與預先生成的簽名密鑰的默認屬性打包,并用所述簽名密鑰對打包的數據進行簽名,生成PrivCASign 信息;
[0084]所述防護端將所述PrivCASign信息與所述簽名密鑰的公共區域數據打包,并用預先生成的對稱加密密鑰進行加密,生成symBlob ;
[0085]所述防護端用所述CA公鑰加密所述對稱加密密鑰,生成asymBlob;
[0086]所述防護端將所述symBlob、所述asymBlob和所述預先設置的EC(TPM(安全芯片,Trusted Platform Module)背書密鑰的證書,Endorsement Credential)發送給所述Privacy CA;
[0087]所述Privacy CA根據所述CA私鑰解密所述asymBlob,獲得所述對稱加密密鑰;
[0088]所述Privacy CA根據所述對稱加密密鑰解密所述symBlob,獲得所述PrivCASign信息和所述簽名密鑰的公共區域數據;
[0089]所述Privacy CA根據所述簽名密鑰的公共區域數據對所述PrivCASign信息進行簽名驗證,驗證通過后,向所述防護端頒發所述簽名密鑰證書;
[0090]所述防護端接收所述簽名密鑰證書。
[0091]在該實現方式中,通過label來標注防護端發起的頒發請求,通過CA公鑰方便防護端加密發來的信息。這里的對稱加密密鑰可以是一個隨機數。如果Pri vacy CA對PrivCASign信息進行簽名驗證后,沒有通過驗證,則不向防護端頒發簽名密鑰證書。
[0092]為了保證簽名密鑰證書的傳輸安全,在一種可能的實現方式中,所述向所述防護端頒發所述簽名密鑰證書,包括:
[0093]所述Privacy CA用所述CA私鑰生成所述簽名密鑰證書,并生成密鑰pcaKey,通過所述pcaKey加密所述簽名密鑰證書;
[0094]所述PrivacyCA生成隨機數seed,計算出所述簽名密鑰的公共區域數據的摘要值name ;
[0095]所述Privacy CA將所述seed作為KDF的密鑰,將所述name作為KDF的context,獲取對稱密鑰symKey;
[0096]所述Privacy CA利用所述symKey對所述pcaKey進行加密,生成credentialBlob ;
[0097]所述Privacy CA獲取所述EC中的公鑰,并利用所述EC中的公鑰加密所述seed,生成secret;
[0098]所述Privacy CA將所述secret、所述credentialBlob以及被加密的簽名密鑰證書發送給所述防護端;
[0099]所述防護端接收所述簽名密鑰證書,包括:
[0100]所述防護端根據所述secret和所述credentialBlob,解密得到所述pcaKey;
[0101]所述防護端根據所述pcaKey解密被加密的簽名密鑰證書,獲得所述簽名密鑰證書。
[0102]在該實現方式中,防護端根據secret和credentialBlob,解密得到所述pcaKey,具體可以通過以下方式實現:防護端根據存儲的EC中的私鑰解密secret,生成seed;防護端根據存儲的簽名密鑰的公共區域數據和seed,對credentialBlob進行解密,如果Privacy CA接收到的簽名密鑰的公共區域數據與防護端存儲的簽名密鑰的公共區域數據一致,則防護端就可以解密credentialBlob,進而可以獲得pcaKey,如果不一致,貝Ij無法解密credentialBlob,無法得到pcaKey。
[0103]在本發明實施例中,防護端可以是TPM2.0芯片,啟動部件可以包括:B10S(BasicInput Output System,基本輸入輸出系統)、MBR(Master Boot Record,主引導記錄)、0SKernel (Operating System Kernel,操作系統內核),完整性信息可以是這些啟動部件中程序或者這些程序的哈希值,在獲取所述待保護設備的啟動部件的完整性信息時,可以通過TPM2_Quote指令來實現。在執行防護端根據所述secret和所述credentialBlob,解密得到所述pcaKey時,可以通過以下方式實現:防護端將secret和credentialBlob作為輸入調用丁卩]\12_4(31:;[¥3七606(16111:丨31指令,進行解密。本發明實施例中的?1';[¥307 CA可以通過支持TPM證書保護過程的Privacy CA來實現。
[0104]在本發明實施例中,Privacy CA利用TPM提供的簽名密鑰的name(TPM密鑰公共區域的摘要值)以及一隨機數生成證書的保護密鑰secret,使用TPM的EK(Endorsement Key,背書密鑰)的公鑰保護該隨機數,TPM使用EK的私鑰恢復出該隨機數,利用與Privacy CA相同的方法計算出保護密鑰secret,再使用secret恢復被加密保護的簽名密鑰證書。
[0105]如圖2所示,本發明實施例提供了一種保護設備安全的方法,該方法可以包括以下步驟:
[Ο?Ο?] 步驟201:防護端預先向Privacy CA發送頒發請求,請求簽名密鑰證書,獲取Privacy CA頒發的簽名密鑰證書。
[0107]具體地,這里的防護端包括:TPM2.0芯片。
[0108]步驟202:防護端在啟動待保護設備的過程中,獲取待保護設備的啟動部件的完整性信息。
[0109]具體地,待保護設備可以是一臺計算機,啟動部件可以是B1S,而完整性信息為B1S中的程序的哈希值。
[0110]步驟203:防護端根據預先設置的簽名密鑰對完整性信息進行簽名,獲得簽名值。
[0111]具體地,這里的簽名密鑰可以是TPM2.0芯片中的簽名密鑰。
[0112]步驟204:防護端將完整性信息、簽名值以及簽名密鑰證書打包,生成待驗證信息,將待驗證信息通過Privacy CA發來的CA公鑰進行加密。
[0113]具體地,這里的CA公鑰可以是PrivacyCA接收到防護端發來的頒發請求后發送給防護端的。
[ΟΙ14] 步驟205:防護端將加密后的待驗證信息發送給Privacy CA。
[0115]步驟206 = Privacy CA通過CA公鑰對應的CA私鑰解密加密后的待驗證信息,獲取簽名密鑰證書。
[0116]步驟207:PrivaCyCA根據簽名密鑰證書,對完整性信息以及簽名值進行簽名驗證,通過驗證后,獲取完整性信息。
[0117]步驟208:PrivaCyCA將預先存儲的待保護設備的可信的完整性信息與防護端發來的完整性信息進行比對,如果二者一致,則通過驗證,確定待保護設備安全,如果二者不一致,則沒有通過驗證,確定待保護設備不安全,將驗證結果發送給防護端。
[0118]在本發明實施例中,防護端接收到待保護設備安全的驗證結果后,可以正常啟動待保護設備;防護端接收到待保護設備不安全的驗證結果后,可以停止啟動待保護設備,或者提醒用戶待保護設備不安全,或者對待保護設備進行殺毒等。
[0119]本發明提出了利用遠程認證的方式驗證平臺完整性的方法,根據TCG(TrUStedComputing Group,可信計算組織)可信度量鏈的規范構建平臺啟動的度量鏈收集本次啟動的關鍵部件的完整性信息,利用Privacy CA完成對該平臺的完整性校驗。同時,為保護遠程認證信息簽名密鑰證書在下發過程中的安全性,利用TPM2.0芯片新的密鑰結構及信息構建保護密鑰加密保護簽名密鑰證書,由TPM端完成對保護密鑰的還原及對簽名證書的解密,以此來保證簽名密鑰證書安全。
[0120]如圖3所示,本實施例提供的一種保護設備安全的系統,包括:
[0121 ]防護端301、可信第三方302;
[0122]所述防護端301,用于在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息,將所述完整性信息發送給所述可信第三方;
[0123]所述可信第三方302,用于根據預先存儲的所述待保護設備的可信的完整性信息,對所述完整性信息進行驗證,如果通過驗證,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全,將驗證結果發送給所述防護端。
[0124]在一種可能的實現方式中,可信第三方302包括:PrivacyCA;
[0125]所述防護端301,還用于獲取所述Privacy CA頒發的簽名密鑰證書;
[0126]所述防護端301,在執行將所述完整性信息發送給可信第三方時,用于根據預先設置的簽名密鑰對所述完整性信息進行簽名,獲得簽名值,將所述完整性信息、所述簽名值以及所述簽名密鑰證書打包,生成待驗證信息,將所述待驗證信息通過Privacy CA發來的CA公鑰進行加密,將加密后的待驗證信息發送給所述Privacy CA;
[0127]所述Privacy CA,還用于通過所述CA公鑰對應的CA私鑰解密所述加密后的待驗證信息,獲取所述簽名密鑰證書,根據所述簽名密鑰證書,對所述完整性信息以及所述簽名值進行簽名驗證,通過驗證后,獲取所述完整性信息。
[0128]在一種可能的實現方式中,所述防護端,用于向所述PrivacyCA發送所述簽名密鑰證書的頒發請求,接收所述Privacy CA返回的label和所述CA公鑰,將所述label與預先生成的簽名密鑰的默認屬性打包,并用所述簽名密鑰對打包的數據進行簽名,生成PrivCASign信息,將所述PrivCASign信息與所述簽名密鑰的公共區域數據打包,并用預先生成的對稱加密密鑰進行加密,生成symBlob,用所述CA公鑰加密所述對稱加密密鑰,生成asymBlob,將所述symBlob、所述asymBlob和所述預先設置的安全芯片TPM背書密鑰的證書EC發送給所述Privacy CA,接收所述Privacy CA頒發的所述簽名密鑰證書
[0129]所述Privacy CA,用于向所述防護端返回標簽label和所述CA公鑰,根據所述CA私鑰解密所述asymBlob,獲得所述對稱加密密鑰,根據所述對稱加密密鑰解密所述symBlob,獲得所述PrivCASign信息和所述簽名密鑰的公共區域數據,根據所述簽名密鑰的公共區域數據對所述PrivCASign信息進行簽名驗證,驗證通過后,向所述防護端頒發所述簽名密鑰證書。
[0130]在一種可能的實現方式中,所述PrivacyCA,在執行所述向所述防護端頒發所述簽名密鑰證書時,用于用所述CA私鑰生成所述簽名密鑰證書,并生成密鑰pcaKey,通過所述pcaKey加密所述簽名密鑰證書,生成隨機數seed,計算出所述簽名密鑰的公共區域數據的摘要值name,將所述seed作為密鑰推導函數KDF的密鑰,將所述name作為KDF的context,獲取對稱密鑰symKey,利用所述symKey對所述pcaKey進行加密,生成credentialBlob,獲取所述EC中的公鑰,并利用所述EC中的公鑰加密所述seed,生成secret,將所述secret、所述credentialBlob以及被加密的簽名密鑰證書發送給所述防護端;
[0131]所述防護端,在執行所述接收所述簽名密鑰證書時,用于根據所述secret和所述credentialBlob,解密得到所述pcaKey,根據所述pcaKey解密被加密的簽名密鑰證書,獲得所述簽名密鑰證書。
[0132]上述裝置內的各單元之間的信息交互、執行過程等內容,由于與本發明方法實施例基于同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
[0133]如圖4所示,本發明實施例提供的一種保護設備安全的方法,包括:
[0134]步驟401:在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息;
[0135]步驟402:將所述完整性信息發送給可信第三方,以使所述可信第三方根據預先存儲的可信的完整性信息,對所述完整性信息進行驗證,通過驗證后,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全。
[0136]在本發明實施例中,可以通過TPM2.0芯片實現。
[0137]如圖5所示,本發明實施例提供的一種保護設備安全的裝置,包括:
[0138]獲取單元501,用于在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息;
[0139]驗證單元502,用于將所述完整性信息發送給可信第三方,以使所述可信第三方根據預先存儲的可信的完整性信息,對所述完整性信息進行驗證,通過驗證后,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全。
[0140]在本發明實施例中,該裝置可以通過TPM2.0芯片來說實現。
[0141]本發明實施例至少具有如下有益效果:
[0142]1、在本發明實施例中,在可信第三方預先存儲了待保護設備的可信的完整性信息,防護端在待保護設備啟動過程中,獲取啟動部件的完整性信息,將完整性信息發給可信第三方,可信第三方根據存儲的可信的完整性信息,來對接收到的完整性信息進行驗證,進而判斷待保護設備是否安全,該驗證過程發生在待保護設備啟動之前,即使待保護設備在啟動之前被入侵,也可以被即使檢測出來,提高了待保護設備的安全性。
[0143]2、在本發明實施例中,利用TPM2.0芯片的密鑰體系對待保護設備的完整性信息簽名,將其發送給Privacy CA,由Privacy CA完成對完整性信息的校驗,利用TPM2.0已封裝的指令保護Privacy CA下發的簽名密鑰證書,保證證書的可用性與TPM產生的簽名密鑰的可用性一致。
[0144]3、在本發明實施例中,利用TPM芯片特有的硬件設計保證其內部執行過程的安全保密,在待保護設備的啟動過程中,計算并收集啟動部件的完整性信息,在關鍵節點向遠端Privacy CA發起遠程認證,由Privacy CA利用已有的可信的完整性信息校驗本次啟動收集的完整性信息是否可信,保證待保護設備的啟動部件的安全可信,同時,根據TPM2.0新的密鑰結構及信息構建證書保護密鑰的保護信息,保證遠程認證過程中TPM簽名密鑰的完整可
?目O
[0145]需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
[0146]本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質中。
[0147]最后需要說明的是:以上所述僅為本發明的較佳實施例,僅用于說明本發明的技術方案,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。
【主權項】
1.一種保護設備安全的方法,其特征在于,包括: S1:防護端在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息; S2:所述防護端將所述完整性信息發送給可信第三方; S3:所述可信第三方根據預先存儲的所述待保護設備的可信的完整性信息,對所述完整性信息進行驗證,如果通過驗證,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全,將驗證結果發送給所述防護端。2.根據權利要求1所述的方法,其特征在于,所述可信第三方包括:PrivacyCA; 在所述SI之前,還包括:所述防護端預先獲取所述Privacy CA頒發的簽名密鑰證書; 所述S2,包括: 所述防護端根據預先設置的簽名密鑰對所述完整性信息進行簽名,獲得簽名值; 所述防護端將所述完整性信息、所述簽名值以及所述簽名密鑰證書打包,生成待驗證信息,將所述待驗證信息通過Privacy CA發來的CA公鑰進行加密; 所述防護端將加密后的待驗證信息發送給所述Privacy CA ; 在所述S3之前,還包括: 所述Privacy CA通過所述CA公鑰對應的CA私鑰解密所述加密后的待驗證信息,獲取所述簽名密鑰證書,根據所述簽名密鑰證書,對所述完整性信息以及所述簽名值進行簽名驗證,通過驗證后,獲取所述完整性信息。3.根據權利要求2所述的方法,其特征在于,所述防護端預先獲取所述PrivacyCA頒發的簽名密鑰證書,包括: 所述防護端向所述Privacy CA發送所述簽名密鑰證書的頒發請求; 所述Privacy CA向所述防護端返回標簽label和所述CA公鑰; 所述防護端接收所述Privacy CA返回的label和所述CA公鑰,將所述label與預先生成的簽名密鑰的默認屬性打包,并用所述簽名密鑰對打包的數據進行簽名,生成PrivCASign信息; 所述防護端將所述PrivCASign信息與所述簽名密鑰的公共區域數據打包,并用預先生成的對稱加密密鑰進行加密,生成symBlob ; 所述防護端用所述CA公鑰加密所述對稱加密密鑰,生成asymBlob; 所述防護端將所述symBlob、所述asymBlob和所述預先設置的安全芯片TPM背書密鑰的證書EC發送給所述Privacy CA; 所述Privacy CA根據所述CA私鑰解密所述asymBlob,獲得所述對稱加密密鑰; 所述Privacy CA根據所述對稱加密密鑰解密所述symBlob,獲得所述PrivCASign信息和所述簽名密鑰的公共區域數據; 所述Privacy CA根據所述簽名密鑰的公共區域數據對所述PrivCASign信息進行簽名驗證,驗證通過后,向所述防護端頒發所述簽名密鑰證書; 所述防護端接收所述簽名密鑰證書。4.根據權利要求3所述的方法,其特征在于,所述向所述防護端頒發所述簽名密鑰證書,包括: 所述Privacy CA用所述CA私鑰生成所述簽名密鑰證書,并生成密鑰pcaKey,通過所述pcaKey加密所述簽名密鑰證書; 所述Pri vacy CA生成隨機數seed,計算出所述簽名密鑰的公共區域數據的摘要值name ; 所述Pri vacy CA將所述seed作為密鑰推導函數KDF的密鑰,將所述name作為KDF的context,獲取對稱密鑰symKey ; 所述Privacy CA利用所述symKey對所述pcaKey進行加密,生成credentialBlob; 所述Pri vacy CA獲取所述EC中的公鑰,并利用所述EC中的公鑰加密所述seed,生成secret; 所述Privacy CA將所述secret、所述credentialBlob以及被加密的簽名密鑰證書發送給所述防護端; 所述防護端接收所述簽名密鑰證書,包括: 所述防護端根據所述secret和所述credentialBlob,解密得到所述pcaKey; 所述防護端根據所述pcaKey解密被加密的簽名密鑰證書,獲得所述簽名密鑰證書。5.一種保護設備安全的系統,其特征在于,包括: 防護端、可信第三方; 所述防護端,用于在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息,將所述完整性信息發送給所述可信第三方; 所述可信第三方,用于根據預先存儲的所述待保護設備的可信的完整性信息,對所述完整性信息進行驗證,如果通過驗證,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全,將驗證結果發送給所述防護端。6.根據權利要求5所述的系統,其特征在于,所述可信第三方包括:PrivacyCA; 所述防護端,還用于獲取所述Privacy CA頒發的簽名密鑰證書; 所述防護端,在執行將所述完整性信息發送給可信第三方時,用于根據預先設置的簽名密鑰對所述完整性信息進行簽名,獲得簽名值,將所述完整性信息、所述簽名值以及所述簽名密鑰證書打包,生成待驗證信息,將所述待驗證信息通過Privacy CA發來的CA公鑰進行加密,將加密后的待驗證信息發送給所述Privacy CA; 所述Privacy CA,還用于通過所述CA公鑰對應的CA私鑰解密所述加密后的待驗證信息,獲取所述簽名密鑰證書,根據所述簽名密鑰證書,對所述完整性信息以及所述簽名值進行簽名驗證,通過驗證后,獲取所述完整性信息。7.根據權利要求6所述的系統,其特征在于,包括: 所述防護端,用于向所述Privacy CA發送所述簽名密鑰證書的頒發請求,接收所述Privacy CA返回的label和所述CA公鑰,將所述label與預先生成的簽名密鑰的默認屬性打包,并用所述簽名密鑰對打包的數據進行簽名,生成PrivCASign信息,將所述PrivCASign信息與所述簽名密鑰的公共區域數據打包,并用預先生成的對稱加密密鑰進行加密,生成symBlob,用所述CA公鑰加密所述對稱加密密鑰,生成a symBlob,將所述symBlob、所述asymBlob和所述預先設置的安全芯片TPM背書密鑰的證書EC發送給所述Privacy CA,接收所述Privacy CA頒發的所述簽名密鑰證書 所述Privacy CA,用于向所述防護端返回標簽label和所述CA公鑰,根據所述CA私鑰解密所述asymBlob,獲得所述對稱加密密鑰,根據所述對稱加密密鑰解密所述symBlob,獲得所述PrivCASign信息和所述簽名密鑰的公共區域數據,根據所述簽名密鑰的公共區域數據對所述PrivCASign信息進行簽名驗證,驗證通過后,向所述防護端頒發所述簽名密鑰證書。8.根據權利要求7所述的系統,其特征在于,包括: 所述Privacy CA,在執行所述向所述防護端頒發所述簽名密鑰證書時,用于用所述CA私鑰生成所述簽名密鑰證書,并生成密鑰pcaKey,通過所述pcaKey加密所述簽名密鑰證書,生成隨機數seed,計算出所述簽名密鑰的公共區域數據的摘要值name,將所述seed作為密鑰推導函數KDF的密鑰,將所述name作為KDF的context,獲取對稱密鑰symKey,利用所述symKey對所述pcaKey進行加密,生成credentialBlob,獲取所述EC中的公鑰,并利用所述EC中的公鑰加密所述seed,生成secret,將所述secret、所述credentialBlob以及被加密的簽名密鑰證書發送給所述防護端; 所述防護端,在執行所述接收所述簽名密鑰證書時,用于根據所述secret和所述credentialBlob,解密得到所述pcaKey,根據所述pcaKey解密被加密的簽名密鑰證書,獲得所述簽名密鑰證書。9.一種保護設備安全的方法,其特征在于,包括: 在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息; 將所述完整性信息發送給可信第三方,以使所述可信第三方根據預先存儲的可信的完整性信息,對所述完整性信息進行驗證,通過驗證后,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全。10.一種保護設備安全的裝置,其特征在于,包括: 獲取單元,用于在啟動待保護設備的過程中,獲取所述待保護設備的啟動部件的完整性信息; 驗證單元,用于將所述完整性信息發送給可信第三方,以使所述可信第三方根據預先存儲的可信的完整性信息,對所述完整性信息進行驗證,通過驗證后,則確定所述待保護設備安全,如果沒有通過驗證,則確定所述待保護設備不安全。
【文檔編號】G06F21/56GK105897427SQ201610203867
【公開日】2016年8月24日
【申請日】2016年4月1日
【發明人】許鑫
【申請人】浪潮電子信息產業股份有限公司