5

我正在为 iPhone 开发一个应用程序,它使用 HTTP 请求从网络服务器获取报价数据。

我正在与另一位管理 Web 服务的开发人员合作。我们使用 MD5 加密(简单异或)在 iPhone 和网络服务器之间传递数据。

他今天早上向我提出了一个问题,坦率地说,这超出了我的知识范围。

“苹果二进制文件有多安全?”

他担心是否有人可以通过 iTunes 获得 .app 捆绑包,然后对该捆绑包进行解码并直接访问我的源代码,从而让他们获得我们用来对数据进行编码的密钥。

我个人甚至不知道从哪里开始,但我敢肯定那里有更多知识渊博/狡猾的家伙。

那么,有可能吗?如果是,我能做些什么来保护我的来源?

4

1 回答 1

8

二进制文件甚至不是远程安全的。无论是通过 iTunes 下载还是在越狱的 iPhone 上,除了混淆之外,您无能为力,而坚定的对手总会通过混淆。永远不要依赖嵌入在客户端应用程序中的东西的“保密性”,这不是保密的。曾经。在任何平台上,使用任何语言,使用任何技术。

如果您需要限制谁可以访问您的系统,则需要每个用户帐户。没有其他安全机制。Apple 确实提供了通过用户的 iTunes 帐户“验证”用户的方法,您可能需要对此进行调查。

此外,“MD5 加密”没有任何意义。MD5 是加密应用的哈希函数,但是说你在做“MD5 加密”和“简单异或”是没有意义的。我可以使用 XOR 和 MD5 来做任何事情,即使有也很少能用作有意义的加密方案,并且与专家设计的真正算法(如 AES)相比没有任何优势。

使用 HTTPS(基于 SSL 的 HTTP)。没有理由不这样做,iPhone 完全支持它。如果需要,您至少可以从http://www.startssl.com/为您的服务器获取免费的 SSL 证书。现在也有很多便宜的 SSL 证书提供商。谷歌了一下。

我强烈建议您和您的合作开发者从理论和实践两方面开始阅读信息安全,因为您似乎在该主题上的基础很少,并且可能存在几个会导致系统容易损坏的重大误解。

于 2011-05-31T12:23:14.873 回答