基于云計算的安全指紋識別系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種基于云計算的安全指紋識別系統(tǒng),尤其設(shè)及一種在大規(guī)模應(yīng)用環(huán) 境中兼顧指紋隱私保護和識別效率的系統(tǒng)。
【背景技術(shù)】
[0002] 隨著生物特征識別技術(shù)的飛速發(fā)展,指紋識別技術(shù)已經(jīng)成為當(dāng)今社會的主要研究 方向之一。但由于目前的指紋識別技術(shù)千差萬別,運極大地限制了該技術(shù)向大規(guī)模應(yīng)用的 發(fā)展。近年來,隨著基于Fingercode指紋特征向量提取算法的日益成熟,人們可W利用該算 法將指紋圖像提取為固定長度的指紋向量,實現(xiàn)不同設(shè)備之間的兼容,為指紋識別技術(shù)的 大規(guī)模應(yīng)用提供了基礎(chǔ)。云平臺具有強大的計算與存儲能力,考慮到大規(guī)模應(yīng)用中數(shù)量龐 大的指紋向量,越來越多的企業(yè)傾向于將指紋識別中的存儲與計算工作外包給云平臺。
[0003] 然而,隨之而來的安全問題也威脅著指紋信息的安全,使企業(yè)在選擇指紋識別技 術(shù)時對使用云計算望而卻步。由于云計算將指紋向量存放于不可信的環(huán)境中,由不可信云 服務(wù)商進行指紋向量的計算與驗證結(jié)果的反饋,對指紋的安全性和機密性帶來了嚴(yán)重的威 脅。如果能夠采用安全高效的加密技術(shù)在指紋向量上傳到云服務(wù)器之前對其進行加密,可 W很好地保障指紋向量的安全性和機密性,不論是竊聽敵手還是不可信的云計算提供商均 不能竊取指紋向量信息。在云計算環(huán)境下,如何在保證指紋隱私保護的同時提高指紋識別 的效率,運已經(jīng)成為指紋識別走向大規(guī)模應(yīng)用的瓶頸之一。
[0004] 由于不能妥善解決云計算下指紋的隱私保護與效率問題,目前已有的指紋識別系 統(tǒng),均未使用云計算來對指紋向量進行有效的存儲和計算。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是針對現(xiàn)有指紋識別系統(tǒng)在使用云計算時存在的缺陷,提出一種基 于云計算的安全指紋識別系統(tǒng)。通過使用安全高效的加密方案和有效的指紋識別方案,在 保障指紋向量安全的同時解決了密文環(huán)境下指紋的驗證識別,使云計算能夠服務(wù)于指紋識 別系統(tǒng)。該系統(tǒng)可W為企事業(yè)單位提供保障指紋隱私與效率的指紋識別技術(shù)。
[0006] 本發(fā)明的目的是通過下述技術(shù)方案實現(xiàn)的。
[0007] 基于云計算的安全指紋識別系統(tǒng),包括客戶端、數(shù)據(jù)庫擁有者和云服務(wù)器=部分。 其中客戶端是可擴展的第=方,用W提取指紋向量,可安裝在多臺主機上;數(shù)據(jù)庫擁有者是 可信的本地模塊,負(fù)責(zé)與客戶端和云服務(wù)器的通信,可W完成指紋向量的加密與上傳;云服 務(wù)器是不可信的第=方,負(fù)責(zé)存儲加密后的樣本指紋信息,針對待驗證的指紋信息完成指 紋的識別驗證功能。
[000引客戶端,配置有向量提取模塊,通過指紋向量提取算法API,將指紋圖像提取為固 定長度的向量并將其上傳至數(shù)據(jù)庫擁有者;
[0009]數(shù)據(jù)庫擁有者,配置有指紋向量加密模塊,該模塊包括樣本指紋加密子模塊與待 驗證指紋加密子模塊,當(dāng)從客戶端接收到樣本指紋向量時,利用樣本指紋加密子模塊將其 加密并上傳至云服務(wù)器進行存儲;當(dāng)接收到待驗證指紋向量時,利用待驗證指紋加密子模 塊將其進行加密并上傳至云服務(wù)器;云服務(wù)器,配置有信息存儲與匹配計算模塊,當(dāng)從數(shù)據(jù) 庫擁有者接收到加密后的樣本指紋向量信息時將其進行存儲;當(dāng)接收到加密后的待驗證指 紋向量信息時,將接收到的該待驗證指紋向量信息中的數(shù)據(jù)與存儲的待驗證指紋向量信息 中的數(shù)據(jù)進行匹配計算,返回索引,數(shù)據(jù)庫擁有者根據(jù)該索引找出對應(yīng)的樣本指紋向量,與 待驗證指紋向量進行歐幾里得距離運算,并且與闊值進行比較,向客戶端返回結(jié)果。
[0010]所述指紋向量加密模塊使用由Jiawei化an等人于2013年提出的云計算下的生物 識另Ij信息隱矛厶保護方案化fficient Priv曰cy-Preservin邑 Biometric Identification in Cloud Computing)對指紋向量的加密方案包含樣本指紋向量的加密方案與待驗證指紋向 量的加密方案。
[0011] 當(dāng)進行指紋注冊時,首先由提取算法對指紋圖像進行處理得到樣本指紋向量b = [bl,b2,,,bn],將其第(n+l)位進行擴展為lWl=-0.S?U嶺得到向量bs。隨機生成(n+l)X (n+1)的矩陣A,令D = [Ai*bsi,A2*bs2,,,An+i*bs(n+i)],由此樣本指紋向重便被隱臧于矩陣D 中。數(shù)據(jù)庫擁有者模塊對其樣本指紋信息進行W下操作: 'Ch=CwX 拍iXDxMj = HxDxMs
[0012] = Index Index
[0013] 其中Ml,M2,H,R為系統(tǒng)的密鑰。Ml,M2為(n+1) X (n+1)的矩陣,H,R為(n+1)維的隨機 向量,Index為樣本指紋向量對應(yīng)的索引。將運些信息(Chi,CR,Index)打包后上傳至云服務(wù) 器進行存儲。
[0014] 當(dāng)進行指紋驗證時,首先由提取算法對指紋圖像進行處理得到待驗證指紋向量b = [bi,b2,,,bn],將其第(n+1)位進行擴展為bn+i = l,得到向量b。。隨機生成(n+1) X (n+1)的 矩陣E,令Fe=[El*bcl,E2*bc2, . . .,En+l*bc(n+l)],由此待驗證指紋向量被隱藏在矩陣Fe中。在 數(shù)據(jù)庫擁有者模塊對加密后的待驗證指紋信息進行如下操作:
[0015] Cp =Mf^ XkxFc xMg
[0016] 其中化,M2為系統(tǒng)的密鑰,k為每次驗證時所生成的隨機常數(shù)。當(dāng)驗證時,將Cf上傳 至云服務(wù)器,與存儲的樣本指紋信息進行匹配計算。
[0017] 當(dāng)進行指紋的驗證識別時,定義相對距離:
[001 引 Pse = ChiXCFXCR
[0019] 對于云服務(wù)器存儲的每一個樣本指紋信息,由此公式都可W得到一個相對距離, 計算任意兩個相對距離之差:
[0020] PiC-Pzc = O.化(distze-distic)
[0021] 可知相對距離之差即為0.5倍的歐幾里得距離之差的相反值。因此可知相對距離 最大的樣本指紋向量即為歐幾里得距離最小的樣本指紋向量。
[0022] 所述數(shù)據(jù)庫擁有者方加密模塊負(fù)責(zé)將所有的指紋向量按照注冊與驗證進行不同 的加密并上傳至云服務(wù)器。
[0023] 所述云服務(wù)器的解密模塊負(fù)責(zé)將加密后的待驗證指紋信息與云服務(wù)器存儲的加 密后的樣本指紋信息進行匹配計算,找出最接近待驗證指紋的樣本指紋的索引。
[0024] 上述組成部分的連接關(guān)系為:
[0025]客戶端對指紋圖像提取指紋向量,上傳至數(shù)據(jù)庫擁有者進行指紋向量的加密,加 密完成后將加密后的信息上傳至云服務(wù)器,云服務(wù)器根據(jù)不同的需求完成數(shù)據(jù)的存儲或者 匹配計算,并將索引反饋給數(shù)據(jù)庫擁有者。數(shù)據(jù)庫擁有者按照索引找出對應(yīng)的樣本指紋向 量,與待驗證指紋向量計算歐幾里得距離并與闊值相比較,最終將結(jié)果反饋給客戶端。 [00%]有益效果
[0027] 與普通的指紋識別系統(tǒng)相比,本發(fā)明使用云計算技術(shù)對指紋注冊和識別過程進行 方便有效的存儲和管理,通過使用安全高效的加密方案,保障了指紋信息的安全性和機密 性,同時使用云計算提高了驗證識別的效率,為企業(yè)提供了安全高效的指紋識別系統(tǒng)。
【附圖說明】
[0028] 圖1是系統(tǒng)架構(gòu)圖;
[0029] 圖2是系統(tǒng)的具體組成框圖。
【具體實施方式】
[0030] 下面結(jié)合附圖,對本發(fā)明的【具體實施方式】做進一步詳實說明。
[0031] 基于云計算的安全指紋加密系統(tǒng),包括客戶端、數(shù)據(jù)庫擁有者和云服務(wù)器。其中, 客戶端作為可擴展的第=方,對指紋圖像提取指紋向量的功能并將其上傳,可W安裝在多 臺主機上,增加系統(tǒng)的可擴展性。
[0032] 數(shù)據(jù)庫擁有者模塊為可信的本地模塊,配置有指紋向量的加密模塊,完成指紋向 量的加密功能,實現(xiàn)與客戶端和云服務(wù)器的通信。
[0033] 云服務(wù)器配置有解密模塊,與客戶端擁有者進行通信,實現(xiàn)加密樣本指紋的存儲 與加密待驗證指紋的識別驗證功能。
[0034] 本系統(tǒng)的工作過程如下:
[0035] 首先是指紋的注冊過程。
[0036] 用戶通過安裝在本地的數(shù)據(jù)庫擁有者進行指紋的注冊。具體的,輸入指紋圖像后, 數(shù)據(jù)庫擁有者先從指紋圖片中提取出固定長度的指紋向量,將該樣本指紋向量存儲在該模 塊,并且通過樣本指紋加密算法對該向量進行加密。加密完成后將信息(Chi,Cr,Index)打包 上傳至云服務(wù)器,同時用戶可W錄入自己的基本信息。
[0037] 云服務(wù)器在接收到數(shù)據(jù)庫擁有者上傳的打包信息后將其進行存儲,并將對應(yīng)的操 作狀態(tài)返回給數(shù)據(jù)庫擁有者。
[0038] 通過W上操作將多個加密后的指紋信息上傳至云服務(wù)器,實現(xiàn)指紋的注冊。
[0039] 然后是指紋的驗證過程。
[0040] 用戶可W通過安裝在多臺主機上的客戶端進行指紋的驗證。具體的,輸入指紋圖 像后,客戶端通過向量提取算法API提取出固定長度的指紋向量,并將信息上傳至數(shù)據(jù)庫擁 有者。數(shù)據(jù)庫擁有者接收后,調(diào)用待驗證指紋向量加密算法對其進行加密得到Cf并上傳至 云服務(wù)器。云服務(wù)器接收到該信息后,調(diào)用解密模塊,分別與存儲的樣本指紋信息進行匹配 計算,向數(shù)據(jù)庫擁有者返回索引。
[0041 ]所述解密過程包括W下步驟:
[0042]假設(shè)云服務(wù)器已經(jīng)存儲了n個加密后的樣本指紋信息,現(xiàn)在要選取一個指紋圖像 進行驗證??蛻舳死孟蛄刻崛∷惴商崛〈炞C指紋向量為6=[131,62,,,山],調(diào)用待驗 證指紋信息的加密算法可W得到扣,將其上傳至云服務(wù)器進行匹配計算。具體的匹配過程 如下:
[0043] 首先將待驗證指紋信息Cf與云服務(wù)器存儲的每一個樣本指紋信息(Chs,CR,Index) 都計算其相對距離,計算公式如下: P抗=C故 X CpX Cr =H X巧X抽S
[0044] X峰:ixfex FcXiEfa 乂說2一><島r =JfX Ax 皮 Xfe XgT 哪t婦