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