サーバーでの認証やその後の API 呼び出しに、通常はブラウザーで使用されるネイティブ モバイル アプリケーションに Cookie/セッションを使用してはならない理由はありますか?
明確化: モバイル クライアントでの事実上の認証方法は、OAuth/XAuth などのトークン ベースのシステムのようです。従来のブラウザの方法では十分でないのはなぜですか?
サーバーでの認証やその後の API 呼び出しに、通常はブラウザーで使用されるネイティブ モバイル アプリケーションに Cookie/セッションを使用してはならない理由はありますか?
明確化: モバイル クライアントでの事実上の認証方法は、OAuth/XAuth などのトークン ベースのシステムのようです。従来のブラウザの方法では十分でないのはなぜですか?
これはアプリケーションによって異なります (より正確には、脅威のシナリオです)。
最も一般的な脅威のいくつかは次のとおりです - 盗聴 (-> 暗号化する必要があります) - 中間者 (-> 相手を認証する必要があります) - ...あなたのものは何ですか? (あなたのクッキーストアはどれくらい安全ですか....)
Cookie は最初、認証に成功したことの証明としてトークンを保持するだけです。Cookie が十分に長く有効であるか、トランスポートが暗号化されていない場合、いつか誰かが発見する可能性が高くなります...
さらに、最初に最も重要な SSL について、どのような追加のセキュリティ対策が実施されているかを考慮する必要があります。
認証方法 (クライアントがログオンするために必要な資格情報) は何ですか? PPK インフラストラクチャに基づく認証を使用する可能性はありますか、それとも通信は「アドホック」ですか?
編集
に関して。OpenAuthへ:私がプロトコルを理解している限り、その主な関心事は認証委任です。別の ID に代わって特定のタスクを実行することをエージェントに許可するシナリオ。このようにして、資格情報を Web 全体に散らばることはありません。OpenAuth を導入している場合、クライアントはプロトコルを直接使用することもできます。では、わざわざ別のものを追加する必要はありません。しかし、OpenAuth は、直接クライアントのシナリオでは、トークンがデバイスで利用可能になり、それに応じて保護する必要があるため (Cookie で行う必要があるように)、セキュリティの問題が再び発生することを明示的に述べています。