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