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

一種基于區(qū)塊鏈可驗證的加密圖像檢索方案

2022-02-24 05:06:14彭紅艷石貞奎李先賢
計算機工程 2022年2期
關(guān)鍵詞:智能

彭紅艷,李 杰,石貞奎,李先賢

(1.廣西師范大學(xué) 計算機科學(xué)與信息工程學(xué)院,廣西 桂林 541004;2.廣西多源信息挖掘與安全重點實驗室,廣西 桂林 541004)

0 概述

近年來,云服務(wù)中心遭受外部攻擊而丟失用戶數(shù)據(jù)的事故接連發(fā)生,為了確保圖像安全,用戶在將圖像外包到云服務(wù)器[1]之前會對數(shù)據(jù)進行加密以防止隱私泄露,然而加密后的圖像數(shù)據(jù)失去了明文特征,使用戶無法高效地進行圖像檢索,并且影響對圖像數(shù)據(jù)的管理。

在基于可搜索加密技術(shù)的圖像安全檢索方案中[2-3],用戶事先構(gòu)造安全索引并將其與加密圖像一起存儲到云服務(wù)器中,通過安全索引實現(xiàn)了在不泄露用戶數(shù)據(jù)隱私的條件下完成對加密數(shù)據(jù)的搜索,從而保證圖像數(shù)據(jù)的安全性和可用性。但是目前多數(shù)加密圖像檢索方案[2-5]沒有足夠重視惡意云服務(wù)器問題,可能返回給用戶錯誤或不完整的檢索結(jié)果。

由于很難構(gòu)造通用的認證結(jié)構(gòu)對圖像類型數(shù)據(jù)的相似度計算過程進行驗證,因此加密圖像檢索結(jié)果驗證面臨很大的挑戰(zhàn)。為準確捕捉用戶真正的目標與興趣點,本文通過使用區(qū)塊鏈技術(shù)[6],提出一種基于區(qū)塊鏈可驗證的加密圖像檢索(Blockchain-based Verifiable Encrypted Image Retrieval,BVEIR)方案。在智能合約上執(zhí)行圖像檢索任務(wù)時,借助區(qū)塊鏈的共識機制使每次搜索操作正確執(zhí)行,確保搜索結(jié)果的完整性和正確性。同時,為縮小圖像語義與其特征描述符之間的差距,設(shè)計一種利用視覺詞袋模型和simhash 的雙層索引結(jié)構(gòu),實現(xiàn)精細化圖像分類。該索引結(jié)構(gòu)的第1 層基于視覺詞袋模型,初步確定圖像的分類以減少simhash 計算量,第2 層則利用simhash 進行相似圖像檢索,以漢明距離作為判斷圖像之間相似性的指標,通過相似性比較提高搜索效率和精度。

1 相關(guān)工作

1.1 加密圖像檢索

文獻[7]提出一種保護隱私的圖像檢索方案,通過提取特征向量來表示對應(yīng)的圖像,并利用LSH 算法和K 最近鄰算法提高搜索效率,確保圖像數(shù)據(jù)安全。文獻[8]提出一種基于內(nèi)容的加密圖像檢索方案,通過引入基于離散對數(shù)問題的盲技術(shù)來保持特征向量的私密性,同時該方案支持模糊搜索。文獻[9]提出一種混沌加密方法用于保護圖像隱私,利用加速魯棒特征算法和詞袋模型來生成每個圖像的特征向量,并應(yīng)用局部敏感哈希算法構(gòu)造特征向量的可搜索索引。文獻[10]開發(fā)一種基于加密指紋的生物特征識別系統(tǒng),但該系統(tǒng)的搜索復(fù)雜度和數(shù)據(jù)庫大小呈線性關(guān)系。文獻[11]提出一種具有訪問控制功能的加密域圖像檢索算法,該算法可以管理用戶對圖像的訪問權(quán)限,實現(xiàn)不同用戶角色對圖像的訪問。文獻[12]提出一種基于內(nèi)容的加密圖像檢索方案,通過加密圖像紋理和顏色信息來解決大規(guī)模圖像數(shù)據(jù)的隱私保護問題,但該方案仍存在被惡意云服務(wù)器威脅的風(fēng)險。

1.2 可搜索加密和區(qū)塊鏈

密碼學(xué)家提出對稱可搜索加密(Searchable Symmetric Encryption,SSE)技術(shù)[13],以實現(xiàn)對加密數(shù)據(jù)的亞線性搜索。SSE 不僅可以用于精確搜索文本類型數(shù)據(jù),同樣還能對圖像類型數(shù)據(jù)進行相似性檢索[2]。文獻[14]設(shè)計了基于局部敏感哈希的SSE方案,其不依賴同態(tài)加密,但是復(fù)雜的構(gòu)建搜索憑證過程導(dǎo)致整體效率較低。文獻[2,14]都是在云服務(wù)器環(huán)境下設(shè)計加密圖像檢索方案,將加密圖像和加密索引存儲在云服務(wù)器中。文獻[15]提出動態(tài)身份驗證器用于檢查結(jié)果的完整性,但不能阻止惡意服務(wù)器的重放攻擊。文獻[16]提出的方法可以提供前向或者后向的安全性,但是當云服務(wù)器為惡意時,用戶仍無法簡單有效地驗證搜索結(jié)果。文獻[17-19]提出將區(qū)塊鏈技術(shù)融入到可搜索加密中實現(xiàn)去中心化、可靠、可驗證的檢索方案:文獻[17-18]采用智能合約存儲加密索引并執(zhí)行搜索操作,解決了云服務(wù)器返回不正確結(jié)果的情況,但是方案不支持相似性檢索;文獻[19]將密文數(shù)據(jù)庫和加密索引均存儲于智能合約中,但導(dǎo)致了巨大的存儲成本,造成不必要的浪費。

2 BVEIR 系統(tǒng)模型

2.1 系統(tǒng)結(jié)構(gòu)

本文提出的BVEIR 方案中包含以下實體:圖像擁有者(Image Owner,IO),服務(wù)提供 者(Service Provider,SP),圖像使用者(Image User,IU),智能合約,云服務(wù)器即云平臺(Cloud Platform,CP),系統(tǒng)模型如圖1 所示。

圖1 BVEIR 系統(tǒng)模型Fig.1 BVEIR system model

1)IO 即擁有圖像數(shù)據(jù)的人,為了得到圖像SP 的服務(wù),其自愿將圖像數(shù)據(jù)上傳給SP,但不愿將這種信任延伸到外包的CP 上。

2)SP 從圖像數(shù)據(jù)集中通過SIFT 提取特征,最終生成加密的圖像索引存儲到區(qū)塊鏈上。SP 還使用對稱加密算法對圖像進行加密,然后將加密圖像外包給CP。此外,SP 還會將解密密鑰指定樹形訪問結(jié)構(gòu),從而實現(xiàn)細粒度訪問控制。SP 部署用于搜索與更新的智能合約,當IU 發(fā)出搜索請求后,SP 認證用戶的身份并為用戶相應(yīng)屬性集合attr_list 生成屬性私鑰,通過安全信道將屬性私鑰和搜索密鑰頒發(fā)給IU。

3)在搜索請求之前,IU 必須在智能合約中存入足夠的搜索費(包括消息費和服務(wù)費)。如果IU 存入了足夠的搜索費并且被SP 驗證為授權(quán)用戶,那么IU 可以將生成的搜索令牌以交易的方式發(fā)送到搜索智能合約進行搜索。IU 從搜索智能合約接收到結(jié)果后,到CP 上下載相應(yīng)的加密圖像數(shù)據(jù)進行解密。

4)區(qū)塊鏈記錄從SP 得到的加密圖像索引,通過智能合約對IU 提供搜索服務(wù)以保證搜索結(jié)果的正確性和完整性。本文部署2 個智能合約(分別為搜索智能合約與更新智能合約)以支持整個系統(tǒng)的工作流程。

5)為避免CP 返回錯誤或者不完整結(jié)果對用戶搜索造成威脅,本文僅將加密后的圖像數(shù)據(jù)外包到云服務(wù)器中,搜索過程需要在區(qū)塊鏈上完成,甚至還可將云服務(wù)器進一步替換為分布式存儲服務(wù)器,例如IPFS[20]。

2.2 系統(tǒng)工作流程

系統(tǒng)工作流程包括以下步驟:

1)IO 將圖像數(shù)據(jù)上傳給SP。

2)SP 生成系統(tǒng)參數(shù)k和密鑰。SP通過SIFT 從圖像數(shù)據(jù)集中提取圖像特征,然后對提取的整個SIFT 局部特征描述因子進行K-Means 聚類,得到k個聚類中心作為視覺單詞表(或者說是詞典),這樣每一幅圖像就變成了一個與視覺詞關(guān)聯(lián)或者說圖像包含在一個聚類中心中,最后根據(jù)每一幅圖像所提取到的特征構(gòu)建其單獨的simhash 指紋,形成最終的索引結(jié)構(gòu),同時SP 將加密索引以及智能合約部署到區(qū)塊鏈上。索引結(jié)構(gòu)如表1 所示,為了方便展示,表中并沒有體現(xiàn)加密情況。

表1 索引示例Table 1 Example of index

3)SP 同樣利用對稱加密算法對圖像數(shù)據(jù)進行加密并且外包到CP 中。

IO 要查詢圖像數(shù)據(jù),執(zhí)行以下流程:

4)IO 要進行查詢并將查詢請求提交到SP。

5)SP 根據(jù)IO 查詢圖像生成search token,然后發(fā)送到搜索智能合約。

6)搜索智能合約收到search token 后進行相應(yīng)的搜索,并把結(jié)果在區(qū)塊鏈中進行廣播,這樣SP 將會得到結(jié)果。

7)SP 從區(qū)塊鏈上查詢到圖像ID 信息,在CP 中下載與之對應(yīng)的加密圖像并解密。

8)SP 返回給IO 最初查詢的圖像結(jié)果。

IO 查詢圖像數(shù)據(jù),執(zhí)行以下流程:

9)IU 將自己相應(yīng)的屬性集合attr_list 發(fā)送到SP請求搜索授權(quán)。

10)SP 認證IU 的身份,并為IU 所具有的屬性生成屬性私鑰,根據(jù)查詢圖像的請求頒發(fā)搜索密鑰。

11)IU 利用步驟10 中得到的搜索密鑰將查詢圖像生成的search token 發(fā)送到搜索智能合約中。

12)搜索智能合約收到search token 后進行相應(yīng)的搜索并把結(jié)果在區(qū)塊鏈中進行廣播,這樣IU 將會得到結(jié)果。

13)IU 從區(qū)塊鏈上查詢到圖像ID 信息,在CP 中下載與之對應(yīng)的加密圖像并解密。

3 BVEIR 方案設(shè)計

3.1 算法形式定義

本文提出的BEVIR 方案包括以下算法(符號說明見表2):

表2 符號說明Table 2 Symbol description

1)Setup(1λ)→(kabe,ks,kd)。給定一個安全參數(shù)λ,SP 隨機生成以下3 個密鑰:kabe=(pk,msk)用來進行CP-ABE加密;ks用來進行SSE方案;kd是對稱加密密鑰,用于加密圖像。

2)KeyGen(pk,msk,attr_list)→sk。由SP執(zhí)行這個算法,輸入公共密鑰pk、主私鑰msk 以及用戶屬性集合attr_list,輸出屬性私鑰sk。SP 收到IU 的搜索請求后,返回給IU 相應(yīng)的密鑰ks和sk。

3)Enc(pk,G,W,S,policy_str,ks,kd)→(Ψ,C,Ckd)。SP 輸入公共密鑰pk、原始圖像數(shù)據(jù)集合G、視覺字典W、圖像的simhash 指紋集合S、訪問策略policy_str、搜索密鑰ks、對稱密鑰kd,輸出安全加密索引Ψ、加密圖像集合C、密鑰kd嵌入訪問策略后的密文Ckd,SP將C 外包到CP,將加密索引Ψ 放入搜索智能合約中并將合約部署到區(qū)塊鏈上。

4)Trapdoor(pk,g,ks)→tokenq/tokenu。IU 向SP申請搜索/更新權(quán)限通過后,SP 通過安全信道將ks傳輸給IU,輸入公共密鑰pk、圖像g 和搜索密鑰ks,輸出搜索令牌tokenq,IU 將tokenq發(fā)送給搜索智能合約并在區(qū)塊鏈上完成搜索功能;或者輸出更新令牌tokenu,同樣IU 將tokenu發(fā)送給更新智能合約并在區(qū)塊鏈上完成動態(tài)更新功能。

5)Search(Ψ,tokenq)→ID/⊥。搜索智能合約輸入安全加密索引Ψ、搜索令牌tokenq,輸出相似圖像的標識符集合ID,之后IU 可以通過ID 到CP 中下載對應(yīng)的加密圖像。

6)Update(Ψ,tokenu)→Ψ’。更新智能合約輸入安全索引Ψ、更新令牌tokenu,輸出更新后的加密索引Ψ’。

7)Dec(sk,CID,Ckd)→DID/⊥。IU 輸入屬性私鑰sk、集合ID 對應(yīng)的相似加密圖像集合CID和對稱密鑰kd嵌入訪問策略后的密文Ckd,輸出解密后的相似圖像集合DID;否則,輸出⊥表示為空。

3.2 具體步驟

1)系統(tǒng)初始化階段Setup(1λ)→(kabe,ks,kd)。輸入安全參數(shù)λ,其中kabe=(pk,msk),SP 定義G0、G1是兩個階為素數(shù)p的乘法循環(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,SP 隨機選α,β←?p,輸出公共參數(shù)pk=(G0,G1,p,g,h=gβ,e(g,g)α,F(xiàn),H1,H2),主私鑰msk=(α,β)。其中,e(g,g)表示雙線性映射在群G1中的值。搜索密鑰ks=(k1,k2,k3),其中k1、k2、k3是偽隨機函數(shù)F、G、P 的參數(shù),這些函數(shù)的參數(shù)設(shè)置細節(jié)內(nèi)容可參見文獻[13]。SP 隨機選取kd←{0,1}k作為原始圖像數(shù)據(jù)的對稱加密密鑰。

2)用戶 屬性私 鑰生成階段KeyGen(pk,msk,attr_list)→sk,由SP 負責(zé)執(zhí)行。在一個用戶IU 發(fā)送搜索/更新權(quán)限申請后,SP 來認證用戶的身份為用戶的相應(yīng)屬性集合attr_list 生成屬性私鑰,并通過安全通信信道將屬性私鑰以及在系統(tǒng)初始化階段生成的搜索密鑰ks返回給用戶IU。SP 隨機選擇r←?p,并且?j∈attr_list,SP 取rj←?p,計 算對于不同IU 而言,屬性私鑰是不同的。

3)加密階段Enc(pk,G,W,S,policy_str,ks,kd)→(Ψ,C,Ckd)。假設(shè)SP 有#G 個圖像數(shù)據(jù)集,即G={g1,g2,…,g#G},需要加密上傳到CP 中,同時加密索引Ψ和密鑰kd嵌入訪問策略后的密文Ckd上傳部署到區(qū)塊鏈中。加密階段分為以下3 個步驟:

步驟1圖像加密,Enc(G,kd)→C。SP 使用kd加密圖像gi(i∈[1,#G]),得到ci=Enckd(gi)|i∈[1,#G]。最后SP 將加密圖像數(shù)據(jù)集C={c1,c2,…,c#G}外包給CP。

步驟2對稱密鑰加密,kenEnc(pk,kd,policy_str)→Ckd。對于對稱密鑰kd,SP 定義加密策略policy_str并根據(jù)加密策略構(gòu)造訪問樹T,首先從樹的根節(jié)點r 開始為樹T 的每一個節(jié)點x分配一個階為dx的多項式qx(葉子節(jié)點的qx為常數(shù)),令kx表示節(jié)點的門限值,設(shè)置deg(qx)=dx=kx-1,從樹的根節(jié)點r 開始,SP 隨機選擇s←?p,并設(shè)置qr(0)=s,接著從?p中選取deg(qr)個隨機系數(shù)來確定多項式qr;對于其他任意節(jié)點x,設(shè)置qx(0)=qparrent(x)(index(x)),并從?p中隨機選取deg(qx)系數(shù)來確定多項式qx。令Y表示樹T中所有葉子節(jié)點,?y∈Y,attr(y)表示葉子節(jié)點y對應(yīng)的屬性字符串,H(attr(y))將屬性字符串a(chǎn)ttr(y)散列成G0中的元素,SP 計算得到對稱密鑰kd加密后密文:

步驟3建立加密索引,indexBuild(W,S,ks)→Ψ。SP 使用底層的SSE 方案,通過搜索密鑰ks=(k1,k2,k3)生成安全加密索引Ψ。本文系統(tǒng)的索引結(jié)構(gòu)采用了鏈表的形式,但可以很簡單地看出也能用其他相似的數(shù)據(jù)結(jié)構(gòu)進行動態(tài)加密。例如,SP 首先從圖像集合G={g1,g2,…,g#G}中提取gi(i∈[1,#G])的SIFT 局部特征,然后對局部特征進行k-Means 聚類,得到用來表征圖像信息的視覺單詞wi(i∈[1,#W]),不同圖像的視覺單詞可能相同,同時還對提取到的SIFT 局部特征進行哈希編碼生成相應(yīng)的simhash 指紋S={s1,s2,…,s#G},這樣就能獲得每幅圖像對應(yīng)的視覺單詞和simhash 指紋,整理成為如表1 所示的形式,并基于可搜索加密算法構(gòu)建加密索引。這樣構(gòu)建索引,能夠在查找圖像過程中先根據(jù)視覺單詞排除掉大部分不相關(guān)圖像,而只在同一個分類下繼續(xù)根據(jù)simhash 進行相似圖像的查詢,所對應(yīng)的現(xiàn)實世界中的場景就是胸外科醫(yī)生只能對關(guān)于胸部CT 的醫(yī)療圖像進行搜索,而無權(quán)限搜索其他科室的圖像數(shù)據(jù),這樣處理不僅實現(xiàn)了對圖像數(shù)據(jù)使用者細粒度的搜索權(quán)限管理,而且還進一步縮小了搜索圖像的規(guī)模,縮短了搜索時間。其中,SP 初始化搜索數(shù)組As和查找字典Ts分別用來隨機存放每個鏈表的所有節(jié)點和每個鏈表的頭節(jié)點地址,ctr 是一個計數(shù)器,本文使用隨機函數(shù)π映射ctr 到數(shù)組As的一個隨機地址上。SP 計算是基于同一個視覺單詞w 建立的鏈表Lw中第i個節(jié)點,表示Lw中第i幅圖像的標識符id,表示Lw中第i幅圖像的f-bit 的simhash指紋信息,π(ctr+1)表示在搜索數(shù)組As中下一個節(jié)點的地址,然后SP 通過哈希函數(shù)H對加密后存儲在As中的π(ctr)地址上。隨著計數(shù)器ctr 的增加,SP 可以得到鏈表Lw的第i+1 個節(jié)點并且像上述操作一樣對進行加密。對于每條鏈表Lw而言,其頭結(jié)點地址還會被進一步加密存儲在搜索字典Ts中。最終得到加密索引Ψ={As,Ts},并將其與步驟2 中得到的Ckd一同通過交易Tx 發(fā)送給搜索智能合約,調(diào)用智能合約的storeIndex()函數(shù)存儲加密索引,如果SP 賬戶中沒有足夠的余額來支付$cost,系統(tǒng)回滾,其中,$cost 表示礦工收取的燃料費。建立加密索引的具體過程如算法1 所示。

算法1建立加密索引

4)令牌生成階段Trapdoor(pk,g,ks)→tokenq/tokenu。搜索/更新令牌由IU 生成。在IU 向SP 申請搜索/更新權(quán)限階段,IU 得到相應(yīng)的屬性私鑰sk 和搜索密鑰ks,通過特征提取器對要查詢的圖像g 計算出圖像的視覺單詞w 和simhash 指紋s,生成搜索令牌tokenq=(Fk1(wq),Gk2(wq),[sq]pk)或者更新 令牌。更新令牌又可以分為添加令牌和刪除令牌,如果需要添加一張圖片,添加令牌tokena=((Fk1(wa),Gk2(wa),Pk3(wa),Na),其中Na=((ida||0||[sa]pk||null)。而Ra是一串隨機數(shù){0,1}λ。如果需要刪除一張圖片,需要SP在用戶屬性私鑰生成階段對IU 的身份審核更加嚴格才能得到id 進而計算出tokend=(Fk1(wd),Gk2(wd),Pk3(idd),[sd]pk)。

5)搜索階段Search(Ψ,tokenq)→ID/⊥。IU 將搜索令牌tokenq通過交易Tx 發(fā)送到搜索智能合約的地址,調(diào)用搜索智能合約的search()函數(shù)進行搜索得到相似圖像的標識符集合IDq,具體過程如算法2 所示。

算法2搜索

從算法2 中可以看出,當判斷Σ=0 表示圖片存在并且在加密狀態(tài)下,計算得到τ3與解析到第j個節(jié)點的simhash 指紋的漢明距離為x,若x小于所定義的閾值z,則可認為圖片是相似的,否則是不相似的。如果IU 賬戶中沒有足夠的余額來支付$cost,系統(tǒng)回滾。算法2 定義一個搜索字典Ts和一個搜索數(shù)組As,其中Ts中包含了#W 個條目,允許通過Fk1(w)高效定位包含視覺單詞w 的頭結(jié)點地址addr(),進而在搜索數(shù)組As中遍歷鏈表Lw中所有的節(jié)點并且對節(jié)點中的加密simhash 指紋計算漢明距離x,在閾值z內(nèi)的為相似圖像,然后將id 添加進集合ID 中,否則為不相似圖像。本文所設(shè)計的索引結(jié)構(gòu)優(yōu)點在于查找圖像的過程中能夠通過視覺單詞來排除不相關(guān)的圖片,縮小查找范圍和減少計算量,進而提高檢索效率和精度。

6)更新階段Update(Ψ,tokenu)→Ψ’。IU 將更新令牌tokenu通過交易Tx 發(fā)送到更新智能合約的地址,調(diào)用搜索智能合約的add()函數(shù)進行添加圖片操作或者調(diào)用delete()函數(shù)進行刪除圖片操作,具體過程如算法3 所示。如果IU 賬戶中沒有足夠的余額來支付$cost,系統(tǒng)回滾。

算法3更新

7)解密階段Dec(sk,CID,Ckd)→DID/⊥。IU 從CP上將ID 對應(yīng)加密狀態(tài)下的相似圖像集合CID下載下來后,需要本地驗證IU 是否具有解密權(quán)限。如果驗證通過,則可以進行解密Ckd得到kd進而恢復(fù)出原始圖像;如果驗證不通過,即使搜索到相應(yīng)的文檔也不具有解密權(quán)限,所以得不到原始圖像。解密階段的具體步驟如下:

步驟1驗證密鑰VerifyKey(sk,Ckd)→kd/⊥。IU收到密文Ckd后,檢查屬性私鑰sk 和訪問策略policy_str是否匹配,如果不匹配,返回⊥;否則,采用自下而上的遞歸算法得到由此IU 可以恢復(fù)出對稱密鑰kd:

步驟2Dec(CID,kd)→DID。IU 利用解密得到的對稱密鑰kd,對CID解密得到DID,其中ID 為查詢到的相似圖像標識符集合。

3.3 智能合約設(shè)計

當發(fā)送交易到區(qū)塊鏈上時,若滿足智能合約的觸發(fā)條件,將自動執(zhí)行預(yù)先設(shè)定好的邏輯,待區(qū)塊鏈中多數(shù)驗證節(jié)點達成共識后,智能合約將成功執(zhí)行。由于智能合約會被自動觸發(fā)而不需要圖像服務(wù)提供商一直在線提供服務(wù),因此用戶無須直接面對惡意服務(wù)器的威脅,保證了在圖像服務(wù)提供商、圖像用戶和圖像擁有者之間交易的公平性。本文方案利用搜索智能合約和更新智能合約分別完成搜索過程以及對加密索引的更新。

1)搜索合約初始由SP 部署,之后在加密索引更新時IU 重新部署,這是因為智能合約中的代碼和執(zhí)行過程是提前制定的,一旦在區(qū)塊鏈上部署完成后其中的內(nèi)容無法修改且無法干預(yù)合約的執(zhí)行,所以只能以重新部署的方式完成迭代更新。合約結(jié)構(gòu)如圖2 所示,其中主要展示了搜索合約中的變量和函數(shù)。addr_owner 和addr_UC 分別表示合約創(chuàng)建者的地址和更新合約的地址,定義了數(shù)組類型變量store_EI 用于存儲加密索引和數(shù)組類型變量ID 表示搜索結(jié)果。此外,搜索合約包含存儲索引函數(shù)storeIndex(),SP 調(diào)用該函數(shù)并輸入加密索引Ψ,將其存儲到變量store_EI 當中。search()為搜索函數(shù),IU 調(diào)用該函數(shù)并傳入搜索令牌token,輸出搜索結(jié)果ID,同時更新合約調(diào)用getIndex()函數(shù)得到加密索引Ψ。

圖2 搜索合約結(jié)構(gòu)Fig.2 Structure of search contract

2)更新合約完全由SP 部署,合約結(jié)構(gòu)如圖3 所示,其中主要展示了更新合約中的變量和函數(shù)。變量addr_SP 表示合約創(chuàng)建者SP 的地址。更新合約包含添加函數(shù)add(),IU 調(diào)用該函數(shù)并傳入添加令牌,添加函數(shù)add()則調(diào)用搜索合約中的getIndex()得到變量store_EI,并根據(jù)添加令牌對store_EI 進行修改并重新部署搜索合約,以達到添加新索引的目的。delete()為刪除函數(shù),IU 調(diào)用該函數(shù)并傳入刪除令牌,刪除函數(shù)delete()同樣調(diào)用搜索合約中的getIndex()得到變量store_EI,同時根據(jù)刪除令牌對store_EI 進行修改并重新部署搜索合約,以達到刪除索引目的,更新合約通過添加函數(shù)和刪除函數(shù)來完成加密索引的更新功能。

圖3 更新合約結(jié)構(gòu)Fig.3 Structure of update contract

4 實驗評估與安全性分析

本節(jié)通過Ganache在本地構(gòu)建一個模擬的以太坊網(wǎng)絡(luò),并通過分析建立加密索引、在智能合約上存儲、搜索和更新所消耗的時間,對本文方案進行實驗評估。實驗環(huán)境為8 GB 內(nèi)存Intel?CoreTMi7-7700 3.20 Hz,操作系統(tǒng) 是Microsoft Windows 10 64 位。數(shù)據(jù)集為3 個真實數(shù)據(jù)集Holiday、Oxford5k 和Ukbench。最后對方案進行安全性分析并與現(xiàn)有方案功能進行對比。

4.1 數(shù)據(jù)集

實驗使用3 個著名的經(jīng)常用于人工智能領(lǐng)域的真實數(shù)據(jù)集,分別為Holiday、Oxford5k 和Ukbench。Holiday 包含個人度假時拍攝的圖片,以風(fēng)景為主,有1 491 張圖。Oxford5k 數(shù)據(jù)集包含針對11 個不同的地標landmarks 共5 062 張圖,每個地標有5 個可能的查詢表示。Ukbench 數(shù)據(jù)集包含2 550 個不同場景下的10 200 張圖。

4.2 加密索引建立(鏈下)

建立加密索引過程在鏈下進行,包含兩個階段:第一階段是對圖片預(yù)處理得到每張圖片的視覺單詞和simhash,本文使用python 來進行這一系列工作,包括提取所有圖像的SIFT 特征向量生成每張圖片的視覺單詞和他們的simhash 指紋;第二階段利用所有圖像的視覺單詞和simhash 建立加密索引,并將索引上傳到區(qū)塊鏈的智能合約,同時,將加密圖像存儲在云服務(wù)器中。

本文設(shè)定不同的聚類中心點個數(shù)k,通過聚類中心形成最后的視覺字典來建立索引。從圖4 中可以看出,聚類中心數(shù)量k不是特別影響索引生成的時間,但是有助于在智能合約上快速檢索。圖4 顯示了在3 個數(shù)據(jù)集上建立加密索引所需時間,可以看出,隨著數(shù)據(jù)集規(guī)模的變大,建立索引的時間也相應(yīng)增多。Holiday 數(shù)據(jù)集耗時約為20 s,Oxford5k 數(shù)據(jù)集約為61 s,Ukbench 數(shù)據(jù)集約為140 s。此處取20 次實驗結(jié)果的平均值為最后的結(jié)果,對于大規(guī)模圖像數(shù)據(jù)而言在可接受的范圍內(nèi),因為建立索引后可以動態(tài)修改無需重新建立一次索引。

圖4 不同聚類中心建立索引耗時Fig.4 Time consuming of indexing by different clustering centers

圖5 展示了BVEIR 方案與SEIR 方案[2]建立索引耗時的對比,可以看出,BVEIR 方案在建立索引方面耗時較少。

圖5 不同方案建立索引耗時Fig.5 Time consuming of indexing by different schemes

4.3 屬性私鑰生成(鏈下)

BVEIR 方案還支持對圖像數(shù)據(jù)的細粒度訪問控制策略。選取pbc 庫中提供的A 類橢圓曲線,對稱加密算法采用AES-256 來對圖像進行加密。本文采用密文策略的屬性加密機制完成對稱密鑰的加密,這實現(xiàn)了細粒度訪問控制,不滿足策略的用戶將無法完成對圖像的解密。本文所加密的是用來加密圖像的對稱加密密鑰,用戶只有在得到授權(quán)后才能恢復(fù)出原始的對稱加密密鑰,進而完成對加密圖像的解密工作。換言之,非授權(quán)用戶是無法解密出原始圖像的,從而實現(xiàn)了對數(shù)據(jù)擁有者圖像的隱私保護。如圖6 所示,隨著訪問策略授權(quán)的屬性個數(shù)增多,生成時間屬性私鑰的時間變長。當屬性個數(shù)為20 時,所需時間約為0.24 s,當屬性個數(shù)為60 時,所需時間約為0.5 s,即使當授權(quán)的屬性個數(shù)達到100 個時,所需時間也只需約1.6 s。而在實際應(yīng)用中,一般授權(quán)的屬性數(shù)量在10 個左右,所以,這個細粒度的訪問控制方案所需時間是可行的。

圖6 生成屬性私鑰耗時Fig.6 Time consuming of generating attribute private key

在后續(xù)工作中,將考慮利用屬性加密技術(shù)來約束用戶的搜索權(quán)限,與原先的構(gòu)建索引過程最大的優(yōu)勢在于可以對圖像數(shù)據(jù)使用者進行細粒度的搜索授權(quán),用戶只能在得到授權(quán)后才能通過陷門函數(shù)生成搜索憑證來完成后續(xù)的搜索操作,以此實現(xiàn)對搜索范圍的權(quán)限管理。當數(shù)據(jù)使用者的屬性滿足數(shù)據(jù)擁有者預(yù)先設(shè)定的訪問結(jié)構(gòu)時才能解密出對應(yīng)的搜索密鑰,這里提到的訪問結(jié)構(gòu)指的是被授權(quán)的屬性集合的結(jié)構(gòu)。

4.4 BVEIR 檢索的可靠性、效率與精度(鏈上)

使用Ganache 在本地構(gòu)建一個模擬的以太坊網(wǎng)絡(luò),驗證智能合約實現(xiàn)鏈上各個功能所需消耗的時間。智能合約采用solidity 語言,并通過javascript 編寫的腳本與智能合約交互實現(xiàn)存儲、搜索、更新功能。Ganache 與真實的以太坊環(huán)境非常相似,不同之處在于其默認的挖礦時間為0,即發(fā)起的交易立即可以得到確認上鏈,從而可以專注于智能合約的調(diào)試去分析是否實現(xiàn)了預(yù)定的邏輯處理。

在本文研究中,對檢索結(jié)果的性能評價使用精確率P與召回率R。由圖7 和圖8 可以看出。雖然本文提出的索引結(jié)構(gòu)BSEI 在隨著圖像數(shù)量增長的同時檢索精確率有所回落,但當圖像數(shù)量為10 000 時檢索仍然不低于30%。此外,從圖8 中還可以看出,3 個方案的召回率隨著圖像數(shù)量的增長而增長,但在圖像數(shù)量保持相同時,本文方案的召回率相比于EHD[21]和SIM[22]方案要好。通過精確率與召回率指標可以看出,本文提出的加密索引方案是可行的,并且檢索的效果符合預(yù)期。

圖7 不同索引結(jié)構(gòu)精確率對比Fig.7 Accuracy comparison between different index structures

圖8 不同索引結(jié)構(gòu)召回率對比Fig.8 Recall rate comparison between different index structures

本文方案的主要貢獻是在區(qū)塊鏈上進行加密圖像的檢索,通過區(qū)塊鏈的共識機制來保證圖像檢索結(jié)果的完備性。從圖9 中可以看出智能合約的各主要功能存儲、搜索和更新操作的耗時。存儲耗時最多,是因為加密索引需要通過交易的方式發(fā)送給智能合約。具體而言,為了避免超過gaslimit,本文在把加密索引存儲到智能合約階段將其分為n個子集,再以n次交易的形式發(fā)送到智能合約,加密索引的存儲大小、存儲上鏈需要的交易次數(shù)#Tx 和存儲到智能合約所消耗的時間在表3 中列出,可以看出,最小的數(shù)據(jù)集Holiday 需要的存儲時間約為55 s,最大的數(shù)據(jù)集Ukbench 需要的存儲時間約為876 s。通過多次交易的方式將加密索引分批存儲到智能合約當中,平均每筆交易需要約4 s 進行操作。這是與在云服務(wù)器上檢索方案最大的不同。此外,本文沒有考慮共識機制(挖礦)過程對效率的影響。

圖9 智能合約耗時Fig.9 Time consuming of smart contract

表3 加密索引存儲耗時Table 3 Time consuming of storing encrypted index

本文BVEIR 方案在搜索與更新時,需要在本地生成token 并通過交易的方式發(fā)送給智能合約以觸發(fā)對應(yīng)的功能,一次交易就能完成。3 個數(shù)據(jù)集的搜索時間都在10 s 以下,在可接受的時間范圍內(nèi)普通用戶進行常規(guī)搜索并能得到可靠的數(shù)據(jù),而SHEN 等[23]的圖像檢索時間平均為14.65 s,需要注意的是,可以通過調(diào)整聚類中心k的個數(shù)進一步優(yōu)化檢索效率。同時最大不同之處在于本文方案并不需要刪除字典,而是類似搜索一樣去找到需要刪除的圖像將其中的Σ置1 代表刪除,雖然這樣會導(dǎo)致刪除一張圖片時間要比增加一張圖片時間要多,原因是增加一張圖片只需要對搜索字典查找并將其加入到對應(yīng)的鏈表的頭節(jié)點,而刪除一張圖片不僅要找到對應(yīng)的鏈表,還需要對搜索數(shù)組查到找需要刪除圖像的id。普遍來說,遇到增加一張圖片比刪除一張圖片的情況要多,雖然一定程度上造成了更新階段比搜索階段消耗更多的時間,但是從區(qū)塊鏈存儲成本角度來分析,省去了刪除字典,降低了存儲到智能合約當中的成本。此外,本文提出的在區(qū)塊鏈上進行的加密圖像檢索方案產(chǎn)生的檢索成本相比于傳統(tǒng)的云服務(wù)器略顯高昂,但是帶來的優(yōu)勢是其無法比擬的,也提供了一種新的思路解決搜索結(jié)果的驗證問題。

圖10 中展示了部分檢索結(jié)果(山、帆船、金字塔、浮冰),可以看出,根據(jù)查詢圖像可以檢索到多張與其相似度很高的匹配圖像,從而說明BVEIR 具有可靠性和較高的檢索效率與精度,同時具有良好的隱私保護效果。

圖10 BVEIR 方案檢索結(jié)果Fig.10 Search results of BVEIR scheme

4.5 安全性分析

對BEVIR 方案的安全性分析如下:

1)完備性。一旦觸發(fā)智能合約中的條件并執(zhí)行預(yù)先設(shè)定好的邏輯(代碼),智能合約就會將運行后的結(jié)果永久保存在智能合約的狀態(tài)中,在以太坊上,這種結(jié)果是對所有人公開的。以太坊的共識機制保證了智能合約上的操作都能得到正確執(zhí)行,并且每個礦工可以對結(jié)果進行驗證,也就意味者通過搜索智能合約進行搜索可以得到正確的結(jié)果,無需用戶驗證結(jié)果,從而避免惡意云服務(wù)器所帶來的威脅。

2)機密性。為了證明本文方案π的機密性,遵循real-ideal simulation paradigm,首先在構(gòu)造中定義以下3 個泄露函數(shù):(1)泄露函數(shù)L1(G)={|G|,{|gi|,id(gi)},i∈[1,#G]},其中,id(gi)是第i幅圖像的唯一標識符。(2)泄露函 數(shù)L2(w,s)={SP(w,s),tokenq},其中,w 是圖像的視覺單詞,s 是圖像的simhash 指紋,SP(w,s)表示搜索模式。(3)泄露函數(shù)L3(w,s,id)={add/del,UP(w,s,id),tokenu},其中,add/del 作為區(qū)分輸入的目的(增加或刪除),UP(w,s,id)表示更新(增加或刪除)模式。

定理1如果F、G、P是偽隨機函數(shù),那么本文方案π是適應(yīng)性選擇關(guān)鍵詞安全的。

證明:如果對于任意敵手A 存在一個模擬器S,模擬器S 根據(jù)泄露函數(shù)L回答敵手A 的詢問。敵手A 識圖通過分析加密圖像、加密索引與搜索令牌來贏得游戲但由可忽略函數(shù)negl(λ)定義可知,任意多項式時間敵手A 在不具備對稱加密密鑰kd以及搜索密鑰ks(F,G,P)的情況下,對 于和的輸出結(jié)果在計算上不可區(qū)分的,滿足條件那么本文方案π是適應(yīng)性選擇關(guān)鍵詞安全的。

5 結(jié)束語

本文提出一種基于區(qū)塊鏈的加密圖像檢索方案,通過在智能合約上進行檢索,避免云服務(wù)器返回錯誤或不完整的搜索結(jié)果。此外,設(shè)計一種利用視覺詞袋模型和simhash 的雙層索引結(jié)構(gòu),提高圖像檢索的效率和精度。本文方案的索引生成過程也可以模塊化換為其他可搜索加密方案。后續(xù)將研究可信執(zhí)行環(huán)境TEE、同態(tài)加密、安全多方計算SMC、零知識證明ZKP 等技術(shù),在不泄露圖像隱私的情況下進一步降低檢索成本,增強方案的實用性。同時,還將在建立索引的過程融入卷積神經(jīng)網(wǎng)絡(luò)和主成分分析,獲得更好的相似圖像匹配效果。

猜你喜歡
智能
智能與自主
讓紙變得智能
一種智能微耕機的研發(fā)
智能制造 反思與期望
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
智能制造·AI未來
商周刊(2018年18期)2018-09-21 09:14:46
爭渡智能石化
能源(2018年4期)2018-05-19 01:53:44
主站蜘蛛池模板: 国产迷奸在线看| 永久毛片在线播| 久久semm亚洲国产| 欧美不卡视频在线| 国产一区二区福利| 国产高清在线观看| 日本在线视频免费| 亚洲男人的天堂在线观看| 成人日韩精品| 色吊丝av中文字幕| 波多野结衣无码AV在线| 免费女人18毛片a级毛片视频| 国产丝袜丝视频在线观看| 亚洲天堂.com| 欧美一级夜夜爽www| 精品视频在线观看你懂的一区| 国产激爽大片在线播放| av一区二区三区在线观看| 国产日产欧美精品| 在线无码九区| 国产经典三级在线| 美女裸体18禁网站| 精品福利国产| 国产精品无码AV中文| 亚洲VA中文字幕| 全色黄大色大片免费久久老太| 精品伊人久久久大香线蕉欧美 | 亚洲国产精品无码久久一线| 五月婷婷亚洲综合| 久久先锋资源| 亚洲欧美成人综合| 成人国产免费| 国产日韩欧美一区二区三区在线| 亚洲欧美人成电影在线观看| 毛片网站在线看| 黄色片中文字幕| 欧美日韩va| 在线观看免费人成视频色快速| 日韩欧美中文在线| 国产女人18水真多毛片18精品| 国产对白刺激真实精品91| 全裸无码专区| 国产福利一区二区在线观看| 好久久免费视频高清| 丝袜国产一区| 国产精品爆乳99久久| 国产人免费人成免费视频| 在线高清亚洲精品二区| 91啦中文字幕| 欧美国产日本高清不卡| 亚洲第一精品福利| 中文字幕在线免费看| 欧美亚洲日韩不卡在线在线观看| 成人免费黄色小视频| 91久久国产热精品免费| 亚洲精品无码成人片在线观看| 伊人欧美在线| 免费A∨中文乱码专区| 亚洲另类国产欧美一区二区| 国产免费久久精品44| 久久国产精品电影| 香蕉国产精品视频| 婷婷久久综合九色综合88| 亚洲无限乱码| 97国产在线视频| 亚洲人成色在线观看| 秋霞国产在线| 欧美有码在线| 五月婷婷精品| av天堂最新版在线| 亚洲黄色网站视频| 久久免费视频6| 欧美成人日韩| 中文无码精品a∨在线观看| 在线国产毛片| 国产精品性| 精品久久久久久中文字幕女| 制服丝袜国产精品| 国产精品视频猛进猛出| 午夜视频日本| 日韩中文字幕免费在线观看| 国产手机在线小视频免费观看|