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

基于區(qū)塊鏈且支持驗證的屬性基搜索加密方案

2020-03-05 10:00:34
通信學報 2020年2期
關(guān)鍵詞:用戶

(河南理工大學計算機科學與技術(shù)學院,河南 焦作 454003)

1 引言

云環(huán)境下“一切即服務”的商業(yè)模式和按需付費的特點,使用戶支付一定的服務費便能享受到云端提供的各種服務,云存儲模式下廉價的計算和巨大的容量吸引越來越多的用戶為節(jié)約本地存儲和維護開銷將私人數(shù)據(jù)外包至云端服務器。但由于用戶失去了對數(shù)據(jù)的實際控制,考慮到云服務器的不可信以及保障用戶數(shù)據(jù)的隱私安全,數(shù)據(jù)需要在用戶上傳前進行加密處理,然而加密操作使基于明文的關(guān)鍵詞檢索技術(shù)無法使用??伤阉骷用埽⊿E,searchable encryption)技術(shù)的提出[1]實現(xiàn)了在不泄露用戶數(shù)據(jù)隱私的條件下完成對加密數(shù)據(jù)的搜索。

社交網(wǎng)絡、智慧醫(yī)療等云環(huán)境下,常常采用一對多的搜索模型,因此密文策略屬性基加密(CP-ABE,ciphertext-policy attribute-based encryption)機制和可搜索加密機制的結(jié)合是目前的研究熱點?;诿芪牟呗詫傩曰用芊桨竅2]使數(shù)據(jù)擁有者可以指定訪問策略,實現(xiàn)細粒度訪問控制。Yin等[3]結(jié)合CP-ABE 方案實現(xiàn)了可搜索加密方案,在安全索引上指定訪問結(jié)構(gòu),只有用戶的屬性滿足訪問策略時才可以進行搜索。劉振華等[4]提出了支持關(guān)鍵詞搜索的屬性代理重加密方案,將密鑰分為搜索密鑰和屬性密鑰,實現(xiàn)密文檢索和數(shù)據(jù)安全共享,并有效地隱藏搜索模式。孫瑾等[5]提出支持屬性撤銷的可驗證多關(guān)鍵詞密文檢索方案,在密文中捆綁撤銷信息,當屬性撤銷后無法檢索和解密密文消息。Curtmola 等[6]將可搜索加密應用在多用戶場景中,然而解密密鑰被多個用戶共享會增加其泄露的風險。因此,將屬性基加密技術(shù)應用到搜索加密機制中,能夠解決一對多搜索模式下數(shù)據(jù)擁有者和多用戶之間共享搜索密鑰導致密鑰管理難度大的問題,且支持數(shù)據(jù)擁有者對搜索結(jié)果進行細粒度訪問控制。

另外,在云環(huán)境的實際應用中,云服務器是半誠實且好奇的實體,存在為了節(jié)省計算或騙取服務費返回部分或不正確搜索結(jié)果的情況,這就需要用戶驗證搜索結(jié)果的正確性和完整性。Chai 等[7]首次提出可驗證的對稱密文檢索方案,用戶根據(jù)檢索路徑的散列序列對結(jié)果進行驗證。Jiang 等[8]提出可驗證的多關(guān)鍵詞排序搜索方案,用戶端采用消息驗證碼驗證返回結(jié)果的正確性。杜瑞忠等[9]基于倒排索引提出可驗證混淆關(guān)鍵詞的搜索方案,該方案需要數(shù)據(jù)擁有者和用戶事先通過安全信道共享驗證集合,用戶端先利用雙線性映射確定返回的結(jié)果是否包含查詢關(guān)鍵詞,再驗證返回結(jié)果正確性。以上方案均需要用戶本地進行驗證,計算開銷較大。為了減輕用戶的計算負擔,伍祈應等[10]引入第三方可信審計機構(gòu)對結(jié)果進行驗證,驗證時間與返回密文集合的大小有關(guān)。但是,現(xiàn)有的大多數(shù)可驗證SE 方案中,重點在于檢測惡意行為,缺乏某種機制去懲罰不誠實執(zhí)行者。

在按需付費的云環(huán)境下,云服務器想在返回搜索結(jié)果前得到服務費,用戶想在驗證正確后支付服務費,同時云服務器可能在得到服務費后返回不正確的結(jié)果,用戶可能在得到正確結(jié)果后聲稱不正確而不支付服務費,導致服務-支付不公平的現(xiàn)象。這就需要一種可靠的密文檢索方案,不僅能夠有效地檢測出惡意操作,而且支持公平支付機制,懲罰惡意行為。服務-支付不公平問題的解決,往往依賴于可信第三方,如銀行,當發(fā)生沖突時需要銀行耗費時間來解決。為了消除第三方機構(gòu),在點對點網(wǎng)絡中快速實現(xiàn)公平支付,區(qū)塊鏈技術(shù)受到了廣泛的關(guān)注。由于區(qū)塊鏈不可篡改的性質(zhì),引入?yún)^(qū)塊鏈公平機制到可搜索加密機制中,實現(xiàn)服務-支付公平,保證用戶和云服務器只要誠實地按照協(xié)議執(zhí)行,云服務器就可以得到相應的服務費,同時用戶得到正確的搜索結(jié)果。一旦云服務器被檢測到不誠實,就得不到服務費并且會受到損失保證金的懲罰。此外,用戶在搜索結(jié)果正確的前提下,不可否認云服務器提供的結(jié)果以拒絕支付服務費。Cai 等[11]在分布式存儲中實現(xiàn)動態(tài)的關(guān)鍵詞檢索,結(jié)合區(qū)塊鏈技術(shù),在客戶端和服務器之間進行公平搜索。Zhang 等[12]以在區(qū)塊鏈中臨時凍結(jié)押金的形式實現(xiàn)手續(xù)費的公平支付而不需要可信機構(gòu),保證參與方誠實執(zhí)行就能得到搜索結(jié)果以及服務費,但是在驗證結(jié)果正確性過程中需要用戶端進行大量的簽名驗證計算,用戶開銷較大。Wang 等[13]結(jié)合區(qū)塊鏈技術(shù)實現(xiàn)公平支付,采用智能合約存儲安全索引并執(zhí)行搜索,解決云服務器返回不正確結(jié)果的情況,保證用戶只要支付了手續(xù)費就總能得到正確的結(jié)果,雖有效地進行細粒度訪問控制,但只支持“與”門訪問策略,表達不靈活。Chen 等[14]提出支持邏輯表達式查詢的公平可搜索加密方案,該方案采用智能合約取代云服務器,但是該方案密文數(shù)據(jù)庫和安全索引均存儲在智能合約中,需要消耗大量的燃料。Li 等[15]采用時間鎖技術(shù)和比特幣區(qū)塊鏈,實現(xiàn)公平的單關(guān)鍵詞可搜索加密,但是需要礦工進行解密操作,違背了比特幣區(qū)塊鏈的特性。

