999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于屬性加密的多用戶共享ORAM方案

2020-04-09 14:49:14顧晨陽
計(jì)算機(jī)應(yīng)用 2020年2期
關(guān)鍵詞:用戶

付 偉,顧晨陽*,高 強(qiáng)

(1.海軍工程大學(xué)信息安全系,武漢430033;2.海軍聯(lián)合參謀部指揮保障大隊(duì),北京100841)

0 引言

在云存儲環(huán)境中,用戶把數(shù)據(jù)上傳至云端,由云服務(wù)提供商存儲和管理數(shù)據(jù),用戶只擁有數(shù)據(jù)的所有權(quán),服務(wù)提供商擁有數(shù)據(jù)的直接控制權(quán)。即使用戶將數(shù)據(jù)加密上傳,也只能保證數(shù)據(jù)內(nèi)容本身不被泄露,服務(wù)提供商仍然可以通過對用戶訪問行為的長期記錄和觀察,開展行為特征分析,從中挖掘出用戶的敏感信息或者對解密有用的信息。這些訪問行為包括用戶訪問數(shù)據(jù)的頻度、先后順序、數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系等。

不經(jīng)意隨機(jī)訪問機(jī)(Oblivious Random Access Machine,ORAM)[1]通過構(gòu)造恰當(dāng)?shù)拇鎯Y(jié)構(gòu)和訪問機(jī)制,對用戶訪問操作進(jìn)行變換,并增加一些冗余操作,使攻擊者無法根據(jù)用戶的行為來獲取有效信息。該技術(shù)可以隱藏用戶訪問行為與訪問目標(biāo)之間的對應(yīng)關(guān)系,是現(xiàn)階段保護(hù)用戶訪問意圖的主要手段之一。ORAM 在傳統(tǒng)加密保護(hù)思想上額外增加了一道安全機(jī)制,提高了云端數(shù)據(jù)安全。

現(xiàn)有ORAM 方案[2-8]中數(shù)據(jù)只能由其擁有者訪問,屬于單用戶操作,通常不支持用戶之間的數(shù)據(jù)共享。然而在互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)共享需求比較突出,應(yīng)用場景較為普遍。目前,僅有部分ORAM 方案涉及到多用戶共享[9]。為實(shí)現(xiàn)ORAM 方案內(nèi)不同用戶共享數(shù)據(jù)的要求,Zhang 等[10]在2014 年以層次ORAM 方案為基礎(chǔ),將用戶和服務(wù)器通過一系列的串聯(lián)匿名器連接,設(shè)計(jì)實(shí)現(xiàn)了第一個(gè)具有實(shí)際應(yīng)用能力的多用戶ORAM 方案。該方案中,用戶利用自身私鑰對共享數(shù)據(jù)進(jìn)行加密,再通過串聯(lián)匿名器依次執(zhí)行加密運(yùn)算,最終形成密文,并將密文提交給云服務(wù)器,由云服務(wù)器存儲。基于串聯(lián)匿名器的多用戶共享方案假設(shè)用戶之間相互信任,并且共同擁有數(shù)據(jù)訪問密鑰,然而在更多應(yīng)用場景中,用戶之間不存在完全相互信任,并且希望不同的用戶對數(shù)據(jù)有不同的訪問權(quán)限,上述方案均不能滿足這種需求。因此,設(shè)計(jì)一個(gè)能夠?qū)崿F(xiàn)用戶間數(shù)據(jù)按需共享的ORAM方案具有較大的研究意義和實(shí)際應(yīng)用價(jià)值。

屬性加密(Attribute Based Encryption,ABE)作為一種公鑰密碼原語,可以為云存儲提供靈活細(xì)粒度的訪問控制,在密文或者密鑰中嵌入訪問控制策略,實(shí)現(xiàn)對數(shù)據(jù)的靈活訪問控制[11-12]。為此,本文利用屬性加密對數(shù)據(jù)進(jìn)行訪問控制,設(shè)計(jì)實(shí)現(xiàn)了一種基于屬性加密的新型多用戶共享ORAM 方案ABE-M-ORAM,在保證數(shù)據(jù)機(jī)密性和訪問安全性的前提下實(shí)現(xiàn)了用戶之間的靈活數(shù)據(jù)共享。

1 相關(guān)研究

1.1 屬性加密

屬性加密(ABE)[13]是公鑰密碼學(xué)的一種擴(kuò)展形式?;谏矸莸拿艽a學(xué)機(jī)制將用戶身份替代為用戶屬性,加密者通過設(shè)定由屬性構(gòu)成的訪問策略,指定接受者應(yīng)具有的屬性,只有當(dāng)用戶屬性滿足密文的訪問策略要求時(shí)才能解密密文,獲取明文。屬性加密技術(shù)極大豐富了訪問策略和用戶權(quán)限的表達(dá)形式。

2005 年,Sahai 等[14]提 出 模 糊 身 份 加 密 方 案(Fuzzy Identity-Based Encryption),將身份的概念以一組屬性表示,采用門限技術(shù)實(shí)現(xiàn)相似匹配的訪問策略,該方案被視為ABE 方案的雛形。Goyal 等[15]在2006 年提出ABE 機(jī)制,說明屬性的概念和意義。ABE 機(jī)制根據(jù)應(yīng)用場景的不同,分為密鑰策略的屬性加密機(jī)制(Key Policy-Attribute Based Encryption,KPABE)[15]和 密 文 策 略 的 屬 性 加 密 機(jī) 制(Ciphertext Policy-Attribute Based Encryption,CP-ABE)[13],前者中密鑰與訪問策略關(guān)聯(lián),密文與一組屬性關(guān)聯(lián),而后者相反。CP-ABE 和KPABE在實(shí)現(xiàn)細(xì)粒度訪問控制的同時(shí),還保證了防串謀性。

