如何在完全脱机的应用程序中保持KEYS安全?

时间:2018-02-17 18:36:34

标签: android android-keystore android-security android-securityexception

我有一个完全离线的应用程序,它可以保持很少的KEYS来实现功能。我正在使用proguard来保护我的应用程序免受逆向工程的影响,但是不能100%使应用程序远离逆向工程。

此外,KEYS被定义为STRING,它们是不可变的。因此,我认为虽然我使用的是proguard,最终不会混淆KEYS。

我的问题是,

  

如何在我的应用程序中保持KEYS的安全性我的应用程序要求是固定的&   想只在应用程序中保存KEYS?

1 个答案:

答案 0 :(得分:0)

我认为唯一可行的方法是依赖某种用户输入(密码?),然后从该输入中派生密钥,并使用该密钥对您的密钥进行加密/解密。

这意味着您的应用程序将在用户首次启动之前无法运行(以便她可以输入密钥/密码),如果应用程序应在后台运行,则可能会出现问题。

一种替代方法是使用Android KeyStore加密/解密密钥-这样,您就可以将信任从用户转移到使用的设备上。