世界上最牛X的广告,应该就是让 FBI 来证明自己产品的安全性。苹果做到了。FBI为了看到犯罪嫌疑人手机里的内容,不得不“跪求”苹果的协助。然而,库克高冷地拒绝FBI走后门,散发出浓浓的“直男范儿”。
纵然FBI保持了一贯的碾压口吻,但是明眼人可以看出,在这件事上,FBI实际在“跪舔”苹果。因为没有苹果的帮助,万能的FBI还真就搞不定这台小小的手机。
事情闹到现在,比尔盖茨、扎克伯格、谷歌CEO皮猜都已经卷入了论战,纷纷选边站队。至于这场撕X究竟谁更有道理,每个人都有自己的判断。不过,革命先烈王欣同志说的好:技术无罪。既然是非扯不清,我们就从技术的角度来看一看,为什么FBI一定要苹果的帮助才能解锁手机呢?
FBI为什么一定要搞到密码?
先从这个简单的问题开始吧。显然手机需要密码来解锁,这是一个常识。
不过在 iPhone 身上,情况稍有特殊。手机制造时嵌入到设备中的一个唯一的密钥。密码学家马修·格林曾在博客中解释说,
iPhone 手机把用户密码和密钥“结合”起来,创建出一个密码密钥,用来保护和解锁该设备上的数据。用户输入密码后,手机会使用用户密码和密钥来执行一个计算,如果结果正确,手机和数据就可以被解锁。
通俗来讲,如果没有用户密码,这台设备上的所有资料就永远处于锁定状态。
那么,就没有其他方法绕过密码吗?
理论上来说,确实有。那就是:
把 iPhone 拆掉,然后取出存储芯片,直接读取其中的数据。但是这样做并不容易。由于芯片内置的安全逻辑,简单读取是无法进行的。唯一可行的办法就是拆解芯片,然后在裸露的闪存上用激光一个字节一个字节地读取信息。这样做的缺点在于,对操作的精度要求极高,稍有不慎就会损毁芯片,导致上面的所有内容都会烟消云散。
这种“霸王硬上弓”的方法失败几率极高,并不在FBI的选择范围之内。(可以参考雷锋网(公众号:雷锋网)文章:FBI会用强酸和激光破解 iPhone 吗?)所以,最为可行的办法就是——搞定库克。
【拆解芯片的示意图】
苹果的三大安全逻辑
FBI想要苹果帮什么忙呢?当然最好是直接读出 iPhone 里的所有信息。但是对不起,天下没有这么好的事,就连苹果自己都没有直接解锁 iPhone 的能力。因为 iPhone 的安全机制就像一个保险箱,就连它的制造商也不能用蛮力打开。
不过,苹果确实可以帮助FBI降低破解这台iPhone的难度。这是为什么呢?我们先来看看嫌疑犯这台安装了 iOS9 的 iPhone 5c 有怎样的安全逻辑。
1、由于手机固件升级到了 iOS9,所以系统默认需要设置6位密码。(经过设置,这6位密码可以不仅仅是数字,而是字母数字混合。)
2、开锁密码只可以手动在屏幕上点按输入,而且每两个密码之间输入间隔不得小于80毫秒。
3、如果输入错误达到10次,那么不好意思,所有资料将会永久锁定,没有任何方法可以解密。
这些安全措施很多都是iOS9中新添加的功能。而iOS9在嫌疑人实施犯罪之前3个月刚刚推送。如果嫌疑人的手机还在运行iOS8,那么FBI就大可不必费如此周章来跪舔苹果了。
只有苹果才能拯救探员的手指头
FBI要求苹果做的事情并不难,专门为这台手机开发一个固件,然后对嫌疑犯的手机进行更新。新的固件要有以下两个特性:
1、取消输入错误10次自动永久锁定的功能。
2、可以用外接键盘代替屏幕点按来输入密码。
如果安装了这个还尚不存在的固件,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诸位探员的魅力似乎还不够。
雷锋网原创文章,未经授权禁止转载。详情见转载须知。