屬性加密模型主要由數(shù)據(jù)所有者、數(shù)據(jù)共享者和可信第三方構(gòu)成,三者之間的關(guān)系如圖1所示。

圖1 屬性加密模型Fig.1 Attribute encryption model

數(shù)據(jù)所有者 對數(shù)據(jù)擁有絕對所有權(quán),向可信第三方提交數(shù)據(jù)屬性集要求,從而獲得可信第三方分發(fā)的屬性公鑰PK,利用屬性公鑰PK 和訪問屬性要求將數(shù)據(jù)明文M 加密成密文C,并將密文C分享給數(shù)據(jù)共享者。

數(shù)據(jù)共享者 向可信第三方提交自身屬性集合,從而獲得可信第三方分發(fā)的屬性私鑰SK,利用屬性私鑰SK 對從數(shù)據(jù)所有者處獲得的密文C進(jìn)行解密。

可信第三方 根據(jù)數(shù)據(jù)所有者提出的屬性集產(chǎn)生主密鑰MK 和屬性公鑰PK,利用主密鑰和用戶共享者屬性集合產(chǎn)生屬性私鑰SK,分發(fā)屬性公鑰PK和屬性私鑰SK。

屬性加密ABE主要有以下四種算法:

1)Setup():設(shè)計(jì)屬性集,根據(jù)屬性計(jì)算主密鑰和屬性公鑰;

2)KeyGen():根據(jù)不同用戶的屬性集,計(jì)算用戶屬性私鑰;

3)Encrypt():數(shù)據(jù)所有者根據(jù)訪問屬性集,利用屬性公鑰加密明文,得到密文;

4)Decrypt():數(shù)據(jù)共享者通過自身屬性私鑰,解密密文,得到明文。

2006 年Goyal 等[15]基于fuzzy IBE 提出一種基于密鑰的細(xì)粒度訪問控制的ABE 方案,該方案將訪問策略嵌入私鑰中,而密文與屬性集合相關(guān)聯(lián),因此被稱為密鑰策略的屬性加密機(jī)制(KP-ABE)。KP-ABE 本質(zhì)是一對多的公鑰加密技術(shù),該方案訪問策略表示為一棵訪問樹,支持任意單調(diào)訪問結(jié)構(gòu)和細(xì)粒度的訪問控制,能夠?qū)崿F(xiàn)屬性間的與(and)、或(or)以及門限(threshold)操作。該方案的提出豐富了ABE 的性質(zhì)和適用范圍,大大加快了ABE相關(guān)研究的發(fā)展。

2007 年Bethencourt 等[13]提出一種基于密文策略的屬性加密機(jī)制(CP-ABE)。該方案將訪問策略嵌入密文中,而密鑰與屬性集合相關(guān)聯(lián)。數(shù)據(jù)所有者通過公鑰加密明文,并根據(jù)密文定義訪問結(jié)構(gòu)。由于是將訪問結(jié)構(gòu)隱藏在密文之中,使方案的訪問策略更加靈活。數(shù)據(jù)共享者的私鑰與自身屬性集相關(guān),解密時(shí),私鑰必須滿足訪問策略,才能解密獲取明文。

1.2 基于二叉樹的Ring ORAM

Ring ORAM 是Ren 等[16-18]提出的新型ORAM 方案。服務(wù)器以二叉樹結(jié)構(gòu)存儲數(shù)據(jù)塊,并在用戶端存儲一個(gè)數(shù)據(jù)塊地址映射表,用于存儲每個(gè)數(shù)據(jù)塊的存儲地址。通過層次遞進(jìn)遍歷搜索,較好地隱藏了用戶的訪問模式,同時(shí)完成數(shù)據(jù)的高效訪問和傳輸。

將數(shù)據(jù)塊存儲在大小為b=O(log N)的bucket 中,以bucket 作為二叉樹的節(jié)點(diǎn),建立高度為h=log N 的二叉樹,共有N 個(gè)葉子節(jié)點(diǎn)。服務(wù)器將數(shù)據(jù)塊存儲在二叉樹的節(jié)點(diǎn)中,用該節(jié)點(diǎn)的子葉子節(jié)點(diǎn)表示存儲地址。在本地設(shè)置緩沖區(qū)stash,用于存儲云服務(wù)器提交的數(shù)據(jù)塊bucket。Ring ORAM 二叉樹數(shù)據(jù)存儲結(jié)構(gòu)如圖2所示。

圖2 Ring ORAM算法的數(shù)據(jù)結(jié)構(gòu)Fig.2 Data structure of Ring ORAM algorithm

圖2 中目標(biāo)數(shù)據(jù)塊u 的地址為葉子節(jié)點(diǎn)l,則說明目標(biāo)數(shù)據(jù)塊存儲在路徑path(l)上的某一個(gè)bucket 中;路徑path(l)表示從根節(jié)點(diǎn)root到葉子節(jié)點(diǎn)l的路徑,即圖中虛線路徑。

Ring ORAM 方案執(zhí)行時(shí),用戶向服務(wù)器提交訪問需求,并查詢目標(biāo)數(shù)據(jù)塊所在路徑。從root 節(jié)點(diǎn)開始,沿著目標(biāo)路徑依次搜索每一個(gè)節(jié)點(diǎn)bucket,直至葉子節(jié)點(diǎn)。若仍未找到目標(biāo)數(shù)據(jù)塊,則遍歷stash,查找目標(biāo)數(shù)據(jù)塊。用戶操作結(jié)束后,為新數(shù)據(jù)塊分配新的地址,并更新數(shù)據(jù)塊地址映射表。最后把新數(shù)據(jù)塊寫回stash中。

