「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>JWTとOAuth2.0#bdaa0ed5]]

* 目次 [#l3592235]
#contents

*概要 [#r41f749f]
-以下の弱点のために、攻撃が可能。
--通信の送信元が認証されていない。
--TLS末端のUserAgent上は保護されないため、~
パラメタが汚染されている可能がある。

-対策として、認可リクエストのパラメタ群を[[JWT]]で送信する。~
(認証要求に署名し、オプションで暗号化できる。)

-これにより、許可要求の機密性、完全性が達成される。

*詳細 [#l71999b4]

**Requestオブジェクト [#vb813dbf]
-[[JWT]]化された認可リクエストのパラメタ群をRequestオブジェクトと呼ぶ。
-Requestオブジェクトは、[[JWS]]で署名し、[[JWE]]で暗号化する。

**Requestオブジェクトの渡し方 [#cf64a89f]
Requestオブジェクトの渡し方には以下の2つの方法がある。

***requestパラメタ [#ye252787]
Requestオブジェクトの値を直接渡す。

***request_uri パラメタ [#lcb4340f]
Requestオブジェクトの場所を伝える。

*実装 [#r8ebe8ae]
***requestパラメタ [#n1b24738]
下記手順でrequestパラメタからRequestオブジェクトを取得する。

-・・・

***request_uriパラメタ [#mae51aa7]
下記手順でrequest_uriパラメタからRequestオブジェクトを取得する。

-・・・

***Requestオブジェクトの復号 [#c69daf29]
下記手順で取得したRequestオブジェクトを複合する。

-Requestオブジェクトの署名・検証(若しくは復号)用の鍵を取得。~
・・・クライアント・メタデータが、
--登録されている場合、~
JWK Setをjwks クライアントメタデータ値から取得。
--登録されていない場合、~
jwks_uriからクライアント・メタデータ(JWK Set)を取得。

-Requestオブジェクトから認可エンドポイントへのパラメタを取り出す。

*参考 [#o4d0aa71]
-The OAuth 2.0 Authorization Framework:~
JWT Secured Authorization Request (JAR)~
https://tools.ietf.org/html/draft-ietf-oauth-jwsreq

----
Tags: [[:認証基盤]], [[:クレームベース認証]], [[:OAuth]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS