我正在开发一个iPhone应用程序,它使用HTTP请求从网络服务器获取报价数据。
我正在与另一位管理网络服务的开发人员合作。我们使用MD5加密(简单xor)在iPhone和网络服务器之间传递数据。
他今天早上向我提出了一个问题,坦率地说,这是我的知识库。
'苹果二元的安全性如何?'
他担心是否有人可以通过iTunes获取.app软件包,然后解码该软件包并直接访问我的源代码,允许他们获取我们用于编码数据的密钥。
我个人,甚至不知道从哪里开始,但我确信那里有更多知识渊博/狡猾的人。
那么,有可能吗?如果是这样,我该怎样做才能安全地保护我的来源?
答案 0 :(得分:8)
二进制文件甚至不是远程安全的。无论是通过iTunes下载还是越狱的iPhone,除了模糊处理之外别无他法,而坚定不移的对手总是会过去。不要依赖于客户端应用程序中嵌入的东西的“保密性”,它不是 秘密。永远。在任何平台上,任何语言,任何技术。
如果您需要限制谁可以访问您的系统,则需要每用户帐户。没有其他安全机制。 Apple确实提供了通过iTunes帐户“验证”用户的方法,您可能希望对此进行调查。
另外,“MD5加密”意味着什么。 MD5是一个带有加密应用程序的哈希函数,但是说你正在做“MD5加密”和“简单异或”只是毫无意义。我可以使用XOR和MD5来做任何事情,如果有的话可以作为一个有意义的加密方案,并且与专家设计的真实算法没有任何优势,例如AES。
使用HTTPS(HTTP over SSL)。没有理由不,iPhone完全支持它。如果需要,您可以从至少http://www.startssl.com/获得服务器的免费SSL证书。这些天也有很多廉价的SSL证书提供商。谷歌一点。
我强烈建议您和您的合作开发人员在理论和实践中开始阅读信息安全,因为看起来您对该主题的基础很少,并且可能存在一些重要的误解,这些误解将导致 - 破碎的系统。