Ring ORAM 中的每個(gè)bucket 中的有效數(shù)據(jù)塊有X 個(gè),無效數(shù)據(jù)塊有Y 個(gè)。bucket 中的有效數(shù)據(jù)塊被讀取至緩沖區(qū)stash 后,服務(wù)器會將bucket 中的原數(shù)據(jù)塊刪除,由于bucket 中的有效數(shù)據(jù)塊只有X 個(gè),也就說,當(dāng)對一個(gè)bucket 進(jìn)行X 次讀取操作后,需要對該bucket 進(jìn)行重組。因此,為保證數(shù)據(jù)的茫然性,每進(jìn)行O(X)次訪問操作,就要選擇對服務(wù)器的某一個(gè)二叉樹存儲路徑進(jìn)行重組操作。重組操作時(shí),將該路徑上所有數(shù)據(jù)塊讀取到stash 中,然后從該路徑的葉子節(jié)點(diǎn)開始,把stash 中的數(shù)據(jù)塊寫回,寫回時(shí)要保證bucket 中的數(shù)據(jù)塊離自身的葉子節(jié)點(diǎn)最近。

1.3 基于串聯(lián)匿名器的ORAM方案

基于串聯(lián)匿名器的ORAM 方案[19-20]主要是通過在用戶和云存儲服務(wù)器之間引入一系列協(xié)作但相互獨(dú)立的匿名器,從而實(shí)現(xiàn)多用戶數(shù)據(jù)共享。當(dāng)用戶需要查詢數(shù)據(jù)時(shí),由匿名器作為中間信息傳遞的橋梁,用戶的訪問請求和云存儲服務(wù)器的應(yīng)答都將由匿名器轉(zhuǎn)發(fā)。

當(dāng)用戶需要訪問某些數(shù)據(jù)項(xiàng)時(shí),利用匿名器來防止用戶與云存儲服務(wù)器進(jìn)行信息交互,保護(hù)了用戶的身份信息;而且用戶不需要存儲數(shù)據(jù)和身份密鑰的相關(guān)信息避免攻擊者通過用戶和云存儲服務(wù)器的交互信息來竊取用戶的隱私信息。

由于多個(gè)串聯(lián)匿名者相互獨(dú)立,所以當(dāng)部分匿名器不能工作時(shí),用戶的訪問行為信息仍然是安全的。在體系結(jié)構(gòu)中,串聯(lián)匿名器整體被云存儲服務(wù)器虛擬為單個(gè)用戶,而且有且僅有匿名器可以和云存儲服務(wù)器進(jìn)行信息交互。

此方案雖然能夠解決多個(gè)用戶之間共享數(shù)據(jù)的問題,但訪問效率很低,而且無法鑒別訪問用戶的身份,不能實(shí)現(xiàn)基于用戶身份的權(quán)限訪問。因此,設(shè)計(jì)一個(gè)訪問效率高,并且能夠?qū)崿F(xiàn)根據(jù)用戶不同身份分配訪問權(quán)限的多用戶共享ORAM模型具有很大的實(shí)際應(yīng)用前景。

1.4 多用戶ORAM模型

為解決多用戶共享云存儲服務(wù)器上的數(shù)據(jù),孫曉妮等[21]在2016 年提出了一種基于傳統(tǒng)二叉樹存儲結(jié)構(gòu)的多用戶(Binary-Tree-Structed Multiple user,BTS-M)ORAM 模型。該模型通過引入可信第三方作代理,作為用戶和服務(wù)器之間的橋梁,用于數(shù)據(jù)傳輸和各類參數(shù)的生成。BTS-M ORAM 模型主要由用戶、代理和云存儲服務(wù)器三部分組成。用戶作為數(shù)據(jù)的上傳者和使用者,擁有向服務(wù)器上傳數(shù)據(jù)和從服務(wù)器中下載的權(quán)限;代理作為可信第三方,作為用戶與服務(wù)器之間的數(shù)據(jù)傳遞者,同時(shí)運(yùn)行參數(shù)和密鑰生成算法生成各類參數(shù)和密鑰,并分發(fā)給不同的用戶;云存儲服務(wù)器作為數(shù)據(jù)的存儲者,接收并存儲用戶上傳的數(shù)據(jù),以及向用戶提供所查找的目標(biāo)數(shù)據(jù)。每個(gè)用戶都需要與代理構(gòu)建信息傳輸渠道,將代理作為信息集中和傳輸?shù)那?,不會直接與云存儲服務(wù)器進(jìn)行數(shù)據(jù)傳遞。因此,需要將原先由不同用戶本地存儲的位置映射表統(tǒng)一匯總到代理,并由代理進(jìn)行位置映射表的整合,形成服務(wù)器中數(shù)據(jù)塊的位置映射表。

在BTS-M ORAM模型之中,執(zhí)行的主要算法為以下兩種:

1)bucket.ReadAndRemove(s):在節(jié)點(diǎn)bucket 中搜索訪問數(shù)據(jù)塊s,訪問后移除數(shù)據(jù)塊s。

