SlideShare a Scribd company logo
1 of 49
Copyright© Nomura Research Institute, Ltd. All rights reserved.
FAPI and beyond
よりよいセキュリティのために
Nat Sakimura, Research Fellow, NRI
Chairman, OpenID Foundation
@_nat_en
🌏 https://nat.sakimura.org/
linkedin.com/in/natsakimura
Copyright© Nomura Research Institute, Ltd. All rights reserved.
JWT
JWS
OAuth PKCE
OpenID Connect
Copyright© Nomura Research Institute, Ltd. All rights reserved.
崎村夏彦(Nat Sakimura)
• 著作:
– OpenID Connect Core 1.0
– JSON Web Token [RFC7519]
– JSON Web Signature [7515]
– OAuth PKCE [RFC7636]
– OAuth JAR [IETF Last Call]
– Etc.
• Editor of:
– ISO/IEC 29184 Guidelines for online notice and consent
– ISO/IEC 29100 AMD: Privacy Framework – Amendment 1
– ISO/IEC 27551 Requirements for attribute based
unlinkable entity authentication
– Etc.
• OpenID Foundation 理事長
• Financial API WG議長
• ISO/IEC JTC 1/SC 27/WG5国
内小委員会主査
• WG5〜OECD/SPDEリエゾン
• 野村総合研究所上席研究員
3
• https://www.sakimura.org
• https://nat.sakimura.org
• @_nat_en (English)
• @_nat (日本語)
• https://www.linkedin.com/
in/natsakimura
• https://ja.wikipedia.org/wi
ki/崎村夏彦
Copyright© Nomura Research Institute, Ltd. All rights reserved.
APIセキュリティ
4
Copyright© Nomura Research Institute, Ltd. All rights reserved.
え、OAuth使えばそれで
問題解決なんじゃ?!
Copyright© Nomura Research Institute, Ltd. All rights reserved.
“部品を正しく組み合わせることが
重要だ。#oauth を使えば良いと言う
だけでは解決策になっていない。”
6
-- Mark O’Neill, Gartner
(SOURCE) Photo taken by Nat Sakimura @APIDays on 13th Dec. 2016
@APIDays Paris 2016
モバイルファーストの時代には,
API保護にOAuth 2.0 を使うのは当然だが、
なぜならば…
Copyright© Nomura Research Institute, Ltd. All rights reserved.
OAuth はフレームワークで、
実際に使う前にプロファイル作成が必要
This framework was designed with the clear expectation that
future work will define prescriptive profiles and extensions
necessary to achieve full web-scale interoperability.
“
Copyright© Nomura Research Institute, Ltd. All rights reserved.
一言でOAuthと言って
も、いったいどの仕様
のどのオプションを
使ったら
Copyright© Nomura Research Institute, Ltd. All rights reserved.
必要な中~高レベルのセキュリティを達成す
ることができるのか?
9
資源の価値
環境制御レベルHigh Low
High
Low
ソーシャル共有
閉域網アプリ
ケーション
金融 API
– Read & Write
e.g.,
Basic choices ok.
Bearer token Not OK
Basic choices
NOT OK
金融 API
– Read only
Copyright© Nomura Research Institute, Ltd. All rights reserved.
それに応えるのが
Copyright© Nomura Research Institute, Ltd. All rights reserved.
Financial-
Grade
Financial-Grade API (FAPI) Security Profile
11
Valueoftheresource
Environment control levelHigh Low
High
Low
Social sharing
Closed circuit
Factory
application
e.g.,
Basic choices ok.
No need to satisfy all the security
requirments by OAuth
© 2017 by Nat Sakimura. CC-BY-SA.
Copyright © 2016 Nat Sakimura. All Rights Reserved.
12
II. What is OpenID Foundation
Working Together
12
OpenID FAPI
(Chair)
(Co-Chair)(Co-Chair)
(UK OBIE Liaison)
Liaison Organizations
TC 68
JTC 1/SC 27/WG 5
Nat Sakimura
Tony NadalinAnoop Saxena
fido 2.0 WG Chair
W3C Web Authn WG
Chair
Copyright© Nomura Research Institute, Ltd. All rights reserved.
金融APIのためのプロファイルを作る上で
は、複数の要因を考慮する必要がある。
13
これらの多くはしばしば無視
され、結果として非常に危な
いOAuth 2.0実装を産ん
でいる。
金融機関向けのプロファイ
ルはこれら全てを解決する
必要がある。
• 1クライアント1サーバの前提
• メッセージ認証(要求・応答)
• 送信者認証
• 受信者認証
• 利用者認証
• メッセージ秘匿性
• トークンフィッシング/リプレイ
Copyright© Nomura Research Institute, Ltd. All rights reserved.
パラフレーズ版 BCM*1 原則
14
4 つのクライテリア
(a) ユニークな送信者識別子 (Source Identifier)
(b)プロトコル + バージョン+ メッセージ 識別子
(c) 全actor/rolesの一覧
(d)メッセージの改善検知
Basin, D., Cremers, C., Meier, S.: Provably Repairing the ISO/IEC 9798
Standard for Entity Authentication. Journal of Computer Security - Security and Trust Principles
archive Volume 21 Issue 6, 817-846 (2013)
*1
Copyright© Nomura Research Institute, Ltd. All rights reserved.
RFC6749 OAuth – code grant protocol メッセージs
• Authorization Request
• Authorization Response
• Token Request
• Token Response
• Assume:
– a network attacker (e.g. Browser malware)
– the crypto & TLS are not broken
– pure RFC6749 – Three parties static OAuth 2.0
15
UA
Client AS
Copyright© Nomura Research Institute, Ltd. All rights reserved.
RFC 6749の対応状況
Message Parameters (a) Unique Source
Identifier
(b) Protocol +
version identifier
(c) Full list of
actor/roles
(d) Message
Authentication
Authorization
Request
response type
client id
redirect uri
scope
state
Authorization
Response
code
state
other extension
parameters
Token Request grant type
code
redirect uri
client
credential/client id
.
Token Response access token
token_type
expires_in
refresh_token
others
16
メッセージ種別毎にパラメー
タの組み合わせは異なるの
で、 (b)= Good!
Legend
Required Parameter
Optional Parameter
Recommended Parameter
でも、喜ぶのはそこまでだ!
Copyright© Nomura Research Institute, Ltd. All rights reserved.
RFC 6749の対応状況
Message Parameters (a) Unique Source
Identifier
(b) Protocol +
version identifier
(c) Full list of
actor/roles
(d) Message
Authentication
Authorization
Request
response type
client id
redirect uri
scope
state
Client ID is not
globally unique.
Tampering possible
OK, but it is not
integrity protected
No. No.
Authorization
Response
code
state
other extension
parameters
No source identifier OK, but it is not
integrity protected
No No
Token Request grant type
code
redirect uri
client
credential/client id
Client ID is not
globally unique.
OK (as long as there
is no OAuth 3.0)
No. OK
Token Response access token
token_type
expires_in
refresh_token
others
No source identifier As above No. OK
17
Copyright© Nomura Research Institute, Ltd. All rights reserved.
RFC6749における、発信者(sender)・受信者(receiver)・
メッセージ(message)認証(authentication)の状況
18
送信者認証 受信者認証 メッセージ認証
認可要求 Indirect None None
認可応答 None None None
トークン要求 Weak Good Good
トークン応答 Good Good Good
Copyright© Nomura Research Institute, Ltd. All rights reserved.
19
泣けてくる
Copyright© Nomura Research Institute, Ltd. All rights reserved.
OAuth 2.0 関連のオプション機能とセキュリティレベル
セキュリ
ティ・レベ
ル
機能セット 適用
JWS Authz Req
w/Hybrid Flow
認可要求の保護
Hybrid Flow*1
(confidential
client)
認可応答の保護
Code Flow
(confidential
client)
+ PKCE + MTLS
code injectionへの対応
長期Bearer Tokenの排除
Code Flow
(confidential
client)
クライアント認証
Implicit Flow クライアント認証無し
Plain OAuth Anonymous
*1) stateインジェクションの回避のために、‘s_hash’ を含む。
認証要求・応答の種類とセキュリティ・レベル トークンの種類とセキュリティ・レベル
セキュリ
ティ・レ
ベル
トークンの種類 適用
記名式トークン
(Sender
Constrained
Token)
発行をうけた者しかトー
クン利用不能
持参人トークン
(Bearer Token)
盗難されたトークンも
利用可能
20
Part 1
Part 2
Copyright© Nomura Research Institute, Ltd. All rights reserved.
強化することは可能
Message Parameters (a) Unique Source
Identifier
(b) Protocol +
version identifier
(c) Full list of
actor/roles
(d) Message
Authentication
Authorization
Request
response type
client id
redirect uri
scope
state
Unique redirect URI
+ Client ID
OK (Unique
Parameter List)
(a) + state as the UA
identifier / TBID as
UA identifier
Request signing by
JAR
Authorization
Response
code
state
other extension
parameters
Unique redirect URI OK (Unique
Parameter List)
(a) + client_id + state
as the UA identifier /
TBID as UA identifier
Response signing by
ID Token + s_hash
Token Request grant type
code
redirect uri
client
credential/client id
Unique redirect URI
+ Client ID
OK (Unique
Parameter List)
(a) + state as the UA
identifier / TBID as
UA identifier
TLS Protected
Token Response access token
token_type
expires_in
refresh_token
others
Unique redirect URI OK (Unique
Parameter List)
(a) + client_id + state
as the UA identifier /
TBID as UA identifier
TLS Protected
21
Copyright© Nomura Research Institute, Ltd. All rights reserved.
FAPI RWセキュリティプロファイルで
は、
送信者・受信者・メッセージ認証を
強化
22
送信者認証 受信者認証 メッセージ認証
認可要求 Request Object Request Object Request object
認可応答 Hybrid Flow Hybrid Flow Hybrid Flow
トークン要求 Good Good Good
トークン応答 Good Good Good
Copyright© Nomura Research Institute, Ltd. All rights reserved.
PKCE [RFC7636]
+
JAR [RFCxxxx]
+
Hybrid Flow [OIDC]
+
Sender Constrained Tokens
(MTLS / Token Binding)
23
FAPI
Security
Profile
=
Copyright© Nomura Research Institute, Ltd. All rights reserved.
PKCE: RFC7636
• 認可リクエスト、認可レスポンス、トークンリク
エストを結びつけるための仕組み。
• 1回限りの鍵を認可リクエスト送信時に生成、そ
のハッシュを認可リクエストにつけて送る。
• 認可サーバは、このハッシュとcodeを結びつけ
ておく。
• トークン要求には、生成した鍵をつけて送ること
により、一連のメッセージフローを紐付けること
ができる。
Copyright© Nomura Research Institute, Ltd. All rights reserved.
JAR (JWS Authorization Request)
• 認可リクエストに署名をつけることによ
り、改ざんを検知。
• 公開鍵署名を使うことによって、証拠性
を向上、否認を難しくしている。
Copyright© Nomura Research Institute, Ltd. All rights reserved.
Hybrid Flow
• 認可応答に署名を掛ける方式
(Detatched Signature)
• IDトークンを認可応答に含めて返す。
– このIDトークンはDetached Signatureであ
り、個人を識別するものではないことに注意
– c_hash
– s_hash
Copyright© Nomura Research Institute, Ltd. All rights reserved.
Access Token from the token endpoint
• SHOULD include at_hash in ID Token.
• ID Token signature SHALL be checked
ここまでやると、極めて強い攻撃者を前提にしても、安全であることの形式証明が
できます。
(参考)Pedram Hosseyni (SEC, University of Stuttgart): ”Formal Security Analysis of
the OpenID Financial-grade API”
https://sec.uni-
stuttgart.de/events/osw2019/agenda#talkformal_security_analysis_of_the_openid
_financial-grade_api
Copyright© Nomura Research Institute, Ltd. All rights reserved.
https://sec.uni-
stuttgart.de/_media/events/osw2019/slides/hosseyni_-
_formal-analysis-fapi.pdf
Copyright© Nomura Research Institute, Ltd. All rights reserved.
Sender Constrained Token
• Bearer Token がだれでも使えるのに対して、
Sender Constrained Tokenは、対応する鍵
を持っていないと使えないタイプのトーク
ン
– MTLS https://datatracker.ietf.org/doc/draft-
ietf-oauth-mtls/
– Token Binding
https://tools.ietf.org/html/draft-ietf-oauth-
token-binding-07
Copyright© Nomura Research Institute, Ltd. All rights reserved.
Formally Verified
Copyright© Nomura Research Institute, Ltd. All rights reserved.
It has been adopted by Open Banking UK
31
Copyright© Nomura Research Institute, Ltd. All rights reserved.
32
(出所)https://twitter.com/IdentityMonk/status/1011960862272294912
Copyright© Nomura Research Institute, Ltd. All rights reserved.
(Source) Chris Mitchel, “Banking is now more open”, Identify 2017
(出所) @UKOpenBanking https://twitter.com/UKOpenBanking/status/1017675263243702272
Copyright© Nomura Research Institute, Ltd. All rights reserved.
https://www.zdnet.com/article/australian-big-four-to-align-
their-data-sharing-ducks-ahead-of-open-banking/
Copyright© Nomura Research Institute, Ltd. All rights reserved.
35
https://www.prnewswire.com/news-releases/financial-data-
exchange-openid-foundation-take-step-towards-global-
standard-for-financial-data-sharing-300818210.html
Copyright© Nomura Research Institute, Ltd. All rights reserved.
そのほかにも
• Berlin Group
• STET
• EBA etc. へアウトリーチ
Copyright© Nomura Research Institute, Ltd. All rights reserved.
37
(source) https://www.zenginkyo.or.jp/fileadmin/res/news/news290713_1.pdf
Copyright© Nomura Research Institute, Ltd. All rights reserved.
• 2つのImplementer’s Draft を策定。(近々Updateの予定)
Valueoftheresource
Environment control levelHigh Low
High
Low
Social sharing
Closed circuit
Factory
application
Financial-grade API
– Read & Write
e.g.,
Basic choices ok.
Financial-grade API
– Read only
Copyright© Nomura Research Institute, Ltd. All rights reserved.
これらはリダイレクト・アプローチを採用
• Part 1: Read Only Security Profile
• Part 2: Read and Write Security Profile
39
Redirect
Approach
Decoupled
Approach
Embedded
Approach
Copyright© Nomura Research Institute, Ltd. All rights reserved.
すべての要件に番号がついたチェックリスト形式なの
で、対応のチェックも簡単。
(source) https://bitbucket.org/openid/fapi/src/master/Financial_API_WD_002.md
Copyright© Nomura Research Institute, Ltd. All rights reserved.
暗号要件も絞り込んであるため、安全
かつ相互運用性高く運用可能
(source)
https://bitbucket.org/openid/f
api/src/master/Financial_API_
WD_002.md
Copyright© Nomura Research Institute, Ltd. All rights reserved.
Decoupled アプローチも検討中
• CIBA (client initiated backchannel authentication) profile.
42
Redirect
Approach
Decoupled
Approach
Embedded
Approach
https://bitbucket.org/openid/fapi/src/master/Financial_API_WD_CIBA.md
Copyright© Nomura Research Institute, Ltd. All rights reserved.
Embedded Approachもあるが…
• 第三者にベアラ・クレデンシャルを渡すのは悪い考え。
• アプリケーション・パスワード(別名:アクセストークン)を手動渡し
する方法が良いか?
43
Redirect
Approach
Decoupled
Approach
Embedded
Approach
Copyright© Nomura Research Institute, Ltd. All rights reserved.
その他にも…
44
• E.g. The
OpenBanking
OpenID
Dynamic Client
Registration
Specification
Copyright© Nomura Research Institute, Ltd. All rights reserved.
• Intent registration endpoint
45
Intent Registration EP
Authorization EP
Token EP
ServerPushing the intent,
e.g., to send $1,000 to
Bob’s account
Intent ID
AuthZ Req w/Intent ID
AuthZ Response
Redirect URI
Client
Copyright© Nomura Research Institute, Ltd. All rights reserved.
これらの実装が正しく仕様を実装しているかはど
うしたらわかるでしょうか?
46
Copyright© Nomura Research Institute, Ltd. All rights reserved.
47
(SOURCE) https://openid.net/2019/02/21/openid-certification-
program-expansion-and-fee-update/
Copyright© Nomura Research Institute, Ltd. All rights reserved.
join us at
https://openid.net/wg/fapi/
Copyright© Nomura Research Institute, Ltd. All rights reserved.
@_nat_en (English)
@_nat (Japanese)
🌏 https://nat.sakimura.org/
https://linkedin.com/in/natsakimura
https://nat.sakimura.org/youtube.php
Subscribe!

