国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向公有云的數(shù)據(jù)完整性公開審計(jì)方案

2018-11-22 09:37:54繆俊敏馮朝勝
計(jì)算機(jī)應(yīng)用 2018年10期
關(guān)鍵詞:樹結(jié)構(gòu)哈希證據(jù)

繆俊敏,馮朝勝,2,李 敏,劉 霞

(1.四川師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,成都 610101; 2.電子科技大學(xué) 信息與軟件工程學(xué)院,成都 610054)(*通信作者電子郵箱csfenggy@126.com)

0 引言

云存儲(chǔ)已引起學(xué)術(shù)界以及其他各行各業(yè)的廣泛關(guān)注,但這種新的數(shù)據(jù)存儲(chǔ)模式也帶來了許多安全挑戰(zhàn)[1],其中之一就是如何確保在半可信服務(wù)器上的用戶數(shù)據(jù)完整性。數(shù)據(jù)審計(jì)是確保云數(shù)據(jù)完整性的重要方法,現(xiàn)有方案分為公開審計(jì)和私有審計(jì)兩大類。私有審計(jì)因?yàn)橛蓴?shù)據(jù)所有者負(fù)責(zé),故不存在隱私泄漏給第三方審計(jì)者(Third Party Audit, TPA)的問題,不足是審計(jì)時(shí)要求數(shù)據(jù)所有者在線且需要消耗其主機(jī)資源;而公開審計(jì)無需數(shù)據(jù)所有者在線且不會(huì)占用其資源,但需考慮數(shù)據(jù)泄漏給第三方的問題。另外,由于用戶及TPA都未保存原數(shù)據(jù),所以需要一個(gè)有效的方法判斷審計(jì)過程中云存儲(chǔ)服務(wù)器(Cloud Storage Server, CSS)是否按照要求計(jì)算返回對(duì)應(yīng)數(shù)據(jù)塊的相關(guān)數(shù)據(jù)。

本文基于MHT-PA(Merkle Hash Tree-Public Auditing)方案[2-3]提出了一種面向公有云的數(shù)據(jù)完整性公開審計(jì)方案,該方案在支持動(dòng)態(tài)更新和批量審計(jì)的基礎(chǔ)下實(shí)現(xiàn)了針對(duì)第三方審計(jì)者的隱私保護(hù),并避免了針對(duì)CSS的替代攻擊。

1 相關(guān)研究

Deswarte等[4]在2003年提出了第一個(gè)基于RSA(Rivest-Shamir-Adleman)的遠(yuǎn)程數(shù)據(jù)審計(jì)方案,幾年后,Ateniese等[5]使用同態(tài)可驗(yàn)證標(biāo)簽技術(shù)[6]首次提出支持公開審計(jì)的可證明數(shù)據(jù)持有(Provable Data Possession, PDP)方案并在文獻(xiàn)[7]中進(jìn)行改進(jìn),提出了可擴(kuò)展PDP模型,以支持動(dòng)態(tài)操作;但該方案并不支持?jǐn)?shù)據(jù)塊插入。次年,Erway等[8]首次探索動(dòng)態(tài)PDP方案架構(gòu),提出了基于等級(jí)的認(rèn)證跳表(Rank-based Authenticated Skip List, RASL)概念,并在之前的可擴(kuò)展PDP模型基礎(chǔ)上廢除了標(biāo)簽索引信息以實(shí)現(xiàn)支持包括數(shù)據(jù)插入的完全數(shù)據(jù)更新操作的PDP方案;但該方案不支持批量審計(jì)和數(shù)據(jù)隱私保護(hù)。由于PDP方案僅支持驗(yàn)證數(shù)據(jù)的完整性,不能保證數(shù)據(jù)的可恢復(fù)性。Juels等[9]提出了一個(gè)專注于大文件靜態(tài)存儲(chǔ)的可恢復(fù)證明(Proof of Retrievability, PoR)方案,但挑戰(zhàn)次數(shù)有限。Shacham等利用BLS(Boneh、 Lynn和Shacham)簽名[10]在文獻(xiàn)[11]中提出了一個(gè)支持公開審計(jì)的緊湊PoR方案,但該方案同樣只支持靜態(tài)數(shù)據(jù)且容易泄露用戶隱私信息。

