林平榮,施曉權,周諺辯,蘇思維,蕭國鏗,紀其順
(1.廣州大學華軟軟件學院軟件研究所,漳州 363000;2.廣州大學華軟軟件學院軟件工程系,陸豐 516500;3.廣州大學華軟軟件學院軟件工程系,海豐 516400;4.廣州大學華軟軟件學院網絡系,陸豐 516500;5.廣州大學華軟軟件學院軟件工程系,廣州 510990)
隨著計算機技術和移動設備如智能手機的日益普及和發展,手機在國民日常生活中已占重要地位,越來越多的人使用手機來管理和安排自己的工作和生活,如網上購物、網上轉賬、公文審核、電子簽名、上班簽到等。但是手機容易丟失或被竊取,一旦遺失,將會對用戶造成巨大的損失。因此,移動設備的安全性越來越受到重視。而保證系統安全的一個重要措施就是對手機用戶進行身份的識別,在移動銀行、移動電子商務、移動辦公、電子政務等應用領域,都需要對使用者的身份進行準確的鑒定。
目前,在移動平臺的身份識別領域中,被廣泛使用的仍然是簡單的用戶名和密碼或圖案解鎖的認證方式,在某一些高端的移動設備采用指紋、人臉識別等生物特征認證方式。傳統的單一認證方式存在著安全性和可靠性的問題。據調查,當前基于移動平臺的身份識別大多基于生物認證技術或設備認證技術。
(1)生物認證技術是利用人體固有的生理特征,如人臉、指紋、視網膜、掌紋、虹膜及行為特征(簽名、聲音、步態)等,對個體進行身份識別的認證技術[1-2]。
(2)設備認證技術主要利用設備固有的唯一屬性進行驗證,如IMEI(國際移動裝備辨識碼)驗證及網絡屬性(MAC、IP、UUID)、短信驗證等。
這兩種認證方式都存在優缺點:生物認證具備安全性高、特征穩定等特點,但是在實際應用中也面臨著諸多挑戰,較為突出的是安全問題和識別準確率問題,例如指紋識別就存在著指紋被套取或用假手指騙過識別系統的可能[3];相比較指紋識別,人臉識別精準度更高,且識別速度快,非接觸式識別更衛生,但是對移動設備及使用者的面部位置、周圍的光環境都有比較高的要求,否則可能影響識別的精確性,此外,人臉識別也存在偽造臉型通過識別認證的可能;音紋識別利用的是說話人語音中特有的音紋信號,可以不考慮音紋中的字詞意思[4],使用方便,可以很好地滿足身份認證要求,但聲音變化范圍大,音量、速度和音質等方面都會影響識別精確度[5],如一個患上感冒的人有可能無法通過身份識別;設備認證簡單易操作,但是容易被他人采取偽造信息的手段完成身份識別,如在網上購物時,由于使用的是軟驗證,當手機丟失時,盜竊者可通過軟件等技術手段破解支付密碼和圖文密碼。
針對移動平臺身份識別中存在的問題,提出一種基于移動平臺的多重身份識別系統方案。該方案在深入分析各種身份識別方法優缺點的基礎上,將生物認證技術、地理位置識別技術和設備認證技術相結合,并可以根據業務場景需求提供不同等級的安全服務,形成優勢互補機制和識別評判機制,提高身份識別的安全性和實用性。整體方案設定及說明如表1所示。

表1 多重識別方案設定及說明
設備認證主要通過設備綁定、短信認證、密碼及圖紋解鎖等手段來進行身份識別。生物識別主要通過人臉識別、聲紋識別等手段進行身份驗證。人臉識別技術近幾年已取得了驚人的進步,目前人臉識別技術已經滲透到人們的日常生活中,以往的人臉識別需要借助特殊的檢測設備,這類設備昂貴且笨重,隨著智能手機和發展,現在的智能手機基本上都可以充當此類設備,讓人臉識別成為了可能[6];地理位置識別技術主要通過GPS接收器、移動基站、IP地址以及Wi-Fi資料庫來獲取定位信息,與驗證設定的地理位置進行對比。只要用戶在一定區域內,即可驗證成功。
根據各識別方法存在的局限性,研究業務場景的安全等級及對應的識別方法,形成優勢互補機制的多重身份識別方案。如:使用綁定IMEI/MAC地址認證法和GPS+時間戳認證法只能識別出用戶所在地點和用戶是否使用已綁定的設備,但無法識別出用戶是否本人在操作,一旦出現設備被盜竊或盜用的情況,不能保證身份認證的結果可靠,因此可以加入人臉識別技術進行輔助識別,這樣可以保證用戶是本人進行操作。場景不同,對身份識別的可靠性也存在著不同的要求,如上班簽到,該場景只需要知道員工本人在指定地點指定時間進行的身份認證即可,在這種場景下,考慮到指紋識別的可復制性,我們排除指紋識別方法,由于辦公環境聲音的不可控性把聲紋識別排除,因此該場景下可使用人臉識別來認證員工本人,利用GPS+時間戳技術可獲得員工當前地點和當前時間。
基于以上方案,我們選取了其中的一個場景(電子簽到,以下簡稱EII)進行系統實現,設定該場景對應表一理的L5等級,用到“設備認證+生物識別+位置識別”的多重識別方法,生物認證采用人臉識別認證和音紋識別認證。
基于以上需求,EII主要功能模塊如圖1所示:

圖1 EII系統功能模塊圖
用戶登錄后,通過調用GPS定位確認自己的地理位置,通過定位后即時調用攝像頭進行人臉識別,根據用戶上傳的數據系統進行信息匹配,信息一致時簽到成功。企業管理員可以通過后臺管理,查看、修改員工的簽到狀態以及簽到方式。
本系統主要用到 Android的 Glide、OkHttp3、和EventBus技術。Android Glide可以很好地提高圖片加載和處理速度,其自身內部已經實現了緩存策略,因此開發者可以不用處理Android圖片加載的瑣碎事務,只需要專注邏輯業務的開發,而且Android Glide只需要很少的代碼,即可完成大部分圖片加載、顯示的功能需求;OkHttp3是一個精巧的網絡請求庫,支持HTTP2,對一臺機器的所有請求共享同一個Socket內置連接池,支持連接復用,減少延遲支持透明gzip壓縮響應體通過緩存避免重復的請求,請求失敗時自動重試主機的其他IP,自動重定向;EventBus是一款針對Android優化的發布/訂閱事件總線。簡化了應用程序內各組件間、組件與后臺線程間的通信。優點是開銷小,代碼更優雅,以及將發送者和接收者解耦。

圖2 員工簽到流程圖

圖3 管理簽到流程圖
人臉識別是系統的核心功能之一,為了提高識別的效率和精確度,我們采用Face++提供的API,系統會要求用戶上傳一張自拍照到服務器中,當需要進行人臉識別時,系統會調出自拍照和用戶即時提供的照片進行對比,從而識別是否是本人操作。

圖4 人臉識別調用流程

音紋識別是系統的核心功能之一,為了提高識別的效率和精確度,我們采用訊飛語音提供的API。系統會要求用戶朗讀一段文字并將音頻存入到訊飛語音的服務器中,當需要進行音紋識別時,系統會調出音頻和用戶即時朗讀的音頻進行對比,從而識別是否是本人操作。



圖5 音紋識別調用流程
文件加密是系統的核心功能之一,為了提高識別的效率和安全性,我們采用Android自帶的ASE算法包。系統將用戶要求加密的文件轉換成字節數組,并通過調用算法包中的函數對字節數組進行加密。


短信驗證是平臺給用戶的一個憑證,通過短信內容的碼來驗證身份。系統通過Mob提供的驗證服務進行驗證,讓用戶發送短信驗證請求到Mob服務器,Mob服務器再請求短信服務商下發短信,然后系統根據用戶輸入的驗證碼和Mob提供的驗證接口進行驗證,具體流程如圖6所示。

圖6 短信驗證流程


圖7 音紋識別界面

圖8 人臉識別界面

圖9 人臉即時采集

圖10 識別通過界面
EII系統采用Android語言的MVC框架構建的移動應用系統,使用MySQL 5.6作為后臺數據庫,使用Android Stduio作為代碼開發工具。系統設計采用模塊化的設計方式,分為普通用戶模塊,企業模塊與管理員模塊。音紋識別引擎由訊飛公司提供,音紋識別界面如圖7所示,人臉識別引擎由曠視科技Megvii Face++提供,人臉識別的界面如圖8和圖9所示,通過識別的界面如圖10所示。
本文提出了一種基于移動平臺的多重身份識別方案并給出最終實現效果。該方案安全機制靈活、富有彈性,可以很好地實現安全性和適用性之間的平衡,一定程度解決目前安全認證的難題,可以廣泛的應用于移動辦公、電子政務、移動支付、移動電子商務、安防等領域。
[1]黃軒,范京曄.基于移動平臺的多重生物識別系統[J].計算機應用與軟件,2015(5):105-106.
[2]傅山,潘娟.移動智能終端生物識別發展與挑戰[J].移動通訊,2015(5):13-14.
[3]童曉陽,王培林.基于復合生物識別的出入門禁系統設計與實現[J].微電子學與計算機,2007(2):117-118.
[4]曾斌,姚路,陳志誠.基于聲紋識別的Web身份認證系統設計[J].計算機工程,2011,37(15):149-150.
[5]林鶴.生物識別――永恒的身份證.http://www.chinaconsult.com/yujian.html#007.
[6]陳一寧,陳曉光.基于手機和人臉識別的身份識別系統[J].計算機應用與軟件,2011,28(3):77-79.