針對以上應用問題,為了實現(xiàn)在一對多搜索模式下云服務器和用戶之間公平安全的搜索交易,且支持搜索結(jié)果的驗證,本文提出了一種基于區(qū)塊鏈且支持驗證的屬性基搜索加密方案,主要貢獻如下。1)結(jié)合對稱可搜索加密和CP-ABE,對共享解密密鑰指定樹形訪問結(jié)構(gòu),實現(xiàn)細粒度訪問控制,適合一對多搜索場景,只有屬性密鑰滿足訪問策略時才可以獲得解密密鑰。2)基于以太坊區(qū)塊鏈,設(shè)計2 個智能合約——搜索合約和驗證合約,將安全索引存儲在搜索合約中,減輕云服務器的存儲空間和搜索代價,驗證合約檢測云服務器搜索結(jié)果的正確性。同時,將區(qū)塊鏈公平機制引入可搜索加密方案中,實現(xiàn)服務-支付公平,只要用戶和云服務器誠實按照合約規(guī)則執(zhí)行,用戶就能得到正確的檢索結(jié)果,而不需要本地額外驗證,減輕數(shù)據(jù)使用者的計算開銷,同時云服務器收到相應的服務費。3)安全性分析表明,本文方案滿足自適應選擇關(guān)鍵詞語義安全,能有效防止隱私數(shù)據(jù)的泄露,實現(xiàn)密文檢索?;谡鎸崝?shù)據(jù)集在以太坊測試網(wǎng)絡中實現(xiàn)本文方案,性能對比與實驗分析表明,本文方案在索引產(chǎn)生、搜索令牌生成、檢索效率、驗證正確性以及交易數(shù)量方面具有一定的優(yōu)勢,適用于智慧醫(yī)療等一對多搜索場景。

2 以太坊區(qū)塊鏈相關(guān)知識

以太坊是智能合約的分布式應用平臺,擴展了比特幣的功能,支持圖靈完備腳本語言,是可編程的區(qū)塊鏈系統(tǒng)。

智能合約是一套控制著數(shù)字資產(chǎn)并包含了合約參與方約定的權(quán)利和義務,由計算機自動執(zhí)行而不需要人為參與的協(xié)議,總是按照事先約定的規(guī)則執(zhí)行操作。將智能合約以數(shù)字化的形式寫入以太坊區(qū)塊鏈中,由區(qū)塊鏈的不可篡改性以及密碼學散列算法保障存儲、讀取、執(zhí)行的整個過程透明、可跟蹤、不可篡改、不可否認。在以太坊中,智能合約是特殊的賬戶,由賬戶地址、腳本代碼、余額以及存儲空間構(gòu)成。

在以太坊中,有2 種不同類型的賬戶:外部擁有賬戶和合約賬戶。外部擁有賬戶由私鑰控制,地址對應于公鑰,可以發(fā)起消息通信交易進行轉(zhuǎn)賬或者創(chuàng)建合約交易觸發(fā)合約代碼的執(zhí)行。合約賬戶被合約代碼控制,一經(jīng)創(chuàng)建便存在于區(qū)塊鏈中不可更改,其代碼將被激活并運行。

礦工處理交易而產(chǎn)生的每一次計算都會產(chǎn)生費用,這個費用以指令操作所消耗的燃料(gas)量來支付,不同的指令消耗的gas 值不同。gasLimit表示發(fā)送方最多支出的燃料量,gasPrice 表示發(fā)送方愿意在每個燃料上支付的費用。對于每個交易,gasLimit×gasPrice 表示發(fā)送方愿意為執(zhí)行交易支付的最大費用。如果發(fā)送方賬戶余額中有足夠的以太幣來支付最大費用,那么該交易會被成功打包提交給區(qū)塊鏈;否則,交易被認為是無效的。

以太坊中有2 種類型的交易:通信交易和合約創(chuàng)建交易。通信交易通常指從一個外部賬戶到另一個外部賬戶進行轉(zhuǎn)賬的交易,合約創(chuàng)建交易表示產(chǎn)生一個新的以太坊智能合約并觸發(fā)智能合約中相關(guān)代碼執(zhí)行的交易。交易的數(shù)據(jù)結(jié)構(gòu)如下所示。

3 算法與安全模型定義

3.1 系統(tǒng)模型

基于區(qū)塊鏈的密文檢索系統(tǒng)如圖1 所示,適用于一對多的搜索模型,數(shù)據(jù)擁有者將密文集合上傳至云端,只有用戶的屬性私鑰滿足訪問結(jié)構(gòu)時才可以解密文檔,包含6 個參與方,分別是數(shù)據(jù)擁有者(DO,data owner)、數(shù)據(jù)使用者(DU,data user)、云服務提供商(CSP,cloud service provider)、可信授權(quán)機構(gòu)(TA,trusted authority)、區(qū)塊鏈(BC,blockchain)、智能合約(SC,smart contract)。

圖1 系統(tǒng)模型

3.2 算法定義

基于文獻[2]的CP-ABE 方案、文獻[6]的SE 方案以及文獻[13]的區(qū)塊鏈數(shù)據(jù)共享方案,構(gòu)建一種基于區(qū)塊鏈且支持細粒度訪問控制的可驗證密文檢索方案,該方案由7 個多項式時間算法的元組構(gòu)成,即

1)初始化算法。Setup(1λ)→PK,M K,可信授權(quán)機構(gòu)TA 輸入安全參數(shù)λ,輸出系統(tǒng)公共參數(shù)PK和主私鑰MK。

2)加密算法。Enc(PK,D,W,SKS,Γ,K1,K2)→C,MAC,I,數(shù)據(jù)擁有者DO 輸入系統(tǒng)公共密鑰PK、明文文檔集合D、關(guān)鍵詞集合W、搜索密鑰SKS、訪問策略Γ、加密密鑰K1、驗證密鑰K2,輸出密文文檔C、消息驗證碼集合MAC、安全索引I,數(shù)據(jù)擁有者將C發(fā)送給CSP,將索引I發(fā)送給搜索合約,將SKS、MAC、K2上傳到授權(quán)機構(gòu)TA。

3)用戶注冊算法。UserRegist(PK,MK,S)→SKU,SKS,K2,MAC,TA 輸入公共參數(shù)PK、主私鑰MK 以及用戶屬性集合S,輸出屬性私鑰SKU、搜索密鑰SKS、驗證密鑰K2、消息驗證碼集合MAC,TA 收到用戶的注冊請求,為用戶頒發(fā)相應的密鑰和集合。

4)搜索令牌生成算法。TokenGen(PK,kw,SKS)→Tkw,數(shù)據(jù)使用者DU 輸入公共參數(shù)PK、所查詢的關(guān)鍵詞kw、搜索密鑰SKS,輸出搜索令牌Tkw,DU 將Tkw發(fā)送給搜索合約。

6)驗證算法。Verify(DB(kw),C,K2,MAC)→Ckw/⊥,驗證智能合約輸入數(shù)組DB(kw)、密文集合C、驗證密鑰K2、消息驗證碼集合MAC,如果驗證通過,輸出正確的包含查詢關(guān)鍵詞的密文文檔集合Ckw;否則,算法輸出⊥,而不需要用戶本地驗證CSP 返回的結(jié)果是否正確,減輕用戶計算開銷。

3.3 安全模型定義

本文采用文獻[7]的安全模型,在有狀態(tài)的模擬器B 和攻擊者A 之間采用基于模擬的游戲,允許泄露訪問模式和搜索模式來證明安全。信息泄露情況采用2 個泄露函數(shù)進行描述,即L=(L1,L2)。L1定義為L1(D)={|D|,n,{|Di|,id(Di)}i∈[1,n]},輸入文檔集合D,輸出文檔集合的大小、文檔數(shù)量、每個文檔的大小和標識符;L2定義為L2(D,w)=(AP(w),Tw),輸入文檔集合和查詢關(guān)鍵詞w,輸出關(guān)鍵詞的訪問模式AP(w)和搜索令牌。在挑戰(zhàn)者C、敵手A 以及模擬器B 之間進行的游戲定義如下。

4 方案構(gòu)造

1)系統(tǒng)初始化階段

Setup(1λ)→PK,M K。輸入安全參數(shù)λ,TA 定義G0、G1是Zp上的2 個乘法循環(huán)群,階p為一個大安全素數(shù),令g為群G0的生成元,定義雙線性映射e:G0×G0→G1,選取抗碰撞散列函數(shù)H1:{0,1}*→G0,定義偽隨機函數(shù)H2:{0,1}k×{0,1}*→{0,1}l,F(xiàn):{0,1}k×{0,1}*→{0,1}l,TA 隨機選擇,輸出系統(tǒng)公共參數(shù)PK=(G0,G1,p,g,h=gβ,e(g,g)α,F,H1,H2),系統(tǒng)主私鑰MK=(α,β)。其中,e(g,g)表示雙線性映射在群G1中的值。

2)加密階段

Enc(PK,D,W,SKS,Γ,K1,K2)→C,MAC,I。假設(shè)DO 有n個明文文檔,即D={D1,D2,???,Dn}需要加密上傳到CSP 中。

步驟1文檔加密,F(xiàn)ileEnc(D,K1,K2)→C,MAC 。數(shù)據(jù)擁有者DO隨機選取K1←{0,1}k作為明文文檔的對稱加密密鑰。DO 使用K1加密文檔Di(i∈[1,n]),得到,其中,ε表示安全的對稱加密方案,ε.Enc表示加密過程,ε.Dec表示解密過程。DO 選取驗證密鑰K2←{0,1}k對密文文檔Ci(i∈[1,n])生成消息驗證碼集合={H2(K2,Ci)|i∈[1,n]},DO 將密文文檔集合C={C1,C2,???,Cn}發(fā)送給CSP。

步驟2密鑰加密,KeyEnc(PK,K1,Γ)→。對于密鑰K1,數(shù)據(jù)擁有者DO 定義訪問結(jié)構(gòu)Γ,首先從樹的根節(jié)點r開始為樹Γ的每一個節(jié)點x分配一個階為dx的多項式qx(葉子節(jié)點的qx為常數(shù)),令kx表示節(jié)點x的門限值,設(shè)置deg(qx)=dx=kx-1,從樹的根節(jié)點r開始,DO 隨機選擇,并設(shè)置qr(0)=s,接著從Zp中選取deg(qr)個隨機系數(shù)來確定多項式qr;對于其他任意節(jié)點x,設(shè)置qx(0)=qparent(x)(index(x)),并從Zp中隨機選取deg(qx)個系數(shù)來確定多項式qx。令Y表示樹Γ中所有葉子節(jié)點,DO 計算得到密鑰K1加密后的密文,如式(1)所示。

其中,s為隨機數(shù),att(y)表示屬性值。

步驟3索引生成,IndexGen(PK,W,SKS)→I。DO 首先從文檔集合D={D1,D2,???,Dn}中提取關(guān)鍵詞。假設(shè)關(guān)鍵詞集合W={w1,w2,???,wm}。對于每一個關(guān)鍵詞wi∈W,DO 選擇一個大小為n的空數(shù)組DB(wi),該數(shù)組按如下方法構(gòu)造:如果第j個文檔包含關(guān)鍵詞wi,那么DB(wi)[j]=1;否 則DB(wi)[j]=0。例如,假設(shè)有3 個文件D1、D2、D3,其中,D1包含關(guān)鍵詞w1、w2,D2包含關(guān)鍵詞w2、w3,D3包含關(guān)鍵詞w1、w2,可以得到DB(w1)={101},DB(w2)={111},DB(w3)={010}。

接著,DO 對于關(guān)鍵詞集合W={w1,w2,???,wm}中的每一個關(guān)鍵詞wi∈W,隨機選取搜索密鑰SKS←{0,1}k并計算,DO 將和||DB(wi)(i∈[1,m])通過交易TXs發(fā)送給搜索智能合約地址AddS,調(diào)用智能合約的addIndex()函數(shù)存儲安全索引,如果DO 賬戶中沒有足夠的余額來支付$cost,系統(tǒng)回滾,其中,$cost 表示礦工收取的燃料費。

智能合約定義一個查找表I,其包含了m個條目,允許高效定位并查找密文信息,查找表的每一個條目與一個關(guān)鍵詞相關(guān)并包含一個鍵值對,其中,address 字段用于定位查找表的條目,value 字段用于獲得密文信息。在查找表中,當給定一個address 時,會立刻返回相應的value 域,令,可得,其中,1≤i≤m。

步驟4數(shù)據(jù)上傳。DO 將MAC=、SKS和K2通過安全信道傳輸給TA。

3)用戶注冊階段

UserRegist(PK,MK,S)→SKU,SKS,K2,MAC。用戶注冊階段由TA 執(zhí)行。當一個用戶DU 發(fā)送注冊請求后,TA 認證用戶的身份并通過安全信道頒發(fā)相應的密鑰。TA 為用戶的相應屬性集合S生成屬性私鑰,對?u∈U,TA 選擇,并且對?j∈S,TA 取,計算相應的屬性私鑰,如式(2)所示。

TA 為DU 頒發(fā)搜索密鑰SKS、驗證密鑰K2以及消息驗證碼集合。對于不同的DU 來說,屬性私鑰SKU是不同的,但是MAC 集合、SKS和K2都是相同的。

4)搜索令牌生成階段

TokenGen(PK,kw,SKS)→Tkw。搜索令牌由DU 生成。在用戶注冊階段,DU 得到相應的密鑰SKS,根據(jù)要查詢的關(guān)鍵詞kw 計算出搜索令牌。

5)搜索階段

Search(I,Tkw)→,DB(kw)。數(shù)據(jù)使用者DU將搜索令牌Tkw通過交易TXT發(fā)送給搜索合約地址AddS,調(diào)用智能合約的search()函數(shù)并傳入搜索令牌Tkw,使用智能合約進行搜索,如果DU 賬戶中沒有足夠的余額來支付$cost,系統(tǒng)回滾。搜索合約的設(shè)計在第5 節(jié)介紹。

6)驗證階段

Verify(DB(kw),C,K2,MAC)→Ckw/⊥。數(shù)據(jù)使用者DU 讀取到DB(kw)后,初始化集合IDMAC,遍歷DB(kw),如果DB(kw)[j]=1,將j添加到集合IDMAC中,得到IDMAC={id1,id2,???,idj},根據(jù)集合IDMAC遍歷MAC 集合,返回所有包含查詢關(guān)鍵詞kw 的消息驗證碼集合。

DU 將MACkw和K2通過交易TXC發(fā)送給驗證合約地址AddV,調(diào)用驗證合約中的addMac()函數(shù)并傳入?yún)?shù)MACkw和K2,方便合約進行驗證,令$serFee 表示數(shù)據(jù)使用者DU 支付給云服務器的手續(xù)費,被臨時保存在驗證合約賬戶中。驗證合約的設(shè)計在第5 節(jié)介紹。

云服務器讀取到DB(kw)后,初始化集合IDkw,遍歷DB(kw),如果第j個文檔包含關(guān)鍵詞kw,即DB(kw)[j]=1,將j添加到集合IDkw中,得到IDkw={id1,id2,???,idj},根據(jù)集合IDkw查詢密文數(shù)據(jù)庫,返回所有匹配的密文文檔Ckw={C1,C2,???,Cj}。

CSP 將包含查詢關(guān)鍵詞kw 的密文文檔Ckw={C1,C2,???,Cj}通過交易TXV發(fā)送給驗證合約地址AddV,調(diào)用智能合約中的verify()函數(shù)并傳入?yún)?shù)Ckw,使用智能合約驗證云服務器返回結(jié)果的正確性,令$Guranty 表示云服務器CSP 支付給驗證合約的保證金。

借助驗證合約驗證云服務器返回結(jié)果的正確性,使數(shù)據(jù)使用者DU 總能得到正確的密文文檔Ckw={C1,C2,???,Cj},而不需要本地進行再次驗證,減輕用戶的計算開銷。

7)解密階段

Dec(SKU,CK1,Ckw)→Dkw/⊥。DU 收到正確的密文文檔Ckw={C1,C2,???,Cj}后,需要本地驗證是否具有解密權(quán)限。驗證通過,則可以進行解密得到明文文檔;如果驗證不通過,即使搜索到相應的文檔但由于不具有解密權(quán)限,故得不到明文文檔。

步驟1驗證密鑰Test(SKU,)→K1/⊥。DU收到密文后,檢查屬性私鑰SKU和訪問策略Γ是否匹配,如果不匹配,返回⊥;否則,根據(jù)文獻[2]采用自下而上的遞歸算法,得到A=e(g,g)rs。由此DU 可以恢復出對稱密鑰

步驟2用戶解密Dec(Ckw,K1)→Dkw。利用解密得到的對稱密鑰K1,解密讀取到的密文文檔Ckw={C1,C2,???,Cj},得到包含查詢關(guān)鍵詞kw 的明文文檔Dkw={D1,D2,???,Dj},即Di={ε.Dec(K1,Ci)|i∈[1,j]}。

5 智能合約設(shè)計

智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤并且不可逆轉(zhuǎn)。本節(jié)引入搜索合約和驗證合約的相關(guān)變量和函數(shù)。

1)搜索合約

搜索合約由數(shù)據(jù)擁有者DO 部署。搜索合約中用到的變量如表1 所示。

表1 搜索合約變量

搜索合約中用到的函數(shù)如表2 所示。

表2 搜索合約函數(shù)

2)驗證合約

驗證合約由數(shù)據(jù)使用者DU 部署。驗證合約中用到的變量如表3 所示。

表3 驗證合約變量

驗證合約中定義的函數(shù)如表4 所示。

表4 驗證合約函數(shù)

6 方案分析

6.1 正確性分析

6.2 安全性分析

定理1本文方案π是適應性選擇關(guān)鍵詞語義安全的,CSP 和外部攻擊者除搜索模式和訪問模式外,不會獲取任何額外信息。

證明如果對于任意敵手A,存在一個模擬器B,滿足條件,其中,negl(λ)是可忽略函數(shù),那么本文方案是適應性選擇關(guān)鍵詞語義安全。由文獻[7]的證明等價可知,基于模擬的游戲證明等價于不可區(qū)分游戲證明,敵手A 將通過分析模擬器產(chǎn)生的密文、索引以及搜索令牌的區(qū)分性贏得游戲,因此,要證方案是安全的,即。

模擬器自適應生成模擬密文文檔C*、模擬索引I*和模擬令牌的過程如下。

1)模擬密文文檔C*。根據(jù)泄露函數(shù)L1(D)={|D|,n,{|Di|,id(Di)}i∈[1,n]},模擬器均勻隨機地生成n個長度為|Di|i∈[1,n]比特的模擬加密文檔C*={C1,C2,???,Cn}。由于ε是安全的對稱加密方案,可保證中的C和中的C*在計算上是不可區(qū)分的,即

2)模擬安全索引I*。模擬器將I*設(shè)置為具有q個條目的查找表,在{0,1}l中隨機均勻選擇q個元素,其中i∈[1,q],根據(jù)泄露函數(shù)L1和L2,模擬器生成,模擬索引,在中構(gòu)造索引的過程采用偽隨機函數(shù)F,模擬I*就是使用隨機字符串取代相同長度輸出的。由偽隨機函數(shù)的安全性可知,在不知道密鑰SKS的情況下,敵手A 無法區(qū)分偽隨機函數(shù)F的輸出和相同大小的隨機字符串,因此,敵手在計算上無法區(qū)分I和I*,即

因此,由可忽略函數(shù)的定義可知,針對偽隨機函數(shù)F,在不具有搜索密鑰SKS的情況下,可保證中的搜索令牌和中的搜索令牌的不可區(qū)分性,即

由于敵手A 試圖通過分析密文、索引以及搜索令牌來贏得不可區(qū)分性游戲,即Adv(A(C))表示敵手A 區(qū)分真實密文文檔和隨機密文文檔的優(yōu)勢,Adv(A(I))表示敵手A 區(qū)分真實索引和隨機字符串的優(yōu)勢,Adv(A(Tw))表示敵手A 區(qū)分真實搜索令牌和隨機搜索令牌的優(yōu)勢,則

令negl(λ)=negl1(λ)+negl2(λ)+negl3(λ),有。

定理2對于CSP 和其他外部敵手,除密文文檔外,學習不到明文文檔的任何信息。

證明在本方案中,文檔Di在被上傳至CSP前采用對稱密鑰K1加密,并且DO 基于CP-ABE 將K1加密為存放在安全索引中,也就是說,即使CSP 和外部敵手竊聽到信道中的密文文檔,但是得到明文信息的難度等同于解密的難度。在中,=K1e(g,g)αs,所以想要解密得到K1,就必須計算出e(g,g)αs?;陔x散對數(shù)問題,對CSP 和外部攻擊者而言,由e(g,g)α和C=hs計算求得e(g,g)αs是困難的。同樣,基于計算性迪菲-赫爾曼問題,由于攻擊者沒有符合訪問策略的屬性密鑰,無法利用拉格朗日插值公式向上遞歸計算出根節(jié)點的值e(g,g)rs,進而不能計算出K1。因此,當且僅當屬性私鑰滿足訪問結(jié)構(gòu)時才可以計算出K1,從而解密出明文文檔。但由于屬性私鑰是由DU 私藏,因此對CSP 和外部攻擊者而言,除密文文檔外,學習不到明文文檔的任何信息。

6.3 公平性分析

本文利用智能合約,在點對點服務中快速實現(xiàn)公平支付,由以太坊區(qū)塊鏈保證合約執(zhí)行的不可篡改、不可否認以及可追蹤,確保CSP 和DU 誠實地按照合約規(guī)則執(zhí)行。借助驗證合約驗證CSP 返回結(jié)果的正確性,使DU 總能得到正確的密文文檔Ckw={C1,C2,???,Cj},而不需要本地驗證,減輕用戶計算負擔。由于區(qū)塊鏈的不可篡改性,使智能合約一經(jīng)部署便不可修改并全網(wǎng)共識,只能按照合約的邏輯執(zhí)行,只要DU 得到正確的結(jié)果,CSP 才能得到手續(xù)費并贖回保證金,只要DU 支付了手續(xù)費,那么一定會得到正確的結(jié)果,在CSP 返回不正確的結(jié)果時,會受到懲罰并損失保證金,DU 同時收回手續(xù)費并得到保證金作為對CSP 的懲罰。此外,DU 不可否認CSP 提供的服務以拒絕支付服務費,因為DU 需要使用唯一的外部擁有賬戶來產(chǎn)生交易以調(diào)用合約,并且將手續(xù)費臨時存儲在合約賬戶中,一旦交易被確認并記錄在區(qū)塊鏈中便不可修改、不可否認。將區(qū)塊鏈公平機制引入可搜索加密方案中,實現(xiàn)服務-支付公平。

6.4 性能分析

1)功能對比

將本文方案的功能特征與文獻[10,12-13]中的方案進行對比,如表5 所示。文獻[10]方案支持多關(guān)鍵搜索,并支持細粒度訪問控制,同時引入一個可信審計機構(gòu)驗證來返回結(jié)果的正確性,對用戶不具有公平性。文獻[12-13]方案都是支持單關(guān)鍵詞的可搜索加密方案,且采用區(qū)塊鏈技術(shù)實現(xiàn)服務-支付公平,文獻[12]方案在驗證搜索結(jié)果是否正確時不需要引入可信審計機構(gòu),由用戶進行本地驗證,增加了用戶的計算開銷。另外,與本文方案相比,文獻[12]方案并不支持細粒度的訪問控制策略。而本文方案使用智能合約驗證結(jié)果,不需要用戶本地驗證,使用戶始終得到正確的搜索結(jié)果,減輕用戶本地計算開銷。文獻[13]方案和本文方案都采用屬性基加密機制實現(xiàn)對用戶的細粒度訪問控制,但是文獻[13]方案僅支持“與”門訪問策略,而本文方案支持訪問樹結(jié)構(gòu),策略表達更加靈活。另外,文獻[13]方案并不支持用戶驗證,而本文方案通過智能合約技術(shù)實現(xiàn)搜索結(jié)果的正確性驗證,同時支持公平支付。

從功能方面來看,本文方案既擴展了實際應用中對數(shù)據(jù)的細粒度訪問控制功能,又保證了云計算中搜索的安全性和正確性,同時實現(xiàn)服務-支付公平。

2)性能對比

將本文方案與相關(guān)方案在索引、搜索令牌、搜索、驗證方面的計算代價進行對比,對基于區(qū)塊鏈的可搜索加密方案在交易數(shù)量上進行對比,如表6所示。其中,E0和E1分別表示群G和G1上的指數(shù)運算;M表示模乘運算;P表示雙線性對操作;H表示散列運算;F表示偽隨機函數(shù);|m| 表示DO提取關(guān)鍵詞個數(shù);|j| 表示包含關(guān)鍵詞w的文件數(shù);|l| 表示DU 查詢關(guān)鍵詞的個數(shù);|U| 表示系統(tǒng)的屬性個數(shù);|S| 表示DU 擁有的屬性個數(shù);|R| 表示返回密文文件個數(shù);|N| 表示文檔的數(shù)量;Ip表示與門訪問策略P的下標;|Y| 表示樹型訪問策略Γ的葉子節(jié)點個數(shù);SIG 表示簽名算法,包含簽名和驗證2 個過程;PK 表示公鑰加密算法,包含加密和解密2 個過程;—表示不參與此項操作。

索引生成階段,文獻[10]方案需要進行復雜的指數(shù)運算,且指數(shù)操作次數(shù)和系統(tǒng)屬性個數(shù)|U| 相關(guān)。一般情況下,|U| 要遠遠大于加密訪問策略中屬性數(shù)量|Y|,可見文獻[10]方案計算代價是最大的。文獻[12]方案需要在每個關(guān)鍵詞以及每個關(guān)鍵詞的文檔集合上進行一次F、一次H、一次SIG 運算,計算量較大。本文方案和文獻[13]方案雖也涉及耗時的指數(shù)和模乘運算,但都是一次性操作,數(shù)據(jù)使用者只需要計算一次,同時,文獻[13]方案需要在每個關(guān)鍵詞上進行2 次F,本文方案進行一次F,減少了索引生成時間。

表5 功能對比

搜索令牌生成過程中,文獻[10]方案主要依靠指數(shù)運算,且指數(shù)的計算代價隨|S| 線性變化。文獻[12]方案主要依靠偽隨機函數(shù)生成運算,且計算代價隨|N| 線性增加。文獻[13]方案需要先進行公鑰解密操作獲得搜索密鑰,然后通過一次偽隨機函數(shù)生成搜索令牌。而本文方案只需進行一次偽隨機函數(shù)就可以產(chǎn)生搜索令牌。

搜索階段,本文方案和文獻[13]方案都是常數(shù)級別,搜索時間快,因為構(gòu)建索引時采用基于鍵-值對的查找表方式,具有O(1)的搜索效率,使當給定一個搜索令牌時會立刻返回相應的值。此外,文獻[10,12]方案都需要CSP 進行搜索,CSP 存儲密文文檔和安全索引,而本文方案將密文文檔存儲在CSP,安全索引存儲在智能合約,使用智能合約進行搜索,減少占用CSP 的存儲空間并減輕CSP 的計算負擔。

驗證結(jié)果的正確性階段,文獻[10]方案需要由可信審計機構(gòu)進行3|R| 次雙線性對計算才可以檢測出是否正確,隨著|R| 增大,驗證時間增加。文獻[12]方案移除可信審計機構(gòu),但是需要用戶在本地進行|N| 次散列運算和|N| 次簽名驗證操作,隨著文檔數(shù)量的增加,驗證時間增加。本文方案不需要用戶本地驗證就可以得到正確的結(jié)果,使用智能合約進行|R|!次散列運算,降低了用戶的工作量,減輕用戶計算開銷。

本文方案與文獻[12-13]方案都是基于區(qū)塊鏈技術(shù)的,文獻[12]方案需要進行13 次交易,文獻[13]方案需要進行7 次,而本文方案的交易只有4 次,減少了交易在區(qū)塊鏈中上傳、打包以及確認過程中的時延,使系統(tǒng)具有較高的響應速度。

綜上所述,從索引生成、搜索令牌生成、搜索階段、驗證階段、交易數(shù)量5 個方面來看,本文方案在性能上是最優(yōu)的,采用智能合約實現(xiàn)外包搜索,降低了CSP 的存儲空間和計算開銷,同時支持搜索結(jié)果正確性的驗證,移除可信審計機構(gòu)而且不需要用戶本地額外驗證就能得到正確的搜索結(jié)果,降低了用戶的計算開銷,減少了交易數(shù)量以獲得更高的響應速率,并實現(xiàn)服務-支付公平。

3)實驗分析

為了更準確地評估方案的實際性能,本文使用真實數(shù)據(jù)集和PBC(pairing-based cryptography)庫在索引生成時間、搜索令牌生成時間、搜索時間方面進行仿真測試。本實驗采用IEEE 數(shù)據(jù)庫中的英文論文作為測試數(shù)據(jù)集,選取PBC 庫中提供的A類橢圓曲線,散列算法采用SHA-256,2 個偽隨機函數(shù)采用 HMAC-SHA256,對稱加密算法采用AES-256,智能合約采用solidity 語言,運行在以太坊虛擬機中,區(qū)塊鏈的實現(xiàn)基于以太坊官方測試網(wǎng)絡Rinkeby,賬戶采用以太坊錢包MetaMask。本實驗的硬件環(huán)境為 Intel(R)Core(TM)i5-4200 CPU(2.3 GHz),RAM 為4 GB。由于以太坊賬戶余額的限制,因此在實驗中設(shè)置參數(shù)如下:訪問樹中葉子節(jié)點個數(shù)|Y|=10,每個用戶擁有的屬性|S|∈[0,10],文檔的數(shù)量|N|∈[0,100],提取出的關(guān)鍵詞個數(shù)|m|∈[0,20]。實驗結(jié)果如圖2 所示。

如圖2(a)所示,在葉子節(jié)點個數(shù)固定為10 的情況下,索引生成時間與關(guān)鍵詞數(shù)量成正比。當關(guān)鍵詞數(shù)量為0 時,縱坐標不為0,因為需要在索引中為共享密鑰指定訪問策略,是一次性運算,時間為319.8 ms。此外,在索引生成階段,數(shù)據(jù)擁有者為每個關(guān)鍵詞調(diào)用一次HMAC-SHA256 算法。當關(guān)鍵詞數(shù)量為20 時,數(shù)據(jù)擁有者生成索引的時間為917.5 ms。安全索引由數(shù)據(jù)擁有者生成,并發(fā)送給智能合約存儲,不會影響用戶的搜索體驗。

如圖2(b)所示,搜索令牌生成時間并不會隨著用戶屬性的增加而劇烈變化。在用戶屬性為6 的情況下,用戶想要搜索關(guān)鍵詞“Blockchain”,由于采用單關(guān)鍵詞搜索,同時搜索令牌的生成只需要調(diào)用一次HMAC-SHA256 算法,測試可得搜索令牌的生成時間為29.6 ms。在用戶屬性為10 的情況下,搜索相同的關(guān)鍵詞,測試可得令牌生成時間為29.9 ms。通過10 次實驗可以得出結(jié)論,在C 語言環(huán)境下測試搜索令牌平均生成時間約為30 ms,用戶的屬性數(shù)量并不會影響搜索令牌的生成時間。在用戶想要搜索某個關(guān)鍵詞時,只需要通過約30 ms 時間提交搜索令牌,因此具有較高的效率。

表6 性能對比

圖2 實驗結(jié)果

如圖2(c)所示,當文檔數(shù)量為20 時,用戶搜索關(guān)鍵詞“Blockchain”的時間為51 ms;當文檔數(shù)量為60 時,搜索時間為60 ms;當文檔數(shù)量為100 時,搜索效率為58 ms。在搜索效率方面,由于構(gòu)建索引時采用基于鍵值對的查找表方式,因此隨著文件數(shù)量的增加,檢索效率保持不變,平均測試檢索時間為56 ms。在用戶支付一定的手續(xù)費后,只需大約56 ms 便可得到正確的搜索結(jié)果,而不需要額外步驟對結(jié)果正確性進行驗證。搜索效率表明,本文方案具有實時性,滿足云存儲環(huán)境下搜索應用需求。

綜合以上分析,本文方案實際性能測試和理論性能分析一致,且安全索引生成階段、搜索令牌生成階段以及搜索階段響應時間都處于毫秒級別,在實際應用過程中不需要用戶過長的等待,不會影響用戶的操作習慣,因此本文方案在智慧醫(yī)療等一對多搜索環(huán)境中具有實用性。

7 結(jié)束語

本文方案在對稱可搜索加密的基礎(chǔ)上,采用密文策略屬性加密機制和以太坊智能合約技術(shù),構(gòu)造了一種基于區(qū)塊鏈且支持驗證的屬性可搜索加密方案,實現(xiàn)一對多搜索模型下對共享解密密鑰的細粒度訪問控制,并且在半誠實且好奇的云服務器模型下驗證返回結(jié)果的正確性,而不需要用戶本地驗證就能得到正確的結(jié)果,減輕用戶計算開銷。同時由于區(qū)塊鏈的不可篡改性,保證用戶和云服務器之間的服務-支付公平,使用戶支付手續(xù)費就一定得到正確的檢索結(jié)果,同時云服務器在提供正確結(jié)果后收到相應的服務費,并且用戶不可否認云服務器提供的正確結(jié)果而拒絕支付服務費,使各參與方均誠實地按照合約的規(guī)則執(zhí)行操作。實際性能測試和理論性能分析表明,本文方案與相關(guān)方案相比,在安全索引產(chǎn)生、搜索令牌生成、檢索效率以及交易數(shù)量方面有一定的性能提升,在保障數(shù)據(jù)隱私的同時,提高了檢索效率并驗證結(jié)果的正確性。下一步將考慮多關(guā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
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 在线五月婷婷| 国产精品专区第1页| 亚洲中文字幕97久久精品少妇| 国产精品尤物铁牛tv| 538精品在线观看| 国产精品国产主播在线观看| 国产高清不卡| 亚洲毛片网站| 99热最新在线| 老色鬼欧美精品| 日本黄色a视频| 欧美日韩精品一区二区在线线| 欧洲高清无码在线| 无码AV高清毛片中国一级毛片| 亚洲看片网| 蝌蚪国产精品视频第一页| 久久成人国产精品免费软件 | 国产成人精品一区二区不卡| 色综合国产| 免费精品一区二区h| 国产精品免费p区| 日本欧美视频在线观看| 国产欧美日韩视频怡春院| 就去吻亚洲精品国产欧美| 国产精品一区二区在线播放| 国产精品一线天| 国产精品男人的天堂| 国产亚洲视频中文字幕视频| h网址在线观看| 老司机午夜精品网站在线观看| 国产三级精品三级在线观看| 国产成人盗摄精品| 国产玖玖视频| 国产午夜福利亚洲第一| 九色91在线视频| 国产精品无码久久久久久| 91免费精品国偷自产在线在线| 国产麻豆永久视频| 日韩欧美中文在线| 国产亚洲精品无码专| 成人福利在线免费观看| 中文字幕日韩丝袜一区| 国产午夜福利片在线观看| 久久人午夜亚洲精品无码区| 中国国语毛片免费观看视频| 日韩最新中文字幕| 色天天综合久久久久综合片| 天堂网亚洲综合在线| 国产伦精品一区二区三区视频优播 | 日韩免费成人| 久久黄色视频影| 99爱视频精品免视看| 在线观看免费黄色网址| 91外围女在线观看| 欧美精品导航| 欧美精品高清| 黄色福利在线| 在线国产毛片手机小视频| 精品国产电影久久九九| 久久96热在精品国产高清| 国产精品林美惠子在线播放| 精品剧情v国产在线观看| 久久免费视频6| 91网红精品在线观看| 日本亚洲最大的色成网站www| 亚洲黄色网站视频| 在线无码私拍| 成人综合网址| 国产传媒一区二区三区四区五区| a色毛片免费视频| 啪啪永久免费av| 久久精品国产免费观看频道| 丁香五月婷婷激情基地| 欧美亚洲国产视频| 免费无码网站| 91精品国产一区| 国产精品55夜色66夜色| 国产精品亚欧美一区二区三区| 无码网站免费观看| 国产精品第页| 成人综合久久综合| 九九热精品视频在线|