Wang等利用同態(tài)可驗(yàn)證標(biāo)簽技術(shù)和數(shù)據(jù)分段技術(shù)先后在文獻(xiàn)[2,12-13]中引入TPA提出了云數(shù)據(jù)完整性公開審計(jì)方案,以克服以上方案的不足,他們?cè)谖墨I(xiàn)[12]中提出了在分布式情況下考慮動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)且能定位錯(cuò)誤數(shù)據(jù)的云存儲(chǔ)安全性方案;后在文獻(xiàn)[2]中引進(jìn)Merkle哈希樹(Merkle Hash Tree, MHT)提出了新的改進(jìn)方案,其可應(yīng)用在PDP或PoR方案中,支持完全數(shù)據(jù)更新操作,且TPA能高效進(jìn)行數(shù)據(jù)完整性批量審計(jì),但該方案引入了新的隱私泄漏問題。雖然文獻(xiàn)[13-14]利用同態(tài)密鑰隨機(jī)掩碼技術(shù)解決了此問題,但本文中的哈希值混淆法在解決問題的基礎(chǔ)上減少了對(duì)應(yīng)審計(jì)階段的TPA計(jì)算量。文獻(xiàn)[15]在文獻(xiàn)[2]基礎(chǔ)上通過改進(jìn)MHT實(shí)現(xiàn)了支持細(xì)粒度更新數(shù)據(jù)的功能,文獻(xiàn)[16]則將多個(gè)副本的MHT合并成一個(gè)MHT以提高效率;但這些方案都會(huì)帶來CSS在數(shù)據(jù)不完整的情況下仍可偽造應(yīng)答證據(jù)欺騙審計(jì)的安全問題,本文利用基于MHT的覆蓋樹加強(qiáng)了審計(jì)過程,避免了半可信的CSS發(fā)起此偽造攻擊。

2 MHT-PA方案

2.1 方案概要

MHT-PA方案[2]如圖1所示??蛻舳耸紫葘⑽募A(yù)處理后化分成多個(gè)數(shù)據(jù)分塊,對(duì)每一個(gè)數(shù)據(jù)分塊進(jìn)行簽名得到簽名集合,再創(chuàng)建一棵Merkle哈希樹,并對(duì)根節(jié)點(diǎn)簽名。最后將原文件、簽名集合、根節(jié)點(diǎn)簽名值及一些附加信息一并存入CSS??蛻舳俗隽藢徲?jì)委托后當(dāng)TPA需要審計(jì)時(shí),由TPA選取部分?jǐn)?shù)據(jù)塊,并為每個(gè)數(shù)據(jù)塊選取一個(gè)隨機(jī)數(shù),組成一個(gè)挑戰(zhàn)請(qǐng)求發(fā)送給CSS。CSS收到挑戰(zhàn)請(qǐng)求之后通過塊索引找到相應(yīng)數(shù)據(jù)塊及其標(biāo)簽,計(jì)算出證據(jù)返回給TPA。TPA隨后驗(yàn)證收到的證據(jù)從而判斷云數(shù)據(jù)的完整性。

圖1 MHT-PA方案基礎(chǔ)架構(gòu)Fig. 1 Basic architecture of MHT-PA

其方案具體實(shí)現(xiàn)過程如下:

構(gòu)建雙線性映射e:G×G→GT,其中G和GT是乘法循環(huán)群,生成元為g,大素?cái)?shù)階為p,令一個(gè)映射到G的散列函數(shù)H(·):{0,1}*→G,一個(gè)映射成定長(zhǎng)字符串的散列函數(shù)h(·)。

1)初始化階段。客戶端首先將文件F預(yù)處理后化分成n個(gè)數(shù)據(jù)分塊mi(i∈[1,n]),其中mi∈Zp。選擇一個(gè)隨機(jī)數(shù)α∈Zp,并計(jì)算出υ←gα,再另外隨機(jī)選擇一對(duì)簽名公私鑰(spk,ssk),形成最終的公私鑰對(duì),其中私鑰為sk=(α,ssk),公鑰為pk=(υ,spk)。在G中隨機(jī)選擇一個(gè)元素u,結(jié)合文件名name,文件塊數(shù)n及對(duì)其的簽名得到文件標(biāo)簽t=(name‖n‖u‖ssigssk(name‖n‖u)),對(duì)文件的每個(gè)數(shù)據(jù)塊進(jìn)行簽名σi=(H(mi)·umi)α,得到文件簽名集φ={σi|1≤i≤n}。同時(shí)創(chuàng)建以{h(H(mi))|1≤i≤n}為葉子節(jié)點(diǎn)的MHT,用私鑰α對(duì)根節(jié)點(diǎn)R進(jìn)行簽名得到sigR=(H(R))α。最后,客戶端將{F,t,φ,sigR}發(fā)送給CSS,并將本地存儲(chǔ)刪除。