More Related Content

What's hot

Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるNaohiro Fujie
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsTatsuo Kudo
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景Tatsuo Kudo
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜Yoshiki Nakagawa
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するHitachi, Ltd. OSS Solution Center.
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門土岐 孝平
 
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用Masaru Kurahayashi
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)NTT DATA Technology & Innovation
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法についてAzure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法についてShinya Yamaguchi
 
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WGNat Sakimura
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~Tatsuo Kudo
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Hiroyuki Wada
 

What's hot (20)

Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
 
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
 
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法についてAzure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
 
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
 

Similar to FAPI and beyond - よりよいセキュリティのために

FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FinTechLabs.io
 
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)Yoko TAMADA
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Toru Yamaguchi
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideTatsuo Kudo
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #apiTatsuo Kudo
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key TokenYuichi Nakamura
 
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17Tatsuo Kudo
 
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料オラクルエンジニア通信
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例briscola-tokyo
 
IETF96 Update oauth tokbind
IETF96 Update oauth tokbindIETF96 Update oauth tokbind
IETF96 Update oauth tokbindKaoru Maeda
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションTatsuo Kudo
 
IETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpIETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpKaoru Maeda
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤Masahiro Kiura
 
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Haniyama Wataru
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 ItohHiroki Itoh
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteTatsuo Kudo
 
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説Takashi Yahata
 

