国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于全同態(tài)加密的安全人臉識別算法*

2021-08-24 08:40:50王璐瑤
關(guān)鍵詞:同態(tài)密文人臉識別

王璐瑤

(浙江理工大學(xué) 信息學(xué)院,浙江 杭州 310018)

0 引言

人臉識別技術(shù)是一種能夠根據(jù)人的面部輪廓比較和分析圖案來唯一地驗證或識別人身份的生物特征識別技術(shù)[1]。通俗地說,人臉識別技術(shù)需要用戶的人臉圖像與數(shù)據(jù)庫中每一個圖像進行識別,從而判斷用戶的人臉圖像是否在數(shù)據(jù)庫里。

目前,人臉識別技術(shù)的應(yīng)用已經(jīng)十分廣泛,如在車站安檢、手機解鎖及眾多實用的應(yīng)用場地。通常在人臉識別技術(shù)中使用客戶端-服務(wù)器模型,服務(wù)器存儲用戶的人臉圖像并提供人臉識別服務(wù),客戶端采集用戶的人臉圖像并請求服務(wù)器進行人臉識別。但是,惡意的服務(wù)器會收集或濫用用戶的人臉圖像,導(dǎo)致人臉信息的泄露,如科勒衛(wèi)浴門店的攝像頭惡意收集用戶人臉,因此,保護用戶人臉隱私的重要性不容忽視[2]。

2009年,Erkin等[3]在客戶端-服務(wù)器模型下提出基于加法同態(tài)加密的保護隱私的人臉識別算法。在該算法中,客戶端擁有一個人臉圖像,服務(wù)器保存人臉模板數(shù)據(jù)庫??蛻舳藢⒓用艿膱D像發(fā)送給服務(wù)器,服務(wù)器計算加密特征向量與數(shù)據(jù)庫中所有人臉模板之間的歐式距離。然后,服務(wù)器與客戶端共同執(zhí)行加密協(xié)議,找到最小值。如果最小值小于閾值,則客戶端獲得索引值,否則,客戶端會獲得一個特殊符號“┸”。

同年,Sadeghi等[4]研究了在客戶端-服務(wù)器模型下基于加法同態(tài)加密和混淆電路的保護隱私的人臉識別算法。在該算法中,服務(wù)器通過加密的人臉圖像進行人臉識別,并在客戶端和服務(wù)器之間運行一個混淆電路協(xié)議,運行結(jié)束后,客戶端輸出帶有識別結(jié)果的索引。

2014年,Chun等[5]研究了在雙服務(wù)器模型下基于加法同態(tài)加密和混淆電路的保護隱私的生物特征識別算法。在該算法中,服務(wù)器保存了加密的生物特征模板,保護了生物特征模板的安全性,最后,服務(wù)器向客戶端返回識別結(jié)果。

2019年,Drozdowski等[6]研究了在雙服務(wù)器模型下基于全同態(tài)加密的保護隱私的人臉識別算法。服務(wù)器在加密的人臉圖像上執(zhí)行人臉識別,并在某個時候請求擁有私鑰的受信任的第三方(a Trusted Third Party,TTP)對密文進行解密。最后,TTP向客戶端返回指示識別結(jié)果的位0/1。

但是,上述的人臉識別算法都有一些缺點:(1)人臉模板以明文形式存儲在服務(wù)器中;(2)服務(wù)器解密中間結(jié)果或知道識別結(jié)果位,導(dǎo)致信息的泄露;(3)雙服務(wù)器容易受到合謀攻擊。本文提出了一種基于全同態(tài)加密的人臉識別算法,使用單指令多數(shù)據(jù) 流 (Single Instruction Multiple Data,SIMD)技 術(shù)[7]將向量加密為單個密文,不僅提高了計算效率,還可以有效地保護用戶人臉圖像在服務(wù)器端的隱私性,保證在識別過程中,服務(wù)器不會學(xué)習(xí)到用戶人臉圖像的任何信息。

1 基礎(chǔ)知識

1.1 安全模型

