時間:2018年10月12日 分類:電子論文 次數:
下面文章主要針對目前云存儲的數據安全問題加以研究,通過對傳統加密算法的研究與分析,設計一套具有動態加密機制的數據安全存儲方案。通過架設密鑰認證中心生成動態密鑰,實現了存儲與加密的分離,密鑰認證中心與用戶數據存儲服務器互相不可見,即使其中一方被攻擊,用戶的數據依然能夠得到保障。滿足了數據共享場景下的用戶數據存儲與傳輸安全。
關鍵詞:云存儲,動態加密,數據傳輸,安全
隨著計算機技術和互聯網應用的迅速發展,數據正以幾何級數的方式增長,人們對存儲空間的需求也越來越大。在這一趨勢下,近年來云存儲的提出與發展以及存儲即服務的理念為人們提供了大量廉價的存儲空間[1]。盡管云存儲有著價格低廉、部署方便等優點,其推廣過程卻十分緩慢。數據的安全問題是云存儲推廣的重大障礙之一。
安全性是云計算和云存儲現在面臨的最大挑戰。云存儲用戶將他們的數據存放到云端,這些數據中可能就包括企業的商業機密、個人的隱私秘密等重要機密數據。如果這些數據丟失、泄露或者被篡改,那么將給使用云存儲的企業和個人帶來不可估量的損失,由此帶來一系列的安全問題。如何保證數據存儲、共享和傳輸過程的安全是云存儲推廣和使用的首要保證和重要前提[2]。
1基礎加密算法
1.1對稱加密算法
對稱密碼體制又稱單鑰或私鑰或傳統密碼體制,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰。對稱加密以數據加密標準(DataEn-cryptionStandard,DES)算法為典型代表,除了數據加密標準(DES),另一個對稱密鑰加密系統是國際數據加密算法(IDEA),它比DES的加密性好,而且對計算機功能要求也沒有那么高[3]。對稱加密算法使用起來簡單快捷,密鑰較短,且破譯困難。但同時也有密鑰傳遞和管理比較困難,相同密鑰,安全性得不到保證,缺乏簽名功能等缺點。
1.2非對稱加密算法
非對稱密碼體制也稱公鑰密碼體制,與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以叫作非對稱加密算法,以RSA(RivestShamirAdleman)算法為代表[4]。非對稱加密算法具有密鑰傳遞和管理比較簡單,安全性高的優點,同時也有加解密速度慢,復雜性高等缺點。非對稱密碼體制包括兩種基本模型,一種是加密模型。
2動態加密存儲方案設計
2.1數據安全存儲架構
信息安全技術經過多年的發展,已經從密碼技術發展到了隱藏技術和加密技術,以上面所提到的對稱加密技術和非常對稱加密技術為代表。但在信息隱藏技術的應用過程中,人們發現單純的用各種信息隱藏算法或者加密算法對數據加密時,攻擊者很有可能較容易的提取出秘密信息,一旦服務器遭到破壞,用戶數據將無法得到保護[5]。
為了克服上述現有技術的缺點,本文提出了一套具有被動式動態密鑰分發機制的數據云存儲方案,實現了數據存儲與加密的分離,即使存儲與加密有一方被不法分子獲得,其得到的也只是一堆不能直接使用的加密的數據,只有密鑰認證中心和存儲服務器聯動通過客戶端用戶才可獲得有效數據。
2.2密鑰認證中心和存儲服務器
通過架設密鑰認證中心生成動態密鑰,客戶端獲得密鑰后加密本地文件并上傳至文件存儲服務器,存儲服務器中的加密文件只能通過客戶端向密鑰認證中心請求密鑰,客戶端得到解密密鑰后進行文件解密[6]。其中,密鑰認證中心維護用戶表和密鑰表,存儲服務器維護用戶表和文件表。
用戶表存在密鑰認證中心和存儲服務器中,用來驗證用戶的合法性,以及在密鑰認證中心中和密鑰表聯合使用共同管理密鑰,在存儲服務器中和文件表聯合使用共同管理文件;用戶表中包含id、username、password字段。密鑰表存在密鑰認證中心中,用來管理每個用戶的加密文件密鑰;密鑰表包含id、dateTime、privateKey。文件表存在存儲服務器中,用來管理每個用戶的文件,文件表包含id、dateTime、fileData。
2.3被動式動態密鑰分發
生成動態密鑰是被動的[7],需要時生成,而非密鑰認證中心主動生成;密鑰認證中心生成動態密鑰并維護用戶密鑰用來加密文件,生成密鑰的算法為動態的且密鑰更新的頻率可自行設置。動態密鑰獲取機制工作如下:(1)密鑰認證中心收到客戶端getKey命令。(2)密鑰認證中心查找用戶表驗證客戶端用戶是否合法。(3)若合法,則進行步驟(4),否則將錯誤信息返回到客戶端。(4)密鑰認證中心得到系統當前時間datenow。(5)密鑰認證中心查找密鑰表中字段dateTime最大的時間datemax。(6)密鑰認證中心計算出datenow-datemax的差值△h。(7)密鑰認證中心比較△h和固定變化密鑰周期T。(8)若△hT,密鑰認證中心則生成一個隨機的密鑰privateKey以及datenow返回給客戶端,同時將生成的密鑰privateKey和時間datenow存入密鑰表中以備用戶解密文件。
2.4通信命令
客戶端和服務端通信的包格式命令主要有如下7種形式:getKey命令用于客戶端向密鑰認證中心請求密鑰來加密文件上傳到存儲服務器,getKey命令包含的參數有命令類型command、用戶名username、登錄密碼password。returnKey命令用于密鑰驗證中心發送密鑰時的命令,returnKey包含的參數有命令類型command、生成的密鑰privatekey、生成密鑰時的系統時間dateTime。execute命令用于客戶端在加密文件之后,上傳至存儲服務器時使用的命令,upload命令包含的參數有命令類型command、用戶名username、登錄密碼password、加密的文件數據fileData、密鑰驗證中心返回的dateTime。download命令用于客戶端向存儲服務器請求文件時使用的命令,download命令包含的參數有命令類型com-mand、用戶名username、登錄密碼password、請求文件的名稱fileName。
returnData命令用于存儲服務器將加密文件返回到客戶端時使用的命令,returnData包含的參數有命令類型command、加密的文件fileData、加密文件對應的dateTime。getUnlock命令用于客戶端向密鑰認證中心請求密鑰解密文件時使用的命令,getUnlock命令包含的參數有命令類型command、用戶名username、登錄密碼password,加密文件對應的dateTime。returnUnlock命令用于密鑰認證中心將密鑰返回到客戶端時使用的命令,returnUnlock命令包含的參數有命令
類型command、解密的密鑰privatekey。
2.5文件安全上傳與下載
具有動態密鑰分發機制的文件安全存儲主要分為文件的上傳和下載兩類情況。
當用戶上傳文件至文件存儲服務器時,首先發送getKey命令至密鑰認證中心,密鑰認證中心首先驗證用戶是否合法,當用戶通過驗證后,密鑰認證中心調用生成密鑰算法獲得密鑰并返回returnKey命令到客戶端,客戶端收到密鑰后加密文件并上傳至存儲服務器,存儲服務器收到upload命令后,同樣先驗證用戶,通過驗證后將文件存入數據庫中,若驗證用戶不合法則將返回錯誤信息。
上傳加密文件工作步驟如下:
(1)密鑰認證中心收到客戶端execute命令。
(2)密鑰認證中心查找用戶表驗證客戶端用戶是否合
法。
(3)若合法,則進行步驟(4),否則返回錯誤信息給客
戶端。
(4)密鑰認證中心得到系統當前時間datenow。
(5)密鑰認證中心查找密鑰表中字段dateTime最大的
時間datemax。
(6)密鑰認證中心計算出datenow-datemax的差值
△h。
(7)密鑰認證中心比較△h和固定變化密鑰周期T。
(8)若△h
datemax所對應的密鑰privateKey和datemax給客戶端。
(9)若△h>T,密鑰認證中心則生成一個隨機的密鑰privateKey以及datenow返回給客戶端,同時將生成的密鑰privateKey和時間datenow存入密鑰表中以備用戶解密文件。
(10)客戶端得到密鑰privateKey后加密需要上傳的文件,加密后的文件將被同步到文件存儲服務器。
(11)文件存儲服務器收到文件后查找用戶表驗證客戶端用戶是否合法。
(12)若合法,則進行步驟(13),否則返回錯誤信息給客戶端。
(13)文件存儲服務器將文件以及加密密鑰的時間記錄到文件表中。當用戶加載文件時,首先發送download命令至文件存儲服務器,存儲服務器收到命令后,先驗證用戶,通過驗證后,將根據請求的文件路徑取出文件并返回到客戶端,客戶端收到加密的文件后,會向密鑰認證中心發送getUnlock命令請求密鑰解密文件,密鑰驗證中心收到命令后,查詢密鑰表獲得密鑰并返回returnUnlock命令到客戶端,客戶端收到密鑰后解密文件供用戶使用。
加載加密文件工作步驟如下:(1)存儲服務器收到客戶端download命令。(2)存儲服務器查找用戶表驗證客戶端用戶是否合法。(3)若合法,則進行步驟(4),否則返回錯誤信息給客戶端。(4)存儲服務器將加密的時間dateTime及加密文件返回給客戶端。(5)客戶端發送unlock命令到密鑰認證中心獲取文件所對應的密鑰解密。(6)密鑰認證中心查找用戶表驗證客戶端用戶是否合法。(7)若合法,則進行步驟(8),否則返回錯誤信息給客戶端。(8)密鑰認證中心查找密鑰表,得到dateTime所對應的密鑰privateKey,并將其返回給客戶端。(9)客戶端得到密鑰privateKey后解密文件供用戶使用。
3結束語
被動式動態密鑰分發機制的云存儲方案通過隔離密鑰認證中心和文件存儲服務器,且兩者互相不知道對方的具體位置,使得即便任一方存在安全泄露問題,也不影響文件的安全性,實現了加密與存儲的分離。并且密鑰是動態變化的,即使攻擊者截取了一段密鑰,攻擊者也無法確定是哪個用戶的哪個文件加密,因而也無法解密。該方法通過加密與存儲分離、動態分配密鑰實現了用戶文件的安全存儲、共享和傳輸雙重保證,推動了云存儲技術的發展。
參考文獻:
[1]傅穎勛,羅圣美,舒繼武.安全云存儲系統與關鍵技術綜述[J].計算機研究與發展,2013(1):136-145.
[2]盧昱,王雙,陳立云.基于云存儲的混合加密算法研究[J].計算機測量與控制,2016(3):129-132.
[3]呂琴.云計算環境下數據存儲安全的關鍵技術研究[D].貴州大學,2015.
[4]鄭周,張大軍,李運發.云計算中面向數據存儲的安全訪問控制機制[J].信息網絡安全,2015(9):221-226.
[5]趙鳳怡.數字圖像加密技術的研究[J].信息安全與技術,2014(9):7-8,13.
[6]林雄飛.淺談電子文件動態加密技術[J].CAD/CAM與制造業信息化,2011(2):20-21.
[7]陳勤,張大興,蔡紅暹.一種動態密鑰認證方案及其用途[J].計算機工程與設計,2002(4):5-6,49.
推薦期刊:《信息網絡安全》論文發表官方網站 是公安部主管,公安部第三研究所主辦的綜合性專業月刊,是公安部公共信息網絡安全監察局及其下屬各網絡安全監察部門對外宣傳的窗口。