Similar to FAPI and beyond - よりよいセキュリティのために (20)

FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
 
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key Token
 
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17
 
Ietf95 http2
Ietf95 http2Ietf95 http2
Ietf95 http2
 
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
 
Iddance2 fido
Iddance2 fidoIddance2 fido
Iddance2 fido
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
IETF96 Update oauth tokbind
IETF96 Update oauth tokbindIETF96 Update oauth tokbind
IETF96 Update oauth tokbind
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
 
IETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpIETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjp
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
 
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 Itoh
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with Authlete
 
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
 

More from Nat Sakimura

OpenID in the Digital ID Landscape: A Perspective From the Past to the Future
OpenID in the Digital ID Landscape: A Perspective From the Past to the FutureOpenID in the Digital ID Landscape: A Perspective From the Past to the Future
OpenID in the Digital ID Landscape: A Perspective From the Past to the FutureNat Sakimura
 
170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English Translation170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English TranslationNat Sakimura
 
Introduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 Updates
Introduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 UpdatesIntroduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 Updates
Introduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 UpdatesNat Sakimura
 
Introduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth ProfileIntroduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth ProfileNat Sakimura
 
ブロックチェーン〜信頼の源泉の民主化のもたらす変革
ブロックチェーン〜信頼の源泉の民主化のもたらす変革ブロックチェーン〜信頼の源泉の民主化のもたらす変革
ブロックチェーン〜信頼の源泉の民主化のもたらす変革Nat Sakimura
 
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...Nat Sakimura
 
