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