唐 鑫,周琳娜
(國(guó)際關(guān)系學(xué)院信息科技學(xué)院,北京100091)
(?通信作者電子郵箱xtang@uir.edu.cn)
隨著大數(shù)據(jù)時(shí)代的到來(lái),云存儲(chǔ)平臺(tái)面臨海量用戶數(shù)據(jù)的存儲(chǔ)挑戰(zhàn),為了提高大數(shù)據(jù)的存儲(chǔ)和管理效率,越來(lái)越多的云服務(wù)商,諸如Dropbox、Mozy、Mega、Bitcasa 等[1-2],采用云數(shù)據(jù)去重技術(shù)來(lái)避免存儲(chǔ)冗余數(shù)據(jù),只保存用戶數(shù)據(jù)的一個(gè)副本。尤其是跨用戶去重技術(shù),將去重范圍延伸到云存儲(chǔ)平臺(tái)的所有用戶,一個(gè)用戶上傳數(shù)據(jù)之前,首先上傳對(duì)應(yīng)標(biāo)簽信息,由云服務(wù)商在本地查找所有用戶存儲(chǔ)的數(shù)據(jù),一旦發(fā)現(xiàn)相同副本,則阻斷數(shù)據(jù)上傳,并通過(guò)數(shù)據(jù)所有權(quán)驗(yàn)證機(jī)制驗(yàn)證用戶的所有權(quán)。如果驗(yàn)證通過(guò),則云服務(wù)商允許此后用戶對(duì)該數(shù)據(jù)的下載和使用。由于這種方式進(jìn)一步提高了云存儲(chǔ)平臺(tái)的存儲(chǔ)效率,因此被廣泛采用。
然而,跨用戶去重技術(shù)在節(jié)約存儲(chǔ)開(kāi)銷的同時(shí)卻使得云端數(shù)據(jù)的隱私面臨被邊信道攻擊竊取的安全風(fēng)險(xiǎn)[3]??紤]一種模板化的用戶文件存放在云端,該文件只含部分敏感數(shù)據(jù),其余部分均為公開(kāi)數(shù)據(jù)。例如某公司員工的電子工資單,包含員工姓名、工號(hào)、部門(mén)等公開(kāi)信息以及工資收入這個(gè)敏感信息。如果存在內(nèi)部員工在未經(jīng)許可的情況下想要獲知?jiǎng)e人的工資信息,他只需按照模板格式生成目標(biāo)員工的公開(kāi)信息,同時(shí)按猜測(cè)附加上工資信息,隨后上傳生成的電子工資單并觀察去重系統(tǒng)的響應(yīng)。一旦云服務(wù)商在本地發(fā)現(xiàn)相同的工資單副本,則會(huì)阻斷該員工的上傳,此時(shí)該員工就可確認(rèn)猜測(cè)的工資信息即為對(duì)應(yīng)員工的真實(shí)工資。為了應(yīng)對(duì)這種攻擊,實(shí)現(xiàn)安全的跨用戶去重,當(dāng)前許多工作分別對(duì)明文云數(shù)據(jù)[2,4-6]和密文云數(shù)據(jù)[7-11]作了大量研究。為了抵抗明文云數(shù)據(jù)跨用戶去重過(guò)程中的邊信道攻擊,現(xiàn)有解決方法大多在去重響應(yīng)中附加隨機(jī)信息,使得檢測(cè)者無(wú)法根據(jù)云服務(wù)商返回的響應(yīng)來(lái)判斷檢測(cè)文件的真實(shí)存在性。例如,如果將云端的去重響應(yīng)設(shè)定為檢測(cè)文件在云端未命中的數(shù)據(jù)塊信息,則為了混淆檢測(cè)者,可在響應(yīng)中附加部分命中塊信息,使得無(wú)論對(duì)命中文件還是未命中文件,去重響應(yīng)中包含的數(shù)據(jù)塊個(gè)數(shù)均相等。簡(jiǎn)單假定檢測(cè)文件的敏感信息均包含在一個(gè)數(shù)據(jù)塊之中,其余塊中均為公開(kāi)信息。那么,在文件檢測(cè)時(shí),如果檢測(cè)文件存在,當(dāng)次檢測(cè)出的未命中塊數(shù)應(yīng)為0;如果不存在,則未命中塊數(shù)應(yīng)為1。為了混淆檢測(cè)者,前一種情況下可在響應(yīng)中要求用戶上傳1 個(gè)隨機(jī)選定的命中塊;而在后一種情況下,則自然地要求用戶上傳未命中的敏感塊。因此,在兩種情況下,檢測(cè)者接收到的響應(yīng)中均包含1 個(gè)數(shù)據(jù)塊信息,無(wú)法通過(guò)響應(yīng)判斷所檢測(cè)文件的存在性。對(duì)密文云數(shù)據(jù)而言,當(dāng)前工作通常在密文生成過(guò)程中添加隨機(jī)信息來(lái)實(shí)現(xiàn)對(duì)邊信道攻擊的抵抗。然而,攻擊者往往可以通過(guò)女巫攻擊[12]等方式偽造身份,獲取該隨機(jī)信息,因此這類方法仍然面臨安全風(fēng)險(xiǎn)。為了實(shí)現(xiàn)密文云數(shù)據(jù)的安全去重,可行的方法應(yīng)類似明文去重,在響應(yīng)中引入不確定性。盡管這類方法能夠奏效,但它們均要求云服務(wù)商首先能夠正確地判斷出所檢測(cè)文件的存在性,這在附加塊攻擊[5]的場(chǎng)景下是難以實(shí)現(xiàn)的。在附加塊攻擊中,檢測(cè)者首先對(duì)檢測(cè)文件附加上隨機(jī)數(shù)量的非命中塊,然后將各塊標(biāo)簽信息一起上傳到云端檢測(cè)文件的存在性。顯然,無(wú)論文件的存在性如何,云服務(wù)商檢測(cè)出的未命中塊數(shù)均大于0,因此難以判斷文件的真實(shí)存在性,從而也無(wú)法在未命中文件的響應(yīng)中附加隨機(jī)塊信息,實(shí)現(xiàn)混淆檢測(cè)者的目的。
因此,本文擬解決附加塊攻擊下的云數(shù)據(jù)去重安全性問(wèn)題,在附加塊攻擊場(chǎng)景下,提出一種輕量級(jí)的抗邊信道隱私泄露安全去重方法。本文方法首次將附加塊數(shù)量作為考慮因素,對(duì)于待檢測(cè)文件,提取附加塊數(shù)量,與該文件未命中塊數(shù)比較,根據(jù)比較結(jié)果確定響應(yīng)中要求用戶上傳的塊數(shù),從而不需要基于檢測(cè)文件的存在性生成響應(yīng)。本文方法不僅實(shí)現(xiàn)了附加塊攻擊場(chǎng)景下文件存在性隱私的絕對(duì)安全性,而且所需開(kāi)銷遠(yuǎn)遠(yuǎn)低于現(xiàn)有的抗附加塊攻擊去重方法。
本文的工作主要有以下幾點(diǎn):
1)針對(duì)附加塊攻擊場(chǎng)景下去重過(guò)程中云數(shù)據(jù)存在性隱私泄露的問(wèn)題,提出一種安全的輕量級(jí)去重檢測(cè)框架。該框架使云服務(wù)商不僅能夠在未知所檢測(cè)文件真實(shí)存在性的情況下生成響應(yīng),混淆檢測(cè)者,而且能使響應(yīng)中附加的冗余信息量實(shí)現(xiàn)最小化,將開(kāi)銷控制在最低水平。
2)在本文設(shè)計(jì)的框架下,提出了一種基于響應(yīng)模糊化的輕量級(jí)去重方法。該方法基于檢測(cè)到的附加塊數(shù)量、未命中塊數(shù)量,計(jì)算要求用戶上傳的數(shù)據(jù)塊并生成響應(yīng),使得無(wú)論對(duì)命中文件還是未命中文件,響應(yīng)中包含的數(shù)據(jù)塊數(shù)量保持一致。從而,檢測(cè)者無(wú)法通過(guò)分析響應(yīng)信息判斷所檢測(cè)文件的真實(shí)存在性,實(shí)現(xiàn)了附加塊攻擊場(chǎng)景下的安全去重。
3)通過(guò)安全分析說(shuō)明了本文方法的安全性,并開(kāi)展實(shí)驗(yàn)驗(yàn)證了性能。實(shí)驗(yàn)結(jié)果表明,本文方法在實(shí)現(xiàn)附加塊攻擊場(chǎng)景下去重過(guò)程中云文件存在性隱私絕對(duì)安全性的前提下,所需開(kāi)銷顯著小于當(dāng)前最新方法;且與經(jīng)典成果相比,在開(kāi)銷相當(dāng)或少量增加的情況下,安全性顯著提高。
跨用戶云數(shù)據(jù)去重技術(shù)被廣泛用來(lái)消除云端冗余數(shù)據(jù),提高存儲(chǔ)效率。然而,攻擊者卻能夠通過(guò)去重結(jié)果,創(chuàng)建邊信道以竊取云端數(shù)據(jù)的存在性隱私。為了抵抗邊信道攻擊,Harnik 等[4]提出了一種基于隨機(jī)閾值的方法——RTS(Randomized Threshold Solution),首先為每個(gè)文件在云端分別設(shè)置一個(gè)存儲(chǔ)閾值,該值對(duì)云用戶保密且只有當(dāng)云端存放的文件數(shù)高于該閾值時(shí)才對(duì)該文件執(zhí)行去重。這樣,即使檢測(cè)者接收到的去重結(jié)果表明云端要求上傳所檢測(cè)文件,也不能說(shuō)明該文件在云端不存在,從而實(shí)現(xiàn)了對(duì)云端數(shù)據(jù)不存在隱私的保護(hù)。然而,一旦云服務(wù)商在檢測(cè)標(biāo)簽信息后阻斷了用戶對(duì)檢測(cè)文件的上傳,就說(shuō)明云端存儲(chǔ)的該文件數(shù)量達(dá)到了閾值,文件的存在性隱私就會(huì)暴露。作為改進(jìn)工作,Zuo 等[5]提出了一種基于響應(yīng)模糊化的抗邊信道攻擊去重方法——RRCS(Randomized Redundant Chunk Scheme),該方法首先要求云端正確地判斷出所檢測(cè)文件的真實(shí)存在性,再為命中文件和未命中文件分別在原響應(yīng)中附加隨機(jī)數(shù)量的命中塊信息,以確保響應(yīng)中包含的數(shù)據(jù)塊數(shù)量在相同的范圍內(nèi),從而使得攻擊者難以通過(guò)響應(yīng)判斷所檢測(cè)文件的真實(shí)存在性。為了實(shí)現(xiàn)這一目的,兩種情況下附加的隨機(jī)塊數(shù)在不同的范圍內(nèi)選定。具體來(lái)看,該方法假設(shè)待檢測(cè)文件的所有敏感信息均包含在一個(gè)數(shù)據(jù)塊之中,其余塊為公開(kāi)塊。對(duì)于一個(gè)檢測(cè)文件而言,云端檢測(cè)出的未命中塊數(shù)量只能是0 或1,分別對(duì)應(yīng)檢測(cè)命中和未命中兩種情況。顯然對(duì)于未命中文件而言,云端響應(yīng)必須包含檢測(cè)出的未命中塊,則響應(yīng)中附加的命中塊數(shù)量在[0,λN]中隨機(jī)選取,λ是用來(lái)平衡安全性和效率的比例因子,N 是檢測(cè)文件的塊數(shù)。而對(duì)命中文件,響應(yīng)中附加的隨機(jī)塊數(shù)在[1,λN+1]中隨機(jī)選取。所以兩種情況下,去重響應(yīng)包含的數(shù)據(jù)塊數(shù)量均在[1,λN+1]范圍中,攻擊者無(wú)法通過(guò)響應(yīng)判斷文件存在性。然而,一旦攻擊者為檢測(cè)文件附加上隨機(jī)數(shù)量的非命中塊,無(wú)論對(duì)命中文件還是非命中文件,云端檢測(cè)出的未命中塊數(shù)量都將大于1,此時(shí)云服務(wù)商無(wú)法確認(rèn)在響應(yīng)中附加的數(shù)據(jù)塊數(shù)量是在[0,λN]中還是在[1,λN+1]中選取。按照無(wú)附加塊攻擊場(chǎng)景下的定義,Zuo 等[5]規(guī)定,兩種情況下均在[1,λN+1]中隨機(jī)選取附加的數(shù)據(jù)塊數(shù)量,因此命中文件和非命中文件的響應(yīng)中包含的數(shù)據(jù)塊數(shù)量將不可避免地存在于不同的區(qū)間范圍之中,該方法在附加塊攻擊場(chǎng)景下存在泄漏文件存在性隱私的風(fēng)險(xiǎn)。此后,Yu 等[2]從數(shù)據(jù)塊檢測(cè)的角度研究了一種雙數(shù)據(jù)塊同時(shí)檢測(cè)方法,采用異或技術(shù)模糊化云端的去重響應(yīng),實(shí)現(xiàn)對(duì)邊信道攻擊的抵抗。然而,他們的方法仍然沒(méi)有在附加塊攻擊場(chǎng)景下實(shí)現(xiàn)文件存在性隱私的安全性。Pooranian 等[6]改進(jìn)了這一方法,但是本質(zhì)上仍然存在這一缺陷。
針對(duì)密文云數(shù)據(jù),現(xiàn)有的工作大多基于CE(Convergent Encryption)加密技術(shù)[13]生成密文,該技術(shù)將明文的哈希值作為密鑰,因此同一文件的多個(gè)所有者可以生成相同密文。而云服務(wù)商只存儲(chǔ)密文,卻無(wú)法獲知明文哈希值,因而難以解密出明文。基于該技術(shù),Bellare 等[9]采用第三方可信服務(wù)器生成隨機(jī)數(shù),并基于交互式盲簽名技術(shù)將之引入密鑰生成過(guò)程以抵抗邊信道攻擊。然而,該技術(shù)無(wú)法避免攻擊者通過(guò)偽造身份獲取該隨機(jī)信息,即:攻擊者可以偽造成正常用戶執(zhí)行協(xié)議,從而產(chǎn)生包含隨機(jī)信息的密文再上傳去重。在Bellare 工作[9]的基礎(chǔ)上,Kwon 等[8]引入雙線性對(duì)技術(shù)進(jìn)一步提高了安全性。Dang 等[11]提出了一種基于硬件的隨機(jī)數(shù)和密鑰生成方法。然而,這些后續(xù)工作均繼承了Bellare 工作[9]的局限性,在此范疇下,密文云數(shù)據(jù)去重過(guò)程中面臨的邊信道攻擊等同于明文,如采用如上所述的明文云數(shù)據(jù)抵抗邊信道攻擊的方法,同樣無(wú)法在附加塊攻擊場(chǎng)景下取得足夠的安全性。
本文所提抗附加塊攻擊的云數(shù)據(jù)安全去重方法的設(shè)計(jì)包含安全性和效率兩方面的考慮。其中,安全性是指本文方法需在附加塊攻擊場(chǎng)景下有效防止攻擊者通過(guò)建立邊信道竊取云端數(shù)據(jù)的存在性隱私,即:考慮攻擊者對(duì)待檢測(cè)文件附加了隨機(jī)數(shù)量的非命中塊后上傳至云端,云服務(wù)商按照本文方法生成響應(yīng),在響應(yīng)中包含一定數(shù)量的冗余塊信息以實(shí)現(xiàn)模糊化,從而達(dá)到混淆攻擊者的目的。既談安全性,就要考慮實(shí)現(xiàn)安全性的代價(jià)。由于本文方法是通過(guò)在響應(yīng)中附加冗余塊信息的方法來(lái)混淆攻擊者,而響應(yīng)中包含的數(shù)據(jù)塊均為要求用戶上傳的塊,所以本文考慮的開(kāi)銷主要為流量開(kāi)銷。本文方法在效率上的目標(biāo)是將流量開(kāi)銷控制在最低水平。在此設(shè)計(jì)目標(biāo)下,本文方法的框圖如圖1所示。
圖1 抗附加塊攻擊的云數(shù)據(jù)安全去重方法框圖Fig. 1 Framework of appending chunk attack resistant secure deduplication method for cloud data
如圖1 所示,本文方法以文件為檢測(cè)單元,每次檢測(cè)分塊后的一個(gè)完整數(shù)據(jù)文件。出于簡(jiǎn)單性考慮,假定云用戶和云服務(wù)商已經(jīng)協(xié)商好分塊大小,云端將一個(gè)文件的所有塊標(biāo)簽存放在一起。在圖1 中,考慮兩個(gè)攻擊者檢測(cè)同一文件,所檢測(cè)文件的公開(kāi)塊及附加塊均相等,只有敏感塊不同。接收到二者的文件上傳請(qǐng)求后,云服務(wù)商在本地?cái)?shù)據(jù)塊標(biāo)簽集中查找請(qǐng)求中包含的文件塊標(biāo)簽,查找到匹配所有公開(kāi)塊的標(biāo)簽集后,統(tǒng)計(jì)標(biāo)簽集中總命中塊數(shù),并根據(jù)標(biāo)簽集中元素個(gè)數(shù),計(jì)算附加塊的數(shù)量,比較二者,根據(jù)結(jié)果生成響應(yīng)。值得注意的是,所有的附加塊均不命中,而如果未命中塊的數(shù)量等于附加塊的數(shù)量,說(shuō)明檢測(cè)文件中敏感塊命中,此時(shí)在響應(yīng)中隨機(jī)附加一個(gè)命中塊信息;否則,一旦未命中塊的數(shù)量大于附加塊的數(shù)量,說(shuō)明檢測(cè)文件中的敏感塊未命中,此時(shí)響應(yīng)不需模糊化。如此一來(lái),攻擊者1和攻擊者2接收到的響應(yīng)中包含的塊數(shù)相同,而響應(yīng)模糊化的開(kāi)銷只有1 個(gè)冗余塊,即實(shí)現(xiàn)了開(kāi)銷最小化。上述相關(guān)技術(shù)已申請(qǐng)專利[14]。
考慮云數(shù)據(jù)檢測(cè)者已經(jīng)對(duì)待檢測(cè)文件分塊生成標(biāo)識(shí)信息,并作為文件上傳請(qǐng)求上傳到云端,等待云端的去重響應(yīng)以確定需要上傳哪些數(shù)據(jù)塊。其中,標(biāo)識(shí)可為數(shù)據(jù)塊的哈希值。假定去重查詢請(qǐng)求對(duì)應(yīng)的文件為F,請(qǐng)求包含F(xiàn)的N個(gè)數(shù)據(jù)塊C1,C2,…,CN及N′個(gè)附加塊A1,A2,…,AN′。其中,在N 個(gè)數(shù)據(jù)塊中有1 個(gè)塊包含敏感信息,可能為命中塊,也可能為非命中塊,其余N - 1 個(gè)數(shù)據(jù)塊均包含公開(kāi)信息,為命中塊;所有的附加塊均為隨機(jī)生成的非命中塊。
云服務(wù)商接收到去重查詢請(qǐng)求以后,按照以下步驟來(lái)查找未命中塊的數(shù)量、檢測(cè)附加塊數(shù)量并生成響應(yīng)。
1)首先在云存儲(chǔ)中查詢這N + N′個(gè)數(shù)據(jù)塊的標(biāo)識(shí)信息,顯然,以文件為單位查詢,如果請(qǐng)求中的敏感塊命中,則云服務(wù)商可查詢到對(duì)應(yīng)的N 個(gè)命中塊;否則,只能查詢到N - 1 個(gè)命中塊,記命中塊數(shù)量為H。非命中塊數(shù)量N? 可按式(1)計(jì)算:
根據(jù)以上分析可知,在沒(méi)有附加塊攻擊的情況下,N′=0,N?=N-H 的取值為1或者0;當(dāng)N′≠0時(shí),由于附加塊均為非命中塊,N?的取值至少為N′。
2)云服務(wù)商觀察查詢到的H 個(gè)命中塊對(duì)應(yīng)的文件塊標(biāo)簽集,記其包含的數(shù)據(jù)塊數(shù)量為L(zhǎng),則附加塊數(shù)量NA 可按式(2)計(jì)算:
式(2)表明,附加塊數(shù)量等于檢測(cè)文件的長(zhǎng)度減去云端存儲(chǔ)的該文件長(zhǎng)度。在正常情況下,云用戶上傳的文件塊標(biāo)識(shí)對(duì)應(yīng)的完整文件沒(méi)有附加非命中塊,即N′=0。如果該文件在云端存在,則請(qǐng)求中的文件長(zhǎng)度N 等于云端存儲(chǔ)的文件長(zhǎng)度L;而在附加塊攻擊的情況下,N′≠0,通過(guò)式(2)可計(jì)算出N′的真實(shí)值。
3)比較統(tǒng)計(jì)出的非命中塊數(shù)量N? 和計(jì)算出的附加塊數(shù)量NA,按照表1 確定響應(yīng)中包含的數(shù)據(jù)塊數(shù)量。
根據(jù)上文分析不難發(fā)現(xiàn),非命中塊數(shù)量N? 的取值為N′或N′+1,附加塊數(shù)量NA的實(shí)際值為N′,所以表1 中N? - NA 的值為0 或者1。當(dāng)N? - NA = 0 時(shí),說(shuō)明在檢測(cè)文件中,只有附加的塊未命中,其余的N 個(gè)塊均命中,即檢測(cè)文件對(duì)應(yīng)的原文件在云端存在。此時(shí),云服務(wù)商生成的響應(yīng)需包含N?個(gè)非命中塊,額外要求的1個(gè)塊用來(lái)實(shí)現(xiàn)響應(yīng)模糊化,從而達(dá)到混淆攻擊者的目的。當(dāng)N?-NA=1 時(shí),說(shuō)明在檢測(cè)文件中,除了N′個(gè)附加塊,原文件的1 個(gè)敏感塊也未命中,即檢測(cè)文件對(duì)應(yīng)的原文件在云端不存在。此時(shí),云服務(wù)商生成的響應(yīng)只需包含所有N? 個(gè)非命中塊。值得注意的是,這里的非命中塊數(shù)量N?等于上一種情況文件命中時(shí)對(duì)應(yīng)的非命中塊數(shù)量加1。所以兩種情況下的響應(yīng)中包含的數(shù)據(jù)塊數(shù)量相同,攻擊者無(wú)法通過(guò)響應(yīng)來(lái)判斷所檢測(cè)文件的存在性。
表1 去重響應(yīng)生成方法Tab. 1 Generation method of deduplication response
抗附加塊攻擊的云數(shù)據(jù)安全去重方法的流程偽代碼如下所示。
本章將分析本文方法的安全性并通過(guò)實(shí)驗(yàn)驗(yàn)證其性能。其中安全性分析部分首先從理論上分析本文方法在附加塊攻擊場(chǎng)景下實(shí)現(xiàn)去重的過(guò)程中,云數(shù)據(jù)存在性隱私泄露的風(fēng)險(xiǎn),從而表明本文方法能夠?qū)崿F(xiàn)該場(chǎng)景下的邊信道攻擊抵抗。接下來(lái),將本文方法與該領(lǐng)域當(dāng)前最新工作進(jìn)行比較,評(píng)估各自在無(wú)附加塊攻擊場(chǎng)景下和附加塊攻擊場(chǎng)景下存在性隱私泄露的風(fēng)險(xiǎn),從而證明本文方法在安全性上的優(yōu)勢(shì)。實(shí)驗(yàn)驗(yàn)證是通過(guò)開(kāi)展實(shí)驗(yàn),評(píng)價(jià)本文方法的性能,并與該領(lǐng)域目前最新的工作進(jìn)行比較,表明本文方法的性能優(yōu)勢(shì)。為了開(kāi)展實(shí)驗(yàn),本文采用亞馬遜EC2(Elastic Computing Cloud)來(lái)部署云數(shù)據(jù)跨用戶去重系統(tǒng),并在系統(tǒng)上構(gòu)建所提的去重響應(yīng)機(jī)制。同時(shí),選取一組配置為Intel Core i5-4590 CPU @ 3.3 GHz,8 GB RAM 和7 200 轉(zhuǎn)1 TB 容量硬盤(pán)的服務(wù)器作為云用戶客戶端,來(lái)實(shí)現(xiàn)云數(shù)據(jù)檢測(cè)。
如圖1 所示,在本文方法考慮的場(chǎng)景中,云端將同一個(gè)文件的數(shù)據(jù)塊標(biāo)簽集中存儲(chǔ)。如果文件已經(jīng)存放在云端,則云端存放的該文件標(biāo)簽集合中包含的標(biāo)簽個(gè)數(shù)即為文件塊個(gè)數(shù)。對(duì)于靜態(tài)文件來(lái)說(shuō),文件長(zhǎng)度屬于固有屬性,不會(huì)改變。因此,本文方法按照式(2)來(lái)檢測(cè)附加塊的數(shù)量,在該場(chǎng)景下是可行的。另由附加塊攻擊的特性可知,攻擊者為了混淆云服務(wù)商,在檢測(cè)文件上附加的文件塊均為非命中塊,因此,本文方法在檢測(cè)步驟中,在云端檢測(cè)得到的未命中塊中已包含附加的文件塊,其余部分為可能的未命中敏感塊。由于本文假定一個(gè)文件只有一個(gè)敏感塊,因此,未命中敏感塊的個(gè)數(shù)只能是1 或0。綜上所述可知,對(duì)于一個(gè)檢測(cè)文件,未命中塊的個(gè)數(shù)N? 與附加塊個(gè)數(shù)NA 的差值只能是1 或0。當(dāng)差值為1時(shí),說(shuō)明檢測(cè)文件的敏感塊未命中,而差值為0 時(shí),說(shuō)明敏感塊命中。在這兩種情況下,云服務(wù)商給出相同數(shù)量數(shù)據(jù)塊的響應(yīng),因而攻擊者無(wú)法根據(jù)響應(yīng)判斷所檢測(cè)文件的真實(shí)存在性。
選取抗邊信道攻擊安全去重領(lǐng)域的最新成果RRCS[5]和經(jīng)典成果RTS[4]作為比較對(duì)象,比較本文方法和RRCS、RTS在無(wú)附加塊攻擊和附加塊攻擊場(chǎng)景下的安全性,用文件存在性隱私泄露的概率來(lái)測(cè)量安全風(fēng)險(xiǎn)。在無(wú)附加塊攻擊場(chǎng)景下,本文方法對(duì)命中文件和非命中文件所需的上傳數(shù)據(jù)塊數(shù)量都為1,存在性隱私泄露的概率為0。RRCS 為非命中文件和命中文件在不同的區(qū)間內(nèi)計(jì)算冗余塊的個(gè)數(shù),確保云端響應(yīng)中要求用戶上傳的文件塊數(shù)量均在相同區(qū)間[1,λN+1]中隨機(jī)產(chǎn)生,符合均勻分布。其中λ∈(0,1),用來(lái)平衡方法的開(kāi)銷和安全性。因此,攻擊者根據(jù)響應(yīng)難以判斷所檢測(cè)文件的存在性,在此場(chǎng)景下文件存在性隱私泄露的概率同樣為0。而RTS隨機(jī)產(chǎn)生閾值T,當(dāng)云端副本數(shù)量少于T 時(shí),攻擊者無(wú)法判斷文件存在性,一旦云端副本數(shù)達(dá)到T,存在性隱私立即泄露。
在附加塊攻擊情況下,由于本文方法構(gòu)建在不需云端檢測(cè)出待檢文件真實(shí)存在性的基礎(chǔ)上,所以無(wú)論對(duì)命中文件還是非命中文件,所需上傳的數(shù)據(jù)塊數(shù)均為N′+1,攻擊者無(wú)法通過(guò)響應(yīng)來(lái)區(qū)分,所以文件存在性隱私泄露的概率仍然為0。RRCS 對(duì)命中文件和非命中文件所需上傳的數(shù)據(jù)塊數(shù)量分別在[N′,λ(N+N′)+ N′]和[N′+1,λ(N+N′)+ N′+1]隨機(jī)選取,假設(shè)一個(gè)文件的敏感塊有m 種不同的可能,則檢測(cè)所有m 個(gè)版本的文件,如果有一個(gè)文件響應(yīng)中包含的需上傳塊數(shù)量為N′,則存在性隱私泄露。同樣的,如果m - 1 個(gè)文件的需上傳塊數(shù)量均為λ(N+N′)+ N′+1,存在性隱私同樣泄露。而對(duì)RTS 而言,當(dāng)云端敏感塊及附加塊副本數(shù)量少于T 時(shí),敏感塊存在性隱私泄露風(fēng)險(xiǎn)為0,一旦數(shù)量達(dá)到T,存在性隱私立即泄露。3種方法的安全性比較結(jié)果如表2所示。
表2 本文方法和RRCS的存在性隱私泄露風(fēng)險(xiǎn)比較Tab. 2 Comparison of existence privacy disclosure risk between the proposed method and RRCS
為了驗(yàn)證本文方法的性能,本節(jié)在公開(kāi)數(shù)據(jù)集Fslhomes[15]、MacOS[15]和Onefull[16]上實(shí)現(xiàn)本文方法、RRCS 和RTS,并評(píng)價(jià)各自在無(wú)附加塊攻擊情況下和有附加塊攻擊情況下的性能開(kāi)銷。其中:前兩種方法均采用響應(yīng)模糊化的方法來(lái)混淆攻擊者,所需開(kāi)銷均為用戶額外上傳冗余塊的通信開(kāi)銷;RTS采用設(shè)置隨機(jī)閾值的方法,所需開(kāi)銷為與閾值相關(guān)的文件冗余上傳開(kāi)銷。因此本節(jié)將通信流量開(kāi)銷作為比較對(duì)象來(lái)衡量3種方法的性能,即比較3種方法在確保各自安全性的基礎(chǔ)上,在云用戶和云服務(wù)商之間產(chǎn)生的通信流量開(kāi)銷。Fslhomes 數(shù)據(jù)集是由紐約州立大學(xué)石溪分校的文件系統(tǒng)和存儲(chǔ)實(shí)驗(yàn)室建立的,其中數(shù)據(jù)包含虛擬機(jī)圖片、word 文檔、程序源代碼等;MacOS 數(shù)據(jù)集收集了1 臺(tái)MacOS X 企業(yè)級(jí)服務(wù)器上的數(shù)據(jù)內(nèi)容,該服務(wù)器可對(duì)247 名用戶同時(shí)提供電子郵件、數(shù)據(jù)庫(kù)等服務(wù);Onefull數(shù)據(jù)集收集了國(guó)內(nèi)一個(gè)實(shí)驗(yàn)室15臺(tái)學(xué)生計(jì)算機(jī)上的數(shù)據(jù)信息。據(jù)統(tǒng)計(jì),這3 個(gè)數(shù)據(jù)集平均文件大小分別為1 530 KB、683 KB 和622 KB,數(shù)據(jù)跨用戶冗余率分別為39%、48%和25%[5]。
3.2.1 無(wú)附加塊攻擊場(chǎng)景
本節(jié)將該數(shù)據(jù)集存放在已部署跨用戶去重系統(tǒng)的云平臺(tái)上,在開(kāi)銷評(píng)估部分,首先考慮無(wú)附加塊攻擊場(chǎng)景下,對(duì)單個(gè)文件多次檢測(cè),在云用戶和云存儲(chǔ)系統(tǒng)之間所產(chǎn)生的實(shí)際通信流量大小。為了比較的統(tǒng)一,假定目標(biāo)文件在云端存在。用戶請(qǐng)求的待檢測(cè)文件公開(kāi)信息均相同且與目標(biāo)文件一致,只有敏感信息可能不同,即非命中塊數(shù)量為1或0。對(duì)命中文件和非命中文件,RRCS要求用戶上傳的數(shù)據(jù)塊在相同范圍內(nèi)產(chǎn)生,而本文方法兩種情況要求用戶上傳的塊數(shù)相同,所以這里并不對(duì)文件的命中與否作區(qū)分。為了比較的一致性,將RTS 機(jī)制稍加修改,使其由文件級(jí)閾值去重變?yōu)閿?shù)據(jù)塊級(jí)閾值去重。在Fslhomes、MacOS 和Onefull 這3 個(gè)數(shù)據(jù)集上分別隨機(jī)選取100個(gè)文件,計(jì)算3種方法在無(wú)附加塊攻擊場(chǎng)景下單文件檢測(cè)的平均流量開(kāi)銷。
從如圖2所示的實(shí)驗(yàn)結(jié)果可看出:對(duì)所選的3個(gè)數(shù)據(jù)集而言,RRCS 方法無(wú)論檢測(cè)文件是否命中,要求用戶上傳的數(shù)據(jù)塊均在[1,λN+1]中隨機(jī)產(chǎn)生,符合均勻分布,而本文方法要求用戶上傳的塊數(shù)始終為1,所以,在單文件100 次檢測(cè)中,RRCS方法的流量開(kāi)銷波動(dòng)變化,明顯高于本文方法。而RTS方法在文件檢測(cè)次數(shù)少于閾值T時(shí),流量開(kāi)銷為1個(gè)敏感塊的大小,與本文方法相同,這是因?yàn)榇藭r(shí)無(wú)論對(duì)什么文件,云均要求用戶上傳1 個(gè)敏感塊。而當(dāng)文件檢測(cè)次數(shù)大于等于閾值時(shí),RTS方法的流量開(kāi)銷與所檢測(cè)文件敏感塊的存在性有關(guān)。對(duì)一個(gè)非命中文件而言,云端仍然要求用戶上傳1 個(gè)敏感塊,而對(duì)命中文件而言,后續(xù)流量開(kāi)銷為0。故RTS 達(dá)到閾值后的流量開(kāi)銷可體現(xiàn)為期望值。由于3 個(gè)數(shù)據(jù)集數(shù)據(jù)冗余率分別為39%、48%和25%,故明顯可看到RTS 達(dá)到閾值后的流量開(kāi)銷比本文方法略低,它在MacOS 數(shù)據(jù)集上達(dá)到最小,約為0.025 9 MB,在Onefull數(shù)據(jù)集上最大,約為0.037 4 MB。
接下來(lái)驗(yàn)證不同數(shù)量文件上傳請(qǐng)求下,云用戶和云存儲(chǔ)系統(tǒng)之間所產(chǎn)生的實(shí)際通信流量大小。本實(shí)驗(yàn)中,考慮請(qǐng)求檢測(cè)的文件數(shù)量控制在1~100,每一次請(qǐng)求的文件均隨機(jī)選取,對(duì)RRCS 而言,響應(yīng)均隨機(jī)產(chǎn)生。用戶上傳響應(yīng)中指定的數(shù)據(jù)塊。在Fslhomes、MacOS 和Onefull 這3 個(gè)數(shù)據(jù)集上分別隨機(jī)選取100個(gè)文件,計(jì)算3種方法在無(wú)附加塊攻擊場(chǎng)景下不同數(shù)量文件檢測(cè)的流量開(kāi)銷,實(shí)驗(yàn)結(jié)果如圖3所示。
由圖3 可知,由于本文方法所需上傳的數(shù)據(jù)塊數(shù)對(duì)命中文件和非命中文件均為1,所以產(chǎn)生的流量開(kāi)銷隨著請(qǐng)求檢測(cè)的文件數(shù)量增加而線性增加。作為比較,RTS 的流量開(kāi)銷近似線性增加,且略低于本文方法的開(kāi)銷。與圖2 的結(jié)果一致,由于MacOS數(shù)據(jù)集的冗余度最大,RTS方法對(duì)該數(shù)據(jù)集流量開(kāi)銷最低;反之,對(duì)Onefull 數(shù)據(jù)集流量開(kāi)銷最大。由于RRCS 方法所需的塊數(shù)對(duì)兩種情況均在[1,λN+1]中隨機(jī)取值,所以其流量開(kāi)銷在所測(cè)數(shù)據(jù)集中始終大于等于本文方法和RTS。隨著請(qǐng)求檢測(cè)的文件數(shù)量增大,多個(gè)文件對(duì)應(yīng)的上傳塊累加起來(lái),差別更加明顯。
圖2 無(wú)附加塊攻擊場(chǎng)景下單個(gè)文件檢測(cè)的流量開(kāi)銷Fig.2 Traffic overhead of single file detection without appending chunk attack
圖3 無(wú)附加塊攻擊場(chǎng)景下不同數(shù)量文件檢測(cè)的流量開(kāi)銷Fig.3 Traffic overhead of detection of different number of files without appending chunk attack
3.2.2 附加塊攻擊場(chǎng)景
接下來(lái),考慮檢測(cè)文件均被附加了N′個(gè)非命中塊的情況,在此情景下,對(duì)于命中文件,RRCS需要上傳的文件塊數(shù)在[N′,λ(N+N′)+N′]中隨機(jī)選取,符合均勻分布。對(duì)于非命中文件,RRCS 需要上傳的文件塊數(shù)在[N′+1,λ(N+N′)+N′+1]中隨機(jī)選取,符合均勻分布;而在本文方法中,兩種情況下需要上傳的文件塊數(shù)均為N′+1。選取附加塊個(gè)數(shù)N′為5,首先比較單個(gè)文件檢測(cè)下的流量開(kāi)銷,實(shí)驗(yàn)結(jié)果如圖4 所示。由圖4可知,單個(gè)文件檢測(cè)場(chǎng)景下RRCS方法對(duì)命中文件和未命中文件實(shí)際產(chǎn)生的流量開(kāi)銷范圍不同。對(duì)未命中文件,下限約為0.35 MB,顯著高于本文方法和RTS 方法。而對(duì)于命中文件,RRCS方法的流量開(kāi)銷下限和本文方法相當(dāng)且達(dá)到下限的次數(shù)很少。在3個(gè)數(shù)據(jù)集里分別檢測(cè)100次目標(biāo)文件,命中情況下,RRCS 分別只有5、13、10 次達(dá)到下限,其余情況均高于本文方法的流量開(kāi)銷。與前文無(wú)附加塊攻擊場(chǎng)景一致的是,RTS 方法在附加塊攻擊場(chǎng)景下流量開(kāi)銷也略低于本文方法。
接下來(lái)驗(yàn)證附加塊攻擊場(chǎng)景下,不同數(shù)量文件檢測(cè)的流量開(kāi)銷。實(shí)驗(yàn)場(chǎng)景設(shè)定類似無(wú)附加塊攻擊的情況。圖4 已表明無(wú)論檢測(cè)文件是否命中,RRCS的單個(gè)檢測(cè)流量開(kāi)銷均大于本文方法或與本文方法相當(dāng),所以這里僅隨機(jī)選定命中文件和非命中文件,實(shí)驗(yàn)結(jié)果如圖5 所示。由圖5 可知,由于本文方法在附加塊攻擊情況下,對(duì)命中文件和非命中文件,所需上傳的數(shù)據(jù)塊數(shù)均為N′+1,所以產(chǎn)生的流量開(kāi)銷隨著請(qǐng)求檢測(cè)的文件數(shù)量增加而線性增加;隨著請(qǐng)求文件數(shù)量的增多,流量開(kāi)銷與RTS的差距逐漸縮小。而對(duì)于RRCS,其所需塊數(shù)在兩種情況下分別為[N′,λ(N+N′)+N′]和[N′+1,λ(N+N′)+N′+1],均大于等于本文方法;隨著請(qǐng)求檢測(cè)的文件數(shù)量增加,多個(gè)文件對(duì)應(yīng)的上傳塊累加起來(lái),差別更加明顯。
圖4 附加塊攻擊場(chǎng)景下單個(gè)文件檢測(cè)的流量開(kāi)銷Fig.4 Traffic overhead of single file detection under appending chunk attack
圖5 附加塊攻擊場(chǎng)景下不同數(shù)量文件檢測(cè)的流量開(kāi)銷Fig.5 Traffic overhead of detection of different number of files detection under appending chunk attack
本文提出了一種基于響應(yīng)模糊化的抗附加塊攻擊云數(shù)據(jù)安全去重方法的設(shè)計(jì)原理和詳細(xì)構(gòu)造,并開(kāi)展了安全性分析和性能驗(yàn)證。同當(dāng)前該領(lǐng)域的前沿成果RRCS 和經(jīng)典成果RTS比較結(jié)果來(lái)看,本文方法在確保安全性的前提下,所需的流量開(kāi)銷顯著小于RRCS 方法;而且與RTS 相比,在流量開(kāi)銷相當(dāng)或少量增加的情況下,安全性顯著提高;性能優(yōu)勢(shì)隨著檢測(cè)文件數(shù)量的增加而愈加明顯。