OpenID Foundation FAPI WG: June 2017 Update
OpenID Foundation FAPI WG: June 2017 UpdateOpenID Foundation FAPI WG: June 2017 Update
OpenID Foundation FAPI WG: June 2017 UpdateNat Sakimura
 
API Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WGAPI Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WGNat Sakimura
 
Financial Grade OAuth & OpenID Connect
Financial Grade OAuth & OpenID ConnectFinancial Grade OAuth & OpenID Connect
Financial Grade OAuth & OpenID ConnectNat Sakimura
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGNat Sakimura
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGNat Sakimura
 
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴールNat Sakimura
 
OAuth SPOP @ IETF 91
OAuth SPOP @ IETF 91OAuth SPOP @ IETF 91
OAuth SPOP @ IETF 91Nat Sakimura
 
Oidc how it solves your problems
Oidc how it solves your problemsOidc how it solves your problems
Oidc how it solves your problemsNat Sakimura
 
Transient client secret extension
Transient client secret extensionTransient client secret extension
Transient client secret extensionNat Sakimura
 
Introduction to OpenID Connect
Introduction to OpenID Connect Introduction to OpenID Connect
Introduction to OpenID Connect Nat Sakimura
 
Nc 30 sakimura-distribution_0604
Nc 30 sakimura-distribution_0604Nc 30 sakimura-distribution_0604
Nc 30 sakimura-distribution_0604Nat Sakimura
 
Smartphone Native Application OP
Smartphone Native Application OPSmartphone Native Application OP
Smartphone Native Application OPNat Sakimura
 
Open idとcyber空間
Open idとcyber空間Open idとcyber空間
Open idとcyber空間Nat Sakimura
 
