当时我正在阅读这文档,并看到了这一部分;
当应用程序使用Android Keystore密钥执行密码操作时,幕后的明文、密文和要签名或验证的消息被输入执行密码操作的系统进程。如果应用程序的进程被破坏,攻击者可能能够使用应用程序的密钥,但无法提取它们的密钥材料(例如,用于Android设备之外)。
这让我有点困惑,因为我不太明白如何能够访问应用键,但“键控材料”仍然是安全的(或安全的)。我的意思是,如果密钥是KDF的最终输出,那么不能访问相应的键控材料会有什么不同吗?例如,我仍然可以使用密钥来解密消息,对吗?
发布于 2019-06-24 09:19:45
..。使用应用程序的键
这意味着使用密钥执行加密操作,比如签名或解密某些内容。
..。无法提取它们的关键材料(例如,在Android设备之外使用)
这意味着攻击者无法从设备中提取密钥,也就是说,他必须始终拥有对设备进行操作的访问权限。如果攻击者窃取了设备或拥有远程后门,这是可能的--但最终所有者将知道设备可能被破坏,并可以作出适当的缓解,例如撤销密钥,这样就不会为所有者加密使用此已泄漏密钥的新消息。
相反,如果攻击者能够从设备中提取密钥,那么对设备的短暂访问可能就足够了,并且设备的所有者可能没有意识到密钥已经被破坏了,因为设备仍然在那里,而且看起来也没有受损。因此,密钥不会被撤销,攻击者可能也能够解密未来的消息或模拟密钥的所有者。
https://security.stackexchange.com/questions/212340
复制相似问题