本文的模型由兩個部分組成:資源受限的客戶端和功能強大的服務(wù)器,如圖1所示??蛻舳藫碛幸粚γ荑€,即公鑰/私鑰(Public Key/Secret Key,PK/SK),主要作用有兩點:(1)獲取用戶的人臉圖像并用公鑰PK將圖片特征向量加密傳給服務(wù)器;(2)將服務(wù)器傳送回來的密文用私鑰SK解密,在解密結(jié)果中查詢最小值,并將其與預(yù)先設(shè)定的閾值t比較,得出識別結(jié)果。服務(wù)器的主要作用是存儲加密的注冊模板數(shù)據(jù)庫并提供人臉識別服務(wù)。

圖1 安全模型

在本模型中,假設(shè)客戶端是誠實的,服務(wù)器是半誠實的[8],即服務(wù)器遵循協(xié)議規(guī)范,但可能會對獲取用戶面部圖像的某些信息感興趣。還假設(shè)客戶端與服務(wù)器之間存在一個SSL/TLS的安全通道[9],以防止對手獲取交換的信息。本文的目標是確保在提供人臉識別服務(wù)時,服務(wù)器無法學(xué)習(xí)到用戶圖像和識別結(jié)果的任何信息。

1.2 全同態(tài)加密

2009年,Gentry[10]提出第一個全同態(tài)加密,全同態(tài)加密是公鑰加密的一種特殊形式,解決了密文在不可靠不安全環(huán)境下的計算難題。全同態(tài)加密技術(shù)可以在對密文不解密的前提下對密文進行計算,計算結(jié)果也以密文形式保存并傳遞,并且密文解密的結(jié)果與明文進行相同計算的結(jié)果相同,充分保護了數(shù)據(jù)的隱私。

全同態(tài)加密的一個顯著特征是它支持SIMD技術(shù),該技術(shù)將含n個元素的向量加密為單個密文。SIMD技術(shù)可以實現(xiàn)并行化計算,即在密文域中對向量中n個元素執(zhí)行加法、減法和乘法操作,僅需要對密文向量進行一次運算。假設(shè) c1=Enc(x1,…,xn),c2=Enc(y1,… ,yn)是 分 別 由 向 量(x1,… ,xn)和 向 量(y1,…,yn)加密而來的,則對于任意的xi,yi∈M,有:

其中 Dec表示解密操作,+、-和×是明文空間 M上的操作。SIMD計算也支持在密文空間上進行旋轉(zhuǎn)操作,假設(shè)密文 c=Enc(z1,…,zn)是由向量(z1,…,zn)加密而來的,則對于任意的 l∈N,有:

其中Rotate表示旋轉(zhuǎn)操作。

1.3 圖像預(yù)處理

深度學(xué)習(xí)是機器學(xué)習(xí)中的新研究方向,該學(xué)習(xí)方法的模式特征是計算機自動學(xué)習(xí),極大地增強了學(xué)習(xí)的效率[11]。Facenet算法采用基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的圖像映射技術(shù)與三元組損失函數(shù)去訓(xùn)練神經(jīng)網(wǎng)絡(luò),將人臉圖像映射到多維空間,其距離對應(yīng)于人臉相似性的度量[12]。Facenet最大的創(chuàng)新點是采用了三元組損失函數(shù),即具有相同身份標簽的兩張圖片向量(x,y)的平方歐式距離盡量接近;反之,具有不同身份標簽的兩張圖片向量的距離盡量遠離。其中平方歐式距離的定義如下:

其中,x=(x1,x2,…,xn),y=(y1,y2,…,yn)。

Facenet提供了兩個預(yù)訓(xùn)練模型,分別是基于CASIA-WebFace和VGGFace2人臉訓(xùn)練庫。在本文的實驗中,使用預(yù)訓(xùn)練模型CASIA-WebFace數(shù)據(jù)庫來訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),并且使用野生人臉數(shù)據(jù)集(Labled Faces in the Wild,LFW)[13]進行本次實驗。注意,本文使用的兩個數(shù)據(jù)集之間是沒有交集的。

圖2展示了LFW數(shù)據(jù)集中的一些人臉圖片。由于LFW數(shù)據(jù)集中的圖片提供的是250×250像素,而模型中要求輸入的像素為 160×160,因此,本文預(yù)處理了這些圖片,使圖片轉(zhuǎn)化為模型中要求的像素,如圖 3所示。

圖2 LFW原始圖片

圖3 預(yù)處理圖片

將預(yù)處理過的圖片加載到訓(xùn)練好的模型CASIAWebFace中,每一張圖片都會產(chǎn)生一個512維的特征向量。

