9

この質問は何度も出てきましたが、私は答えを見つけていません。OAUTH 2 仕様と別のセキュリティ「考慮事項」ドキュメントを読みましたが、まだ何かが曖昧です。

状況は次のとおりです。RESTful ベースの Web サービスがモバイル アプリケーションによってアクセスされています。私は、サーバー リソース (RESTful サービスの作成者およびホスト) と承認機関 (ユーザーの ID とパスワードを保存し、ID を検証する) の両方です。サード パーティ企業は、私のサービスを使用するモバイル アプリケーションを作成します。OAuth 2.0 を使用して、ユーザーのユーザー ID とパスワードを検証し、トークンを発行しています。https による TLS が使用されます。

署名されたメッセージを含むノンスは、リプレイ攻撃を防ぐために一般的に使用されますが、私が理解しているように、メッセージに署名するには共有シークレットが必要なため、モバイル アプリケーションでは機能しません。モバイル アプリに保存されているシークレット (メッセージに署名できるようにするもの) は、シークレットではなくなります。したがって、ナンスは使用できません。

そのため、構成可能な一定期間後に有効期限が切れ、「リフレッシュ トークン」でリフレッシュできるセッション トークンがあります。

私の質問は次のとおりです: TLS が無効になった場合 (例: ユーザーが携帯電話をプロキシ サーバーに接続し、プロキシの証明書をインストールするほど愚かであり、プロキシ サーバーの所有者が暗号化されていないトラフィックを読み取れるようにする)、何が妨げになりますか?ハッカーが有効なセッション トークン (まだ有効な間) を使用してリクエストを再生したり、さらに悪いことに、更新トークンを使用して一度に何時間もセッションを持続させて、新しいセッション トークンを継続的に取得したりすることはありませんか?

4

1 に答える 1