指紋識(shí)別

指紋解鎖原理:

蘋(píng)果在文件中對(duì)iPhone 5S配備的Touch ID指紋識(shí)別系統(tǒng)的功能與工作原理進(jìn)行了詳細(xì)說(shuō)明。文件對(duì)iPhone 5S的A7處理器中““Secure Enclave””協(xié)處理器進(jìn)行了說(shuō)明偶洋,該協(xié)處理器能夠安全地將用戶儲(chǔ)存的指紋信息與Touch ID當(dāng)前所識(shí)別到的指紋進(jìn)行信息對(duì)比拙泽。而蘋(píng)果早在iPhone 5S發(fā)布時(shí)就公布了Touch ID的工作原理诡曙。但此次所獲悉的文件說(shuō)明得更為詳細(xì)寸士。

根據(jù)蘋(píng)果的解釋,一個(gè)單一的注冊(cè)指紋與別人指紋出現(xiàn)隨機(jī)匹配的概率為五萬(wàn)分之一砸王。

蘋(píng)果聲稱““Secure Enclave””模塊系統(tǒng)能夠安全地管理并識(shí)別用戶的指紋陨享,并將用戶的指紋信息獨(dú)立地保存在別的系統(tǒng)中葱淳,同時(shí)通過(guò)加密內(nèi)存和一個(gè)硬件隨機(jī)數(shù)字密碼發(fā)生器進(jìn)行管理。

每個(gè)“Secure Enclave”是單獨(dú)設(shè)置的抛姑,不能訪問(wèn)系統(tǒng)其他部分的赞厕,擁有自己的獨(dú)立的UID(唯一的ID),連蘋(píng)果也不知道這些UID定硝。當(dāng)設(shè)備啟動(dòng)時(shí)皿桑,Touch ID會(huì)臨時(shí)創(chuàng)建一個(gè)秘鑰,與“Secure Enclave”的UID配合蔬啡,對(duì)設(shè)備的內(nèi)存空間進(jìn)行加密诲侮。

而在蘋(píng)果發(fā)布的文件中,蘋(píng)果對(duì)A7處理器進(jìn)行指紋識(shí)別授權(quán)的描述是:A7和Touch ID之間通過(guò)一個(gè)串行外設(shè)接口總線進(jìn)行通信箱蟆。A7處理器將數(shù)據(jù)發(fā)到“Secure Enclave”沟绪,但并不對(duì)數(shù)據(jù)內(nèi)容進(jìn)行讀取。加密和身份驗(yàn)證都是使用Touch ID和“Secure Enclave”之間的共享密鑰空猜。通信密鑰交換使用雙方提供的一個(gè)隨機(jī)AES密鑰绽慈,并隨機(jī)建立會(huì)話密鑰和使用AES-CCM傳輸加密。

由于大部分的Touch ID用戶可能發(fā)現(xiàn)抄肖,在某些情況下需要使用密碼來(lái)代替Touch ID久信。而這份文件指出了什么情況下Touch ID不能使用和要求必須輸入密碼:

文件指出在以下情況下密碼可以代替Touch ID:

-iPhone 5s剛剛開(kāi)啟或重新啟動(dòng)時(shí);

-iPhone 5s沒(méi)有解鎖超過(guò)48小時(shí)漓摩;

-經(jīng)過(guò)5次不成功指紋匹配時(shí);

-當(dāng)進(jìn)行設(shè)置或使用新的手指紋使用Touch ID時(shí)入客;

-iPhone 5s已經(jīng)接收到遠(yuǎn)程鎖定命令時(shí)管毙。

指紋解鎖代碼實(shí)現(xiàn):

在iPhone5s的時(shí)候,蘋(píng)果推出了指紋解鎖桌硫。但是在ios8.0的時(shí)候蘋(píng)果才推出相關(guān)的接口夭咬。

所以我們一開(kāi)始需要判斷當(dāng)前系統(tǒng)版本

低于8.0的系統(tǒng)版本不支持指紋解鎖

當(dāng)系統(tǒng)版本大于8.0時(shí),引入并導(dǎo)入頭文件铆隘,書(shū)寫(xiě)代碼卓舵!

以下是經(jīng)常出現(xiàn)的幾個(gè)錯(cuò)誤,大家共勉膀钠!

例如掏湾,在iphone5上運(yùn)行結(jié)果:

Error Domain=com.apple.LocalAuthentication Code=-6 "Biometry is not available on this device." UserInfo=0x15ec5a00 {NSLocalizedDescription=Biometry is not available on this device.

例如裹虫,在模擬器上運(yùn)行結(jié)果:

Error Domain=com.apple.LocalAuthentication Code=-1000 "Simulator is not supported." UserInfo=0x7ffe604b0790 {NSLocalizedDescription=Simulator is not supported.

例如,在有TouchID 的功能下融击,沒(méi)有設(shè)置TouchID的運(yùn)行結(jié)果:

Error Domain=com.apple.LocalAuthentication Code=-7 "No fingers are enrolled with Touch ID." UserInfo=0x170075fc0 {NSLocalizedDescription=No fingers are enrolled with Touch ID.

例如:連續(xù)三次指紋識(shí)別錯(cuò)誤:

Error Domain=com.apple.LocalAuthentication Code=-1 "Aplication retry limit exceeded." UserInfo=0x1740797c0 {NSLocalizedDescription=Aplication retry limit exceeded.}

例如:用戶在Touch ID對(duì)話框中點(diǎn)擊了取消按鈕:

Error Domain=com.apple.LocalAuthentication Code=-2 "Canceled by user." UserInfo=0x17006c780 {NSLocalizedDescription=Canceled by user.

例如:用戶在Touch ID對(duì)話框中點(diǎn)擊輸入密碼按鈕:

Error Domain=com.apple.LocalAuthentication Code=-3 "Fallback authentication mechanism selected." UserInfo=0x17407e040 {NSLocalizedDescription=Fallback authentication mechanism selected.

例如:按下電源鍵:

Error Domain=com.apple.LocalAuthentication Code=-4 "UI canceled by system." UserInfo=0x170065900 {NSLocalizedDescription=UI canceled by system.}

例如:Touch ID功能被鎖定筑公,下一次需要輸入系統(tǒng)密碼時(shí)的運(yùn)行結(jié)果:

Error Domain=com.apple.LocalAuthentication Code=-8 "Biometry is locked out." UserInfo={NSLocalizedDescription=Biometry is locked out.


七. 指紋識(shí)別

簡(jiǎn)單介紹

指紋識(shí)別功能是 iphone 5S之后推出的.SDK是 iOS 8.0 推出!

推出指紋識(shí)別功能的目的,是為了簡(jiǎn)化移動(dòng)支付環(huán)節(jié),占領(lǐng)移動(dòng)支付市場(chǎng).

使用步驟

導(dǎo)入框架

#import

獲得當(dāng)前系統(tǒng)版本號(hào)

floatversion = [UIDevicecurrentDevice].systemVersion.floatValue;if(version <8.0)// 判斷當(dāng)前系統(tǒng)版本 {NSLog(@"系統(tǒng)版本太低,請(qǐng)升級(jí)至最新系統(tǒng)");return;? ? }

實(shí)例化指紋識(shí)別對(duì)象,判斷當(dāng)前設(shè)備是否支持指紋識(shí)別功能(是否帶有TouchID)

// 1> 實(shí)例化指紋識(shí)別對(duì)象LAContext *laCtx = [[LAContext alloc] init];// 2> 判斷當(dāng)前設(shè)備是否支持指紋識(shí)別功能.if(![laCtx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {// 如果設(shè)備不支持指紋識(shí)別功能NSLog(@"該設(shè)備不支持指紋識(shí)別功能");return;? ? };

指紋登陸(默認(rèn)是異步方法)

[laCtx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指紋登陸"reply:^(BOOLsuccess,NSError*error) {// 如果成功,表示指紋輸入正確.if(success) {NSLog(@"指紋識(shí)別成功!");? ? ? ? }else{NSLog(@"指紋識(shí)別錯(cuò)誤,請(qǐng)?jiān)俅螄L試");? ? ? ? }? ? }];

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市尊浪,隨后出現(xiàn)的幾起案子匣屡,更是在濱河造成了極大的恐慌,老刑警劉巖拇涤,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捣作,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鹅士,警方通過(guò)查閱死者的電腦和手機(jī)虾宇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)如绸,“玉大人嘱朽,你說(shuō)我怎么就攤上這事≌樱” “怎么了搪泳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)扼脐。 經(jīng)常有香客問(wèn)我岸军,道長(zhǎng),這世上最難降的妖魔是什么瓦侮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任艰赞,我火速辦了婚禮,結(jié)果婚禮上肚吏,老公的妹妹穿的比我還像新娘方妖。我一直安慰自己,他們只是感情好罚攀,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布党觅。 她就那樣靜靜地躺著,像睡著了一般斋泄。 火紅的嫁衣襯著肌膚如雪杯瞻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天炫掐,我揣著相機(jī)與錄音魁莉,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛旗唁,可吹牛的內(nèi)容都是我干的畦浓。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼逆皮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宅粥!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起电谣,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤秽梅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后剿牺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體企垦,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年晒来,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钞诡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡湃崩,死狀恐怖荧降,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情攒读,我是刑警寧澤朵诫,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站薄扁,受9級(jí)特大地震影響剪返,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜邓梅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一脱盲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧日缨,春花似錦钱反、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至墨礁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耳峦,已是汗流浹背恩静。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驶乾。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓邑飒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親级乐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子疙咸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容