Android 加密真的会阻止执法人员访问吗?

信息安全 加密 安卓
2021-08-22 14:31:10

谷歌最近宣布在 Android L 中默认开启加密:

三年多来,Android 一直提供加密功能,并且密钥不会存储在设备之外,因此无法与执法部门共享。作为我们下一个 Android 版本的一部分,默认情况下将启用开箱即用的加密,因此您甚至不必考虑将其打开。华盛顿邮报2014 年 9 月 18 日报道。)

目前,如果我有一部 Android 手机并且我有一个与该手机关联的 Google 帐户,如果我忘记了手机的 PIN,我仍然可以使用我的 Google 帐户凭据来获取,至少根据在忘记密码/模式的情况下恢复 Android 设备解锁 Android 设备

如果执法部门可以访问 Google 并让他们重置用户的 Google 帐户凭据从而绕过 PIN,那么默认打开加密如何帮助防止执法部门访问设备数据?(假设我们正在考虑的设备有一个 PIN 和一个与之关联的 Google 帐户。)

3个回答

磁盘加密仅在手机关闭时保护您的手机(即,它保护静态数据)。一旦设备打开,数据就会被透明地解密,并且(至少在当前实现中)解密密钥在内存中可用。

虽然 Android 使用设备解锁 PIN/密码来派生磁盘加密密钥,但两者是完全分开的。有人可以更改您的磁盘加密密码的唯一方法是安装了允许远程管理的设备管理员应用程序(或者他们有一个您不知道的隐藏后门,但在这种情况下您已经拥有)。更新:Google 帐户后备已在 5.0+ 中删除。

您链接的文章似乎相当陈旧且过时。在当前的 Android 版本中,仅支持使用 Google 帐户登录作为模式解锁(不是PIN/密码)的一种后备方式,因此,如果您使用 PIN/密码,则通常可以。同样,这仅在设备已打开时才有效,如果已关闭,则需要磁盘加密密码才能将其打开(技术上是挂载userdata分区)。

也就是说,因为磁盘加密密码与解锁密码相同,所以大多数人倾向于使用简单的 PIN,这对于当前的实现来说是微不足道的(在使用 scrypt 派生密钥的 4.4 上稍微困难一些)。Android L 似乎通过不直接从锁屏中获取磁盘加密密码对此进行了改进,但目前尚无详细信息(无来源)。看起来,至少在 Nexus 设备上,密钥是受硬件保护的(可能是基于 TrustZone 的 TEE),所以暴力破解应该不再是微不足道的。(当然,除非 TEE 受到损害,这已经证明了几次。)

顺便说一句,打开加密也有助于恢复出厂设置,因为即使一些数据留在闪存上,它也会被加密,因此几乎没有用。

Android 加密使用 dm-crypt正确的方式,可以保护设备免受执法。但是,有几个问题:

  1. 密码需要与您使用的任何密码不同。您在登录时提供密码的任何一方通常至少在您登录时具有全文访问权限,并且他们可能以可检索的方式存储它。执法部门可以要求他们交出。
  2. 密码需要与您的谷歌登录密码不同。我将 1 和 2 分开,因为我不知道谷歌计划使用的特定实现。为了“方便”,他们可能会统一两个密码。
  3. 密码必须是密码。弱密码可以被暴力破解。这对攻击者来说特别容易,因为他们可以进行离线暴力破解。然而,这不是谷歌或任何人都可以解决的,这是你的责任。
  4. 如果您在执法部门知道您的情况下使用您的设备,他们(或谷歌)可以在您的手机上安装后门。对于有足够资金的机构来说,很容易找到进入您设备的方法。有了“人人都是嫌疑人”——拉网式监控,“知道你”就意味着永远,保护毫无意义。这就是机构喜欢拉网监视的原因之一:它们可以回到过去。
  5. 执法部门可能无法在设备仍处于开启状态时从您那里获取设备。如果它打开,则密钥(可能还有您要保护的数据)驻留在 RAM 中,并且可以通过冷启动攻击或后门程序提取。

首先我承认我自己没有测试过,但是根据http://nelenkov.blogspot.de/2012/08/changeing-androids-disk-encryption.html磁盘加密密码也改变了,当设备密码/pin被改变。

由于设备密码可以通过多种方式重置,首先您可以访问已经解锁的数据(假设设备仍然处于开机状态)。

其次,我从链接的文章中了解到,GUI 中的密码更改会触发加密密码的更改。这也只有在设备仍然通电的情况下才有可能,但会得出结论,例如小偷可以安装新密码以供以后使用。

当然,user10008 指出的所有攻击场景也是有效的。

如果 google/Web 触发的密码更改也会更改磁盘密码,我不能说。这是一个非常有趣的问题。