亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        付 偉,顧晨陽*,高 強

        (1.海軍工程大學(xué)信息安全系,武漢430033;2.海軍聯(lián)合參謀部指揮保障大隊,北京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)意隨機訪問機(Oblivious Random Access Machine,ORAM)[1]通過構(gòu)造恰當(dāng)?shù)拇鎯Y(jié)構(gòu)和訪問機制,對用戶訪問操作進行變換,并增加一些冗余操作,使攻擊者無法根據(jù)用戶的行為來獲取有效信息。該技術(shù)可以隱藏用戶訪問行為與訪問目標(biāo)之間的對應(yīng)關(guān)系,是現(xiàn)階段保護用戶訪問意圖的主要手段之一。ORAM 在傳統(tǒng)加密保護思想上額外增加了一道安全機制,提高了云端數(shù)據(jù)安全。

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

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

        1 相關(guān)研究

        1.1 屬性加密

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

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

        屬性加密模型主要由數(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ù)數(shù)據(jù)所有者提出的屬性集產(chǎn)生主密鑰MK 和屬性公鑰PK,利用主密鑰和用戶共享者屬性集合產(chǎn)生屬性私鑰SK,分發(fā)屬性公鑰PK和屬性私鑰SK。

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

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

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

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

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

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

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

        1.2 基于二叉樹的Ring ORAM

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

        將數(shù)據(jù)塊存儲在大小為b=O(log N)的bucket 中,以bucket 作為二叉樹的節(jié)點,建立高度為h=log N 的二叉樹,共有N 個葉子節(jié)點。服務(wù)器將數(shù)據(jù)塊存儲在二叉樹的節(jié)點中,用該節(jié)點的子葉子節(jié)點表示存儲地址。在本地設(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é)點l,則說明目標(biāo)數(shù)據(jù)塊存儲在路徑path(l)上的某一個bucket 中;路徑path(l)表示從根節(jié)點root到葉子節(jié)點l的路徑,即圖中虛線路徑。

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

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

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

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

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

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

        此方案雖然能夠解決多個用戶之間共享數(shù)據(jù)的問題,但訪問效率很低,而且無法鑒別訪問用戶的身份,不能實現(xiàn)基于用戶身份的權(quán)限訪問。因此,設(shè)計一個訪問效率高,并且能夠?qū)崿F(xiàn)根據(jù)用戶不同身份分配訪問權(quán)限的多用戶共享ORAM模型具有很大的實際應(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ù)和密鑰生成算法生成各類參數(shù)和密鑰,并分發(fā)給不同的用戶;云存儲服務(wù)器作為數(shù)據(jù)的存儲者,接收并存儲用戶上傳的數(shù)據(jù),以及向用戶提供所查找的目標(biāo)數(shù)據(jù)。每個用戶都需要與代理構(gòu)建信息傳輸渠道,將代理作為信息集中和傳輸?shù)那?,不會直接與云存儲服務(wù)器進行數(shù)據(jù)傳遞。因此,需要將原先由不同用戶本地存儲的位置映射表統(tǒng)一匯總到代理,并由代理進行位置映射表的整合,形成服務(wù)器中數(shù)據(jù)塊的位置映射表。

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

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

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

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

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

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

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

        2.1 方案介紹

        ABE-M-ORAM 的主體包括用戶(數(shù)據(jù)所有者和數(shù)據(jù)共享者)、可信第三方和云端服務(wù)器[22]。用戶和服務(wù)器不直接通信,而是由可信第三方負責(zé)兩者之間的數(shù)據(jù)傳遞??尚诺谌匠诉M行數(shù)據(jù)傳遞,還需要根據(jù)每一個接入的用戶的屬性,完成具有屬性特性的密鑰生成和分發(fā)工作;同時,還建立本地緩沖區(qū)stash 和存儲一張數(shù)據(jù)塊地址映射表,記錄每個數(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提交的屬性集合生成包含個人屬性集合信息的用戶屬性私鑰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,為其隨機分配路徑地址,并記錄在數(shù)據(jù)塊地址映射表中;隨后將密文數(shù)據(jù)塊C 存放在stash中。

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

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

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

        3)從root節(jié)點開始,沿著目標(biāo)路徑依次搜索每一個節(jié)點,找到目標(biāo)數(shù)據(jù)塊,則將目標(biāo)數(shù)據(jù)塊提交給可信第三方;若未找到或者在之前節(jié)點已經(jīng)找到目標(biāo)數(shù)據(jù)塊,則提交一個無效數(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,進行相應(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)系,并建立通信,從而實現(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è)計模型構(gòu)成,構(gòu)建多用戶訪問環(huán)境。由多個用戶組成的用戶群構(gòu)成數(shù)據(jù)提交和數(shù)據(jù)訪問端,云存儲服務(wù)器提供數(shù)據(jù)存儲服務(wù)功能。將可信第三方作為二者的連接樞紐,進行信息交換。用戶群、代理和云存儲服務(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ù)器之間信息傳遞,負責(zé)二者的溝通。為了保證訪問的安全,代理還需要具有用戶身份認證等功能;與此同時,系統(tǒng)初始化時,代理還需要產(chǎn)生密鑰和根據(jù)不同用戶的屬性分配密鑰。

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

        2.2.3 系統(tǒng)特點

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

        2.3 算法設(shè)計

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

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

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

        4)IdVer():驗證數(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òu)成,其中系統(tǒng)初始化Setup()、密鑰生成KeyGen()和信息加密Encrypt()三個算法是概率算法,而解密算法Decrypt()是確定性算法。常見的安全模型有選擇明文攻擊安全和選擇密文攻擊安全模型。

        選擇明文攻擊的定義是攻擊者選擇任意確定明文,通過掌握的加密方法獲取密文,通過明密文對比,獲取解密信息。CP-ABE 機制是選擇明文攻擊安全(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)者運行Setup()算法,得到公鑰PK 并交給攻擊者。

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

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

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

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

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

        3.2 性能分析

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

        3.2.1 實驗方法

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

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

        3.2.2 ABE-M-ORAM方案與改進Ring ORAM方案對比

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

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

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

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

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

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

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

        表2 ABE-M-ORAM方案與基于串聯(lián)匿名器的ORAM方案的平均用戶單次訪問時間對比 單位: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ù)量用戶向云服務(wù)器同時提出對數(shù)據(jù)的100 次訪問請求,即獲取不同方案完成多用戶訪問所消耗的時間,計算平均完成每個用戶所有訪問所需要的時間,分析不同方案中多用戶訪問的時間效率。

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

        4 結(jié)語

        基于屬性加密作為一種新型的密碼方案,能夠?qū)崿F(xiàn)對數(shù)據(jù)的靈活細粒度訪問控制,使得它可以廣泛地應(yīng)用于政治、軍事、商業(yè)等諸多領(lǐng)域,尤其是屬性基加密為解決云存儲環(huán)境下數(shù)據(jù)的多用戶安全共享提供了一種解決方案?,F(xiàn)階段,對基于屬性加密機制的研究雖然成果顯著,但是由于實際運用中還出現(xiàn)了很多問題,所以還有許多地方有待改進。下一步的研究重點主要涉及到以下兩個方面:第一,為了保證安全,增加了可信第三方和存儲了大量無效數(shù)據(jù)塊,對用戶的訪問效率產(chǎn)生了很大的影響。同時,為確保安全性,可信第三方要對密鑰進行維護和更新,占用了更多的計算資源和存儲空間,一定程度上影響了系統(tǒng)的工作效率。所以,如何在保證安全的基礎(chǔ)上提高效率是主要的研究方向之一。第二,在屬性修正機制方面,效率和安全依然是重中之重??尚诺谌叫枰鶕?jù)數(shù)據(jù)共享者屬性產(chǎn)生對應(yīng)的私鑰,而數(shù)據(jù)共享者的屬性并不是保持不變的。數(shù)據(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萬用戶
        亚州综合激情另类久久久| 久久夜色精品国产亚洲av动态图| 蜜臀性色av免费| 狠狠色噜噜狠狠狠狠888奇禾| 91青草久久久久久清纯| 亚洲熟女少妇精品久久| 国产欧美精品aaaaaa片| 国产精品对白刺激久久久| 夜夜被公侵犯的美人妻| 成人影院免费观看在线播放视频| 日韩一级黄色片一区二区三区| 正在播放国产多p交换视频| 牛牛本精品99久久精品88m| 日韩精品人妻中文字幕有码| 日本一二三四区在线观看| 国产成人精品a视频| 精品久久久久久久久午夜福利| 喷潮出白浆视频在线观看| 久久精品中文字幕有码| 99久久精品午夜一区二区| 99爱这里只有精品| 国产一区二区黑丝美女| 亚洲一区二区三区四区精品在线| 男人靠女人免费视频网站| 欧美人与禽交zozo| 久久99国产精品久久99密桃| 久久婷婷色香五月综合缴缴情| 成人欧美一区二区三区a片| 免费视频成人 国产精品网站| 综合久久精品亚洲天堂| 亚洲乱码国产乱码精品精| 在线观看av中文字幕不卡| 日本成人三级视频网站| 国产极品裸体av在线激情网| 国产精一品亚洲二区在线播放| 国产精品天天看大片特色视频| 日本久久大片中文字幕| 国产精品扒开腿做爽爽爽视频| 亚洲欧美日韩在线观看一区二区三区| 精品国产一区二区三区久久狼 | 久久精品—区二区三区无码伊人色|