iPhone 5s 的 Touch ID 指紋數據的安全性如何保證?就靠它:蘋果準備了七年的 Secure Enclave
本文譯自Quora用戶Brain Roemmele在問題“What is Apple's new Secure Enclave and why is it important ?” 下給出的答案 。有刪減。
7年摸索的結果
從2008年開始我就注意到了蘋果要採用指紋掃描的消息並一直關注至今。直到9月10日發布的iPhone 5s印證了我長久以來的猜想,這對蘋果和我來說都是一段漫長的旅程。我相信Touch ID的果實會在10年內結出。
多年來,就連業內資深人士都對蘋果可能採用的指紋技術的可靠性和必要性心存質疑。這種情況在去年蘋果收購了AuthenTec之後有所改觀,一些和我一起工作的初創公司終於開始重視起來。然而,還是有人選擇了視而不見,他們覺到只要不去理睬,這事兒就不存在一樣(這可是某位創業者說的)。
當我在5年前第一次看見蘋果關於此類技術的專利申請時就被深深迷住了。之後,我開始思考蘋果將會如何保存這些極重要生物學信息。根據自己在支付卡行業,尤其是PIN碼方面逾30年的從業經驗,我知道這不是單靠軟件方案就能解決的。於是我想一定會有一個獨立的硬件被用來存儲信息。
Secure Enclave
網上分析Touch ID的文章已經有成千上百,但是真正意識到這項技術的革新意義的卻不算多。蘋果不僅打造了最精確的量產生物學安全識別設備,他們還解決瞭如何加密、存儲和保護數據這個關鍵問題。蘋果稱之為Secure Enclave,可以說這是個新概念。
為安全而生的A7
蘋果選擇基於ARMv8架構的A7芯片有很多原因,其中一個就是為了滿足Touch ID的硬件需求。為了經濟地搭建Secure Enclave, 蘋果需要的芯片必須具有原生的安全性能並且有專門的區域供隔離和加密。
這正是ARM大約在三年前就開始研究的地方,並且通過一系列合作打造出了名為TrustZone/SecurCore的技術。 TrustZone技術和A7芯片精密結合併通過AMBA AXI 總線和特定的TrustZone System IP塊貫穿系統層面。這種佈局意味著保護外圍設備不受軟件攻擊成為了可能。
這篇ARM在2008年發布的白皮書節選從側面反應了A7在移動支付方面的作用:
引用“6.2.2 移動支付
不少嵌入式設備開始存儲大量用戶信息,包括電子郵件、移動銀行資料和移動支付證書等高度敏感信息。這些信息可以通過密碼的方式受到保護,然而一旦解鎖後就會容易受到任何底層軟件漏洞的危害。
把數據的存儲、修改甚至是密碼輸入都遷移到Secure區域是非常合理的。儘管那些應用需要各自讀取不同類型的用戶信息,但是在安全限制問題方面卻有著相似要求。為做到這點,Gadget2008的移動支付功能將具備更加嚴格的限制條件。 ”
Secure Enclave的工作原理
蘋果用高度優化過的TrustZone為基礎做出了Secure Enclave。我們當然不指望蘋果透露任何關於定制硬件的細節,因此我就以TrustZone為分析對象,藉此來推斷Secure Enclave的情況。
TrustZone系統通過完全分割硬件和軟件資源以保證安全性,這兩者被分別安置在Secure區和Normal區– 前者為安全子系統而設,後者則是處理其它任務的正常區域。 AMBA3 AXI總線保證Normal區的組件無法訪問Secure區的資源,以此方式在兩區之間建立區一道堅固的牆來杜絕對儲存在Secure區的敏感資源做出的潛在攻擊。
這種物理隔離的方式將有效減少需要通過安全驗證的子系統數量。監控模式(monitor mode)會負責在兩個虛擬處理器之間切換以應對安全驗證的要求。
由此可見,A7是自帶安全基因的。建立在硬件架構上的安全性非常穩固的。光是訪問儲存在Secure Enclave內的信息就要求在硬件破解上付出大量工作。這顯然對設備本身是有利的,那麼對於互聯網又有什麼影響呢?事實上,那些用來激活雲端系統的數據的用途就像一把連接網絡的鑰匙,這就是蘋果將要在iTunes和App Store裡採取的模式。同時,還有可能到來的零售支付系統。
ARM網站上就給出了一個移動支付方式的例子-- 個人POS終端:
Touch ID的問世絕對稱得上是蘋果潛心研究的結果,七年間,蘋果提交了許多專利申請、收購AuthenTec、選用集成了TrustZon技術的A7芯片......所有的這一切匯聚在一起,才成就了今天的Touch ID。
想必喬布斯也會為Touch ID引以為豪的吧。
資料來源:36Kr