我正在开发一个iOS应用程序,它需要连接到位于Web服务器上的Web服务。它需要为一些将通过POST方法接收这些参数的.php文件提供参数。问题是我不希望任何人查看/知道这些论点,我试过的是WireShark可以披露/嗅探这些论点的值。
那么,什么是保证连接安全的合适方法?我想加密数据是为了将数据发送到服务器(使用simle secrete / single key,因为我的数据不是高度敏感的),并且用于获取数据从服务器,如果我采用这种方法,那么我将需要实现我自己的类,但我已经没时间了。
提前致谢:)
答案 0 :(得分:2)
Https是一个选项,但不会隐藏确定的攻击者的数据。攻击者可以自己MITM来反向工程用于从iphone到服务器进行通信的任何协议,甚至可以实时修改请求!
这是一个很好的例子,说明研究人员如何能够逆向工程Apple的游戏中心协议,并在iOS应用程序中人为设置自己的高分:
http://corte.si/posts/code/mitmproxy/tute-gamecenter/index.html
如果您担心此类攻击,那么您应该使用预共享密钥和AES-256或河豚等对称密码加密您的有效负载。
答案 1 :(得分:1)
请改用https
。您的数据不是非常敏感,所以这应该足够了。您甚至可能不需要更改iPhone代码(URL更改除外),但这取决于您的服务器证书。