2.2 方案的不足

MHT-PA方案支持第三方公開審計(jì)協(xié)議以及完全動(dòng)態(tài)數(shù)據(jù)更新操作,用戶利用私鑰對(duì)數(shù)據(jù)塊進(jìn)行簽名后,TPA利用公鑰即可完成審計(jì)工作。相對(duì)于Juels等[9]提出的方案,該方案的驗(yàn)證次數(shù)不受限制。方案中使用的簽名標(biāo)簽具有同態(tài)特性,使得云服務(wù)器生成證據(jù)時(shí),能夠?qū)⒍鄠€(gè)值聚合成一個(gè)值,從而減少通信開銷。但是MHT-PA方案存在兩個(gè)問題:一方面由于MHT-PA方案沒考慮數(shù)據(jù)的隱私保護(hù),用戶的隱私信息可能會(huì)泄漏給TPA;另一方面,為了支持完全動(dòng)態(tài)數(shù)據(jù)操作,去除了文獻(xiàn)[9]和文獻(xiàn)[11]方案中簽名的索引信息,用H(mi)替換h(v‖i)和H(name‖i),使得TPA不能通過自身保存的索引號(hào){s1,s2,…,sc}驗(yàn)證返回的證據(jù)正確性,因而云存儲(chǔ)服務(wù)端由于各種原因可以不按要求,而根據(jù)已有數(shù)據(jù)偽造應(yīng)答證據(jù),而偽證據(jù)不能被MHT-PA方案的審計(jì)策略所識(shí)別,依然能通過驗(yàn)證。

2.2.1 泄漏用戶隱私

半可信的TPA對(duì)相同的數(shù)據(jù)塊發(fā)起多次審計(jì)請(qǐng)求后會(huì)收到CSS返回的多條審計(jì)證據(jù),通過分析并處理這些證據(jù)信息可以恢復(fù)出用戶的數(shù)據(jù)信息,具體過程分析如下。

(1)

由于方程(1)的系數(shù)行列式不重復(fù)且不為零,TPA可以通過拉格朗日插值法或高斯消元法計(jì)算得到{mx1,mx2,…,mxc}的值,從而獲取用戶信息,致使用戶數(shù)據(jù)信息不安全。

2.2.2 CSS證據(jù)替代

MHT-PA方案中,TPA自身保存的索引號(hào)失去了驗(yàn)證CSS返回?cái)?shù)據(jù)正確性的作用后,數(shù)據(jù)塊信息mi在脫離原始文件后也不再為用戶所知,而用戶和TPA都未保存,且TPA也不能獲取mi,無法計(jì)算出H(mi),因此必須交由CSS計(jì)算,且沒有一種有效的方式驗(yàn)證其是否按正確的順序返回正確的H(mi)。在源文件增、刪、改后,所創(chuàng)建MHT的樹結(jié)構(gòu)不一定為簡(jiǎn)單的滿二叉樹且用戶和第三方都未保存,只能由CSS返回。然而,半可信的云服務(wù)提供商可以利用這些優(yōu)勢(shì)操控MHT以及H(mi)和mi,用其他數(shù)據(jù)塊作替代,偽造證據(jù)欺騙驗(yàn)證者。

假設(shè)CSS保存的文件MHT如圖2所示。TPA想要通過驗(yàn)證數(shù)據(jù)塊m1和m2來檢查文件的完整性。若文件完整且云存儲(chǔ)服務(wù)端正常返回,則順利通過驗(yàn)證并返回TRUE,但當(dāng)云存儲(chǔ)服務(wù)端中m1和m2數(shù)據(jù)不完整或其他某種原因時(shí),便可用已有的正確數(shù)據(jù)如m3和m4來計(jì)算得到證據(jù)返回給驗(yàn)證者TPA。

圖2 文件的MHT示例Fig.2 Example of MHT authentication of data elements

