Android 提供 FDE,但它使用锁屏密码,这(至少在我的情况下)相当弱(如 4 位密码)。这是否意味着我的 FDE 很容易被离线攻击破坏?
或者也许主密钥存储在 TPM 上并且所有加密都在那里完成?在这种情况下,它可以限制试验,甚至在完成一定数量的试验后自行关闭。
我在source.android.com上找到了这篇文章(强调我的):
加密的密钥存储在加密元数据中。硬件支持是通过使用可信执行环境 (TEE) 的签名功能来实现的。以前,我们使用通过对用户密码和存储的盐应用 scrypt 生成的密钥来加密主密钥。为了使密钥能够抵御开箱攻击,我们通过使用存储的 TEE 密钥对结果密钥进行签名来扩展该算法。然后通过 scrypt 的另一种应用程序将生成的签名转换为适当长度的密钥。然后使用此密钥对主密钥进行加密和解密。要存储此密钥:
但是,他们没有解释此签名过程是否以某种方式受到速率限制或受到其他方式的保护。