用戶在節(jié)點(diǎn)bucket 中訪問數(shù)據(jù)塊s 時(shí),需要遍歷訪問節(jié)點(diǎn)bucket 中的所有數(shù)據(jù)塊。訪問方法為,先從節(jié)點(diǎn)bucket 中讀取一個(gè)密文數(shù)據(jù)塊m,并將密文數(shù)據(jù)塊m 提交給作為數(shù)據(jù)傳輸橋梁的代理,由代理對密文數(shù)據(jù)塊m 進(jìn)行第一次解密,得到解密數(shù)據(jù)塊m'。代理將解密數(shù)據(jù)塊m'交給提出數(shù)據(jù)訪問申請的用戶,由用戶對解密數(shù)據(jù)塊m'進(jìn)行第二次解密,得到最終的明文數(shù)據(jù)塊M。如果該數(shù)據(jù)塊為目標(biāo)數(shù)據(jù)塊s,則返回給代理一個(gè)無效數(shù)據(jù)塊;如果該數(shù)據(jù)塊不是目標(biāo)數(shù)據(jù)塊,則將該數(shù)據(jù)塊直接加密后返回給代理。代理得到數(shù)據(jù)塊后,先加密再交還給服務(wù)器,由服務(wù)器將數(shù)據(jù)塊存儲在原位置。當(dāng)對節(jié)點(diǎn)bucket 中所有數(shù)據(jù)塊都進(jìn)行一次訪問后,算法運(yùn)行結(jié)束。如果bucket.ReadAndRemove(s)算法執(zhí)行的結(jié)果為數(shù)據(jù)塊s,那么表明用戶從該節(jié)點(diǎn)成功訪問到數(shù)據(jù)塊s;如果bucket.ReadAndRemove(s)算法執(zhí)行的結(jié)果為無效數(shù)據(jù)塊,那么表明該節(jié)點(diǎn)不存在數(shù)據(jù)塊s,用戶訪問失敗。

2)bucket.Add(s,d):將數(shù)據(jù)塊s寫入節(jié)點(diǎn)bucket中。

用戶在節(jié)點(diǎn)bucket中寫入數(shù)據(jù)塊s時(shí),需要遍歷訪問節(jié)點(diǎn)bucket中的所有數(shù)據(jù)塊。訪問方法為,先從節(jié)點(diǎn)中讀取一個(gè)密文數(shù)據(jù)塊m,并將密文數(shù)據(jù)塊m 提交給作為數(shù)據(jù)傳輸橋梁的代理,由代理對密文數(shù)據(jù)塊進(jìn)行第一次解密,得到解密數(shù)據(jù)塊m'。代理將解密數(shù)據(jù)塊m'交給提出數(shù)據(jù)訪問申請的用戶,由用戶對解密數(shù)據(jù)塊m'進(jìn)行第二次解密,得到最終的明文數(shù)據(jù)塊M。當(dāng)用戶得到的數(shù)據(jù)塊為有效數(shù)據(jù)塊,則直接將該數(shù)據(jù)塊返回給代理;當(dāng)用戶第一次從代理得到無效數(shù)據(jù)塊時(shí),將數(shù)據(jù)塊(s,d)作為新數(shù)據(jù)塊加密后發(fā)送給代理,之后得到的無效數(shù)據(jù)塊的處理方法與有效數(shù)據(jù)塊相同。代理得到數(shù)據(jù)塊后,先加密再交還給服務(wù)器,由服務(wù)器將數(shù)據(jù)塊存儲在原位置。當(dāng)對節(jié)點(diǎn)bucket 中所有數(shù)據(jù)塊都進(jìn)行一次訪問后,算法運(yùn)行結(jié)束。如果bucket.Add(s,d)算法執(zhí)行的結(jié)果為數(shù)據(jù)內(nèi)容d,則表明已經(jīng)將數(shù)據(jù)塊s 成功存儲在該節(jié)點(diǎn)bucket 之中;如果bucket.Add(s,d)算法執(zhí)行的結(jié)果為空,則表明沒有成功將數(shù)據(jù)塊s存儲在該節(jié)點(diǎn)bucket之中。

2 基于屬性加密的多用戶共享ORAM方案

基于屬性加密的多用戶共享ORAM 方案ABE-M-ORAM的是在BTS-M ORAM 模型的基礎(chǔ)上,結(jié)合屬性加密技術(shù)而設(shè)計(jì)實(shí)現(xiàn)的新型ORAM 模型,它可以有效解決當(dāng)下多用戶差別數(shù)據(jù)共享問題,同時(shí)能夠?yàn)閿?shù)據(jù)提供有效的保護(hù)。

2.1 方案介紹

ABE-M-ORAM 的主體包括用戶(數(shù)據(jù)所有者和數(shù)據(jù)共享者)、可信第三方和云端服務(wù)器[22]。用戶和服務(wù)器不直接通信,而是由可信第三方負(fù)責(zé)兩者之間的數(shù)據(jù)傳遞??尚诺谌匠诉M(jìn)行數(shù)據(jù)傳遞,還需要根據(jù)每一個(gè)接入的用戶的屬性,完成具有屬性特性的密鑰生成和分發(fā)工作;同時(shí),還建立本地緩沖區(qū)stash 和存儲一張數(shù)據(jù)塊地址映射表,記錄每個(gè)數(shù)據(jù)塊所在路徑信息。數(shù)據(jù)在云端服務(wù)器以二叉樹的存儲結(jié)構(gòu)存儲,以bucket為基本存儲單元。

2.1.1 用戶接入階段

用戶0(數(shù)據(jù)所有者)將自身屬性集合提交至可信第三方,可信第三方則根據(jù)用戶0 提交的屬性集合生成主密鑰MK和屬性公鑰PK,保存主密鑰,并將屬性公鑰發(fā)布在公開網(wǎng)絡(luò)。

用戶i(數(shù)據(jù)共享者)將自身屬性集合同樣提交給可信第三方,可信第三方則根據(jù)用戶i提交的屬性集合生成包含個(gè)人屬性集合信息的用戶屬性私鑰SKi,并通過保密通信渠道將SKi發(fā)送給用戶i。

