楊雄
摘 要:基于人臉識(shí)別的身份認(rèn)證技術(shù)可以在云計(jì)算環(huán)境下保證用戶物理身份和數(shù)字身份的一致性,密碼協(xié)議與人臉識(shí)別的結(jié)合能夠在開(kāi)放的云計(jì)算環(huán)境中保護(hù)用戶的人臉隱私信息。為解決受密碼協(xié)議約束導(dǎo)致的低識(shí)別率和低效率問(wèn)題,利用改進(jìn)后的整數(shù)環(huán)上的全同態(tài)加密(FHE),提出云計(jì)算環(huán)境下融合FHE和人臉識(shí)別的分布式身份認(rèn)證方案。采用與FHE相容的歐式距離分類,采用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行人臉特征提取,通過(guò)將歐式距離的計(jì)算轉(zhuǎn)換為點(diǎn)積計(jì)算,從而在保障人臉識(shí)別率的同時(shí)降低計(jì)算復(fù)雜度。在分布式環(huán)境中的測(cè)試結(jié)果表明,該方案能夠在不降低人臉識(shí)別性能的同時(shí)有效保護(hù)用戶隱私,提高了桌面云身份認(rèn)證的安全,具有較好的適用性和推廣價(jià)值。
關(guān)鍵詞:云安全;全同態(tài)加密;人臉識(shí)別;身份認(rèn)證
中圖分類號(hào):TN98;TP368.2
文獻(xiàn)標(biāo)識(shí)碼: A
目前云計(jì)算環(huán)境下下身份認(rèn)證方案主要分為兩類: (1)利用共享的記憶信息[1-2](身份、口令等 )、計(jì)算的存儲(chǔ)信息[3-4](智能卡、移動(dòng)設(shè)備等)、獨(dú)有的生物特征信息[5-6]進(jìn)行多因素的身份認(rèn)證方案;(2)利用公鑰密碼學(xué)技術(shù)[7]、數(shù)字證書 [8](含簽名)對(duì)參與者的身份進(jìn)行認(rèn)證的基于密碼學(xué)的認(rèn)證方案。云計(jì)算環(huán)境中的身份認(rèn)證方案并沒(méi)有從傳統(tǒng)的身份認(rèn)證模式和框架中脫離,它不僅有傳統(tǒng)身份認(rèn)證方法中的安全問(wèn)題,還出現(xiàn)了新的隱私保護(hù)不足和實(shí)用性差的問(wèn)題[9]。
人臉識(shí)別與其它生物特征識(shí)別技術(shù)[10-11]相比,是一種更直觀有效的身份認(rèn)證方法,不僅設(shè)備成本較低,而且認(rèn)證方式更加友好。基于人臉識(shí)別的身份認(rèn)證首先采集用戶的人臉特征存儲(chǔ)于數(shù)據(jù)庫(kù)中作為模板,當(dāng)用戶登錄時(shí)將現(xiàn)場(chǎng)采集的人臉特征與數(shù)據(jù)庫(kù)中的人臉特征模板進(jìn)行比對(duì),基于兩者相似度進(jìn)行人臉識(shí)別來(lái)驗(yàn)證用戶身份的合法性,其方案安全性的關(guān)鍵在于人臉特征模板的安全[12]。同態(tài)加密技術(shù)能夠解決現(xiàn)有兩種人臉特征模板保護(hù)方案[13]:特征變換和生物特征加密不能在復(fù)雜的網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)高安全性的身份認(rèn)證的制約。然而加入密碼保護(hù)策略后,與現(xiàn)有人臉識(shí)別系統(tǒng)相比會(huì)由于額外的計(jì)算和通信開(kāi)銷從而對(duì)人臉識(shí)別率造成一定的影響[14]。目前在人臉識(shí)別中引入全同態(tài)加密還主要存在如下問(wèn)題:
(1) 增加了計(jì)算復(fù)雜度。由于人臉識(shí)別系統(tǒng)本身計(jì)算已經(jīng)具有一定的復(fù)雜度,為了實(shí)現(xiàn)全同態(tài)加密,需要引入安全的兩方計(jì)算協(xié)議,會(huì)增加額外的計(jì)算量從而增加了計(jì)算的復(fù)雜度。
(2) 增加了通信交互的復(fù)雜度。在云計(jì)算環(huán)境下采用加密圖像傳輸進(jìn)行身份認(rèn)證會(huì)加大通訊報(bào)文的復(fù)雜度,同時(shí)為了找到最大人臉相似度則可能需要進(jìn)行多輪通信,從而導(dǎo)致計(jì)算輪次的增加[15]。
(3) 人臉識(shí)別率無(wú)法滿足實(shí)際應(yīng)用需求。雖然引入全同態(tài)加密提高了安全性,但由于加密技術(shù)的約束會(huì)限制人臉識(shí)別算法的選擇,從而降低人臉識(shí)別率。
綜合上述分析,本文提出了一個(gè)在云計(jì)算環(huán)境中兼顧安全性、識(shí)別率和運(yùn)行效率的人臉身份認(rèn)證方案,利用優(yōu)化后的整數(shù)環(huán)上的全同態(tài)加密保護(hù)人臉特征信息安全,采用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行人臉特征提取,在人臉識(shí)別時(shí)通過(guò)將人臉特征向量之間的歐式距離計(jì)算轉(zhuǎn)化為點(diǎn)積計(jì)算降低計(jì)算復(fù)雜度。最后,依托Citrix桌面云系統(tǒng)的StoreFront身份認(rèn)證架構(gòu)設(shè)計(jì)了基于人臉識(shí)別的桌面云身份認(rèn)證系統(tǒng),通過(guò)Citrix的StoreFront組件提供的API(Application Programming Interface)接口實(shí)現(xiàn)了身份認(rèn)證方案。在實(shí)際分布式環(huán)境中進(jìn)行實(shí)驗(yàn)驗(yàn)證,并對(duì)方案的安全性和可行性進(jìn)行分析,表明該方案不僅可以提高身份認(rèn)證的安全性,而且具有較高的識(shí)別率和運(yùn)行性能,能夠達(dá)到實(shí)際應(yīng)用的需求。
1?云計(jì)算環(huán)境下基于人臉識(shí)別的身份認(rèn)證系統(tǒng)構(gòu)架
1.1?基于FHE的人臉識(shí)別算法設(shè)計(jì)
依托于Citrix桌面云虛擬化解決方案的基于人臉識(shí)別的桌面云身份認(rèn)證系統(tǒng)采用客戶端/服務(wù)器模型,其架構(gòu)如圖1所示。其中客戶端為內(nèi)嵌高清攝像頭的云終端一體機(jī),服務(wù)器端由基于Centos 系統(tǒng)的人臉認(rèn)證服務(wù)器集群以及Citrix的 StoreFront身份認(rèn)證組件構(gòu)成。
本節(jié)給出云計(jì)算環(huán)境中基于FHE的人臉識(shí)別的具體算法和流程,并對(duì)方案中涉及到的關(guān)鍵方法和技術(shù)進(jìn)行詳細(xì)描述。
云終端(客戶端)在完成人臉檢測(cè)、預(yù)處理和特征提取向認(rèn)證服務(wù)器(服務(wù)端)發(fā)送人臉識(shí)別請(qǐng)求并等待認(rèn)證服務(wù)器響應(yīng),認(rèn)證服務(wù)器一旦接收到云終端的人臉識(shí)別請(qǐng)求后立即做出響應(yīng)將分類識(shí)別的處理結(jié)果反饋給云終端,其流程如圖2所示。
基于FHE的人臉識(shí)別方案包括兩個(gè)階段:注冊(cè)階段和認(rèn)證階段。注冊(cè)階段生成FHE的公私鑰對(duì)和由人臉數(shù)據(jù)庫(kù)中全部圖像的特征向量構(gòu)成的“特征臉”矩陣空間,其執(zhí)行流程如圖3所示:
(1) 認(rèn)證服務(wù)器生成FHE的公私鑰對(duì)(pk,sk),發(fā)布公鑰pk;
(2) 云終端在注冊(cè)用戶時(shí)讀取攝像頭圖像并進(jìn)行人臉檢測(cè),若檢測(cè)到人臉圖像則提取人臉圖像并進(jìn)行相應(yīng)的預(yù)處理后得到輸入圖像I,再利用神經(jīng)網(wǎng)絡(luò)模型提取人臉特征向量x = (x1, x2, ……, xn),并用pk加密后傳輸給認(rèn)證服務(wù)器存入人臉庫(kù)。
(3)認(rèn)證服務(wù)器重新生成人臉數(shù)據(jù)庫(kù)中全部圖像的特征向量構(gòu)成的“特征臉”矩陣空間。
認(rèn)證階段即完成人臉的分類識(shí)別,人臉?lè)诸愖R(shí)別即通過(guò)將現(xiàn)場(chǎng)獲取的人臉特征向量與包含全部人臉的特征向量矩陣進(jìn)行基于歐式距離的度量后尋找最小值的過(guò)程,為提高系統(tǒng)的運(yùn)行效率,本文提出將向量歐式距離的計(jì)算轉(zhuǎn)換為向量的點(diǎn)積運(yùn)算。
假定:客戶端擁有向量x = (x1, x2, ……, xn),服務(wù)端擁有向量y = (y1, y2, ……, yn),可令x′ = (x1, x2, ……, xn,∑ni=1x2i),y′= (-2y1, -2y2, ……, -2yn, 1),則服務(wù)端在計(jì)算向量x和y的歐距離時(shí)可通過(guò)x′ 和 y′ 來(lái)得到:
d(x,y)=∑ni=1xi-yi2=∑ni=1xi2+∑ni=1yi2-2∑ni=1xiyi=x′·y′+∑ni=1y2i(1)
由于服務(wù)端已經(jīng)擁有∑ni=1y2i,因此雙方只需交互一輪信息,通過(guò)計(jì)算x′·y′即可得到兩個(gè)人臉特征向量的歐式距離d(x,y)。運(yùn)行階段的流程如圖4所示:
(1)云終端在用戶登錄時(shí)攝像頭捕獲到的人臉圖像進(jìn)行相應(yīng)操作后得到人臉特征向量x,再利用pk 加密x′( x′ = (x1, x2, ……, xn, ∑ni=1x2i) ),將得到的密文Enc(x′)發(fā)送給認(rèn)證服務(wù)器;
(2)認(rèn)證服務(wù)器將提取全部人臉的特征向量矩陣,得到m個(gè)特征向量(m為人臉庫(kù)數(shù)據(jù)中特征向量的數(shù)目),對(duì)每個(gè)特征向量分別利用pk加密
y′ (y′= (-2y1, -2y2, ……, -2yn, 1)),得到Enc(y′),計(jì)算Enc(x′)與Enc(y′)的點(diǎn)積后再累加∑ni=1y2i后,再利用sk解密計(jì)算得到這m對(duì)特征向量的歐氏距離,其中最小距離即為人臉?lè)诸愖R(shí)別的結(jié)果。
1.2?整數(shù)上的全同態(tài)加密改進(jìn)方案
基于整數(shù)上的全同態(tài)加密由于一次只能加密1 bits,所以不能夠直接應(yīng)用于該方案,為滿足實(shí)際應(yīng)用需求,本文對(duì)其進(jìn)行優(yōu)化后能夠滿足一次加密n bits明文的需求,具體算法流程如下:
(1) KeyGen:首先隨機(jī)生成η比特的奇整數(shù)q,接著分別在[0, 2γ/q)區(qū)間內(nèi)隨機(jī)選擇整數(shù)賦予pi,在(-2ρ,2ρ)的區(qū)間隨機(jī)選擇整數(shù)賦予ri,接著計(jì)算ai=qpi+2kri(0≤i≤τ) ,最后在滿足a0為最大奇數(shù)且[a0]q能被2k整除的條件下,設(shè)置{a0, a1, ……aτ}為公鑰pk, q即為私鑰;
(2)Encrypt:對(duì)明文x的每一個(gè)分量xi, 首先在(-2ρ′,2ρ′)的區(qū)間隨機(jī)選擇整數(shù)賦予r,隨機(jī)選擇屬于集合{1, 2, ……, τ}的一個(gè)子集S,接著計(jì)算密文的每個(gè)分量Enc(xi) = [xi+2kr+2k∑i∈Sai]a0,最終得到加密后的向量Enc(x);
(3)Decrypt:對(duì)密文Enc(x)的每個(gè)分量分別計(jì)算[[Enc(xi)]q2k得到xi,最終可獲得明文x。
其中,η為私鑰長(zhǎng)度,γ為公鑰長(zhǎng)度,ρ和ρ′均為噪聲長(zhǎng)度,τ為公鑰個(gè)數(shù)。
1.3?分布式人臉識(shí)別
為滿足實(shí)際應(yīng)用中云終端進(jìn)行人臉識(shí)別的高并發(fā)請(qǐng)求,認(rèn)證服務(wù)器的人臉?lè)诸愖R(shí)別基于MapReduce框架[15]設(shè)計(jì),其中包含了服務(wù)節(jié)點(diǎn)、管理節(jié)點(diǎn)、人臉特征管理節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)(worker),其架構(gòu)如圖5所示。
(1)服務(wù)節(jié)點(diǎn)接收包含待認(rèn)證用戶的人臉識(shí)別請(qǐng)求,并提取數(shù)據(jù)包中的Enc(x′)轉(zhuǎn)發(fā)給管理節(jié)點(diǎn);
(2)Map階段:管理節(jié)點(diǎn)將人臉識(shí)別任務(wù)下發(fā)給計(jì)算節(jié)點(diǎn),若為系統(tǒng)初次啟動(dòng)或者人臉特征庫(kù)有更新時(shí),則需要重新生成人臉數(shù)據(jù)庫(kù)中全部圖像的特征向量構(gòu)成的“特征臉”矩陣空間;為了提高人臉?lè)诸愖R(shí)別的效率,將特征矩陣按照計(jì)算節(jié)點(diǎn)的數(shù)量切割后分發(fā)給各計(jì)算節(jié)點(diǎn)。各計(jì)算節(jié)點(diǎn)并行處理后,將其得到的最小距離值和類別標(biāo)簽返回給管理節(jié)點(diǎn)。
(3)Reduce階段:由管理節(jié)點(diǎn)對(duì)結(jié)果進(jìn)行篩選排序后得到最終的人臉識(shí)別結(jié)果,最終由服務(wù)節(jié)點(diǎn)反饋結(jié)果。
2?效率與安全性分析
為檢驗(yàn)該方案的有效性,在Citrix桌面云解決方案中增加了獨(dú)立的認(rèn)證服務(wù)器,在認(rèn)證服務(wù)器中實(shí)現(xiàn)了基于Python和Dlib實(shí)現(xiàn)了人臉識(shí)別模塊,實(shí)驗(yàn)所用服務(wù)器性能配置為 Intel Xeon E5-2650 v4,主頻 2.2 GHz、內(nèi)存 32 GB,在認(rèn)證服務(wù)器中分別部署了5個(gè)計(jì)算節(jié)點(diǎn)、1個(gè)管理節(jié)點(diǎn)和1個(gè)服務(wù)節(jié)點(diǎn)。人臉特征數(shù)據(jù)庫(kù)來(lái)源于LFW人臉庫(kù)和待測(cè)試人員10人共500張人臉。
功能性測(cè)試分別安排于正常光線的辦公場(chǎng)景和黑暗、背光的光線不足的環(huán)境下進(jìn)行,測(cè)試結(jié)果如下:
在實(shí)際的辦公場(chǎng)景和黑暗環(huán)境中,本方案的人臉識(shí)別率都可以達(dá)到99%以上,在1∶N的認(rèn)證模式下,能夠滿足實(shí)際應(yīng)用的需求,但在背光環(huán)境中,捕捉到的人臉圖像較暗,導(dǎo)致細(xì)節(jié)不清晰,精度較低,因此人臉識(shí)別率有所下降。綜上所述,在正常辦公條件下,系統(tǒng)能夠滿足用戶的功能需求。
本方案中人臉并發(fā)識(shí)別的理論期望值為每秒30個(gè)并發(fā)。通過(guò)編寫客戶端腳本模擬在正常辦公場(chǎng)景下,向認(rèn)證服務(wù)器發(fā)起人臉識(shí)別請(qǐng)求,通過(guò)不斷系統(tǒng)負(fù)載檢驗(yàn)系統(tǒng)允許的最大請(qǐng)求數(shù)。
從表2中可以得當(dāng)模擬并發(fā)人臉識(shí)別請(qǐng)求超過(guò)30個(gè)達(dá)到50個(gè),明顯超出了認(rèn)證服務(wù)器的負(fù)載權(quán)限,此時(shí)出現(xiàn)了請(qǐng)求無(wú)響應(yīng)的異常情況,說(shuō)明本方案在配置的測(cè)試環(huán)境下可滿足每秒30個(gè)的并發(fā)請(qǐng)求。
本方案的安全性分析分別從服務(wù)器、客戶端和網(wǎng)絡(luò)安全性進(jìn)行分析。
(1) 服務(wù)器安全分析:所有存儲(chǔ)于服務(wù)器的人臉特征模板都是經(jīng)過(guò)加密處理的,即使攻擊者通過(guò)非法途徑獲得了數(shù)據(jù)庫(kù)的權(quán)限,在沒(méi)有私鑰的情況下,通過(guò)暴力破解FHE公鑰加密后存儲(chǔ)于數(shù)據(jù)庫(kù)的數(shù)據(jù)幾乎是不可能的。因此本方案能夠有效保護(hù)人臉特征模板,抵御來(lái)自授權(quán)服務(wù)器的內(nèi)部攻擊。
(2)客戶端安全分析:在人臉識(shí)別過(guò)程中,即使黑客已潛伏于客戶端內(nèi),也只能夠獲得加密后的數(shù)據(jù),無(wú)法獲得任何用戶的任何人臉信息。同時(shí)客戶端為基于封閉Linux系統(tǒng)的云終端,用戶無(wú)法在云終端系統(tǒng)進(jìn)行任何操作。
(3)網(wǎng)絡(luò)安全性分析:假設(shè)攻擊者已監(jiān)聽(tīng)了客戶端和服務(wù)器的之間的通信,能夠竊取客戶端和服務(wù)器之間的交互數(shù)據(jù),但它們之間傳輸?shù)娜四樚卣鲾?shù)據(jù)均已通過(guò)全同態(tài)加密方案進(jìn)行加密,攻擊者獲取的只有一堆密文,而無(wú)法恢復(fù)明文信息。因此,本方案可以防止不安全的網(wǎng)絡(luò)嗅探和中間數(shù)據(jù)攻擊。
3?結(jié)論
(1)為解決人臉識(shí)別中使用全同態(tài)加密導(dǎo)致的低效率和低識(shí)別率問(wèn)題,本文利用改進(jìn)后整數(shù)環(huán)上的全同態(tài)加密,可支持多比特加密數(shù)據(jù)的同態(tài)加法和同態(tài)乘法計(jì)算,通過(guò)將歐式距離的計(jì)算轉(zhuǎn)換為點(diǎn)積計(jì)算降低了通信交互過(guò)程的復(fù)雜度。在分布式環(huán)境中的實(shí)驗(yàn)表明該方案能夠達(dá)到99%以上的人臉識(shí)別率,滿足每秒30個(gè)的并發(fā)請(qǐng)求,兼顧了良好的安全性和認(rèn)證性能,證明了該方案的可行性和有效性。
(2)本文提出的云環(huán)境下融合FHE和人臉識(shí)別的身份認(rèn)證方案,保證了密鑰生成、分發(fā)和人臉身份認(rèn)證過(guò)程中的安全性。但在復(fù)雜的云計(jì)算環(huán)境中,為極大保證用戶數(shù)據(jù)和隱私,還需要結(jié)合實(shí)際的云平臺(tái)的安全問(wèn)題進(jìn)行分析。
參考文獻(xiàn):
[1]SINGH D S. User security in cloud using password authentication[J]. International Journal of Engineering Research and Applications, 2014, 4(6):39-44.
[2]ISLAM S H, BISWAS G P. Design of improved password authentication and update scheme based on elliptic curve cryptography[J]. Mathematical and Computer Modelling, 2013, 57(11):2703-2717.
[3]FAN K, DENG H, LI H, et al. Privacy protection smartcard authentication scheme in cloud computing[J]. Chinese Journal of Electronics, 2018, 27(1):41-45.
[4]楊雄. 基于指靜脈識(shí)別技術(shù)的云計(jì)算安全身份認(rèn)證[J].計(jì)算機(jī)應(yīng)用與軟件,2017,34(10):325-329.
[5]ILANKUMARAN S, DEISY C. Multi-biometric authentication system using finger vein and iris in cloud computing[J]. Cluster Computing, 2018(9):1-15.
[6]WAZID M, DAS A K, KUMARI S, et al. Provably secure biometric-based user authentication and key agreement scheme in cloud computing[J]. Security and Communication Networks, 2016, 9(17):4103-4119.
[7]張曼君,張巖. 云計(jì)算環(huán)境下基于無(wú)證書的匿名用戶認(rèn)證協(xié)議[J]. 信息通信技術(shù), 2016, 10(2):53-57.
[8]李昊星,李鳳華,宋承根,等. 支持身份認(rèn)證的數(shù)據(jù)持有性證明方案[J].通信學(xué)報(bào),2016,37(10):117-127.
[9]章堅(jiān)武,沈煒,吳震東. 卷積神經(jīng)網(wǎng)絡(luò)的人臉隱私保護(hù)識(shí)別[J].中國(guó)圖象圖形學(xué)報(bào),2019,24(05):744-752.
[10]NAGAR A. Biometric template security[J]. Eurasip Journal on Advances in Signal Processing, 2008, 2008(1):1-17.
[11]FENG Q, SU F, CAI A, et al. Cracking cancelable fingerprint template of ratha[C]. International Symposium on Computer Science and Computational Technology, 2008:572-575.
[12]康元基,顧純祥,鄭永輝,等. 利用特征向量構(gòu)造基于身份的全同態(tài)加密體制[J].軟件學(xué)報(bào),2016,27(06):1487-1497.
[13]游林,梁家豪. 基于同態(tài)加密與生物特征的安全身份認(rèn)證研究[J].信息網(wǎng)絡(luò)安全,2018(04):1-8.
[14]TRONCOSO-PASTORIZA J R , GONZALEZ ̄JIMENEZ D, PEREZ ̄GONZALEZ F. Fully private noninteractive face verification[J]. IEEE Transactions on Information Forensics and Security, 2013, 8(7):1101-1114.
[15]陸正福,李佳. ?全同態(tài)加密相容的核基人臉識(shí)別系統(tǒng)[J].云南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2018, 40(06):1116-1127.
(責(zé)任編輯:于慧梅)
Identity Authentication System Based on FHE and
Face Recognition in Cloud Environment
YANG Xiong*
(Zhicheng College, ?Fuzhou University, Fuzhou 350002, China)
Abstract:
The face recognition based identity authentication technology can ensure the consistency of the user′s physical identity and digital identity in the cloud computing environment. The combination of the cryptographic protocol and the face recognition can protect the user′s face privacy information in an open cloud computing environment. In order to solve the problem of low recognition rate and low efficiency caused by cryptographic protocol constraints, a distributed identity authentication scheme based on FHE and face recognition in cloud computing environment is proposed by using the improved homomorphic encryption (FHE) on the integer ring. Using the EHE distance classification compatible with FHE, the neural network model is used for face feature extraction. By calculating the Euclidean distance calculation into dot product calculation, the face recognition rate is guaranteed while reducing the computational complexity. The test results in the distributed environment show that the scheme can effectively protect user privacy without reducing the face recognition performance, improve the security of desktop cloud identity authentication, and has better applicability and promotion value.
Key words:
cloud security; homomorphic encryption; face recognition; identity authentication