世界上最厉害的广告,应该就是让 FBI 来证明自己产品的安全性。苹果做到了。FBI 为了看到犯罪嫌疑人手机里的内容,不得不“跪求”苹果的协助,然而,库克高冷地拒绝 FBI 走后门。
纵然 FBI 保持了一贯的口吻,但是明眼人可以看出,在这件事上,FBI 其实在“请求”苹果。因为没有苹果的帮助,万能的 FBI 还真就搞不定这支小小的手机。
事情闹到现在,比尔盖兹、祖克伯、Google CEO 皮查都已经卷入论战,纷纷选边站。至于这场辩论谁更有道理,每个人都有自己的判断,不过技术无罪,既然是非扯不清,我们就从技术的角度来看一看,为什么 FBI 一定要苹果的帮助才能解锁手机呢?
FBI 为什么一定要搞到密码?
先从这个简单的问题开始吧。显然手机需要密码来解锁,这是一个常识。
不过在 iPhone 身上,情况稍微有特殊。手机制造时嵌入到装置中一个唯一的金钥。密码学家马修·格林曾在部落格解释,
iPhone 手机把使用者密码和金钥“结合”起来,创建出一个密码金钥,用来保护和解锁该设备上的资料。使用者输入密码后,手机会使用使用者密码和金钥来执行一个计算,如果结果正确,手机和资料就可以被解锁。
通俗来讲,如果没有使用者密码,这台装置上的所有资料就永远处于锁定状态。
那么,就没有其他方法绕过密码吗?
理论上来说,确实有。那就是:
把 iPhone 拆掉,然后取出储存芯片,直接读取其中的资料,但是这样做并不容易。由于芯片内置的安全逻辑,简单读取是无法进行的。唯一可行的办法就是拆解芯片,然后用激光在裸露的闪存上,一个字节、一个字节地读取资讯。这样做的缺点在于,对操作的精度要求极高,稍有不慎就会损毁芯片,导致上面的所有内容都会烟消云散。
这种“霸王硬上弓”的方法失败概率极高,并不在 FBI 的选择范围内。所以,最为可行的办法就是——搞定库克。
▲ 拆解芯片的示意图。
苹果的三大安全逻辑
FBI 想要苹果帮什么忙呢?当然最好是直接读出 iPhone 里的所有资讯。但是天下没有这么好的事,就连苹果自己都没有直接解锁 iPhone 的能力,因为 iPhone 的安全机制就像一个保险箱,就连它的制造商也不能用蛮力打开。
不过,苹果确实可以帮助 FBI 降低破解这支 iPhone 的难度。这是为什么呢?我们先来看看嫌疑犯这支安装了 iOS 9 的 iPhone 5c 有怎么样的安全逻辑。
- 由于手机固件升级到了 iOS9,所以系统预设需要设置 6 位元密码。(经过设置,这 6 位元密码可以不仅仅是数字,而是字母数字混合)。
- 开锁密码只可以手动在屏幕上点按输入,而且每两个密码之间输入间隔不得小于 80 毫秒。
- 如果输入错误达到 10 次,所有资料将会永久锁定,没有任何方法可以解密。
这些安全措施很多都是 iOS 9 中新添加的功能。而 iOS 9 在嫌疑人实施犯罪之前 3 个月刚刚推送。如果嫌疑人的手机还在运行 iOS 8,那么 FBI 就大可不必费如此周章来请求苹果了。
只有苹果才能拯救探员的手指头
FBI 要求苹果做的事情并不难,专门为这支手机开发一个固件,然后对嫌疑犯的手机进行更新。新的固件要有以下两个特性:
- 取消输入错误 10 次自动永久锁定的功能。
- 可以用外接键盘代替屏幕点按来输入密码。
如果安装了这个还尚不存在的固件,FBI 就可以用自动化穷举法穷举出嫌疑犯的手机密码,从而并不体面地破解这支手机,但这对 FBI 来说已经足够了。FBI 的厚道之处在于:并没有要求苹果更改更底层的安全芯片固件,从而取消掉 80 毫秒的密码输入间隔(实际上苹果有能力更换安全芯片上的固件)。
实际上,这 80 毫秒的限制在日常使用场景中,正常的人类都不会有任何感觉。即使是加藤鹰的神之中指,点按两个密码之间的时间也不会比 80 毫秒更短。但在穷举密码的时候,这 80 毫秒的限制就非常恶心了。
为苹果提供安全咨询的公司 Trail of Bits 的首席首席执行官丹·圭多表示:
在破解密码的时候,你希望每秒尝试数百或数千个密码。有了 80 毫秒这道坎,你每秒只能尝试 8 到 9 次,真是慢得令人恼火。
纵然如此,FBI 也选择忍了。因为即使嫌疑人选择了大小写字母和数字混合的六位元密码,理论上有 5 年时间也可以成功破解手机。如果密码是纯数字的形式,则只需要几天就可以破解。
FBI 向苹果索取的这个定制系统,由于不用手动点按密码,所以算是拯救了这些可怜探员的手指头。
另外,由于苹果的数位签章技术,可以规定这款定制系统只用于特定的装置之上。也就是说,这个新的固件只能用于解锁嫌疑人的这支 iPhone 5c。然而即使是这样,库克也表示断然拒绝。抛开道德和立场原因,苹果认为这样做还是存在技术风险的。因为一旦这个“破解版固件”流传出去,骇客也许会透过把其他的手机伪装成这支 iPhone 5c 的手法来进行破解活动。
▲ iPhone 5c 拆解图。
库克不合作,FBI 能怎么办?
讲真,写一个破解版的固件并不难。如果 FBI 肯出钱,有诸多骇客高手会排著队帮他来写程式码。但是正如刚才所说,苹果需要对一个 iOS 系统载入数位签章,这个系统才能被安装在一支 iPhone之上。显然,苹果更不可能给一个骇客写的 iOS 系统载入数位验证签名。
说起来,整个事件中,FBI 想要利用苹果产品的一个逻辑漏洞,那就是:苹果公司可以透过上传新的固件,从而降低手机的安全级别。这个“提防自己”的漏洞可能是苹果以前没有意识到的。在未来生产的手机里,完全可以做到让安全芯片的固件不可重写。如果那样的话,苹果即使有心帮忙,也无力破解 iPhone了。如果这样,FBI 也就无话可说了。
目前来看,如果库克真的拒绝和 FBI 合作,除非 FBI 可以找到 iPhone 手机的新的致命漏洞(这种漏洞是非常高级别的、价值百万美元的、几乎不可能被发现的),他们可做的事情还真不多。
所以,从技术角度来讲的话,想让库克给你开后门,FBI 探员的魅力似乎还不够。
(本文由 雷锋网 授权转载)
延伸阅读:
- 逾五成美国民众支持 FBI,认为苹果应解锁 iPhone
- 万绿丛中一点红!比尔盖兹声援 FBI,认科技公司应助政府对抗恐怖份子
- 苹果拒绝 FBI 解锁令,Facebook、Twitter 齐声援