首先,若CSS正常返回,TPA通過返回的H(m3)和H(m4)以及伴隨節(jié)點(diǎn)信息h(b)和h(d)構(gòu)造出圖3(a)的樹得出正確的R通過第一步驗(yàn)證,但由于各種原因,CSS把已有的數(shù)據(jù)H(m3)和H(m4)以及伴隨節(jié)點(diǎn)信息h(b)和h(e)發(fā)送給TPA,TPA收到這些數(shù)據(jù)過后,無法判斷數(shù)據(jù)正確與否,按照CSS的想法構(gòu)造出圖3(b)的樹且同樣能得出正確的根節(jié)點(diǎn)R的值,進(jìn)而順利通過第一步驗(yàn)證:e(sigR,g)=e(H(R),gα)。

圖3 替代攻擊示例Fig. 3 Example of alternative attack

(2)

式(2)左邊:

e((H(m3)·um3)ν1·(H(m4)·um4)ν2,gα)=

e((H(m3)ν1·uν1m3)·(H(m4)ν2·uν2m4),υ)

式(2)右邊:

e(H(m3)ν1·H(m4)ν2·uμ′,υ)=

e(H(m3)ν1·H(m4)ν2·uν1m3+ν2m4,υ)=

e((H(m3)ν1·uν1m3)·(H(m4)ν2·uν2m4),υ)

可見,式(2)成立,第二步驗(yàn)證也同樣通過。因此,云存儲(chǔ)服務(wù)端通過偽造的證據(jù)成功欺騙了TPA。

3 本文公開審計(jì)方案

3.1 改進(jìn)策略

圖4 TPA和CSS所得覆蓋樹示例Fig. 4 Examples of overlay trees calculated by TPA and CSS

采取如下步驟和措施防止CSS操控MHT和H(mi)進(jìn)行審計(jì)替代:1)TPA在發(fā)起正式驗(yàn)證挑戰(zhàn)前先向CSS請(qǐng)求壓縮后的文件MHT樹結(jié)構(gòu)。解壓后簡(jiǎn)單判斷樹的葉子節(jié)點(diǎn)數(shù)與文件數(shù)據(jù)塊數(shù)目是否相等,若不等則直接返回FALSE。2)根據(jù)文件的MHT樹結(jié)構(gòu)選取要驗(yàn)證的數(shù)據(jù)塊,由這些數(shù)據(jù)塊序號(hào)和MHT樹結(jié)構(gòu)得到覆蓋樹(即能從所選葉子節(jié)點(diǎn)出發(fā)由下往上涉及最少節(jié)點(diǎn)數(shù)得到根節(jié)點(diǎn)的樹,其為MHT的子結(jié)構(gòu))的樹結(jié)構(gòu)T(如圖4(a)所示)并保存待用。3)CSS接收到TPA挑戰(zhàn)請(qǐng)求后亦由這些數(shù)據(jù)塊序號(hào)和MHT得到覆蓋樹T′(如圖4(b)所示)作為證據(jù)的一部分返回。4)TPA在接收到證據(jù)后首先匹配兩棵覆蓋樹的結(jié)構(gòu),匹配成功后方才將{H(mi)|x1≤i≤xc}依次取出存儲(chǔ),并計(jì)算出對(duì)應(yīng)的{h(H(mi))|x1≤i≤xc},進(jìn)而求得R進(jìn)行下面的驗(yàn)證。

3.2 方案描述

3.2.1 初始化階段

令雙線性映射函數(shù)e:G×G→GT,其中G和GT是乘法循環(huán)群,且生成元為g,大素?cái)?shù)階為p。令H(·)是映射到G域的散列函數(shù){0,1}*→G,f(·)是映射到Zp域的單向散列函數(shù):{0,1}*→Zp,h(·)是基于安全哈希算法(Secure Hash Algorithm, SHA)的散列函數(shù)[17]。

1) 生成公私鑰對(duì)KeyGen(1k)→(sk,pk)。

由客戶端執(zhí)行,生成方案基本參數(shù)。根據(jù)輸入的安全參數(shù)1k選擇一個(gè)隨機(jī)數(shù)α∈Zp作為主私鑰,計(jì)算出公鑰υ=gα,再隨機(jī)產(chǎn)生一個(gè)附加簽名公私鑰對(duì)(spk,ssk),形成最終的私鑰sk=(α,ssk)以及公鑰pk=(υ,spk)。

2)生成同態(tài)簽名集SigGen(sk,F)→(φ,sigR)。

