本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體涉及云中虛擬機磁盤及文件加密密鑰的管理方法和系統(tǒng)。
背景技術(shù):
近年來,虛擬化技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展推進著云計算模式的落地,越來越多的客戶認識到云計算的高資源利用率、低成本、按需分配、綠色環(huán)保、易管理、易擴展等優(yōu)勢,開始將業(yè)務(wù)遷移到云中。與此同時,對于遷移到云中的敏感、關(guān)鍵的數(shù)據(jù)和業(yè)務(wù),客戶通常選擇數(shù)據(jù)加密的技術(shù)手段,即對業(yè)務(wù)虛擬機中用于存儲敏感、關(guān)鍵數(shù)據(jù)的磁盤、文件等進行加密,以避免明文存儲時,由于云計算模式固有的一些安全風(fēng)險而帶來的數(shù)據(jù)泄露,例如惡意云管理員的非授權(quán)拷貝、可能產(chǎn)生的司法管轄權(quán)問題、存儲資源分配給其他客戶時的數(shù)據(jù)殘留等。
為了增強加密技術(shù)的安全性,加密數(shù)據(jù)與密鑰要分離存儲,即密鑰不存儲在虛擬機中,而是存儲在其他專門負責(zé)密鑰管理的設(shè)備上,當(dāng)虛擬機端有加/解密需求時,需要與密鑰管理設(shè)備進行交互,實時獲取密鑰進行加/解密。由于在云計算環(huán)境中,虛擬機的磁盤都是以文件形式存儲的,較傳統(tǒng)硬件磁盤更容易被拷貝、竊取。惡意人員可以復(fù)制虛擬機磁盤并掛載到新的虛擬機上,再通過新虛擬機端與密鑰管理設(shè)備交互,獲取密鑰并解密數(shù)據(jù)。因此,密鑰管理設(shè)備要對虛擬機端進行嚴格的認證,保證密鑰的正確發(fā)放。
現(xiàn)有的認證技術(shù)包括用戶口令方式和心跳保持方式。用戶口令方式是指在每次虛擬機端向密鑰管理設(shè)備發(fā)送消息時,用戶手工輸入密鑰管理設(shè)備授權(quán)的口令,以證明該虛擬機端是被授權(quán)用戶使用的??诹罘绞胶唵我仔?,但存在輸入繁瑣、易破解、易遺忘或被偷窺泄露等問題。心 跳保持方式是指虛擬機端與密鑰管理設(shè)備之間進行一次基于口令的認證之后,在虛擬機端與密鑰管理設(shè)備之間建立一定間隔周期的心跳保持機制,如果心跳正常,則認為該虛擬機端沒有問題,否則認為該虛擬機端存在問題,需要強制進行重新認證。心跳保持方式避免了每次交互都要手工輸入用戶口令,但對心跳機制、網(wǎng)絡(luò)的穩(wěn)定性等要求較高,例如心跳間隔周期設(shè)置、網(wǎng)絡(luò)的不穩(wěn)定性,可能會影響密鑰管理設(shè)備的判斷,造成多次強制鎖定和虛擬機端重新認證,反而使用戶的操作復(fù)雜化。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種云中虛擬機磁盤及文件加密密鑰的管理方法和系統(tǒng),能夠提高云中虛擬機磁盤及文件的安全性。
為了達到本發(fā)明目的,本發(fā)明提供了一種云中虛擬機磁盤及文件加密密鑰的管理方法,包括:
通過密鑰管理服務(wù)器創(chuàng)建用戶并為所述用戶生成證書和私鑰,導(dǎo)入usbkey;usbkey插入管理終端,并向磁盤加密代理下發(fā)指令;
如果指令中帶有簽名,磁盤加密代理將密鑰請求及指令中的簽名發(fā)送給密鑰管理服務(wù)器;
密鑰管理服務(wù)器根據(jù)持有的所述用戶的公鑰驗證指令中的簽名,確定密鑰請求經(jīng)由所述用戶授權(quán)后,將密鑰請求的密鑰發(fā)送給磁盤加密代理;
磁盤加密代理使用密鑰對磁盤或文件進行指令要求的操作。
進一步地,所述密鑰管理服務(wù)器和管理終端部署在客戶本地,客戶的業(yè)務(wù)虛擬機部署在云上。
進一步地,所述usbkey插入管理終端,并向磁盤加密代理下發(fā)指令的步驟包括:usbkey插入管理終端,經(jīng)由加密傳輸協(xié)議登錄要對磁盤或文件進行加密的虛擬機,根據(jù)需要向磁盤加密代理下發(fā)帶有簽名的指令;對于需要密鑰的指令,附加時間戳明文以及由usbkey中的私鑰 加密的時間戳密文作為所述用戶的簽名。
進一步地,所述密鑰管理服務(wù)器和管理終端部署在客戶本地;客戶的業(yè)務(wù)虛擬機部署在云上;虛擬機上的usb設(shè)備與本地的物理管理終端上的usbkey關(guān)聯(lián)。
進一步地,所述usbkey插入管理終端,并向磁盤加密代理下發(fā)指令的步驟包括:usbkey插入管理終端,經(jīng)由加密傳輸協(xié)議登錄要對磁盤或文件進行加密的虛擬機,根據(jù)需要向磁盤加密代理下發(fā)帶有簽名的指令;對于需要密鑰的指令,生成時間戳明文以及由虛擬機usb設(shè)備中的私鑰加密的時間戳密文作為所述用戶的簽名。
進一步地,所述在磁盤加密代理使用密鑰對磁盤或文件進行指令要求的操作之后,解除虛擬機的usb設(shè)備與管理終端上的usbkey之間的關(guān)聯(lián)。
本發(fā)明還提供了一種云中虛擬機磁盤及文件加密密鑰的管理系統(tǒng),包括:密鑰管理服務(wù)器、磁盤加密代理和管理終端,其中,
管理終端,用于接受usbkey插入,并向磁盤加密代理下發(fā)指令;
磁盤加密代理,用于將密鑰請求及指令中的簽名發(fā)送給密鑰管理服務(wù)器;
密鑰管理服務(wù)器,用于根據(jù)持有的所述用戶的公鑰驗證指令中的簽名,確定密鑰請求經(jīng)由所述用戶授權(quán)后,將密鑰請求的密鑰發(fā)送給磁盤加密代理,以使磁盤加密代理使用密鑰對磁盤或文件進行指令要求的操作。
進一步地,所述密鑰管理服務(wù)器和管理終端是物理設(shè)備,部署在客戶本地,客戶的業(yè)務(wù)虛擬機部署在云上;所述管理終端,具體用于:接受usbkey插入,經(jīng)由加密傳輸協(xié)議登錄要對磁盤或文件進行加密的虛擬機,根據(jù)需要向磁盤加密代理下發(fā)帶有簽名的指令;對于需要密鑰的指令,附加時間戳明文以及由usbkey中的私鑰加密的時間戳密文作為所述用戶的簽名。
進一步地,所述密鑰管理服務(wù)器和管理終端是物理設(shè)備,部署在客戶本地;客戶的業(yè)務(wù)虛擬機部署在云上;虛擬機上的usb設(shè)備與本地的物理管理終端上的usbkey關(guān)聯(lián);所述管理終端,具體用于:接受usbkey插入,經(jīng)由加密傳輸協(xié)議登錄要對磁盤或文件進行加密的虛擬機,根據(jù)需要向磁盤加密代理下發(fā)帶有簽名的指令;對于需要密鑰的指令,生成時間戳明文以及由虛擬機usb設(shè)備中的私鑰加密的時間戳密文作為所述用戶的簽名。
進一步地,所述管理終端還用于:在磁盤加密代理使用密鑰對磁盤或文件進行指令要求的操作之后,解除虛擬機的usb設(shè)備與管理終端上的usbkey之間的關(guān)聯(lián)。
本發(fā)明提出的一種云中虛擬機磁盤及文件加密密鑰的管理方法與系統(tǒng),實現(xiàn)了密鑰管理設(shè)備對虛擬機端的嚴格認證,確保密鑰的正確發(fā)放。與現(xiàn)有技術(shù)相比,本發(fā)明采用硬件的usbkey中存儲證書和私鑰來代替口令,具有更高的安全性;避免了用戶多次手工輸入,不依賴網(wǎng)絡(luò)持續(xù)穩(wěn)定及其他的參數(shù)設(shè)置,帶來更好的用戶體驗。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
附圖用來提供對本發(fā)明技術(shù)方案的進一步理解,并且構(gòu)成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
圖1是本發(fā)明提供的云中虛擬機磁盤及文件加密密鑰的管理系統(tǒng)的架構(gòu)示意圖。
圖2是本發(fā)明提供的云中虛擬機磁盤及文件加密密鑰的管理方法的流程示意圖。
圖3是本發(fā)明的一個具體實施例中提供的云中虛擬機磁盤及文件加密密鑰的管理系統(tǒng)的示意圖。
圖4是本發(fā)明的另一個具體實施例中提供的云中虛擬機磁盤及文件加密密鑰的管理系統(tǒng)的示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是本發(fā)明提供的云中虛擬機磁盤及文件加密密鑰的管理系統(tǒng)的架構(gòu)示意圖。如圖1所示,該管理系統(tǒng)包括:密鑰管理服務(wù)器、磁盤加密代理、管理終端。
密鑰管理服務(wù)器,用于負責(zé)用戶管理和密鑰管理,其中,用戶管理包括用戶創(chuàng)建、用戶權(quán)限設(shè)置、用戶證書和私鑰生成以及導(dǎo)入usbkey、用戶認證等;密鑰管理包括虛擬機磁盤及文件加密密鑰的生成、存儲、分發(fā)、銷毀以及虛擬機磁盤、文件加密情況展示等。
磁盤加密代理,用于運行云中虛擬機中的軟件,負責(zé)根據(jù)用戶指令和授權(quán),從密鑰管理服務(wù)器獲取相應(yīng)的密鑰,對虛擬機的磁盤、分區(qū)、文件進行加/解密、掛/卸載等操作。
管理終端,包括usbkey,是管理員及用戶對密鑰管理服務(wù)器進行相應(yīng)權(quán)限下的運維管理以及用戶對磁盤加密代理下發(fā)指令和授權(quán)的機器。
密鑰管理服務(wù)器、磁盤加密代理和管理終端三方時間同步,且三方傳輸均采用加密傳輸協(xié)議。
圖2是本發(fā)明提供的云中虛擬機磁盤及文件加密密鑰的管理方法的流程示意圖。如圖2所示,該管理方法包括:
步驟201,預(yù)先登錄密鑰管理服務(wù)器,通過管理服務(wù)器創(chuàng)建用戶并為該用戶生成證書和私鑰,導(dǎo)入usbkey。
在本步驟中,管理員經(jīng)由加密傳輸協(xié)議登錄密鑰管理服務(wù)器,通過管理服務(wù)器創(chuàng)建用戶,為該用戶生成證書和私鑰,導(dǎo)入usbkey,并線下發(fā)放給該用戶。
步驟202,usbkey插入管理終端,向磁盤加密代理下發(fā)指令。
在本步驟中,用戶將usbkey插入管理終端,經(jīng)由加密傳輸協(xié)議登錄要對磁盤或文件進行加密的虛擬機,向磁盤加密代理下發(fā)指令。
步驟203,磁盤加密代理判斷指令中是否帶有簽名,如果帶有,進行步驟204;如果不帶有,直接執(zhí)行指令。
在本步驟中,指令可以帶有簽名,也可以不帶有簽名,其中帶有簽名的指令是加/解密以及掛/卸載等需要密鑰的指令,對于需要密鑰的指令會由程序自動附加一個時間戳明文以及由usbkey中的私鑰加密的時間戳密文作為該用戶的簽名。
步驟204,磁盤加密代理將密鑰請求及指令中的簽名發(fā)送給密鑰管理服務(wù)器。
在本步驟中,對于帶有簽名的指令,會經(jīng)由加密傳輸協(xié)議將密鑰請求及指令中的簽名發(fā)送給密鑰管理服務(wù)器。
步驟205,密鑰管理服務(wù)器通過對持有的該用戶的公鑰驗證指令中的簽名,判斷密鑰請求是否經(jīng)由該用戶授權(quán),如果是,進行步驟206;如果否,進行步驟208。
在本步驟中,密鑰管理服務(wù)器收到密鑰請求以及簽名信息后,用持有的該用戶的公鑰驗證該用戶的簽名,判斷密鑰請求是否經(jīng)由該用戶授權(quán)。
步驟206,對于通過該用戶授權(quán)驗證的密鑰請求,密鑰管理服務(wù)器經(jīng)由加密傳輸協(xié)議將密鑰請求的密鑰發(fā)送給磁盤加密代理。
步驟207,磁盤加密代理使用密鑰對磁盤或文件進行指令要求的操 作。
步驟208,密鑰管理服務(wù)器丟棄未通過該用戶授權(quán)驗證的密鑰請求。
本發(fā)明在云中虛擬機磁盤及文件加密密鑰管理系統(tǒng)中,引入usbkey認證機制實現(xiàn)密鑰管理服務(wù)器對磁盤加密代理的認證,優(yōu)點如下:
采用硬件的usbkey中存儲證書和私鑰來代替口令,易于保管、使用,存儲內(nèi)容不易丟失,可采用安全度更高的密碼算法;
通過自動化地附加用戶簽名的方式進行認證,避免了用戶多次手工輸入;
可以不依賴網(wǎng)絡(luò)持續(xù)穩(wěn)定及其他的參數(shù)設(shè)置,能夠帶來更好的用戶體驗;
采用對時間戳簽名,可以防止重放攻擊。
在本發(fā)明中,密鑰管理服務(wù)器可以是物理機也可以是虛擬機,可以部署在客戶本地的計算環(huán)境中,也可以部署在云上;usbkey可以掛載在管理終端,也可以關(guān)聯(lián)到云中的虛擬機的usb設(shè)備上;用戶可以通過ssh(secureshell)協(xié)議登錄到虛擬機,也可以通過控制臺的方式訪問虛擬機。
在實際實施時,上述選擇可以根據(jù)實際情況相互組合。下面將以實施例一和實施例二舉例對本發(fā)明作進一步的描述。
實施例一:
圖3是本發(fā)明的一個具體實施例中提供的云中虛擬機磁盤及文件加密密鑰的管理系統(tǒng)的示意圖。
如圖3所示,密鑰管理服務(wù)器和管理終端是物理設(shè)備,部署在客戶本地;客戶的業(yè)務(wù)虛擬機部署在云上,有磁盤或文件加密的需求。
該實施例提供的管理系統(tǒng)的工作機制如下:
管理員經(jīng)由https協(xié)議登錄密鑰管理服務(wù)器,創(chuàng)建用戶,為該用戶生成證書和私鑰,導(dǎo)入usbkey,并線下發(fā)放給該用戶;
該用戶將usbkey插入管理終端,經(jīng)由ssh協(xié)議登錄要對磁盤或文件進行加密的虛擬機,向磁盤加密代理下發(fā)加/解密以及掛/卸載等指令,對于需要密鑰的指令都會由程序自動附加一個時間戳明文以及由usbkey中的私鑰加密的時間戳密文作為該用戶的簽名;
磁盤加密代理收到該用戶下發(fā)的帶有簽名的指令后,對于不帶有簽名的指令直接執(zhí)行;對于帶有簽名的指令,會經(jīng)由https協(xié)議將密鑰請求及指令中的簽名發(fā)送給密鑰管理服務(wù)器;
密鑰管理服務(wù)器收到密鑰請求和簽名信息后,用持有的該用戶的公鑰驗證該用戶的簽名,判斷密鑰請求是否經(jīng)由該用戶授權(quán);
密鑰管理服務(wù)器丟棄未通過該用戶授權(quán)驗證的密鑰請求,對于通過該用戶授權(quán)驗證的密鑰請求,密鑰管理服務(wù)器經(jīng)由https協(xié)議將密鑰請求的密鑰發(fā)送給磁盤加密代理;
磁盤加密代理使用密鑰對磁盤或文件進行指令要求的操作。
實施例二:
圖4是本發(fā)明的另一個具體實施例中提供的云中虛擬機磁盤及文件加密密鑰的管理系統(tǒng)的示意圖。
如圖4所示,usbkey關(guān)聯(lián)的情況下,可以采用如圖4所示的管理系統(tǒng)。密鑰管理服務(wù)器和管理終端是物理設(shè)備,部署在客戶本地??蛻舻臉I(yè)務(wù)虛擬機部署在云上,有磁盤或文件加密的需求。虛擬機上的usb設(shè)備與本地的物理管理終端上的usbkey關(guān)聯(lián)。
該實施例提供的管理系統(tǒng)的工作機制如下:
管理員經(jīng)由https協(xié)議登錄密鑰管理服務(wù)器,創(chuàng)建用戶,為該用戶生成證書和私鑰,導(dǎo)入usbkey,并線下發(fā)放給該用戶;
該用戶將usbkey插入管理終端;
該用戶申請云平臺管理員將要對磁盤或文件進行加密的虛擬機的usb設(shè)備與管理終端上的usbkey關(guān)聯(lián);
該用戶經(jīng)由ssh協(xié)議登錄要對磁盤或文件進行加密的虛擬機,向磁 盤加密代理下發(fā)加/解密以及掛/卸載等指令;
磁盤加密代理收到該用戶下發(fā)的指令后,對于不需要密鑰的指令直接執(zhí)行;對于需要密鑰的指令,都會由程序自動生成一個時間戳明文以及由虛擬機usb設(shè)備(實際關(guān)聯(lián)物理的管理終端上的usbkey)中的私鑰加密的時間戳密文作為該用戶的簽名,經(jīng)由https協(xié)議將密鑰請求及簽名發(fā)送給密鑰管理服務(wù)器;
密鑰管理服務(wù)器收到密鑰請求和簽名信息后,用持有的該用戶的公鑰驗證該用戶的簽名,判斷密鑰請求是否經(jīng)由該用戶授權(quán);
密鑰管理服務(wù)器丟棄未通過該用戶授權(quán)驗證的密鑰請求,對于通過該用戶授權(quán)驗證的密鑰請求,密鑰管理服務(wù)器經(jīng)由https協(xié)議將密鑰請求的密鑰發(fā)送給磁盤加密代理;
磁盤加密代理使用密鑰對磁盤或文件進行指令要求的操作。
該用戶申請云平臺管理員解除虛擬機的usb設(shè)備與管理終端上的usbkey之間的關(guān)聯(lián)。
本發(fā)明提出的一種云中虛擬機磁盤及文件加密密鑰的管理方法與系統(tǒng),實現(xiàn)了密鑰管理設(shè)備對虛擬機端的嚴格認證,確保密鑰的正確發(fā)放。與現(xiàn)有技術(shù)相比,本發(fā)明采用硬件的usbkey中存儲證書和私鑰來代替口令,具有更高的安全性;避免了用戶多次手工輸入,不依賴網(wǎng)絡(luò)持續(xù)穩(wěn)定及其他的參數(shù)設(shè)置,帶來更好的用戶體驗。
所屬技術(shù)領(lǐng)域的技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于計算機可讀取存儲介質(zhì)中,并被通訊設(shè)備內(nèi)部的處理器執(zhí)行,前述的程序在被執(zhí)行時處理器可以執(zhí)行包括上述方法實施例的全部或者部分步驟。其中,所述處理器可以作為一個或多個處理器芯片實施,或者可以為一個或多個專用集成電路(applicationspecificintegratedcircuit,asic)的一部分;而前述的存儲介質(zhì)可以包括但不限于以下類型的存儲介質(zhì):閃存(flashmemory)、只讀存儲器(read-onlymemory,rom)、隨 機存取存儲器(randomaccessmemory,ram)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上實施例僅用以說明本申請的技術(shù)方案,而非對其限制;盡管參照前述實施例對本申請進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請各實施例技術(shù)方案的范圍。