サイバー空間上の信頼フレームワークとパーソナルデータ経済
サイバー空間上の信頼フレームワークとパーソナルデータ経済サイバー空間上の信頼フレームワークとパーソナルデータ経済
サイバー空間上の信頼フレームワークとパーソナルデータ経済Nat Sakimura
 

More from Nat Sakimura (20)

OpenID in the Digital ID Landscape: A Perspective From the Past to the Future
OpenID in the Digital ID Landscape: A Perspective From the Past to the FutureOpenID in the Digital ID Landscape: A Perspective From the Past to the Future
OpenID in the Digital ID Landscape: A Perspective From the Past to the Future
 
170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English Translation170724 JP/UK Open Banking Summit English Translation
170724 JP/UK Open Banking Summit English Translation
 
Introduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 Updates
Introduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 UpdatesIntroduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 Updates
Introduction to 
the FAPI Read & Write OAuth Profile - Jan 2018 Updates
 
Introduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth ProfileIntroduction to the FAPI Read & Write OAuth Profile
Introduction to the FAPI Read & Write OAuth Profile
 
ブロックチェーン〜信頼の源泉の民主化のもたらす変革
ブロックチェーン〜信頼の源泉の民主化のもたらす変革ブロックチェーン〜信頼の源泉の民主化のもたらす変革
ブロックチェーン〜信頼の源泉の民主化のもたらす変革
 
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
 
OpenID Foundation FAPI WG: June 2017 Update
OpenID Foundation FAPI WG: June 2017 UpdateOpenID Foundation FAPI WG: June 2017 Update
OpenID Foundation FAPI WG: June 2017 Update
 
API Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WGAPI Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WG
 
Financial Grade OAuth & OpenID Connect
Financial Grade OAuth & OpenID ConnectFinancial Grade OAuth & OpenID Connect
Financial Grade OAuth & OpenID Connect
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WG
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WG
 
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
車輪は丸くなったか?~デジタル・アイデンティティの標準化動向とそのゴール
 
OAuth SPOP @ IETF 91
OAuth SPOP @ IETF 91OAuth SPOP @ IETF 91
OAuth SPOP @ IETF 91
 
Oidc how it solves your problems
Oidc how it solves your problemsOidc how it solves your problems
Oidc how it solves your problems
 
Transient client secret extension
Transient client secret extensionTransient client secret extension
Transient client secret extension
 
Introduction to OpenID Connect
Introduction to OpenID Connect Introduction to OpenID Connect
Introduction to OpenID Connect
 
Nc 30 sakimura-distribution_0604
Nc 30 sakimura-distribution_0604Nc 30 sakimura-distribution_0604
Nc 30 sakimura-distribution_0604
 
Smartphone Native Application OP
Smartphone Native Application OPSmartphone Native Application OP
Smartphone Native Application OP
 
Open idとcyber空間
Open idとcyber空間Open idとcyber空間
Open idとcyber空間
 
サイバー空間上の信頼フレームワークとパーソナルデータ経済
サイバー空間上の信頼フレームワークとパーソナルデータ経済サイバー空間上の信頼フレームワークとパーソナルデータ経済
サイバー空間上の信頼フレームワークとパーソナルデータ経済
 