由客戶端執(zhí)行,生成數(shù)據(jù)塊的簽名及驗(yàn)證元數(shù)據(jù),并將其傳入CSS中存儲(chǔ)。首先將文件F用里德所羅門編碼(Reed-Solomon Codes)[18]預(yù)處理,劃分成n塊數(shù)據(jù)塊mi(i∈[1,n])∈Zp。在G中隨機(jī)選擇一個(gè)元素u,結(jié)合文件標(biāo)識(shí)FName和文件數(shù)據(jù)塊總塊數(shù)n,再用附加私鑰ssk對(duì)這三元組做簽名得到文件標(biāo)簽t=FName‖n‖u‖sigssk(FName‖n‖u)。利用私鑰α和元素u對(duì)每個(gè)數(shù)據(jù)塊mi進(jìn)行簽名得到σi=(H(mi)·u(mi f(mi)) mod p)α∈G,構(gòu)成同態(tài)簽名集合φ={σi|1≤i≤n}。構(gòu)建以數(shù)據(jù)塊哈希值{h(H(mi))|1≤i≤n}為葉子節(jié)點(diǎn)的MHT,對(duì)樹的根節(jié)點(diǎn)簽名得到sigR=(H(R))α,最后把元組{F,t,φ,sigR}發(fā)送CSS并將本地文件存儲(chǔ)刪除。

3)云存儲(chǔ)初始化CSSInit(F,t,φ,sigR)。

由CSS執(zhí)行,做相關(guān)初始化操作。接收到用戶的源文件和簽名信息等數(shù)據(jù)后,先做相應(yīng)存儲(chǔ),當(dāng)?shù)谝淮谓邮盏接脩粼鰟h改請(qǐng)求或TPA的審計(jì)請(qǐng)求時(shí)構(gòu)建以數(shù)據(jù)塊哈希值{h(H(mi))|1≤i≤n}為葉子節(jié)點(diǎn)的MHT,并將其結(jié)構(gòu)或部署策略保存。

4)審計(jì)委托AudDel(FName)。

由客戶端執(zhí)行,把需第三方審計(jì)的文件標(biāo)識(shí)告知給TPA,作審計(jì)委托。

3.2.2 審計(jì)階段

1)驗(yàn)證準(zhǔn)備PreChal(pk,t,tree)→(I,T)。

由TPA執(zhí)行,為發(fā)起正式審計(jì)挑戰(zhàn)做基礎(chǔ)檢查及相關(guān)準(zhǔn)備。TPA先向云存儲(chǔ)服務(wù)端獲取文件標(biāo)簽t以及壓縮后的MHT樹結(jié)構(gòu)tree,并用附加公鑰驗(yàn)證標(biāo)簽,若驗(yàn)證通過則取出文件塊數(shù)n及驗(yàn)證時(shí)需用的元素u。根據(jù)得到的文件結(jié)構(gòu)樹tree,判斷其根節(jié)點(diǎn)數(shù),即文件塊數(shù)是否等于n,若不等則直接返回FALSE中止審計(jì),反之分析樹結(jié)構(gòu),從數(shù)據(jù)塊索引[1,n]中選取需要驗(yàn)證的c個(gè)最優(yōu)元素,構(gòu)成有序的索引子集I={s1,s2,…,sc},其中s1≤s2≤…≤sc。根據(jù)tree及序號(hào)集I計(jì)算出覆蓋樹T(節(jié)點(diǎn)不含值)并保存。

2)發(fā)起挑戰(zhàn)StatGen(1k)→(chal)。

?OECD,Competitive Neutrality:Maintaining a level playing field between public and private business,Paris:OECD Publishing,2012,p.53.

由驗(yàn)證者TPA執(zhí)行,向CSS發(fā)起正式的審計(jì)挑戰(zhàn)。對(duì)集合I中每一個(gè)值i,選擇一個(gè)隨機(jī)數(shù)νi∈Zp,形成一個(gè)挑戰(zhàn)請(qǐng)求chal={(i,νi)|i∈I}發(fā)送給CSS。

3)生成證據(jù)ProofGen(F,φ,chal)→proof。

4)驗(yàn)證證據(jù)ProofVerify(pk,proof,T,chal)。