2 基于全同態(tài)加密的安全人臉識別算法

本文提出了基于全同態(tài)加密的安全人臉識別算法,有效地保護了用戶人臉圖像的隱私,其基本步驟如下:

(1)預(yù)處理:通過Facenet深度學(xué)習(xí)模型,將原始圖像作為輸入,輸出表示原始圖像的n維實值特征向量。

(2)注冊階段:將所有的實值特征向量加密后傳給服務(wù)器,建立一個注冊模板數(shù)據(jù)庫。

(3)識別階段:計算某個用戶的特征向量與注冊模板數(shù)據(jù)庫中所有密文之間的平方歐式距離。

(4)查找最小值:在平方歐式距離中找出最小的距離值,并將其與預(yù)先設(shè)定的閾值進行比較,輸出識別結(jié)果。

整個算法流程如圖4所示。

圖4 算法流程圖

2.1 注冊階段

客戶端通過攝像頭采集用戶的人臉圖像,并將其加載到 Facenet模型中,生成特征向量 yi=(yi1,yi2,…,yin),其中 n 表示特征向量的維數(shù),i=1,2,…,N。客戶端使用全同態(tài)加密中的SIMD技術(shù)加密特征向量,并將加密后的向量傳給服務(wù)器保存,創(chuàng)建一個注冊模板數(shù)據(jù)庫,如下所示:

其中Enc表示用公鑰PK加密;N表示注冊模板數(shù)據(jù)庫中圖片的數(shù)量。

2.2 識別階段

在此階段,本文需要識別某個用戶是否在注冊模板數(shù)據(jù)庫中。首先,客戶端獲取某個用戶的人臉圖像,將其加載到模型中,生成特征向量 x=(x1,x2,…,xn),并將其用公鑰 PK加密為密文 ct*,表示如下:

加密完成后,客戶端將密文ct*傳給服務(wù)器。

2.2.1 平方歐式距離的同態(tài)計算

服務(wù)器收到密文ct*后,需要將該密文與注冊模板數(shù)據(jù)庫中的每一個密文進行平方歐式距離計算,具體步驟如下:

(1)服務(wù)器執(zhí)行(ct*?cti)?(ct*?cti)的運算,獲得密文 csi,即:

其中,i=1,2,…,N。

(2)計算密文里各元素的和。SIMD加密是將向量加密為單個密文,因此無法訪問密文里的單個元素。本文使用文獻[14]提出的通過重復(fù)運用旋轉(zhuǎn)和加法操作來完成向量中元素的求和,即:

其中 j=0,1,…,log2n-1。該方法可以使密文向量csi里的每個元素都表示為x和yi的平方歐式距離的值 di,令 cri=csi,則:

(3)合并距離。每個cri里的元素是相同的,為了減少通信量,本文將其合并到一個密文里。在cri中保留第i個元素,其余的元素通過與0相乘清除,即:

將 cdi中元素相加得到密文 cd*,即:

2.2.2 閾值比較

