作者:盧興沄,單位:中國移動智慧家庭運營中心成都業(yè)務(wù)支持中心
生物認證作為目前最為熱門的身份校驗方式被廣泛使用到各類應(yīng)用場景。在移動互聯(lián)網(wǎng)場景,App搭載生物認證功能對于用戶數(shù)據(jù)安全性和提升用戶粘性有很大幫助。
Part 01●??主流生物認證方式及其優(yōu)缺點?●?
本期內(nèi)容介紹的生物認證方式包括:指紋識別和面部識別。
? 指紋識別:通過分析和比對人類手指上的細節(jié)和紋理來識別個體的身份。因為每個人的指紋都是獨一無二的,且指紋易于提取,所以指紋識別方案的采用較為廣泛。目前指紋識別系統(tǒng)使用光學或電容傳感器來捕獲指紋圖像,并用算法來提取和對比指紋特征。
? 人臉識別:通過分析和比對人類面部特征來識別個體身份。人臉識別可以使用攝像頭或圖像傳感器來捕獲人臉圖像,并使用算法來提取和比對面部特征。常用人臉識別分為3d人臉識別和2d人臉識別,目前除了iphone廣泛搭載3d結(jié)構(gòu)光外,少有廠商采用人臉識別的方案。3d結(jié)構(gòu)光由于技術(shù)的先進性,使得這一方案下的安全性很高。但是由于技術(shù)難度較大,以及硬件成本較高,絕大多數(shù)硬件廠商都放棄了3d結(jié)構(gòu)光的人臉識別,而是提供2d的人臉識別方案。作為應(yīng)用的開發(fā)者,可以借助硬件設(shè)備的攝像頭,通過連續(xù)采集不同角度的人臉來構(gòu)建3d人臉模型來間接實現(xiàn)3d人臉識別方案。
兩種識別技術(shù)都有其優(yōu)點和局限性。指紋識別具有高度準確性和穩(wěn)定性,適合用于大規(guī)模應(yīng)用,但是指紋識別可能會受到指紋質(zhì)量和損傷的影響。人臉識別具有非接觸性和方便性,但是易受采集環(huán)境如光照、角度和遮擋等因素影響。
根據(jù)應(yīng)用的使用場景選擇適合的生物認證方式或者采用多種生物認證方式相結(jié)合的方式,可以克服單一生物認證方式存在的固有缺陷,使得生物認證的適應(yīng)性更好。
圖2 Treemaps圖示意圖
Part 02●??生物認證在移動設(shè)備上使用?●
目前主流移動設(shè)備采用Android OS和IOS,受設(shè)備廠商硬件限制,生物認證的應(yīng)用通常在Android OS上采用指紋識別,在IOS上采用人臉識別。市面上已經(jīng)有大量的應(yīng)用已經(jīng)利用移動設(shè)備自帶的生物認證硬件實現(xiàn)了各種級別的生物認證功能,包括安全性要求較低的生物認證登錄,以及安全性要求較高的生物認證支付功能。
目前Andoid OS和IOS分別提供了金融級的指紋識別和人臉識別方案,使用起來非常簡單。只需要在OS的設(shè)置中注冊用戶的指紋和人臉特征,當需要使用用戶生物特征識別時只需要調(diào)用OS提供的相關(guān)接口即可,以Android OS為例:
圖3 Android OS指紋識別框架
應(yīng)用層,App調(diào)用AOSP接口,通過接口與與Binder和Framework層的指紋服務(wù)進行操作和數(shù)據(jù)傳輸,最后獲得App所需要的相關(guān)數(shù)據(jù);
Framework層,承上啟下的作用,分別與應(yīng)用層和HAL層交互;
HAL層:這一層是手機廠商各自算法邏輯和結(jié)果反饋的體現(xiàn),其結(jié)果來自于硬件抽象的結(jié)果。
Driver層:受HAL層請求驅(qū)動,直接控制指紋硬件。
在應(yīng)用層獲得指紋認證結(jié)果后,即可進行下一步操作。但是已添加的指紋是存儲在手機上的,而指紋識別的結(jié)果只是返回true和false,一旦手機設(shè)備被用戶獲取root權(quán)限,即可劫持指紋驗證結(jié)果。因此本地指紋識別的結(jié)果作為鑒權(quán)的依據(jù)存在一定的風險,如果指紋識別用于支付需要更高等級的處理手段。對于一般應(yīng)用的身份識別,可以采用加密的方式增強指紋識別的安全性。
Part 03●? 實現(xiàn)一個簡單的生物認證登錄系統(tǒng)?●
客戶端統(tǒng)一采取生物認證管理器,封裝各底層API細節(jié),對上層應(yīng)用透明,核心功能包括了對設(shè)備硬件支持判斷、請求認證以及處理認證結(jié)果(包括過期認證憑證的判斷移除)。
服務(wù)端為了達到保證用戶登錄流程嚴格按順序執(zhí)行,防止個別繞過流程,采取通用加密方式生成footprint隨機碼,并結(jié)合設(shè)備uuid唯一字符串進行md5加密,生成業(yè)務(wù)憑證,使每一步操作都有憑證校驗,無法繞過或者串改。保證整個生物認證流程完整安全的進行。
服務(wù)端采用分布式部署,實現(xiàn)負載均衡,即使在業(yè)務(wù)高峰期(比如參加活動,強制重新登錄等場景),也能很好提供穩(wěn)定服務(wù)。
后期維護中,若賬號在其他設(shè)備登錄或者修改身份,服務(wù)端清空當前憑證,使該設(shè)備以外的其他設(shè)備自動登出,無法使用已過期憑證進行業(yè)務(wù)交互,確保了后期安全性。
圖4? 流程圖
Part 04●?總結(jié)?●
生物認證在移動設(shè)備上的使用已經(jīng)非常成熟,打造一套簡單易用的生物認證系統(tǒng)已經(jīng)沒有太大的技術(shù)難度。將生物認證集成到我們的App中能夠簡化用戶的登錄操作,對提升用戶的滿意度有很大的幫助。