与服务器的安全通信 - 解决方案

时间:2013-09-08 14:43:14

标签: ios rest mobile ssl oauth

我目前面临安全服务器通信问题。我是一名移动开发人员,我尝试设计REST(JSON输出)。为了解这个问题,让我向您展示我的应用程序:

  1. 首次登录应用程序的用户
  2. 然后可以下载一些个人信息
  3. 当用户在应用程序中移动时,我希望始终与服务器通信。
  4. 所以我认为登录&密码将通过SSL发送(对吗?错误?这是第一个问题,也许我应该选择OAuth?),但那又怎么样?我收到登录&密码,存储到我的钥匙串,任何其他服务应该为所有用户开放?我认为这首SSL在第一次请求时只是安全性,而不是真正的安全性。

    到目前为止,让我告诉你我的REST:

    登录

    请求:

    https://mywebsiteforrest.com/getin

    然后我放入标题username=root&password=pass

    响应:

    {
       "status":100, /*This status tell me that everything is OK */
       "userKey":"432fdsf732fds7fstsw87frd7s5fd",
       "timestamp":1378651048,
       "userId: 342
    }
    

    以后的请求:

    请求:

    https://mywebsiteforrest.com/getmydata

    然后我放入标题userId=342&key=432fdsf732fds7fstsw87frd7s5fd

    或许我应该这样问: https://mywebsiteforrest.com/getmydata/342&key=432fdsf732fds7fstsw87frd7s5fd

    我正在寻找建议是安全的还是(就像我之前所说的)相似的安全性。我知道你讨厌这个问题,但是 - 这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我建议使用标题。

标头是纯加密的。通过网络'Plaintext'的唯一信息与SSL设置和D / H(http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)密钥交换有关。此交换的设计方式是不向任何第三方或未经授权的人提供任何有用信息,一旦发生,所有数据都将被加密。