一種基于云環境的多智能終端共享人臉隱秘識別方法
【專利摘要】本發明提出的基于云的多智能終端共享人臉隱秘識別方法,能夠在一個安全的協議下進行,與此同時可以同時保護用戶圖像數據的隱私和第三方人臉檢測器的隱私。本發明首次將安全內積算法應用到云環境下的安全人臉檢測當中,這不僅實現了用戶圖像的密文存儲,提供了在密文狀態下查詢所需圖像的功能,也保證了第三方的人臉檢測器不被泄露。此外,由于用戶圖像存儲的形式是以標準加密算法進行加密的,可以保證數據安全的可靠性,而每次查詢時使用的是安全內積算法,算法復雜度與選擇的加密矩陣維度相關,算法復雜度低且可以依據計算能力、安全需求靈活配置。本地計算計算量小,將大量的運算依托于計算能力強大的云來處理,有效縮短了檢測時間。并且該加密方法很容易通過軟件實現,本發明可廣泛應用推廣到云計算、人臉識別等中。
【專利說明】
一種基于云環境的多智能終端共享人臉隱秘識別方法
技術領域
[0001 ]本發明屬于密碼學、計算機視覺領域,特別是隱秘人臉檢測與識別的方法,具體地 說是一種基于云環境的多智能終端共享人臉隱秘識別方法。
【背景技術】
[0002] 在移動互聯網時代,激增的移動用戶備份他們的照片至云端服務器。當龐大數量 的圖像存儲在云端服務器上時,用戶的隱私成為一個不可忽視的問題,例如,家庭成員的面 貌信息,可能的人物關系,拍攝照片的地理位置,家庭住址,工作單位,學校,等等都將曝露 給未知的危險人物,威脅人身和財產安全。所以圖像應以密文而非明文的形式進行存儲。同 時,云端服務器提供的人臉圖像檢索服務所用到的人臉檢測器也是由第三方訓練提供的, 該算法及參數的隱私也要受到保護。
[0003] 安全人臉識別計算系統是為了安全人臉識別而開發的。這個系統使用兩種加密工 具(同態加密和不經意傳輸)對兩個二進制向量實現隱私保護的漢明距離計算。近來,許多 研究人員著眼于隱私保護的計算機視覺問題,他們大多利用的密碼學工具都不是高效的。 安全內積算法是一種由加密數據庫的安全kNN(k-nearest neighbor)方案發展的非對稱加 密算法,提供了一種隱秘計算兩個向量內積而不泄露原始向量信息的方法。在云環境下,這 種方法可以有效地保護數據的隱私。
【發明內容】
[0004] 本發明要解決技術問題為:克服現有技術的不足,提供一種基于云環境的多智能 終端共享人臉隱秘識別方法,該方法能夠以密文形式將用戶圖像存儲在云端,并在密文狀 態下完成圖像檢索功能,同時保護用戶圖像隱私和第三方檢測器的隱私。
[0005] 本發明采用的技術方案為:一種基于云環境的多智能終端共享人臉隱秘識別方 法,如圖1所示,實現步驟如下:
[0006] (1)第三方提供加密的人臉檢測器和內積密鑰;
[0007] (2)客戶端的用戶使用步驟(1)中的內積密鑰加密圖像,然后上傳加密圖像到云 端;
[0008] (3)在云端上對加密的圖像和加密的檢測器使用安全人臉檢測協議,檢測到的人 臉窗口將返還給客戶端的用戶;
[0009] (4)用戶調用本地的人臉識別算法來生成標記向量;
[0010] (5)所有共享圖像的用戶的所有圖像都被加密后和加密的標記向量一起上傳至云 存儲空間;
[0011] (6)檢索圖像時,用戶對查詢圖像重復第(1)(2)(3)(4)步,得到查詢圖像的標記向 量,并將標記向量加密后上傳至云端,和第(5)步中所有的標記向量使用安全人臉匹配協議 進行檢測;
[0012] (7)將匹配的加密圖像返回用戶,用戶解密圖像后獲得明文圖像。
[0013] 所述步驟(1)所述加密的人臉檢測器和內積密鑰采取以下步驟:
[0014] a)第三方隨機生成內積密鑰51((11,12,5),并將密鑰發送給用戶,其中,11,1 2是隨 機矩陣,S是隨機序列;
[0015] b)使用該密鑰加密人臉檢測器,并將加密后的人臉檢測器發送給云端。
[0016] 所述步驟(2)中,加密圖像采取以下方法:為了檢測一個窗口是否為人臉,用戶使 用密鑰SIUM^M^S)加密檢測窗然后上傳至云端,是隨機矩陣,S是隨機序列。
[0017] 所述步驟(3)中,安全人臉檢測協議采取以下步驟:
[0018] a)云端對加密的人臉檢測器的分類器和安全檢測窗使用安全內積算法,得到每一 步的結果,并與閾值進行比較;
[0019] b)使用Viola-Jones人臉檢測算法,經過一系列的迭代后,云端輸出檢測結果:返 回檢測到的人臉。
[0020] 所述步驟(4)中,本地人臉識別算法采取以下步驟:
[0021] a)用戶在本地調用基于稀疏表示的人臉識別算法,識別該人臉對應于某位成員;
[0022] b)為每張圖像生成人臉標記向量uelojr,第j位為1表示第j個成員包含在這張 圖像中。
[0023]所述步驟(5)中,圖像和標記加密采取以下步驟:
[0024] a)用戶生成私鑰?抓(見,犯,〇,并用該私鑰加密每個圖像的標記向量,其中,他,犯 是隨機矩陣,t是隨機序列;
[0025] b)用戶選擇標準加密算法對圖像進行加密;
[0026] c)用戶將所有圖像都被加密后和加密的標記向量一起上傳至云端。
[0027]所述步驟(6)中,檢索圖像采取以下步驟:
[0028] a)用戶使用密鑰SK(Mi,M2,S)加密查詢圖像檢測窗后上傳至云端;
[0029] b)云端運行步驟(3)的安全人臉檢測協議檢測查詢圖像中的人臉,并將結果返回 給用戶;
[0030] c)用戶運行步驟(4)的本地人臉識別算法,識別該人臉屬于某位成員,并生成相應 的標記向量;
[0031] d)用戶使用私鑰PrlUNhNht)加密查詢圖像的標記向量,上傳至云端;
[0032] e)云端運行安全人臉匹配協議,將加密的查詢圖像的標記向量與所有標記向量進 行匹配查找,得到符合閾值要求的匹配結果。
[0033] 所述步驟(7)中,解密圖像采取以下步驟:
[0034] a)云端將符合閾值要求的結果返回給用戶;
[0035] b)用戶使用步驟(5)中標準加密算法的密鑰解密圖像,獲得明文圖像。
[0036] 本發明與現有的技術相比,其優勢在于:
[0037] (1)用戶圖像數據和第三方檢測器在云端以密文方式進行存儲,保護了圖像數據 不會以明文的方式被不可信第三方獲取;
[0038] (2)利用云端隱秘內積算法實現用戶圖像在云端密文狀態下的檢索,保護了數據 在查詢過程中的安全性;
[0039] (3)本發明流程結構簡單,算法復雜度低,易于實現。
【附圖說明】
[0040] 圖1是本發明方案流程圖;
[0041] 圖2是本發明步驟流程圖。
【具體實施方式】:
[0042] 下面結合附圖和【具體實施方式】對本發明作進一步詳細的說明。
[0043] 人臉檢測器擁有如下形式的強分類器:
[0044] H(x) = sign(En=d hn(x)) (丨)
[0045] hn(x)是如下類型的閾值函數
[0047 ] 其中,ynG F1是閾值函數hn(x)的超平面。hn(x)的參數cinG F,βηε F,θηε F在訓練時 確定;Ν是弱分類器的數量,ne(〇,N-l)。
[0048] 隱秘內積算法由公式(3),公式(4)和公式(5)描述:
[0049] 對于向量集Y=yi,…yn,第三方將每個向量yi,ie(l, n),按以下原則分解為兩個向量 {y^y^}:X^^yhyijeyi,^:Sjes,Sj=l,My /ij=y//ij=yij;?rM.>ij =?? =iyM +r, 其中,r e R是一個隨機數。然后,用(Mi,M2)加密γ i,y' A}為Mlyf }。輸出為:
[0050] ΕΥ = {Miyi, Mjyf (.3)
[0051 ] 其中,Mi,M2erXm是隨機可逆矩陣,se {〇,l}m是隨機向量
[0052]對于向量w,按以下原則分解為兩個向量{w7,w〃}:對于每個WjGw,若Sjes,sj = 0, 則w'j=w〃j = wj;否則,
其中,V eR也是一個隨機數。然后,用 (Ml,M2)加密{W',w〃 }為{Mfw',崎1有〃 } e輸出為
[0053] EW = {Mf1w,, M2 } (4)
[0054] 其中,是與(1)相同的隨機可逆矩陣,se{〇,l}m是與(1)相同的隨機向 量。
[0055] = Miyi Mpw' +. = w Ο)
[0056] 其中,ti就是兩原始向量yi和w的內積yj1" · W'd
[0057] 參閱圖2步驟流程圖,本發明備份過程可以分為以下五個步驟:
[0058] (1)加密的人臉檢測器和內積密鑰
[0059]給定一個參數m是人臉檢測器中分類器的最大長度,輸出內積密鑰SlUMi,M2,S),其 中此身印1^是隨機可逆矩陣,se{〇,i}m是隨機向量。然后,第三方通過安全信道將內積密 鑰發送給用戶。
[0060]第三方通過內積密鑰將人臉檢測器中的分類器按公式(3)中方法進行加密,然后 將它上傳至云端。
[0061 ] (2)使用內積密鑰加密圖像
[0062]為了檢測圖像中的人臉,人臉檢測器需要迭代計算不同的檢測窗口。用戶在本地 將檢測窗按公式(4)中的方法使用SIUM^M^S)進行加密,然后上傳至云端。
[0063] (3)進行安全人臉檢測
[0064]在云上對第(1)步和第(2)步上傳的數據按公式(5)中的方法進行解密,得到兩原 始向量的內積,再根據公式(1)和公式(2)進行判決和迭代,最終輸出檢測結果。
[0065] (4)人臉識別算法和生成標記向量
[0066] 用戶在本地運行基于稀疏表示的人臉識別算法,并為每張圖像生成人臉標記向量 uelojr,它描述了某個成員是否在這張圖像中。用戶將標記向量集{Ll}作為圖像集的索 引。
[0067] (5)上傳加密圖像和索引
[0068]用戶在本地使用標準加密算法,如AES,使用私鑰SK將圖像數據進行加密。
[0069] 用戶在本地生成私鑰PrK(Ni,N2,t),其中,N!,N2 e Rtxt是隨機可逆矩陣,T e {〇,1} t 是隨機向量。為了加密標記向量集中的向量Li,用戶將每個Li按如下原則分解為兩個向量 {L i,L i}:對于母個 Li,jGLi,右 tjGT,t=l,則L i,j = L i,j = Li,j,否則, .Lj,j = - U,Ly + u,其中,ueR是一個隨機數。然后,用(Ni,N2)加密{!/i,L〃:l}為 ,輸出為
[0070] EL = {咐 L;, NK }i=1...t (6)
[0071] 然后,用戶將加密后的圖像和加密后的索引EL上傳至云端。
[0072] 參閱圖2步驟流程圖,本發明查詢過程可以分為以下四個步驟:
[0073] (6)識別查詢圖像中的人臉
[0074]選定了待查詢的圖像后,用戶在本地運行基于稀疏表示的人臉識別算法,生成標 記向量= 1表示某個人臉是第i個成員的。
[0075] (7)加密查詢圖像的索引
[0076] 將向量Q按以下原則分解為兩個向量{Q',Q〃}:對于每若4ΕΤ,4 = 0,則 Q' j=Q〃j=Qj;否則,Qj = $.Q:j ' v,Qj = $Qj + ν,其中,νeR也是個隨機數。然后,用(N,fe) 加密{Q',Q〃}為{NrW, Nf Q"} 4俞出為
[0077] EW = [Nf1 Q', Nf Q"} (7)
[0078] 然后,用戶將加密后的圖像索引上傳至云端。
[0079] (8)安全人臉匹配
[0080]在云端接收到第(5)步的加密圖像和索引集和第(7)步的查詢圖像索引后,進行安 全人臉匹配查詢:
[0081 ] reti = Ν?ζ NfQ' + Njli NpQ" (8)
[0082] 如果reti = A,云端將標記Li對應的第i張圖像作為一個匹配結果,其中λ表示查詢 圖像中人臉的數量。
[0083] (9)返回查詢結果和解密
[0084]完成第(8)步的匹配查詢后,云端返回查詢到的加密圖像至客戶端,用戶使用私鑰 SK將密文圖像解密,得到最終的明文圖像。
[0085] 總之,本發明中提出的基于云的多智能終端共享人臉隱秘識別方法能夠在一個安 全的協議下進行,與此同時可以同時保護用戶圖像數據的隱私和第三方人臉檢測器的隱 私。本發明首次將安全內積算法應用到云環境下的安全人臉檢測當中,這不僅實現了用戶 圖像的密文存儲,提供了在密文狀態下查詢所需圖像的功能,也保證了第三方的人臉檢測 器不被泄露。此外,由于用戶圖像存儲的形式是以標準加密算法進行加密的,可以保證數據 安全的可靠性,而每次查詢時使用的是安全內積算法,算法復雜度與選擇的加密矩陣維度 相關,算法復雜度低且可以依據計算能力、安全需求靈活配置。本地計算計算量小,將大量 的運算依托于計算能力強大的云來處理,有效縮短了檢測時間。并且該加密方法很容易通 過軟件實現,本發明可廣泛應用推廣到云計算、人臉識別等中。
[0086] 以上所述僅為本發明的一些基本說明,依據本發明的技術方案所做的任何等效變 換,均應屬于本發明的保護范圍。
【主權項】
1. 一種基于云環境的多智能終端共享人臉隱秘識別方法,其特征在于實現步驟: (1) 第三方提供加密的人臉檢測器和內積密鑰; (2) 客戶端的用戶使用步驟(1)中的內積密鑰加密圖像,然后上傳加密圖像到云端; (3) 在云端上對加密的圖像和加密的檢測器使用安全人臉檢測協議,檢測到的人臉窗 口將返還給客戶端的用戶; (4) 用戶調用本地的人臉識別算法來生成標記向量; (5) 所有共享圖像的用戶的所有圖像都被加密后和加密的標記向量一起上傳至云存儲 空間; (6) 檢索圖像時,用戶對查詢圖像重復第(1)(2)(3)(4)步,得到查詢圖像的標記向量, 并將標記向量加密后上傳至云端,和第(5)步中所有的標記向量使用安全人臉匹配協議進 行檢測; (7) 將匹配的加密圖像返回用戶,用戶解密圖像后獲得明文圖像。2. 根據權利要求1所述的一種基于云環境的多智能終端共享人臉隱秘識別方法,其特 征在于:所述步驟(1)所述加密的人臉檢測器和內積密鑰采取以下步驟: a) 第三方隨機生成內積密鑰31((11屬,5),并將密鑰發送給用戶,其中屬屬是隨機矩 陣,S是隨機序列; b) 使用該密鑰加密人臉檢測器,并將加密后的人臉檢測器發送給云端。3. 根據權利要求1所述的一種基于云環境的多智能終端共享人臉隱秘識別方法,其特 征在于:所述步驟(2)中,加密圖像采取以下方法:為了檢測一個窗口是否為人臉,用戶使用 密鑰SIUM^M^S)加密檢測窗然后上傳至云端,是隨機矩陣,S是隨機序列。4. 根據權利要求1所述的一種基于云環境的多智能終端共享人臉隱秘識別方法,其特 征在于:所述步驟(3)中,安全人臉檢測協議采取以下步驟: a) 云端對加密的人臉檢測器的分類器和安全檢測窗使用安全內積算法,得到每一步的 結果,并與閾值進行比較; b) 使用人臉檢測算法,經過一系列的迭代后,云端輸出檢測結果:返回檢測到的人臉。5. 根據權利要求1所述的一種基于云環境的多智能終端共享人臉隱秘識別方法,其特 征在于:所述步驟(4)中,本地人臉識別算法采取以下步驟: a) 用戶在本地調用基于稀疏表示的人臉識別算法,識別該人臉對應于某位成員; b) 為每張圖像生成人臉標記向量UelOjr,第j位為1表示第j個成員包含在這張圖像 中。6. 根據權利要求1所述的一種基于云環境的多智能終端共享人臉隱秘識別方法,其特 征在于:所述步驟(5)中,圖像和標記加密采取以下步驟: a) 用戶生成私鑰PrK(Λ,N2,t),并用該私鑰加密每個圖像的標記向量,其中,他,N2是隨 機矩陣,t是隨機序列; b) 用戶選擇標準加密算法對圖像進行加密; c) 用戶將所有圖像都被加密后和加密的標記向量一起上傳至云端。7. 根據權利要求1所述的一種基于云環境的多智能終端共享人臉隱秘識別方法,其特 征在于:所述步驟(6)中,檢索圖像采取以下步驟: a)用戶使用密鑰SIUM^M^S)加密查詢圖像檢測窗后上傳至云端; b) 云端運行步驟(3)的安全人臉檢測協議檢測查詢圖像中的人臉,并將結果返回給用 戶; c) 用戶運行步驟(4)的本地人臉識別算法,識別該人臉屬于某位成員,并生成相應的標 記向量; d) 用戶使用私鑰PrK (Λ,N2,t)加密查詢圖像的標記向量,上傳至云端; e) 云端運行安全人臉匹配協議,將加密的查詢圖像的標記向量與所有標記向量進行匹 配查找,得到符合閾值要求的匹配結果。8.根據權利要求1所述的一種基于云環境的多智能終端共享人臉隱秘識別方法,其特 征在于:所述步驟(7)中,解密圖像采取以下步驟: a) 云端將符合閾值要求的結果返回給用戶; b) 用戶使用步驟(5)中標準加密算法的密鑰解密圖像,獲得明文圖像。
【文檔編號】G06K9/62GK106096548SQ201610407625
【公開日】2016年11月9日
【申請日】2016年6月12日
【發明人】金鑫, 馬銘鑫, 宋承根, 趙耿, 李曉東, 袁鵬, 田玉露, 劉妍
【申請人】北京電子科技學院