由TPA接收到CSS傳回來的證據(jù)后執(zhí)行,驗(yàn)證證據(jù)返回TRUE或FALSE。第一步,判斷CSS端返回的覆蓋樹T′和自身計(jì)算的覆蓋樹T的樹結(jié)構(gòu)是否相同,若有異則直接返回FALSE;反之,從覆蓋樹T′中提取{H(mi)|s1≤i≤sc}另存后,計(jì)算出{h(H(mi))|s1≤i≤sc}替換對(duì)應(yīng)值,若各葉子節(jié)點(diǎn)完整則可計(jì)算出根節(jié)點(diǎn)R。第二步,驗(yàn)證式(3)判斷根節(jié)點(diǎn)R的值是否正確,若驗(yàn)證失敗,說明返回的{H(mi)|s1≤i≤sc}數(shù)據(jù)有誤或者其他挑戰(zhàn)驗(yàn)證外的數(shù)據(jù)塊信息錯(cuò)誤,直接返回FALSE。第三步,檢驗(yàn)式(4)是否成立,其中{H(mi)|s1≤i≤sc}已在第一步中得到。

e(sigR,g)=e(H(R),gα)

(3)

(4)

3.2.3 動(dòng)態(tài)更新

本文方案支持完全動(dòng)態(tài)更新操作,由于更新操作不涉及第三方,所以不存在對(duì)TPA的隱私保護(hù)問題。方案增加修改刪除數(shù)據(jù)塊操作與MHT-PA方案相同,具體操作請(qǐng)參看文獻(xiàn)[2]。

4 安全性及性能分析

4.1 安全性分析

本文方案的安全性基于CDH問題(Computational Diffie-Hellman problem)難以求解,且經(jīng)過里德所羅門編碼后的文件可以在可忽略不計(jì)的差錯(cuò)下恢復(fù)出原始文件,以上兩點(diǎn)在文獻(xiàn) [2] 中已經(jīng)證明,由于篇幅所限,本文不再贅述具體證明過程。本文方案的正確性及安全性,主要提供兩方面的證明:1)TPA在審計(jì)云數(shù)據(jù)過程中無法獲取或分析得到用戶數(shù)據(jù)信息;2)CSS無法用其他手段偽造證據(jù)欺騙TPA。

定理1 基于所提出的公開審計(jì)方案,TPA在審計(jì)云數(shù)據(jù)過程中無法獲取或分析得到用戶數(shù)據(jù)信息。

(5)

由于TPA未從云服務(wù)端獲取f(mi),也不能從已知信息中提取出f(msc),所以不能通過方程組(5)恢復(fù)出具體的{ms1,ms2,…,msc},從而保護(hù)了用戶隱私。

定理2 所提出的公開審計(jì)方案能防止CSS進(jìn)行替代攻擊。

證明 CSS不能通過已保存的數(shù)據(jù)塊替代所要求的數(shù)據(jù)塊,偽造出能通過第三方審計(jì)的應(yīng)答證據(jù)。假設(shè)文件經(jīng)過客戶端數(shù)據(jù)增刪改更新操作請(qǐng)求并執(zhí)行后的MHT結(jié)構(gòu)如圖5所示,CSS無法重建一棵擁有相同節(jié)點(diǎn)數(shù)、相同根節(jié)點(diǎn)值且滿足任意數(shù)據(jù)塊組合挑戰(zhàn)的MHT,只得把正確的MHT樹結(jié)構(gòu)發(fā)送給TPA。

圖5 更新過的文件MHT示例Fig. 5 Example of modified MHT

表1 云數(shù)據(jù)完整性審計(jì)方案的對(duì)比Tab. 1 Comparison of different remote data integrity checking schemes

TPA得到MHT樹結(jié)構(gòu)后,想要通過驗(yàn)證m3、m4和m6數(shù)據(jù)塊判斷文件完整性,并得出如圖6的覆蓋樹樹結(jié)構(gòu)T。當(dāng)收到TPA審計(jì)挑戰(zhàn)請(qǐng)求后,CSS必須返回同T結(jié)構(gòu)的覆蓋樹T′。基于SHA不會(huì)將不同字符串哈希成相同結(jié)果的假設(shè),CSS必須得擁有正確的H(m3)、H(m4)和H(m6)且按正確的順序返回才能讓TPA計(jì)算出對(duì)應(yīng)正確的節(jié)點(diǎn)h(H(m3))、h(H(m4))和h(H(m6)),且h(c)和h(d)合并計(jì)算出的哈希值與h(d)和h(c)合并計(jì)算出的哈希值不一樣,避免對(duì)稱值替代攻擊。結(jié)合T′中伴隨節(jié)點(diǎn)h(c)、h(H(m5))和h(e)的正確值,才能從下至上計(jì)算出正確的根節(jié)點(diǎn)值,使得e(sigR,g)=e(H(R),gα)通過第二步驗(yàn)證。證明過程如下:

e(sigR,g)=e(H(R)α,g)=e(H(R),gα)

(6)

圖6 安全性分析中覆蓋樹示例Fig. 6 Example of overlay tree in security analysis

基于SHA不會(huì)將不同字符串哈希成相同結(jié)果的假設(shè),且h(c)和h(d)合并計(jì)算出的哈希值與h(d)和h(c)合并計(jì)算出的哈希值不一樣,不支持交換,所以保障了H(mi)順序正確,也防止了對(duì)稱值替代。

4.2 性能分析

通過分析本文方案與現(xiàn)有幾種具備代表性的云數(shù)據(jù)完整性審計(jì)方案,對(duì)比了其特征及性能,其中檢測(cè)率表示對(duì)于出錯(cuò)率為θ的文件,抽樣審計(jì)c個(gè)數(shù)據(jù)塊,至少一個(gè)數(shù)據(jù)塊被檢測(cè)到的概率為1-(1-θ)c。結(jié)果如表1所示。

從表1中可知,本文方案在支持公開審計(jì)和完全動(dòng)態(tài)數(shù)據(jù)更新操作的基礎(chǔ)上,更具隱私保護(hù)和防止CSS替代攻擊特征,在計(jì)算開銷、通信開銷和存儲(chǔ)開銷的性能上,與大多方案具有相同復(fù)雜度數(shù)量級(jí),即相似的性能。

5 實(shí)驗(yàn)結(jié)果分析

本文方案在理論分析的基礎(chǔ)上進(jìn)行了仿真測(cè)試實(shí)驗(yàn)。操作系統(tǒng)為macOS 10.13.1,處理器為2.7 GHz Intel Core i5,8 GB 1 867 MHz DDR3存儲(chǔ)器的環(huán)境下利用python語言實(shí)現(xiàn),相關(guān)密碼運(yùn)算基于pythia-pyrelic三方庫(kù)[19],采用Barreto Naehrig 曲線[20]和SHA256哈希算法,以80比特安全參數(shù)及256比特曲線大素?cái)?shù)階為基礎(chǔ)參數(shù),所有測(cè)試結(jié)果均為18次實(shí)驗(yàn)的平均值。

本文選擇了MHT-PA方案和文獻(xiàn)[15]方案與本文方案做對(duì)比實(shí)驗(yàn),比較了其在相同文件下以1 024字節(jié)劃分?jǐn)?shù)據(jù)塊,挑戰(zhàn)驗(yàn)證不同數(shù)據(jù)塊數(shù)目的計(jì)算開銷與通信開銷。不同挑戰(zhàn)驗(yàn)證塊數(shù)下三種方案的CSS計(jì)算時(shí)間和TPA計(jì)算時(shí)間如圖7所示。從圖7可看出,CSS和TPA的計(jì)算時(shí)間與驗(yàn)證的數(shù)據(jù)塊數(shù)目緊密相關(guān),隨著所需驗(yàn)證的數(shù)據(jù)塊數(shù)目增多,TPA和CSS的計(jì)算時(shí)間都會(huì)相應(yīng)增加。

圖7 挑戰(zhàn)驗(yàn)證不同數(shù)據(jù)塊數(shù)目下計(jì)算開銷Fig. 7 Computation costs with different verification data blocks

圖8表示同樣大小的文件在驗(yàn)證不同數(shù)據(jù)塊數(shù)目下的通信開銷,由圖8可知,本文方案相比另外兩種方案增加了一些通信開銷,此即為挑戰(zhàn)前TPA向CSS所請(qǐng)求的一個(gè)樹結(jié)構(gòu)。從整體角度看,這個(gè)開銷可忽略不計(jì)。

圖8 挑戰(zhàn)驗(yàn)證不同數(shù)據(jù)塊數(shù)目下的通信開銷Fig. 8 Communication costs with different verification data blocks

表2 三種方案挑戰(zhàn)驗(yàn)證320和460個(gè)數(shù)據(jù)塊下的性能比較Tab. 2 Performance comparison of three schemes for verifying 320 and 460 data blocks

