為啥現在大多數手機開機後不能直接使用指紋?

如題。許多智能手機重啟後只能用密碼,而不能用指紋,這樣設計有什麼原因么?


先說結論:指紋是一種不夠安全的身份認證方式


確切來說,所有基於生物特徵的身份認證,包括人臉識別、聲紋識別、靜脈識別等等,都是不夠安全的。

不安全到什麼程度呢?業內共識是:生物特徵不能作為唯一認證手段

密碼有成為唯一認證手段的資格,U盾、ID卡這些也沒問題。換句話說,你的某個帳號可以只用密碼保護、也可以只用U盾;但如果設計成沒有密碼、只用指紋認證就能訪問,對不起,安全不合格。

單說這個問題的話:為什麼手機重啟後必須輸入一次密碼,不能直接用指紋解鎖?有人回答說因為指紋信息是用密碼保護的,得輸入密碼才能讀取指紋。但這隻回答了一半,之所以這麼做,仍然是因為指紋不夠安全。如果哪款手機重新開機後直接能用指紋解鎖,說明它的安全性是低於行業一般水平的。

為什麼它不安全?讓我們從頭開始詳細講講吧。

身份認證是自古就有的安全機制。口令、印信、花押,無論哪種首先都是為了解決「你是誰」的問題,這一步之後才是「允許你做什麼」。

認證因素五花八門,並且隨著科技進步一直在增加。但大體上分為三類:

  • 你知道的:如密碼、安全問題的答案、PIN碼、解鎖圖案等,屬於用戶知識的一部分;
  • 你擁有的:如ID卡、令牌、U盾、能接收驗證碼的手機等,屬於用戶攜帶的物品和所包含的信息;
  • 你自身的:如指紋、虹膜、面部特徵、聲紋、DNA、字跡、打字習慣等,屬於用戶自身特徵和行為習慣的一部分。

以指紋為代表的用戶生物特性都屬於「你自身的」這類。而它們之所以被業界公認為不夠安全,有以下四個決定性的原因:

  • 易複製和竊取

與人類的記憶不同,生物特性大部分是暴露在外的。用照片騙過人臉識別設備的新聞也不止一兩次了;在杯子、桌子、鍵盤上到處都印著你的指紋,提取複製一枚指模可能只需要幾十分鐘時間。更誇張的是,你甚至不用接觸到本人,只需足夠清晰的照片就能複製出指紋來。

2014年的一場黑客會議上展示了通過照片還原德國國防部長的指紋。

哪怕是虹膜、靜脈、DNA這種肉眼不可見的信息,也能夠通過專用設備提取出來——如果不能提取還怎麼驗證呢?

  • 無法修改

每次大規模密碼泄漏事件後各大網站紛紛提醒大家更換自己的常用密碼。但如果指紋信息泄漏呢?手指只有十根,這種事多來幾次就只能號召大家砍手了。面部信息呢?難道要整容么?

生物信息不可變的屬性是它能成為身份認證因素的理由,但數字化時代的到來,反而成了最大的隱患。這也是蘋果等各大廠商對此十分謹慎的理由。

  • 容錯範圍大

與精確的文字密碼或數字證書比起來,指紋、面部、聲音等信息必須從生物體上實時獲取,而這個過程不可能是完全準確的。必然會存在以下兩個幾率:

一是拒真率(FRR),即應該通過認證的被拒絕;

一是認假率(FAR),即不該通過認證的通過了。

識別模塊的技術參數往往都是FRR小於萬分之一、FAR小於百萬分之一左右。但這只是理論,實際應用中為了能識別出油污的手指、低光照下化妝的臉、嘈雜充滿噪音的環境,必然會放寬識別範圍,這也導致了竊取複製的指模、照片就算不完全精確,也有一定機會弄假成真、騙過識別演算法。

  • 難以加密

重要信息應該加密存儲而不是明文,這是安全常識。