2.1.2 數(shù)據(jù)上傳階段

用戶0從公開渠道獲取屬性公鑰PK,利用屬性公鑰PK加密明文數(shù)據(jù)塊M,生成密文數(shù)據(jù)塊C;然后將密文數(shù)據(jù)塊C 提交給可信第三方和云存儲服務(wù)器。

可信第三方獲取密文數(shù)據(jù)塊C,為其隨機(jī)分配路徑地址,并記錄在數(shù)據(jù)塊地址映射表中;隨后將密文數(shù)據(jù)塊C 存放在stash中。

2.1.3 數(shù)據(jù)訪問階段

1)用戶i向可信第三方提出訪問請求。

2)可信第三方查詢留存的屬性密鑰SKi,判斷用戶i是否具有訪問權(quán)限,驗(yàn)證不通過則駁回訪問請求,通過則搜索數(shù)據(jù)塊地址映射表,確定數(shù)據(jù)所在的目標(biāo)塊路徑地址。

3)從root節(jié)點(diǎn)開始,沿著目標(biāo)路徑依次搜索每一個(gè)節(jié)點(diǎn),找到目標(biāo)數(shù)據(jù)塊,則將目標(biāo)數(shù)據(jù)塊提交給可信第三方;若未找到或者在之前節(jié)點(diǎn)已經(jīng)找到目標(biāo)數(shù)據(jù)塊,則提交一個(gè)無效數(shù)據(jù)塊。

4)若仍未找到目標(biāo)數(shù)據(jù)塊,則可信第三方遍歷本地緩沖區(qū)stash,查找目標(biāo)數(shù)據(jù)塊。

5)可信第三方將目標(biāo)數(shù)據(jù)塊發(fā)送給用戶i。

6)用戶i 利用屬性私鑰SKi對目標(biāo)數(shù)據(jù)塊解密獲得明文數(shù)據(jù)塊M,進(jìn)行相應(yīng)的操作,更新為新的明文數(shù)據(jù)塊M'。

7)用戶i 同樣利用公開渠道獲得的屬性公鑰PK 將新的明文數(shù)據(jù)塊M 加密變成新的密文數(shù)據(jù)塊C',并提交給可信第三方。

8)可信第三方為新的密文數(shù)據(jù)塊C'分配新的地址,并更新數(shù)據(jù)塊地址映射表,然后將新的密文數(shù)據(jù)塊C'寫回stash中。

2.2 系統(tǒng)模型

ABE-M-ORAM 系統(tǒng)模型主要有三部分:用戶群、可信第三方和云存儲服務(wù)器,如圖3 所示。用戶群又分為數(shù)據(jù)所有者和數(shù)據(jù)共享者。模型構(gòu)建三部分之間的相互關(guān)系,并建立通信,從而實(shí)現(xiàn)具有安全性的ABE-M-ORAM系統(tǒng)。

圖3 ABE-M-ORAM系統(tǒng)模型Fig.3 ABE-M-ORAM system model

2.2.1 構(gòu)建方法

根據(jù)系統(tǒng)模型,設(shè)計(jì)模型構(gòu)成,構(gòu)建多用戶訪問環(huán)境。由多個(gè)用戶組成的用戶群構(gòu)成數(shù)據(jù)提交和數(shù)據(jù)訪問端,云存儲服務(wù)器提供數(shù)據(jù)存儲服務(wù)功能。將可信第三方作為二者的連接樞紐,進(jìn)行信息交換。用戶群、代理和云存儲服務(wù)器三部分共同組成了ABE-M-ORAM系統(tǒng)模型。

2.2.2 模型描述

用戶i:用戶群中的用戶,既可以擔(dān)任數(shù)據(jù)所有者的身份,也可以擔(dān)任數(shù)據(jù)共享者的身份,二者并不沖突。但在某一次訪問行為中,只能擁有一種身份,擔(dān)任數(shù)據(jù)所有者或者是數(shù)據(jù)共享者。

代理:由可信第三方擔(dān)任,主要需要承擔(dān)用戶群和云存儲服務(wù)器之間信息傳遞,負(fù)責(zé)二者的溝通。為了保證訪問的安全,代理還需要具有用戶身份認(rèn)證等功能;與此同時(shí),系統(tǒng)初始化時(shí),代理還需要產(chǎn)生密鑰和根據(jù)不同用戶的屬性分配密鑰。

云存儲服務(wù)器:作為云端的數(shù)據(jù)存儲端,主要負(fù)責(zé)對數(shù)據(jù)進(jìn)行存儲。服務(wù)器采用二叉樹存儲結(jié)構(gòu),內(nèi)置ORAM方案,極大地提高了數(shù)據(jù)的安全性,保護(hù)了用戶的訪問行為。

2.2.3 系統(tǒng)特點(diǎn)

ABE-M-ORAM 方案結(jié)合屬性加密,能較好地實(shí)現(xiàn)多用戶共享的功能。該方案主要具有以下三個(gè)優(yōu)點(diǎn):第一,實(shí)現(xiàn)用戶細(xì)粒度劃分,利用屬性加密,實(shí)現(xiàn)訪問控制,對用戶數(shù)據(jù)進(jìn)行更好的保護(hù),具有較好的實(shí)用性;第二,基于屬性加密的數(shù)據(jù)共享根據(jù)用戶屬性進(jìn)行訪問控制,能夠便捷地增加和刪除用戶,而不影響整體,具有良好的適用性;第三,屬性加密和ORAM 方案都能較好地保護(hù)用戶數(shù)據(jù),二者結(jié)合,能夠更好地對用戶數(shù)據(jù)進(jìn)行保護(hù),具有強(qiáng)安全性。

