我想部署一个iPhone应用程序,其中包含事物的名称作为已部署应用程序的一部分。用户在成功登录后将看到名称(使用已存在的标准现有登录服务)。但是,我不希望可以解密应用程序的人访问这些名称。换句话说,他们可以解密应用程序并获取字符串。请参阅Finding constants from a decrypted iOS app executable和Reverse Engineering Tools
如何运送加密的名称,然后让应用程序在登录后解密?在我看来,无论我编写/使用什么解密代码,解密应用程序的人都可以使用。
如果我不必创建自定义服务器解决方案只是为了在登录后发送应用程序名称,那就非常好。但是,它可能会出现。
我们的顶级安全人员将很难打到这个应用程序。所以,它必须是密不透风的安全。因此"Best way to securely ship static text inside a iOS app?"中的答案无效。
想法?
更新:我们可以通过安全信息以某种方式预先填充iPhone和Android中的密钥库,使其无法被黑客攻击吗?
答案 0 :(得分:2)
在包含在应用中之前加密项目,并且不在应用中包含加密密钥。而是在用户正确登录后将密钥传递给应用程序。
只需正确使用AES加密即可保护数据。
解密方法是秘密的并不重要,只有解密密钥是秘密的。