但加密也有可逆和不可逆之分。可逆加密顧名思義就是可以通過某種演算法還原出明文,而不可逆加密則不能還原。比如常見的散列(哈希)演算法,就是將任意長度的文本加密成固定長度的一串代碼,並且無法還原。(散列碰撞的可能性這裡暫時忽略,只提演算法)

看不到明文,怎麼判斷密碼的正確性呢?答案很簡單,把用戶輸入的密碼再做一次哈希,跟之前存儲的一對比,如果一致的話就說明密碼正確。

但哈希是一種差之毫厘謬以千里的演算法。以常用的SHA-1為例,「123456」的結果是「7c4a8d09ca3762af61e59520943dc26494f8941b」,而「123457」則是「908f704ccaadfd86a74407d234c7bde30f2744fe」,沒有一個字母是相同的。因此它只能應用於精確的密碼或數字證書等,對於需要模糊對比的指紋、聲紋、面部圖像等則完全不適用。就算存儲時用了加密演算法,在對比階段必須還原成明文,從而有了泄漏的可能性。

明文+無法修改,這意味著指紋一旦泄漏就是不可挽回的災難。


綜合以上四點,所有的生物因素認證基本都是不夠安全也不該濫用的。

但這並不代表它不能用。


一般來說,在身份認證過程中為了提高安全性,所以我們在需要加強身份校驗時會使用雙因素認證。但雙因素絕大部分情況下指的是「你知道的+你擁有的」,而極少有「你自身的」

比如ATM取款,需要你擁有的銀行卡+你知道的密碼。

再比如一些私人重要帳號登錄,需要你知道的密碼+你擁有的手機接收到的驗證碼。

只有在少數歷史遺留場合才仍然保留用戶自身信息的驗證,比如信用卡無密碼簽名,之所以我們能接受這種很不安全的方式,是因為風險轉嫁給了銀行,同時用嚴厲的法律來約束。


在已經有了足夠安全的基本認證方式之後,才能用生物信息作為輔助手段在不重要的場合臨時代替一下。

在操作系統重要功能時必須驗證密碼;

在設置或修改指紋信息時必須驗證密碼;

在涉及金融資產時,如果金額小於100~200元才允許使用指紋,超過則必須驗證密碼;特別大的金額還要使用簡訊驗證、U盾或者銀行櫃檯辦理;

等等等等。

智能手機在重開機時驗證密碼、每隔固定時間要輸入一次密碼、指紋多次識別失敗必須用密碼解鎖,都是出於同樣的考慮:安全。

在同等技術條件下,安全和快捷是難以兼得的。在面對不可逆的長期隱患時,適當犧牲快捷而提高安全性才是負責任的行為。


上面說了這麼多也沒回答這個問題啊……

Apple自己的安全白皮書里寫了,因為指紋的對比信息放在SE里,而SE是加密保護的,因此要先輸密碼解鎖才能打開SE以對比指紋……


是安全的原因,但不是因為密碼比指紋更安全,而是因為解鎖密碼可以用來保護指紋信息。拿 Touch ID 來說,Touch ID 里儲存的指紋會被加密儲存在一個與系統物理隔離的模塊里,系統必須用手機的解鎖密碼才能讓這個模塊解密指紋信息,啟動指紋識別功能:

Chuck Rogersamp;#x27;s answer to Why does touch ID on the iPhone ask you to enter a password after restart and not just allow fingerprint scanning alone?

其他手機採取的可能都是相似的設計。

而且就算指紋信息不儲存在一個獨立的模塊里,解鎖密碼也能保護指紋數據的安全。比如說,系統可以在儲存設備上只儲存用解鎖密碼加密過的指紋數據,等讀到內存里再解密。這樣指紋信息就很難被其他設備讀取,因為內存一旦拔出數據就沒了。此時系統也需要在開機時獲取解鎖密碼來解密指紋數據。