2.3 算法設(shè)計(jì)

1)Initalize():可信第三方初始化生成主密鑰,并根據(jù)用戶屬性產(chǎn)生和分發(fā)屬性公鑰和屬性密鑰。

2)Enc():數(shù)據(jù)擁有者用戶0根據(jù)屬性公鑰加密數(shù)據(jù)。

3)DataAdd():可信第三方向云存儲服務(wù)器添加數(shù)據(jù)。

4)IdVer():驗(yàn)證數(shù)據(jù)共享者用戶i 屬性是否滿足數(shù)據(jù)所有者對其搜索數(shù)據(jù)的屬性要求。

5)DataSearch():可信第三方從云存儲服務(wù)器搜索數(shù)據(jù)。

6)Dec():數(shù)據(jù)共享者用戶i根據(jù)屬性私鑰解密數(shù)據(jù)。

7)Recombine():云存儲服務(wù)器重排數(shù)據(jù)。

3 方案分析

3.1 安全性分析

屬性加密是根據(jù)身份加密創(chuàng)新提出的,但屬性加密仍然屬于公鑰加密。公鑰加密主要由四個(gè)算法構(gòu)成,其中系統(tǒng)初始化Setup()、密鑰生成KeyGen()和信息加密Encrypt()三個(gè)算法是概率算法,而解密算法Decrypt()是確定性算法。常見的安全模型有選擇明文攻擊安全和選擇密文攻擊安全模型。

選擇明文攻擊的定義是攻擊者選擇任意確定明文,通過掌握的加密方法獲取密文,通過明密文對比,獲取解密信息。CP-ABE 機(jī)制是選擇明文攻擊安全(INDistinguishability under Chosen-Plaintext Attack,IND-CPA),即攻擊者無法通過選擇明文攻擊獲取任何有用信息。CP-ABE 的密文與訪問策略有關(guān),如果任何具有下面優(yōu)勢的攻擊者都能忽略那么就是IND-CPA。攻擊模型如下:

1)初始階段:攻擊者選擇要挑戰(zhàn)的訪問結(jié)構(gòu)τ,然后傳給挑戰(zhàn)者。

2)Setup 階段:挑戰(zhàn)者運(yùn)行Setup()算法,得到公鑰PK 并交給攻擊者。

3)查詢階段1:挑戰(zhàn)者隨機(jī)選擇不滿足τ 的屬性集,運(yùn)行密鑰生成算法,將生成的用戶私鑰交給攻擊者。

4)挑戰(zhàn)階段:攻擊者給挑戰(zhàn)者一個(gè)挑戰(zhàn)屬性集及兩個(gè)等長的明文M1、M2,而且攻擊者不知道挑戰(zhàn)屬性集的密鑰。挑戰(zhàn)者從兩個(gè)明文中隨機(jī)選取一個(gè)a ∈{0,1},然后利用τ 進(jìn)行加密,獲得密文C并交給挑戰(zhàn)者。

5)查詢階段2:重復(fù)選擇階段1。

6)猜測階段:攻擊者輸出猜測值a'∈{0,1},如果a'=a,則獲得攻擊成功。

在模型中,攻擊者的優(yōu)勢定義為Adv=|Pr[a=a']-1/2|。在多項(xiàng)式時(shí)間內(nèi),攻擊者的優(yōu)勢是可以忽略的,故此方案在IND-CPA下是安全的,即為選擇明文攻擊安全。

3.2 性能分析

計(jì)算機(jī):Lenovo ideaiPad 410P,操作系統(tǒng):Windows 7 旗艦版64 bit,CPU:Intel Core i5-4200M CPU 2.50 GHz,運(yùn)行內(nèi)存:8 GB。運(yùn)行Matlab R2017a版本,進(jìn)行仿真實(shí)驗(yàn)。

3.2.1 實(shí)驗(yàn)方法

本實(shí)驗(yàn)主要進(jìn)行多用戶訪問測試,但Ring ORAM 方案是單用戶方案,因此對Ring ORAM 方案進(jìn)行調(diào)整,得到改進(jìn)Ring ORAM 方案。因?yàn)閿?shù)據(jù)共享者訪問數(shù)據(jù)時(shí)需要獲得數(shù)據(jù)塊地址,以及搜索數(shù)據(jù)時(shí)需要涉及數(shù)據(jù)緩沖區(qū),而數(shù)據(jù)塊地址表和數(shù)據(jù)緩沖區(qū)都是數(shù)據(jù)所有者本地存儲;因此,對單用戶的Ring ORAM 方案進(jìn)行改進(jìn),將數(shù)據(jù)所有者作為數(shù)據(jù)共享者與云存儲服務(wù)器的第三方,負(fù)責(zé)數(shù)據(jù)塊地址查詢工作和擔(dān)任數(shù)據(jù)緩沖區(qū)的角色。數(shù)據(jù)共享者訪問數(shù)據(jù)時(shí),首先需要與數(shù)據(jù)所有者建立通信,通過數(shù)據(jù)所有者獲取數(shù)據(jù)塊地址,并在云存儲服務(wù)器和數(shù)據(jù)所有者的緩沖區(qū)中搜索數(shù)據(jù)。

ABE-M-ORAM 方案和傳統(tǒng)的基于串聯(lián)匿名器的ORAM方案以多用戶共享為設(shè)計(jì)目標(biāo),根據(jù)方案的設(shè)計(jì)原理和方法,在Matlab上分別編寫算法,仿真多用戶訪問共享云存儲數(shù)據(jù)。

