龔 婕 田 原 于瑛瑜 張 燦
(中國(guó)人民解放軍31006部隊(duì),北京100840)
密文域信號(hào)處理是解決云環(huán)境中用戶隱私保護(hù)問(wèn)題的一個(gè)重要方案[1]。近年來(lái),學(xué)者提出了很多方案來(lái)實(shí)現(xiàn)密文域的多媒體處理任務(wù),如同態(tài)加密、混淆電路和秘密共享等。其中,在基于密文域的信號(hào)處理算法方面也出現(xiàn)了很多創(chuàng)新方法,如密文域圖像壓縮[2]、密文域圖像特征提取[3]等。
其中,基于秘密共享方案的密文域計(jì)算可以在密文域中進(jìn)行普通的加法和乘法運(yùn)算,其計(jì)算復(fù)雜度與Paillier加法同態(tài)方案[4]相比較低,但缺點(diǎn)是基于秘密共享的密文域中的乘法運(yùn)算需要在云服務(wù)器之間進(jìn)行交互。2012年,文獻(xiàn)[5]中提出了基于秘密共享下隱私保護(hù)的自適應(yīng)小波變換的圖像去噪算法,文中設(shè)計(jì)了一個(gè)在密文域中保持非線性比較特性的三方計(jì)算協(xié)議。2015年,Ankita Lathey等[6]提出了基于秘密共享的密文域圖像增強(qiáng)方案,解決了密文域中除法除不盡的問(wèn)題,但是其方案仍然只能進(jìn)行一些低層次的圖像增強(qiáng)操作。胡先君等[7]在2014年提出了雙密文的密文域圖像去噪方案,以實(shí)現(xiàn)密文域中的復(fù)雜圖像去噪算法,并在2016年對(duì)其進(jìn)行了完善[8]。2017年,Zheng Yifeng等[9]提出了附帶一個(gè)云數(shù)據(jù)庫(kù)的隱私保護(hù)圖像去噪方案,其方案是基于2個(gè)云服務(wù)器,一個(gè)是用來(lái)存儲(chǔ)加密的圖像塊,另一個(gè)是用于實(shí)現(xiàn)密文域的比較運(yùn)算。但是,以上方案中均沒有考慮2個(gè)云服務(wù)器的通信代價(jià)。
基于上述研究,本文提出了一種安全的密文域圖像處理方案。在該方案中,云服務(wù)器只需要在密文域中進(jìn)行普通的加法和乘法運(yùn)算,其計(jì)算復(fù)雜度大大降低;同時(shí),本方法可以直接擴(kuò)展應(yīng)用到其他基于歐式距離計(jì)算的安全圖像處理任務(wù)中。
2014年出現(xiàn)了全局圖像去噪算法[10],其原理是利用圖像中全部像素的鄰接窗口特征相似性,對(duì)圖像中的每個(gè)局部位置進(jìn)行去噪。這種方法使用NLM核函數(shù)Lij來(lái)計(jì)算第個(gè)i圖像塊和第j個(gè)圖像塊之間的相似性,即:
式中,Ni表示中心為的圖像塊;υ(Ni)表示圖像塊Ni的圖像像素值向量;表示平滑參數(shù)。因此,L=[Lij]n×n的行歸一化矩陣表示為:
矩陣L是一個(gè)對(duì)稱正的半正定矩陣,W是一個(gè)正的行隨機(jī)濾波矩陣,但不是對(duì)稱的,其非常接近一個(gè)對(duì)稱正定雙隨機(jī)矩陣。對(duì)一個(gè)對(duì)稱矩陣W,可以對(duì)其進(jìn)行特征分解:
式中,V=[V1,...,Vn],表示相互正交的特征向量,其對(duì) 應(yīng) 的 特 征 值 V=diag[λ1,...,λ2], 按 升 序 排 列 為矩陣L是一個(gè)對(duì)稱歐式距離矩陣,并且行歸一化矩陣W是一個(gè)低秩矩陣。因此,可以使用前m個(gè)特征值來(lái)近似W:
式中,Vm=[v1,...,vm];?m=diag[λ1,...,λm]。
對(duì)于一個(gè)n個(gè)像素的圖像,若n=256×256,W是一個(gè)n×n的矩陣,則W有232個(gè)元素。因此,直接計(jì)算W計(jì)算量巨大。為了降低計(jì)算量,可以只采用W的一些行來(lái)計(jì)算一個(gè)低秩矩陣,以實(shí)現(xiàn)W的近似計(jì)算,這種近似被稱為Nystr?m擴(kuò)展[11]。Williams和Seeger[12]證明了Nystr?m擴(kuò)展可以加速核矩陣的計(jì)算。
式中,LA表示子集A的m×m的子矩陣;LB表示B子集中的(n-m)×(n-m)的子矩陣;LAB表示子集A和子集B之間的m×(n-m)的子矩陣。
通過(guò)Nystr?m擴(kuò)展方法,前m個(gè)特征向量可以被近似為:
但是,Nystr?m擴(kuò)展近似的特征向量不是正交的。因此,使用子矩陣WA和WAB可以定義一個(gè)對(duì)稱矩陣。然后Q對(duì)進(jìn)行奇異值分解產(chǎn)生前m個(gè)正交的特征向量Vm和特征值?m:
以上GNLM圖像去噪算法中,主要的計(jì)算量是由于需要對(duì)每個(gè)圖像塊進(jìn)行迭代計(jì)算造成的。為了提高圖像處理效率,A.shamir提出了采用Shamir秘密共享方案[14]來(lái)對(duì)算法實(shí)現(xiàn)進(jìn)行改進(jìn),在確保秘密安全的前提下,通過(guò)實(shí)現(xiàn)圖像分塊并發(fā)計(jì)算來(lái)提高整體計(jì)算效率。
Shamir秘密共享方案使用一個(gè)基于多項(xiàng)式插值的(k,t)閾值方案,其滿足信息論的安全要求。這個(gè)方案將秘密S分成t個(gè)秘密分片其中{aj,j[1,k-1]}是隨機(jī)數(shù),x{1,...,t]},N是模數(shù)。BGW協(xié)議[15]是基于秘密共享方案提出的一種典型實(shí)現(xiàn)實(shí)例,它可以在3個(gè)非共謀的半誠(chéng)實(shí)參與方參與下進(jìn)行任何函數(shù)的安全計(jì)算。本文主要采樣一種基于三方的歐式距離計(jì)算協(xié)議,如圖1所示。這個(gè)協(xié)議可以安全地計(jì)算歐式距離,秘密值是兩個(gè)整數(shù)向量Xs,Ys。協(xié)議運(yùn)行過(guò)程如圖1所示。
(1)客戶端產(chǎn)生多項(xiàng)式pi(j)=ai j+Xi,qi(j)=βij+Yi,i{1,...,s}其中ai,βi是隨機(jī)數(shù)。隨后,客戶端計(jì)算多項(xiàng)式在3個(gè)點(diǎn)上{1,2,3}上的值,得到pi(1)={p1(1),…,ps(1)},pi(2)={p1(2),…,ps(2)},pi(3)={p1(3),…,ps(3)},qi(1)={q1(1),…,qs(1)},qi(2)={q1(2),…,qs(2)},qi(3)={q1(3),…,qs(3)}。
(2)客戶端將pi(1),qi(1)發(fā)送給云服務(wù)器1(CloudServer 1,CS 1),將pi(2),qi(2)發(fā)送給云服務(wù)器2(CloudServer 2,CS 2),將pi(3),qi(3)發(fā)送給云服務(wù)器3(CloudServer 3,CS 3)。
(3) 云 服 務(wù) 器 CS 1,CS 2,CS 3各 自 計(jì) 算 歐式距離多項(xiàng)式即CS 1計(jì)算CS 2和CS 3分別計(jì)算r(2)和r(3)。
(4)CS 1將r(1)發(fā)送給CS 2和CS 3;CS 2將r(2)發(fā)送給CS 1和CS 3;CS 3將r(3)發(fā)送給CS 1和CS 2。
(5)3個(gè)云服務(wù)器各自使用插值法從r(1),r(2),r(3)中重構(gòu)出二次多項(xiàng)式r。然后,每個(gè)云服務(wù)器計(jì)算r(0),其中r就是歐式距離值。
本方案在安全性和可用性之間取得了平衡,新的方案只將全局圖像濾波矩陣的一部分計(jì)算(圖像窗口核函數(shù)計(jì)算)用安全多方計(jì)算協(xié)議完成,從而減少了云計(jì)算服務(wù)器之間的交互。圖 2展示的是本方案的隱私保護(hù)的圖像處理框架圖。其中,第2.2節(jié)中所述的安全歐式距離計(jì)算協(xié)議可以用于GNLM算法中計(jì)算歐式距離矩陣。每個(gè)云服務(wù)器在自己的圖像分片上執(zhí)行圖像處理算法,降低了計(jì)算和通信復(fù)雜度。
圖2 隱私保護(hù)的圖像處理框架圖
在處理過(guò)程中,首先通過(guò)圖像矩陣堆疊、置亂、采用和分片等操作進(jìn)行圖像預(yù)處理,形成以行采樣索引為標(biāo)記的圖像分片,推送到云端進(jìn)行集中處理。接著,云服務(wù)器對(duì)每個(gè)分片的圖像進(jìn)行去噪處理,計(jì)算圖像塊中心為j和k之間的歐式距離,利用云平臺(tái)的并發(fā)性提高計(jì)算效率;最后,使用插值法對(duì)云服務(wù)器端計(jì)算出的分片結(jié)果進(jìn)行重構(gòu),形成圖像去噪結(jié)果。
本節(jié)中,主要將隱私保護(hù)的圖像處理框架應(yīng)用到GNLM算法中。基于第2.2節(jié)中所述的安全歐式距離計(jì)算協(xié)議,將圖像I分成秘密分片,每個(gè)云服務(wù)器得到其中一個(gè)分片。這些云服務(wù)器在一起交互計(jì)算出圖像去噪權(quán)重矩陣W。然后,每個(gè)云服務(wù)器利用權(quán)重矩陣W在自己的秘密分片上執(zhí)行權(quán)重濾波。之后將去噪后的秘密分片發(fā)回至客戶端,用戶在得到這些圖像分片后使用插值法重構(gòu)出去噪后的圖像。下面介紹方案的具體步驟。
3.2.1 預(yù)處理
在客戶端,用戶需要對(duì)圖像進(jìn)行加密來(lái)保護(hù)圖像內(nèi)容。同時(shí),又要確保云服務(wù)器能夠在加密的圖像上進(jìn)行計(jì)算。整個(gè)加密過(guò)程如下所示:
(1)圖像矩陣堆疊。對(duì)于NLM圖像去噪算法,W表示2個(gè)圖像塊之間的相似性。因此,首先將圖像I分成重疊的尺寸為s×s的圖像塊。式(10)給出了一個(gè)4×4的圖像分成4個(gè)尺寸為3×3的圖像塊的例子。在圖像堆疊完成后,矩陣Is的尺寸要比原始圖像的尺寸大s2倍。
(2)行隨機(jī)置亂。為了進(jìn)一步增強(qiáng)方案的安全性,需要對(duì)矩陣Is進(jìn)行行隨機(jī)置亂。首先,產(chǎn)生一個(gè)偽隨機(jī)置亂序列;然后,使用這個(gè)偽隨機(jī)置亂序列對(duì)矩陣Is進(jìn)行行隨機(jī)置亂,獲得置亂后的圖像矩陣為Isp。
(3)采樣。用戶均勻地從矩陣Isp中采樣m行,并將采樣的行索引并發(fā)給每個(gè)云服務(wù)器。采樣的行中的元素不應(yīng)該都是飽和像素。
(4)圖像分片。使用秘密共享方案將圖像矩陣Isp分為3個(gè)圖像分片{Ispi,i{1,2,3}},然后將圖像分片發(fā)送給各個(gè)云服務(wù)器。
3.2.2 密文域全局圖像去噪
根據(jù)得到的采樣索引,每個(gè)云服務(wù)器獨(dú)立計(jì)算W。假設(shè)采樣的行索引為j。云服務(wù)器CS i按如下公式計(jì)算圖像塊中心為j和k之間的歐式距離:
在式(10)中,可得圖像分片的中間列為圖像像素。因此,在密文圖像中執(zhí)行圖像去噪,每個(gè)云服務(wù)器在自己的圖像分片上做如下計(jì)算:
3.2.3 后處理
每個(gè)云服務(wù)器完成圖像去噪之后,將去噪后的圖像分片I'sp1,I'sp2,I'sp3發(fā)給客戶端,用戶使用插值法重構(gòu)出圖像像素,并對(duì)其做逆置換并恢復(fù)出圖像。這樣,用戶就得到了去噪后的圖像I'。
4 實(shí)驗(yàn)仿真
本節(jié)中將在基準(zhǔn)測(cè)試圖像上與Lathey方案[6]進(jìn)行性能對(duì)比。高斯噪聲的標(biāo)準(zhǔn)差取σ=10,30,50,分別添加到每個(gè)基準(zhǔn)測(cè)試圖像上。圖像塊的尺寸取s×s=5×5。在Lathey方案[6]中,本文仿真5×5的高斯濾波。因?yàn)楸疚闹猩婕半S機(jī)置亂和均勻采樣,故在仿真中使用5次獨(dú)立的采樣和噪聲模擬。對(duì)于不同的噪聲圖像(主要包括房子House、狒狒Baboon、橋Bridge、辣椒Peppers、女明星等圖片),部分圖像去噪后的平均峰值信噪比(PSNR)計(jì)算結(jié)果見表1。結(jié)果表明,本論文的方案比Lathey方案[6]的去噪效果好。在圖3中,本文給出了一些圖像去噪后的視覺效果,其中添加的高斯噪聲標(biāo)準(zhǔn)差為20,圖像的尺寸為256×256。可以看出本文的方案比Lathey方案[6]呈現(xiàn)更少的噪點(diǎn)。
表1 圖像去噪后的平均峰值信噪比(PSNR)
圖3 驗(yàn)證結(jié)果對(duì)比
本文提出了一種云端分片的密文域圖像處理方法,基于線性秘密共享的安全多方計(jì)算框架,將復(fù)雜的圖像處理過(guò)程并發(fā)部署到云計(jì)算服務(wù)器上,在密文域中進(jìn)行并發(fā)處理,在確保隱私保護(hù)的前提下,僅需要增加少量的計(jì)算,即可獲得較好的圖像去噪效果,同時(shí)與傳統(tǒng)方法相比有效減少了與云服務(wù)器之間的數(shù)據(jù)交互量。本文方法需要一定數(shù)量的不共謀的參與方,與云服務(wù)器需要進(jìn)行迭代交互,這些是本研究后續(xù)需要改進(jìn)之處。