FAPI and beyond - よりよいセキュリティのために

  • 1. Copyright© Nomura Research Institute, Ltd. All rights reserved. FAPI and beyond よりよいセキュリティのために Nat Sakimura, Research Fellow, NRI Chairman, OpenID Foundation @_nat_en 🌏 https://nat.sakimura.org/ linkedin.com/in/natsakimura
  • 2. Copyright© Nomura Research Institute, Ltd. All rights reserved. JWT JWS OAuth PKCE OpenID Connect
  • 3. Copyright© Nomura Research Institute, Ltd. All rights reserved. 崎村夏彦(Nat Sakimura) • 著作: – OpenID Connect Core 1.0 – JSON Web Token [RFC7519] – JSON Web Signature [7515] – OAuth PKCE [RFC7636] – OAuth JAR [IETF Last Call] – Etc. • Editor of: – ISO/IEC 29184 Guidelines for online notice and consent – ISO/IEC 29100 AMD: Privacy Framework – Amendment 1 – ISO/IEC 27551 Requirements for attribute based unlinkable entity authentication – Etc. • OpenID Foundation 理事長 • Financial API WG議長 • ISO/IEC JTC 1/SC 27/WG5国 内小委員会主査 • WG5〜OECD/SPDEリエゾン • 野村総合研究所上席研究員 3 • https://www.sakimura.org • https://nat.sakimura.org • @_nat_en (English) • @_nat (日本語) • https://www.linkedin.com/ in/natsakimura • https://ja.wikipedia.org/wi ki/崎村夏彦
  • 4. Copyright© Nomura Research Institute, Ltd. All rights reserved. APIセキュリティ 4
  • 5. Copyright© Nomura Research Institute, Ltd. All rights reserved. え、OAuth使えばそれで 問題解決なんじゃ?!
  • 6. Copyright© Nomura Research Institute, Ltd. All rights reserved. “部品を正しく組み合わせることが 重要だ。#oauth を使えば良いと言う だけでは解決策になっていない。” 6 -- Mark O’Neill, Gartner (SOURCE) Photo taken by Nat Sakimura @APIDays on 13th Dec. 2016 @APIDays Paris 2016 モバイルファーストの時代には, API保護にOAuth 2.0 を使うのは当然だが、 なぜならば…
  • 7. Copyright© Nomura Research Institute, Ltd. All rights reserved. OAuth はフレームワークで、 実際に使う前にプロファイル作成が必要 This framework was designed with the clear expectation that future work will define prescriptive profiles and extensions necessary to achieve full web-scale interoperability. “
  • 8. Copyright© Nomura Research Institute, Ltd. All rights reserved. 一言でOAuthと言って も、いったいどの仕様 のどのオプションを 使ったら
  • 9. Copyright© Nomura Research Institute, Ltd. All rights reserved. 必要な中~高レベルのセキュリティを達成す ることができるのか? 9 資源の価値 環境制御レベルHigh Low High Low ソーシャル共有 閉域網アプリ ケーション 金融 API – Read & Write e.g., Basic choices ok. Bearer token Not OK Basic choices NOT OK 金融 API – Read only
  • 10. Copyright© Nomura Research Institute, Ltd. All rights reserved. それに応えるのが
  • 11. Copyright© Nomura Research Institute, Ltd. All rights reserved. Financial- Grade Financial-Grade API (FAPI) Security Profile 11 Valueoftheresource Environment control levelHigh Low High Low Social sharing Closed circuit Factory application e.g., Basic choices ok. No need to satisfy all the security requirments by OAuth
  • 12. © 2017 by Nat Sakimura. CC-BY-SA. Copyright © 2016 Nat Sakimura. All Rights Reserved. 12 II. What is OpenID Foundation Working Together 12 OpenID FAPI (Chair) (Co-Chair)(Co-Chair) (UK OBIE Liaison) Liaison Organizations TC 68 JTC 1/SC 27/WG 5 Nat Sakimura Tony NadalinAnoop Saxena fido 2.0 WG Chair W3C Web Authn WG Chair
  • 13. Copyright© Nomura Research Institute, Ltd. All rights reserved. 金融APIのためのプロファイルを作る上で は、複数の要因を考慮する必要がある。 13 これらの多くはしばしば無視 され、結果として非常に危な いOAuth 2.0実装を産ん でいる。 金融機関向けのプロファイ ルはこれら全てを解決する 必要がある。 • 1クライアント1サーバの前提 • メッセージ認証(要求・応答) • 送信者認証 • 受信者認証 • 利用者認証 • メッセージ秘匿性 • トークンフィッシング/リプレイ
  • 14. Copyright© Nomura Research Institute, Ltd. All rights reserved. パラフレーズ版 BCM*1 原則 14 4 つのクライテリア (a) ユニークな送信者識別子 (Source Identifier) (b)プロトコル + バージョン+ メッセージ 識別子 (c) 全actor/rolesの一覧 (d)メッセージの改善検知 Basin, D., Cremers, C., Meier, S.: Provably Repairing the ISO/IEC 9798 Standard for Entity Authentication. Journal of Computer Security - Security and Trust Principles archive Volume 21 Issue 6, 817-846 (2013) *1
  • 15. Copyright© Nomura Research Institute, Ltd. All rights reserved. RFC6749 OAuth – code grant protocol メッセージs • Authorization Request • Authorization Response • Token Request • Token Response • Assume: – a network attacker (e.g. Browser malware) – the crypto & TLS are not broken – pure RFC6749 – Three parties static OAuth 2.0 15 UA Client AS
  • 16. Copyright© Nomura Research Institute, Ltd. All rights reserved. RFC 6749の対応状況 Message Parameters (a) Unique Source Identifier (b) Protocol + version identifier (c) Full list of actor/roles (d) Message Authentication Authorization Request response type client id redirect uri scope state Authorization Response code state other extension parameters Token Request grant type code redirect uri client credential/client id . Token Response access token token_type expires_in refresh_token others 16 メッセージ種別毎にパラメー タの組み合わせは異なるの で、 (b)= Good! Legend Required Parameter Optional Parameter Recommended Parameter でも、喜ぶのはそこまでだ!
  • 17. Copyright© Nomura Research Institute, Ltd. All rights reserved. RFC 6749の対応状況 Message Parameters (a) Unique Source Identifier (b) Protocol + version identifier (c) Full list of actor/roles (d) Message Authentication Authorization Request response type client id redirect uri scope state Client ID is not globally unique. Tampering possible OK, but it is not integrity protected No. No. Authorization Response code state other extension parameters No source identifier OK, but it is not integrity protected No No Token Request grant type code redirect uri client credential/client id Client ID is not globally unique. OK (as long as there is no OAuth 3.0) No. OK Token Response access token token_type expires_in refresh_token others No source identifier As above No. OK 17
  • 18. Copyright© Nomura Research Institute, Ltd. All rights reserved. RFC6749における、発信者(sender)・受信者(receiver)・ メッセージ(message)認証(authentication)の状況 18 送信者認証 受信者認証 メッセージ認証 認可要求 Indirect None None 認可応答 None None None トークン要求 Weak Good Good トークン応答 Good Good Good
  • 19. Copyright© Nomura Research Institute, Ltd. All rights reserved. 19 泣けてくる
  • 20. Copyright© Nomura Research Institute, Ltd. All rights reserved. OAuth 2.0 関連のオプション機能とセキュリティレベル セキュリ ティ・レベ ル 機能セット 適用 JWS Authz Req w/Hybrid Flow 認可要求の保護 Hybrid Flow*1 (confidential client) 認可応答の保護 Code Flow (confidential client) + PKCE + MTLS code injectionへの対応 長期Bearer Tokenの排除 Code Flow (confidential client) クライアント認証 Implicit Flow クライアント認証無し Plain OAuth Anonymous *1) stateインジェクションの回避のために、‘s_hash’ を含む。 認証要求・応答の種類とセキュリティ・レベル トークンの種類とセキュリティ・レベル セキュリ ティ・レ ベル トークンの種類 適用 記名式トークン (Sender Constrained Token) 発行をうけた者しかトー クン利用不能 持参人トークン (Bearer Token) 盗難されたトークンも 利用可能 20 Part 1 Part 2
  • 21. Copyright© Nomura Research Institute, Ltd. All rights reserved. 強化することは可能 Message Parameters (a) Unique Source Identifier (b) Protocol + version identifier (c) Full list of actor/roles (d) Message Authentication Authorization Request response type client id redirect uri scope state Unique redirect URI + Client ID OK (Unique Parameter List) (a) + state as the UA identifier / TBID as UA identifier Request signing by JAR Authorization Response code state other extension parameters Unique redirect URI OK (Unique Parameter List) (a) + client_id + state as the UA identifier / TBID as UA identifier Response signing by ID Token + s_hash Token Request grant type code redirect uri client credential/client id Unique redirect URI + Client ID OK (Unique Parameter List) (a) + state as the UA identifier / TBID as UA identifier TLS Protected Token Response access token token_type expires_in refresh_token others Unique redirect URI OK (Unique Parameter List) (a) + client_id + state as the UA identifier / TBID as UA identifier TLS Protected 21
  • 22. Copyright© Nomura Research Institute, Ltd. All rights reserved. FAPI RWセキュリティプロファイルで は、 送信者・受信者・メッセージ認証を 強化 22 送信者認証 受信者認証 メッセージ認証 認可要求 Request Object Request Object Request object 認可応答 Hybrid Flow Hybrid Flow Hybrid Flow トークン要求 Good Good Good トークン応答 Good Good Good
  • 23. Copyright© Nomura Research Institute, Ltd. All rights reserved. PKCE [RFC7636] + JAR [RFCxxxx] + Hybrid Flow [OIDC] + Sender Constrained Tokens (MTLS / Token Binding) 23 FAPI Security Profile =
  • 24. Copyright© Nomura Research Institute, Ltd. All rights reserved. PKCE: RFC7636 • 認可リクエスト、認可レスポンス、トークンリク エストを結びつけるための仕組み。 • 1回限りの鍵を認可リクエスト送信時に生成、そ のハッシュを認可リクエストにつけて送る。 • 認可サーバは、このハッシュとcodeを結びつけ ておく。 • トークン要求には、生成した鍵をつけて送ること により、一連のメッセージフローを紐付けること ができる。
  • 25. Copyright© Nomura Research Institute, Ltd. All rights reserved. JAR (JWS Authorization Request) • 認可リクエストに署名をつけることによ り、改ざんを検知。 • 公開鍵署名を使うことによって、証拠性 を向上、否認を難しくしている。
  • 26. Copyright© Nomura Research Institute, Ltd. All rights reserved. Hybrid Flow • 認可応答に署名を掛ける方式 (Detatched Signature) • IDトークンを認可応答に含めて返す。 – このIDトークンはDetached Signatureであ り、個人を識別するものではないことに注意 – c_hash – s_hash
  • 27. Copyright© Nomura Research Institute, Ltd. All rights reserved. Access Token from the token endpoint • SHOULD include at_hash in ID Token. • ID Token signature SHALL be checked ここまでやると、極めて強い攻撃者を前提にしても、安全であることの形式証明が できます。 (参考)Pedram Hosseyni (SEC, University of Stuttgart): ”Formal Security Analysis of the OpenID Financial-grade API” https://sec.uni- stuttgart.de/events/osw2019/agenda#talkformal_security_analysis_of_the_openid _financial-grade_api
  • 28. Copyright© Nomura Research Institute, Ltd. All rights reserved. https://sec.uni- stuttgart.de/_media/events/osw2019/slides/hosseyni_- _formal-analysis-fapi.pdf
  • 29. Copyright© Nomura Research Institute, Ltd. All rights reserved. Sender Constrained Token • Bearer Token がだれでも使えるのに対して、 Sender Constrained Tokenは、対応する鍵 を持っていないと使えないタイプのトーク ン – MTLS https://datatracker.ietf.org/doc/draft- ietf-oauth-mtls/ – Token Binding https://tools.ietf.org/html/draft-ietf-oauth- token-binding-07
  • 30. Copyright© Nomura Research Institute, Ltd. All rights reserved. Formally Verified
  • 31. Copyright© Nomura Research Institute, Ltd. All rights reserved. It has been adopted by Open Banking UK 31
  • 32. Copyright© Nomura Research Institute, Ltd. All rights reserved. 32 (出所)https://twitter.com/IdentityMonk/status/1011960862272294912
  • 33. Copyright© Nomura Research Institute, Ltd. All rights reserved. (Source) Chris Mitchel, “Banking is now more open”, Identify 2017 (出所) @UKOpenBanking https://twitter.com/UKOpenBanking/status/1017675263243702272
  • 34. Copyright© Nomura Research Institute, Ltd. All rights reserved. https://www.zdnet.com/article/australian-big-four-to-align- their-data-sharing-ducks-ahead-of-open-banking/
  • 35. Copyright© Nomura Research Institute, Ltd. All rights reserved. 35 https://www.prnewswire.com/news-releases/financial-data- exchange-openid-foundation-take-step-towards-global- standard-for-financial-data-sharing-300818210.html
  • 36. Copyright© Nomura Research Institute, Ltd. All rights reserved. そのほかにも • Berlin Group • STET • EBA etc. へアウトリーチ
  • 37. Copyright© Nomura Research Institute, Ltd. All rights reserved. 37 (source) https://www.zenginkyo.or.jp/fileadmin/res/news/news290713_1.pdf
  • 38. Copyright© Nomura Research Institute, Ltd. All rights reserved. • 2つのImplementer’s Draft を策定。(近々Updateの予定) Valueoftheresource Environment control levelHigh Low High Low Social sharing Closed circuit Factory application Financial-grade API – Read & Write e.g., Basic choices ok. Financial-grade API – Read only
  • 39. Copyright© Nomura Research Institute, Ltd. All rights reserved. これらはリダイレクト・アプローチを採用 • Part 1: Read Only Security Profile • Part 2: Read and Write Security Profile 39 Redirect Approach Decoupled Approach Embedded Approach
  • 40. Copyright© Nomura Research Institute, Ltd. All rights reserved. すべての要件に番号がついたチェックリスト形式なの で、対応のチェックも簡単。 (source) https://bitbucket.org/openid/fapi/src/master/Financial_API_WD_002.md
  • 41. Copyright© Nomura Research Institute, Ltd. All rights reserved. 暗号要件も絞り込んであるため、安全 かつ相互運用性高く運用可能 (source) https://bitbucket.org/openid/f api/src/master/Financial_API_ WD_002.md
  • 42. Copyright© Nomura Research Institute, Ltd. All rights reserved. Decoupled アプローチも検討中 • CIBA (client initiated backchannel authentication) profile. 42 Redirect Approach Decoupled Approach Embedded Approach https://bitbucket.org/openid/fapi/src/master/Financial_API_WD_CIBA.md
  • 43. Copyright© Nomura Research Institute, Ltd. All rights reserved. Embedded Approachもあるが… • 第三者にベアラ・クレデンシャルを渡すのは悪い考え。 • アプリケーション・パスワード(別名:アクセストークン)を手動渡し する方法が良いか? 43 Redirect Approach Decoupled Approach Embedded Approach
  • 44. Copyright© Nomura Research Institute, Ltd. All rights reserved. その他にも… 44 • E.g. The OpenBanking OpenID Dynamic Client Registration Specification
  • 45. Copyright© Nomura Research Institute, Ltd. All rights reserved. • Intent registration endpoint 45 Intent Registration EP Authorization EP Token EP ServerPushing the intent, e.g., to send $1,000 to Bob’s account Intent ID AuthZ Req w/Intent ID AuthZ Response Redirect URI Client
  • 46. Copyright© Nomura Research Institute, Ltd. All rights reserved. これらの実装が正しく仕様を実装しているかはど うしたらわかるでしょうか? 46
  • 47. Copyright© Nomura Research Institute, Ltd. All rights reserved. 47 (SOURCE) https://openid.net/2019/02/21/openid-certification- program-expansion-and-fee-update/
  • 48. Copyright© Nomura Research Institute, Ltd. All rights reserved. join us at https://openid.net/wg/fapi/
  • 49. Copyright© Nomura Research Institute, Ltd. All rights reserved. @_nat_en (English) @_nat (Japanese) 🌏 https://nat.sakimura.org/ https://linkedin.com/in/natsakimura https://nat.sakimura.org/youtube.php Subscribe!

