【问题标题】:Signed request from iOS device to web service从 iOS 设备到 Web 服务的签名请求
【发布时间】:2011-09-29 06:56:05
【问题描述】:

我们希望使用 UDID 针对 iOS 应用程序的服务器端 Web 服务对用户进行身份验证。我的一个担忧是,用户将尝试通过使用随机 UDID 值进行身份验证尝试来强制访问另一个用户的帐户。我可以处理诸如限制他们的请求之类的事情,但是我很好奇是否有办法发出“签名”请求。

意思是,有没有一种方法可以证明具有 UDID foo 的客户端是从 UDID foo 所属的设备生成和发送的,而不是一些可以访问 curl 和 ruby​​ 脚本多次调用我的服务的随机用户?

我认为我正在寻找的是一个签名的 http 请求。不过,我不确定从哪里开始在客户端或服务器上构建这种支持。

【问题讨论】:

    标签: iphone ios security


    【解决方案1】:

    这些 GUID 很大。猜到一个的机会似乎极其渺茫。我猜想“随机”遇到一个需要几千年。

    几乎可以肯定,有人嗅探现有设备或使用他们对用户设备的访问权来获取它的风险更大。

    老实说,鉴于获取用户的 udid 是多么容易,如果 Apple 不建议不要以这种方式使用它,我会感到惊讶。

    我只需通过电子邮件向您的一位用户发送我的“酷炫的新免费游戏”链接,bam我已经拿到了 udid。

    或者,坐在咖啡店里,嗅探 WiFi 流量 - 等待某个广告赞助的游戏通过无线发送 udid 以进行跟踪。

    但是……

    客户端 SSL 证书怎么样?

    How to use Client Certificate Authentication in iOS App

    或签名的 XML 文档?

    http://en.wikipedia.org/wiki/XML_Signature

    老实说,在这方面你能做的只有这么多。

    您永远无法阻止一个真正坚定的坏人破解您的 .ipa 并提取客户端 ssl 证书 - 或任何其他您必须阻止某人的机制。

    我只是说 - 由于您正在分发应用程序(这不是在互联网上点对点运行的内部应用程序),因此实际上没有办法真正保护客户端(移动)端代码- 因此,无法真正确保只有经过授权的客户才会向您的服务发出请求。

    归根结底,安全负担落在了您的服务上。

    【讨论】:

      【解决方案2】:

      你应该试试HTTP authentication

      【讨论】:

        猜你喜欢
        • 2012-07-16
        • 1970-01-01
        • 2020-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-07
        • 2011-11-01
        相关资源
        最近更新 更多