【发布时间】:2020-02-25 06:08:45
【问题描述】:
Android 最近发布了 EncryptedSharedPreferences,它会自动加密 SharedPreferences 键/值数据。虽然这很好,但我发现我可以简单地挂接到 API 调用并检索解密的值。除了在调用 EncryptedSharedPreferences 之前手动加密数据(哪种方式违背了它的目的)并实施更强大的运行时篡改来检测挂钩之外,还有什么方法可以抵抗此类攻击?
此外,我还能够通过挂钩 javax.crypto.Cipher 并检查 SecretKeySpec 和 IvParameterSpec 来提取用于加密 EncryptedSharedPreferences 中的键/值对的加密密钥。这看起来很奇怪,因为加密密钥不是应该驻留在 Android 密钥库中并且永远不会离开吗?
【问题讨论】:
标签: android security tampering androidx-security