3.2.2 ABE-M-ORAM方案與改進(jìn)Ring ORAM方案對比

ABE-M-ORAM 方案是在Ring ORAM 方案的基礎(chǔ)上集合屬性加密而形成的多用戶共享方案。本次實(shí)驗(yàn)在Matlab上仿真,針對ABE-M-ORAM 方案和改進(jìn)Ring ORAM 方案,模擬不同用戶數(shù)量同時(shí)訪問100 次共享數(shù)據(jù)。實(shí)驗(yàn)獲取每個(gè)用戶的訪問總時(shí)間,計(jì)算平均每個(gè)用戶100 次訪問的總時(shí)間。通過分析平均用戶訪問時(shí)間,研究同時(shí)訪問的用戶數(shù)量在不同方案中對訪問效率的影響。

表1 ABE-M-ORAM方案和改進(jìn)Ring ORAM方案的平均用戶訪問時(shí)間對比 單位:sTab.1 Average user access time comparison of ABE-M-ORAM scheme and improved Ring ORAM scheme unit:s

在改進(jìn)Ring ORAM 方案中,數(shù)據(jù)共享者訪問數(shù)據(jù)時(shí),首先與數(shù)據(jù)所有者建立信息交互渠道,將數(shù)據(jù)訪問請求發(fā)送給數(shù)據(jù)所有者。數(shù)據(jù)所有者根據(jù)數(shù)據(jù)共享者的訪問請求,從云存儲服務(wù)器獲取數(shù)據(jù),并傳遞給數(shù)據(jù)共享者。因?yàn)閿?shù)據(jù)塊地址表和數(shù)據(jù)緩沖區(qū)都建立在數(shù)據(jù)所有者本地,從云服務(wù)器端看,還是與數(shù)據(jù)所有者的雙向訪問,仍然屬于單用戶進(jìn)行操作。所有的數(shù)據(jù)的訪問操作都是由數(shù)據(jù)所有者進(jìn)行,當(dāng)訪問的用戶較多時(shí),訪問請求需要進(jìn)行排隊(duì)。同時(shí)訪問的用戶越多,平均訪問時(shí)間越長,訪問效率越低。

在ABE-M-ORAM 方案中,數(shù)據(jù)所有者不需要參加任何工作,身份認(rèn)證和信息傳遞的工作由代理負(fù)責(zé)。不同的用戶訪問時(shí)通過代理傳輸數(shù)據(jù),而代理可以同時(shí)處理多個(gè)用戶的訪問請求,因此,多個(gè)用戶可以并行訪問,減少了用戶大量的等待時(shí)間,極大地縮短了用戶的訪問時(shí)間,提高了用戶的訪問效率。而且,用戶的平均訪問時(shí)間幾乎不受同時(shí)訪問用戶數(shù)的影響。另外,每個(gè)用戶在訪問代理時(shí),互不影響。當(dāng)一個(gè)用戶訪問出現(xiàn)錯(cuò)誤時(shí),其他用戶仍然可以正常訪問。

3.2.3 ABE-M-ORAM 方案與基于串聯(lián)匿名器的ORAM 方案對比

在Matlab 上,模擬仿真基于串聯(lián)匿名器的ORAM 方案和ABE-M-ORAM 方案。實(shí)驗(yàn)設(shè)定有2個(gè)用戶在訪問云存儲服務(wù)器內(nèi)的數(shù)據(jù),獲取不同訪問數(shù)據(jù)量,即不同訪問次數(shù)情況下,計(jì)算平均每個(gè)用戶單次訪問時(shí)間,分析研究不同方案中訪問次數(shù)對訪問效率的影響。

在基于串聯(lián)匿名器的ORAM 方案中,用戶每次訪問數(shù)據(jù)前,都需要進(jìn)行嚴(yán)格的身份認(rèn)證,多用戶同時(shí)訪問時(shí),需要進(jìn)行多次身份認(rèn)證。隨著訪問數(shù)據(jù)量增加、訪問次數(shù)的增多,用戶的平均單次訪問時(shí)間在逐漸變長。ABE-M-ORAM 方案通過用戶屬性來對訪問進(jìn)行細(xì)粒度控制,利用可信第三方作為代理來進(jìn)行身份認(rèn)證,減少了身份認(rèn)證時(shí)間,提高了身份認(rèn)證的效率。訪問數(shù)據(jù)的增加,對用戶的平均單次訪問時(shí)間影響較小,方案的穩(wěn)定性更好。同時(shí),可信第三方作為代理,還能夠有效提高數(shù)據(jù)通信的效率,加快數(shù)據(jù)傳遞,提高用戶訪問數(shù)據(jù)的效率。

表2 ABE-M-ORAM方案與基于串聯(lián)匿名器的ORAM方案的平均用戶單次訪問時(shí)間對比 單位:msTab.2 Average user single access time comparison of ABE-M-ORAM scheme and serial anonymous device based ORAM scheme unit:ms

3.2.4 ABE-M-ORAM方案與BTS-M-ORAM方案對比

在Matlab 上,模擬仿真BTS-M-ORAM 方案和ABE-MORAM 方案。實(shí)驗(yàn)中,模擬不同數(shù)量用戶向云服務(wù)器同時(shí)提出對數(shù)據(jù)的100 次訪問請求,即獲取不同方案完成多用戶訪問所消耗的時(shí)間,計(jì)算平均完成每個(gè)用戶所有訪問所需要的時(shí)間,分析不同方案中多用戶訪問的時(shí)間效率。

