让 FBI 来证明产品的安全性,苹果做到了



世界上最厉害的广告,应该就是让 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 探员的魅力似乎还不够。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章