FAPI 1.0 Advanced Profile
FAPI 1.0 Advanced Profile は、決済や高額取引など高リスクな金融 API 向けのセキュリティプロファイルです。
目次
第1部: 概要編
Advanced Profile とは?
Advanced Profile は、Baseline Profile の要件に加えて、より強力なセキュリティ対策を要求するプロファイルです。
FAPI 1.0 Advanced の追加要件:
Baseline:
✓ PKCE
✓ state
✓ nonce
✓ 機密クライアント推奨
Advanced(追加):
+ private_key_jwt または mTLS 必須
+ Request Object 必須
+ s_hash / c_hash 検証
+ JARM または Hybrid Flow + ID Token 検証
+ Sender-Constrained Access Tokens
なぜ Advanced Profile が必要なのか?
背景と歴史
2016年頃、オープンバンキング規制が本格化する中で、読み取り専用API(Baseline)だけでなく、**書き込みAPI(決済、送金等)**にも対応する必要が出てきました。しかし、Baselineレベルのセキュリティでは以下のリスクに対処できませんでした:
| リスク | Baseline の限界 | Advanced の解決策 |
|---|---|---|
| 認可リクエストの改ざん | URL パラメータは改ざん可能 | Request Object(署名付きJWT)で保護 |
| 認可レスポンスの改ざん | code と state は保護されない | JARM で JWT として保護 |
| トークン盗難 | Bearer トークンは誰でも使用可能 | mTLS でトークンをクライアントにバインド |
| Mix-Up 攻撃 | 複数ASの環境で混乱の可能性 | iss パラメータと ID Token で検証 |
FAPI 1.0 Advanced は 2019年に Final 仕様として承認され、現在、世界中の決済APIで採用されています。