Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
FinTechLabs.io
3,323 views
Authlete FAPI Implementation Part 2 #fapisum - Japan/UK Open Banking and APIs Summit 2018 - July 24, 2018
By Hideki Ikeda (Authlete)
Internet
◦
Read more
0
Save
Share
Embed
Embed presentation
1
/ 29
2
/ 29
3
/ 29
4
/ 29
5
/ 29
6
/ 29
7
/ 29
8
/ 29
9
/ 29
10
/ 29
11
/ 29
12
/ 29
13
/ 29
14
/ 29
15
/ 29
16
/ 29
17
/ 29
18
/ 29
19
/ 29
20
/ 29
21
/ 29
22
/ 29
23
/ 29
24
/ 29
25
/ 29
26
/ 29
27
/ 29
28
/ 29
29
/ 29
More Related Content
PDF
Open Banking: Lessons from the UK #fapisum - Japan/UK Open Banking and APIs S...
by
FinTechLabs.io
PDF
Trust Frameworks and Open Banking #fapisum - Japan/UK Open Banking and APIs S...
by
FinTechLabs.io
PDF
The Great British API Client Bake Off #fapisum - Japan/UK Open Banking and AP...
by
FinTechLabs.io
PDF
Open Banking: The View from a Japanese Startup (Authlete) #fapisum - Japan/UK...
by
FinTechLabs.io
PDF
FAPI / Open Banking Test Suite #fapisum - Japan/UK Open Banking and APIs Summ...
by
FinTechLabs.io
PDF
Issues towards Open Banking ecosystem and how OpenID Foundation tackles them ...
by
FinTechLabs.io
PDF
Banking API Trends in Japan #fapisum - Japan/UK Open Banking and APIs Summit ...
by
FinTechLabs.io
PDF
FAPI / Open Banking Conformance #fapisum - Japan/UK Open Banking and APIs Sum...
by
FinTechLabs.io
Open Banking: Lessons from the UK #fapisum - Japan/UK Open Banking and APIs S...
by
FinTechLabs.io
Trust Frameworks and Open Banking #fapisum - Japan/UK Open Banking and APIs S...
by
FinTechLabs.io
The Great British API Client Bake Off #fapisum - Japan/UK Open Banking and AP...
by
FinTechLabs.io
Open Banking: The View from a Japanese Startup (Authlete) #fapisum - Japan/UK...
by
FinTechLabs.io
FAPI / Open Banking Test Suite #fapisum - Japan/UK Open Banking and APIs Summ...
by
FinTechLabs.io
Issues towards Open Banking ecosystem and how OpenID Foundation tackles them ...
by
FinTechLabs.io
Banking API Trends in Japan #fapisum - Japan/UK Open Banking and APIs Summit ...
by
FinTechLabs.io
FAPI / Open Banking Conformance #fapisum - Japan/UK Open Banking and APIs Sum...
by
FinTechLabs.io
More from FinTechLabs.io
PDF
Open Banking UK “Identity Product” Internals #fapisum - Japan/UK Open Banking...
by
FinTechLabs.io
PDF
Open Banking for Developers #fapisum - Japan/UK Open Banking and APIs Summit ...
by
FinTechLabs.io
PDF
Authlete FAPI Implementation Part 1 #fapisum - Japan/UK Open Banking and APIs...
by
FinTechLabs.io
PDF
Basics: OAuth and OpenID Connect #fapisum - Japan/UK Open Banking and APIs Su...
by
FinTechLabs.io
PDF
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
by
FinTechLabs.io
PDF
Trends in Banking APIs #fapisum - Japan/UK Open Banking and APIs Summit 2018 ...
by
FinTechLabs.io
Open Banking UK “Identity Product” Internals #fapisum - Japan/UK Open Banking...
by
FinTechLabs.io
Open Banking for Developers #fapisum - Japan/UK Open Banking and APIs Summit ...
by
FinTechLabs.io
Authlete FAPI Implementation Part 1 #fapisum - Japan/UK Open Banking and APIs...
by
FinTechLabs.io
Basics: OAuth and OpenID Connect #fapisum - Japan/UK Open Banking and APIs Su...
by
FinTechLabs.io
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
by
FinTechLabs.io
Trends in Banking APIs #fapisum - Japan/UK Open Banking and APIs Summit 2018 ...
by
FinTechLabs.io
Authlete FAPI Implementation Part 2 #fapisum - Japan/UK Open Banking and APIs Summit 2018 - July 24, 2018
1.
認可サーバーの FAPI 対応に関して Authlete Hideki Ikeda ©
2018 Authlete, Inc. 1
2.
Agenda • Read Only
と Read and Write の判定方法 • リクエストオブジェクトのパラメーターチェック • Authlete 2.0 © 2018 Authlete, Inc. 2
3.
Agenda • Read Only
と Read and Write の判定方法 • リクエストオブジェクトのパラメーターチェック • Authlete 2.0 © 2018 Authlete, Inc. 3
4.
FAPI 仕様群 Part 1:
Read Only API Security Profile Part 2: Read and Write API Security Profile Part 3: Open Data API Part 4: Protected Data API and Schema - Read only Part 5: Protected Data API and Schema - Read and Write 認可サーバーを 実装する上で重要 © 2018 Authlete, Inc. 4
5.
Part 1: Read
Only API Security Profile 5.2.2. Authorization server • コンフィデンシャルクライアントのサポートが必須 • パブリッククライアントに対して PKCE の実施が必須 • 認可リクエストに redirect_uri パラメーターが必須 etc... Part 2: Read and Write API Security Profile 5.2.2. Authorization server (Part 1 の事項に加えて) • リクエストオブジェクトのサポートが必須 • response type は “code id_token” もしくは “code id_token token” でなければならない • Holder-of-key のメカニズムとして OAUTB あるいは MTLS のサポートが必須 etc... Read Only と Read and Write で認可サーバーの振る舞いが異なる © 2018 Authlete, Inc. 5
6.
リクエスト 認可サーバー (FAPI 対応済) このリクエストは Read
Only の仕様に従って処理? それとも Read and Write の仕 様に従って処理? クライアントアプリ © 2018 Authlete, Inc. 6
7.
Q: 認可サーバーは Read
Only なのか Read and Write なのかをどう判定するの か? 仕様書には特に明記されていない スコープを利用して判定する! © 2018 Authlete, Inc. 7
8.
スコープに属性 (key-value) を紐づけておく read_account key
value fapi r … 口座情報を読み取るためのスコープ スコープの属性群 © 2018 Authlete, Inc. 8 FAPI Read Only に 対応するものとする
9.
認可サーバー (FAPI 対応済) 1. read_account
スコープが “fapi : r“ 属性に紐づくと判る 2. “fapi : r“ 属性は Read Only に対 応すると判る 3. このリクエストを Read Only の 仕様に従って処理する クライアントアプリ 認可リクエスト https://example.com/authorization ?response_type=code+id_token &client_id=123456789 &scope=openid+read_account … © 2018 Authlete, Inc. 9
10.
Authlete でのスコープの属性定義 属性のキー 属性の値
対応するケース fapi r FAPI Read Only fapi rw FAPI Read and Write 上記以外の場合 OpenID Connect の authentication リクエスト © 2018 Authlete, Inc. 10
11.
Agenda • Read Only
と Read and Write の判定方法 • リクエストオブジェクトのパラメーターチェック • Authlete 2.0 © 2018 Authlete, Inc. 11
12.
FAPI - Part
2: Read and Write API Security Profile 5.2.2 Authorization server … In addition, the authorization server, for the write operation, 10. shall require that all parameters are present inside the signed request object; 「全てのパラメーターが署名されたリクエストオブジェクト内に存在する」 ということを認可サーバーは要求するものとする © 2018 Authlete, Inc. 12
13.
https://example.com/authorization ?response_type=code+id_token &client_id=123456789 &scope=openid &request=eyJhbGciOiJFUzI… … 認可リクエスト { "response_type": "code id_token", "client_id":
"123456789", "scope": "openid", … } リクエストオブジェクトをデコードして 得られる JSON リクエストオブジェクトの中を覗いて 各リクエストパラメーターの名前と値が合致することを 文字列比較でチェック! 検証: 全てのパラメーターがリクエストオブジェクト内に存在する © 2018 Authlete, Inc. 13
14.
本当にそれでいいの? © 2018 Authlete,
Inc. 14
15.
https://example.com/authorization ?response_type=code+id_token &client_id=123456789 &scope=openid &request=eyJhbGciOiJFUzI… &claims=%7B%22key1%22%3A% 22value1%22%2C%22key2%22% 3A%22value2%22%7D%0D%0A … 認可リクエスト {"key1":"value1","key2":"value2"} デコード 二つの JSON が等しいかどうかを 文字列比較でチェック??? { "response_type":
"code id_token", "client_id": "123456789", "scope": "openid", "claims": {"key1":"value1","key2":"value2"} … } リクエストオブジェクトをデコードして 得られる JSON © 2018 Authlete, Inc. 15
16.
Bad case1: スペースが入ってたら {"key1":"value1","key2":"value2"}
{"key1":"value1”, "key2":"value2”} 等しい JSON と判定すべきだが 文字列比較では異なる値としてみなされてしまう © 2018 Authlete, Inc. 16
17.
Bad case2: 列挙順序が異なっていたら {"key1":"value1","key2":"value2"}
{"key2":"value2”,"key1":"value1”} 等しい JSON と判定すべきだが 文字列比較では異なる値としてみなされてしまう © 2018 Authlete, Inc. 17
18.
じゃあどうやるの? © 2018 Authlete,
Inc. 18
19.
{"key1":"value1","key2":"value2"} key1:value1 子ノード key2:value2 子ノード 親ノード ダイジェスト オブジェクトに マッピング 比較 key1:value1 子ノード key2:value2 子ノード 親ノード ノードをキーで 並び替え {"key2":"value2","key1":"value1"} key2:value2 子ノード key1:value1 子ノード 親ノード ダイジェスト オブジェクトに マッピング key1:value1 子ノード key2:value2 子ノード 親ノード ノードをキーで 並び替え © 2018 Authlete,
Inc. 19
20.
FAPI に関する実装を振り返って • 悩むのが多かったのは仕様書に書かれていない部分 •
今回提示した方法が唯一の正解というわけではないの で参考程度に © 2018 Authlete, Inc. 20
21.
Agenda • Read Only
と Read and Write の判定方法 • リクエストオブジェクトのパラメーターチェック • Authlete 2.0 © 2018 Authlete, Inc. 21
22.
✓BaaS (Backend as
a Service)として利用可能であり 導入・運用が容易 ✓OAuth 2.0 / OIDC関連仕様を網羅した実装 ✓ユーザーからのフィードバックに基づいて 仕様の先を行く機能群を実装 ✓関連仕様の専門家集団が設計・運用 © 2018 Authlete, Inc. OAuth/OIDC実装者の課題洞察から誕生した 「認可サーバ構築用APIサービス」 22
23.
© 2018 Authlete,
Inc. ワールドワイドに多数の利用実績 & 有力企業様も活用 採用実績例 コンシューマーIAMソリューション 「Uni-ID Libra」の認可エンジンとして採用 ユーザープロファイル(地域別) Grand Prize Winner ヘルスケアサービス「ルナルナ」等で採用 API 公開基盤「Resonatex」 に採用 銀行APIの認可基盤として採用 FinTech企業との連携PoCにおいて活用 IoTプラットフォームにて採用 各種サービスの認可サーバとして採用 IBM 賞 受賞歴 49% 21% 14% 12% 3% 1% Japan North America Europe Asia Central/South America Africa 23
24.
Authlete 2.0 新機能 New!
FAPI モード © 2018 Authlete, Inc. 24
25.
Authlete 2.0 新機能 New!
スコープ属性管理機能 © 2018 Authlete, Inc. 25
26.
Authlete 2.0 新機能 New!
新規クライアント認証方式の追加 © 2018 Authlete, Inc. 26
27.
Authlete 2.0 新機能 New!
PKI 証明書チェーン検証機能 © 2018 Authlete, Inc. 27
28.
Authlete 2.0 新機能 •
その他便利な API の新規追加, etc… © 2018 Authlete, Inc. 28
29.
Thank you. © 2018
Authlete, Inc. 29