Editor's Notes

  1. Nat Sakimura Research Fellow  Nomura Research Institute, Ltd. In the mobile-first world that we live, OAuth 2.0 as in RFC6749 and RFC6750 is the de-facto method for protecting your APIs. It is very simple to use while it is a vast improvement compared to API Key or shared password approach as far as security properties are concerned. However, it has given up some security properties as well. This session explains where the weakness of the basic OAuth exists by considering the source, destination, and message authentication as well as considering the recommendation based on the formal security analysis of ISO/IEC 9798 Standard for Entity Authentication by Basin, Cremers, and Meler. Then, explains how it can be solved using JWT Authorization Request and Sender Constrained Tokens based on the Financial API Security profile developed by OpenID Foundation’s FAPI WG and deployed in UK banks and other financial institutions elsewhere in the world. Such profile should be very useful not only for financial transactions but for other higher risk APIs.
  2. Hi, I am Nat Sakimura. It is an honor to be able to present in front of the distinguished audience, and I am very thankful to the APIDays committee for letting it happen. I am a Research Fellow at Nomura Research Institute, Chairman of the Board of the OpenID Foundation, and Chair of the Financial API WG among other things. If you are in API security field, you probably heard about me because I am an author of OpenID Connect, JSON Web Token, JSON Web Signature, OAuth PKCE, etc. OK. Now, here is the first Proposition to be discussed today:
  3. The answer is of course “NO”. Like Mark O’Neill of Gartner spoke yesterday, Building blocks needs to be combined correctly. Just saying #oauth does not do the job.
  4. And, to create such profile for Financial APIs, there are multiple factors that you actually have to take care of, many of which are often ignored and results in awfully insecure OAuth 2.0 implementations.