至於為什麼系統不保存解鎖密碼,這是因為密碼一旦被保存到儲存設備中就很容易被破解。而即使系統沒有密碼,也能通過判斷文件解密是否成功或者其他密碼學的方法來判斷密碼是否正確。


相對現在的生物識別技術,以及——生物識別的的防偽能力而言。

密碼依然是強密碼。

人腦目前依舊是一個黑盒,無法通過技術手段(上刑,揍一頓是暴力手段)得到想要的信息。

面對惡劣情況,你可以選擇連續輸入錯誤密碼讓手機抹去自有信息。

------

指紋可不會撒謊。


口令對於手機的安全性沒那麼重要,因為如果到了輸入口令這個環節,這就意味著手機已經被入侵者物理接觸到了。而一旦物理接觸,口令就基本上沒用了。

而在物理上不安全的情況下,加密依然是有用的,因為入侵者在拿到密文之後,依然需要得到解密密鑰才行。

對於手機來說,鎖屏密碼既是口令又是密鑰,而指紋只能是口令。而在開機的時候,手機需要密鑰。


這就跟所有的電子鎖防盜門一定要有機械鎖一樣!


估計是出於安全性的考量。

諸如指紋、人臉識別等通過生物信息來驗證是否為本人的方式,很不安全。

首先這些特徵是暴露在外的,別有用心的人能輕鬆獲取到你的這些特徵並加以複製,與之相比,先費大力氣攻破伺服器,然後再做 MD5 比對反推出密碼的方式簡直弱爆了。

另外,這些生物特徵有一種不可修改的特性。試想你的網路賬號被別人盜取了,你還可以通過驗證手機、郵箱並修改密碼的方式宣誓主權。但如果別人用你的生物特徵來盜取你的網路賬號,難不成你能輕而易舉地把生物特徵改掉嗎?整容?那得花多大代價?然後再被盜再整容?因吹斯聽。

手機是私密信息的聚集地,所以不設密碼則已,既然都設了,幹嘛還要用那種安全性不高的密碼?


為了防止你忘記密碼

當指紋感測器壞掉的時候怎麼辦?常年使用指紋解鎖,你還會記得密碼嗎?


在其他的場景下也有此類的考量


密碼→實際認證方式
指紋→替代認證方式
開機輸入密碼→授權替代認證方式代替實際認證方式


為什麼密碼泄露後,一句「可以修改」似乎就是萬事大吉高枕無憂了呢?

泄露了的密碼和被盜取的生物特徵一樣,首先是要承擔當時系統被攻破的損失,然後才考慮亡羊補牢,換密碼;不過這樣說的話,生物特徵被盜取、攻破,那就增加活體檢測的參數唄,偽造的總歸和真實的存在差異。


因為時至今日,大腦依然是一個優秀的黑盒存儲器,人類對於他的工作機制依然沒有任何有效的研究成果,除非它自己決定輸出,不然以人類目前的技術,不能從中暴力獲得任何存儲的信息。


我是非常反感指紋感測器的,畢竟輸密碼又不累,但是在閉源操作系統上,鬼知道會不會在關閉感測器之後依然進行搜集,所以我都用導電材料把指紋感測器貼了起來,進行物理上干擾。


指紋還是不安全吧。想像你的手機被歹人拿到,並綁架了你,要你解鎖手機,你不配合,"啪"把手剁了,就解鎖了。

而若是密碼,那就沒辦法了,意志夠堅強那就死活弄不出。

我說這些是說明,密碼是在你大腦內部,而指紋暴露在外,哪個更安全?


先說結論:指紋識別安全級別高於密碼(口令)。至於為何大多數手機開機後不能直接使用指紋,這個主要是手機的安全方案的具體實現方式決定的,請參考知乎之前的討論:https://www.zhihu.com/question/28303826 如何解釋 iPhone 錄入指紋之後,重啟後第一次還要輸密碼的設計?

我主要重點談談為什麼說指紋識別安全級別高於密碼(口令)?

