薛寅穎,萬曉冬
(南京航空航天大學自動化學院,江蘇 南京 210016)
隨著科學的發(fā)展,人們對計算機的要求越來越高,作為與計算機密不可分的數(shù)據存儲,也從最初的單機存儲、網絡存儲、分布式存儲發(fā)展到現(xiàn)在的云存儲。云存儲是在云計算概念上延伸和發(fā)展出來的一個新的概念,是指通過集群應用、網格計算或分布式文件系統(tǒng)等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協(xié)同工作,共同對外提供數(shù)據存儲和業(yè)務訪問功能的一個系統(tǒng)。云存儲的出現(xiàn)突破了傳統(tǒng)的存儲方式的性能、容量的瓶頸,能夠聯(lián)結網絡中大量各種設備以便形成強大的存儲能力,使海量存儲成為可能。
盡管云存儲具有許多優(yōu)點,但是其安全性一直是其存在的主要問題之一[1]。隨著云計算技術的不斷發(fā)展,云安全問題日益突出。目前,國內外在云安全方面提出了幾種方案,如建立可信云、安全認證、數(shù)據加密、權限控制、安全傳輸?shù)萚2]。如何在復雜的網絡環(huán)境中確保云存儲安全,是目前急需解決的問題。
云存儲的系統(tǒng)架構由4個部分組成,如圖1所示。
圖1 云存儲系統(tǒng)架構
存儲層是云計算最基礎的部分,可以是IP存儲設備也可以是DAS存儲設備。存儲設備之上是一個統(tǒng)一存儲設備管理系統(tǒng),可以實現(xiàn)存儲設備的邏輯虛擬化、多鏈路冗余管理,以及硬件設備的狀態(tài)監(jiān)控和故障維護。
基礎管理層是云存儲的核心部分,也是云存儲中最難以實現(xiàn)的部分?;A管理層通過集群、分布式文件系統(tǒng)和網格計算等技術,實現(xiàn)云存儲中多個存儲設備之間的協(xié)同工作,使多個的存儲設備可以對外提供同一種服務,并提供更大更強更好的數(shù)據訪問性能。CDN內容分發(fā)系統(tǒng)、數(shù)據加密技術保證云存儲中的數(shù)據不會被未授權的用戶所訪問,同時,通過各種數(shù)據備份和容災技術和措施可以保證云存儲中的數(shù)據不會丟失,保證云存儲自身的安全和穩(wěn)定。
應用接口層是云存儲最靈活多變的部分。不同的云存儲應用可以根據實際業(yè)務類型,開發(fā)不同的應用服務接口,提供不同的應用服務。比如視頻監(jiān)控應用平臺、網絡硬盤應用平臺、遠程數(shù)據備份應用平臺等。
訪問層主要是用于以友好的方式展現(xiàn)用戶所需的內容和服務體驗,享受云存儲服務。
在云存儲發(fā)展過程中,安全問題一直是用戶關注的重點,也是制約其進入市場的主要因素,其主要問題表現(xiàn)如下:
(1)云存儲的一個重要特點是可擴展性,對外部并不是透明的,因此云存儲無法清晰地定義安全邊界及保護設備。
(2)云存儲數(shù)據的傳輸大多通過網絡,遭遇網絡攻擊極易發(fā)生商業(yè)信息泄露、破壞服務中斷等,對于數(shù)據的存儲造成影響。
(3)在云存儲中各種數(shù)據存儲在不同的云端,用戶不能確定數(shù)據存儲在云中的位置以及具體的服務器,數(shù)據的完整性與可恢復性也是云存儲安全中需要解決的問題。
云存儲的安全性貫穿于整個云架構,為此,本文設計一種基于光盤庫技術的云存儲來解決云存儲應用過程中的安全問題。
根據前面對云存儲安全的分析,云存儲架構都需要建立相應的保護措施,建立的安全架構采用糾刪法實現(xiàn)對數(shù)據的分塊與恢復,分散式存儲管理等技術確保數(shù)據的安全傳輸與存儲,其架構圖如圖2所示。
圖2 云存儲安全架構
糾刪碼的原理是把待存儲的數(shù)據對象分割成若干大小相等的數(shù)據塊,然后對這些數(shù)據塊進行編碼,得到一些編碼后的數(shù)據塊,讀取數(shù)據時只要獲得任意足夠數(shù)量的編碼后的數(shù)據塊,就可以解碼得到原始數(shù)據[4]。用k表示編碼前的數(shù)據塊的個數(shù),n表示編碼后的數(shù)據塊個數(shù),則這個定義可以簡化為(n,k),只要獲得數(shù)據塊數(shù)目超過k塊就可以恢復出數(shù)據。糾刪碼一般用于數(shù)據的容錯技術,但由于需要對數(shù)據進行切分所以在一定程度上也保證了數(shù)據的安全性[11]。
算法設計步驟如下:
(1)數(shù)據分割:根據用戶的需求設定,將數(shù)據分割成m個大小為b的模塊。
(2)編碼:對m個數(shù)據塊進行編碼,產生n個數(shù)據塊。
(3)分散:將n個數(shù)據塊分散到不同的存儲節(jié)點上。
(4)解碼:向存儲節(jié)點發(fā)出請求,獲取r個數(shù)據塊進行解碼得到原來的m個數(shù)據塊
(5)恢復數(shù)據:將m個數(shù)據塊合并恢復出原來的數(shù)據。
編碼與解碼如圖3所示。
圖3 編碼與解碼
通過糾刪碼編碼使得在數(shù)據分塊后進行網絡傳輸和存儲都比較安全,無論是網絡傳輸過程中被攔截還是在存儲層中數(shù)據被竊取,只能截取到數(shù)據的部分信息,對于整個數(shù)據這些信息沒有任何意義。
數(shù)據存儲設備根據存儲介質的不同可以分為3種類型:磁帶存儲、磁盤存儲、光盤存儲。
(1)磁帶存儲因價格便宜且攜帶方便曾經是主流存儲介質,但是磁帶機械設備和磁帶驅動器都是機電設備,不可避免地存在機械故障率過高的缺陷,且磁帶介質本身也比較脆弱,容易受到環(huán)境的影響。
(2)磁盤存儲自有PC以來,硬盤是最常使用的存儲裝置,但是在整個計算機系統(tǒng)架構中,與CPU和RAM相比,硬盤的速度是最弱的環(huán)節(jié)之一。為了提高計算機的數(shù)據容量,增加儲存的吞吐量,進而改進硬盤數(shù)據的安全機制,磁盤陣列應運而生。在存儲數(shù)據時,陣列控制器將數(shù)據切割成許多區(qū)段,分別存放在各個硬盤上,多應用于大型服務器,不過這類產品的價格相對比較昂貴。
(3)光盤作為一種近十年才興起的存儲介質,同傳統(tǒng)的磁帶、軟磁盤相比具有很大的優(yōu)點[5]。與光盤息息相關的光盤庫是一種帶有自動換盤機構的光盤網絡共享設備。光盤庫一般由放置光盤的光盤架、自動換盤機構和驅動器三部分組成。近年來,由于單張光盤的存儲容量大大增加,光盤庫相較于常見的存儲設備如磁盤陣例、磁帶庫等價格性能優(yōu)勢越來越大。光盤庫作為一種存儲設備已開始漸漸被運用于各個領域,如銀行的票據影像存儲、保險機構的資料存儲,以及其它所有的大容量資料存儲的場合。
磁帶特別是數(shù)據流磁帶的單盤容量確實比較大,可達到500GB,但這樣的磁帶價格卻比較昂貴,同時磁帶如保管不善易發(fā)霉、易磨損,接近磁體時數(shù)據易丟失,而且不同格式的磁帶驅動器也不相兼容,造成了介質數(shù)據交換不方便。光盤與硬盤相比也有許多無可比擬的優(yōu)點,硬盤本身比較脆弱,遇到大的震動、沖擊,容易損壞,光盤就可很好地解決這些問題。而且光盤作為存儲介質也是比較安全的,數(shù)據塊存放在光盤中,如果網絡中被植入病毒,出現(xiàn)異常情況很容易被發(fā)現(xiàn)。因此存儲層選擇光盤庫作為存儲介質增加了數(shù)據在云端上的安全性。
在訪問層中加入用戶認證信息,可以進一步保證云存儲系統(tǒng)的安全性[10]。云存儲數(shù)據存取過程如圖4所示。
圖4 數(shù)據存取過程
存儲數(shù)據時根據用戶的要求對要存儲的數(shù)據進行分塊打包成一個格式的文件,每個包開頭寫上原始數(shù)據的文件名、文件大小、文件編號、文件塊數(shù)等信息便于恢復出原始數(shù)據。通過糾刪碼編碼技術再次打包新的數(shù)據塊,同樣寫入數(shù)據塊的信息。最后經過云計算網絡將數(shù)據塊分散到各個光盤庫。
取數(shù)據時首先向一個光盤庫請求數(shù)據塊,檢查數(shù)據塊前面部分記錄數(shù)據塊的信息,根據信息中打包的塊數(shù)請求相應的光盤庫索取數(shù)據。將得到的數(shù)據塊通過糾刪解碼技術恢復出數(shù)據塊,如果請求的數(shù)據不能完全恢復出數(shù)據,繼續(xù)向其它光盤庫申請索取數(shù)據,直到恢復出打包后的數(shù)據塊,最后通過解包完整地恢復出數(shù)據。
本文將糾刪碼技術及光盤庫應用到云存儲中,實現(xiàn)了數(shù)據的分散管理,確保數(shù)據在網絡傳輸以及終端存儲的安全性,同時具有一定的容錯和容災能力。但是這些需要通過空間和時間來滿足其要求,因此怎樣用有限的空間提高存儲率并快速、安全存儲將是要研究的一個重點。
[1]Steve M.Danger in the clouds[J].Network Security,2008(12):9-11.
[2]張偉陽.淺析云存儲安全問題[J].中國科技縱橫,2011(16):121,128.
[3]馮丹.網絡存儲關鍵技術的研究及進展[J].移動通信,2009,33(11):35-39.
[4]Luby M G,Mitzenmacher M,Shokrollahi M A,et al.Efficient erasure correcting codes[J].IEEE Trans.on Information Theory,2001,47(2):569-584.
[5]王朗.用光盤塔和光盤庫建立FTP站點的實踐[J].圖書館理論與實踐,2005(2):120,136.
[6]Roy I,Setty S T V,Kilzer A,et al.Airavat:Security and privacy for MapReduce[C]//Proceedings of the 7th Usenix Symposium on Networked Systems Design and Implementation.San Jose,2010:298-321.
[7]Cachin C,Keidar I,Shraer A.Trusting the cloud[J].ACM SIGACT News,2009,40(2):455-461.
[8]Morris R J T,Truskowski B J.The evlution of storage systems[J].IBM Systems Journal,2003,42(2):205-217.
[9]姜澤雄,謝軍,孫程.基于XOR糾刪碼的性能分析[J].中國集成電路,2009(9):56-59.
[10]王平建,荊繼武,王瓊霞,等.云存儲中的訪問控制技術研究[J].信息網絡安全,2011(9):41-43.
[11]萬武南.分布式安全存儲系統(tǒng)糾刪碼技術的研究[D].上海:中國科學院上海冶金研究所,2006.
[12]孫程.基于糾刪碼的分布式存儲系統(tǒng)的設計與實現(xiàn)[D].成都:電子科技大學,2010.
[13]付初生,周亮,文紅.LDPC碼原理與應用[M].成都:電子科技大學出版社,2006.
[14]Ping L,Leung W,Wu K.Low-rate turbo-Hadamard codes[J].IEEE Trans Inform Theory,2003,49(12):3213-3224.