本周,一名法官發(fā)布裁決,要求蘋果公司為聯(lián)邦調(diào)查局提供幫助,破解圣貝納迪諾槍擊案一名嫌疑人使用過的iPhone。此事在全球掀起巨大波瀾,人們的意見出現(xiàn)了兩極分化,其中也夾雜著大量誤解。
支持政府的人士說,蘋果以前也和政府合作過,解鎖過幾十部iPhone,這次為什么就不能幫助聯(lián)邦調(diào)查局解鎖這部手機呢?
但是,目前問題的關(guān)鍵不是要求蘋果解鎖一部手機,而是要蘋果創(chuàng)建一個新的軟件工具,來解除蘋果內(nèi)置到手機軟件里的安全保護設(shè)置。這些設(shè)置是用來保護用戶數(shù)據(jù)的。
另外一些人則反對法官的裁決,因為聯(lián)邦調(diào)查局一直在迫使蘋果等公司在軟件提供后門,反對者覺得法官的這個裁決與聯(lián)邦調(diào)查局的要求大同小異,唯一的區(qū)別就是,這次是在產(chǎn)品出售之后,有選擇地在政府調(diào)查的手機上開后門。
這個案子事關(guān)重大,因為過去兩年來,硅谷和美國國會一直在“加密-后門”問題上爭論不休。簡單地說,政府希望有辦法獲取設(shè)備上的數(shù)據(jù),即使這些設(shè)備使用了安全加密方式來保護隱私。
蘋果在2014年對軟件進行了改進,確保用戶的手機不會被其他人解鎖, 避免用戶的重要數(shù)據(jù)遭到泄露;但事實證明,蘋果在這個過程中忽略了一個漏洞,政府現(xiàn)在正試圖利用這個漏洞,來迫使蘋果就范。
政府不是要求蘋果解鎖這部手機,而是要求蘋果降低聯(lián)邦調(diào)查局解鎖手機的難度。如果圣貝納迪諾槍擊案涉案手機的爭論延續(xù)下去,導(dǎo)致蘋果采取進一步措施,堵上這個漏洞,以至于以后就算蘋果愿意,也無法用這種方式為聯(lián)邦調(diào)查局提供幫助,那么美國國會可能會插手進來,出臺相關(guān)的立法,讓蘋果和其它科技公司無法把政府拒之門外。
但是如果聯(lián)邦調(diào)查局成功迫使蘋果就范,那么這也將成為一個先例,其他國家會紛紛效仿,要求蘋果公司為各國政府提供相同的軟件工具。
為了澄清事實,糾正誤解,下來我們來看看整件事情的來龍去脈。
這是怎樣一部手機?
這是一部安裝了iOS 9的iPhone 5C。它是圣貝納迪諾縣公共衛(wèi)生署給犯罪嫌疑人賽義德·里茲萬·法魯克(Syed Rizwan Farook)配發(fā)的工作手機。法魯克和妻子塔什芬·馬利克血洗了同事舉辦的節(jié)日聚會,之后雙雙被警方擊斃。
目前的問題是什么?
法魯克給這部手機設(shè)置了密碼,由于手機軟件內(nèi)置了安全功能,聯(lián)邦調(diào)查局無法用蠻力法破解這部手機的密碼——即輸入不同的組合,直到猜出正確的密碼——因為嘗試密碼有可能導(dǎo)致這部手機的數(shù)據(jù)被永久銷毀。
蘋果是如何做到這一點的?
蘋果的操作系統(tǒng)使用了兩個東西來保護和解鎖手機中的數(shù)據(jù),一個是用戶自設(shè)的密碼,另一個是手機制造時嵌入到設(shè)備中的一個唯一的256位AES密鑰。密碼學(xué)家馬修·格林(Matthew Green)曾在博客中解釋說,手機把用戶密碼和密鑰“結(jié)合”起來,創(chuàng)建出一個密碼密鑰,用來保護和解鎖該設(shè)備上的數(shù)據(jù)。用戶輸入密碼后,手機會使用用戶密碼和密鑰來執(zhí)行一個計算,如果結(jié)果正確,手機和數(shù)據(jù)就可以被解鎖。
為了防止有人蠻力法破解密碼,用戶可以在手機上開啟一個功能,限制輸入密碼密鑰的次數(shù),一旦超過這個次數(shù),系統(tǒng)就會擦除這個數(shù)據(jù)。當(dāng)然,數(shù)據(jù)仍然會保存在設(shè)備上,但你永遠都無法再把它解密。政府提交給法院的資料稱,如果用戶開啟了自動擦除功能,輸入10次錯誤的密碼之后,手機中的數(shù)據(jù)就會成為永恒之謎。
政府說,他們并不確定法魯克是否在這部手機中設(shè)置了數(shù)據(jù)自動擦除功能,圣貝納迪諾縣把手機配發(fā)給法魯克的時候,這個功能是開啟的。而從這部手機到iCloud的數(shù)據(jù)備份也顯示,“這個功能是開啟的”。
你可能會覺得奇怪,如果手機已經(jīng)把數(shù)據(jù)備份到iCloud中,政府不就可以從iCloud中獲取數(shù)據(jù),不用再去費心破解手機了嗎?政府確實拿到了從手機備份到iCloud的一些數(shù)據(jù),但是法魯克可能會在某個時候禁用了iCloud備份功能。最后一次備份是在槍擊案發(fā)生的一個月前,但法魯克很有可能在為槍擊案做準(zhǔn)備的過程中使用了這部手機。
數(shù)據(jù)自動擦除功能是蘋果手機中唯一的安全保護措施嗎?
不是。除了自動擦除功能之外,還有針對蠻力破解法的另一個保護措施:時間延遲。每次在手機上輸入密碼時,系統(tǒng)大約需要用80毫秒來判斷密碼是否正確。這個延遲有助于防止黑客連續(xù)快速地輸入新密碼,因為每80毫秒你才能嘗試一個密碼。乍看上去這個延遲好像很段,但Trail of Bits公司的首席執(zhí)行官丹·圭多(Dan Guido)說,根據(jù)密碼的長度不同,這樣的延遲可能導(dǎo)致破解過程非常漫長。Trail of Bits公司為iOS的安全性提供了大量咨詢服務(wù)。
“在破解密碼的時候,你希望每秒嘗試數(shù)百或數(shù)千個密碼。有了80毫秒這道坎,你每秒只能嘗試8到9次,真是慢得令人惱火。”他本周在回應(yīng)記者采訪時說。
圭多說,密碼如果只有四位數(shù),大約存在1萬種不同組合,但增加到六位數(shù),就會有大約100萬個不同的組合。一個簡單的六位數(shù)密碼,全部由數(shù)字組成,需要幾天時間來破解,但是如果是由字母和數(shù)字組成的復(fù)雜六位密碼,可能就需要五年半時間才能破解。這部圣貝納迪諾案涉案手機安裝了蘋果的iOS 9,該版本在默認情況下讓用戶創(chuàng)建一個六位數(shù)的密碼,當(dāng)然用戶也可以選擇創(chuàng)建較短的四位數(shù)密碼。
新款iPhone搭載的芯片和iPhone 5c不同,添加了 “Secure Enclave(安全區(qū)域)”模塊,可以逐步增加兩次密碼輸入之間的延遲時間。據(jù)圭多描述,Secure Enclave是“iPhone里面的一個分開的計算機,用來處理對加密密鑰的訪問,增加這些密鑰的安全性。
有了“Secure Enclave”,你每次猜錯密碼之后,要進行下一次輸入的間隔時間會越來越長;到第九次猜錯之后,你必須等上一個小時,才能第十次輸入密碼。政府也在提交給法院的文件中提到了這一點,搞得好像圣貝納迪諾槍擊案涉案手機上有這樣的功能似的。但實際上iPhone 5C上并沒有“Secure Enclave”模塊,所以它的延遲只是通常情況下的80毫秒。
為什么舊款iPhone就沒有這樣的問題?
在iOS 8之前的舊版iOS上,蘋果有能力繞過用戶的密碼,將手機解鎖,獲取手機上的數(shù)據(jù)。多年來,在法院的要求下,蘋果已經(jīng)解鎖過數(shù)十部手機。但是從iOS 8開始,這種情況發(fā)生了改變,手機會默認使用你的密碼,對設(shè)備上的各種重要數(shù)據(jù)進行了安全加密——不管是照片、郵件、聯(lián)系人、還是通話記錄。就連蘋果自己也無法繞過你的密碼來獲取數(shù)據(jù)。
而圣貝納迪諾案涉案手機使用的是新版iOS——似乎是iOS 9。iOS 9是在2015年9月發(fā)布的,就在圣貝納迪諾襲擊案的發(fā)生前三個月,所以很可能這部手機上真的安裝的是iOS 9。
政府到底是想讓蘋果做什么?
很多人都曲解了政府的要求,以為它要求法院下令讓蘋果解鎖這部手機,就像蘋果以前做過很多次的那樣。但是我們前面說過,這部手機上安裝的操作系統(tǒng)版本與之前不同,蘋果無法繞過密碼來解密數(shù)據(jù)。所以政府希望在采用蠻力法破解密碼的時候不會導(dǎo)致設(shè)備上的數(shù)據(jù)被自動銷毀,而且在嘗試密碼時也不會有額外的時間延遲。
為了做到這一點,政府要求蘋果公司制作一個特別的操作系統(tǒng)版本,在固件中留出后門,為蠻力法破解密碼掃除障礙,然后把這個版本安裝到圣貝納迪諾案的涉案手機上。政府也希望蘋果提供方便,可以用其他方式輸入密碼進行嘗試,而不是通過觸摸屏進行輸入,這樣聯(lián)邦調(diào)查局就可以運行一個密碼破解腳本,自動輸入猜測的密碼。政府希望蘋果設(shè)計的這個有后門的軟件可以加載到內(nèi)存中,而不是在磁盤上,以確保手機上的數(shù)據(jù)不會被更改,保證法醫(yī)學(xué)上的完整性。
需要注意的是,即使蘋果做到了這一切,這部手機仍然是鎖定的,除非政府使用蠻力法破解了它的密碼。如果法魯克按照iOS 9的默認要求,設(shè)置了六位數(shù)密碼,而且使用了比較復(fù)雜的字母數(shù)字組合形式,那么就算蘋果遵循了法院的要求,聯(lián)邦調(diào)查局也未必能破解這部手機的密碼。
按照蘋果CEO蒂姆·庫克(Tim Cook)的說法,政府這是在要求蘋果攻擊自己的用戶,破壞幾十年為用戶提供的安全保護,而這些用戶中包括了數(shù)以千萬計的美國公民;iPhone工程師為了保證用戶的數(shù)據(jù)安全,設(shè)計了強大的加密措施,諷刺的是,他們現(xiàn)在卻被要求削弱這些保護措施。
政府正在利用的漏洞究竟是什么?
這個漏洞就是,蘋果并不需要獲得用戶的同意,就可以更新設(shè)備的固件,把一個有后門的版本裝載到設(shè)備上。如果更新軟件需要征求用戶的同意,蘋果公司就算想遵從政府的要求也做不到。
這樣做的可行性高如何?
圭多說,這是完全可行的。
“工程師必須做一些修改,讓操作系統(tǒng)從一個RAM磁盤引導(dǎo)啟動。還需要刪除一些代碼,因為有大量的代碼來保護密碼,他們需要把這些代碼刪除,”他說。
政府想用腳本測試密碼,所以他們還需要另外再多做一些工作。 “那完全是可行的,只需要稍微增加一點開發(fā)時間就行。蘋果可以加載一個新的內(nèi)核驅(qū)動程序,讓你通過Lightning接口插入輸入設(shè)備。這個任務(wù)雖然不是小菜一碟,倒也并不艱難。”
這樣的技術(shù)可以用來攻擊新款iPhone嗎?
蘋果是否可以在搭載了新芯片和secure enclave模塊的iPhone上也這么做呢?對于這個問題,網(wǎng)上已經(jīng)出現(xiàn)了一些爭論。這是一個很重要的問題,因為很多用戶將在未來一兩年內(nèi)購買新機。圭多表示,盡管secure enclave提供了額外的安全功能,但蘋果確實可以寫一個有后門的固件,而這正是聯(lián)邦調(diào)查局在圣貝納迪諾案中對蘋果的要求。
“從可能性來說,蘋果是可以削弱secure enclave的很多功能。他們無法從中讀出安全私鑰,但是可以掃除密碼延遲這樣的障礙,”他說。 “這意味著,他們對5c采取的做法,不會直接運用到5s、6或6s上,但它們可以單獨為這些機型創(chuàng)建解決方案,給secure enclave添加固件后門。”
如果蘋果解除了secure enclave那種逐步加長的時間延遲,那就只剩下舊款手機里標(biāo)準(zhǔn)的80毫秒延遲了。
“這需要在secure enclave上做更多工作。你需要開發(fā)更多的軟件,進行遠遠更好的測試,”他說。 “蘋果可能還需要繞開一些其他東西。 不過據(jù)我所知,通過發(fā)布secure enclave的軟件更新,是可以解除密碼逐步延遲功能的,還可以解除設(shè)備擦除功能。一旦這兩個功能都解除后,你就可以以最快80毫秒的速度嘗試密碼了。”
在保護隱私方面,你有什么建議?
你如果設(shè)置一個由字母和數(shù)字組成的密碼,從理論上說,聯(lián)邦調(diào)查局或其他任何人不太可能用蠻力法破解它。“如果密碼有6到8位長,其中有字母也有數(shù)字,可能形成的組合就太多了,沒人能猜得出來,”圭多說。
蘋果可以做些什么?
圭多表示,蘋果可以也應(yīng)該對系統(tǒng)進行修改,以便做到在以后的機型上,聯(lián)邦調(diào)查局要求它做的事情,即使它愿意也不可能做到。 “蘋果可以在secure enclave上做一些修改,幫助用戶進一步保護自己的手機,”他說。 “例如,他們可以要求進行某種類型的用戶確認,才能更新固件,讓用戶必須輸入PIN碼來確認。或者他們可以把secure enclave燒錄成芯片中的只讀存儲器,徹底失去更新能力。”
這樣以來,蘋果就無法把有后門的固件上傳到設(shè)備中了,除非首先獲得機主的同意。或者根本就不能更新secure enclave的固件。
“他們可以采取幾種不同的做法;但是每一個做法都需要對iOS進行重大更新,或者在iPhone中搭載新的芯片才行,”圭多說。 “就目前而言,它的主要保護措施是每測試一個密碼就需要80毫秒時間,如果你的密碼足夠復(fù)雜,你的數(shù)據(jù)就是安全的。”
蘋果本來應(yīng)該預(yù)見到這個漏洞(可以上傳有后門的固件)嗎?
圭多說不是那樣的。
“直到最近,蘋果才需要考慮這樣的問題:如果我們攻擊自己的用戶,會是什么樣?如果我們自己來刪除用來保護用戶的安全設(shè)置,會是什么樣?”
他說:“蘋果盡其所能地確保iPhone免受遠程入侵者攻擊,免受其他人的攻擊……但是從現(xiàn)在開始,在為用戶提供保護方面,技術(shù)廠商需要把自己也視為一個可能的威脅了。這是一個相當(dāng)重大的轉(zhuǎn)變。”