この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 10415|答える: 0

モバイルおよびデスクトップのOAuth 2.0セキュリティ分析およびCodeVerifierメカニズム

[リンクをコピー]
掲載地 2020/11/28 20:51:48 | | | |
デスクトップおよびモバイルアプリはアプリ内に埋め込まれたブラウザで、OAuth 2.0全体のプロセスを完了するのを支援します

その過程は図に示されています



OAuth2.0 web
1) 指定されたWeb redirectUriにauthCodeを返す(このURIはアプリ開発者によって設定)
2) トークンを変更するには、クライアントIDとclientSecretを渡してクライアントの識別を検証する必要があります(アプリケーションのバックエンドサービスで取得)

上記の2点を踏まえて、
1) ウェブアプリのredirectUri検出が無効であるため
2) バックエンドサービスクライアントが存在しないため秘密は安全ではありません
次に遭遇する可能性のある攻撃は、下図のように、悪意のあるアプリケーションがauthCodeを傍受し、AuthorizationServerにメッセージを送ってトークンを取得し、顧客の承認なしに別の公式なアプリケーション承認でトークンを取得することで攻撃の目的を達成する可能性があります。



解決策:

1. クライアントはランダムな文字列コード検証器を生成し、このランダムな文字列を保存します
code_challenge = 変換(code_verifier, [プレーン|S256])
変換メソッドが単純であれば、コードチャレンジはコード検証器と同等です
変換方法がS256の場合、コードチャレンジはコード検証器のSha256ハッシュ値に等しいです
2. 認証コード要求に対してコードチャレンジを持ち込み、コードチャレンジの生成方法を教えてください。 これら2つはサーバーから発行される認可コードに紐づいています
3. 認証コードを取得した後、クライアントは最初に生成されたコード検証器を持ち込み、認証コードをアクセストークンと交換します。 サーバーはバウンド変換メソッドに従ってコード検証器を計算し、計算結果とバウンドコードチャレンジを比較し、一貫性があればアクセストークンを発行します。




先の:.NET/C#はWSDLのXMLファイルからCSファイルを生成します
次に:ASP.NET コア(iii) ActivatorUtilitiesを用いて動的にインスタンスを作成する
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com