林平榮,施曉權(quán),周諺辯,蘇思維,蕭國鏗,紀(jì)其順
(1.廣州大學(xué)華軟軟件學(xué)院軟件研究所,漳州 363000;2.廣州大學(xué)華軟軟件學(xué)院軟件工程系,陸豐 516500;3.廣州大學(xué)華軟軟件學(xué)院軟件工程系,海豐 516400;4.廣州大學(xué)華軟軟件學(xué)院網(wǎng)絡(luò)系,陸豐 516500;5.廣州大學(xué)華軟軟件學(xué)院軟件工程系,廣州 510990)
隨著計(jì)算機(jī)技術(shù)和移動設(shè)備如智能手機(jī)的日益普及和發(fā)展,手機(jī)在國民日常生活中已占重要地位,越來越多的人使用手機(jī)來管理和安排自己的工作和生活,如網(wǎng)上購物、網(wǎng)上轉(zhuǎn)賬、公文審核、電子簽名、上班簽到等。但是手機(jī)容易丟失或被竊取,一旦遺失,將會對用戶造成巨大的損失。因此,移動設(shè)備的安全性越來越受到重視。而保證系統(tǒng)安全的一個重要措施就是對手機(jī)用戶進(jìn)行身份的識別,在移動銀行、移動電子商務(wù)、移動辦公、電子政務(wù)等應(yīng)用領(lǐng)域,都需要對使用者的身份進(jìn)行準(zhǔn)確的鑒定。
目前,在移動平臺的身份識別領(lǐng)域中,被廣泛使用的仍然是簡單的用戶名和密碼或圖案解鎖的認(rèn)證方式,在某一些高端的移動設(shè)備采用指紋、人臉識別等生物特征認(rèn)證方式。傳統(tǒng)的單一認(rèn)證方式存在著安全性和可靠性的問題。據(jù)調(diào)查,當(dāng)前基于移動平臺的身份識別大多基于生物認(rèn)證技術(shù)或設(shè)備認(rèn)證技術(shù)。
(1)生物認(rèn)證技術(shù)是利用人體固有的生理特征,如人臉、指紋、視網(wǎng)膜、掌紋、虹膜及行為特征(簽名、聲音、步態(tài))等,對個體進(jìn)行身份識別的認(rèn)證技術(shù)[1-2]。
(2)設(shè)備認(rèn)證技術(shù)主要利用設(shè)備固有的唯一屬性進(jìn)行驗(yàn)證,如IMEI(國際移動裝備辨識碼)驗(yàn)證及網(wǎng)絡(luò)屬性(MAC、IP、UUID)、短信驗(yàn)證等。
這兩種認(rèn)證方式都存在優(yōu)缺點(diǎn):生物認(rèn)證具備安全性高、特征穩(wěn)定等特點(diǎn),但是在實(shí)際應(yīng)用中也面臨著諸多挑戰(zhàn),較為突出的是安全問題和識別準(zhǔn)確率問題,例如指紋識別就存在著指紋被套取或用假手指騙過識別系統(tǒng)的可能[3];相比較指紋識別,人臉識別精準(zhǔn)度更高,且識別速度快,非接觸式識別更衛(wèi)生,但是對移動設(shè)備及使用者的面部位置、周圍的光環(huán)境都有比較高的要求,否則可能影響識別的精確性,此外,人臉識別也存在偽造臉型通過識別認(rèn)證的可能;音紋識別利用的是說話人語音中特有的音紋信號,可以不考慮音紋中的字詞意思[4],使用方便,可以很好地滿足身份認(rèn)證要求,但聲音變化范圍大,音量、速度和音質(zhì)等方面都會影響識別精確度[5],如一個患上感冒的人有可能無法通過身份識別;設(shè)備認(rèn)證簡單易操作,但是容易被他人采取偽造信息的手段完成身份識別,如在網(wǎng)上購物時,由于使用的是軟驗(yàn)證,當(dāng)手機(jī)丟失時,盜竊者可通過軟件等技術(shù)手段破解支付密碼和圖文密碼。
針對移動平臺身份識別中存在的問題,提出一種基于移動平臺的多重身份識別系統(tǒng)方案。該方案在深入分析各種身份識別方法優(yōu)缺點(diǎn)的基礎(chǔ)上,將生物認(rèn)證技術(shù)、地理位置識別技術(shù)和設(shè)備認(rèn)證技術(shù)相結(jié)合,并可以根據(jù)業(yè)務(wù)場景需求提供不同等級的安全服務(wù),形成優(yōu)勢互補(bǔ)機(jī)制和識別評判機(jī)制,提高身份識別的安全性和實(shí)用性。整體方案設(shè)定及說明如表1所示。
表1 多重識別方案設(shè)定及說明
設(shè)備認(rèn)證主要通過設(shè)備綁定、短信認(rèn)證、密碼及圖紋解鎖等手段來進(jìn)行身份識別。生物識別主要通過人臉識別、聲紋識別等手段進(jìn)行身份驗(yàn)證。人臉識別技術(shù)近幾年已取得了驚人的進(jìn)步,目前人臉識別技術(shù)已經(jīng)滲透到人們的日常生活中,以往的人臉識別需要借助特殊的檢測設(shè)備,這類設(shè)備昂貴且笨重,隨著智能手機(jī)和發(fā)展,現(xiàn)在的智能手機(jī)基本上都可以充當(dāng)此類設(shè)備,讓人臉識別成為了可能[6];地理位置識別技術(shù)主要通過GPS接收器、移動基站、IP地址以及Wi-Fi資料庫來獲取定位信息,與驗(yàn)證設(shè)定的地理位置進(jìn)行對比。只要用戶在一定區(qū)域內(nèi),即可驗(yàn)證成功。
根據(jù)各識別方法存在的局限性,研究業(yè)務(wù)場景的安全等級及對應(yīng)的識別方法,形成優(yōu)勢互補(bǔ)機(jī)制的多重身份識別方案。如:使用綁定IMEI/MAC地址認(rèn)證法和GPS+時間戳認(rèn)證法只能識別出用戶所在地點(diǎn)和用戶是否使用已綁定的設(shè)備,但無法識別出用戶是否本人在操作,一旦出現(xiàn)設(shè)備被盜竊或盜用的情況,不能保證身份認(rèn)證的結(jié)果可靠,因此可以加入人臉識別技術(shù)進(jìn)行輔助識別,這樣可以保證用戶是本人進(jìn)行操作。場景不同,對身份識別的可靠性也存在著不同的要求,如上班簽到,該場景只需要知道員工本人在指定地點(diǎn)指定時間進(jìn)行的身份認(rèn)證即可,在這種場景下,考慮到指紋識別的可復(fù)制性,我們排除指紋識別方法,由于辦公環(huán)境聲音的不可控性把聲紋識別排除,因此該場景下可使用人臉識別來認(rèn)證員工本人,利用GPS+時間戳技術(shù)可獲得員工當(dāng)前地點(diǎn)和當(dāng)前時間。
基于以上方案,我們選取了其中的一個場景(電子簽到,以下簡稱EII)進(jìn)行系統(tǒng)實(shí)現(xiàn),設(shè)定該場景對應(yīng)表一理的L5等級,用到“設(shè)備認(rèn)證+生物識別+位置識別”的多重識別方法,生物認(rèn)證采用人臉識別認(rèn)證和音紋識別認(rèn)證。
基于以上需求,EII主要功能模塊如圖1所示:
圖1 EII系統(tǒng)功能模塊圖
用戶登錄后,通過調(diào)用GPS定位確認(rèn)自己的地理位置,通過定位后即時調(diào)用攝像頭進(jìn)行人臉識別,根據(jù)用戶上傳的數(shù)據(jù)系統(tǒng)進(jìn)行信息匹配,信息一致時簽到成功。企業(yè)管理員可以通過后臺管理,查看、修改員工的簽到狀態(tài)以及簽到方式。
本系統(tǒng)主要用到 Android的 Glide、OkHttp3、和EventBus技術(shù)。Android Glide可以很好地提高圖片加載和處理速度,其自身內(nèi)部已經(jīng)實(shí)現(xiàn)了緩存策略,因此開發(fā)者可以不用處理Android圖片加載的瑣碎事務(wù),只需要專注邏輯業(yè)務(wù)的開發(fā),而且Android Glide只需要很少的代碼,即可完成大部分圖片加載、顯示的功能需求;OkHttp3是一個精巧的網(wǎng)絡(luò)請求庫,支持HTTP2,對一臺機(jī)器的所有請求共享同一個Socket內(nèi)置連接池,支持連接復(fù)用,減少延遲支持透明gzip壓縮響應(yīng)體通過緩存避免重復(fù)的請求,請求失敗時自動重試主機(jī)的其他IP,自動重定向;EventBus是一款針對Android優(yōu)化的發(fā)布/訂閱事件總線。簡化了應(yīng)用程序內(nèi)各組件間、組件與后臺線程間的通信。優(yōu)點(diǎn)是開銷小,代碼更優(yōu)雅,以及將發(fā)送者和接收者解耦。
圖2 員工簽到流程圖
圖3 管理簽到流程圖
人臉識別是系統(tǒng)的核心功能之一,為了提高識別的效率和精確度,我們采用Face++提供的API,系統(tǒng)會要求用戶上傳一張自拍照到服務(wù)器中,當(dāng)需要進(jìn)行人臉識別時,系統(tǒng)會調(diào)出自拍照和用戶即時提供的照片進(jìn)行對比,從而識別是否是本人操作。
圖4 人臉識別調(diào)用流程
音紋識別是系統(tǒng)的核心功能之一,為了提高識別的效率和精確度,我們采用訊飛語音提供的API。系統(tǒng)會要求用戶朗讀一段文字并將音頻存入到訊飛語音的服務(wù)器中,當(dāng)需要進(jìn)行音紋識別時,系統(tǒng)會調(diào)出音頻和用戶即時朗讀的音頻進(jìn)行對比,從而識別是否是本人操作。
圖5 音紋識別調(diào)用流程
文件加密是系統(tǒng)的核心功能之一,為了提高識別的效率和安全性,我們采用Android自帶的ASE算法包。系統(tǒng)將用戶要求加密的文件轉(zhuǎn)換成字節(jié)數(shù)組,并通過調(diào)用算法包中的函數(shù)對字節(jié)數(shù)組進(jìn)行加密。
短信驗(yàn)證是平臺給用戶的一個憑證,通過短信內(nèi)容的碼來驗(yàn)證身份。系統(tǒng)通過Mob提供的驗(yàn)證服務(wù)進(jìn)行驗(yàn)證,讓用戶發(fā)送短信驗(yàn)證請求到Mob服務(wù)器,Mob服務(wù)器再請求短信服務(wù)商下發(fā)短信,然后系統(tǒng)根據(jù)用戶輸入的驗(yàn)證碼和Mob提供的驗(yàn)證接口進(jìn)行驗(yàn)證,具體流程如圖6所示。
圖6 短信驗(yàn)證流程
圖7 音紋識別界面
圖8 人臉識別界面
圖9 人臉即時采集
圖10 識別通過界面
EII系統(tǒng)采用Android語言的MVC框架構(gòu)建的移動應(yīng)用系統(tǒng),使用MySQL 5.6作為后臺數(shù)據(jù)庫,使用Android Stduio作為代碼開發(fā)工具。系統(tǒng)設(shè)計(jì)采用模塊化的設(shè)計(jì)方式,分為普通用戶模塊,企業(yè)模塊與管理員模塊。音紋識別引擎由訊飛公司提供,音紋識別界面如圖7所示,人臉識別引擎由曠視科技Megvii Face++提供,人臉識別的界面如圖8和圖9所示,通過識別的界面如圖10所示。
本文提出了一種基于移動平臺的多重身份識別方案并給出最終實(shí)現(xiàn)效果。該方案安全機(jī)制靈活、富有彈性,可以很好地實(shí)現(xiàn)安全性和適用性之間的平衡,一定程度解決目前安全認(rèn)證的難題,可以廣泛的應(yīng)用于移動辦公、電子政務(wù)、移動支付、移動電子商務(wù)、安防等領(lǐng)域。
[1]黃軒,范京曄.基于移動平臺的多重生物識別系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2015(5):105-106.
[2]傅山,潘娟.移動智能終端生物識別發(fā)展與挑戰(zhàn)[J].移動通訊,2015(5):13-14.
[3]童曉陽,王培林.基于復(fù)合生物識別的出入門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2007(2):117-118.
[4]曾斌,姚路,陳志誠.基于聲紋識別的Web身份認(rèn)證系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程,2011,37(15):149-150.
[5]林鶴.生物識別――永恒的身份證.http://www.chinaconsult.com/yujian.html#007.
[6]陳一寧,陳曉光.基于手機(jī)和人臉識別的身份識別系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(3):77-79.