姚海龍 王彩芬 許欽百 李文婷
1(西北師范大學數學與統計學院 蘭州 730070) 2(深圳技術大學大數據與互聯網學院 廣東深圳 518118) 3(蘭州城市學院電子與信息工程學院 蘭州 730070) (Hailong.Yao@outlook.com)
隨著云計算、大數據和物聯網產業的逐漸興起,可靠身份認證需求的不斷增長,基于生物特征的認證系統越來越受到行業和用戶的青睞.生物特征認證技術因其認證標識的唯一性和永久性而優于傳統認證技術,但也因為同樣的原因使其面臨嚴重的隱私威脅.帶有隱私保護特性的生物特征認證方案可歸為4類[1]:生物特征密碼系統類、可撤銷生物特征類、混合類和基于同態加密類.生物特征密碼系統類方案借助由生物特征導出的“幫助數據”綁定或生成密鑰實現認證,可根據“幫助數據”的導出方法分為密鑰綁定類和密鑰生成類;可撤銷生物特征類方案使用可更新的密鑰和不可逆函數將原始生物特征轉換成模板,一旦模板泄露,更新密鑰生成新模板即可;混合類方案綜合了密碼系統類和可撤銷類方案優點,根據應用場景使用相應的特征處理方法;基于同態加密的生物特征認證(生物特征同態認證)方案允許生物特征以密文的形式匹配,可在隱私保護的前提下實現身份認證.
生物特征同態認證技術由Ye等人在文獻[2]中首次提出,作者在K匿名分層架構基礎上設計了一個匿名生物特征訪問控制方案.Erkin等人使用Paillier同態加密系統[3]構造了一個可隱私保護的人臉識別系統[4].Rane等人在文獻[5]中提出使用漢明距離匹配指紋向量,Osadchy等人在文獻[6]中設計了一個基于安全漢明距離同態匹配的人臉識別系統SCiFi.Barni等人在文獻[7]中論述了使用“指紋碼”在“半誠信”模型中部署分布式生物特征同態認證系統的可行性.Yasuda使用Lauter同態加密系統[8]設計了一個分布式生物特征同態認證方案[9],You和Liang也設計了類似的方案[10],但該類方案不能抵御中間人攻擊.Cheon等人在BGV同態加密方案[11]的基礎上使用單指令多數據操作、單次消息認證碼和密文壓縮技術設計了一種可完整性驗證的生物特征同態認證方案[12],但因安全距離計算太過復雜,效率不高.
在生物特征同態認證方案中,通常先計算模板向量密文和請求向量密文之間的距離密文,再以解密明文與系統預設閥值比較結果為依據,選擇接受或拒絕.使用漢明距離類近似匹配法一般能夠獲得理想的拒真率和認假率,但距離計算時涉及同態乘法會導致密文膨脹,而由此產生的降維和減噪開銷會大大降低系統效率.
本文提出一種輔助向量近似匹配法,在特征向量封裝時線性引入隨機輔助向量,模板向量和請求向量匹配時它們之間的誤差會線性作用在輔助向量上.由于BioHash值的相似性可以反映其原像的相似性,所以我們可以通過評估注冊輔助向量和匹配輔助向量間的漢明相似性間接評估模板向量和請求向量間的相似性.在匹配過程中,模板向量和請求向量均以密文形式參與運算,用所得輔助向量的解密明文的BioHash值評估模板向量和請求向量間的相似性,這是整個過程唯一出現明文的環節.另外,向量相似性評估用的是輔助向量的Hash值,無需在密文域進行距離計算,避免了開銷最大的同態乘法操作,在實現安全向量匹配的前提下提高了效率.
基于上述安全向量匹配法,本文設計了一種分布式口令輔助的生物特征同態認證協議,即在同態加密方案的基礎上以口令為種子生成的輔助向量BioHash值實現生物特征安全高效匹配.該協議無需令牌等硬件標識物,只需在注冊模板向量中線性引入隨機輔助向量,將輔助向量和模板向量的密文一起存儲在外包計算服務器上即可.認證時用戶側只需輸入口令和請求向量,服務器側就能使用輔助向量近似匹配法完成模板向量和請求向量的相似性評估實現認證.
本節簡要介紹了理解文章所需的密碼學知識和工具,包括基本符號的定義與說明、同態加密方案和Biohash函數.
首先,我們介紹本文所使用的符號假設與說明.符號Z表示整數環,多項式環R=Z[x](xd+1),d=2k,k為正整數.對于環Rq=RqR,[r]q表示其中的元素r的系數在(-q2,q2]上模q約減.小寫黑體字母a表示環元素或向量,a[i]表示a的第i個系數或分量,而表示它的歐氏范數.a,b∈Rn的內積記為示輸入規定參數運行該函數.
我們選擇BGV方案[11]作為協議的同態加密方案,參數選擇參照文獻[15].因為協議所實現的輔助向量匹配法不涉及同態乘法,所以我們的同態加密方案是一個不涉及密文刷新算法的基本BGV(basic BGV,BBGV).
定義1.BBGV公鑰加密方案.BBGV由系統參數生成算法BBGV.Setup(·)、密鑰生成算法BBGV.SecretKeyGen(·)、公鑰生成算法BBGV.PublicKeyGen(·)、加密算法BBGV.Enc(·)、解密算法BBGV.Dec(·)和同態加法BBGV.Add(·)六個多項式算法組成.
BBGV.Setup(1λ):運行E.Setup(1λ)[11],輸入λ、明文模數p和維數k,輸出params:階數d、密文模數q和噪音分布χ∈Rq.
BBGV.SecretKeyGen(params):s←χ,輸出私鑰sk=s.
BBGV.PublicKeyGen(params,sk):a←Rq,e←χ,計算b=a·s+p·e,輸出公鑰pk=(a,b).
BBGV.Enc(params,pk,m):在運行此算法之前需要將明文向量m映射到環元素m∈Rp,r,f,f′←χ,計算c0=b·r+p·f′+m,c1=a·r+p·f,輸出c=(c0,c1).
BBGV.Dec(params,sk,c):輸出解密明文m=[[c0-c1·s]q]p.
BBGV.Add(params,c1,c2):輸出c3=c1+c2.
引理1.BBGV同態加法正確性(文獻[11]引理7).
在BBGV中,任意噪音有界密文ci的和密文csum,只要滿足‖[csum,s]q‖ 引理2.BBGV的安全性(文獻[11]定理5). 基于RLWE(learning with error over ring)安全假設的BBGV方案滿足選擇明文攻擊下不可區分性(indistinguishability under chosen plaintext attack, IND-CPA)安全. 1) 假設提取了生物特征向量x∈Rn; 2) 用戶在Key的控制下生成由m個線性無關的隨機列向量組成的矩陣U=(ui=G(key)∈Rn|i=1,…,m,n>m)[16]; 3) 將U中的m個列向量進行施密特正交化得到矩陣O=(oi∈Rn|i=1,2,…,m); 依據文獻[17]可知,通過判斷2個生物特征向量的BioHash值的漢明距離可以判定2個生物特征向量的相似性.依據文獻[18]可知,BioHash滿足抗沖突性、單向性、高熵性和可撤銷性. 為方便后文的論述,本節給出分布式架構下口令輔助的生物特征同態認證模型,并對該模型所面臨的安全威脅和敵手能力做出假定. Fig. 1 Distributed biometric authentication modelbased on homomorphic encryption圖1 分布式的生物特征同態認證模型 系統初始化時AS生成系統參數Params;注冊階段AS和用戶向CS提交注冊請求,CS生成相應注冊信息以備后用;認證階段用戶輸入口令和生物特征生成認證信息向AS發起認證請求;收到用戶請求后AS向CS提交計算請求,并依據CS的反饋和系統預設閥值權衡接受或拒絕用戶的請求. 分布式架構的生物特征認證系統大多部署在非安全環境中,本節參考Dolev-Yao模型對敵手能力做出假定[21]: 1) 敵手能夠獲得所有經公共信道傳輸的消息; 2) 敵手能夠冒充其他通信實體向用戶發送消息; 3) 敵手能夠獲得用戶口令或有效生物特征,但二者不可兼得; 4) 敵手無私鑰不能解密信息且不能破壞密碼算法; 5) 在評估服務器側隱私保護能力時假定敵手可以獲得系統私鑰. 相比傳統認證系統,生物特征認證系統因其認證標識物生物特征便于攜帶、不易丟失而具有一定優勢,但由于生物特征屬于個體的固有屬性,它和個體的隱私息息相關,并且一旦泄露就會永久失效.因此生物特征認證系統除了要抵御傳統安全威脅外還要抗隱私泄露. 2.3.1 傳統安全威脅. 分布式生物特征同態認證系統面臨的主要傳統安全威脅有: 1) 中間數據攻擊.假設CS和AS之間的通信鏈路安全,主要考慮敵手在用戶側設備和服務器之間進行的偵聽、截獲、插入、刪除或阻斷等攻擊行為. 2) 重放攻擊.假設CS和AS之間的通信鏈路安全,主要考慮敵手重放之前截獲的用戶和服務器之間消息,仿冒合法用戶欺騙服務器獲取權限或仿冒合法服務提供商欺騙用戶的情形. 3) 內部特權攻擊.依據2.1節定義,用戶側設備不掌握系統私鑰且功能簡單,同態計算、解密和漢明距離計算均在服務器上進行,所以我們主要考慮誠實又好奇的服務器CS因管理不善導致用戶生物特征泄露的情形. 2.3.2 隱私泄露威脅 分布式生物特征同態認證系統面臨的主要隱私泄露威脅有: 1) 特征樣本恢復.敵手通過社工攻擊或暴力攻擊方法偽造合法用戶的生物特征欺騙服務器通過認證以獲取權限,這在一定程度上等效于特征模板恢復攻擊. 2) 特征模板恢復.敵手利用密碼學技術成功恢復出注冊存儲在CS上的特征模板的攻擊.特征模板恢復攻擊使該生物特征面臨永久失效的風險,并且嚴重威脅著用戶隱私,如中心搜索攻擊[20]. 3) 隱私威脅.相比前2種攻擊,隱私威脅不以獲取用戶生物特征為目標,而是收集、分析特定用戶的認證足跡,建立特定ID和服務間映射以鏈接用戶的隱私.隱私威脅包括身份隱私威脅和交易匿名性威脅[20]. 本節基于BBGV同態方案設計了一種輔助向量近似匹配法,該方法通過比較BioHash向量間的漢明相似性,間接判斷模板向量和請求向量間的匹配關系,并以此為基礎提出了一種分布式生物特征同態認證協議. 1) 模板向量x和請求向量x′分別封裝為(z為輔助向量)[22] C(Tref)=BBGV.Enc(x+z), 2) 向量安全匹配 先計算請求向量和模板向量的和密文: C(Tref)+C(Tsam)=BBGV.Enc(x+x′+z)= 再求其解密明文: BBGV.Dec(BBGV.Enc(ξ+z))=ξ+z; 最后計算輔助向量ξ+z和z的BioHash之間的漢明距離,如果該值小于系統預設閥值δ,則向量x和x′匹配,反之不匹配. 本節在2.1節模型的基礎上使用上述向量匹配法設計了一種分布式口令輔助的生物特征同態認證協議(password-assisted biometric authentication protocol based on homomorphic encryption,HE-PaBAP),協議流程如圖2所示,協議中使用的符號及其描述如表1所示. 1) 初始化階段 AS先選取BiohashH(·)和安全Hash算法h(·),再運行BBGV.Setup(·),BBGV.SecretKeyGen(·)和BBGV.PublicKeyGen(·)生成同態加密參數params,sk和pk,最后保密sk并發布其他參數. 2) 注冊階段 ① AS安全發送元組{SID}給CS,CS驗證SID有效后選取隨機數w,計算AS的注冊憑證Cr安全返回給AS,并將元組{SID,w}寫入服務器注冊表以備后用; ② 用戶側CD輸入用戶ID、口令PW、生物特征向量x和與其等長的輔助向量z; ③ 依據定義2和定義3計算生成:矩陣U、矩陣O和模板特征向量密文C(Tref),安全發送元組{ID,O,z,C(Tref)}給CS請求注冊; ④ CS收到用戶請求,驗證ID有效后存儲{ID,O,z,C(Tref)}為用戶注冊表項. Table 1 Notations and Descriptions表1 符號與說明 3) 驗證階段 ① 用戶側CD′輸入用戶ID′、口令PW′、生物特征向量x′ 和輔助向量y; ② 盲化ID為MID,并依據定義2和定義3計算生成:矩陣U′、矩陣O′、請求特征向量密文C(Tsam); ③ 計算摘要h1并發送元組{MID,H(y),C(Tsam),t1,h1}給AS請求認證; ④ AS收到請求,先驗證時鐘有效后解密恢復(x′+y)再恢復ID′,驗證h1為真后盲化ID′為MID′,最后計算摘要h2并發送元組{SID,MID′,C(Tsam),t2,h2}給CS請求計算; ⑤ CS收到請求,驗證時鐘有效后以SID搜索服務器注冊表,如無記錄中止協議,否則計算該服務器的憑證Cr′并恢復ID′,再以ID′搜索用戶注冊表如無記錄中止協議,否則驗證h2為真后計算特征向量同態加法密文C(Tsum)和摘要h3,并返回元組{C(Tsum),t3,h3}給AS; ⑥ AS收到請求,驗證時鐘有效后計算z′=BBGV.Dec(C(Tsum))和摘要h4,并發送元組{z′,t4,h4}給CS請求計算; ⑦ CS收到請求,驗證時鐘有效后計算輔助向量y′=z′-z,再計算H(y′)和H(y)間的漢明距離d和摘要h5,并返回元組{d⊕h(Cr′‖t5),t5,h5}給AS; ⑧ AS收到請求,驗證時鐘和h5有效性后提取d,并判斷d≤δ是否成立,若成立通過認證,否則中止協議. 我們從安全性、計算復雜度和通信開銷3個方面分析討論HE-PaBAP協議的性能.一般而言,具有后量子安全性的格基同態加密方案的計算效率和通信效率都遠遜于傳統方案.以Paillier方案[3]和BGV方案[11]為例,前者的加密效率為后者的3倍多、解密效率為1.5倍、同態計算效率為3 100倍,而前者密文尺寸卻不到后者的萬分之一[23].因此,我們只給出了HE-PaBAP與另外2個基于RLWE-based同態加密的生物特征認證協議Yasuda2017[9]和Cheon2016[12]的比較結果. 本節分析討論HE-PaBAP協議面臨主要傳統安全攻擊時的安全性. 4.1.1 抵御傳統安全威脅 1) 抵御中間數據攻擊 在分布式環境中,部署在云側CS和AS之間的通信聯絡安全性較高,中間數據攻擊主要發生在用戶側設備和服務器之間的開放鏈路上.HE-PaBAP協議的實體間傳送的信息只有BBGV密文和Hash值,依據引理1,2和2.2節的敵手能力假設,敵手通過竊聽不但無法獲取用戶口令和請求生物特征向量,而且無法追蹤特定ID和生物特征之間的對應關系.即使敵手通過其他途徑獲取了用戶口令成功偽造了O′,但偽造有效Tsam通過系統認證的可能性相當于暴力攻擊;如果敵手意外掌握了有效生物特征,就能實施在線字典猜測攻擊,所以生物特征泄露會導致生物特征認證系統的安全性降低.但是服務器可以部署其他訪問控制策略有效抵御這種威脅.因此,在2.2節中的敵手能力假設下HE-PaBAP協議能夠抵御中間數據攻擊. 2) 抵御重放攻擊 根據敵手能力假設,HE-PaBAP協議在運行時敵手能夠截獲用戶在開放鏈路上發送給服務器的認證請求{MID,H(y),C(Tsam),t1,h1}.但由于BBGV密文具有不可區分性,敵手僅憑截獲的認證信息無法建立特定ID與請求密文的對應關系,而且協議中使用了時間戳認證機制,敵手也無法偽造h1.因此,HE-PaBAP能夠抵抗重放攻擊. 3) 抵御內部特權攻擊 HE-PaBAP協議中,在服務器上存儲和運算的敏感信息都是密文形式或者Hash值,依據1.1節和1.2節中安全性假設,敵手在沒有系統私鑰的情況下無法獲取用戶生物特征信息.系統中只有AS掌握私鑰,但生物特征向量密文的存儲和匹配都在CS上進行,而AS只能接觸到輔助向量的同態加法密文C(Tsam)和C(Tsum).因此,該協議能夠抵御內部特權攻擊. 4.1.2 抵御隱私泄露威脅分析 1) 特征樣本恢復攻擊 HE-PaBAP協議不能抵御通過社工攻擊手段實現的特征樣本恢復攻擊;但由于服務器可以使用入侵檢測和防御技術抵御暴力嗅探,因此可以抵御通過暴力攻擊手段實現的特征樣本恢復攻擊. 2) 特征模板恢復攻擊 特征模板恢復和特征樣本恢復類似,都是以獲取生物特征向量為目標的攻擊,不同的是樣本出現在脆弱的用戶側而特征模板向量存儲在安全級別更高的服務器上,針對新鮮樣本的社工攻擊對安全服務器上存儲的特征模板難以奏效.因此,特征模板恢復攻擊主要利用密碼學技術恢復存儲在CS上的特征模板向量,最著名的方法是中心搜索攻擊[20].HE-PaBAP在注冊信息C(Tref)=BBGV.Enc(x+z)中封裝的是生物特征向量x和隨機向量z的和向量.因為向量z的選取具有隨機性,只要CS和AS不共謀,即使在AS被完全腐化的情況下,針對HE-PaBAP協議的中心搜索攻擊僅相當于特征樣本恢復攻擊,而AS未被腐化時不滿足中心搜索攻擊的條件. 研究顯示,從密碼學角度防范這種攻擊主要有2種辦法:匿名化和審計[24].匿名化使得敵手難以建立用戶ID和對應特征向量的映射;審計功能可以幫助AS驗證CS提供的認證匹配是否預期以阻止模板嗅探. 3) 隱私威脅 HE-PaBAP協議的認證過程中,用戶ID被隨機數x′+y盲化,而它被封裝在BBGV密文中,根據BBGV的IND-CPA安全性,敵手提取和區分特定用戶ID的優勢是可忽略的;即使在服務器間傳遞的索引ID也被h(Cr‖t2)盲化.因此,HE-PaBAP可以抵抗身份隱私威脅和交易匿名性威脅. 4.1.3 安全性對比 結合上述分析,HE-PaBAP協議與Yasuda2017[9]和Cheon2016[12]兩個經典協議安全性比較結果如表2所示.其中,“Y”表示該協議能抵御某攻擊;“N”表示該協議不能抵御某攻擊;“P”表示該協議不能抵御特殊情形的某攻擊,如社工攻擊.為了獲得匿名性,Cheon2016[9]需要提前使用密鑰交換協議建立安全信道,即該協議在開放環境下不具備匿名性. Table 2 Comparison of Security Properties表2 安全特性對比 HE-PaBAP協議與Yasuda2017[9]和Cheon2016[12]計算復雜度比較結果如表3所示.其中,“TEnc”表示加密運算、“TDec”表示解密運算、“TAdd”表示同態加法運算、“TMul”表示同態乘法運算.相比同態加密相關的運算開銷,Hash運算、明文異或運算和邏輯運算的開銷小到可以忽略;為了方便比較,也忽略了Cheon2016[9]中鏈路安全協議的實現開銷.從表3可以看出,3個協議注冊階段開銷持平.但是,HE-PaBAP在認證階段優勢明顯,相比其他2個協議,HE-PaBAP的用戶側僅有一次加密操作,服務器側也只有1次同態加法運算和2次解密運算,沒有開銷最大的同態乘法運算[25]. Table 3 Comparison of Computational Complexity表3 計算復雜性對比 HE-PaBAP協議與Yasuda2017[9]和Cheon2016[12]通信開銷比較結果如表4所示.其中,“LHash”表示Hash值的位長度、“Lring”表示密文域環元素的位長度,為了方便比較,我們假設用戶ID、時間戳和距離度量空間的位長度與Hash值等長.由表4可見,HE-PaBAP用戶側的通信開銷略大于Yasuda2017[9],但遠小于Cheon2016[12].結合表2分析可知,HE-PaBAP由于引入輔助向量,使協議獲得了良好的隱私保護和生物特征模板防護特性;Cheon2016[12]用戶側通信開銷過大主要原因是為了獲得可信認證和隱私保護,用戶側承擔了絕大部分的加密和解密任務. Table 4 Comparison of Communication Overheads表4 認證階段通信開銷對比 本文在BGV同態加密方案的基礎上提出一種安全向量匹配法,并在此基礎上設計了個口令輔助的生物特征認證協議.該協議能夠應對云計算和大數據環境下分布式生物特征認證系統面臨的隱私威脅和安全匹配等問題.和傳統的雙因子生物特征認證協議相比,該協議構建于RLWE安全假設的同態加密方案之上,具有抗量子攻擊特性和良好的隱私保護特性;和其他基于RLWE同態加密方案的生物特征認證協議相比,該協議使用評估輔助向量Biohash值間相似性的方法間接評估模板向量和請求向量的相似性,不但降低了生物特征向量泄露的風險,還避免了密文域的同態乘法運算,提高了協議效率. 生物特征認證協議有其先天的便利性和安全性優勢,同時也面臨更大的隱私威脅,而且分布式計算的可移動性、開放性、設備異構性等特點給它帶來了更多的挑戰.雖然現有的生物特征認證方案各自在隱私保護和匹配計算效率方面取得了一定的突破,但大多數都無法抵御模板恢復攻擊且未提供可信計算保障.因此,設計能夠有效抵御模板恢復攻擊的分布式可信生物特征認證協議是本文要進一步研究的問題.1.3 BioHash

2 系統架構、敵手能力和安全威脅
2.1 分布式生物特征同態認證模型

2.2 敵手能力
2.3 安全威脅
3 協議構造
3.1 向量安全匹配

C(Tsam)=BBGV.Enc(x′).
BBGV.Enc(ξ+z);3.2 協議構造


4 協議性能
4.1 安全性分析

4.2 效率分析


5 總 結