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