一種驗證計算池可信的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種驗證計算池可信的方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計算、大數(shù)據(jù)等技術(shù)的發(fā)展,如何為用戶提供安全可信的計算環(huán)境變得越來越重要。在云計算中,將大量的計算資源放到計算池中,當(dāng)用戶需要計算資源進行計算時,云計算的管理端會根據(jù)用戶的需要為用戶分配計算資源,如何保證云計算的管理端為用戶分配的計算資源安全可信,變得越來越重要。
[0003]現(xiàn)有技術(shù)中,為了保障計算池中的宿主機的安全性,采用類似保障一臺獨立的物理主機的安全性的策略,為宿主機安全防火墻等。現(xiàn)有技術(shù)中只能對通過驗證宿主機的完整性來判斷該宿主機是否可信,而在云計算中,計算池中的宿主機并不是一臺完全獨立的物理主機,計算池中的宿主機需要按照云計算的管理端發(fā)來的命令來完成計算任務(wù),云計算的管理端在分配宿主機給用戶時,需要考慮宿主機的地理位置,當(dāng)計算池中的虛擬機需要迀移或發(fā)生逃逸問題時,需要確保宿主機的地理位置的安全,現(xiàn)有技術(shù)不能保證計算池中宿主機的地理位置的安全,總之,現(xiàn)有技術(shù)中計算池的安全性較低。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供了一種驗證計算池可信的方法及系統(tǒng),能夠提高計算池的安全性。
[0005]一方面,本發(fā)明提供了一種驗證計算池可信的方法,包括:
[0006]預(yù)先生成攜帶有宿主機的地理位置信息的地理位置標簽Geo-Tag證書,確定所述Geo-Tag證書的初始哈希值,將所述初始哈希值保存在所述宿主機中,并將所述Geo-Tag證書保存在可信第三方中作為可信Geo-Tag證書,還包括:
[0007]S1:所述可信第三方向所述宿主機請求所述宿主機中保存的初始哈希值;
[0008]S2:所述可信第三方接收所述宿主機返回的待驗證的初始哈希值;
[0009]S3:所述可信第三方計算所述可信Geo-Tag證書的可信哈希值;
[0010]S4:所述可信第三方判斷所述待驗證的初始哈希值與所述可信哈希值是否相等,如果是,則判定所述宿主機可信,否則,判定所述宿主機不可信。
[0011]進一步地,所述預(yù)先生成攜帶有宿主機的地理位置信息的Ge0-Tag證書,包括:
[0012]Al:向數(shù)字證書認證中心CA發(fā)送所述宿主機的地理位置信息,以使所述CA生成攜帶有所述地理位置信息的CA證書;
[0013]A2:獲取所述CA證書和所述宿主機的通用唯一識別碼UUID,根據(jù)所述UUID和所述CA證書創(chuàng)建Geo-Tag標簽;
[0014]A3:對所述Geo-Tag標簽進行數(shù)字簽名,生成所述Geo-Tag證書。
[0015]進一步地,所述確定所述Geo-Tag證書的初始哈希值,將所述初始哈希值保存在所述宿主機中,包括:
[0016]將所述Geo-Tag證書發(fā)送給所述宿主機中的安全芯片TPM芯片,通過所述TPM芯片對所述Geo-Tag證書進行哈希運算,獲得所述初始哈希值,并將所述初始哈希值保存到在所述TPM芯片中。
[0017]進一步地,在所述SI之前還包括:
[0018]預(yù)先設(shè)置所述CA的私鑰、所述CA的公鑰、所述宿主機的私鑰、所述宿主機的公鑰;
[0019]所述Al,包括:
[0020]向所述CA發(fā)送攜帶有第一隨機數(shù)的開始會話請求;
[0021]接收所述CA返回的對所述開始會話請求的應(yīng)答和所述第一隨機數(shù);
[0022]將所述宿主機的地理位置信息、所述第一隨機數(shù)、第二隨機數(shù)和所述宿主機的公鑰,利用所述CA的公鑰進行加密,得到第一加密信息,將所述第一加密信息發(fā)送給所述CA,以使所述CA接收所述第一加密信息,所述CA利用所述CA的私鑰進行解密,所述CA生成攜帶有所述地理位置信息的CA證書,所述CA通過所述宿主機的公鑰對所述CA證書和所述第二隨機數(shù)進行加密,得到第二加密信息,所述CA返回所述第二加密信息;
[0023]所述A2中,所述獲取所述CA證書,包括:
[0024]接收所述CA返回的所述第二加密信息,利用所述宿主機的私鑰對所述第二加密信息進行解密,獲得所述CA證書;
[0025]在所述獲取所述CA證書之后,還包括:
[0026]利用所述CA的公鑰對結(jié)束會話請求、所述第二隨機數(shù)和第三隨機數(shù)進行加密,得到第三加密信息,將所述第三加密信息發(fā)送給所述CA,以使所述CA利用所述CA的私鑰對所述第三加密信息進行解密,所述CA根據(jù)所述結(jié)束會話請求返回結(jié)束會話的應(yīng)答和所述第三隨機數(shù)。
[0027]進一步地,所述確定所述Geo-Tag證書的初始哈希值,包括:
[0028]利用SHA-1計算所述Geo-Tag證書的初始哈希值;
[0029]和/ 或,
[0030]所述將所述初始哈希值保存到在所述TPM芯片中,包括:
[0031 ] 將所述初始哈希值擴展到所述TPM芯片的PCR22中。
[0032]另一方面,本發(fā)明提供了一種驗證計算池可信的系統(tǒng),包括:
[0033]地理位置標簽Geo-Tag證書單元,用于生成攜帶有宿主機的地理位置信息的地理位置標簽Geo-Tag證書,確定所述Geo-Tag證書的初始哈希值,將所述初始哈希值保存在所述宿主機中,并將所述Geo-Tag證書保存在可信第三方中作為可信Geo-Tag證書;
[0034]所述可信第三方,用于向所述宿主機請求所述宿主機中保存的初始哈希值,接收所述宿主機返回的待驗證的初始哈希值,計算所述可信Geo-Tag證書的可信哈希值,判斷所述待驗證的初始哈希值與所述可信哈希值是否相等,當(dāng)判斷結(jié)果為是時,則判定所述宿主機可信,當(dāng)判斷結(jié)果為否時,判定所述宿主機不可信。
[0035]進一步地,還包括:數(shù)字證書認證中心CA,用于接收所述Geo-Tag證書單元發(fā)來的所述地理位置信息,生成攜帶有所述地理位置信息的CA證書,將所述CA證書發(fā)送給所述Geo-Tag證書單元;
[0036]所述Geo-Tag證書單元,用于在執(zhí)行所述生成攜帶有宿主機的地理位置信息的Geo-Tag證書時,具體執(zhí)行:向CA發(fā)送所述宿主機的地理位置信息,接收所述CA發(fā)來的CA證書,獲取所述宿主機的通用唯一識別碼UUID,根據(jù)所述UUID和所述CA證書創(chuàng)建Geo-Tag標簽,對所述Geo-Tag標簽進行數(shù)字簽名,生成所述Geo-Tag證書。
[0037]進一步地,所述Geo-Tag證書單元,用于在執(zhí)行所述確定所述Geo-Tag證書的初始哈希值,將所述初始哈希值保存在所述宿主機中時,具體執(zhí)行:將所述Geo-Tag證書發(fā)送給所述宿主機中的安全芯片TPM芯片,通過所述TPM芯片對所述Geo-Tag證書進行哈希運算,獲得所述初始哈希值,并將所述初始哈希值保存到在所述TPM芯片中。
[0038]進一步地,還包括:設(shè)置單元,用于設(shè)置所述CA的私鑰、所述CA的公鑰、所述宿主機的私鑰、所述宿主機的公鑰;
[0039]所述Geo-Tag證書單元,用于向所述CA發(fā)送攜帶有第一隨機數(shù)的開始會話請求,接收所述CA返回的對所述開始會話請求的應(yīng)答和所述第一隨機數(shù),將所述宿主機的地理位置信息、所述第一隨機數(shù)、第二隨機數(shù)和所述宿主機的公鑰,利用所述CA的公鑰進行加密,得到第一加密信息,將所述第一加密信息發(fā)送給所述CA,接收所述CA返回的所述第二加密信息,利用所述宿主機的私鑰對所述第二加密信息進行解密,獲得所述CA證書;
[0040]所述CA,用于接收所述Geo-Tag證書單元發(fā)來的攜帶有第一隨機數(shù)的開始會話請求,并返回對所述開始會話請求的應(yīng)答和所述第一隨機數(shù),接收所述第一加密信息,利用所述CA的私鑰進行解密,根據(jù)所述地理位置信息生成所述CA證書,