确定请求是否来自iPhone应用程序

时间:2012-02-17 16:00:38

标签: iphone encryption verification public-key-encryption

我有一个与服务器通信的iPhone应用程序(我拥有并为其编写代码)。我需要确定我的服务器上的请求是来自iPhone(或运行我为此写的应用程序的任何移动设备)。基本上,我只想允许我写的应用程序与服务器通信,并需要一种方法来验证。由于我正在编写应用程序,我可以修改标题以及我不需要的任何方式。

我读了一些关于公钥加密的内容,但我认为它不起作用。如果我在我的标题中发送了某种秘密哈希词来验证它,那么一些外界派对是否只能获取这些标题并在请求中使用相同的标题?

3 个答案:

答案 0 :(得分:1)

您可以使用校验和。让我们说你有类似的东西: 日期 受试者

并使用,假设MD5为(日期+“字符串”+主题),计算校验和, 并且您在服务器上以相同的方式计算MD5。如果匹配,则来自移动客户端。

这将有效,直到有人找出你的算法。

答案 1 :(得分:0)

您可以让服务器向您的应用发送包含随机代码的消息。每次发送时,此消息和代码都会更改。

然后你的应用程序对该消息执行某种算法以“加密”它并将其发送回服务器,然后服务器可以检查它。这样就没有什么可以在不知道你的“加密”的情况下拦截和使用。

当然,他们可以拦截来自每个方向的消息,然后计算出你的算法,但如果你把它变得足够困难,那么这将是一段时间。

答案 2 :(得分:0)

您可以使用HTTP基本身份验证,除非您需要更安全的内容。