本技術(shù)實(shí)施例涉及云,尤其涉及一種基于云技術(shù)的鏡像部署方法及裝置。
背景技術(shù):
1、在云技術(shù)領(lǐng)域中,飛地(enclave)是一種完全隔離的虛擬機(jī),它的內(nèi)存和處理器來自于其父虛擬機(jī)被預(yù)先隔離出來的資源。enclave既沒有外部網(wǎng)絡(luò),也沒有持久化存儲(chǔ)。父虛擬機(jī)內(nèi)的進(jìn)程、應(yīng)用程序、內(nèi)核或者用戶都無法訪問enclave中的資源。相應(yīng)的,云服務(wù)器可以構(gòu)建一個(gè)enclave,把敏感應(yīng)用代碼和數(shù)據(jù)放在enclave中執(zhí)行。示例性的,管理人員可構(gòu)建enclave鏡像文件,并使用私鑰對(duì)enclave鏡像文件進(jìn)行簽名。運(yùn)維人員可在云系統(tǒng)中部署enclave鏡像文件。在enclave鏡像文件部署過程中,云平臺(tái)基于私鑰對(duì)enclave鏡像文件進(jìn)行完整性校驗(yàn)。但是,已有技術(shù)中的簽名方式僅能保證enclave鏡像文件的完整性,而無法保證enclave鏡像文件的機(jī)密性。例如,在enclave鏡像文件包括機(jī)密數(shù)據(jù)(或敏感數(shù)據(jù))的情況下,enclave鏡像文件在傳輸過程中以及保存在外部服務(wù)器的場(chǎng)景下,均無法保證enclave鏡像文件中的機(jī)密數(shù)據(jù)的安全性。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種基于云技術(shù)的鏡像部署方法及裝置,可有效保證鏡像文件中的用戶數(shù)據(jù)的安全性。
2、第一方面,本技術(shù)實(shí)施例提供一種基于云技術(shù)的鏡像部署方法。該方法包括:接收第一客戶端發(fā)送的第一請(qǐng)求信息,第一請(qǐng)求信息中包括待部署的鏡像文件,第一請(qǐng)求信息用于指示對(duì)待部署的鏡像文件進(jìn)行解密,待部署的鏡像文件中包括簽名信息、第一密鑰以及使用第二密鑰加密的鏡像數(shù)據(jù);其中,簽名信息用于唯一標(biāo)識(shí)鏡像數(shù)據(jù),第一密鑰與第二密鑰為加解密鑰對(duì)。獲取簽名信息和第一密鑰?;诤灻畔⒑偷谝幻荑€,獲取第二密鑰。其中,第二密鑰為基于簽名信息識(shí)別到具有解密權(quán)限后,對(duì)第一密鑰進(jìn)行解密后得到的?;诘诙荑€,對(duì)待部署的鏡像文件進(jìn)行解密,得到解密后的鏡像數(shù)據(jù)。這樣,
3、通過對(duì)鏡像數(shù)據(jù)進(jìn)行加密,可保護(hù)鏡像文件保存以及傳輸過程中,鏡像數(shù)據(jù)不被惡意竊取,有效提高鏡像數(shù)據(jù)的安全性和保密性。并且,本技術(shù)通過對(duì)解密權(quán)限進(jìn)行條件約束,使得密鑰的解密權(quán)限受到約束條件的約束,使得其它非法角色在無法滿足約束條件的情況下,均無法獲取到解密密鑰,且無法對(duì)鏡像數(shù)據(jù)進(jìn)行解密,從而有效保證了鏡像數(shù)據(jù)的安全性。
4、在一種可能的實(shí)現(xiàn)方式中,接收第一客戶端發(fā)送的第一請(qǐng)求信息之前,方法還包括:接收第二客戶端發(fā)送的第二請(qǐng)求信息,第二請(qǐng)求信息中包括待編譯的鏡像文件,待編譯的鏡像文件包括簽名信息和鏡像數(shù)據(jù),第二請(qǐng)求信息用于指示對(duì)待編譯的鏡像文件進(jìn)行編譯?;诤灻畔?,獲取第一密鑰和第二密鑰;其中,第一密鑰為基于簽名信息識(shí)別到具有生成密鑰權(quán)限后生成的,第二密鑰為基于簽名信息確定具有解密權(quán)限后,對(duì)第一密鑰進(jìn)行解密后得到的?;诘诙荑€,加密鏡像數(shù)據(jù)?;诩用芎蟮溺R像數(shù)據(jù)、第一密鑰和簽名信息,得到待部署的鏡像文件。向第二客戶端發(fā)送待部署的鏡像文件。這樣,編譯過程中,通過設(shè)置約束條件,可使得kms對(duì)密鑰的使用權(quán)限進(jìn)行約束,在本技術(shù)中,只有攜帶簽名信息的運(yùn)維管理服務(wù)才能獲取到對(duì)應(yīng)的權(quán)限,可保證密鑰的安全性,不被其他非法角色惡意竊取。
5、在一種可能的實(shí)現(xiàn)方式中,第一客戶端的待部署的鏡像文件是從第二客戶端得到的。這樣,第二客戶端獲取到生成的鏡像文件之后,可以發(fā)布給任意客戶端。其它客戶端獲取到鏡像文件是通過加密后生成的,任意客戶端均不會(huì)獲取到鏡像文件中的加密數(shù)據(jù),保護(hù)數(shù)據(jù)的安全性。
6、在一種可能的實(shí)現(xiàn)方式中,鏡像數(shù)據(jù)中的全部或部分?jǐn)?shù)據(jù)使用第二密鑰加密。這樣,本技術(shù)實(shí)施例中,hypervisor可基于用戶指示,對(duì)全部或部分?jǐn)?shù)據(jù)進(jìn)行加密,以保證用戶所指示的敏感數(shù)據(jù)的安全。
7、在一種可能的實(shí)現(xiàn)方式中,待部署的鏡像文件為飛地(enclave)鏡像文件。
8、在一種可能的實(shí)現(xiàn)方式中,待部署的鏡像文件包括公共鏡像、私有鏡像、共享鏡像和市場(chǎng)鏡像中的任一種。
9、第二方面,本技術(shù)實(shí)施例提供一種基于云技術(shù)的鏡像部署裝置,包括:接收模塊,用于接收第一客戶端發(fā)送的第一請(qǐng)求信息,第一請(qǐng)求信息中包括待部署的鏡像文件,第一請(qǐng)求信息用于指示對(duì)待部署的鏡像文件進(jìn)行解密,待部署的鏡像文件中包括簽名信息、第一密鑰以及使用第二密鑰加密的鏡像數(shù)據(jù);其中,簽名信息用于唯一標(biāo)識(shí)鏡像數(shù)據(jù),第一密鑰與第二密鑰為加解密鑰對(duì)。運(yùn)維管理模塊,用于獲取簽名信息和第一密鑰;運(yùn)維管理模塊,用于基于簽名信息和第一密鑰,獲取第二密鑰;其中,第二密鑰為基于簽名信息識(shí)別到具有解密權(quán)限后,對(duì)第一密鑰進(jìn)行解密后得到的;虛擬機(jī)監(jiān)視模塊,用于基于第二密鑰,對(duì)待部署的鏡像文件進(jìn)行解密,得到解密后的鏡像數(shù)據(jù)。
10、在一種可能的實(shí)現(xiàn)方式中,接收模塊,還用于接收第二客戶端發(fā)送的第二請(qǐng)求信息,第二請(qǐng)求信息中包括待編譯的鏡像文件,待編譯的鏡像文件包括簽名信息和鏡像數(shù)據(jù),第二請(qǐng)求信息用于指示對(duì)待編譯的鏡像文件進(jìn)行編譯;運(yùn)維管理模塊,還用于基于簽名信息,獲取第一密鑰和第二密鑰;其中,第一密鑰為基于簽名信息識(shí)別到具有生成密鑰權(quán)限后生成的,第二密鑰為基于簽名信息確定具有解密權(quán)限后,對(duì)第一密鑰進(jìn)行解密后得到的;虛擬機(jī)監(jiān)視模塊,還用于基于第二密鑰,加密鏡像數(shù)據(jù);虛擬機(jī)監(jiān)視模塊,還用于基于加密后的鏡像數(shù)據(jù)、第一密鑰和簽名信息,得到待部署的鏡像文件;虛擬機(jī)監(jiān)視模塊,還用于向第二客戶端發(fā)送待部署的鏡像文件。
11、在一種可能的實(shí)現(xiàn)方式中,第一客戶端的待部署的鏡像文件是從第二客戶端得到的。
12、在一種可能的實(shí)現(xiàn)方式中,鏡像數(shù)據(jù)中的全部或部分?jǐn)?shù)據(jù)使用第二密鑰加密。
13、在一種可能的實(shí)現(xiàn)方式中,待部署的鏡像文件為飛地(enclave)鏡像文件。
14、在一種可能的實(shí)現(xiàn)方式中,待部署的鏡像文件包括公共鏡像、私有鏡像、共享鏡像和市場(chǎng)鏡像中的任一種。
15、第三方面,本技術(shù)實(shí)施例提供一種基于云技術(shù)的鏡像部署系統(tǒng),系統(tǒng)包括:云管理平臺(tái),用于:接收第一客戶端發(fā)送的部署請(qǐng)求信息,部署請(qǐng)求信息中包括待部署的鏡像文件,第一請(qǐng)求信息用于指示對(duì)待部署的鏡像文件進(jìn)行解密,待部署的鏡像文件中包括簽名信息、第一密鑰以及使用第二密鑰加密的鏡像數(shù)據(jù);其中,簽名信息用于唯一標(biāo)識(shí)鏡像數(shù)據(jù),第一密鑰與第二密鑰為加解密鑰對(duì);向運(yùn)維管理服務(wù)發(fā)送部署請(qǐng)求信息;運(yùn)維管理服務(wù),用于:響應(yīng)于部署請(qǐng)求信息,向密鑰管理服務(wù)(key?management?service,kms)發(fā)送第一請(qǐng)求信息,第一請(qǐng)求信息包括簽名信息和第一密鑰,第一請(qǐng)求信息用于向kms請(qǐng)求第二密鑰;kms,用于:基于簽名信息識(shí)別到運(yùn)維管理服務(wù)具有解密權(quán)限后,對(duì)第一密鑰進(jìn)行解密,得到第二密鑰;向運(yùn)維管理服務(wù)發(fā)送第二密鑰;運(yùn)維管理服務(wù),用于:接收第二密鑰;向虛擬監(jiān)視服務(wù)(hypervisor,hv)發(fā)送第二密鑰;hv,用于:基于第二密鑰,對(duì)待部署的鏡像文件進(jìn)行解密,得到解密后的鏡像數(shù)據(jù)。
16、在一種可能的實(shí)現(xiàn)方式中,云管理平臺(tái),還用于:接收第二客戶端發(fā)送的編譯請(qǐng)求信息,編譯請(qǐng)求信息中包括待編譯的鏡像文件,待編譯的鏡像文件包括簽名信息和鏡像數(shù)據(jù),第二請(qǐng)求信息用于指示對(duì)待編譯的鏡像文件進(jìn)行編譯;向運(yùn)維管理模塊發(fā)送編譯請(qǐng)求信息;運(yùn)維管理模塊,還用于:響應(yīng)于編譯請(qǐng)求信息,向kms發(fā)送第二請(qǐng)求信息,第二請(qǐng)求信息中包括簽名信息,第二請(qǐng)求信息用于向kms請(qǐng)求第一密鑰和第二密鑰;kms,還用于:響應(yīng)于第二請(qǐng)求信息,基于簽名信息識(shí)別到運(yùn)維管理服務(wù)具有生成密鑰權(quán)限,生成第一密鑰;基于簽名信息確定運(yùn)維管理服務(wù)具有解密權(quán)限后,對(duì)第一密鑰進(jìn)行解密,得到第二密鑰;向運(yùn)維管理模塊發(fā)送第一密鑰和第二密鑰;運(yùn)維管理服務(wù),還用于:將接收到的第一密鑰和第二密鑰輸出給hv;hv,還用于:基于第二密鑰,加密鏡像數(shù)據(jù);基于加密后的鏡像數(shù)據(jù)、第一密鑰和簽名信息,得到待部署的鏡像文件;向第二客戶端發(fā)送待部署的鏡像文件。
17、在一種可能的實(shí)現(xiàn)方式中,第一客戶端的待部署的鏡像文件是從第二客戶端得到的。
18、在一種可能的實(shí)現(xiàn)方式中,鏡像數(shù)據(jù)中的全部或部分?jǐn)?shù)據(jù)使用第二密鑰加密。
19、在一種可能的實(shí)現(xiàn)方式中,待部署的鏡像文件為飛地(enclave)鏡像文件。
20、在一種可能的實(shí)現(xiàn)方式中,待部署的鏡像文件包括公共鏡像、私有鏡像、共享鏡像和市場(chǎng)鏡像中的任一種。
21、第四方面,本技術(shù)實(shí)施例提供一種計(jì)算設(shè)備集群,包括至少一個(gè)計(jì)算設(shè)備,每個(gè)計(jì)算設(shè)備包括處理器和存儲(chǔ)器。至少一個(gè)計(jì)算設(shè)備的處理器用于執(zhí)行至少一個(gè)計(jì)算設(shè)備的存儲(chǔ)器中存儲(chǔ)的指令,以使得計(jì)算設(shè)備集群執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。
22、第五方面,本技術(shù)實(shí)施例提供一種包含指令的計(jì)算機(jī)程序產(chǎn)品,其特征在于,當(dāng)指令被計(jì)算設(shè)備集群運(yùn)行時(shí),使得計(jì)算設(shè)備集群執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。
23、第六方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,包括計(jì)算機(jī)程序指令,當(dāng)計(jì)算機(jī)程序指令由計(jì)算設(shè)備集群執(zhí)行時(shí),計(jì)算設(shè)備集群執(zhí)行第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。