最近,苹果iOS 8操作系统的新的全磁盘加密系统已经是在新闻中.苹果发布后不久,谷歌宣布表示,他们还将在即将推出的安卓操作系统中默认启用加密功能。
我的问题是:从安全性的角度来看,这两个系统是相似还是不同(假设您使用相同的密码或PIN代码)?准确地说,Android的加密在引擎盖下是如何工作的?
在更具体的术语:如果我使用一个随机的8小写字母密码,这应该需要大约。265年来,在iOS设备的情况下,使用类似的安装在安卓手机上,我有多安全?
有关苹果采用iOS 8的方法的背景信息,请参阅本文件。如果我理解这一点,关键似乎是有一个特殊的防篡改硬件,其中包含一个设备特定的秘密标识符。据推测,检索加密密钥的唯一方法是将您的密码输入到这个硬件中,等待80 is,然后查看结果。要强行执行此操作,您要么必须继续在这个唯一的硬件上输入PIN代码(每次尝试都需要80 is,而且您不能并行化,因为世界上只有一个这样的芯片),或者您还必须强制使用标识符(非常长)。
这与谷歌(以及安卓手机制造商)在Android手机上所做的相比又如何呢?
发布于 2014-09-28 11:55:29
目前,Android的设备加密使用dm-地窖实际上似乎容易受到您提到的那种暴力攻击,因为PIN/密码或多或少是直接用于派生解密存储在卷头中的AES密钥的密钥。
为了防止这种暴力攻击,密码必须具有足够高的熵(就像桌面加密系统中的那样)。不幸的是,Android不允许为磁盘解密和屏幕锁定设置不同的密码。不过,这只是UI的一个限制:很容易实现使用强密码进行启动时磁盘解密,但这需要根访问。
然而,随着安卓L的出现,这一切可能都会发生变化--目前还没有什么可公开知道的,但建议表示,安卓将转向一个使用“可信”硬件部分的方案,就像iOS那样。
顺便说一句,您所描述的iOS硬件密钥派生似乎已经被使用A7 SoC (或更新的)设备的其他东西所取代。苹果似乎在安全飞地内执行(并限制)PIN/密码验证,从理论上讲,这将更加安全。从您引用的文档中:
在具有A7或更高版本的A系列处理器的设备上,密钥操作由安全飞地执行,在重复失败的解锁请求之间执行5秒的延迟。除了由iOS强制执行的保障措施外,这还提供了一个抵御暴力攻击的调控器。
你必须等待整个Android L源代码的发布才能确定(即便如此,这也可能必须由设备制造商来实现),但到目前为止,一些安卓设备已经支持不对称密钥的硬件密钥存储;这种机制似乎是基于ARM的TrustZone选择环境,理论上可能会扩展到设备加密密钥,类似于苹果的安全飞地概念。
发布于 2014-12-15 04:27:03
当删除文件时,Android (块级加密)和iOS (文件级加密)之间的不同加密体系结构会产生不同的行为:
https://security.stackexchange.com/questions/68454
复制相似问题