最近几周,移动安全领域分外热闹,苹果和Google两大巨头先后发表声明称保存在各自最新版本的iOS以及安卓操作系统的用户内容受到严格加密,且两家公司本身都无法对本地存储信息进行解密。
默认加密
执法机构当然无法对这一事实感到满意,因为这意味着即便有正当的理由,这些部门也无法保证能要求用户解密本地保存的数据。因此这些机构只能出动政府官员对广大用户进行明目张胆的恐吓–少不了借用恋童癖和恐怖分子的老套故事–迫使用户相信加密是不正当且危险的。
与此同时,隐私与安全倡议者们又进一步推出了新的全盘加密方案,似乎预示着消费者们即将迎来真正的移动数据安全时代。
有些人认为这一系列举措过于冒失和鲁莽;另一些人则将此举视为对现有安全环境所进行的一场彻底变革,因为目前情况下,政府在缺乏任何监督下可轻易收集用户的信息。
#Google #安卓操作系统的最新版本将步#Apple #iOS后尘,也将启用默认全#加密#。
本月早些时候,我们曾撰写过一篇关于”苹果新默认启用加密“的文章,你可更多地从执法机构的角度品味这篇文章。现在是时候从技术角度讨论Google借以兜售其最新Android Lollipop系统(简称为”Android 5.0″或”Android L”)的默认加密功能,”Android L”中的L代表的是罗马数字50以及”Lollipop”的首字母。
安卓加密简史
据来自Android Explorations博客的Nikolay Elenkov表示,自Android 3.0发布以后,安卓用户即可自行选择是否需部署全盘加密(FDE),同时也被称为”Honeycomb”。此后安卓的FDE服务一直并未多做改变,直到Google在Android 4.4内对其进行了进一步强化。在Android L中,该功能将再次得以增强,并在Android 5.0内首次将FDE设为默认功能。
Google最初部署在安卓操作系统的加密方案已被证明相当的安全。然而,其在软件中的实施情况却时常导致漏洞产生。该加密方案的安全性几乎完全取决于硬盘加密通行码的复杂程度以及它是否易于被暴力攻击攻破。
“如果密钥足够长和复杂的话,暴力攻击要想攻破加密的主密钥可能需要耗费数年的时间,” Elenkov解释道。”然而,由于安卓已选择重新使用锁屏PIN码或密码(最长可达16位),但在实际过程中大部分人都更倾向于采用位数相对较短或简单的硬盘加密密码。”
换句话说:安卓系统上的硬盘加密强度完全取决于你的锁屏密码。且大部分情况下,加密强度都极其脆弱,因为人们总是懒于设置位数较长的锁屏密码。
密码输错固定次数限制机制使得暴力攻击在实际操作中并不可行,因为攻击者一旦输错登录密码次数达到一定数量,则永远无法再重新进行尝试。当然,Elenkov在其博客中忽略这一保护机制。如果你想对他的错误大肆攻击一番,请随意去阅读他所做的分析内容,但这里就不多做探讨。问题在于:的确存在暴力攻破弱PIN码或密码的方法,为的就是解密保存于安卓设备上的内容。
暴力攻击方法对于强大的密码很难奏效。但如果你拥有一个典型的4-6位密码,毫不夸张地说,只需几秒钟即能解密用户的数据。
在Android 4.4系统中,Google进一步增强了其加密系统的能力。尽管如此,但依然是基于PIN码或密码。因此仍然有可能暴力攻破较弱的PIN码和密码,不同的是在Android 4.4中你可能需要花费数分钟而非原先数秒钟的时间。
一些版本的Android 4.4允许用户创建独立的加密密码。在这种方式下,为攻破系统又增添了难度,因为采用单独加密密码的用户得到了双重保险(锁屏密码和加密密码)。
进入Android Lollipop操作系统
此类攻击将对Android L无法奏效。确切原因尚不清楚,因为我们还未能获得该操作系统的任何源代码。Elenkov通过分析后总结出加密密钥导出不再只单纯基于用户通行码、PIN码或锁屏密码。相反,似乎未来要想解密各种安卓系统,只能部分基于用户的锁屏PIN码或密码。
Elenkov认为即将出现一种双重认证功能。而在过去,仅单独凭借PIN码或密码就能单独导出加密密钥。而现在,似乎密码或PIN码再加上一些内置的基于硬件的凭证才能推导出加密密钥。因此,暴力攻破密码依然可能存在,但却无法解密加密的硬盘空间。
节选摘要
“除了开创性地启用全盘加密外,预计Android L的创新功能还包括了针对硬盘加密密钥的硬件保护以及用于加密硬盘访问的硬件加速功能,” Elenkov总结道。”这两大新功能将使得安卓系统上的FDE更加安全和快速。”
换句话说,目前现有的大多数流行移动操作系统将变得更加安全。