先談談口令存在的問題:

1) 用戶側,口令存在被偷窺、社交工程騙取、釣魚網站誘騙的風險。阿里巴巴偷聽到芝麻開門的密碼就輕易進了山洞,如果採用了聲紋識別就沒這事了 :)

2) 設備側,口令存在被木馬截獲的風險,所以才開發密碼鍵盤之類的安全控制項來應對;

3) 網路側,口令存在被嗅探的風險,所以現在https用的比較多;

4) 服務側,口令存在被拖庫的風險,一旦黑客得手,受影響的是所有用戶,即使口令是哈希加鹽的,但暴力破解的威脅依然存在。

5) 用戶體驗:記不住複雜口令啊,還得時常更換,在手機上輸入複雜口令的體驗很差。

再談談指紋識別:

指紋識別技術已經發展了幾十年,已經非常成熟了。ThinkPad筆記本電腦十多年前就配備了指紋感測器。自從iphone5S標配指紋之後,現在的手機大多數都標配指紋感測器了。指紋識別給用戶帶來既安全又便捷的體驗。目前針對指紋識別的攻擊主要是仿冒指紋。(至於針對指紋信息在手機內部的存儲和處理的攻擊,由於手機端採用了TEE或者安全晶元這些手段,是比較難於攻擊成功的)。國外把仿冒生物特徵的攻擊稱之為Presentation Attack,所以發展出Presentation Attack Detection(PAD)的技術,我們可以簡單地看成是活體檢測技術。比如攻擊者通過拍照或者其他手段獲取了受害者的指紋,然後通過人工製品製作出一枚假指紋試圖欺騙指紋感測器,這時PAD就發揮作用了,通過多種技術手段能夠發現當前不是一隻真正的手指。當然,由於成本和性價比的因素,普通手機上的指紋感測器可能不具備高超的PAD技術,無法有效識別出假指模,這個還有待技術的進一步提高和成本的繼續下降。總之,生物識別技術的反假冒也是魔高一尺道高一丈,攻防永無止境。

綜上所述,和口令這種弱爆了認證方式比起來,指紋識別安全多了。口令出的安全問題要遠遠比指紋識別的安全問題多得多。至於大多數手機不能直接用指紋開機,這個是出於手機安全方案的實現問題,前面已經提到,不再贅述。


因為iPhone是這樣設計的。


Two-factor authentication

防止你七歲的女兒在你熟睡時輕易破解你的手機指紋驗證。


密碼,包括所有數字字母符號以及混合密碼(下稱明文密碼),只要你輸的時候別人沒看見,或者你設置的時候別人沒看見,總之別人不知道你的密碼,但是當把生物特徵作為密碼使用而不用輸入明文密碼的時候,就發生了下面的事

如果是明文密碼,就只能排列組合了,但是系統設置不會讓你一直組合下去,在你組合出密碼以前你就被發現了。使用技術手段排除在外。好像有點跑題,的道理是沒錯的


自從聽說我嫂子趁我哥睡覺的時候拿他的手指開他的手機之後,一直覺得指紋不太靠譜,唯一的辦法是睡前關機或者重啟手機


我覺得你們想多了,手機廠商哪裡那麼了解和重視安全?!

其實原因就是:大家都這麼干,所以我這麼干是最安全的,因為出了事可以甩鍋。

什麼是合理的安全措施?就是大家普遍使用的,這是安全工作的基本原則。


同意安全性, 估計也是為了防止用戶忘記密碼吧 ,不至於設置一次後再也用不到


Information Security Stack Exchange上有一個類似的問題:

https://security.stackexchange.com/q/134392/102733

簡單來說就是,精確的密碼是用來解密手機里的數據的,而相對模糊的指紋是用來驗證使用者身份的。


推薦閱讀:

網頁遊戲都有哪些安全問題?如何做得更安全?

TAG:手機 | 編程 | 信息技術(IT) | 信息安全 | 程序 |