表3 ABE-M-ORAM方案與BTS-M-ORAM方案的平均用戶訪問時(shí)間對比 單位:sTab.3 Average user access time comparison of ARE-M-ORAM scheme and BTS-M-ORAM scheme unit:s

在BTS-M-ORAM 方案中,用戶提出對云存儲服務(wù)器中存儲數(shù)據(jù)的訪問請求后,代理首先需要對用戶進(jìn)行身份驗(yàn)證,明確用戶對該數(shù)據(jù)是否具有訪問權(quán)限,具有權(quán)限則代理向云存儲服務(wù)器提取數(shù)據(jù),否則直接拒絕用戶的訪問請求。而且用戶的訪問權(quán)限不是永久授權(quán)的,在訪問期間,代理需要對用戶進(jìn)行多次身份驗(yàn)證,影響訪問效率。在ABE-M-ORAM 方案中,采用了屬性加密,保證了用戶只能對具有訪問權(quán)限的數(shù)據(jù)進(jìn)行解密,無法獲取權(quán)限之外的數(shù)據(jù),因此,不需要對用戶進(jìn)行身份驗(yàn)證,能大大提高用戶的訪問效率,節(jié)約代理的運(yùn)行資源,保證數(shù)據(jù)訪問的高效性。

4 結(jié)語

基于屬性加密作為一種新型的密碼方案,能夠?qū)崿F(xiàn)對數(shù)據(jù)的靈活細(xì)粒度訪問控制,使得它可以廣泛地應(yīng)用于政治、軍事、商業(yè)等諸多領(lǐng)域,尤其是屬性基加密為解決云存儲環(huán)境下數(shù)據(jù)的多用戶安全共享提供了一種解決方案。現(xiàn)階段,對基于屬性加密機(jī)制的研究雖然成果顯著,但是由于實(shí)際運(yùn)用中還出現(xiàn)了很多問題,所以還有許多地方有待改進(jìn)。下一步的研究重點(diǎn)主要涉及到以下兩個(gè)方面:第一,為了保證安全,增加了可信第三方和存儲了大量無效數(shù)據(jù)塊,對用戶的訪問效率產(chǎn)生了很大的影響。同時(shí),為確保安全性,可信第三方要對密鑰進(jìn)行維護(hù)和更新,占用了更多的計(jì)算資源和存儲空間,一定程度上影響了系統(tǒng)的工作效率。所以,如何在保證安全的基礎(chǔ)上提高效率是主要的研究方向之一。第二,在屬性修正機(jī)制方面,效率和安全依然是重中之重??尚诺谌叫枰鶕?jù)數(shù)據(jù)共享者屬性產(chǎn)生對應(yīng)的私鑰,而數(shù)據(jù)共享者的屬性并不是保持不變的。數(shù)據(jù)共享者屬性的不斷變化將占用可信第三方大量的計(jì)算資源,因此如何解決數(shù)據(jù)共享者屬性變化帶來的效率降低問題,也是現(xiàn)階段主要的研究方向之一。

猜你喜歡
用戶
雅閣國內(nèi)用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應(yīng)用
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 久久精品亚洲中文字幕乱码| 亚洲黄色视频在线观看一区| 亚洲天堂网2014| 青青青国产视频手机| 亚洲AⅤ无码国产精品| 亚洲伦理一区二区| 国产又黄又硬又粗| 国禁国产you女视频网站| 好吊色妇女免费视频免费| 日本尹人综合香蕉在线观看| 国产成人免费手机在线观看视频 | 成人午夜久久| 国产免费久久精品99re不卡| 成年免费在线观看| 免费毛片全部不收费的| 亚洲无线观看| 久久久波多野结衣av一区二区| 精品国产成人高清在线| 日韩欧美国产区| 久久情精品国产品免费| yjizz国产在线视频网| 国产一线在线| 草逼视频国产| 亚洲天堂免费观看| 亚洲天堂网站在线| 国产国模一区二区三区四区| 蜜桃臀无码内射一区二区三区| 五月婷婷中文字幕| 伊人激情综合网| 亚洲一区二区约美女探花| 日韩一区精品视频一区二区| 91破解版在线亚洲| 久久精品只有这里有| 亚洲福利视频一区二区| 啪啪免费视频一区二区| 欧美中文一区| 国产成人亚洲无吗淙合青草| 国产9191精品免费观看| 久久国产V一级毛多内射| 一区二区影院| 亚洲人成人伊人成综合网无码| 国产成人91精品免费网址在线| 国产va欧美va在线观看| 欧美在线综合视频| 四虎影院国产| 一区二区理伦视频| 精品国产一区91在线| 亚洲欧美另类中文字幕| 色综合手机在线| 99九九成人免费视频精品| 国产好痛疼轻点好爽的视频| 呦系列视频一区二区三区| 狠狠亚洲五月天| 一本色道久久88综合日韩精品| 久久五月视频| 亚洲欧洲AV一区二区三区| 99re在线免费视频| 毛片视频网址| 欧美激情第一欧美在线| 日韩国产无码一区| 99爱在线| 欧美黄网在线| 亚洲日本中文综合在线| 91免费国产在线观看尤物| 精品欧美视频| 在线永久免费观看的毛片| 宅男噜噜噜66国产在线观看| 国产区在线看| 91亚洲免费视频| 国产无人区一区二区三区| 欧美区国产区| 亚洲天堂成人在线观看| 一区二区偷拍美女撒尿视频| 中文字幕免费播放| 天天操天天噜| 国产成人亚洲无码淙合青草| 免费一级成人毛片| 欧洲一区二区三区无码| 国产伦精品一区二区三区视频优播 | 亚洲天堂自拍| 人妻无码AⅤ中文字| 在线五月婷婷|