苹果为何要叫板FBI?12个问题看懂来龙去脉
本周,一名法官发布裁决,要求苹果公司为联邦调查局提供帮助,破解圣贝纳迪诺枪击案一名嫌疑人使用过的iPhone。此事在全球掀起巨大波澜,人们的意见出现了两极分化,其中也夹杂着大量误解。
支持政府的人士说,苹果以前也和政府合作过,解锁过几十部iPhone,这次为什么就不能帮助联邦调查局解锁这部手机呢?
但是,目前问题的关键不是要求苹果解锁一部手机,而是要苹果创建一个新的软件工具,来解除苹果内置到手机软件里的安全保护设置。这些设置是用来保护用户数据的。
另外一些人则反对法官的裁决,因为联邦调查局一直在迫使苹果等公司在软件提供后门,反对者觉得法官的这个裁决与联邦调查局的要求大同小异,唯一的区别就是,这次是在产品出售之后,有选择地在政府调查的手机上开后门。
这个案子事关重大,因为过去两年来,硅谷和美国国会一直在“加密-后门”问题上争论不休。简单地说,政府希望有办法获取设备上的数据,即使这些设备使用了安全加密方式来保护隐私。
苹果在2014年对软件进行了改进,确保用户的手机不会被其他人解锁, 避免用户的重要数据遭到泄露;但事实证明,苹果在这个过程中忽略了一个漏洞,政府现在正试图利用这个漏洞,来迫使苹果就范。
政府不是要求苹果解锁这部手机,而是要求苹果降低联邦调查局解锁手机的难度。如果圣贝纳迪诺枪击案涉案手机的争论延续下去,导致苹果采取进一步措施,堵上这个漏洞,以至于以后就算苹果愿意,也无法用这种方式为联邦调查局提供帮助,那么美国国会可能会插手进来,出台相关的立法,让苹果和其它科技公司无法把政府拒之门外。
但是如果联邦调查局成功迫使苹果就范,那么这也将成为一个先例,其他国家会纷纷效仿,要求苹果公司为各国政府提供相同的软件工具。
为了澄清事实,纠正误解,下来我们来看看整件事情的来龙去脉。
这是怎样一部手机?
这是一部安装了iOS 9的iPhone 5C。它是圣贝纳迪诺县公共卫生署给犯罪嫌疑人赛义德・里兹万・法鲁克(Syed Rizwan Farook)配发的工作手机。法鲁克和妻子塔什芬・马利克血洗了同事举办的节日聚会,之后双双被警方击毙。
目前的问题是什么?
法鲁克给这部手机设置了密码,由于手机软件内置了安全功能,联邦调查局无法用蛮力法破解这部手机的密码――即输入不同的组合,直到猜出正确的密码――因为尝试密码有可能导致这部手机的数据被永久销毁。
苹果是如何做到这一点的?
苹果的操作系统使用了两个东西来保护和解锁手机中的数据,一个是用户自设的密码,另一个是手机制造时嵌入到设备中的一个唯一的256位AES密钥。密码学家马修・格林(Matthew Green)曾在博客中解释说,手机把用户密码和密钥“结合”起来,创建出一个密码密钥,用来保护和解锁该设备上的数据。用户输入密码后,手机会使用用户密码和密钥来执行一个计算,如果结果正确,手机和数据就可以被解锁。
为了防止有人蛮力法破解密码,用户可以在手机上开启一个功能,限制输入密码密钥的次数,一旦超过这个次数,系统就会擦除这个数据。当然,数据仍然会保存在设备上,但你永远都无法再把它解密。政府提交给法院的资料称,如果用户开启了自动擦除功能,输入10次错误的密码之后,手机中的数据就会成为永恒之谜。
政府说,他们并不确定法鲁克是否在这部手机中设置了数据自动擦除功能,圣贝纳迪诺县把手机配发给法鲁克的时候,这个功能是开启的。而从这部手机到iCloud的数据备份也显示,“这个功能是开启的”。
你可能会觉得奇怪,如果手机已经把数据备份到iCloud中,政府不就可以从iCloud中获取数据,不用再去费心破解手机了吗?政府确实拿到了从手机备份到iCloud的一些数据,但是法鲁克可能会在某个时候禁用了iCloud备份功能。最后一次备份是在枪击案发生的一个月前,但法鲁克很有可能在为枪击案做准备的过程中使用了这部手机。
数据自动擦除功能是苹果手机中唯一的安全保护措施吗?
不是。除了自动擦除功能之外,还有针对蛮力破解法的另一个保护措施:时间延迟。每次在手机上输入密码时,系统大约需要用80毫秒来判断密码是否正确。这个延迟有助于防止黑客连续快速地输入新密码,因为每80毫秒你才能尝试一个密码。乍看上去这个延迟好像很段,但Trail of Bits公司的首席执行官丹・圭多(Dan Guido)说,根据密码的长度不同,这样的延迟可能导致破解过程非常漫长。Trail of Bits公司为iOS的安全性提供了大量咨询服务。
“在破解密码的时候,你希望每秒尝试数百或数千个密码。有了80毫秒这道坎,你每秒只能尝试8到9次,真是慢得令人恼火。”他本周在回应记者采访时说。
圭多说,密码如果只有四位数,大约存在1万种不同组合,但增加到六位数,就会有大约100万个不同的组合。一个简单的六位数密码,全部由数字组成,需要几天时间来破解,但是如果是由字母和数字组成的复杂六位密码,可能就需要五年半时间才能破解。这部圣贝纳迪诺案涉案手机安装了苹果的iOS 9,该版本在默认情况下让用户创建一个六位数的密码,当然用户也可以选择创建较短的四位数密码。
新款iPhone搭载的芯片和iPhone 5c不同,添加了 “Secure Enclave(安全区域)”模块,可以逐步增加两次密码输入之间的延迟时间。据圭多描述,Secure Enclave是“iPhone里面的一个分开的计算机,用来处理对加密密钥的访问,增加这些密钥的安全性。
有了“Secure Enclave”,你每次猜错密码之后,要进行下一次输入的间隔时间会越来越长;到第九次猜错之后,你必须等上一个小时,才能第十次输入密码。政府也在提交给法院的文件中提到了这一点,搞得好像圣贝纳迪诺枪击案涉案手机上有这样的功能似的。但实际上iPhone 5C上并没有“Secure Enclave”模块,所以它的延迟只是通常情况下的80毫秒。
为什么旧款iPhone就没有这样的问题?
在iOS 8之前的旧版iOS上,苹果有能力绕过用户的密码,将手机解锁,获取手机上的数据。多年来,在法院的要求下,苹果已经解锁过数十部手机。但是从iOS 8开始,这种情况发生了改变,手机会默认使用你的密码,对设备上的各种重要数据进行了安全加密――不管是照片、邮件、联系人、还是通话记录。就连苹果自己也无法绕过你的密码来获取数据。
而圣贝纳迪诺案涉案手机使用的是新版iOS――似乎是iOS 9。iOS 9是在2015年9月发布的,就在圣贝纳迪诺袭击案的发生前三个月,所以很可能这部手机上真的安装的是iOS 9。
政府到底是想让苹果做什么?
很多人都曲解了政府的要求,以为它要求法院下令让苹果解锁这部手机,就像苹果以前做过很多次的那样。但是我们前面说过,这部手机上安装的操作系统版本与之前不同,苹果无法绕过密码来解密数据。所以政府希望在采用蛮力法破解密码的时候不会导致设备上的数据被自动销毁,而且在尝试密码时也不会有额外的时间延迟。
为了做到这一点,政府要求苹果公司制作一个特别的操作系统版本,在固件中留出后门,为蛮力法破解密码扫除障碍,然后把这个版本安装到圣贝纳迪诺案的涉案手机上。政府也希望苹果提供方便,可以用其他方式输入密码进行尝试,而不是通过触摸屏进行输入,这样联邦调查局就可以运行一个密码破解脚本,自动输入猜测的密码。政府希望苹果设计的这个有后门的软件可以加载到内存中,而不是在磁盘上,以确保手机上的数据不会被更改,保证法医学上的完整性。
需要注意的是,即使苹果做到了这一切,这部手机仍然是锁定的,除非政府使用蛮力法破解了它的密码。如果法鲁克按照iOS 9的默认要求,设置了六位数密码,而且使用了比较复杂的字母数字组合形式,那么就算苹果遵循了法院的要求,联邦调查局也未必能破解这部手机的密码。
按照苹果CEO蒂姆・库克(Tim Cook)的说法,政府这是在要求苹果攻击自己的用户,破坏几十年为用户提供的安全保护,而这些用户中包括了数以千万计的美国公民;iPhone工程师为了保证用户的数据安全,设计了强大的加密措施,讽刺的是,他们现在却被要求削弱这些保护措施。
政府正在利用的漏洞究竟是什么?
这个漏洞就是,苹果并不需要获得用户的同意,就可以更新设备的固件,把一个有后门的版本装载到设备上。如果更新软件需要征求用户的同意,苹果公司就算想遵从政府的要求也做不到。
这样做的可行性高如何?
圭多说,这是完全可行的。
“工程师必须做一些修改,让操作系统从一个RAM磁盘引导启动。还需要删除一些代码,因为有大量的代码来保护密码,他们需要把这些代码删除,”他说。
政府想用脚本测试密码,所以他们还需要另外再多做一些工作。 “那完全是可行的,只需要稍微增加一点开发时间就行。苹果可以加载一个新的内核驱动程序,让你通过Lightning接口插入输入设备。这个任务虽然不是小菜一碟,倒也并不艰难。”
这样的技术可以用来攻击新款iPhone吗?
苹果是否可以在搭载了新芯片和secure enclave模块的iPhone上也这么做呢?对于这个问题,网上已经出现了一些争论。这是一个很重要的问题,因为很多用户将在未来一两年内购买新机。圭多表示,尽管secure enclave提供了额外的安全功能,但苹果确实可以写一个有后门的固件,而这正是联邦调查局在圣贝纳迪诺案中对苹果的要求。
“从可能性来说,苹果是可以削弱secure enclave的很多功能。他们无法从中读出安全私钥,但是可以扫除密码延迟这样的障碍,”他说。 “这意味着,他们对5c采取的做法,不会直接运用到5s、6或6s上,但它们可以单独为这些机型创建解决方案,给secure enclave添加固件后门。”
如果苹果解除了secure enclave那种逐步加长的时间延迟,那就只剩下旧款手机里标准的80毫秒延迟了。
“这需要在secure enclave上做更多工作。你需要开发更多的软件,进行远远更好的测试,”他说。 “苹果可能还需要绕开一些其他东西。 不过据我所知,通过发布secure enclave的软件更新,是可以解除密码逐步延迟功能的,还可以解除设备擦除功能。一旦这两个功能都解除后,你就可以以最快80毫秒的速度尝试密码了。”
在保护隐私方面,你有什么建议?
你如果设置一个由字母和数字组成的密码,从理论上说,联邦调查局或其他任何人不太可能用蛮力法破解它。“如果密码有6到8位长,其中有字母也有数字,可能形成的组合就太多了,没人能猜得出来,”圭多说。
苹果可以做些什么?
圭多表示,苹果可以也应该对系统进行修改,以便做到在以后的机型上,联邦调查局要求它做的事情,即使它愿意也不可能做到。 “苹果可以在secure enclave上做一些修改,帮助用户进一步保护自己的手机,”他说。 “例如,他们可以要求进行某种类型的用户确认,才能更新固件,让用户必须输入PIN码来确认。或者他们可以把secure enclave烧录成芯片中的只读存储器,彻底失去更新能力。”
这样以来,苹果就无法把有后门的固件上传到设备中了,除非首先获得机主的同意。或者根本就不能更新secure enclave的固件。
“他们可以采取几种不同的做法;但是每一个做法都需要对iOS进行重大更新,或者在iPhone中搭载新的芯片才行,”圭多说。 “就目前而言,它的主要保护措施是每测试一个密码就需要80毫秒时间,如果你的密码足够复杂,你的数据就是安全的。”
苹果本来应该预见到这个漏洞(可以上传有后门的固件)吗?
圭多说不是那样的。
“直到最近,苹果才需要考虑这样的问题:如果我们攻击自己的用户,会是什么样?如果我们自己来删除用来保护用户的安全设置,会是什么样?”
他说:“苹果尽其所能地确保iPhone免受远程入侵者攻击,免受其他人的攻击……但是从现在开始,在为用户提供保护方面,技术厂商需要把自己也视为一个可能的威胁了。这是一个相当重大的转变。”