0

私は現在、安全なサーバー通信の問題に直面しています。私はモバイル開発者で、REST (JSON 出力) を設計しようとしています。問題を理解するために、私のアプリケーションのフローを示します。

  1. アプリケーションへの最初のユーザー ログイン
  2. その後、個人情報をダウンロードする場合があります
  3. ユーザーがアプリケーション内を移動するとき、私は常にサーバーと通信したいと考えています。

したがって、ログインとパスワードはSSL経由で送信されると思います(正しいですか?間違っていますか?これは質問1です。おそらく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?

私はアドバイスを探しています。それは安全であるか、それとも(前に言ったように)セキュリティのようです。あなたがその質問を嫌っているのは知っていますが、それを行う正しい方法は何ですか?

4

1 に答える 1

0

ヘッダーを使用することをお勧めします。

ヘッダーは完全に暗号化されています。ネットワーク「プレーンテキスト」を通過する唯一の情報は、SSL セットアップと D/H ( http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange ) キー交換に関連しています。この交換は、第三者または許可されていない人に有用な情報を提供しないように設計されており、交換が行われると、すべてのデータが暗号化されます。

于 2013-09-08T16:15:28.037 に答える