Answers:
Google不知道您设备的加密密钥是什么。整个过程在您的设备上进行,并且密钥永远不会在任何地方传输。密钥本身也不以明文形式存储在设备上:
存储加密密钥
加密的密钥存储在加密元数据中。硬件支持是通过使用受信任的执行环境(TEE)签名功能来实现的。以前,我们使用通过将scrypt应用于用户密码和存储的盐生成的密钥来加密主密钥。为了使密钥具有抵御现成的攻击的能力,我们通过使用存储的TEE密钥对生成的密钥进行签名来扩展此算法。然后,通过再次使用scrypt将生成的签名转换为适当的长度密钥。然后,此密钥用于加密和解密主密钥。
因此,即使有人拥有您的加密主密钥的副本,如果没有设备SoC中的TEE密钥,他们也无法解密它。
因此,除了实现上的缺陷外,完整的设备加密将阻止任何人访问您的数据,除非他们知道/获取您的密码或可以猜出您的密码(例如,通过强行使用它或某种社会工程技术)。在缺少必要的硬件支持的设备上,FDE将尝试使用仅软件方法对密钥进行加密。
/userdata
分区,而不加密更新实际上要修改的分区(通常为/system
和/boot
)。它几乎与iPhone 5(及更低版本)在同一条船上。