iphone - 从 iOS 设备到 Web 服务的签名请求

标签 iphone ios security

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

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

我想我要找的是一个签名的 http 请求。不过,我不确定从哪里开始在客户端或服务器上构建此类支持。

最佳答案

那些 GUID 很大。猜对的机会似乎非常渺茫。我猜要花几千年的时间才能“随机”遇到一个。

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

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

我只需要通过电子邮件向您的一位用户发送我的“超酷新免费游戏”链接,我就搞定了。

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

但是……

客户端 SSL 证书怎么样?

How to use Client Certificate Authentication in iOS App

或签名的 XML 文档?

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

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

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

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

最终,安全的重担落在了您的服务上。

关于iphone - 从 iOS 设备到 Web 服务的签名请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6591168/

相关文章:

iphone - 点击完成时如何在 uipickerview 中获取当前选定的行(有多个选择器)

iphone - 如何将 unsigned int 转换为 NSString?

ios - iOS 上的自定义键盘

python - Pyramid.security 问题 : Double cookies? 不安全的 cookie?过期?

c# - MVC 安全 : ViewModel vs. [Bind()] 注释。两者都需要,还是其中之一就足够了?

ios - Cordova 应用程序 - 在 XCode 上构建失败

iOS - 手机锁定时显示 View

iphone - 您在哪里以编程方式在 UIView 中为 UILabels 设置文本?

ios - 快速更新 pickerView 的 didSelectRow 上的图像

iphone - 我可以将 NSURLCredentialStorage 与数据保护结合使用吗?