「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次  †
概要  †
Bearer TokenのJWT化  †
- OAuth 2.0ではAccess Tokenまで仕様化されていないのでJWTアサーションを利用可能。
 
- Access Tokenとして、JWTアサーションを使用すれば、
改竄、置換、CSRF(XSRF)などを検出できるようになるため、
Implicitグラント種別でもより安全に利用できるようになる。 
- ClientやResource Serverでtokenの署名検証が可能になる。
 
- また、発行者のAuthZ Server(iss:issuer)と
発行対象のClient(aud:audience=クライアント識別子)を特定できる。 
- これにより、トークン置き換え攻撃も防ぐことができる。
 
- ポイントは、このAccess Tokenは、ASP.NET Identityなどの
特定テクノロジを使用したResource Serverでなくても利用可能であるという点。 
この方式は、AzureADのOAuthでも利用されている模様。
参考  †
クライアント認証  †
列挙してみたが、ほぼ全てに、クライアント認証の要素が入っている。
- Client Credentialsグラント種別の代替フロー
 
- 強化されたクライアント認証を使用してaccess_tokenを取得する。
 
- Access TokenをJWTアサーションで発行する。
 
- Proof of Possessionなので、クライアント認証を行う。
 
- 認可リクエストのパラメタをJWTで送信する機能。
 
- これにより、許可要求の機密性、完全性が達成される。
 
OAuth 2.0 Mutual TLS?  †
- クライアント認証の追加メカニズムを提供。
 
- X.509クライアント証明書を利用する。
 
- 以下の2つの相補的メカニズムを提供する。
 
tokenをClient上の非対称キー・ペアにバインドする。
Tags: :認証基盤, :ASP.NET Identity, :OAuth