蔡 英,張 猛,李 新,張 宇,范艷芳
(北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100101)
隨著圖像數(shù)據(jù)的指數(shù)級(jí)增長,云計(jì)算因其豐富的計(jì)算和存儲(chǔ)資源使圖像數(shù)據(jù)的存儲(chǔ)、多用戶檢索和分享更加高效[1]。因此,越來越多的用戶將圖像外包至云服務(wù)器,因上傳的數(shù)據(jù)對(duì)于云服務(wù)器來說是完全可見的[2],而在檢索過程中,云服務(wù)提供商和檢索用戶不可信以及外部敵手的存在,可能導(dǎo)致包含敏感信息的圖像數(shù)據(jù)泄露[3],這會(huì)對(duì)用戶的財(cái)產(chǎn)安全以及人身安全等造成威脅[4-6]。因此,云計(jì)算下的圖像檢索中的隱私保護(hù)是至關(guān)重要的[7-8]。
現(xiàn)有的實(shí)現(xiàn)隱私保護(hù)的圖像檢索技術(shù)大致分為非對(duì)稱內(nèi)積標(biāo)量保留加密(Asymmetric Scalar-Product-preserving Encryption,ASPE)[9-10],流密碼[11],保序加密[12]和同態(tài)加密[13]。ASPE因其密文內(nèi)積值和明文內(nèi)積值一致的特點(diǎn),可以實(shí)現(xiàn)云計(jì)算下在密文域的相似圖像檢索。相對(duì)于流密碼中密文異或與明文一致以及保序加密中密文順序與明文一致的特點(diǎn),ASPE不會(huì)泄露上述的數(shù)據(jù)關(guān)系。相對(duì)于同態(tài)加密可能出現(xiàn)的密文膨脹和密鑰過大的問題[14],基于ASPE的圖像檢索效率較高,是由于其通過隨機(jī)矩陣對(duì)特征向量進(jìn)行加密,安全性與向量長度正相關(guān),因此可以在安全性和效率之間動(dòng)態(tài)調(diào)整。2009年,WONG等[15]基于對(duì)K近鄰計(jì)算的研究提出了ASPE算法,經(jīng)其加密的數(shù)據(jù)向量和查詢向量可以保證密文內(nèi)積值和明文內(nèi)積值一致。YUAN等[16]將ASPE轉(zhuǎn)變?yōu)殄e(cuò)誤學(xué)習(xí)(Learning With Errors,LWE)困難問題,解決了使用相同密文查詢導(dǎo)致的安全問題。SONG等[17]為了防止查詢用戶擁有全部的密鑰,將ASPE算法的密鑰分解為兩部分,一部分用于本地加密,另一部分交給云服務(wù)器進(jìn)行重加密。LI等[18]為了進(jìn)一步提高向量的機(jī)密性,將加密數(shù)據(jù)向量和查詢向量進(jìn)行分裂,并分別進(jìn)行加密。上述大部分方案默認(rèn)檢索用戶是完全可信的,但在實(shí)際的多用戶場景下,可能存在惡意用戶泄露密鑰從而導(dǎo)致其他查詢用戶的明文泄露。文獻(xiàn)[17]雖然通過將一部分密鑰上傳至云服務(wù)器來解決用戶不可信問題,但同時(shí)會(huì)產(chǎn)生新的問題,即云服務(wù)器和檢索用戶因合謀導(dǎo)致的密鑰泄露。
針對(duì)上述問題,筆者提出一種面向ASPE中抗合謀攻擊的圖像檢索隱私保護(hù)方案。該方案在實(shí)際的多用戶場景下,不會(huì)泄露圖像及其特征的明文信息,且可以抵抗不可信用戶和云服務(wù)器之間的合謀攻擊。同時(shí)通過在大規(guī)模數(shù)據(jù)中可以快速進(jìn)行相似性檢索的局部敏感哈希來構(gòu)建索引。實(shí)驗(yàn)表明,在保證檢索效率的前提下,密文域下的檢索精度可以接近明文域下的檢索精度。
(1)GKey:密鑰生成。 數(shù)據(jù)擁有者隨機(jī)生成一個(gè)(d+1)×(d+1)維可逆矩陣M(d為正整數(shù)),將M-1(M的逆矩陣)發(fā)送給檢索用戶。
(4)Sim:相似度比較。 分別用p′i和p′j表示數(shù)據(jù)庫中兩個(gè)加密向量。 當(dāng)p′iq′-p′jq′>0,說明q與pi距離更近;否則反之,由此計(jì)算前K個(gè)相似圖像并返回給用戶。
給定一簇哈希函數(shù)H,H={h:D→U}。d表示兩點(diǎn)之間的距離。 給定閾值r1和r2,概率值p1和p2,其中r1 (1)若d(x,y)≤r1,則PH[h(x)=h(y)]≥p1。 (2)若d(x,y)≤r2,則PH[h(x)=h(y)]≤p2。 文中系統(tǒng)模型如圖1所示,由4類實(shí)體組成:可信機(jī)構(gòu)(Trust Authority,TA),圖像擁有者(Image Owner,IO),查詢用戶(Search User,SU)和云服務(wù)器(Cloud Server,CS)。 圖1 系統(tǒng)模型 (1) 可信機(jī)構(gòu):負(fù)責(zé)初始化系統(tǒng)安全參數(shù),生成所需密鑰,并分發(fā)給圖像擁有者、查詢用戶和云服務(wù)器。 (2) 圖像擁有者:首先提取圖像的特征向量,使用可信機(jī)構(gòu)通過可信信道發(fā)送的密鑰對(duì)圖像數(shù)據(jù)集進(jìn)行加密,并由特征向量構(gòu)造加密索引。最后,將加密索引及加密圖像上傳到云服務(wù)器。 (3) 查詢用戶:首先提取查詢圖像的特征,使用可信機(jī)構(gòu)通過可信信道發(fā)送的密鑰對(duì)其進(jìn)行加密,將其作為查詢陷門上傳到云服務(wù)器進(jìn)行檢索。最后,將云服務(wù)器返回的前K個(gè)結(jié)果進(jìn)行解密。 (4) 云服務(wù)器:存儲(chǔ)圖像擁有者上傳的加密索引和圖像,并根據(jù)查詢用戶上傳的陷門在索引中計(jì)算相似性,將相似的前K個(gè)圖像重加密后返回給查詢用戶。 文中案定義如下威脅模型:圖像擁有者和可信機(jī)構(gòu)完全可信,查詢用戶不可信,云服務(wù)器半可信(會(huì)按照設(shè)計(jì)的協(xié)議來執(zhí)行相應(yīng)的圖像檢索服務(wù)但可能會(huì)基于利益關(guān)系竊取存儲(chǔ)的圖像數(shù)據(jù)和查詢用戶的查詢請(qǐng)求)。由此得出以下4種攻擊模型: (1) 合謀攻擊:不可信查詢用戶和半可信云服務(wù)器存在合謀,例如查詢用戶向云服務(wù)器泄露加密密鑰。 (2) 唯密文攻擊:由于云服務(wù)器可以獲取加密圖像,索引和查詢陷門,因此云服務(wù)器可以對(duì)密文進(jìn)行窮舉攻擊。 (3) 已知背景攻擊:外部敵手獲取一些與圖像用戶相關(guān)的背景信息,并根據(jù)大量的查詢請(qǐng)求和相應(yīng)的檢索結(jié)果推斷出明文和密文對(duì)。 (4) 已知明文攻擊:云服務(wù)器通過已得知的與待解密文用同一個(gè)密鑰加密的一個(gè)或多個(gè)明密文對(duì)推斷出密鑰。 針對(duì)上述的威脅模型和系統(tǒng)模型,設(shè)計(jì)目標(biāo)如下: (1) 隱私需求。 ① 密鑰泄露:云服務(wù)器和查詢用戶不能獲得全部密鑰,且需要考慮兩者的合謀問題。 ② 索引隱私:索引由特征向量構(gòu)造,特征向量包含圖像的敏感信息。因此云服務(wù)器存儲(chǔ)的應(yīng)為加密索引。 ③ 圖像隱私:對(duì)圖像進(jìn)行可靠加密處理,防止云服務(wù)器了解圖像明文信息。 (2) 檢索效率:在不會(huì)降低檢索精度的前提下,為了適應(yīng)大規(guī)模的圖像檢索場景,方案的檢索時(shí)間復(fù)雜度應(yīng)盡可能低。 (3) 檢索精度:為了滿足檢索用戶的相似性需求,所提方案在密文域的檢索精度應(yīng)無限接近明文域下的檢索精度。 文中方案適用于多用戶場景下大規(guī)模數(shù)據(jù)的圖像檢索。在客戶端采用對(duì)角矩陣加密解決云服務(wù)提供商和檢索用戶之間的合謀攻擊,云服務(wù)器端通過代理重加密技術(shù)解決圖像的密鑰泄露問題,采用線性判別分析來解決局部敏感哈希構(gòu)建索引時(shí)因降維導(dǎo)致的精度下降。方案包括7個(gè)步驟,具體如圖2所示。方案中的參數(shù)說明如表1所示。 表1 符號(hào)描述 圖2 多用戶場景下的圖像檢索方案過程圖 方案步驟具體說明如下: (3) 圖像擁有者上傳加密索引。 根據(jù)圖像特征構(gòu)建的安全索引詳見算法1。 其中,步驟②~⑧是對(duì)角矩陣的構(gòu)造過程,步驟④中前d+1項(xiàng)的值設(shè)為1,原因是在步驟對(duì)特征加密時(shí),前d+1項(xiàng)是原始特征,后d-1項(xiàng)是混淆特征,因此為防止矩陣相乘時(shí)破壞原始特征,前d+1項(xiàng)設(shè)為1。 步驟⑨~是構(gòu)建局部敏感哈希索引的過程,其中步驟引入線性判別分析是為了減小局部敏感哈希因降維映射導(dǎo)致的精度丟失問題。 步驟~是對(duì)特征向量加密的過程,其中步驟是將特征擴(kuò)展到2d維。 步驟~是將特征分解成兩個(gè)2d維向量并由{A,M1,M2}加密。 算法1基于線性判別分析的抗合謀攻擊索引構(gòu)造算法。 輸入:P,V ① 初始化:哈希桶T={T[i]={φ},i∈N};矩陣A2d×2d={A[i][j]|A[i][j]=0,i,j∈(1,…,2d)}向量?={?i|?i∈{0,1},i∈(1,…,d-1)} ② fori←1 to 2ddo ③ ifi≤d+1 then ④A[i][i]=1 ⑤ else: ⑥A[i][i] =R(·)∥產(chǎn)生隨機(jī)數(shù) ⑦ end if ⑧ end for ⑩F.append(Pn)∥提取圖像特征并存入F中 張?zhí)m花用一顆赤誠的心,連續(xù)五年參與了師團(tuán)“5000致富帶動(dòng)工程”,與女職工郭艷英結(jié)成幫扶對(duì)子,使其成為團(tuán)場“脫貧致富標(biāo)兵”。在她的帶動(dòng)下,連隊(duì)25名職工成為團(tuán)場科技致富的“領(lǐng)頭雁”。她通過自學(xué)獲得了第二師頒發(fā)的“高級(jí)農(nóng)藝工”證書。 (4) 查詢用戶上傳陷門。 首先查詢用戶提取查詢圖像MQ的特征向量Q=(q1,q2,…,qd),并根據(jù)特征向量計(jì)算哈希桶值TQ=H(Q)=(v1(Q),v2(Q),…,vg(Q))。查詢用戶將Q擴(kuò)展為2d維向量,如式(1)所示: Q′=(q1,q2,…,qd,1,β1,β2,…,βd-1) , (1) 其中,βi,i∈(1,2,…,d-1),是隨機(jī)生成的二進(jìn)制向量。然后,使用{B,M1,M2}來加密向量Q′。加密分兩步進(jìn)行。 ① 根據(jù)B[j](j=1,2,…,2d)的值將向量Q′分為兩個(gè)2d維隨機(jī)向量{Q′v,Q′w}。若B[j]≥0,則Qv[j]+Qw[j]=Q[j];否則,Qv[j]=Qw[j]=Q[j]。 (2) (3) 式(2)和式(3)做差得到式(4): (4) (6) 云服務(wù)器發(fā)送重加密圖像。 云服務(wù)器根據(jù)查詢用戶所對(duì)應(yīng)的重加密密鑰co→u=gGo/Gu對(duì)結(jié)果R進(jìn)行重加密,得到結(jié)果R′,并將R′返回給查詢用戶。 (7) 查詢用戶解密圖像。 查詢用戶收到重加密結(jié)果R′之后,使用自己的私鑰Gr解密得到結(jié)果集合,如式(5)所示: Im=IDec(Gr,R)=(Ime(g,g)a)/(e(g,g)aGr)1/Gr。 (5) 針對(duì)密鑰安全性、圖像安全性、索引和查詢陷門的機(jī)密性進(jìn)行分析。 所提方案分別與CSM方案[5]和文獻(xiàn)[10]從計(jì)算和通信開銷進(jìn)行對(duì)比。其中,|λ|為安全參數(shù)λ的長度,n為圖像數(shù)量,K為檢索結(jié)果的數(shù)量,d為特征向量的維數(shù),h為用戶的數(shù)量,m為映射到哈希桶內(nèi)的圖像數(shù)量,s為隨機(jī)正整數(shù)。 6.1.1 計(jì)算開銷 如表2所示,索引構(gòu)建和陷門生成的計(jì)算開銷主要來自矩陣與向量的乘積,其中矩陣是密鑰矩陣,圖像特征構(gòu)成向量。文獻(xiàn)[10]和CSM方案通過擴(kuò)展向量維數(shù)判定用戶的合法性,其中文獻(xiàn)[10]將原來的d維向量擴(kuò)展為d+3+h維,CSM方案擴(kuò)展為2d+2+h維,文中方案擴(kuò)展為2d維,因此當(dāng)h增大時(shí),CSM方案和文獻(xiàn)[10]的計(jì)算開銷大于文中方案的計(jì)算開銷。為了增強(qiáng)特征的機(jī)密性,CSM和文中方案將維數(shù)擴(kuò)展后又將其分裂為兩部分,導(dǎo)致開銷是文獻(xiàn)[10]的2倍,但當(dāng)h增大(實(shí)驗(yàn)數(shù)據(jù)h=384)時(shí),文獻(xiàn)[10]的計(jì)算開銷就仍大于文中方案。圖像檢索的計(jì)算開銷也是來自矩陣的乘積,由于文中方案在算法1的步驟使用了線性判別分析,使桶內(nèi)的數(shù)據(jù)更加精準(zhǔn),桶內(nèi)數(shù)量比CSM和文獻(xiàn)[10]少s個(gè),因此提高了檢索的效率和精度。 表2 計(jì)算開銷對(duì)比 6.1.2 通信開銷 如表3所示,圖像擁有者主要的通信開銷來自向云服務(wù)器上傳n個(gè)加密的圖像及特征,其中n個(gè)加密圖像的長度為n|λ|,加密特征的長度由擴(kuò)展的特征向量決定,因文獻(xiàn)[10]和CSM方案通過擴(kuò)展特征向量維數(shù)判定用戶的合法性,其中文獻(xiàn)[10]將原來的d維向量擴(kuò)展為d+3+h維,CSM方案擴(kuò)展為2d+2+h維,文中方案擴(kuò)展為2d維。因此當(dāng)h增大時(shí),CSM方案和文獻(xiàn)[10]的通信開銷就大于文中方案的通信開銷。查詢用戶的通信開銷是將陷門上傳至云服務(wù)器,陷門的長度同樣由擴(kuò)展的特征向量決定,因此當(dāng)h持續(xù)增大時(shí),CSM方案和文獻(xiàn)[10]的通信開銷就仍大于文中方案的通信開銷。云服務(wù)器的通信開銷來自于返回給用戶的檢索結(jié)果,因此返回的檢索結(jié)果個(gè)數(shù)K越大,云服務(wù)器的通信開銷就越大。 表3 通信開銷對(duì)比 實(shí)驗(yàn)的開發(fā)平臺(tái)為PyCharm,開發(fā)語言為Python。測試環(huán)境:Intel(R)Core(TM) i7-8565U CPU @ 2.00 GHz的處理器,8 GB內(nèi)存,Windows 10操作系統(tǒng)。實(shí)驗(yàn)采用了GPU服務(wù)器(12核、60 GB內(nèi)存、2×P100、Ubuntu18+NV440+CUDA10.2)模擬云服務(wù)器的計(jì)算能力。仿真實(shí)驗(yàn)數(shù)據(jù)集采用加利福尼亞理工學(xué)院的Caltech 256數(shù)據(jù)集,其中包含256類圖像(共10 800張)。CNN模型提取特征向量的維度為4 096。分別從檢索準(zhǔn)確率和效率兩個(gè)方面進(jìn)行實(shí)驗(yàn)對(duì)比。 6.2.1 檢索準(zhǔn)確率 由于文中方案返回的是前K項(xiàng)結(jié)果,而P@K[19]是一種可以度量前K項(xiàng)檢索準(zhǔn)確率的指標(biāo),因此文中方案使用P@K來作為準(zhǔn)確率的衡量標(biāo)準(zhǔn),如式(6)所示: (6) 其中,K表示返回的圖像數(shù)量,npositive表示返回圖像中的正類圖像的數(shù)量。文中采用開源機(jī)器學(xué)習(xí)庫Scikit-learn中Decomposition模塊里的PCA函數(shù),即主成分分析,對(duì)特征進(jìn)行降維。 方案測試了不同K值在不同維度下的檢索精度。從表4可以看出,特征向量在d=128且K=5時(shí)檢索精度達(dá)94.17%。由方案設(shè)計(jì)可知,top-K(選擇相似度排名前K個(gè)元素)是由桶內(nèi)特征和查詢特征之間的歐氏距離決定的,因ASPE本身不會(huì)破壞特征向量,因此影響檢索精度的關(guān)鍵因素是使用局部敏感哈希構(gòu)建索引時(shí)因降維導(dǎo)致的精度丟失問題。圖3是在d=128,n=10 000情況下,通過線性判別分析優(yōu)化局部敏感哈希,文中方案在密文域下的檢索精度與明文域的檢索精度僅相差約2%,其中CSM方案和文獻(xiàn)[10]因未考慮局部敏感哈希因降維導(dǎo)致的精度丟失問題,單個(gè)哈希桶內(nèi)和查詢類相似類的個(gè)數(shù)比文中方案少,造成檢索準(zhǔn)確率比文中方案低。 表4 不同向量維度下的準(zhǔn)確率 % 圖3 不同返回圖像數(shù)量下P@K精度 6.2.2 檢索效率 從索引構(gòu)建、陷門生成和檢索計(jì)算開銷三方面來與CSM方案[5]和文獻(xiàn)[10]進(jìn)行檢索效率對(duì)比分析。 (1) 索引構(gòu)建計(jì)算開銷。 圖4表明當(dāng)向量維度d=128和圖像數(shù)量n=10 000時(shí),隨著用戶數(shù)量的增加,文獻(xiàn)[10]和CSM方案的構(gòu)造索引的時(shí)間開銷也隨之增加。文中因在算法1步驟~中將特征擴(kuò)充后再加密,所以開始時(shí)的構(gòu)建索引開銷比文獻(xiàn)[10]的大,又文獻(xiàn)[10]和CSM方案對(duì)向量的擴(kuò)展和用戶的數(shù)量相關(guān),所以當(dāng)用戶數(shù)量不斷擴(kuò)大時(shí),文中方案索引構(gòu)建開銷就會(huì)遠(yuǎn)小于其他兩個(gè)方案。因此文中方案在用戶規(guī)模龐大時(shí),效果明顯優(yōu)于其他兩個(gè)方案。 圖5表明在向量維度d=128和用戶的數(shù)量h=384時(shí),隨著圖像數(shù)量的增加,構(gòu)建索引的時(shí)間開銷也隨之增加。這是因?yàn)閳D像增加導(dǎo)致特征增加,構(gòu)建索引的時(shí)間也隨之增加。選取h=384是因?yàn)樵趫D4中當(dāng)用戶數(shù)量大致在384時(shí)文中方案的性能優(yōu)勢開始產(chǎn)生。 圖4 用戶規(guī)模變化下的索引構(gòu)建時(shí)間開銷 圖5 數(shù)據(jù)規(guī)模變化下的索引構(gòu)建時(shí)間開銷 圖6 特征維度變化下的陷門生成時(shí)間開銷 (2) 陷門生成計(jì)算開銷。 圖6表明在圖像數(shù)量n=10 000時(shí),隨著特征向量維度的增加,陷門生成的時(shí)間開銷也隨之增加。這是因?yàn)樯上蓍T的時(shí)間開銷主要來自于矩陣乘積,因此當(dāng)維度增大時(shí),矩陣乘積的時(shí)間開銷也增大。文中方案因引入的變量相對(duì)CSM方案和文獻(xiàn)[10]要少,所以陷門生成的時(shí)間開銷比其他方案要小。 (3) 圖像檢索計(jì)算開銷。 圖7表明在圖像數(shù)量n=10 000和返回?cái)?shù)量K=5時(shí),隨著向量維度的增加,檢索時(shí)間也隨之增加。這是因?yàn)榫S度增加導(dǎo)致矩陣相乘的計(jì)算開銷增大。圖8表明在特征維度d=128和返回?cái)?shù)量K=5下,隨著數(shù)據(jù)集的增大,檢索時(shí)間也隨之增加。這是因?yàn)閿?shù)據(jù)集增大導(dǎo)致映射到每個(gè)哈希桶的數(shù)量也隨之增加。文中方案因使用線性判別分析來擴(kuò)大類間距離和縮小類內(nèi)距離,因此映射到每個(gè)桶內(nèi)的數(shù)目更精準(zhǔn),在降低檢索開銷上比CSM方案和文獻(xiàn)[10]更具優(yōu)勢。 圖7 特征維度變化下的檢索時(shí)間開銷 圖8 數(shù)據(jù)集規(guī)模變化下的檢索時(shí)間開銷 針對(duì)云計(jì)算多用戶場景下圖像檢索的隱私保護(hù)問題,筆者提出了一種面向ASPE的抗合謀攻擊圖像檢索隱私保護(hù)方案。安全性分析證明了所提方案能夠達(dá)到已知明文攻擊、唯密文攻擊、已知背景攻擊和合謀攻擊下的安全。通過與其他方案的比較,證明了文中方案在大規(guī)模圖像數(shù)據(jù)中,依然可以在較小的計(jì)算開銷以及較高的檢索效率下,擁有接近明文域的檢索精度。3 系統(tǒng)模型與威脅模型及設(shè)計(jì)目標(biāo)
3.1 系統(tǒng)模型
3.2 威脅模型
3.3 設(shè)計(jì)目標(biāo)
4 多用戶場景下的圖像檢索隱私保護(hù)方案
5 安全性分析
6 方案性能分析
6.1 理論分析
6.2 實(shí)驗(yàn)分析
7 結(jié)束語