圖1云存儲系統(tǒng)結(jié)構(gòu)
(1)存儲層是云存儲最基礎(chǔ)的部分,它由各種各樣的存儲設(shè)備和網(wǎng)絡(luò)設(shè)備組成。同時,還有一個存儲管理系統(tǒng),負(fù)責(zé)對硬件設(shè)備的集中管理、狀態(tài)監(jiān)控以及維護(hù)升級等。
(2)基礎(chǔ)管理層是云存儲最為核心的部分,也是最復(fù)雜的部分?;A(chǔ)管理層大量采用了集群管理技術(shù)和分布式存儲系統(tǒng)的成熟方法,在實(shí)現(xiàn)良好的可擴(kuò)展性的同時,也滿足了可用性及性能的需求,它還負(fù)責(zé)數(shù)據(jù)加密、備份及容災(zāi)等任務(wù)。
(3)應(yīng)用接口層是利用云存儲資源進(jìn)行應(yīng)用開發(fā)的關(guān)鍵部分。云存儲供應(yīng)商通過應(yīng)用接口層對客戶提供統(tǒng)一的協(xié)議和編程接口,以進(jìn)行應(yīng)用程序的開發(fā)。通常這種協(xié)議都是基于網(wǎng)絡(luò)的跨平臺協(xié)議。
(4)訪問層是基于云存儲開發(fā)的應(yīng)用程序的入口。任何一個授權(quán)用戶都可以通過標(biāo)準(zhǔn)的公用應(yīng)用接口來登錄云存儲系統(tǒng),共享云存儲所提供的服務(wù)。
1.2云存儲系統(tǒng)安全分析
靈活性、易于使用的服務(wù)和易于共享基礎(chǔ)設(shè)施是云計(jì)算的優(yōu)勢,然而數(shù)據(jù)通過互聯(lián)網(wǎng)在各層之間進(jìn)行傳輸并存儲,用戶對于敏感數(shù)據(jù)存取時,無法對風(fēng)險進(jìn)行直接控制??梢哉f,云存儲自身的特點(diǎn)決定了它在現(xiàn)有的技術(shù)方面存在一些安全問題,具體表現(xiàn)如下。
(1)傳統(tǒng)的安全域劃分無效。由于云存儲中服務(wù)必須是可伸縮的,對外部來講并不是透明的,因此云存儲中無法清晰地定義安全邊界及保護(hù)設(shè)備,為具體保護(hù)措施的實(shí)施增加了一定的難度。
(2)云存儲是通過網(wǎng)絡(luò)來傳輸數(shù)據(jù)的,其中包括網(wǎng)絡(luò)中的惡意攻擊等造成的服務(wù)中斷、數(shù)據(jù)破壞、信息被竊取和篡改等,對實(shí)現(xiàn)數(shù)據(jù)的安全存儲造成一定的影響,數(shù)據(jù)的安全通信、訪問認(rèn)證與保密性也是有待解決的問題。
(3)數(shù)據(jù)存儲的安全性防護(hù)包括最終存儲數(shù)據(jù)的存放位置、數(shù)據(jù)完整性、數(shù)據(jù)間分散存放等。此外,即使數(shù)據(jù)采用加密技術(shù),也只是在網(wǎng)絡(luò)上加密傳輸,數(shù)據(jù)在處理和存儲時也需要保護(hù)。
(4)數(shù)據(jù)的可靠性、可用性。數(shù)據(jù)在存儲系統(tǒng)的容錯性、可恢復(fù)性和完整性面臨一些問題,如何避免在災(zāi)難(停電、地震、水災(zāi)、火災(zāi)等)發(fā)生時帶來的服務(wù)中斷乃至數(shù)據(jù)介質(zhì)被直接破壞等問題。
(5)如何實(shí)現(xiàn)數(shù)據(jù)之間的邏輯卷管理、存儲虛擬化管理和多鏈路冗余管理將會是一個巨大的難題,也將是整個云存儲架構(gòu)的性能瓶頸,而且還會帶來后期容量和性能擴(kuò)展難等一系列問題。
由此可見,數(shù)據(jù)的安全性問題貫穿于整個云架構(gòu)的各個層次,單獨(dú)討論云存儲在某一層中的安全性是毫無意義的??傮w而言,對該方面的研究存在兩種思路:
①借鑒信息安全的C.I.A特性(機(jī)密性、完整性、可用性),為某一特定應(yīng)用提出專門的實(shí)現(xiàn)思路(如增強(qiáng)文件服務(wù)器的安全性、客戶端加密文件系統(tǒng)、 對磁盤磁帶全盤靜態(tài)加密、客戶端直接訪問磁盤的認(rèn)證機(jī)制等),即將適用于信息安全的措施(如加密技術(shù)、完整性技術(shù))移植到存儲系統(tǒng)中;
②從存儲系統(tǒng)的體系結(jié)構(gòu)入手,尋找安全高效的網(wǎng)絡(luò)存儲與安全管理模式。為此,本文設(shè)計(jì)了一種面向分散式分片存儲管理來解決云存儲和應(yīng)用過程中的數(shù)據(jù)安全性問題。
二 、云存儲安全架構(gòu)設(shè)計(jì)
根據(jù)云存儲中數(shù)據(jù)的安全性分析,從數(shù)據(jù)傳輸?shù)酱鎯?,都需要建立相?yīng)的保護(hù)措施進(jìn)行層與層之間的防范。按照云存儲的層次結(jié)構(gòu),通過不同的保護(hù)策略逐層 對需要存儲的數(shù)據(jù)進(jìn)行保護(hù),從而實(shí)現(xiàn)從數(shù)據(jù)傳輸?shù)酱鎯ξ恢玫娜娣雷o(hù)。該安全架構(gòu)采用信息擴(kuò)散法、分散式存儲管理、數(shù)據(jù)自舉恢復(fù)等技術(shù),分層實(shí)現(xiàn)存儲數(shù)據(jù) 在云存儲中完成應(yīng)用系統(tǒng)的數(shù)據(jù)安全存儲管理和傳輸,其系統(tǒng)總體安全框架結(jié)構(gòu)如圖2所示。
圖2面向分散式存儲的云存儲安全架構(gòu)
2.1訪問層到應(yīng)用接口層的設(shè)計(jì)
通過訪問控制與身份認(rèn)證,采用加密技術(shù)SSL對用戶存儲數(shù)據(jù)進(jìn)行保護(hù),使數(shù)據(jù)在網(wǎng)絡(luò)傳輸中得到較為安全的保障。用戶與云存儲服務(wù)器相互認(rèn)證,對雙方安全證書和身份進(jìn)行鑒別,成功后用戶代理通過安全API和云通信連接進(jìn)行數(shù)據(jù)存儲服務(wù)。
2.2基礎(chǔ)管理層設(shè)計(jì)
通過信息擴(kuò)散法,數(shù)據(jù)分片后在網(wǎng)絡(luò)傳輸和數(shù)據(jù)存儲時具有相對的保密性和安全性。在云存儲的基礎(chǔ)管理層中利用IDA思想,通過分片器把存儲信息分片, 使數(shù)據(jù)變成無法被其他非認(rèn)證系統(tǒng)所識別的數(shù)據(jù)片段。對于每一個單獨(dú)的數(shù)據(jù)片段來說,這些數(shù)據(jù)片段是不具有任何意義的,如果數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中被他人截 獲,被植入的木馬病毒掃描獲取或在存儲設(shè)備上被意外竊取,由于截取方只是獲得信息的部分?jǐn)?shù)據(jù)片段,截取的信息并不具有任何實(shí)際含義,這樣就能夠保證數(shù)據(jù)分 片后不會產(chǎn)生保密信息泄露或擴(kuò)散。此外,當(dāng)這些分片后的數(shù)據(jù)放入地理位置不同的存儲器中,即便被其他用戶誤操作提取時,也能保證需要保護(hù)的信息不會被分析 出來。數(shù)據(jù)的分散式存儲機(jī)制也使存儲系統(tǒng)具備一定的容錯、容災(zāi)能力,提高了信息的可用性。
分片器根據(jù)IDA算法將數(shù)據(jù)分片后,云存儲服務(wù)器將每個分片數(shù)據(jù)用一個固定不變的64位句柄對其進(jìn)行標(biāo)識,這些句柄也是唯一的,讀取數(shù)據(jù)時根據(jù)存儲 服務(wù)器中虛擬視圖中句柄和字節(jié)范圍來進(jìn)行,在主服務(wù)器中建立一個數(shù)據(jù)列表,用來存儲系統(tǒng)中的元數(shù)據(jù),其中包括用戶存儲的文件名、對應(yīng)的句柄號和文件大小等 信息。
數(shù)據(jù)的存儲無論在內(nèi)容上還是在存儲設(shè)備中都是分散的,當(dāng)用戶需要對云存儲中的數(shù)據(jù)進(jìn)行訪問或者操作時,分散存儲管理器(DSM)需要把分散的數(shù)據(jù)整 合起來,提供給用戶一個虛擬的視圖,這些分散數(shù)據(jù)對于用戶來說是透明的。用戶可以根據(jù)提供的視圖,對存儲的數(shù)據(jù)進(jìn)行管理。此外,DSM還支持對元數(shù)據(jù)的管 理,便于用戶對數(shù)據(jù)進(jìn)行創(chuàng)建、檢索和刪除等操作。
2.3存儲層設(shè)計(jì)
在存儲層設(shè)計(jì)中,為了實(shí)現(xiàn)數(shù)據(jù)存儲的安全策略,云存儲中需要滿足用戶存儲海量數(shù)據(jù)的需求,存儲系統(tǒng)規(guī)模及存儲容量都在不斷增長,與存儲相關(guān)的出錯率 將越來越高。為了確保云存儲安全系統(tǒng)中數(shù)據(jù)存儲的高可用性和可靠性,系統(tǒng)存儲層中的設(shè)備都必須異地存放,并且互為冗余,這樣能夠提高設(shè)備容錯能力和存儲利 用率。系統(tǒng)使用Reed-Solomon碼提供任意高錯誤恢復(fù)技術(shù),保證系統(tǒng)在發(fā)現(xiàn)問題后能夠被迅速檢測到。如果設(shè)備上的數(shù)據(jù)損壞、丟失,存儲系統(tǒng)中自動 化檢測過程會發(fā)現(xiàn)這個問題,通過檢查可用片重新計(jì)算數(shù)據(jù)片中所有的數(shù)據(jù),根據(jù)其他存儲設(shè)備中完好的數(shù)據(jù)恢復(fù)被破壞的數(shù)據(jù)。通過這樣的數(shù)據(jù)自舉恢復(fù),提高了 云存儲系統(tǒng)的平均無故障時間。
2.4面向分散式存儲的云存儲數(shù)據(jù)存取過程
面向分散式存儲的云存儲用戶進(jìn)行數(shù)據(jù)存取的過程如圖3所示,當(dāng)用戶(個人或企業(yè))存取數(shù)據(jù)時,在客戶端通過系統(tǒng)安全認(rèn)證后將信息進(jìn)行SSL加密,傳 送到 Internet中,通過云存儲服務(wù)器管理,用分片器將數(shù)據(jù)分片,然后再把數(shù)據(jù)片傳給分散在各地物理位置不同的存儲介質(zhì)中去;當(dāng)用戶讀取數(shù)據(jù)或者查詢數(shù)據(jù) 時,在云存儲服務(wù)器通過身份驗(yàn)證后,用戶通過分散存儲管理器提供的虛擬視圖,完成數(shù)據(jù)的檢索或者刪除等操作,此后分散存儲管理器再通過設(shè)備上的記錄表,對 存儲層中的存儲設(shè)備進(jìn)行相應(yīng)的操作,最后將操作結(jié)果返回給用戶。
圖3用戶DSM存取過程
DSM主要負(fù)責(zé)將數(shù)據(jù)轉(zhuǎn)發(fā)給分片器,記錄路徑并為用戶建立虛擬視圖,具體工作過程如下:
(1)接收用戶數(shù)據(jù)的DSM請求;
(2)轉(zhuǎn)發(fā)給分片器并記錄數(shù)據(jù)存取路徑,等待分片器返還數(shù)據(jù)狀態(tài)信息;
(3)創(chuàng)建用戶虛擬視圖表。
分片器根據(jù)IDA算法進(jìn)行數(shù)據(jù)分片,分片規(guī)則為每個數(shù)據(jù)片中包含的信息內(nèi)容不會被泄露,其具體工作過程如下:
(1)從分散存儲管理器中提取數(shù)據(jù);
(2)根據(jù)IDA算法進(jìn)行數(shù)據(jù)分片;
(3)將分片后的信息傳輸?shù)礁鞯氐拇鎯υO(shè)備中;
(4)將存儲完成后的狀態(tài)信息(成功或者錯誤)、存儲設(shè)備號、存儲位置等返回給分散存儲管理器。
存儲器主要實(shí)現(xiàn)數(shù)據(jù)最終存取,并帶有定期檢測數(shù)據(jù)、自動發(fā)現(xiàn)存儲數(shù)據(jù)錯誤功能,并根據(jù)其他互為冗余的存儲設(shè)備數(shù)據(jù)修復(fù)受損數(shù)據(jù),以提高信息的可用性,其工作過程如下:
(1)存儲數(shù)據(jù)后同時在其他存儲設(shè)備中寫入校驗(yàn)碼;
(2)向分片器返回數(shù)據(jù)存儲信息;
(3)定期自動檢查數(shù)據(jù)的完整性。
三、系統(tǒng)分析與驗(yàn)證
用戶保存數(shù)據(jù)時,系統(tǒng)首先在訪問層實(shí)現(xiàn)用戶身份認(rèn)證、授權(quán)、防止非法訪問和越權(quán)訪問,并將保存數(shù)據(jù)進(jìn)行加密,當(dāng)數(shù)據(jù)在訪問層和應(yīng)用接口層被攔截時,攔截者不會得到有效的數(shù)據(jù)信息。
數(shù)據(jù)在基礎(chǔ)管理層被分片后,每個信息中單獨(dú)的片段也是無效的,在數(shù)據(jù)從基礎(chǔ)管理層到存儲層傳輸?shù)倪^程中,假設(shè)此時數(shù)據(jù)被攔截(木馬病毒掃描獲取),截獲者得到的只是數(shù)據(jù)片段,無法對數(shù)據(jù)的有效性加以分析。
在數(shù)據(jù)最終存放的存儲層中,分片的數(shù)據(jù)也因?yàn)槠鋯为?dú)被獲取后,獲取者由于沒有完整的分片數(shù)據(jù)信息,并且即使得到所有數(shù)據(jù)分片,也因其沒有數(shù)據(jù)合成的方法,最終不能得到完整的數(shù)據(jù)。此外,當(dāng)數(shù)據(jù)被破壞時,存儲層中互為冗余的數(shù)據(jù)也可將其恢復(fù),保證了數(shù)據(jù)的安全性和可用性。
可以看出,本系統(tǒng)根據(jù)云存儲的層次結(jié)構(gòu),通過相應(yīng)的保護(hù)策略逐層對數(shù)據(jù)進(jìn)行保護(hù),從數(shù)據(jù)傳輸?shù)酱鎯Γ冀⒘讼鄳?yīng)的保護(hù)措施進(jìn)行云存儲層以及層與層 之間的防范,實(shí)現(xiàn)了數(shù)據(jù)的全面防護(hù),防止了需要保密的數(shù)據(jù)泄漏后造成不必要的損失。該方法在Windows環(huán)境下通過系統(tǒng)仿真加以了認(rèn)證。
總結(jié)
由于云計(jì)算的復(fù)雜性以及用戶的動態(tài)性,云存儲主要存在數(shù)據(jù)間分開存放、數(shù)據(jù)恢復(fù)、數(shù)據(jù)加密、數(shù)據(jù)完整性保護(hù)等問題。本文提出的云存儲安全架構(gòu)對于數(shù) 據(jù)保密性要求高、基于內(nèi)容存儲的用戶,在安全性、可靠性和可用性方面具有較大的優(yōu)勢,具備一定的容災(zāi)、數(shù)據(jù)恢復(fù)及容錯能力。然而,這些需要通過空間和時間 上的代價來滿足安全性需求。
因此,根據(jù)本文提出的安全架構(gòu)特點(diǎn),通過增強(qiáng)動態(tài)分析明確最佳的性能所在,優(yōu)化數(shù)據(jù)存取路徑,提高數(shù)據(jù)整體讀取性能,以實(shí)現(xiàn)更具有存儲空間效率的存儲策略,增強(qiáng)云存儲服務(wù)效率等,將是我們下一步要研究的重點(diǎn)問題。