2013-04-27 90 views
1

我已阅读了大量关于AES,CommonCryptor,salt和MAC的帖子和资源,以寻找解决方案,以解决我在发布我的移动软件库时遇到的问题。我想通过HTML和JavaScript在WebView中使用自定义URL Scheme将字符串作为参数传递给我的iPhone和Android应用程序。 HTML文件将在我的网站上创建,然后分发给用户以存储在他们的Web服务器上。保护移动应用程序中的AES密钥

从我已阅读的内容中,我将使用一个密钥加密HTML文件中的字符串,然后再将它分发给用户。然后,相同的密钥将被存储在库中并用于解密字符串。但是如果有人反编译我的应用程序,他们将拥有密钥并能够解密存储在分布式HTML文件中的字符串。我知道这个库可以很容易地反编译,但是提供字符串和代码是真的放弃它。而且真正的危险是,人们可以使用HTML文件在我的图书馆的黑客版本中触发恶意行为。

我真的不想打电话到我的网站获得钥匙或盐,我不确定这将提供任何保护。随机盐会随着钥匙在图书馆中的存储工作?

我愿意把时间花在研究,编码和测试上,但首先我想知道如果使用AES,CommonCryptor,salt或MAC这是可行的。如果我们在这里解决它,它将作为解决这个问题的解决方案。

谢谢

回答

0

编译自己的OpenSSL和crypro静态库和包括两个静态模块集成到自己的母语。所以模块。不要使用内部的Android SSL。

以某种受保护的方式痛苦深入内部(简单的解决方案是使用浮点数组和一些非平凡散列)。在本地代码中解密加密的消息。在本机代码中确定消息是否正常。不要以纯布尔值返回到Java。

每当黑客想要破解你的代码时,他必须反编译〜800K的本机代码。

+1

这只是默默无闻的安全。 – 2013-04-28 12:51:55

+0

谢谢你的回应。 – user1751607 2013-04-29 10:10:28