「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
Financial API ---> Financial-grade APIと名称が変わった。
を考慮し、
以下のような、金融 API の標準仕様群の策定作業が進められている。
Part | Title | 説明 |
1 | Read Only API Security Profile | 参照系 API(向けの)セキュリティー要件 |
2 | Read & Write API Security Profile | 更新系 API(向けの)セキュリティー要件 |
3 | Open Data API | 公開データ API 仕様 |
4 | Protected Data API and Schema - Read only | 参照系 API(向けの)仕様 |
5 | Protected Data API and Schema - Read and Write | 更新系 API(向けの)仕様 |
セキュアなOAuthプロファイルで保護されたREST / JSONデータモデルを開発することにより、
金融サービスの具体的な実装ガイドラインを提供することを目的としている。
下記に関する勧告を提供(チェックリスト)
銀行・証券口座およびクレジットカード口座を考慮対象とする。
OAuth2.0はフレームワークなので用途に合わせたセキュリティ・プロファイルが必要。
金融機関API向けのプロファイルは 全てを解決する必要がある。
各種リクエスト・レスポンスの各種パラメタが改ざんされないようにする必要がある。
各種のソース識別子(IF)が一意(ユニーク)。
プロトコル + バージョン + msg識別子などが明確に決められている。
メッセージ自体の認証による、改ざんされていないメッセージの実現。
# | Message | Parameters | (a) Unique Source Identifier (ユニークなソース識別子) | (b) Protocol + version identifier (プロトコル+バージョン識別子) | (c) Full list of actor/roles (人物/役割の完全なリスト) | (d) Message Authentication (改ざんされていないメッセージ) |
1 | Authorization Request | ・response_type ・client_id ・redirect_uri ・scope ・state | Client ID is not globally unique. Tampering possible. (client_idはグローバルに一意ではありません。 改ざん可能です。) | OK, but it is not integrity protected. (しかし、それは完全性保護されていません。) | No. | No. |
2 | Authorization Response | ・code ・state ・other extension parameters | No source identifier ((レスポンス中に)ソース識別子なし。) | |||
3 | Token Request | ・grant_type ・code ・redirect uri ・client_id/client_secret | Client ID is not globally unique. Tampering possible. (client_idはグローバルに一意ではありません。 改ざん可能です。) | OK (as long as there is no OAuth 3.0) (OAuth 3.0が存在しない限り) | No. | OK. |
4 | Token Response | ・access_token ・token_type ・expires_in ・refresh_token others | No source identifier ((レスポンス中に)ソース識別子なし。) |
# | メッセージ | メッセージ送信者の認証 | メッセージ受信者の認証 | メッセージ自体の認証 |
1 | 認可リクエスト | Indirect(間接) | None(なし) | None(なし) |
2 | 認可レスポンス | None(なし) | None(なし) | None(なし) |
3 | アクセストークン・リクエスト | Weak(弱い) | Good(良い) | Good(良い) |
4 | アクセストークン・レスポンス | Good(良い) | Good(良い) | Good(良い) |
Part | セキュリティ・レベル | 機能セット | 適用 |
Part 2 | 高い | JWS Authz Req w / Hybrid Flow | 認可リクエストの保護 強化されたクライアント認証 |
Hybrid Flow (秘密のクライアント) stateインジェクションの回避のために、‘s_hash’ を含む。 | 認可レスポンスの保護 | ||
Part 1 | Code Flow (秘密のクライアント) + PKCE + MTLS | ・code injectionへの対応 ・長期Bearer Tokenの排除 | |
- | Code Flow (秘密のクライアント) | クライアント認証有り | |
- | Implicit Flow | クライアント認証無し | |
- | 低い | Plain OAuth | Anonymous |
# | Message | Parameters | (a) Unique Source Identifier (ユニークなソース識別子) | (b) Protocol + version identifier (プロトコル+バージョン識別子) | (c) Full list of actor/roles (人物/役割の完全なリスト) | (d) Message Authentication (改ざんされていないメッセージ) |
1 | Authorization Request | ・response_type ・client_id ・redirect_uri ・scope ・state | Unique redirect_uri + client_id (ユニークなredirect_uriとclient_id) | OK (Unique Parameter List) (多分、決められていることを意味している) | (a) + state as the UA identifier / TBID as UA identifier | Signing by JWT Secured Authorization Request (JAR) |
2 | Authorization Response | ・code ・state ・other extension parameters | Unique redirect_uri (ユニークなredirect_uri) | (a) + client_id + state as the UA identifier / TBID as UA identifier | Signing by ID Token + s_hash | |
3 | Token Request | ・grant_type ・code ・redirect_uri ・client_id/client_secret | Unique redirect_uri + client_id (ユニークなredirect_uriとclient_id) | OK (Unique Parameter List) (多分、決められていることを意味している) | (a) + state as the UA identifier / TBID as UA identifier | TLS Protected |
4 | Token Response | ・access_token ・token_type ・expires_in ・refresh_token ・others | redirect_uri | (a) + client_id + state as the UA identifier / TBID as UA identifier |
# | メッセージ | 送信者認証 | 受信者認証 | メッセージ認証 |
1 | 認可リクエスト | Request Object | Request Object | Request object |
2 | 認可レスポンス | Hybrid Flow | Hybrid Flow | Hybrid Flow |
3 | アクセストークン・リクエスト | Good | Good | Good |
4 | アクセストークン・レスポンス | Good | Good | Good |
現在Part1, 2がImplementer's Draftであり安定した仕様で、
実装を始めても問題のない状態状態になっている。
UK OBIE(Open Banking Implementation Entity)からの寄付待ち。
NRI、Microsoft、Intuitが中心となり組織されたWG。
http://openid.net/certification/
Tags: :IT国際標準, :認証基盤, :クレームベース認証, :OAuth