OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens (Draft 15)に関するざっくりとしたまとめ
2 Mutual TLS for OAuth Client Authentication
- OAuthのクライアント認証にTLSのクライアント認証を使う。
- クライアント証明書は、CA局を利用する方法(2.1 PKI Mutual TLS Method)と、自己署名証明書を事前登録する方法(2.2 Self-Signed Certificate Mutual TLS Method)がある。
3 Mutual TLS Client Certificat-Bound Access Tokens
- アクセストークンをTLSクライアント認証で提示された証明書と紐付けて発行し、トークン使用時も同じ証明書でのTLSクライアント認証を課すことでトークンを利用者を制限する。
- トークンと証明書の紐づけは、証明書のハッシュ値をアクセストークンに埋め込む方法(3.1 JWT Certificate Thumbprint Confirmation Method)とToken Introspectionで取得できるようにする方法(3.2. Confirmation Method for Token Introspection)がある。
4 Public Clients and Certificate-Bound Tokens
- Public Clientに対して、TLSクライアント認証をOAuthクライアント認証ではなく、トークンと証明書の紐づけのみに使うことができる。
- クライアントは自己署名証明書を作成しTLSクライアント認証で提示する。認可サーバーはクライアント証明書のCA局の検証はせずにトークンにのみ紐づける。