吳俊青,彭長根,3,譚偉杰,吳振強(qiáng),4
1.貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽 550025
2.貴州大學(xué) 公共大數(shù)據(jù)國家重點(diǎn)實(shí)驗(yàn)室,貴陽 550025
3.貴州大學(xué) 貴州省大數(shù)據(jù)產(chǎn)業(yè)發(fā)展應(yīng)用研究院,貴陽 550025
4.陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,西安710062
隨著人工智能在社會實(shí)踐中的廣泛應(yīng)用,其人臉識別技術(shù)領(lǐng)域得以快速發(fā)展,在行政、公共安全、交通、商業(yè)等各領(lǐng)域發(fā)揮重要作用。然而,人臉識別技術(shù)的運(yùn)用在減少人力物力資源消耗的同時(shí),也產(chǎn)生一些不利影響,特別是技術(shù)濫用令個(gè)人隱私安全受到威脅,其損害結(jié)果往往是不可逆的。由于人臉識別信息的特殊性,需要法律對其嚴(yán)加保護(hù)。今年7月,最高人民法院才初次針對該技術(shù)發(fā)布相關(guān)規(guī)定,8月20日通過的《中華人民共和國個(gè)人信息保護(hù)法》針對其安全性提出具體要求。但考慮到人臉識別信息暴露程度高、唯一且永久的特性,初步提出的法律規(guī)范很可能難以對其提供完備保護(hù)。其次,人臉識別技術(shù)仍存在許多漏洞。目前該領(lǐng)域的研究主要集中于對原始人臉特征信息進(jìn)行識別,并以明文形式存儲,忽略數(shù)據(jù)的安全性。因此,人臉生物特征數(shù)據(jù)仍面臨被竊取或惡意攻擊的巨大風(fēng)險(xiǎn)。
例如,2019年8月,生物識別平臺BioStar2泄露超過2 780萬條記錄,數(shù)據(jù)量達(dá)23 GB,其中包括指紋、人臉識別和用戶圖片、未加密的用戶名和口令及員工數(shù)據(jù)等。2021年3月,科勒衛(wèi)浴、寶馬、maxmara等,在主體不知情情況下,對人臉信息捕捉、記錄,并對該信息進(jìn)行行為分析,導(dǎo)致個(gè)人行蹤泄露。甚至,還有通過人臉信息獲取人體健康狀況的研究[1]。除上述案例外,在各大商場、酒店、旅游景點(diǎn)等公共場合,人臉信息過度采集與非法存儲行為屢見不鮮。人臉特征提取后的直接存儲與比對,令其仍處在易被泄露、篡改或攻擊的危險(xiǎn)境地,故生物特征加密認(rèn)證技術(shù)應(yīng)運(yùn)而生。該技術(shù)可對原始人臉生物特征數(shù)據(jù)進(jìn)行加密,以密文形式存入數(shù)據(jù)庫,且因其支持密文域運(yùn)算的性質(zhì),保證了人臉特征數(shù)據(jù)的密文域識別比對功能。同時(shí),考慮到生物特征模糊性對隱私安全人臉識別系統(tǒng)整體性能的影響,應(yīng)選取合適的特征提取方法,基于深度學(xué)習(xí)的人臉識別算法以其穩(wěn)定、高識別精度的優(yōu)越性成為了最佳選擇。但是,以往隱私安全人臉識別方案仍存在安全性不足、性能有待提高的問題。
基于以上原因,文中提出一種基于FaceNet深度學(xué)習(xí)算法、CKKS全同態(tài)加密和國密SM4、SM9算法的人臉識別隱私安全方案,特別是國密算法的應(yīng)用提高了人臉特征密文抵抗多種惡意攻擊的能力,在確保識別效率(運(yùn)算速率、模板占用空間)、準(zhǔn)確率的同時(shí),進(jìn)一步提高人臉識別信息的安全性,從而有效遏制違法行為,避免用戶隱私安全受到威脅。
生物特征加密認(rèn)證技術(shù)在人臉識別信息保護(hù)的應(yīng)用中,非同態(tài)加密方案種類繁多。Wang等[2]提出一種基于隱私保護(hù)人臉識別技術(shù)的身份認(rèn)證框架,用DeepID[3]提取人臉特征,用AES算法加密,用計(jì)算加密特征向量余弦相似度的安全最近鄰方案和秘密共享保護(hù)人臉信息,引入邊緣計(jì)算以提高認(rèn)證效率。Nakachi等[4]提出邊緣和云網(wǎng)絡(luò)中人臉識別的隱私保護(hù)學(xué)習(xí)框架,提出一種基于隨機(jī)酉變換的低復(fù)雜度加密算法,分析該算法對字典學(xué)習(xí)和稀疏表示的影響,且證明這種影響不會影響人臉識別的準(zhǔn)確性。El-Shafai等[5]提出基于遺傳算法加密的認(rèn)證框架,遺傳算法從大量模板開始搜索,統(tǒng)計(jì)操作符用初始種群產(chǎn)生連續(xù)種群,執(zhí)行替代和變異擾亂生物統(tǒng)計(jì)圖像像素值,降低相鄰像素相關(guān)性,產(chǎn)生可取消人臉特征模板。且提出未來的方向在于各種加密、水印和隱寫算法的應(yīng)用,以實(shí)現(xiàn)生物特征的魯棒性和可靠存儲。但是,以上非同態(tài)加密方案準(zhǔn)確率均低于人類的97.53%,仍有待提高。
生物特征加密認(rèn)證常用的同態(tài)加密技術(shù)允許進(jìn)行密文域的運(yùn)算,故成為隱私安全人臉識別方案的最佳選擇之一。其中,部分同態(tài)加密算法可有限制地進(jìn)行同態(tài)加法和乘法計(jì)算,而全同態(tài)加密算法可無限制地同態(tài)計(jì)算任意函數(shù)。
部分同態(tài)加密算法的應(yīng)用中,Bouzerna等[6]結(jié)合Paillier密碼算法提出安全的人臉識別系統(tǒng)架構(gòu),但該方案耗時(shí)過長且沒有保證識別準(zhǔn)確率。隨后,Jin等[7]提出兩種安全高效的云端人臉識別方案,分別用稀疏表示和深度學(xué)習(xí)提取特征,通過Paillier同態(tài)加密算法和OT協(xié)議實(shí)現(xiàn)密文域的安全人臉識別。識別時(shí),服務(wù)器無需解密數(shù)據(jù),與以往方案相比,極大提高了識別準(zhǔn)確率和效率。Kumar等[8]提出的方案則結(jié)合特征臉法和主成分分析法來提取人臉特征,結(jié)合Paillier和橢圓加密算法加密特征,在密文域用歐氏距離進(jìn)行相似性度量來匹配人臉,進(jìn)一步提高了安全性但耗時(shí)較長。Im等[9]提出針對智能手機(jī)的安全人臉識別系統(tǒng),用線性同態(tài)加密對加密特征向量執(zhí)行基于歐氏距離的匹配計(jì)算,改進(jìn)將線性同態(tài)加密轉(zhuǎn)換為二次方案的Catalano-Fiore變換,再用OpenMP對變換并行化解密,可抵御惡意客戶端。
全同態(tài)加密算法的應(yīng)用中Troncoso-Pastorizov等[10]提出一種使用Gabor特征的人臉識別加密認(rèn)證方案。該方案基于RSA全同態(tài)加密算法,計(jì)算量大,且沒有充分利用人臉比對問題的特定性質(zhì)。Vishnu[11]提出早期全同態(tài)加密算法改進(jìn)的人臉識別加密認(rèn)證方案,將環(huán)R上人臉特征編碼,再用批處理技術(shù),利用中國剩余定理將向量編碼為一個(gè)多項(xiàng)式,以單個(gè)同態(tài)乘法代價(jià)實(shí)現(xiàn)多個(gè)同態(tài)乘法,顯著提升計(jì)算效率,并用主成分分析法進(jìn)行降維進(jìn)一步減輕計(jì)算負(fù)擔(dān)。近期,Jindal等[12]提出一種基于CKKS全同態(tài)加密算法[13]的人臉特征模板隱私保護(hù)方案,有力打破了以往全同態(tài)方案效率不及部分同態(tài)方案的刻板印象。該方案計(jì)算效率高,實(shí)用性強(qiáng),支持對實(shí)值特征向量的運(yùn)算,無需量化,可將其打包成一段密文,保證性能的同時(shí)提高了人臉特征的安全性。
揚(yáng)提方案系統(tǒng)框架如圖1所示
(1)客戶端提取人臉特征,產(chǎn)生原始人臉特征模板。
(2)用加密公鑰及對稱密鑰對原始人臉特征進(jìn)行加密,生成加密特征模板,其中對稱密鑰由其他非對稱密碼算法管理。
(3)將加密人臉特征模板及身份聲明(ID)發(fā)送至數(shù)據(jù)庫服務(wù)器。
(4)數(shù)據(jù)庫服務(wù)器中,在密文域進(jìn)行模板間距離計(jì)算,獲得距離密文。
(5)將距離密文發(fā)送至身份驗(yàn)證服務(wù)器。
(6)使用私鑰及對稱密鑰解密距離密文,獲得距離明文,并將其與預(yù)先設(shè)定的閾值進(jìn)行比較。
(7)向客戶端發(fā)送識別結(jié)果。
先用MTCNN[14]算法對原始人臉圖像進(jìn)行精準(zhǔn)的人臉檢測,將檢測到的人臉調(diào)整為160×160圖像,再用VGGFace2人臉數(shù)據(jù)集預(yù)先訓(xùn)練的FaceNet[15]模型對其進(jìn)行特征提?。?28維人臉特征),在明文狀態(tài)下,一般將歐氏距離作為人臉相似性度量方法。
FaceNet架構(gòu)如圖2所示。
該架構(gòu)起始部分是一個(gè)batch輸入層和深度CNN架構(gòu),隨后用L2范式將單位向量歸一化,得到embedding人臉特征向量,再用triplet損失函數(shù)進(jìn)行訓(xùn)練。通過該損失函數(shù)將所有特征映射到一個(gè)超球面,相同身份間特征距離盡量小,不同身份間則盡量大,原理如圖3所示。
錨—正關(guān)系為同身份間的關(guān)系,錨—負(fù)關(guān)系為不同身份間的關(guān)系。
f (x)將人臉圖像x 嵌入d維歐幾里德空間,且把這種嵌入限制在d維超球面上,即‖ f(x)‖2=1。
從損失函數(shù)生成的三元組中選擇難樣本三元組以優(yōu)化模型。
2.3.1 CKKS全同態(tài)加密
全同態(tài)加密可在密文域直接計(jì)算密文數(shù)據(jù),且相同的操作可映射至明文空間,故其可用于實(shí)現(xiàn)人臉特征的密文域識別比對。對于任何函數(shù)操作f和明文x,滿足公式(Enc()指加密操作):
人臉特征數(shù)據(jù)經(jīng)過編碼、加密后,在密文域進(jìn)行相似性度量的運(yùn)算,故轉(zhuǎn)而采用漢明距離的方法得出距離密文,解密后再與預(yù)先設(shè)置的閾值(查詢資料易知最佳閾值為1.242)進(jìn)行比對,以提高運(yùn)算效率。
2.3.2 國密SM4及密鑰管理
采用SM4算法[16]將CKKS算法加密所得密文ct加密為ct s,進(jìn)一步確保傳輸、存儲過程安全性的同時(shí)兼顧運(yùn)算效率。人臉識別時(shí),在數(shù)據(jù)庫服務(wù)器對雙重加密模板進(jìn)行一次SM4算法解密以授權(quán)暫時(shí)的比對功能,比對完成后則再次演化、加密成新模板,且漢明距離密文也進(jìn)行一次SM4加密(注意:該算法密鑰需設(shè)定使用期限,若過期則用戶需設(shè)置新密鑰)。國密SM4算法是塊密碼算法,其分塊及密鑰大小均為128位,加解密及密鑰生成算法采用32輪非線性迭代結(jié)構(gòu)。加密過程如圖4所示。
圖4 SM4加密過程Fig.4 Process of SM4 encryption
加密時(shí),輸入明文(X0,X1,X2,X3)(此處輸入為CKKS算法加密人臉特征向量所得密文字符串),輸出密文(Y0,Y1,Y2,Y3),輪密鑰rk i(i=0,1,…,31),變換式:
解密變換與加密所用結(jié)構(gòu)相同,僅輪密鑰使用順序不同,加密輪密鑰順序(rk0,rk1,…,rk31),解密輪密鑰順序(rk31,rk30,…,rk1)。
但SM4算法是對稱密碼算法,需考慮密鑰管理,防止密鑰泄露,常見方法是用非對稱密碼算法將其加密,可采用國密SM9[17]算法實(shí)現(xiàn)這一目的??紤]到效率問題,選取其序列密碼算法,將密鑰MK加密得密文C。當(dāng)需授權(quán)識別比對功能時(shí),身份驗(yàn)證服務(wù)器通過秘密信道向數(shù)據(jù)庫服務(wù)器提供封裝的私鑰,基于用戶身份標(biāo)識解封裝,再對密文C解密獲得對稱密鑰MK,待密文域識別運(yùn)算完成,則用新公鑰再將其加密成密文C′(或直接刪除)。
假設(shè)采用誠實(shí)但好奇的安全模型,各方都誠實(shí)地遵循注冊和驗(yàn)證步驟,除自身輸出外不知道任何信息。在該模型下,客戶端和數(shù)據(jù)庫服務(wù)器間、數(shù)據(jù)庫服務(wù)器和身份驗(yàn)證服務(wù)器間的通信通道是安全的,不會受到對手的攻擊,因其只攜帶加密的內(nèi)容(加密的人臉特征模板或加密的比對距離),若無對應(yīng)密鑰則無法訪問。同理,數(shù)據(jù)在服務(wù)器上也是安全的,無需擔(dān)心針對數(shù)據(jù)庫的攻擊。
所提方案極大滿足了生物特征模板保護(hù)要求的安全性、可撤銷性和多樣性。CKKS算法密鑰被設(shè)為4 096位,而SM4算法密鑰為128位,故密鑰空間為24096×2128=24224,針對密鑰恢復(fù)攻擊和偽造攻擊的安全性可達(dá)到4 224位??沙蜂N性:若用戶人臉特征模板數(shù)據(jù)受到侵害,可輕易撤銷其模板。有兩種方法,一是通過加密對用戶原始生物識別性的否定并將其添加到服務(wù)器存儲的保護(hù)模板中,二是為用戶創(chuàng)建一組新的密鑰。多樣性:所用方法對明文信息(甚至同一信息)的每次加密操作,都可生成不同密文及新的密鑰,以此為同一用戶生成不同加密保護(hù)模板。
這歸功于CKKS算法的密鑰演化特性,其允許生成新的私鑰sk′和計(jì)算密鑰evk′替換舊的私鑰sk和計(jì)算密鑰evk,且生成一個(gè)轉(zhuǎn)換密鑰tk,數(shù)據(jù)庫服務(wù)器(僅有轉(zhuǎn)換密鑰tk和新計(jì)算密鑰evk′)可將語料庫中的所有密文ct轉(zhuǎn)換為新密文ct′,僅可用新私鑰sk′解密,且即使面對持有舊私鑰sk的攻擊者也滿足語義安全性。由于側(cè)信道攻擊(來自可獲得私鑰部分信息的攻擊者)無法違反語義安全,基于整數(shù)格問題難解性的CKKS算法很大程度上滿足針對此類攻擊的泄漏恢復(fù)能力,且明顯優(yōu)于RSA算法。
但是,CKKS算法仍面臨著被線性密鑰恢復(fù)攻擊破解的風(fēng)險(xiǎn)。設(shè)算法中環(huán)尺寸為n,模為q,生成密鑰元組(pk,sk,evk),令k=O(n),密文ct i(1≤i≤k),在用pk加密或evk同態(tài)計(jì)算時(shí),給出其近似解密結(jié)果=Decode(Dec sk(ct i);Δ)及縮放因子Δ,若對所有1≤i≤k,滿足則大概率可有效恢復(fù)私鑰sk。此外,若模q是素?cái)?shù)或不同素?cái)?shù)的乘積,則以上內(nèi)容適用于所有k≥1。因此,SM4算法的應(yīng)用尤為重要。由文獻(xiàn)[18]可知S盒最大概率為2-6,故至少需13個(gè)線性活躍S盒數(shù)才能防止線性特征概率大于2-128,而32輪國密SM4算法模型至少有77個(gè)活躍S盒數(shù),具有較強(qiáng)的抵抗相關(guān)線性密碼分析的能力,有效彌補(bǔ)了CKKS算法的不足。
同時(shí),文獻(xiàn)[19]中對比了SM4算法與AES-128、CAST-128及SEED加密算法抵抗各種攻擊的能力,面對數(shù)輪線性攻擊、多維線性攻擊、差分攻擊、不可能差分攻擊,SM4加密算法的時(shí)間復(fù)雜度分別為2123、2122.7、2126.7、2132,明顯優(yōu)于其他算法。又因其向量置換和異或運(yùn)算都是基于32位的字的運(yùn)算,針對其的猜測確定過程可看做是以32位的字為變量進(jìn)行猜測,要想通過猜測至多3個(gè)變量恢復(fù)所有內(nèi)部狀態(tài)是不可能的,因此所提方案也具有抵抗猜測確定攻擊的能力。
而由文獻(xiàn)[20]可知,管理SM4對稱密鑰的SM9密碼算法是ID-IND-CCA2安全的,即可在基于身份的適應(yīng)性選擇密文攻擊下具有不可區(qū)分性。因此,該密鑰管理算法也可抵抗非適應(yīng)性選擇密文攻擊、唯密文攻擊、適應(yīng)性選擇明文攻擊(例如差分攻擊)[21]、非適應(yīng)性選擇明文攻擊、已知明文攻擊(例如線性攻擊)。
由此可見,國密SM4、SM9算法的應(yīng)用,增強(qiáng)了人臉特征密文的抗攻擊能力,解決了以往方案安全性不足的問題。
實(shí)驗(yàn)所用計(jì)算機(jī)型號為華碩飛行堡壘7-FX95G,CPU為英特爾i7-9750H-2.60 GHz,GPU為NVIDIA GeForce GTX1660Ti,運(yùn)行內(nèi)存為16 GB。操作系統(tǒng)為Windows10專業(yè)版,用基于python3.6的PyCharm2019運(yùn)行系統(tǒng)代碼,將經(jīng)典的LFW人臉數(shù)據(jù)集用于測試。
不同情況下,一對人臉特征模板相似性度量計(jì)算耗時(shí)見表1。
表1 相似性度量計(jì)算耗時(shí)對比Table 1 Comparison of time-consuming calculation of similarity measures
由表1可知,在密文域用歐氏距離進(jìn)行人臉特征相似性度量計(jì)算的耗時(shí)竟高達(dá)明文域的135倍,可見加密保護(hù)人臉特征極易對人臉識別性能產(chǎn)生不利影響。而方案中采用的密文域漢明距離計(jì)算耗時(shí)僅為歐氏距離的5.85%,極大提高了運(yùn)算效率。
人臉識別隱私安全方案的完整測試過程如圖5所示。
圖5 方案測試過程Fig.5 Process of scheme test
測試內(nèi)容包括各模塊及整體效率(損耗時(shí)間、模板占用空間)、識別準(zhǔn)確率,其與近年來各方案性能對比見表2。
表2 各方案性能對比Table 2 Performance comparison of each scheme
由表2可知,本文方案特征提取耗時(shí)比文獻(xiàn)[6]少99.93%;加密耗時(shí)比文獻(xiàn)[6]少97.57%,比文獻(xiàn)[7]少63.52%;比對耗時(shí)比文獻(xiàn)[6]少59.96%,比文獻(xiàn)[7]少93.74%;總耗時(shí)比文獻(xiàn)[6]少99.85%,比文獻(xiàn)[8]少99.23%,比文獻(xiàn)[10]少69.31%;加密模板占用空間比文獻(xiàn)[6]小99.98%,比文獻(xiàn)[7]小99.87%;識別準(zhǔn)確率比人類的97.53%高出1.86個(gè)百分點(diǎn),比最高的文獻(xiàn)[12]還高出0.06個(gè)百分點(diǎn)。
除此之外,還與近些年明文人臉識別領(lǐng)域的研究成果進(jìn)行對比,如圖6所示。
圖6 與明文方案的準(zhǔn)確率對比Fig.6 Accuracy comparison with plaintext scheme
由圖6可知,所提方案的識別準(zhǔn)確率甚至比較早提出的DeepID方案還高出1.94個(gè)百分點(diǎn),且十分接近后續(xù)提出的更先進(jìn)的明文人臉識別方案,有效協(xié)調(diào)了人臉生物特征模糊性與密碼系統(tǒng)的精確性。
針對人臉識別的安全性,提出一種基于深度學(xué)習(xí)、同態(tài)加密及國密算法的人臉識別隱私安全方案。所提方案采用FaceNet算法高效提取人臉特征數(shù)據(jù),結(jié)合CKKS全同態(tài)加密算法性質(zhì)及國密SM4、SM9算法的抗攻擊能力,在密文域完成安全的人臉識別。該方案與以往方案相比,有效提高了密文域人臉識別效率和準(zhǔn)確率,SM4、SM9密碼算法的應(yīng)用彌補(bǔ)了CKKS算法的不足并兼顧了運(yùn)算效率,在提高安全性的同時(shí)保證了人臉識別性能。
由于這類方案在實(shí)際生活中具有很高的應(yīng)用價(jià)值,未來,該領(lǐng)域的研究將集中于具體的多種應(yīng)用場景下人臉識別信息安全性及性能的提升。