服務(wù)器將密文cd*傳給客戶端,客戶端將其解密后,獲得明文向量D=(d1,…,dN)。在 D中查找最小值dmin,并將其與預(yù)先設(shè)定的閾值t進行比較。若dmin<t,則識別成功,即該用戶在注冊模板數(shù)據(jù)庫中;否則識別失敗,如圖5所示,MIN表示求最小值,CMP表示比較運算,0/1表示是否識別成功(“0”表示識別成功,“1”表示識別失?。?。

圖5 閾值比較

3 結(jié)果分析

3.1 實驗結(jié)果

本文中的實驗是在具有2.10 GHz和30 GB RAM的Intel(R)Xeon(R)E5-2620 v2 CPU上運行。使用的全同態(tài)加密庫是HElib1.0.2[15]。在本文中,人臉圖片通過Facenet模型輸出的特征向量是實數(shù),而本文使用的HElib僅支持整數(shù)運算,因此,需要將向量中的實數(shù)轉(zhuǎn)換為整數(shù),設(shè)置一個常數(shù)c=10 000,將其乘以特征向量,使實數(shù)擴展為整數(shù)。

表1總結(jié)了客戶端與服務(wù)器的計算復(fù)雜性??蛻舳耸褂昧艘淮稳瑧B(tài)加密和一次全同態(tài)解密。在服務(wù)器端,最耗費時間的是用戶的特征向量需要與注冊模板數(shù)據(jù)庫中的每個密文進行平方歐式距離的計算,即每進行一次距離計算需要一次乘法、l=log2n次加法和 l=log2n次旋轉(zhuǎn)操作,總共需要進行I次;另外還需要I次乘法進行合并距離的操作。

表1 計算復(fù)雜性

表2總結(jié)了算法計算一次平方歐式距離的時間。本文選擇參數(shù) p=262 963 247,m=9 697,保證了明文槽的數(shù)量大于注冊模板數(shù)據(jù)庫中的圖片數(shù)量(本文使用了 I=9 000張圖片);L=120保證了本實驗所需要的最少乘法深度。其中p是明文模數(shù),m是分圓多項式的次數(shù),L是密文容量。這些參數(shù)的選擇確保了算法的安全性,使安全級別大于80。

表2 運行時間

3.2 與相關(guān)工作的比較

文獻[3]和文獻[4]提出的算法需要客戶端與服務(wù)器之間進行多輪交互,增加了客戶端的計算負擔(dān);并且服務(wù)器上注冊模板數(shù)據(jù)庫是以明文形式存儲的,增加了數(shù)據(jù)泄露的風(fēng)險。

文獻[5]和文獻[6]提出的算法服務(wù)器中的注冊模板數(shù)據(jù)庫是以密文形式存儲的,但是服務(wù)器會解密中間結(jié)果或知道識別結(jié)果位,導(dǎo)致信息的泄露;其次,雙服務(wù)器易受到合謀攻擊,增加了安全隱患。

本文提出的算法有以下優(yōu)點:首先,服務(wù)器中的注冊模板數(shù)據(jù)庫是加密的,服務(wù)器無法讀取明文用戶人臉圖像,并且也不能獲取識別結(jié)果;其次,本文使用了SIMD技術(shù)將向量加密為單個密文,提高了計算效率;最后,客戶端與服務(wù)器只有上傳和下載數(shù)據(jù)兩輪交互。表3總結(jié)了各個算法之間的差異。

表3 和其他算法的比較

3.3 安全性分析

本文假設(shè)客戶端是誠實的,服務(wù)器是半誠實的。本文的數(shù)據(jù)是以密文的形式存儲在服務(wù)器中的,且在計算過程中,始終是以密文形式進行計算,確保了數(shù)據(jù)在服務(wù)器端的安全性。

4 結(jié)論

本文主要研究了基于全同態(tài)加密的人臉識別算法。首先,使用SIMD技術(shù)將向量加密為單個密文,節(jié)約了存儲空間,且SIMD技術(shù)支持并行計算,大大提高了計算效率;其次,本文在服務(wù)器端執(zhí)行人臉識別算法,人臉信息始終是以密文的形式存儲的,且不會在計算過程中解密中間密文,使服務(wù)器不會了解到人臉圖像的任何信息,保證了在服務(wù)器端圖像數(shù)據(jù)的安全性。但是本文所提出的算法在平方歐式距離的同態(tài)計算時耗時較多,有待進一步改進,以提高計算速度。

猜你喜歡
同態(tài)密文人臉識別
一種針對格基后量子密碼的能量側(cè)信道分析框架
人臉識別 等
一種支持動態(tài)更新的可排名密文搜索方案
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
關(guān)于半模同態(tài)的分解*
拉回和推出的若干注記
揭開人臉識別的神秘面紗
一種基于LWE的同態(tài)加密方案
HES:一種更小公鑰的同態(tài)加密算法
基于類獨立核稀疏表示的魯棒人臉識別
計算機工程(2015年8期)2015-07-03 12:19:07
景泰县| 呼伦贝尔市| 岳阳市| 漯河市| 疏附县| 鄯善县| 伽师县| 望江县| 衡东县| 武平县| 大宁县| 长顺县| 慈利县| 平和县| 武宣县| 黄大仙区| 屯昌县| 江北区| 金昌市| 乐亭县| 龙口市| 民权县| 惠州市| 班戈县| 扶沟县| 淮安市| 保亭| 延边| 阿合奇县| 康乐县| 云安县| 婺源县| 涿州市| 象州县| 屏东县| 盐城市| 九寨沟县| 江永县| 富源县| 小金县| 临沧市|