使用内置的Android / Java加密API是否安全?

时间:2015-04-23 21:57:45

标签: java android security cryptography cryptoapi

让我们说我(作为应用开发者)希望使用存储在我的应用中某处的密钥来加密某些内容。最后,我必须将该密钥加载到内存中,并将其与纯文本数据一起传递给javax.crypto中的某个Java类。由于这些类是由JVM在运行时提供的,如果攻击者能够控制JVM并在他自己的Android设备上交换这些类的实现,他就能够看到密钥和纯文本。我的应用程序想要加密。由于Android是开源的,任何人都可以修改它并构建它以在自己的设备上运行,并在其上运行我的应用程序。这不意味着他们可以窃取我的应用程序的密钥并查看我的纯文本吗?

如果是这样,有什么方法可以防止这种情况发生吗?例如,使用我的APK中包含的第三方加密库? (虽然有人可以轻松地反编译APK并换掉这些类,但他们不能吗?)

1 个答案:

答案 0 :(得分:2)

不要担心。一旦Android安全性被破坏到攻击者可以开始替换系统加载路径中的类,那么就已经死了。他们可以在您的应用或操作系统上安装大量攻击。