如何設(shè)計云存儲服務(wù)端數(shù)據(jù)存儲加密機制
云存儲是一種新型的網(wǎng)絡(luò)存儲形式。隨著云存儲的廣泛使用,云存儲中的數(shù)據(jù)安全問題,如數(shù)據(jù)泄漏、數(shù)據(jù)篡改,也成了用戶廣泛關(guān)注的問題。云存儲可以分為訪問層、應(yīng)用接口層、基礎(chǔ)管理層和存儲層,云存儲安全可以分為訪問層安全、應(yīng)用接口層安全、基礎(chǔ)層安全和存儲層安全。為保證云存儲中服務(wù)端數(shù)據(jù)存儲的機密性,文章設(shè)計了數(shù)據(jù)存儲加密機制,在基于云桌面的辦公系統(tǒng)個人存儲的應(yīng)用環(huán)境中,實現(xiàn)了基礎(chǔ)管理層和存儲層加密機制。
一、云存儲
云存儲是云計算的延伸和發(fā)展,是指通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式系統(tǒng)等將網(wǎng)絡(luò)中大量各種不同類型的存儲設(shè)備通過應(yīng)用軟件結(jié)合起來阱同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的系統(tǒng)。
如圖l所示,云存儲從上往下可以分為四層,分別為訪問層、應(yīng)用接口層、基礎(chǔ)管理層和存儲層訪問層是云存儲的最頂層,其主要服務(wù)對象為一般用戶,主要包括三方面內(nèi)容:1)個人空間服務(wù)和運營商空間租賃等;2)企事業(yè)單位或者服務(wù)器實現(xiàn)數(shù)據(jù)備份、數(shù)據(jù)歸檔、集中存儲和遠程共享等;3)視頻監(jiān)控、IPTV(Interactive Personality TV:個性化互動電視)等系統(tǒng)的集中存儲、網(wǎng)站大容量在線存儲等。應(yīng)用接口層是云存儲的第二層,其主要服務(wù)對象為二次應(yīng)用開發(fā)的用戶口應(yīng)用接口層可以分為兩層,上層主要包含網(wǎng)絡(luò)接人、用戶認證和授權(quán)管理等,下層主要包含公用應(yīng)用程序編程接口API(Application Programming Interface)、應(yīng)用軟件和網(wǎng)絡(luò)服務(wù)等。第三層為基礎(chǔ)管理層,主要包含三方面內(nèi)容:l)集群系統(tǒng)、分布式文件系統(tǒng);2)內(nèi)容分發(fā)、重復(fù)數(shù)據(jù)刪除和數(shù)據(jù)壓縮;3)數(shù)據(jù)加密、數(shù)據(jù)備份和數(shù)據(jù)容災(zāi)。最底層為存儲層,其主要而向底層硬件存儲服務(wù)器,可以分為兩層。上層主要包含存儲虛擬化、存儲集中管理、狀態(tài)監(jiān)控和維護升級等,稱之為網(wǎng)絡(luò)管理層;下層主要包含NAS( Network AttachedStorage:網(wǎng)絡(luò)附加存儲)、SAN(Storae AreA Network:存儲區(qū)域網(wǎng)絡(luò))等存儲設(shè)備,稱之為硬件存儲層。
網(wǎng)絡(luò)附加存儲是一種專門的數(shù)據(jù)存儲技術(shù)的名稱,它可以直接連接在電腦網(wǎng)絡(luò)上,對異質(zhì)網(wǎng)絡(luò)用戶提供了集中式數(shù)據(jù)訪問服務(wù)。
網(wǎng)絡(luò)附加存儲是文件級存儲,用的是以文件為單位的通信協(xié)議,如NFS(Network File System)、SMB/CIFS (ServerMessage Block/Common Internet File System)或者AFP(Apple Talk File ProLocol)等。網(wǎng)絡(luò)附加存儲設(shè)備上有簡單的操作系統(tǒng)(包括文本服務(wù)和相關(guān)的通信協(xié)議)。操作系統(tǒng)只提供數(shù)據(jù)存儲、數(shù)據(jù)訪問和相關(guān)的管理功能。
在數(shù)據(jù)量大的環(huán)境中,網(wǎng)絡(luò)附加存儲為用戶提供存儲空間。網(wǎng)絡(luò)附加存儲可以給系統(tǒng)(如負載均衡系統(tǒng)、容錯電子郵件系統(tǒng)和網(wǎng)絡(luò)服務(wù)系統(tǒng)等)提供存儲服務(wù),從而使系統(tǒng)簡單,并且花費更低。網(wǎng)絡(luò)附加存儲可以為網(wǎng)絡(luò)中的其他服務(wù)器提供文件服務(wù),提高了文件的使用率。當(dāng)服務(wù)器被關(guān)閉后,用戶仍然可以和網(wǎng)絡(luò)附加存儲設(shè)備通信,從而避免了因為服務(wù)器關(guān)閉而無法使用數(shù)據(jù)的情況。
存儲區(qū)域網(wǎng)絡(luò)是一種連接外接存儲設(shè)備和服務(wù)器的架構(gòu)。人們采用包括光纖通道技術(shù)、磁盤陣列、磁帶柜、光盤等各種技術(shù)進行實現(xiàn)。該架構(gòu)的特點是,連接到服務(wù)器的存儲設(shè)備,將被操作系統(tǒng)視為直接連接的存儲設(shè)備。
存儲區(qū)域網(wǎng)絡(luò)是塊級數(shù)據(jù)存儲,用的是以區(qū)塊為單位的通信協(xié)議,一般是通過SCSI再轉(zhuǎn)為光纖通道或者iSCSIo存儲區(qū)域網(wǎng)絡(luò)不提供文件虛擬,只提供塊級數(shù)據(jù)存儲操作。
存儲區(qū)域網(wǎng)絡(luò)可以提高計算機存儲資源的可擴展性和可靠性,降低實施成本,減少管理成本。存儲區(qū)域網(wǎng)絡(luò)用于要求可用性、可伸縮性和性能的計算環(huán)境中。例如,視頻編輯工作組對于數(shù)據(jù)的傳輸速率要求非常高,存儲區(qū)域網(wǎng)絡(luò)可以很好地滿足這方面的性能要求。
存儲區(qū)域網(wǎng)絡(luò)可以卸掉主網(wǎng)上大量的數(shù)據(jù)流量,減免數(shù)據(jù)擁塞。
網(wǎng)絡(luò)附加存儲與存儲區(qū)域網(wǎng)絡(luò)比較如下:
1)相同點
網(wǎng)絡(luò)附加存儲和存儲區(qū)域網(wǎng)絡(luò)都依靠于網(wǎng)絡(luò)。在網(wǎng)絡(luò)中為用戶提供存儲服務(wù)。與傳統(tǒng)的存儲不同,二者在可用性和擴展性方面有很大的提高。
2)不同點
首先,使用的通信協(xié)議是不同的。網(wǎng)絡(luò)附加存儲是文件級數(shù)據(jù)存儲,使用以文件為單位的通信協(xié)議;存儲區(qū)域網(wǎng)絡(luò)是塊級數(shù)據(jù)存儲,用的是以塊為單位的通信協(xié)議。
其次,技術(shù)上實施不同。網(wǎng)絡(luò)附加存儲通常是一個服務(wù)器群:郵件服務(wù)器、應(yīng)用服務(wù)器等,存儲設(shè)備附加于系統(tǒng)之上;存儲區(qū)域網(wǎng)絡(luò)大多部署于電子商務(wù)應(yīng)用中,大量的數(shù)據(jù)備份和其他應(yīng)用數(shù)據(jù)在網(wǎng)絡(luò)中傳輸。
硬件存儲設(shè)備可以通過Internet小型計算機系統(tǒng)接口iSCSI( Internet Small Computer System Interface) 實現(xiàn)。iSCSI協(xié)議嘲利用TC P/IPfs.q網(wǎng)絡(luò)傳送本機的SCSI協(xié)議,把SCSI數(shù)據(jù)塊映射成以太網(wǎng)數(shù)據(jù)包。由于iSCSI協(xié)議是服務(wù)器架構(gòu),因此可以實現(xiàn)在線擴容以及動態(tài)部署。
iSCSI又稱為IP-SAN是一種基于因特網(wǎng)及SCSI-3協(xié)議下的存儲技術(shù),由IETF提出,并于2003年2月11日成為正式的標(biāo)準(zhǔn)。
iSCSI協(xié)議本身提供了一些基本安全措施。IPSec(Internei Protocol Security:Internet協(xié)議安全)在IP層為iSCSI通信兩端iscsi PDU(Protocol Data Unit:協(xié)議數(shù)據(jù)單元)的傳輸提供數(shù)據(jù)完整性、認證和機密保護。帶內(nèi)認證對始發(fā)端( Initiator)和目標(biāo)端(Target)在登錄階段對對方進行身份認證。IPSec和帶內(nèi)認證提供了基礎(chǔ)管理層的安全保護。甚于已有商、存儲Arnazon S3的增強系
統(tǒng)和網(wǎng)關(guān),可以保護應(yīng)用接口層的安全。但基于iSCSI的云存儲,沒有提供對存儲服務(wù)端用戶數(shù)據(jù)機晰性的保護機制。
本文研究的云存儲服務(wù)端數(shù)據(jù)存儲加巒機制主要保護用戶數(shù)據(jù)的機懈性。本文的主要工作包括:l)設(shè)計了一種對用戶透明的云存儲數(shù)據(jù)加密機制,給出了由展礎(chǔ)管理層和存儲層組成的二層架構(gòu);2)基于JAVA、JSP等技術(shù),實現(xiàn)了基礎(chǔ)管理層;3)甚于Bash腳本等技術(shù),實現(xiàn)了基礎(chǔ)管理層與存儲層的接口;4)基于開源項目TGT實現(xiàn)了存儲層數(shù)據(jù)加解密機制,保證數(shù)據(jù)的機密性。測試表明,本文實現(xiàn)的加密機制適用于基于云桌面的辦公系統(tǒng)個人存儲的應(yīng)用環(huán)境,而且用戶無需參與加密過程。
二、加密機制基本架構(gòu)
本文的設(shè)計主要針對云存儲的基礎(chǔ)管理層和存儲層,如圖2所示?;A(chǔ)管理層主要包含存儲虛擬化、存儲集中管理、狀態(tài)監(jiān)控和維護升級等,實現(xiàn)對存儲層硬件服務(wù)器的管理;存儲層主要包含硬件服務(wù)器、操作系統(tǒng)及軟件??尚诺谌截撠?zé)發(fā)放和存儲密鑰。
1、基礎(chǔ)管理層
基礎(chǔ)管理層面對的對象足存儲系統(tǒng)的管理角色,其主要功能模塊如圖3所示,管理角色對整個存儲進行管理。
存儲虛擬化將硬件存儲資源進行抽象化表現(xiàn),將多臺物理存儲服務(wù)器J超擬成一個存儲池,在管理和建立存儲時不用考慮存儲實際所建的物明機器。存儲集中管理對存儲進行集中管理,包括存儲的添加、刪除和修改。狀態(tài)監(jiān)控對物理存儲進行狀態(tài)監(jiān)控,包括CPU使用宰,設(shè)置CPU使用率的正常值范范圍,超出該范鬧給出警告;內(nèi)存空閑率,設(shè)置內(nèi)存空閑了的正常值的范圍,超出該范圍,給出警告;其他相關(guān)參數(shù)的監(jiān)控。維護升級對物理存儲的軟件進行升級,保證物理存儲的可用性和安全性,并網(wǎng)收系統(tǒng)的垃圾存儲。
存儲管理接口將底層的添加存儲、修改存儲和刪除存儲等功能通過接口提供給存儲管理層。
2、存儲層
存儲層主要是硬件服務(wù)器、操作系統(tǒng)和軟件,它們組成了云存儲的服務(wù)端。如圖3所示,它包括存儲管理接口、添加存儲、修改存儲和刪除存儲,存儲管理接口為基礎(chǔ)管理層提供添加、修改和刪除存儲的接口;它還包括存儲服務(wù)接口、登錄存儲模塊、讀寫模塊和加解密模塊,存儲服務(wù)接口直接為客戶端提供登錄存儲和瀆寫存儲的接口;讀寫存儲調(diào)用加解密模塊,保證客戶端存儲數(shù)據(jù)的機密性。用戶與服務(wù)端、服務(wù)端與可信第三方交互流程如圖4所示。
1)用戶獲得存儲
(1)首先,用戶發(fā)起存儲清求,可以指定存儲大小系統(tǒng)默認大??;
(2)服務(wù)端接收到請求后,建立存儲并選擇算法;
(3)服務(wù)端向可信第三方請求密鑰;
(4)可信第三方接收到密鑰請求后,返回密鑰;
(5)服務(wù)端使用密鑰初始化存儲;
(6)服務(wù)端將存儲分配給用戶;
(7) 用戶登錄存儲;
(8)服務(wù)端對用戶名和密碼進行驗證,當(dāng)用戶名和密碼驗證通過后,建立會話。
2)用戶讀寫數(shù)據(jù)
(1)用戶寫數(shù)據(jù),服務(wù)端將數(shù)據(jù)加密,然后寫入存儲;
(2)用戶讀數(shù)據(jù),服務(wù)端解密數(shù)據(jù),然后將數(shù)據(jù)返回給用戶。
三、原型實現(xiàn)
本文基于JAVA、JSP、Bash腳本等,實現(xiàn)了綦礎(chǔ)管理層基本功能;基于開源項目TGT實現(xiàn)了物理存儲服務(wù)器解密功能和可信度艘。本文存儲的應(yīng)用環(huán)境為云桌面用戶存儲,用戶在存儲中存放自己的文件。
1、基礎(chǔ)管理層實現(xiàn)
基于web圖形界面,實現(xiàn)氈礎(chǔ)管理層的可視化操作,包括存儲虛擬化管理界面,集中存儲管理界面,狀態(tài)監(jiān)控界面和升級維護界面口管理員可以方便快捷管理存儲,不用了解和熟悉底層的管理命令。
管理員通過存儲創(chuàng)建界面選擇創(chuàng)建存儲的大小,可以指定物理服務(wù)器,也可以不指定物理服務(wù)器,如圖5所示。
管理員可以通過圖6所示界面查看物力存儲存儲的信息。
管理員可以通過物理存儲狀態(tài)監(jiān)控界面奩看物理存儲當(dāng)前的狀態(tài),包括內(nèi)存、CPU使用率等,如圖7所示。
2、存儲層加密機制實現(xiàn)
服務(wù)端操作系統(tǒng)為thel-server-6.4-x86—64,iSCSI軟件為iscsitargel-1.4.20.20如圖8所示,主要修改的文件為file-io.c和bloc-io.c,并新建立了AES.h、AES.c、DFS.h、DES.c. 3DES.h. 3DES.c\ rc4.h. rc4.c等文件。我們修改了file-io.t;和bloc-io.c的部分。file-io.e中~J static irit f'ileio_niake_request(struct iet. volume *lu, structIio *tio.int r函數(shù),其中rw為凌取或行寫入符號。在rw為READ時,讀出數(shù)據(jù)后,使用解密函數(shù)對數(shù)據(jù)進行解密;否則,在寫入數(shù)據(jù)前,函數(shù)對數(shù)據(jù)進行加密。bloc-io.c中 static int blockio_make_request(struci et_volume*volume, struct tio*tio, intr州,rw為波取或暫寫入符。在rw為READ時,讀出數(shù)據(jù)后,使用解密函數(shù)對數(shù)據(jù)進行解密;否則,在寫人數(shù)據(jù)前,使用加密函數(shù)對數(shù)據(jù)進行加密。
AES.h, AES.c、 I)F:S.h, DFS.c. 3DES.Il, 3DES.c, rr4.h,rc4.c等文件分別實現(xiàn)了AES算法、DES算法、3DES算法和rc4算法。
3、數(shù)據(jù)測試
硬件
處理器:InteI(R) Core(TM) i7-3770 CPU@3.40(;Hz3.40GHz
系統(tǒng)內(nèi)存( RAM):4.OO(;B
軟件
操作系統(tǒng):Windo.vs 7專業(yè)版
系統(tǒng)類型:32位操作系統(tǒng)
虛擬化軟件:Oracle VirtuaIBox 4.3.2 r90405
客戶端操作系統(tǒng):CentoS-5.5-x86_64內(nèi)核版本( 2.6.18-371.6.l.e15):內(nèi)存:lG;CPU個數(shù):2
服務(wù)端操作系統(tǒng):thel-server-6.4-x86_64內(nèi)核版本( 2.6.32-358.e16.i686);內(nèi)存:IC;CPU個數(shù):2
客戶端軟件:iscsi--in…ator-utils-6.2.0.837-lO.e16.
x86_64.rpm
服務(wù)端軟件:iscsitarget-1.4.20.2 .tar*gz'WindOW8 7作為宿主機系統(tǒng),使用VirtuaIBox虛擬化軟件,建立兩個Linux虛擬機,一個為CentOS系統(tǒng),安裝iscsi-initiator軟件,作為客戶端;另一個為RedHat系統(tǒng),安裝修改后ISC8itarget軟件,作為服務(wù)端。
由于本文的應(yīng)用環(huán)境為云桌面的用戶存儲,所以數(shù)據(jù)測試采用模擬用戶寫數(shù)據(jù)的過程,其目的在于測試數(shù)據(jù)加密后是否會對用戶讀寫文件造成太大延遲,降低系統(tǒng)使用性。測試文件大小分為IK、IOK、IOOK、256K、512K、1M(如圖9)、IOM、IOOM、256M(如圖1O),使用Ba8h腳本,每個文件讀寫1000次計時,然后計算平均時間,作為該大小文件的讀寫時間。
在文件較小時,加密對于文件寫入沒有較大影響,而用戶的等待時間也不會超過50ms。
在文件相對較大時,如圖10所示,文件為256M時,無加密寫入時間不超過Is,而加密所需最大時間為9s多。
采用AES算法128位加密或者RC4加密,時問不超過380在用戶可接受范圍之內(nèi)。
本文的應(yīng)用環(huán)境是基于云桌面的辦公系統(tǒng)的個人存儲,辦公系統(tǒng)中,文件的讀寫主要是小數(shù)據(jù)的頻繁讀寫。圖9為1K、IOK、IOOK、256K、512K、IM、IOM、IOOM、256M等小文件的測試數(shù)據(jù),采用1000次的讀寫取平均數(shù)據(jù)。當(dāng)文件小于IOM時,時間差不超過0.5s;當(dāng)文件為256M時,最大時間差不超過9s,最小時間差為2.2s;由于辦公系統(tǒng)單個文件為IOM級已經(jīng)比較少;所以本文的加密機制適合基于云桌面的辦公系統(tǒng)的個人存儲使用。
小知識之云存儲
云存儲是在云計算(cloud computing)概念上延伸和發(fā)展出來的一個新的概念,是一種新興的網(wǎng)絡(luò)存儲技術(shù),是指通過集群應(yīng)用、網(wǎng)絡(luò)技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的一個系統(tǒng)。














