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