由于文獻(xiàn)[21]已經(jīng)證明在文件數(shù)據(jù)塊出錯(cuò)率為1%的情況下,若要達(dá)到99%或95%的驗(yàn)證準(zhǔn)確率,則隨機(jī)抽取460個(gè)或320個(gè)數(shù)據(jù)塊即可,因此本文詳細(xì)分析比較了在驗(yàn)證320個(gè)和460個(gè)數(shù)據(jù)塊下的性能,實(shí)驗(yàn)結(jié)果如圖9所示。從圖9中可知,在驗(yàn)證相同數(shù)據(jù)塊數(shù)目時(shí),本文方案的CSS計(jì)算時(shí)間略高于另外兩種方案,TPA計(jì)算時(shí)間幾乎相同,但從整體來看,三種方案計(jì)算開銷的差距可忽略不計(jì)。

圖9 挑戰(zhàn)驗(yàn)證320和460個(gè)數(shù)據(jù)塊下的計(jì)算開銷Fig. 9 Computation costs for verifying 320 and 460 data blocks

表2綜合展示了MHT-PA方案、文獻(xiàn)[15]方案與本文方案在95%和99%的驗(yàn)證準(zhǔn)確率下,即TPA分別挑戰(zhàn)驗(yàn)證320個(gè)數(shù)據(jù)塊和460個(gè)數(shù)據(jù)塊,三項(xiàng)性能指標(biāo),即TPA計(jì)算時(shí)間、CSS計(jì)算時(shí)間和通信開銷的結(jié)果對(duì)比,表中各項(xiàng)值均為18次實(shí)驗(yàn)的平均值。

綜上所述,在以TPA挑戰(zhàn)驗(yàn)證的數(shù)據(jù)塊數(shù)目為唯一變量的前提下,以上三種方案的計(jì)算開銷和通信開銷都會(huì)隨著此變量的增大而增加。在TPA驗(yàn)證相同數(shù)據(jù)塊數(shù)目下,本文方案的計(jì)算開銷和通信開銷相比另外兩種方案有些許增加,其中CSS的計(jì)算開銷增加率相對(duì)高一點(diǎn)。而當(dāng)TPA審計(jì)需達(dá)到的準(zhǔn)確率越高時(shí),本文方案的計(jì)算開銷增加率和通信開銷增加率將會(huì)越低。

6 結(jié)語

本文在MHT-PA方案基礎(chǔ)上提出了一個(gè)新的面向公有云的數(shù)據(jù)完整性公開審計(jì)方案,利用哈希值混淆方法更改了文件的同態(tài)認(rèn)證標(biāo)簽,使TPA無法從CSS返回的證據(jù)信息中計(jì)算得出用戶數(shù)據(jù)信息,從而解決了用戶隱私泄露給TPA的問題;其次,提出覆蓋樹概念,調(diào)整了審計(jì)策略,讓TPA在正式審計(jì)前先進(jìn)行基于MHT的覆蓋樹結(jié)構(gòu)匹配,解決了半可信的CSS發(fā)起替代審計(jì)攻擊的問題,通過理論和實(shí)驗(yàn)分析測(cè)試了方案的性能,驗(yàn)證了該方案的正確性和有效性。

猜你喜歡
樹結(jié)構(gòu)哈希證據(jù)
四維余代數(shù)的分類
對(duì)于家庭暴力應(yīng)當(dāng)如何搜集證據(jù)
紅土地(2016年3期)2017-01-15 13:45:22
手上的證據(jù)
“大禹治水”有了新證據(jù)
基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
手上的證據(jù)
大數(shù)據(jù)背景下基于B—樹結(jié)構(gòu)的SQL Server數(shù)據(jù)優(yōu)化策略研究
基于維度分解的哈希多維快速流分類算法
基于μσ-DWC特征和樹結(jié)構(gòu)M-SVM的多維時(shí)間序列分類
基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
谷城县| 河南省| 白朗县| 昌吉市| 吉林市| 岳西县| 灌阳县| 阳原县| 萨迦县| 九寨沟县| 昌乐县| 永宁县| 仪陇县| 白山市| 开封县| 石棉县| 甘泉县| 寻乌县| 江津市| 扎赉特旗| 台北县| 怀化市| 汝阳县| 广汉市| 江川县| 饶平县| 桂阳县| 郓城县| 正阳县| 高密市| 杂多县| 会宁县| 靖远县| 钟祥市| 广平县| 高尔夫| 梓潼县| 文成县| 家居| 平江县| 紫云|