我有一个完全离线的应用程序,它可以保持很少的KEYS来实现功能。我正在使用proguard来保护我的应用程序免受逆向工程的影响,但是不能100%使应用程序远离逆向工程。
此外,KEYS被定义为STRING,它们是不可变的。因此,我认为虽然我使用的是proguard,最终不会混淆KEYS。
我的问题是,
如何在我的应用程序中保持KEYS的安全性我的应用程序要求是固定的& 想只在应用程序中保存KEYS?
答案 0 :(得分:0)
我认为唯一可行的方法是依赖某种用户输入(密码?),然后从该输入中派生密钥,并使用该密钥对您的密钥进行加密/解密。
这意味着您的应用程序将在用户首次启动之前无法运行(以便她可以输入密钥/密码),如果应用程序应在后台运行,则可能会出现问题。
一种替代方法是使用Android KeyStore加密/解密密钥-这样,您就可以将信任从用户转移到使用的设备上。