一種存儲加密網(wǎng)關(guān)密鑰管理系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡安全技術(shù)領(lǐng)域,特別涉及一種存儲加密網(wǎng)關(guān)密鑰管理系統(tǒng)及方法。
【背景技術(shù)】
[0002]網(wǎng)關(guān)(Gateway),又稱為網(wǎng)間連接器、協(xié)議轉(zhuǎn)換器。網(wǎng)關(guān)在網(wǎng)絡層以上實現(xiàn)網(wǎng)絡互連,是最復雜的網(wǎng)絡互連設(shè)備,僅用于兩個高層協(xié)議不同的網(wǎng)絡互連。存儲加密網(wǎng)關(guān)既可以用于廣域網(wǎng)互連,也可以用于局域網(wǎng)互連。網(wǎng)關(guān)是一種充當轉(zhuǎn)換重任的計算機系統(tǒng)或設(shè)備。使用在不同的通信協(xié)議、數(shù)據(jù)格式或語言,甚至體系結(jié)構(gòu)完全不同的兩種系統(tǒng)之間,網(wǎng)關(guān)是一個翻譯器。與網(wǎng)橋只是簡單地傳達信息不同,網(wǎng)關(guān)對收到的信息要重新打包,以適應目的系統(tǒng)的需求。
[0003]密鑰管理,主要負責對整個加密系統(tǒng)中的密鑰進行管理,從密鑰的產(chǎn)生到密鑰的銷毀的各個方面。主要表現(xiàn)于管理體制、管理協(xié)議和密鑰的產(chǎn)生、分配、更換和注入等。具體過程一般包括:密鑰生成、密鑰分發(fā)、驗證密鑰、更新密鑰、密鑰存儲、備份密鑰、銷毀密鑰。
[0004]CBC(Cipher-block chaining,密碼分組鏈接)模式,是指在進行加密時,每個平文塊先與前一個密文塊進行異或后,再進行加密。在這種方法中,每個密文塊都依賴于它前面的所有平文塊。同時,為了保證每條消息的唯一性,在第一個塊中需要使用初始化向量。
[0005]ECBCElectronic Codebook,電碼本)模式是分組密碼的一種最基本的工作模式。在該模式下,待處理信息被分為大小合適的分組,然后分別對每一分組獨立進行加密或解密處理。
[0006]隨著信息化建設(shè)的不斷推進,各行業(yè)、企事業(yè)單位利用計算機系統(tǒng)和計算機網(wǎng)絡技術(shù)進行關(guān)鍵業(yè)務數(shù)據(jù)的存儲和處理越加頻繁。各種數(shù)據(jù)存儲設(shè)備集中到數(shù)據(jù)中心機房為各種業(yè)務前端應用服務器提供數(shù)據(jù)存儲服務,隨著云計算和大數(shù)據(jù)業(yè)務的推廣,數(shù)據(jù)中心存儲的數(shù)據(jù)更將呈幾何級數(shù)增長。在目前技術(shù)條件下數(shù)據(jù)存儲主要依靠各種磁盤陣列為代表的網(wǎng)絡存儲設(shè)備,數(shù)據(jù)本身無安全保護措施在使用過程中存在極大的數(shù)據(jù)安全風險。
[0007]而現(xiàn)有的密鑰管理系統(tǒng),功能較簡單,對密鑰的整個生命周期并未進行完備的管理。導致一些情況無法處理,造成數(shù)據(jù)的無法解密和加密失敗等。除此之外,現(xiàn)有的密鑰管理系統(tǒng)多采用國外研制的算法進行加密和解密,導致系統(tǒng)安全性受到質(zhì)疑;加密時客戶端應用程序也需要進行參與,增加了客戶端的負荷。另外,加密時相同的明文數(shù)據(jù)塊加密后的密文一樣,使得反向破譯變得容易,降低了系統(tǒng)的安全性。
【發(fā)明內(nèi)容】
[0008]鑒于此,本發(fā)明提供了一種存儲加密網(wǎng)關(guān)密鑰管理系統(tǒng)及方法,該系統(tǒng)及方法加密后的數(shù)據(jù)破解難度大、更加安全,且對整個密鑰生命周期進行了完整的管理。
[0009]本發(fā)明采用的技術(shù)方案如下:
一種存儲加密網(wǎng)關(guān)密鑰管理系統(tǒng),其特征在于,所述系統(tǒng)包括:密鑰管理中心、存儲加密網(wǎng)關(guān)、前端應用服務器、存儲設(shè)備;
所述密鑰管理中心,用于生成密鑰,將生成的密鑰發(fā)送給存儲加密網(wǎng)關(guān);檢測系統(tǒng)中密鑰是否過期,如果密鑰過期,則發(fā)送密鑰更新指令和新的密鑰至存儲加密網(wǎng)關(guān)進行密鑰的更新;接收來自存儲加密網(wǎng)關(guān)的密鑰銷毀請求,銷毀密鑰,將銷毀的密鑰存儲在歷史密鑰存儲區(qū)內(nèi);存儲加密網(wǎng)關(guān)的密鑰丟失后,接收存儲加密網(wǎng)關(guān)的恢復密鑰請求,將密鑰重新發(fā)送給存儲加密網(wǎng)關(guān);
所述存儲加密網(wǎng)關(guān),用于接收密鑰管理中心生成的密鑰,并利用該密鑰對前端應用服務器傳遞來的數(shù)據(jù)進行加密和解密;接收密鑰管理中心更新密鑰的指令,進行密鑰更新;刪除密鑰后,通知密鑰管理中心進行密鑰的銷毀;連接前端應用服務器和存儲設(shè)備之間的數(shù)據(jù)通信;。
[0010]所述密鑰管理中心包括中心數(shù)據(jù)通信模塊、密鑰生成模塊、密鑰更新模塊、密鑰銷毀模塊、歷史密鑰存儲模塊和密鑰備份恢復模塊;
所述中心數(shù)據(jù)通信模塊,用于接收來自存儲加密網(wǎng)關(guān)的數(shù)據(jù)和請求,以及將密鑰和指令發(fā)送給存儲加密網(wǎng)關(guān);所述密鑰生成模塊,用于生成設(shè)備主密鑰MK、數(shù)據(jù)保護密鑰KEK和數(shù)據(jù)加密密鑰DEK;所述密鑰更新模塊,用于檢測系統(tǒng)中的數(shù)據(jù)保護密鑰KEK是否過期,如果數(shù)據(jù)保護密鑰KEK過期,則發(fā)送密鑰更新指令和新的數(shù)據(jù)保護密鑰KEK至存儲加密網(wǎng)關(guān);所述密鑰銷毀模塊,用于根據(jù)來自存儲加密網(wǎng)關(guān)的密鑰銷毀請求,銷毀系統(tǒng)中的數(shù)據(jù)保護密鑰KEK和數(shù)據(jù)加密密鑰DEK,將銷毀的數(shù)據(jù)保護密鑰KEK和數(shù)據(jù)加密密鑰DEK存儲在歷史密鑰存儲模塊;所述歷史密鑰存儲模塊,用于將生成并發(fā)送給存儲加密網(wǎng)關(guān)的密鑰進行備份,將銷毀后的密鑰進行存儲記錄;所述密鑰備份恢復模塊,用于在存儲加密網(wǎng)關(guān)的密鑰丟失后,根據(jù)存儲加密網(wǎng)關(guān)的恢復密鑰請求,從歷史密鑰存儲模塊中獲取備份的密鑰,將密鑰重新發(fā)送給存儲加密網(wǎng)關(guān)。
[0011 ]所述存儲加密網(wǎng)關(guān)包括網(wǎng)關(guān)數(shù)據(jù)通信模塊、加密/解密模塊、密鑰更新模塊和文件系統(tǒng)創(chuàng)建/刪除t吳塊;
所述網(wǎng)關(guān)數(shù)據(jù)通信模塊用于連接前端應用服務器和存儲設(shè)備之間的數(shù)據(jù)通信,接收來自前端應用服務器的數(shù)據(jù)和接收來自存儲設(shè)備上的數(shù)據(jù);接收來自密鑰管理中心的密鑰和指令,以及發(fā)送數(shù)據(jù)和請求至密鑰管理中心;所述加密/解密模塊,用于將前端應用服務器傳遞過來的數(shù)據(jù)進行加密以及將獲取的存儲設(shè)備上的數(shù)據(jù)進行解密;所述密鑰更新模塊,用于根據(jù)密鑰管理中心發(fā)送來的密鑰更新指令和新的數(shù)據(jù)保護密鑰KEK進行密鑰的更新;所述文件系統(tǒng)創(chuàng)建/刪除模塊,用于根據(jù)前端應用服務器的請求發(fā)送指令至存儲設(shè)備刪除文件系統(tǒng),并銷毀數(shù)據(jù)保護密鑰KEK和數(shù)據(jù)加密密鑰DEK。
[0012]一種基于權(quán)利要求1至3之一的存儲加密網(wǎng)關(guān)密鑰管理系統(tǒng)的方法,其特征在于,所述方法具體步驟為:
步驟1:系統(tǒng)初始化,啟動成功后,存儲加密網(wǎng)關(guān)在密鑰管理中心進行注冊,注冊成功后密鑰管理中心生成設(shè)備主密鑰MK,并發(fā)送給存儲加密網(wǎng)關(guān);
步驟2:存儲加密網(wǎng)關(guān)新建文件系統(tǒng)時,向密鑰管理系統(tǒng)申請數(shù)據(jù)保護密鑰KEK和數(shù)據(jù)加密密鑰DEK;密鑰管理中心接到申請后,生成I個數(shù)據(jù)保護密鑰KEK和256數(shù)據(jù)加密密鑰DEK,并發(fā)送給存儲加密網(wǎng)關(guān);
步驟3:存儲加密網(wǎng)關(guān)生成CBC模式加密的初始化向量; 步驟4:存儲加密網(wǎng)關(guān)接收來自前端應用服務器的數(shù)據(jù),對數(shù)據(jù)進行加密;使用數(shù)據(jù)加密密鑰DEK采用CBC模式對數(shù)據(jù)進行加密;
步驟5:存儲加密網(wǎng)關(guān)將加密后的加密數(shù)據(jù)塊傳遞到存儲設(shè)備中,寫入存儲設(shè)備時,生成加密數(shù)據(jù)塊標識;將對應數(shù)據(jù)塊使用過的數(shù)據(jù)加密密鑰DEK與對應的加密數(shù)據(jù)塊標識一一對應的關(guān)系存儲在存儲設(shè)備中,形成密鑰鏈;
步驟6:對加密數(shù)據(jù)塊標識進行Hash運算,得到虛擬編號,然后取虛擬編號的末位I個字節(jié)作為Bucket Id;數(shù)據(jù)加密密鑰DEK和Bucket Id——對應;
步驟7:存儲加密網(wǎng)關(guān)在接受到前端應用服務器獲取數(shù)據(jù)的請求后,獲取存儲設(shè)備上存儲的相對應的數(shù)據(jù)塊,根據(jù)不同數(shù)據(jù)塊中不同的Bucket Id可以找到加密時使用的是哪一個DEK;存儲加密網(wǎng)關(guān)先使用設(shè)備主密鑰MK進行解密;然