|
||||
大家都知道苹果Touch ID會對用戶的指紋數據進行加密,並保存在A7芯片內置的Secure Enclave模塊中。而且加密的資料只能直接由處理器存取,無法經由手機硬體取出,苹果對這個技術一直守口如瓶。Qu0ra上一名匿名駭客向我們解釋了Secure Enclave是什麼,為什麼它很重要?
自從2008年我就開始關注苹果將采用的指紋掃描技術,當時我很好奇苹果將采取什麼樣的方式來保護這樣重要的生物特征數據,
很多高學歷的人當時置疑苹果這個技術的可靠性,直到2012年苹果收購AuthenTec。在支付卡行業工作了30年,又熟悉基本的加密要求,我知道沒有軟件可以解決這個問題,所以在硬件上必須有一個隔離區來包住這個數據包,它就是苹果的Secure Enclave。
Secure Enclave的世界
苹果借助Touch ID這次不僅發布了最精確的智能機設備,也解決了最關鍵的問題——如何安全存儲生物數據。
從ARM借了點東風
iPhone 5S的處理器是基於ARMv8架構的,被稱為A7,而A7也可以說是為了高度安全建立的,為了成功運用這個技術,苹果需要這個處理器可以達到本地級別的加密和安全,需要處理器架構的設計支持一個專門的硬件區來隔離加密這些數據。
ARM 3年前就在關注相關問題,比如現在已知的TrustZone/SecurCore,TrustZone技術就整合進了A7,而且通過AMBA AXI總線和特別的TrustZone System IP塊擴展到整個系統。這種系統方式支持它保護內存;加密模塊;保護鍵盤、屏幕和傳感器,以確保它們能免受軟件的攻擊。
Secure Enclave怎麼工作的?
苹果定制了一個高度優化的TrustZone版本,可以說A7的TrustZone安全系統是由硬件和軟件分區來成就的。不管是硬件還是軟件中,都有兩個區,一個是安全子系統,一個是正常的區。TrustZone AMBA3 AXI總線可確保正常區組件不訪問安全區的數據。而那些敏感的數據就放在安全區,來防止許多可能的攻擊。當有安全驗證的需求時,Moniter模式就會自主進行兩個虛擬處理器的切換,有針對性地工作。
A7也為安全的移動支付優化過
在互聯網上,在雲端需要激活系統的數據最好被描述為一個令牌,就像苹果激活iTunes和App Store購買那樣,這在未來,許多零售信用卡交易也將用到。
另外,使用Touch ID也可以通過密碼解鎖,這使得它的安全性有了雙重保障。所以使用Touch ID時,用戶必須設定一個解鎖密碼作為在指紋識別器失效時的後備措施。在其它情況下,iOS也可能要求用戶通過輸入密碼來解鎖設備。
對開發者是個巨大的機會
目前苹果沒有對開發者開放任何關於Touch ID的API,且最近的iOS 7上苹果已經刪除了開發者版本中iCloud鑰匙鏈。
但有很多App是可以圍繞這個技術來做文章的,單零售支付,苹果就會有很多獨特的方式來為商家和用戶解決實際的問題。而且它和室內微定位功能iBeacons和剛剛收購的Passif將會有千絲萬縷的聯系。
到最後我們可以說,苹果其實為Touch ID的釋放默默做了很多年的准備,這其中申請了許多專利、收購了一些關鍵技術、跟芯片商高度合作、集成TrustZone技術,都是我們能接觸到Touch ID的前提。
我敢肯定的是,喬布斯在的話,一定會引以為豪的。
TrustZone硬件架構
TrustZone軟件架構