OAuth徹底入門 セキュアな認可システムを適用するための原則と実践

目次

第1部 はじめの一歩

1OAuth2.0とは何か?そして、なぜ気にかけるべきなのか?

1.1 OAuth2.0とは何か?

1.2 古き悪しき手法 ~クレデンシャルの共有~

1.3 アクセス権の委譲

1.4 OAuth2.0 ~良い点と悪い点、そして酷い点~

1.5 OAuth2.0ではないものは何か?

1.6 まとめ

 

2 OAuthダンス ~OAuthの構成要素間の相互作用~

2.1 OAuth2.0プロトコルの概要:トークンの取得と使用

2.2 OAuth2.0における認可付与の詳細

2.3 クライアント、認可サーバー、リソース所有者、保護対象リソース

2.4 トークン、スコープ、認可付与

2.5 OAuthの構成要素間のやり取り

2.6 まとめ

 

第2部 OAuth2.0環境の構築

3 シンプルなOAuthクライアントの構築

3.0 認可サーバーへのOAuthクライアントの登録

3.0 認可コードによる付与方式を使ったトークンの取得

3.3 保護対象リソースへのトークンの仕様

3.4 アクセス・トークンのリフレッシュ

3.5 まとめ

 

4 シンプルなOAuthの保護対象リソースの構築

4.1 HTTPリクエストからのOAuthトークンの解析

4.2 データストアにあるトークンとの比較

4.3 トークンの情報をもとにしたリソースの提供

4.4 まとめ

 

5 シンプルなOAuthの認可サーバーの構築

5.1 OAuthクライアントの登録管理

5.2 クライアントの認可

5.3 トークンの実行

5.4 リフレッシュ・トークンのサポートの追加

5.5 スコープのサポートの追加

5.6 まとめ

 

6 実際の環境におけるOAuth2.0

6.1 認可における付与方式

6.2 クライアントの種類

6.3 まとめ

 

第3部 OAuth2.0の実装と脆弱性

7 よく狙われるクライアントの脆弱性

7.1 一般的なクライアントのセキュリティ

7.2 クライアントに対するCSRF攻撃

7.3 クライアント・クレデンシャルの不当な取得

7.4 リダイレクトURIの登録

7.5 認可コードの不正な取得

7.6 トークンの不正な取得

7.7 ネイティブ・アプリケーションでのベスト・プラクティス

7.8 まとめ

 

8 よく狙われる保護対象リソースの脆弱性

8.1 保護対象リソースの脆弱性とはどのようなものなのか?

8.2 保護対象リソースのエンドポイントの設計

8.3 トークンのリプレイ攻撃

8.4 まとめ

 

9 よく狙われる認可サーバーの脆弱性

9.1 一般的なセキュリティ

9.2 セッションの乗っ取り

9.3 リダイレクトURIの不正操作

9.4 クライアントのなりすまし

9.5 オープン・リダイレクトURIによる脆弱性

9.6 まとめ

 

10 よく狙われるOAuthトークンの脆弱性

10.1 Bearerトークンとは何か

10.2 Bearerトークンの使用に関するリスクと考慮点

10.3 どのようにBearerトークンを保護するのか

10.4 認可コード

10.5 まとめ

 

第4部 さらなるOAuthの活用

11 OAuthトークン

11.1 OAuthにおけるトークンとは何か?

11.2 JWT(JSON Web Token)

11.3 JOSE(JSON Object Signing and Encryption)

11.4 トークン・イントロスペクション(Token Introspection)

11.5 トークンの取消(Token Revocation)

11.6 OAuthトークンのライフサイクル

11.7 まとめ

 

12 動的クライアント登録

12.1 どのようにサーバーがクライアントのことを知るのか?

12.2 実行時におけるクライアント登録

12.3 クライアント・メタデータ

12.4 動的な登録が行われたクライアントの管理

12.5 まとめ

 

13 OAuth2.0を使ったユーザー認証

13.1 なぜ、OAuth2.0は認証プロトコルではないのか?

13.2 OAuthと認証プロトコルとの関連付け

13.3 OAuth2.0ではどのように認証を使うのか?

13.4 認証にOAuth2.0を使用する際に陥りやすい落とし穴

13.5 OpenID Connect

13.6 シンプルなOpenID Connectシステムの構築

13.7 まとめ

 

14 OAuth2.0を使うプロトコルとプロファイル

14.1 UMA(User Managed Access)

14.2 HEART(HEAlth Relationship Trust)

14.3 iGov(international Government assurance)

14.4 まとめ

 

15 Bearer トークンの次にくるもの

15.1 なぜBearerトークン以上のものが必要なのか

15.2 所有証明(Proof of possession:PoP)トークン

15.3 所有証明(PoP)トークンのサポートに関する実装

15.4 TLSトークン・バインディング

15.5 まとめ

 

16 まとめと結論

16.1 正しいツール

16.2 重要な決定を行う事

16.3 さらに広がるエコシステム

16.4 コミュニティ

16.5 OAuthの未来

16.6 まとめ

エンジニアが学ぶ金融システムの「知識」と「技術」

Excelビジネスデータ分析 徹底活用ガイド(Excel 2019/2016/2013対応)

関連記事

  1. 人と人とのつながりを財産に変える オンラインサロ…

    目次第1章 オンラインサロンとは?1-1 オンライン…

  2. テックネイティブ・カンパニー ~デジタル時代を生…

    目次第1章 テクノロジーから世の中を変えるビジネスを生み出す…

  3. ドローンを作ろう! 飛ばそう! [第2版]

    目次第0章 ドローンはなぜ飛ぶ?0‐1 ドローンにつ…

  4. 運用設計の教科書 ~現場で困らないITサービスマ…

    目次1章 運用設計とは1.1 運用と運用設計…

  5. 図解まるわかり セキュリティのしくみ

    目次第1章 セキュリティの基本的な考え方 ~分類して考える~…

  6. ソースコードで体感するネットワークの仕組み ~手…

    第1章 本書で扱うプロトコル1-1   ネットワークプロトコ…

  7. クラウドゲームをつくる技術 ――マルチプレイゲー…

    目次第0章 レンダリング再入門0.1 ゲームプログラ…

  8. やりたいことが今すぐわかる 逆引きGit入門

    目次Chapter0 はじめに0-1 この本について…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

タグクラウド

PAGE TOP