私の目的は、ユーザーがログインする(iOS)アプリを用意し、成功したログインで、暗号化されたWebサービス(未定)を介して追加情報にアクセスすることです。
研究から、diffie-hellman鍵交換の暗号化技術、およびHMACと秘密鍵(diffie-hellmanから)を使用した「署名」を理解しています。
さらなる調査の結果、私はHTTPSに到達し、傍受を防止しました。
しかし、ログインデータがアプリとサーバー間で保護されていることを確認するために、HTTPS接続を介して何をする必要があるかについては、少し混乱しています。
または
暗号化でどこに線を引くかわかりません。
[〜#〜] https [〜#〜]は、情報を送受信するのに十分なセキュリティ以上のものです。HTTPSが自動的に処理するため、独自のセキュリティの実装を開始しないでください。それは提供します:
モバイルアプリケーションを作成する際の最大の注意点は、証明書の例外を受け取ったときのアプリケーションの動作を確認することです。
パスワードのハッシュに関しては、パスワードはサーバーに送信するものになるため、あまり役に立ちません。パスワードをハッシュしても、リプレイ攻撃やスニッフィングは依然として可能です。幸い、HTTPSを使用しているため、接続を介して送信されているものを表示することはできません。
アクセストークンに関しては、他のWebアプリケーションで使用するのと同じように、セッショントークンを使用できます。 RESTfulサービスが必要な場合は、リクエストごとにユーザー名とパスワードを送信する必要があります。