段俊杰,尹雅君
(1.長沙理工大學(xué)物理與電子科學(xué)學(xué)院,長沙 410114;2.近地空間電磁場環(huán)境監(jiān)測與建模湖南高校重點(diǎn)實(shí)驗(yàn)室,長沙 410114)
統(tǒng)一身份認(rèn)證讓擁有同一個(gè)賬號密碼的用戶可以登錄其他支持統(tǒng)一認(rèn)證服務(wù)的應(yīng)用系統(tǒng),給人民生活帶來了便利,用戶不必再為不同應(yīng)用系統(tǒng)不一樣的密碼記憶而糾結(jié),管理人員也可以統(tǒng)一集中管理各個(gè)應(yīng)用系統(tǒng)上的用戶,而且統(tǒng)一認(rèn)證讓開發(fā)人員專注于身份認(rèn)證服務(wù),可以提高服務(wù)質(zhì)量,但是由于統(tǒng)一身份認(rèn)證的驗(yàn)證方式單一,賬號密碼泄露后會造成與此關(guān)聯(lián)的所有應(yīng)用系統(tǒng)的個(gè)人信息的泄露,會給用戶生活帶來干擾,甚至造成嚴(yán)重財(cái)產(chǎn)損失[1]。因此,為了增強(qiáng)統(tǒng)一身份認(rèn)證的安全性,需要對統(tǒng)一身份認(rèn)證進(jìn)行優(yōu)化,確保用戶的個(gè)人信息安全。人臉識別利用用戶人臉特征信息辨別用戶身份,將現(xiàn)實(shí)中的人臉通過攝像頭轉(zhuǎn)化為虛擬數(shù)據(jù),讓虛擬與現(xiàn)實(shí)聯(lián)系到一起,為身份鑒別增添了真實(shí)性。到目前為止,人臉識別技術(shù)已經(jīng)在各個(gè)服務(wù)行業(yè)得到充分應(yīng)用。本文以人臉識別技術(shù)為基礎(chǔ),結(jié)合現(xiàn)有的統(tǒng)一身份認(rèn)證機(jī)制,研究一種基于人臉識別的統(tǒng)一身份認(rèn)證優(yōu)化的方案,提升用戶身份認(rèn)證的安全性。
統(tǒng)一身份認(rèn)證的結(jié)構(gòu)如圖1所示,包含認(rèn)證服務(wù)模塊、認(rèn)證管理模塊和身份存儲模塊等三個(gè)部分[2,3]。
圖1統(tǒng)一認(rèn)證服務(wù)結(jié)構(gòu)
認(rèn)證服務(wù)模塊主要為用戶提供賬號密碼驗(yàn)證與信息查詢驗(yàn)證,并為已接入身份認(rèn)證平臺的應(yīng)用系統(tǒng)提供統(tǒng)一身份認(rèn)證接口(即已在統(tǒng)一身份認(rèn)證平臺登記注冊的用戶可應(yīng)用本平臺的賬號密碼登錄其他合作的應(yīng)用系統(tǒng))。
認(rèn)證管理模塊提供個(gè)人與集團(tuán)權(quán)限申請、變更以及注銷業(yè)務(wù),能根據(jù)用戶的操作信息修改存儲服務(wù)器的內(nèi)容。
身份存儲模塊提供用戶信息和用戶權(quán)限數(shù)據(jù)存儲。用戶信息是用戶注冊時(shí)保存的信息或者修改后的變更信息。用戶權(quán)限數(shù)據(jù)主要表現(xiàn)在統(tǒng)一身份認(rèn)證平臺向第三方應(yīng)用系統(tǒng)提供的接口使用權(quán)限設(shè)置。
統(tǒng)一身份認(rèn)證流程的步驟[4]:
(1)用戶使用已在統(tǒng)一身份認(rèn)證平臺登記的賬號和密碼登錄第三方應(yīng)用系統(tǒng)提供的統(tǒng)一身份認(rèn)證服務(wù);
(2)統(tǒng)一身份認(rèn)證平臺查詢數(shù)據(jù)庫,驗(yàn)證用戶賬號信息,并返回憑證;
(3)第三方應(yīng)用系統(tǒng)通過返回的憑證訪問統(tǒng)一身份認(rèn)證平臺,驗(yàn)證憑證的有效性;
(4)第三方應(yīng)用系統(tǒng)允許用戶登錄訪問。
人臉識別技術(shù)主要有圖像采集與人臉檢測、圖像預(yù)處理、人臉特征提取和人臉匹配識別等四部分組成。
(1)圖像采集與人臉檢測:通過攝像頭捕獲不同表情、不同位置和不同角度的人臉圖像的過程。根據(jù)實(shí)際需要,人臉圖像可以是視頻流中的一幀圖像以及視頻流中某幀區(qū)的連續(xù)人臉圖像。另外,圖像采集過程不能保證每一幀圖像存在人臉,需要使用相應(yīng)的算法進(jìn)行人臉區(qū)域檢測和分離,也就是人臉檢測。常用的人臉檢測算法是AdaBoost算法,AdaBoost算法使用不同弱分類器組成的強(qiáng)分類器以分離人臉與背景[5-6]。
(2)圖像預(yù)處理:主要包含人臉對齊,人臉對齊又分為人臉關(guān)鍵點(diǎn)檢測和幾何校正兩部分。
人臉關(guān)鍵點(diǎn)檢測算法是局部二值特征(Local Binary Features,LBF)。本文主要應(yīng)用比較先進(jìn)的LBF算法,LBF使用隨機(jī)森林訓(xùn)練每個(gè)關(guān)鍵點(diǎn)的局部二值特征,再用線性回歸方法訓(xùn)練所有的局部二值特征以得到最終關(guān)鍵點(diǎn)模型[7]。計(jì)算公式如式(1)。
式中,I是訓(xùn)練輸入圖像,S是前一階段的模型,φt是利用隨機(jī)森林確定的全局二值特征矩陣,由I和St-1共同確定,Wt是線性回歸矩陣。它屬于一種基于形狀回歸的人臉對齊算法,給定初始模型S0,最終模型S由△S逐漸逼近。
幾何校正是計(jì)算人臉關(guān)鍵點(diǎn)矩陣與矯正模板矩陣的相似矩陣,再將人臉圖像數(shù)據(jù)矩陣做同樣的相似變換,完成人臉矯正。相似變換公式如式(2)。
(u',v',1)是矯正模板矩陣,(u,v,1)是關(guān)鍵點(diǎn)矩陣,中間是相似矩陣,α是伸縮值,β是位移值,θ是旋轉(zhuǎn)角度[8-9]。
(3)人臉特征提?。菏褂镁矸e神經(jīng)網(wǎng)絡(luò)模型進(jìn)行人臉特征值提取,2014年是牛津大學(xué)計(jì)算機(jī)視覺組(Visual Geometry Group)研發(fā)了一種深度卷積神經(jīng)網(wǎng)絡(luò),由于此網(wǎng)絡(luò)結(jié)構(gòu)包含13個(gè)卷積層和3個(gè)全連接層,所以被稱為VGG16[10]。VGG16的詳細(xì)結(jié)構(gòu)如圖2所示。
圖2 VGG16網(wǎng)絡(luò)結(jié)構(gòu)圖
由于優(yōu)化方案主要是針對國內(nèi)相關(guān)機(jī)構(gòu)的統(tǒng)一身份認(rèn)證平臺,而且VGG16預(yù)訓(xùn)練模型輸出的特征參數(shù)比較多,會降低系統(tǒng)的運(yùn)行效率。因此,對VGG16卷積神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練模型進(jìn)行微調(diào),使卷積神經(jīng)網(wǎng)絡(luò)模型的針對性更強(qiáng)。訓(xùn)練樣本使用國內(nèi)CAS-PEALR1人臉圖像數(shù)據(jù)庫,抽取其中500類人臉,總計(jì)7988張人臉圖片,測試樣本有2500張人臉圖片。微調(diào)參數(shù)設(shè)置如圖3。
圖3微調(diào)參數(shù)
圖4是微調(diào)過程中訓(xùn)練損失率與分類正確率隨迭代次數(shù)變化的示意圖。從圖中可以看出當(dāng)?shù)螖?shù)超過2000以后訓(xùn)練損失已接近于0,而且分類正確率達(dá)到0.8以上。表明微調(diào)參數(shù)設(shè)置較合理,VGG16卷積神經(jīng)網(wǎng)絡(luò)模型微調(diào)基本成功。
圖4訓(xùn)練損失率與分類正確率變化示意圖
(4)人臉匹配識別:包括相似度計(jì)算和閾值設(shè)定兩個(gè)部分。相似度計(jì)算就是通過相應(yīng)算法(如歐幾里得算法)計(jì)算提取到的特征矩陣與已保存的特征矩陣之間的相似度。閾值設(shè)定是在確定一個(gè)閾值后,當(dāng)兩者的相似度大于這個(gè)閾值,兩者是同一個(gè)人。
統(tǒng)一身份認(rèn)證的優(yōu)化方案結(jié)構(gòu)如圖5所示,本方案是在第三方應(yīng)用系統(tǒng)上實(shí)現(xiàn)的,第三方應(yīng)用系統(tǒng)采用Struts2框架模擬搭建,圖上數(shù)據(jù)上傳采用AJAX技術(shù),圖像處理與人臉特征提取使用OpenCV圖像處理庫、dlib人臉檢測庫和Caffe深度學(xué)習(xí)框架。系統(tǒng)只設(shè)置特征登記與匹配登錄兩個(gè)模塊。
圖5統(tǒng)一身份認(rèn)證優(yōu)化結(jié)構(gòu)
特征登記是在驗(yàn)證統(tǒng)一身份賬號后對人臉特征信息進(jìn)行保存,保證用戶后續(xù)登錄時(shí)有相關(guān)特征信息對比。這一業(yè)務(wù)模塊設(shè)置在應(yīng)用系統(tǒng)上,并且與統(tǒng)一身份認(rèn)證相關(guān)聯(lián),提升了系統(tǒng)運(yùn)行效率。
特征登記流程如圖6所示,首先打開攝像頭采集圖像,將采集到的圖像上傳給應(yīng)用系統(tǒng)進(jìn)行特征提取,同時(shí)輸入賬號密碼進(jìn)行統(tǒng)一身份認(rèn)證,應(yīng)用系統(tǒng)驗(yàn)證返回的憑證,驗(yàn)證有效后進(jìn)行人臉圖像特征信息存儲。
圖6人臉特征登記流程
匹配登錄主要是在驗(yàn)證統(tǒng)一身份認(rèn)證賬號后實(shí)現(xiàn)特征信息比對,從而鑒別用戶信息。這部分結(jié)合了密碼認(rèn)證和人臉識別,為用戶登錄第三方應(yīng)用系統(tǒng)增添一份保障。匹配登錄過程與登記過程大致相似,不同的地方在于匹配登錄是將現(xiàn)得到的特征信息與數(shù)據(jù)庫中已登記的特征信息比對匹配,完成用戶登錄。
本方案的測試環(huán)境有Win10 x64操作系統(tǒng)、AMD Ryzen 5 1600六核 CPU、NVIDIA GeForce GTX 1050 GPU、8G RAM、Logitech c270攝像頭,相關(guān)軟件有Eclipse、Visual2013。方案測試包括微調(diào)模型測試、特征登記測試和匹配登錄測試。
隨機(jī)選取兩張姿態(tài)不一樣的同人圖片和一張不同人圖片,測試不同迭代次數(shù)的微調(diào)VGG模型的相似度。從2400次迭代開始測試,保證模型處于收斂穩(wěn)定狀態(tài),測試結(jié)果如表1所示。3600次迭代后的模型對不同人與同人的相似度差值最大,說明3600次迭代得到的模型提取的特征值更準(zhǔn)確,因此使用此微調(diào)模型進(jìn)行后續(xù)測試。
表1微調(diào)模型測試
本部分測試安排了10個(gè)人,其中5個(gè)人已在某一統(tǒng)一身份認(rèn)證平臺注冊了賬號,另外5人未注冊賬號。在用戶已注冊和用戶未注冊的測試條件,分別測試兩者的登記成功率。測試結(jié)果如表1,用戶已注冊情況下100%的登記成功率和未注冊情況下0的成功率,說明用戶必須在統(tǒng)一身份認(rèn)證平臺上注冊了賬號才能記性人臉特征登記。
表2特征登記測試
特征登記測試的結(jié)果是5人完成特征登記,其他5人未進(jìn)行注冊。首先讓未注冊的5人先進(jìn)行測試,記錄測試結(jié)果;然后讓未注冊的5人完成注冊,但不進(jìn)行登記;最后讓未登記的5人和已登記的5人分別進(jìn)行測試。測試分為用戶未登記、用戶未登記和用戶已登記三種情況。測試結(jié)果如表2所示,未注冊情況下0的登錄成功率、未登記情況下0的登錄成功率和已登記情況下100%的成功率,表明用戶成功登錄的前提是必須同時(shí)完成賬號密碼驗(yàn)證和人臉特征識別。
將人臉識別技術(shù)融入統(tǒng)一身份認(rèn)證,研究并實(shí)現(xiàn)了基于人臉識別的統(tǒng)一身份認(rèn)證優(yōu)化,保障了用戶安全登錄。本方案將統(tǒng)一身份認(rèn)證平臺的憑證驗(yàn)證與第三方應(yīng)用系統(tǒng)的人臉認(rèn)證結(jié)合,一方面避免統(tǒng)一認(rèn)證平臺功能拓展時(shí)造成的安全漏洞;另一方面可以充分利用第三方應(yīng)用系統(tǒng)的處理能力;更重要的一點(diǎn),人臉面部特征信息的識別證實(shí)用戶本人進(jìn)行登錄操作。系統(tǒng)特征登記與匹配登錄測試的成功為基于人臉識別的統(tǒng)一身份認(rèn)證優(yōu)化方案的可實(shí)施性提供了有力證明。