• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      自認(rèn)證可信云存儲(chǔ)框架與算法設(shè)計(jì)

      2013-09-08 10:16:50肖長(zhǎng)水姒茂新傅穎麗方立剛顧才東
      關(guān)鍵詞:管理器哈希證書(shū)

      肖長(zhǎng)水,姒茂新,傅穎麗,方立剛,顧才東

      (1.江蘇省現(xiàn)代企業(yè)信息化應(yīng)用支撐軟件工程技術(shù)研發(fā)中心,江蘇 蘇州215104;2.蘇州市職業(yè)大學(xué) 計(jì)算機(jī)工程系,江蘇 蘇州215104)

      0 引 言

      目前的云存儲(chǔ)系統(tǒng)還難以提供可信的云存儲(chǔ)服務(wù),可能會(huì)因?yàn)橄到y(tǒng)BUG而出現(xiàn)無(wú)法預(yù)料的拜占庭錯(cuò)誤問(wèn)題[1],或者因?yàn)樵品?wù)供應(yīng)商不能向用戶提供透明的數(shù)據(jù)管理服務(wù)而存在信息泄露的可能。為了提高云存儲(chǔ)服務(wù)的安全性,對(duì)用戶數(shù)據(jù)進(jìn)行機(jī)密性保護(hù)和完整性驗(yàn)證等策略被采用,一些學(xué)者提出了數(shù)據(jù)擁有的證據(jù) (PDP)或可恢復(fù)性證據(jù)(POR)[2-7]等方法,且文獻(xiàn) [7,8]給出了第三方驗(yàn)證的系統(tǒng)結(jié)構(gòu)模型以實(shí)現(xiàn)用戶數(shù)據(jù)完整性驗(yàn)證。為了提高云服務(wù)的可信性,NEISSE R等針對(duì)使用虛擬機(jī)的云計(jì)算系統(tǒng)平臺(tái),設(shè)計(jì)了一個(gè)BonaFides系統(tǒng)為云基礎(chǔ)設(shè)施提供安全相關(guān)的遠(yuǎn)程證明,并建議了在云基礎(chǔ)設(shè)施運(yùn)行期間進(jìn)行軟硬件完整性驗(yàn)證的解決方案[9];KO R K L等設(shè)計(jì)了可通過(guò)技術(shù)和基于策略的方法實(shí)現(xiàn)可問(wèn)責(zé)的可信云框架[10],并設(shè)計(jì)了一個(gè)可記錄云系統(tǒng)中虛擬機(jī)和物理機(jī)的內(nèi)核空間內(nèi)文件級(jí)訪問(wèn)和信息傳遞的記錄器Flogger,以實(shí)現(xiàn)向用戶提供可信服務(wù)[11]。侯清鏵等設(shè)計(jì)了一種保護(hù)云存儲(chǔ)平臺(tái)上用戶數(shù)據(jù)私密性的方法,對(duì)Daoli系統(tǒng)進(jìn)行改進(jìn),設(shè)計(jì)了兩個(gè)保護(hù)用戶數(shù)據(jù)的方案[12]。通過(guò)對(duì)以上文獻(xiàn)的研究發(fā)現(xiàn):① 云存儲(chǔ)服務(wù)供應(yīng)商提供的存儲(chǔ)服務(wù)對(duì)用戶是不透明的,用戶無(wú)法檢驗(yàn)存儲(chǔ)到云端的數(shù)據(jù)是否被偷窺、篡改或者破壞,現(xiàn)有的機(jī)密性保護(hù)和完整性驗(yàn)證方法強(qiáng)調(diào)對(duì)云存儲(chǔ)系統(tǒng)本身或用戶數(shù)據(jù)的安全保護(hù),但沒(méi)有強(qiáng)調(diào)用戶的直接參與安全管理;② 第三方驗(yàn)證方案是假設(shè)第三方是可信的,但第三方是否可信對(duì)用戶來(lái)說(shuō)也存在安全隱患[13]。針對(duì)以上問(wèn)題,本文設(shè)計(jì)了一個(gè)自認(rèn)證可信云存儲(chǔ)框架。該框架中設(shè)計(jì)了兩級(jí)Merkle哈希樹(shù)對(duì)用戶數(shù)據(jù)進(jìn)行管理,并在此基礎(chǔ)上設(shè)計(jì)了用戶進(jìn)行數(shù)據(jù)安全管理的數(shù)據(jù)更新、插入、刪除、驗(yàn)證等算法。用戶在無(wú)需第三方介入的情況下,直接參與數(shù)據(jù)安全管理,提高了用戶數(shù)據(jù)的安全性。

      1 云存儲(chǔ)基本原理

      一個(gè)基本的云存儲(chǔ)系統(tǒng)的網(wǎng)絡(luò)架構(gòu)是由客戶端(client,C)和云端服務(wù)器集群 (cloud sever cluster,CSC)組成[14],如圖1所示,與傳統(tǒng)的C/S網(wǎng)絡(luò)架構(gòu)有類(lèi)似之處,但在云端服務(wù)器集群組建和數(shù)據(jù)處理方式上有著本質(zhì)的區(qū)別。在云端服務(wù)器集群的組建方面,主要涉及兩類(lèi)服務(wù)器,一類(lèi)是名字服務(wù)器 (name server,NS),另一類(lèi)是數(shù)據(jù)服務(wù)器 (data server,DS)。NS主要功能是實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)的存儲(chǔ)管理和控制,主要用來(lái)存儲(chǔ)與管理和控制相關(guān)的元數(shù)據(jù),是云端服務(wù)器集群的主服務(wù)器;DS的主要功能是存儲(chǔ)用戶數(shù)據(jù),其數(shù)量較多。圖1中標(biāo)注的云存儲(chǔ)系統(tǒng)中數(shù)據(jù)處理基本過(guò)程如下:

      (1)C向CSC中的NS提出存儲(chǔ)數(shù)據(jù)請(qǐng)求;

      (2)NS周期地查詢DS,不斷更新自己的數(shù)據(jù)塊列表;

      (3)NS根據(jù)空閑數(shù)據(jù)塊分配策略,告知C可供存儲(chǔ)空閑數(shù)據(jù)塊的具體位置;

      (4)C根據(jù)NS提供的空閑數(shù)據(jù)塊的具體位置,直接將用戶數(shù)據(jù)存儲(chǔ)到指定的DS上。

      圖1 云存儲(chǔ)原理

      C需要進(jìn)行的數(shù)據(jù)管理主要有讀寫(xiě)、更新、刪除,這些操作的具體過(guò)程和上面所提的過(guò)程相似,都要在NS的控制下完成。

      2 自認(rèn)證可信云存儲(chǔ)安全框架

      2.1 安全框架設(shè)計(jì)

      與第三方參與的安全框架不同,在所設(shè)計(jì)的自認(rèn)證系統(tǒng)中用戶可以直接對(duì)CSC上的數(shù)據(jù)進(jìn)行完整性驗(yàn)證,C需要參與安全管理。如圖2所示,C所包含的組件有證書(shū)服務(wù)器、數(shù)據(jù)驗(yàn)證器、數(shù)據(jù)加密器和數(shù)據(jù)處理器;而在CSC上,NS擔(dān)當(dāng)了數(shù)據(jù)管理任務(wù),NS包含的組件有證書(shū)服務(wù)器、數(shù)據(jù)驗(yàn)證器和元數(shù)據(jù)管理器。

      圖2 云存儲(chǔ)安全框架

      在自認(rèn)證系統(tǒng)中,C組件和CSC組件之間的關(guān)系如下:

      (1)證書(shū)管理器,生成證書(shū)、交換證書(shū)和管理證書(shū),實(shí)現(xiàn)C和CSC之間或C之間的身份認(rèn)證,以防范假冒和偽造攻擊;

      (2)數(shù)據(jù)驗(yàn)證器,采用單向HASH函數(shù)基于一定的算法驗(yàn)證用戶數(shù)據(jù)完整性;

      (3)數(shù)據(jù)處理器與元數(shù)據(jù)管理器,兩者之間實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)存儲(chǔ)管理,C的數(shù)據(jù)處理器向CSC上NS的元數(shù)據(jù)管理器提出存儲(chǔ)、更新、刪除數(shù)據(jù)等操作,元數(shù)據(jù)管理器將根據(jù)用戶文件列表和DS的存儲(chǔ)空閑塊列表完成數(shù)據(jù)處理器的請(qǐng)求;

      (4)數(shù)據(jù)處理器與DS,C的數(shù)據(jù)處理器根據(jù)NS響應(yīng)的信息實(shí)現(xiàn)在DS上進(jìn)行存儲(chǔ)和更新用戶數(shù)據(jù)功能;

      (5)元數(shù)據(jù)管理器與DS,元數(shù)據(jù)管理器查詢DS實(shí)現(xiàn)對(duì)數(shù)據(jù)空閑塊列表和用戶文件列表更新,元數(shù)據(jù)管理器根據(jù)一定的心跳頻率與DS通信以查詢DS中用戶數(shù)據(jù)狀態(tài)和空閑數(shù)據(jù)塊狀態(tài)。

      此外,C的數(shù)據(jù)加密器采用密碼學(xué)技術(shù)加密用戶數(shù)據(jù),實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)的機(jī)密性保護(hù)。數(shù)據(jù)加密器在加密用戶文件后,再通過(guò)數(shù)據(jù)處理器存儲(chǔ)到CSC。

      2.2 兩級(jí)Merkle哈希樹(shù)設(shè)計(jì)

      Merkle哈希樹(shù) (merkle hash tree,MHT)是由 Merkle于1979年提出的,由于概念簡(jiǎn)單和易用,已經(jīng)被廣泛應(yīng)用在各種基于密碼學(xué)的信息安全方案中。目前,一些商用云存儲(chǔ)系統(tǒng)已經(jīng)使用MHT來(lái)保障數(shù)據(jù)安全性,如在Amazon平臺(tái)基礎(chǔ)存儲(chǔ)架構(gòu)Dynamo中[15],MHT被用來(lái)檢測(cè)數(shù)據(jù)是否同步。

      一個(gè)MHT就是一個(gè)完全二叉樹(shù),葉子節(jié)點(diǎn)是需要進(jìn)行處理對(duì)象的哈希結(jié)果,其它節(jié)點(diǎn)是從葉子節(jié)點(diǎn)開(kāi)始依次分層再哈希的結(jié)果,直至根節(jié)點(diǎn)。在所提出的云存儲(chǔ)框架中,設(shè)計(jì)了兩級(jí)MHT,一級(jí)是數(shù)據(jù)塊Merkle哈希樹(shù) (Data Blocks MHT,DBMHT),另一級(jí)是文件 Merkle哈希樹(shù)(Files MHT,F(xiàn)MHT),如圖3 (a)(b)所示。此框架中的Merkle哈希樹(shù)構(gòu)建的特點(diǎn)如下:

      圖3 兩級(jí)Merkle哈希樹(shù)

      (1)葉子節(jié)點(diǎn)由兩個(gè)節(jié)點(diǎn)組成,下層的節(jié)點(diǎn)fi或bi(i∈N+)為處理對(duì)象節(jié)點(diǎn),包含一些代表處理對(duì)象屬性的元數(shù)據(jù);上層的節(jié)點(diǎn)hfi或hbi(i∈N+)為處理對(duì)象節(jié)點(diǎn)中數(shù)據(jù)的哈希值節(jié)點(diǎn)。

      (2)FMHT與DBMHT中均采用三叉鏈表存儲(chǔ)結(jié)構(gòu),以實(shí)現(xiàn)對(duì)樹(shù)進(jìn)行快速的創(chuàng)建、查詢、刪除和更新功能;且每個(gè)哈希樹(shù)的葉子節(jié)點(diǎn)中的處理對(duì)象從左至右形成一個(gè)雙向鏈表的存儲(chǔ)結(jié)構(gòu),分別為文件鏈表 (files linked list,F(xiàn)LL)和數(shù)據(jù)塊鏈表 (data blocks linked list,DBLL),可以實(shí)現(xiàn)對(duì)DBMHT和數(shù)據(jù)塊進(jìn)行快速查詢。

      (3)在MHT中的每個(gè)節(jié)點(diǎn)中均設(shè)置一個(gè)標(biāo)志位Flag,用來(lái)標(biāo)記該節(jié)點(diǎn)是否為有效節(jié)點(diǎn),若值為 “0”表示無(wú)效,值為 “1”表示有效,用以實(shí)現(xiàn)對(duì)節(jié)點(diǎn)的邏輯刪除。

      (4)每個(gè)FMHT的處理對(duì)象節(jié)點(diǎn)均通過(guò)指針指向自己的DBMHT。

      (5)在所設(shè)計(jì)的云存儲(chǔ)系統(tǒng)中,一個(gè)用戶創(chuàng)建一個(gè)FMHT,每個(gè)文件創(chuàng)建一個(gè)DBMHT,形成兩級(jí)關(guān)系。

      2.3 關(guān)鍵功能定義

      在所設(shè)計(jì)的框架中,我們的目標(biāo)是用戶對(duì)存儲(chǔ)到云集群系統(tǒng)的數(shù)據(jù)應(yīng)該是具有可驗(yàn)證安全性。為此,該框架應(yīng)該滿足3個(gè)安全要求:用戶與集群系統(tǒng)身份的可驗(yàn)證、用戶數(shù)據(jù)的保密性和用戶數(shù)據(jù)完整性的可驗(yàn)證性。為實(shí)現(xiàn)以上安全性要求,該框架的關(guān)鍵功能定義如下:

      (1)KeyGen(1λ):這是非對(duì)稱(chēng)密鑰生成算法,C生成非對(duì)稱(chēng)密鑰對(duì) (skc,pkc),其中的公鑰pkc將分發(fā)給CSC的名字服務(wù)器NS;在CSC的NS中生成非對(duì)稱(chēng)密鑰對(duì)(skcsc,pkcsc),其中的公鑰pkcsc將分發(fā)給C。

      (2)CertGen(x,pkx):這是證書(shū)生成算法,C的證書(shū)管理器生成具有自己公鑰和身份標(biāo)識(shí)的證書(shū)CertGen(c,pkc),在CSC的NS中的證書(shū)管理器生成具有自己公鑰和身份標(biāo)識(shí)的證書(shū)CertGen(csc,pkcsc);C在第一次向CSC申請(qǐng)存儲(chǔ)空間時(shí)相互交換證書(shū),交換的證書(shū)將是后續(xù)進(jìn)行對(duì)用戶數(shù)據(jù)管理的身份和數(shù)據(jù)源識(shí)別,以及對(duì)數(shù)據(jù)進(jìn)行加密。

      (3)Encrypt(data,key,mode):這是可以工作在C和CSC的加密算法,參數(shù)data是需要加密的數(shù)據(jù),key表示加密密鑰,mode表示加密算法類(lèi)型,取值 “asym”是非對(duì)稱(chēng)算法,取值 “sym”是對(duì)稱(chēng)算法。

      (4)Decrypt(data,key,mode):這是可以工作在 C和CSC的解密算法,參數(shù)data是需要解密的數(shù)據(jù),key表示解密密鑰,mode表示解密算法類(lèi)型,取值 “asym”為非對(duì)稱(chēng)算法,取值 “sym”為對(duì)稱(chēng)算法。

      (5)SignGen (skx,H (m)):這是簽名生成算法,H(m)是通過(guò)哈希函數(shù)對(duì)消息m計(jì)算得到的消息摘要;C可以通過(guò)自己的私鑰skc對(duì)CSC的消息m的摘要H (m)進(jìn)行簽名得到SignGen(skc,H (m));同樣地,CSC的NS可以通過(guò)自己的私鑰skcsc對(duì)C的消息m的摘要H (m)進(jìn)行簽名得到SignGen (skcsc,H (m))。

      (6)Verify (pkx,SignGen (skx,H (m))):這 是驗(yàn)證簽名算法,實(shí)現(xiàn)對(duì)接收到的SignGen(skx,H (m))進(jìn)行驗(yàn)證以確認(rèn)消息m的來(lái)源和完整性;C使用CSC的NS的公鑰pkcsc驗(yàn)證CSC的消息m的來(lái)源和完整性,即C的驗(yàn)證算法為 Verify (pkcsc,SignGen (skcsc,H (m)));反之,CSC的NS可以通過(guò)C的公鑰pkc驗(yàn)證C的消息m的來(lái)源和完整性,即CSC的驗(yàn)證算法為 Verify(pkc,SignGen(skc,H (m)))。

      3 用戶數(shù)據(jù)管理算法

      根據(jù)設(shè)計(jì)目標(biāo),要實(shí)現(xiàn)用戶對(duì)存儲(chǔ)到云集群系統(tǒng)的數(shù)據(jù)具有可驗(yàn)證安全性,用戶端應(yīng)該具備一些和云集群系統(tǒng)相同的功能。用戶在第一次向CSC提出存儲(chǔ)數(shù)據(jù)請(qǐng)求時(shí),需要和CSC進(jìn)行數(shù)字證書(shū)交換,為在后續(xù)的操作中實(shí)現(xiàn)身份認(rèn)證和數(shù)據(jù)源認(rèn)證。其次,用戶第一次存儲(chǔ)數(shù)據(jù)到CSC時(shí),建立本地FMHT和DBMHT,CSC的NS會(huì)根據(jù)存儲(chǔ)塊建立自己的FMHT和DBMHT;用戶在后續(xù)的數(shù)據(jù)處理(如刪除、插入、更新等)或數(shù)據(jù)完整性驗(yàn)證處理中通過(guò)比較CSC的NS的FMHT和用戶本地FMHT的根即可以驗(yàn)證用戶數(shù)據(jù)的完整性。

      3.1 用戶數(shù)據(jù)存儲(chǔ)的初始化

      用戶第一次通過(guò)C向CSC存儲(chǔ)數(shù)據(jù),需要進(jìn)行初始化。在客戶端,用戶通過(guò)KeyGen(1λ)生成自己的密鑰對(duì)(skc,pkc),并通過(guò) CertGen (x,pkx)生成自己的證書(shū)CertGen (c,pkc)。在云端,CSC的 NS通過(guò) KeyGen (1λ)生成自己的密鑰對(duì) (skcsc,pkcsc),并通過(guò) CertGen (x,pkx)生成自己的證書(shū)CertGen(csc,pkcsc)。C和CSC交換證書(shū),以備進(jìn)行身份認(rèn)證和安全的信息交互。C為保證存儲(chǔ)數(shù)據(jù)的保密性,將文件F進(jìn)行加密得到Fen=Encrypt(key,F(xiàn),sym);然后,根據(jù)CSC的數(shù)據(jù)塊存儲(chǔ)大小將文件Fen劃分成n個(gè)數(shù)據(jù)塊,即Fen= (b1,b2,…,bn),計(jì)算bi的哈希值φi=H (bi)作為DBMHT的葉子節(jié)點(diǎn),得到φi的集合 Ф= {φ1,φ2,…,φn},非葉子節(jié)點(diǎn) H (b)=H (H (bleft)H (bright)),依次構(gòu)造出根為H (Rb)的DBMHT;類(lèi)似地,以H (Rb)作為FMHT的葉子節(jié)點(diǎn),用同樣的方法構(gòu)造根為H (Rf)的FMHT。接下來(lái),C需將 {Fen,SignGen (skc,H (Rf)Ф)}發(fā) 送 給CSC的NS。在CSC,NS進(jìn)行簽名驗(yàn)證 {Fen,Verify(pkc,Sign-Gen (skc,H (Rf)Ф)},若驗(yàn)證成功則得到 {Fen,Ф,H(Rf)}。NS將收到的 Fen劃分成 n個(gè)數(shù)據(jù)塊 (b'1,b'2,…,b'n),計(jì)算b'i的哈希值φ'i=H (b'i)得到φ'i的集合 Ф'= {φ'1,φ'2,…,φ'n}。比較 Ф'和 Ф,如果不相等,則Fen是不正確的,需要C重傳;否則,NS保存Fen并根據(jù) {Ф,H (Rf)}重新構(gòu)建自己的FMHT和DBMHT,得到H (R'f)。NS通過(guò)簽名將 H (R'f)發(fā)給C,C對(duì) H(R'f)進(jìn)行驗(yàn)證,并與 H(Rf)比較來(lái)判斷用戶初始化是否成功。

      3.2 用戶數(shù)據(jù)處理的關(guān)鍵算法

      用戶在第一次通過(guò)C向CSC進(jìn)行數(shù)據(jù)存儲(chǔ),實(shí)現(xiàn)了C和CSC的安全聯(lián)盟,建立各自的FMHT和DBMHT。用戶對(duì)CSC的數(shù)據(jù)算法是非常平常的,主要的數(shù)據(jù)處理算法包括數(shù)據(jù)更新、數(shù)據(jù)插入和數(shù)據(jù)刪除。

      (1)數(shù)據(jù)更新算法

      用戶存儲(chǔ)到CSC的是文件F的加密文件Fen,用戶對(duì)Fen進(jìn)行更新實(shí)際是對(duì)F的更新,而數(shù)據(jù)更新可以以文件或數(shù)據(jù)塊為單位進(jìn)行。此處給出以文件為單位的數(shù)據(jù)更新算法如下:C備份FMHT和DBMHT,以備更新失敗進(jìn)行恢復(fù);C將修改后的新文件F'en劃分成n塊,計(jì)算φ'i=H (b'i)得到各塊的哈希值集合 Ф',重構(gòu)DBMHT得到 H (R'b),并重構(gòu)FMHT得到H (R'f);C將要修改的文件Fen的DBMHT的根 H (Rb)和修改后的文件F'en的 Ф'進(jìn)行簽名SignGen (skc,H (Rb) Ф');C將數(shù)據(jù) {F'en,SignGen(skc,H (Rb)Ф')}發(fā)送給CSC的NS;NS對(duì)SignGen(skc,H (Rb)Ф')進(jìn) 行 驗(yàn) 證 Verify (pkc,SignGen(skc,H (Rb)Ф'),如果失敗就返回錯(cuò)誤信息,C進(jìn)行數(shù)據(jù)恢復(fù),否則進(jìn)行下一步;NS根據(jù)Ф'驗(yàn)證F'en的數(shù)據(jù)完整性,如果驗(yàn)證失敗,則更新失敗,C進(jìn)行數(shù)據(jù)恢復(fù),否則進(jìn)行下一步;NS備份FMHT和DBMHT,且NS根據(jù)H(Rb)備份文件Fen,以備更新失敗進(jìn)行恢復(fù);存儲(chǔ)文件F'en,根據(jù) Ф'重新計(jì)算 DBMHT 得到 H (R'b),并重構(gòu) FMHT得到H (R'f);NS將H (R'f)通過(guò)簽名返回給C與 H(R'f)進(jìn)行驗(yàn)證,如果驗(yàn)證成功,則完成更新,否則更新失敗,NS和C進(jìn)行數(shù)據(jù)恢復(fù)。

      (2)數(shù)據(jù)插入算法

      當(dāng)用戶要向CSC上增加新的存儲(chǔ)文件時(shí),需要執(zhí)行數(shù)據(jù)插入算法。插入算法和用戶第一次向CSC進(jìn)行存儲(chǔ)數(shù)據(jù)進(jìn)行初始化類(lèi)似,不同的是在已經(jīng)初始化的C和CSC端的FMHT和DBMHT插入新數(shù)據(jù)的管理節(jié)點(diǎn)。用戶要將自己的新文件F的加密文件Fen存儲(chǔ)到CSC上,其數(shù)據(jù)插入算法如下:C備份自己的FMHT和DBMHT;C將Fen進(jìn)行數(shù)據(jù)塊分割,即Fen= (b1,b2,…,bn);C計(jì)算bi的哈希值φi=H (bi),得到φi的集合 Ф= {φ1,φ2,…,φn};C構(gòu)建Fen的DBMHT得到H (Rb),并將H (Rb)作為葉子節(jié)點(diǎn)插入根為H (Rf)的FMHT,重構(gòu)FMHT得到H (R'f);C將數(shù)據(jù) {Fen,SignGen (skc,H (Rb)Ф)}發(fā)送給CSC的NS;NS對(duì)SignGen (skc,H (Rb)Ф))進(jìn)行驗(yàn)證Verify (pkc,SignGen (skc,H (Rb)Ф)),如果失敗就返回錯(cuò)誤信息,C進(jìn)行數(shù)據(jù)恢復(fù),否則進(jìn)行下一步;NS根據(jù)Ф驗(yàn)證Fen的數(shù)據(jù)完整性,如果驗(yàn)證失敗,則更新失敗,C進(jìn)行數(shù)據(jù)恢復(fù),否則進(jìn)行下一步;NS備份FMHT和DBMHT,以備更新失敗進(jìn)行恢復(fù);NS保存Fen,根據(jù)Ф構(gòu)建DBMHT得到 H (R'b),然后再將 H (R'b)以和C相同的方式插入自己的FMHT,重構(gòu)FMHT得到新的H(R'f)。NS將 H (R'f)通過(guò)簽名返回給 C與 H (R'f)進(jìn)行驗(yàn)證,如果驗(yàn)證成功,則完成更新,否則更新失敗,NS和C進(jìn)行數(shù)據(jù)恢復(fù)。

      (3)數(shù)據(jù)刪除算法

      用戶可以對(duì)CSC上的數(shù)據(jù)進(jìn)行刪除算法,以文件為單位進(jìn)行處理。該刪除算法包含兩種處理方法:一是邏輯刪除;二是物理刪除。邏輯刪除并不會(huì)刪除存儲(chǔ)到CSC上數(shù)據(jù)塊,而是在FMHT和DBMHT上的相關(guān)節(jié)點(diǎn)的標(biāo)志位“1”修改為 “0”,表示為無(wú)效節(jié)點(diǎn);在必要的時(shí)候還可以將邏輯刪除的文件恢復(fù)。物理刪除則會(huì)將存儲(chǔ)到CSC上的數(shù)據(jù)塊釋放,被刪除文件的DBMHT也會(huì)釋放,而FMHT中的相關(guān)節(jié)點(diǎn)的標(biāo)志位 “1”修改為 “0”,或者會(huì)重構(gòu)FMHT。

      3.3 用戶數(shù)據(jù)驗(yàn)證算法

      用戶將數(shù)據(jù)存儲(chǔ)到CSC,為保證存儲(chǔ)數(shù)據(jù)的安全性僅對(duì)用戶透明,用戶可以隨時(shí)驗(yàn)證存儲(chǔ)數(shù)據(jù)的安全性。但可能存在的數(shù)據(jù)安全威脅主要來(lái)自于兩個(gè)方面:一是云存儲(chǔ)系統(tǒng)自身的安全脆弱性;二是傳輸網(wǎng)絡(luò)存在的安全脆弱性。在所設(shè)計(jì)的框架中,用戶要實(shí)現(xiàn)對(duì)數(shù)據(jù)的完整性驗(yàn)證,前提是能夠判斷第一個(gè)威脅是否產(chǎn)生,就是CSC對(duì)用戶存儲(chǔ)數(shù)據(jù)進(jìn)行驗(yàn)證。具體來(lái)說(shuō),CSC的NS可以通過(guò)一定的心跳頻率來(lái)驗(yàn)證用戶存儲(chǔ)的數(shù)據(jù)是否完整,如果有某個(gè)數(shù)據(jù)塊丟失或者受到篡改,則通過(guò)計(jì)算數(shù)據(jù)塊的哈希值來(lái)重構(gòu)DBMHT和FMHT。在任何時(shí)候,用戶只要驗(yàn)證NS的FMHT就可以實(shí)現(xiàn)數(shù)據(jù)完整性驗(yàn)證。

      NS上對(duì)某一用戶數(shù)據(jù)的心跳驗(yàn)證算法如下:NS獲得用戶存儲(chǔ)文件 Fen的數(shù)據(jù)塊b'i,計(jì)算其哈希值 φ'i=H (b'i);NS查詢自己的DBMHT的bi的哈希值φi=H (bi);NS比較φ'i和φi,如果相等,則查詢下一數(shù)據(jù)塊,否則數(shù)據(jù)塊bi受到了破壞,記錄塊號(hào)i和哈希值φ'i以及相應(yīng)的文件標(biāo)識(shí)符FID記錄到用戶數(shù)據(jù)日志UserDataLog,繼續(xù)查詢下一塊;根據(jù)記錄的錯(cuò)誤數(shù)據(jù)塊重構(gòu)DBMHT和FMHT。

      用戶通過(guò)C對(duì)數(shù)據(jù)的驗(yàn)證算法如下:C提出查詢NS的FMHT根Rf的請(qǐng)求chal(Rf);C對(duì)chal(Rf)進(jìn)行簽名SignGen (skc,chal(Rf)),并將該簽名發(fā)給 NS;NS對(duì)C的簽名進(jìn)行驗(yàn)證 Verify (pkc,SignGen (skc,chal(Rf))),如果驗(yàn)證失敗,請(qǐng)求C進(jìn)行重發(fā),否則繼續(xù);NS根據(jù)C的查詢請(qǐng)求chal(Rf)對(duì)用戶存儲(chǔ)在NS上的FMHT根的哈希值 H (R'f)進(jìn)行簽名SignGen (skcsc,H (R'f)),并將該簽名發(fā)送給C;C對(duì)NS的簽名進(jìn)行驗(yàn)證Verify(pkcsc,SignGen (skcsc,H (R'f))),如果驗(yàn)證失敗,請(qǐng)求 NS進(jìn)行重發(fā),否則繼續(xù);C將H (R'f)與自己的FMHT根的哈希值H (Rf)進(jìn)行比較,如果相等,則驗(yàn)證成功,否則驗(yàn)證失敗,進(jìn)行下一步錯(cuò)誤定位;C向NS發(fā)出查詢用戶存儲(chǔ)在NS上的所有DBMHT根Rb的請(qǐng)求chal(Rb);NS根據(jù)FLL獲得要查詢的所有Rb哈希值 Ω'= {H (f'1),H (f'2),…,H (f'n)},并對(duì) Ω'進(jìn)行簽 名 SignGen (skcsc,Ω')發(fā)給C;C對(duì)NS的簽名進(jìn)行驗(yàn)證Verify(pkcsc,SignGen(skcsc,Ω')),如果驗(yàn)證失敗,請(qǐng)求NS進(jìn)行重發(fā),否則繼續(xù);C將 Ω'與自己的 Ω= {H (f1),H (f2),…,H(fn)}進(jìn)行比較,找到錯(cuò)誤文件Fi進(jìn)行更新。

      4 安全性與性能分析

      4.1 安全性分析

      在云存儲(chǔ)系統(tǒng)中,用戶通過(guò)C以租賃空間的方式將數(shù)據(jù)存儲(chǔ)到云存儲(chǔ)服務(wù)供應(yīng)商的CSC上。用戶數(shù)據(jù)可能遭遇的安全威脅主要來(lái)自于兩個(gè)方面:一是CSC系統(tǒng)自身的安全脆弱性導(dǎo)致拜占庭將軍失敗問(wèn)題,或者CSC系統(tǒng)因不可信而對(duì)用戶數(shù)據(jù)蓄意偷窺或篡改;另一方面是來(lái)自第三方對(duì)CSC系統(tǒng)和數(shù)據(jù)惡意攻擊導(dǎo)致用戶數(shù)據(jù)遭受泄漏、篡改或破壞。規(guī)避以上安全威脅的主要方法是確保數(shù)據(jù)的機(jī)密性和完整性。機(jī)密性保證可以基于數(shù)學(xué)難題的密碼技術(shù)來(lái)保證,而數(shù)據(jù)完整性可以根據(jù)哈希函數(shù)的單向不可逆性以及和非對(duì)稱(chēng)密碼技術(shù)結(jié)合而成的數(shù)字簽名技術(shù)實(shí)現(xiàn)。然而,最終確保用戶數(shù)據(jù)安全性在于基于以上技術(shù)設(shè)計(jì)C與CSC之間信任模型[16]。

      C與CSC之間的信任模型有兩種:一是文獻(xiàn) [7]等提出的第三方驗(yàn)證的層次信任模型;另一種就是無(wú)需第三方的對(duì)等信任模型。根據(jù)信任模型原理,信任本身存在安全風(fēng)險(xiǎn),而風(fēng)險(xiǎn)的大小取決于信任鏈的長(zhǎng)度,信任鏈越長(zhǎng)安全風(fēng)險(xiǎn)越大。設(shè)TP表示第三方,那么基于第三方驗(yàn)證的層次信任模型的信任鏈為:C→TP→CSC,且CSC→TP→C。

      而無(wú)第三方驗(yàn)證的對(duì)等信任模型的信任鏈為:C→CSC,且CSC→C。

      顯然,采用對(duì)等信任模型的安全風(fēng)險(xiǎn)更小。在所設(shè)計(jì)的安全框架中,采用用戶直接參與云端的用戶數(shù)據(jù)安全管理,以實(shí)現(xiàn)數(shù)據(jù)管理對(duì)用戶透明。首先,在用戶身份與數(shù)據(jù)源認(rèn)證方面,證書(shū)管理器生成證書(shū),并完成C到CSC的證書(shū)交換,建立C與CSC之間的對(duì)等模型的信任關(guān)系。分發(fā)給對(duì)方的證書(shū)中包含著各自產(chǎn)生的非對(duì)稱(chēng)密鑰的公鑰,以實(shí)現(xiàn)在C與CSC之間的通信中完成數(shù)據(jù)源認(rèn)證。其次,用戶采用現(xiàn)代密碼學(xué)技術(shù)將文件以加密方式存儲(chǔ)到云端,用戶文件的安全管理僅向用戶透明,無(wú)需第三方參與,從而保證了用戶數(shù)據(jù)的機(jī)密性。此外,在用戶數(shù)據(jù)完整性驗(yàn)證方面,框架中的FMHT和DBMHT是用戶存儲(chǔ)數(shù)據(jù)的哈希散列值構(gòu)造樹(shù),通過(guò)對(duì)樹(shù)中的根或其它節(jié)點(diǎn)的數(shù)據(jù)驗(yàn)證,可以判斷用戶存儲(chǔ)在云端的數(shù)據(jù)是否安全。

      框架中的C與CSC之間所構(gòu)成的對(duì)等信任關(guān)系屬于對(duì)等信任模型中以CSC為中心的簡(jiǎn)單星型對(duì)等模型,C與CSC之間的自認(rèn)證關(guān)系簡(jiǎn)單,尚不會(huì)引起死鎖和抖動(dòng)。

      4.2 性能分析

      對(duì)該框架的系統(tǒng)性能分析主要考慮算法的時(shí)間開(kāi)銷(xiāo),這將取決于用戶Merkle哈希樹(shù)的規(guī)模和數(shù)據(jù)驗(yàn)證失敗的概率,即CSC和傳輸鏈路使用戶數(shù)據(jù)出現(xiàn)了錯(cuò)誤。

      每次用戶進(jìn)行數(shù)據(jù)完整性驗(yàn)證時(shí),只需要驗(yàn)證用戶存儲(chǔ)在云端的FMHT的根哈希是否正確,如果正確,則其時(shí)間復(fù)雜度僅為O(1);如果用戶驗(yàn)證存儲(chǔ)在云端的FMHT的根哈希不正確,則需要進(jìn)一步查找出錯(cuò)誤文件,并對(duì)文件進(jìn)行更新,將會(huì)花費(fèi)更多的時(shí)間開(kāi)銷(xiāo)。

      完全二叉樹(shù)的性質(zhì):一個(gè)有n個(gè)節(jié)點(diǎn)的完全二叉樹(shù),其葉子節(jié)點(diǎn)數(shù)為

      在設(shè)計(jì)的框架中,采用三叉鏈表的存儲(chǔ)結(jié)構(gòu),可以快速查詢父節(jié)點(diǎn),對(duì)有n個(gè)節(jié)點(diǎn)的FMHT或DBMHT,構(gòu)建和更新FMHT或DBMHT的時(shí)間復(fù)雜度分別為O(log2n);查找葉子節(jié)點(diǎn)的時(shí)間復(fù)雜度是O (n),根據(jù)上面的性質(zhì),采用DBLL和FLL不能改變查找葉子節(jié)點(diǎn)的時(shí)間復(fù)雜度,但可以將其時(shí)間頻率降低一半。

      總之,將以上分析結(jié)果與文獻(xiàn) [8]中所提方案相比,雖然在時(shí)間復(fù)雜度方面相似,但由于采用兩級(jí)Merkle哈希樹(shù)設(shè)計(jì),以及設(shè)計(jì)DBLL和FLL對(duì)葉子節(jié)點(diǎn)進(jìn)行查找,在算法執(zhí)行的時(shí)間頻率上有了很大的提高。

      5 結(jié)束語(yǔ)

      所設(shè)計(jì)的框架是采用基于現(xiàn)代密碼學(xué)和數(shù)字簽名技術(shù)的對(duì)等信任模型以實(shí)現(xiàn)用戶數(shù)據(jù)在云存儲(chǔ)系統(tǒng)上的安全管理,消除了采用層次信任模型的不可信第三方審計(jì)帶來(lái)的安全風(fēng)險(xiǎn),給出了用戶對(duì)云端數(shù)據(jù)的主要管理算法,但沒(méi)有考慮如何在不同用戶之間實(shí)現(xiàn)文件共享??蚣苤胁捎脙杉?jí)Merkle哈希樹(shù)來(lái)實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)的安全性驗(yàn)證,當(dāng)用戶數(shù)據(jù)量增大時(shí)能夠?qū)崿F(xiàn)更加高效的計(jì)算。該框架的客戶端需要有一定的計(jì)算能力,能夠?qū)崿F(xiàn)哈希運(yùn)算和構(gòu)建Merkle哈希樹(shù)等功能,在計(jì)算能力較弱的移動(dòng)設(shè)備上應(yīng)用還存在局限性。未來(lái)的研究可以在該框架的基礎(chǔ)上進(jìn)一步研究不同用戶之間實(shí)現(xiàn)文件共享,以實(shí)現(xiàn)向移動(dòng)計(jì)算上遷移;并進(jìn)一步研究共享所帶來(lái)的認(rèn)證復(fù)雜性。

      [1]LI Chuanyou,WANG Yun.State synchronization for new member join in Byzantine-tolerant environments [J].Journal of Southeast University (Natural Science Edition),2010,40(1):23-28 (in Chinese).[李傳佑,汪蕓.拜占庭環(huán)境下新成員加入容錯(cuò)組狀態(tài)同步 [J].東南大學(xué)學(xué)報(bào) (自然科學(xué)版),20100,40 (1):23-28.]

      [2]Aterniese G,Burns R,Curtmola R,et al.Provable data possession at untrusted stores [C]//ACM Conference on Computer and Communications Security,2007:598-609.

      [3]Juels A,Kaliski B.PORs:Proofs of retrievability for large files[C]//ACM Conference on Computer and Communications Security,2007:584-597.

      [4]Sacham H,Waters B.Compact proofs of retrievability [G].LNCS 5350:Proceedings of Asiacrypt,2008:90-107.

      [5]Bowers K D,Juels A,Oprea A.Proofs of retrievability:Theory and Implementation [C]//Proceedings of the ACM Workshop on Cloud Computing Security,2009.

      [6]Aterniese G,Pietro R D,Mancini L V,et al.Scalable and efficient provable data possession [C]//Proc of Secure Comm,2008:1-10.

      [7]WANG C,REN K,LOU W.Ensuring data storage security in cloud computing [C]//Proc of IWQoS,2009.

      [8]WANG Q,WANG C,LI J,et al.Enabling public verifiability and data dynamics for storage security in cloud computing [G].LNCS 5789:European Symposium on Research in Computer Security,2009:355-370.

      [9]Neisse R,Holling D,Pretschner A.Implementing trust in cloud infrastructures [C]//11th IEEE/ACM International Conference on Cluster,Cloud and Grid Computing,2011:524-533.

      [10]KO R K L,Jagadpramana P,Mowbray M,et al.TrustCloud:A framework for accountability and trust in cloud computing[C]//Proc IEEE 2nd Cloud Forum for Practitio-ners.IEEE Computer Society,2011:1-5.

      [11]KO R K L,Jagadpramana P,Lee B S.Flogger:A file-centric logger for monitoring file access and transfers within cloud computing environments [C]//Proceedings of the 10th IEEE International Conference on Trust,Security and Privacy of Computing and Communications,2011.

      [12]HOU Qinghua,WU Yongwei,ZHENG Weimin,et al.A method on protection of user data privacy in cloud storage platform [J].Journal of Computer Research and Development,2011,48 (7):1146-1154 (in Chinese).[侯清鏵,武永衛(wèi),鄭緯民,等.一種保護(hù)云存儲(chǔ)平臺(tái)上用戶數(shù)據(jù)私密性的方法[J].計(jì)算機(jī)研究與發(fā)展,2011,48 (7):1146-1154.]

      [13]Stdaily.com.Microsoft and Google give in,because of encountering with USA Patriot Act like the dark clouds [EB/OL].[2011-08-16].http://www.stdaily.com/special/node_7171.htm (in Chinese).[中國(guó)科技網(wǎng).微軟谷歌相繼屈膝 美愛(ài)國(guó)者法案陰 “云”籠罩 [EB/OL].[2011-08-16].http://www.stdaily.com/special/node_7171.htm.]

      [14]LIU Peng.Cloud computin [M].2nd ed.Beijing:Publishing House of Electronics Industry,2011:5-6 (in Chinese).[劉鵬.云計(jì)算 [M].2版.北京:電子工業(yè)出版社,2011:5-6.].

      [15]Decandia G,Hastorun D,Jampani M,et al.Dynamo:Amazons highly available key-value store [C]//Proceedings of twenty-first ACM SIGOPS Symposium on Operating Systems Principles,2007.

      [16]ZHAO Tiezhu,MEI Denghua.Multi-factor dynamic trust model based on P2Pnetwork [J].Computer Engineering and Design,2009,30 (3):569-575 (in Chinese).[趙鐵柱,梅登華.基于P2P網(wǎng)絡(luò)的多因子動(dòng)態(tài)信任模型 [J].計(jì)算機(jī)工程與設(shè)計(jì),20090,30 (3):569-575.]

      猜你喜歡
      管理器哈希證書(shū)
      WJCI 收錄證書(shū)
      CSCD收錄證書(shū)
      草原與草坪(2022年1期)2022-05-11 10:44:40
      收錄證書(shū)
      應(yīng)急狀態(tài)啟動(dòng)磁盤(pán)管理器
      收錄證書(shū)
      Windows文件緩沖處理技術(shù)概述
      基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
      基于維度分解的哈希多維快速流分類(lèi)算法
      高集成度2.5A備份電源管理器簡(jiǎn)化鋰離子電池備份系統(tǒng)
      快速導(dǎo)出QQ群消息
      電腦迷(2014年2期)2014-04-29 19:21:13
      亳州市| 太康县| 玉环县| 许昌市| 嘉荫县| 呼图壁县| 永和县| 壶关县| 金寨县| 鹤岗市| 义乌市| 濮阳市| 乌苏市| 故城县| 康保县| 磐安县| 永安市| 兰考县| 通州区| 称多县| 萨嘎县| 博爱县| 同江市| 嘉峪关市| 都兰县| 达州市| 大方县| 惠州市| 南江县| 南投市| 芦山县| 云霄县| 长垣县| 钟祥市| 汤阴县| 渑池县| 安仁县| 淳安县| 北安市| 吕梁市| 涟水县|