2012-09-28 81 views
2

我有以下问题: 我已经明白了如何创建一个iPhone应用程序和web服务器(SSL,HTTPS)之间的安全登录。 我的问题是创建会话令牌后,如何确保如果黑客拦截它,在随后的POST请求中,我从同一用户接收数据?发送POST数据安全地从iPhone

我问这个,因为我将不得不每次发送的请求作出正确的时间会话令牌? (为了能够识别用户)。

我想,以防止多个事情:

  • 会话劫持,其中有人会嗅探用户令牌和使用数据不会改为发送他的数据(如高分或东西)
  • 数据注入通常从我的应用程序发送,如1000.000.000高分(可能的分数,但不容易实现)。

我一直在寻找:

  • UDID
  • 用户代理(如果它从我的应用程序的应用程序名称这不是好不是,黑客实际上都猜测我做这种检查或者以某种方式下载我的php文件吧?)
  • 该应用程序来自AppStore。如果请求来自未经Apple批准的应用,则不正常。我不确定你是否可以测试这个。如果这能起作用,黑客就不得不实际提交一个AppStore并下载它以将错误的数据插入到我的数据库中,我希望没有人花时间。
  • MAC地址。不知道苹果是否允许。 IP不起作用,因为有效的用户可能会更改IP。

从我看到的饼干可以很容易地跟踪,看看里面有什么数据。

也许我不是问正确的问题在这里所以它实际上可能是我怎么能确保我接收到的数据是正确的用户和正确的应用程序?

回答

1

SSL的目的,在你的POST请求是为了防止被拦截运输中的第三方。如果黑客能够进入它,这意味着令牌或者在客户端(根设备),服务器(不安全的应用程序日志记录/调试)上泄露或者破坏了SSL。 (不太可能)

你可以通过捕捉设备UDID(苹果不喜欢这个)或比较源IP进行一些先进的检查,但将成为可疑的安全性提高了不少功夫。

只要确保一切敏感的是SSL,你应该没问题。