黃琪 王大帝 張珊
摘 要:身份認證是保護信息系統(tǒng)的第一道安全防線,本文對現(xiàn)有的身份認證技術(shù)進行分析,提出基于區(qū)塊連技術(shù)的人臉識別認證模型,介紹了該模型的技術(shù)組件及主要流程。
關(guān)鍵詞:區(qū)塊連;人臉識別;身份認證;去中心化
中圖分類號:TP309 文獻標(biāo)識碼:A 文章編號:1671-2064(2019)15-0041-02
0 引言
用戶訪問業(yè)務(wù)系統(tǒng)時,對用戶身份進行審查,查看該用戶是否具備繼續(xù)訪問和使用系統(tǒng)的資格,即身份認證。身份認證主要通過3種方式實現(xiàn):
(1)知識類認證方式。用戶回答自己所掌握的信息來證實身份,如用戶的靜態(tài)密碼等。知識類認證方式,是早期的身份認證方法,非常不安全,容易受到社會學(xué)攻擊、暴力破解等。(2)資產(chǎn)類認證方式。根據(jù)用戶所擁有的資產(chǎn)來證明身份,如電子令牌、短信動態(tài)口令等。資產(chǎn)類認證方式,對動態(tài)電子令牌、手機等移動終端依賴性比較大。一旦移動終端設(shè)備被不法者獲取,很可能利用獲取動態(tài)口令進行非法登陸。(3)固有特征認證方式。采用用戶獨的、不可復(fù)制的特征來證明身份,如指紋、人臉等。該方式不容易被復(fù)制和破解,使用方便。
以上三種認證方式,均存在數(shù)據(jù)庫泄露的風(fēng)險:攻擊者獲取中心化的數(shù)據(jù)庫,會造成大規(guī)模信息泄露,同時可篡改數(shù)據(jù)信息,以此通過身份認證。
區(qū)塊鏈技術(shù)是一種不可篡改、可追蹤、不斷增長的分布式賬本式數(shù)據(jù)庫。本文提出一種基于區(qū)塊鏈技術(shù)的人臉識別認證模型,采用去中心化的方式存儲身份信息,使得人臉認證更加安全、可靠。
1 基于區(qū)塊鏈技術(shù)的人臉識別認證模型
基于區(qū)塊鏈技術(shù)的人臉識別認證模型包括兩個核心技術(shù)組件:人臉識別組件和區(qū)塊鏈組件。將采集到的人臉信息與個人信息掛鉤,經(jīng)過區(qū)塊鏈共識完成存儲;其次,人臉識別時,從經(jīng)過共識的區(qū)塊中調(diào)取人臉信息進行比對,可以防止冒名作假現(xiàn)象;最后,人臉識別全流程鏈上公開透明可追溯,有效杜絕后臺修改數(shù)據(jù)現(xiàn)象,同時發(fā)生異常時可以實現(xiàn)快速定位。
1.1 技術(shù)組件
1.1.1 人臉識別組件
圖1是人臉識別組件技術(shù)邏輯圖??蛻舳薙DK能夠適配windows臺式電腦、android移動終端、IOS移動終端、IP網(wǎng)絡(luò)攝像頭等多種終端設(shè)備,具備人臉檢測、人臉對齊等通用功能,通過有線或無線網(wǎng)絡(luò)連接人臉識別服務(wù)端。業(yè)務(wù)系統(tǒng)前端與人臉識別客戶端SDK進行集成??蛻舳薙DK通過終端設(shè)備進行視頻流捕獲,并采用H264進行解碼,并提取視頻流中的視頻幀進行預(yù)處理,將彩色圖片進行灰度化、清晰度判斷等預(yù)處理,然后采用圖像圖像金字塔技術(shù)進行圖片的縮放,并使用MTCNN網(wǎng)絡(luò)進行人臉檢測,定位人臉特征點。WEB服務(wù)器通過服務(wù)接口獲取客戶機識別請求,進行人臉特征提取、人臉識別運算,反饋識別結(jié)果回饋至業(yè)務(wù)系統(tǒng)客戶端。
人臉識別流程如圖2所示。通過手機、攝像頭等設(shè)備采集圖像,經(jīng)過人臉檢測、人臉對齊、特征提取等技術(shù),采用mobilefacenet進行人臉特征提取,將特征空間中提取的人臉特征值與人臉特征庫中的特征值進行搜索、比對,分別計算余弦距離,采用冒泡排序的方式選選擇最相似的人臉,并輸出結(jié)果。當(dāng)最相似的人臉的相似值超過閾值,則身份驗證成功。
1.1.2 區(qū)塊鏈組件
如圖3,給出了區(qū)塊鏈組件的邏輯圖。區(qū)塊鏈組件主要包括區(qū)塊構(gòu)建管理、區(qū)塊共識管理、核心服務(wù)等功能,為業(yè)務(wù)系統(tǒng)提供一個去中心化、分布式的、防篡改、可追溯的數(shù)據(jù)可信環(huán)境,通過API接口將數(shù)據(jù)存儲在區(qū)塊鏈上,在需要進行提取和驗證時,通過API接口查詢鏈上的數(shù)據(jù),形成完整的數(shù)據(jù)可信流轉(zhuǎn)業(yè)務(wù)能力視圖。
區(qū)塊構(gòu)建管理:實現(xiàn)對業(yè)務(wù)系統(tǒng)數(shù)據(jù)的存儲支持以及數(shù)據(jù)的區(qū)塊查詢和處理結(jié)果查詢。
區(qū)塊共識管理:配置共識域,并采用拜占庭算法對共識節(jié)點進行管理。
核心服務(wù):區(qū)塊鏈組件對外提供三種核心服務(wù)API。(1)一致性服務(wù),采用區(qū)塊鏈技術(shù),對數(shù)據(jù)存儲進行一致性管理,以實現(xiàn)業(yè)務(wù)數(shù)據(jù)的一致性更新和存儲,提高運行過程中存儲、調(diào)用的穩(wěn)定性與安全性。(2)可信服務(wù),利用區(qū)塊鏈技術(shù)的時序特性、數(shù)據(jù)不可篡改與抗攻擊等特性,將核心操作進行區(qū)塊存儲,進行可信賬戶統(tǒng)計結(jié)果的區(qū)塊數(shù)據(jù)共享,提升了查詢數(shù)據(jù)、運行應(yīng)用、賬戶監(jiān)控力度和等級評價的可信性。(3)隱私服務(wù),利用區(qū)塊鏈技術(shù)實現(xiàn)傳輸通道的兩端非對稱加密,實現(xiàn)對傳輸數(shù)據(jù)的通道化管理和在通道中的加密傳輸,解決數(shù)據(jù)在通道傳輸過程中信息易被抓取和破解等問題。
1.2 模型環(huán)節(jié)
本模型主要包括注冊和驗證兩個環(huán)節(jié)。用戶初次發(fā)起服務(wù)請求時需要完成注冊操作,注冊成功后服務(wù)端返回服務(wù)和公鑰;用戶再次請求服務(wù)時需要完成驗證操作,驗證成功后服務(wù)供應(yīng)商返回服務(wù)和新公鑰,如圖4所示。
1.2.1 注冊
步驟1:用戶通過客戶端注冊個人信息,并上傳人臉圖片;步驟2:人臉識別組件接收人臉圖像,提取用戶人臉特征,并將人臉特征值反饋給客戶端;步驟3:客戶端將人臉特征值和用戶名的哈希值發(fā)送給服務(wù)端;步驟4:服務(wù)端的所有節(jié)點共享同一個帳本。通過拜占庭算法選舉其中一個節(jié)點作為主節(jié)點,其他節(jié)點傳播、計算、驗證人臉識別特征的哈希摘要。當(dāng)超過2/3的節(jié)點計算的哈希摘要相同,則達成共識;主節(jié)點使用私鑰對人臉特征值摘要和用戶名的哈希值進行簽名,并寫入新區(qū)塊;步驟5:服務(wù)端將公鑰返回給客戶端,完成注冊。
1.2.2 驗證
已注冊的用戶想要獲取服務(wù),需要服務(wù)端、區(qū)塊鏈進行身份驗證。驗證流程如下:
步驟1:客戶端獲取用戶名、人臉圖像、公鑰;步驟2:客戶端將人臉圖像傳遞給人臉識別技術(shù)組件,提取用戶人臉特征,并返回給客戶端;步驟3:客戶端將公鑰、人臉特征值、用戶名的哈希值發(fā)送給服務(wù)端;步驟4:服務(wù)端使用公鑰在區(qū)塊鏈中進行驗簽,遍歷尋找相同的用戶名哈希值;如果不存在相同的用戶名哈希值,則該用戶不存在;步驟5:計算該人臉特征值與區(qū)塊鏈中存儲的該用戶的人臉特征值的相似度,如相似度小于閾值則驗證失敗,如相似度大于閾值則驗證通過;步驟6:計算當(dāng)前區(qū)塊的哈希值(包括前一區(qū)塊的哈希值、時間戳、人臉特征值、私鑰簽名的用戶名哈希值)是否與下一區(qū)塊中存儲的值相等,如相等則驗證通過。
2 結(jié)語
本文針對身份認證技術(shù)進行了分析,指出知識類認證、資產(chǎn)類認證、固有特征認證三種方式存在的缺陷,提出了基于區(qū)塊連技術(shù)的人臉識別認證模型,區(qū)塊鏈的私鑰加密、分布式存儲、全程可追溯可增強身份認證的安全性,解決泄庫、數(shù)據(jù)篡改等問題。
參考文獻
[1] 夏振杰.基于人臉識別技術(shù)的身份認證系統(tǒng)實現(xiàn)簡介[J].科技信息,2010(5):44.
[2] 何昀.基于虹膜的人體特征識別方法研究與實現(xiàn)[D].東北師范大學(xué),2006.
[3] OGorman L.Comparing passwords,tokens,and biometrics for user authentication[C]//Proceedings of the IEEE,2003:2019-2020.
[4] 彭永勇,張曉韜.基于區(qū)塊鏈應(yīng)用模式的可信身份認證關(guān)鍵技術(shù)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2018(02):36-37.
[5] 邵奇峰,金澈清,張召,等.區(qū)塊鏈技術(shù):架構(gòu)及進展[J].計算機學(xué)報,2018(05):3-22.