核心机“密”
2016-06-17文|马迪
文|马 迪
核心机“密”
文|马 迪
最近,苹果公司与美国联邦调查局(FBI)闹得不可开交,甚至不惜对薄公堂。他们争吵的主题只有一个——FBI要求苹果公司解锁一部属于恐怖分子的iPhone手机,而苹果公司却不愿意。
2015年12月,在美国加利福尼亚州南部的圣贝纳迪诺市发生恐怖袭击事件,一男一女手持AK-47扫射人群,导致14人死亡,21人受伤。警方在追击中,将凶手法鲁克及其妻子当场击毙,并在他们的车里发现了大量枪支、爆炸物,以及一部iPhone 5c。
为了打开这部被锁定的手机,警方费尽周折。FBI局长科米表示,他们与“所有的美国政府机构都有合作关系”,但无论是哪一个机构都没有办法解开这部iPhone。这位FBI局长明确表示他们已经“用尽手段”,但什么有价值的信息都没有得到,只好通过法律手段要求苹果公司协助。
于是2016年的2月16日,加州一位法官下达了一纸判决,要求苹果公司创建工具、解锁这部手机,以进一步调查恐怖袭击的真相。就在收到判决的第二天,苹果CEO库克发出公开信高调拒绝,他表示“一旦这个工具出现,这个技术可以被一次又一次地重复使用,用在任何一部设备上。”几天后苹果公司的正式法律回应更加“上纲上线”,认为这一判决违反美国宪法第一修正案和第五修正案,构成对言论自由和观点自由的权利侵犯。
其实,苹果以前也不是没跟政府合作过,但如此“反抗暴力执法”还是第一次。这背后有着深刻的技术原因。
从iOS8系统开始,苹果加强了对数据的保护,iPhone的数据开始通过一种叫做AES的复杂算法加密存储在手机芯片里。每一台iPhone都有一串独一无二的“密钥”,这个密钥的长度为256比特,也就是由一串256个“1”或者是“0”组成,有着数不胜数的组合方式。即使全世界的电脑都来加入这个大工程,你用几辈子也还是猜不完。
而对于苹果公司来说,所有iPhone一出厂,密钥就不再保留。这意味着,打开手机的唯一钥匙就是iPhone初始化时便要求用户设置的锁屏密码,默认4位或6位密码,包含1万到100万种数字组合。当然,这也并非绝对安全——如果连接计算机,无阻碍地、一遍遍地试下去,也还是能被破解的。
为了防止出现这种情况,苹果设计了一种安全保护机制:“输入密码”的过程必须在手机上进行,连续错5次会自动锁定1分钟,错得越多等待时间越长,最长可达1小时。更严重的是,苹果还有“自毁”功能,只要用户设置好,输错几次密码之后,手机就会自动抹除所有数据。这就是FBI需要苹果公司协助的地方了——解除这种安保机制,具体包括两项:1、允许他们采用电子输入的方式无限制地输入密码,2、防止手机启动自毁程序。
苹果公司能否抗争到底,已经是商业与政治的角力范畴,我们还是谈谈技术吧。
近年来,美国执法部门和情报机构一直都在抱怨:智能设备的加密技术妨碍了他们的工作。这并不奇怪,蜡封、字母位移、以书本为密码本在人类历史上,对信息保护的需求与对信息本身的需求一样久远。
第一个用于加密和解密文本的编码方式是凯撒密码。据传是古罗马恺撒大帝用来保护重要军情的加密系统,基本思想是:通过字母的位移来实现加密和解密,例如当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
这种密码的密度是很低的,只需简单地统计字频就可以破译。以英语为例,字母E、A、T出现的概率较高,只要试着将密文中的高频字母逐个替换为E、A、T等,就有可能破解。
如果有什么是一次字母位移解决不了,那就两次。于是人们在单一凯撒密码的基础上,干脆创造了共26行的“维吉尼亚”密码阵。但要想彻底解决字频的破绽,理想的加密应该是“每加密一个字母就更换一行密码表,且永不重复”。这实际操作起来极为繁琐,非人力所能及,直到二战时,德国人发明了著名的英格玛(ENIGMA)密码机。
加密、解密,说白了,是数学的游戏,加密容易解密难也是数学规律决定的。随着技术的发展,这个差距越拉越大,加密与解密的斗争可以说是加密方一边倒的胜利。
前面提到的苹果手机使用的AES(高级加密标准),是目前最常用的加密算法,winzip、RAR等压缩软件都可以进行AES加密。它的安全性能之高,除非量子计算机商用化,否则地球上暂时还没足够的逆向计算能力能对这个算法产生威胁。在这种机制下,用户设置的密码是唯一的突破口。于是才有了FBI要求苹果配合的一系列风波。
数字信息通过互联网的使用、存储和传播规模前所未有,这意味着“隐私”比以往更重要。解密实际上分两部分,一部分是算法,一部分是密钥。既然算法已经可以说万无一失,剩下的就靠我们自己了:保护重要的秘密,设置复杂程度高的密码,比如10位的数字与字符组合,生日当密码什么的,速速改了吧!