為什麼 Touch ID 存儲在本地的指紋信息可以用來驗證 Apple ID,是否存在安全隱患?
Your fingerprint can also approve purchases from iTunes Store, the App Store, and the iBooks Store, so you don』t have to enter your password.
http://www.apple.com/iphone-5s/features/
這並不新奇。類似的問題在密碼學裡早已經解決了。
首先我們需要明確,進行指紋匹配,事實上並不需要發送整個指紋圖像到遠程伺服器,而只需要根據本地採集到的指紋圖像數據提取出一些特徵模式,匯總成一個描述結構,然後只發送這個描述結構即可。
所以,指紋識別的過程,本質上屬於數字序列的一種廣義匹配。因此,只要我們能基於密碼學原理建立一種安全的遠程數字序列匹配方法,就能夠保護包括指紋識別、心跳識別、腦波識別等身份識別過程。
例如基於 HMAC (Hash-based Message Authentication Code) 的方法。如果蘋果基於此類方法實現其指紋識別系統,那麼蘋果可以做到:
1、服務端只需存儲用戶指紋信息哈希後的摘要值,而不存儲原始的指紋信息,因此伺服器即使被入侵,也不會泄露用戶的指紋信息。
2、驗證指紋的過程中,用戶的指紋信息不會在網路上傳輸,而只是傳輸指紋信息哈希後的摘要值。即使被竊取,也無法還原出原始指紋信息。並且由於 HMAC 具有的防重放攻擊特性,攻擊者也無法憑藉該段摘要偽造用戶身份執行其他操作。
當然,這只是安全體系的一小部分。但是也是至關重要和不可或缺的。由於在指紋識別方面我並沒有做過太具體的工作(我有同學做這方面),因此說得不對還請大家見諒。
關於 HMAC 的應用,在另一篇文章里,我也曾經簡單的討論過:
阿北能不能看到我在豆瓣的賬戶對應的密碼?
特別值得一提的是,對於基於指紋的身份驗證需要特別重視其安全性。因為對於一般性的密碼,我們如果發現泄漏,可以通過修改密碼來補救。但是指紋基本是一生不變的,一旦泄漏,後果嚴重。
但遺憾的是,指紋又特別容易泄漏。我遞杯水給你,你一握杯子,你的指紋就留下了。或者對於曾經服刑過的人員,指紋也許都加入了國家統一管理的指紋資料庫,你的指紋就更加不是秘密了。
因此在我看來,基於指紋識別來完成身份驗證,是不完整的。還需要和設備綁定,以及輔以其他增強手段。否則其功能形同虛設。當然蘋果有最一流的相關領域人員,我相信他們能夠做好安全性和易用性的平衡。
我要指出一點,指紋信息與常用的密碼信息有一個不一樣的地方:指紋信息的特徵點不唯一。因此密碼信息可以進行哈希摘要,但是指紋特徵不能進行哈希摘要。指
紋驗證其實是驗證紋特徵點的匹配程度,它的結果是一個百分比。結果大於設定的閾值,就認為匹配上了,否則認為匹配失敗。而密碼信息匹配的結果要麼是1,要
么是0,不存在閾值一說。
我記得看過一本密碼學的書,應該可以解釋這個問題,如果有不對,請各位指正。這個方法的名稱好像叫做【類比採樣】通過對指紋特徵點的採樣賦值,與本地存儲對比,通過則激活密碼標籤與伺服器通訊,等待返回結果。
其實說白了,指紋類比激活密碼是在本地認證的,不需要與伺服器通訊
猜測:蘋果在內部(宣傳資料說是A7)存儲指紋與密碼的對應關係,提供api幫助應用程序(包括瀏覽器)獲取密碼。對應用程序而言,只是獲取密碼的方式從虛擬鍵盤輸入變成了從api輸入。應用甚至感覺不到這是從指紋識別得到的密碼。
iPhone 5s 避免不了被破解,希望不至於出現指紋泄漏的事情。也許蘋果在硬體設計上避免了這種可能?猜測:指紋信息只儲存在本地,甚至只儲存在那隻掃描儀里,然後需要驗證apple ID時只輸出yes or no 的信息,沒有任何可能的途徑能讀取指紋信息,蘋果公司也不行,這樣基本上能避免新增漏洞的可能性。
Touch ID: Data are locally encrypted and never leaves your iPhone
Touch ID is using a new Secure Enclave as part of the A7 processor. The data generated by Touch ID are encrypted and stored in this area but never sent over the Internet or to iCloud. The Secure Enclave is a genius move by Apple as it fully discounts many fears that our fingerprints will be sent around the world. In addition, the Secure Enclave will play a central point in Apple』s payment strategy. This is a hardwired connection that assures that the data can not be intercepted by other processes operating in the iOS device.推薦閱讀:
※如何看待微軟發布的一個87K的庫帶了約760M測試數據?
※中國五大銀行的加密方式主要用的什麼方式?
※如何理解"語義安全(semantic security)"?
※如何在公開情況下進行私密通訊?
※學過密碼學的人會不會自己創造一套密碼?
TAG:密碼學 | 指紋識別 | iPhone5s | Apple特別活動2013年9月 |