确保移动应用程序访问Web服务(本地方法)

时间:2012-01-19 14:44:30

标签: iphone web-services security authentication oauth

我有一个HTTPS WebService需要从Mobile(iPhone)应用程序访问。两者都是由我们开发的。

我们需要确保移动访问此服务。所以我们使用了用户名/密码凭证。

我们知道OAuth,但我们需要一个更简单的身份验证方案。

我们的想法如下:

  1. 移动应用程序向用户/资源所有者显示登录表单。

  2. 资源所有者输入移动应用程序行为的登录凭据。

  3. 移动应用程序通过特殊的WS方法(例如“ValidateLogin”)连接到服务器,该方法将用户名/密码 - 可能是哈希 - 作为输入并返回HTTP Session Id

  4. 移动应用持续HTTP Session Id - 这是服务器端的唯一密钥,可能是安全的? - 与后续请求的服务器(调用业务方法)。

  5. 如果客户端未与服务器通信(例如30分钟),服务器将发送{{3} (移动可能会移除持久的HTTP Session Id以向自己表明他无法再访问服务器资源 - 并且可能会选择这样做如果需要结束与服务器的通信

  6. 的情况
  7. 在这种情况下,移动需要再次使用资源所有者服务器获取新的会话ID并获得对服务器资源的访问权限。


  8. 问题是:

    • 上述步骤是否足以依赖?
    • 从安全角度来看,您如何看待?
    • 您还有其他想法/意见吗?

    EDIT:这是一个HTTPS WebService

1 个答案:

答案 0 :(得分:0)

这个问题非常开放,我认为很难回答那些针对您特定需求的一般性问题。

回答一些具体问题: 如何保护您的应用免受未经授权的客户? 查看SSL和Client side certificates

如何安全地管理用户凭据? 请查看iOS中的Keychain API