世界上最厲害的廣告,應(yīng)該就是讓 FBI 來證明自己產(chǎn)品的安全性。蘋果做到了。FBI 為了看到犯罪嫌疑人手機里的內(nèi)容,不得不“跪求”蘋果的協(xié)助,然而,庫克高冷地拒絕 FBI 走后門。
縱然 FBI 保持了一貫的口吻,但是明眼人可以看出,在這件事上,F(xiàn)BI 其實在“請求”蘋果。因為沒有蘋果的幫助,萬能的 FBI 還真就搞不定這支小小的手機。
事情鬧到現(xiàn)在,比爾蓋茲、扎克伯格、Google CEO 皮查都已經(jīng)卷入論戰(zhàn),紛紛選邊站。至于這場辯論誰更有道理,每個人都有自己的判斷,不過技術(shù)無罪,既然是非扯不清,我們就從技術(shù)的角度來看一看,為什么 FBI 一定要蘋果的幫助才能解鎖手機呢?
FBI 為什么一定要搞到密碼?
先從這個簡單的問題開始吧。顯然手機需要密碼來解鎖,這是一個常識。
不過在 iPhone 身上,情況稍微有特殊。手機制造時嵌入到設(shè)備中一個唯一的金鑰。密碼學家馬修·格林曾在博客解釋,
iPhone 手機把使用者密碼和金鑰“結(jié)合”起來,創(chuàng)建出一個密碼金鑰,用來保護和解鎖該設(shè)備上的資料。使用者輸入密碼后,手機會使用使用者密碼和金鑰來執(zhí)行一個計算,如果結(jié)果正確,手機和資料就可以被解鎖。
通俗來講,如果沒有使用者密碼,這臺設(shè)備上的所有資料就永遠處于鎖定狀態(tài)。
那么,就沒有其他方法繞過密碼嗎?
理論上來說,確實有。那就是:
把 iPhone 拆掉,然后取出儲存芯片,直接讀取其中的資料,但是這樣做并不容易。由于芯片內(nèi)置的安全邏輯,簡單讀取是無法進行的。唯一可行的辦法就是拆解芯片,然后用 激光在裸露的快閃內(nèi)存上,一個位組、一個位組地讀取資訊。這樣做的缺點在于,對操作的精度要求極高,稍有不慎就會損毀芯片,導致上面的所有內(nèi)容都會煙消云 散。
這種“霸王硬上弓”的方法失敗機率極高,并不在 FBI 的選擇范圍內(nèi)。所以,最為可行的辦法就是——搞定庫克。
拆解芯片的示意圖
蘋果的三大安全邏輯
FBI 想要蘋果幫什么忙呢?當然最好是直接讀出 iPhone 里的所有資訊。但是天下沒有這么好的事,就連蘋果自己都沒有直接解鎖 iPhone 的能力,因為 iPhone 的安全機制就像一個保險箱,就連它的制造商也不能用蠻力打開。
不過,蘋果確實可以幫助 FBI 降低破解這支 iPhone 的難度。這是為什么呢?我們先來看看嫌疑犯這支安裝了 iOS 9 的 iPhone 5c 有怎么樣的安全邏輯。
由于手機固件升級到了 iOS9,所以系統(tǒng)預(yù)設(shè)需要設(shè)置 6 位密碼。(經(jīng)過設(shè)置,這 6 位密碼可以不僅僅是數(shù)字,而是字母數(shù)字混合)。
開鎖密碼只可以手動在屏幕上點按輸入,而且每兩個密碼之間輸入間隔不得小于 80 毫秒。
如果輸入錯誤達到 10 次,所有資料將會永久鎖定,沒有任何方法可以解密。
這些安全措施很多都是 iOS 9 中新添加的功能。而 iOS 9 在嫌疑人實施犯罪之前 3 個月剛剛推送。如果嫌疑人的手機還在運行 iOS 8,那么 FBI 就大可不必費如此周章來請求蘋果了。
只有蘋果才能拯救探員的手指頭
FBI 要求蘋果做的事情并不難,專門為這支手機開發(fā)一個固件,然后對嫌疑犯的手機進行更新。新的固件要有以下兩個特性:
取消輸入錯誤 10 次自動永久鎖定的功能。
可以用外接鍵盤代替屏幕點按來輸入密碼。
如果安裝了這個還尚不存在的固件,F(xiàn)BI 就可以用自動化窮舉法窮舉出嫌疑犯的手機密碼,從而并不體面地破解這支手機,但這對 FBI 來說已經(jīng)足夠了。FBI 的厚道之處在于:并沒有要求蘋果更改更底層的安全芯片固件,從而取消掉 80 毫秒的密碼輸入間隔(實際上蘋果有能力更換安全芯片上的固件)。
實際上,這 80 毫秒的限制在日常使用場景中,正常的人類都不會有任何感覺。但在窮舉密碼的時候,這 80 毫秒的限制就非常惡心了。
為蘋果提供安全諮詢的公司 Trail of Bits 的首席CEO丹·圭多表示:
在破解密碼的時候,你希望每秒嘗試數(shù)百或數(shù)千個密碼。有了 80 毫秒這道坎,你每秒只能嘗試 8 到 9 次,真是慢得令人惱火。
縱然如此,F(xiàn)BI 也選擇忍了。因為即使嫌疑人選擇了大小寫字母和數(shù)字混合的六位密碼,理論上有 5 年時間也可以成功破解手機。如果密碼是純數(shù)字的形式,則只需要幾天就可以破解。
FBI 向蘋果索取的這個定制系統(tǒng),由于不用手動點按密碼,所以算是拯救了這些可憐探員的手指頭。
另外,由于蘋果的數(shù)碼簽章技術(shù),可以規(guī)定這款定制系統(tǒng)只用于特定的設(shè)備之上。也就是說,這個新的固件只能用于解鎖嫌疑人的這支 iPhone 5c。然而即使是這樣,庫克也表示斷然拒絕。拋開道德和立場原因,蘋果認為這樣做還是存在技術(shù)風險的。因為一旦這個“破解版固件”流傳出去,黑客也許會透 過把其他的手機偽裝成這支 iPhone 5c 的手法來進行破解活動。
iPhone 5c 拆解圖
庫克不合作,F(xiàn)BI 能怎么辦?
講真,寫一個破解版的固件并不難。如果 FBI 肯出錢,有諸多黑客高手會排著隊幫他來寫程序碼。但是正如剛才所說,蘋果需要對一個 iOS 系統(tǒng)載入數(shù)碼簽章,這個系統(tǒng)才能被安裝在一支 iPhone之上。顯然,蘋果更不可能給一個黑客寫的 iOS 系統(tǒng)載入數(shù)碼驗證簽名。
說起來,整個事件中,F(xiàn)BI 想要利用蘋果產(chǎn)品的一個邏輯漏洞,那就是:蘋果公司可以透過上傳新的固件,從而降低手機的安全級別。這個“提防自己”的漏洞可能是蘋果以前沒有意識到的。在未來生產(chǎn)的手機里,完全可以做到讓安全芯片的固件不可重寫。如果那樣的話,蘋果即使有心幫忙,也無力破解 iPhone了。如果這樣,F(xiàn)BI 也就無話可說了。
目前來看,如果庫克真的拒絕和 FBI 合作,除非 FBI 可以找到 iPhone 手機的新的致命漏洞(這種漏洞是非常高級別的、價值百萬美元的、幾乎不可能被發(fā)現(xiàn)的),他們可做的事情還真不多。
所以,從技術(shù)角度來講的話,想讓庫克給你開后門,F(xiàn)BI 探員的魅力似乎還不夠。