正确使用EncryptedSharedPreferences



Android最近发布了EncryptedSharedPreferences,它可以自动加密SharedPreferences密钥/值数据。虽然这很好,但我发现我可以简单地挂接到API调用并检索解密的值。除了在调用EncryptedSharedPreferences之前手动加密数据(哪种方法会破坏它的目的(和实现更强的运行时篡改检测挂钩之外,还有什么方法可以抵御这种攻击吗?

此外,我还能够通过挂接javax.crypto.Cipher并检查SecretKeySpec和IvParameterSpec来提取用于加密EncryptedSharedPreferences中的密钥/值对的加密密钥。这似乎很奇怪,因为加密密钥不应该存在于Android密钥库中,并且永远不会离开它吗?

EncryptedSharedPreferences的目的是保护其加密的数据,使黑客无法理解数据,也无法防止窃取数据。但是,如果你得到了加密的数据,却无法解密,你该怎么办?如果你不能,那么EncryptedSharedPreferences已经达到了目的。

相关内容

  • 没有找到相关文章

最新更新