Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
そのAPIはセキュアですか?
Search
RyuSA
January 20, 2021
Technology
850
2
Share
そのAPIはセキュアですか?
Financial Grade な API のセキュリティ
#webapilt
RyuSA
January 20, 2021
More Decks by RyuSA
See All by RyuSA
Java屋だってOperatorが作りたい!
ryusa
1
610
Visual Studio Codeとコンテナでいい感じのRe:View執筆環境
ryusa
1
1.6k
JavaScriptと歩くポリシーエンジン jsPolicy
ryusa
1
610
TextAlive App APIと夢見る新しいUX
ryusa
1
450
Gitlab Operatorと夢見るGitlab自動化の旅
ryusa
2
1.1k
AccessPoint Operator on Raspberry Pi
ryusa
1
1.2k
Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 -
ryusa
2
920
「L3以下は魔法で動いている!」と言いながらiptablesとkube-proxyを読んでみた話
ryusa
1
170
「〇〇完全に理解したったww」から始めるエンジニア生活
ryusa
2
4.5k
Other Decks in Technology
See All in Technology
Strands Agents超入門
kintotechdev
1
150
Datadog 認定試験の概要と対策
uechishingo
0
200
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
190
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
250
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
140
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
190
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
630
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.7k
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
450
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
130
layerx-fde-practices
cipepser
6
2.9k
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
A better future with KSS
kneath
240
18k
It's Worth the Effort
3n
188
29k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
560
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Accessibility Awareness
sabderemane
1
130
YesSQL, Process and Tooling at Scale
rocio
174
15k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
Transcript
そのAPIはセキュアですか? Financial Grade な API のセキュリティ RyuSA
RyuSA Financial Service Engineer Java & SpringBoot / Typescript &
React Docker / Kubernetes : RyuSA : ryusa_eng
全国銀行協会より オープンAPI ≠ OpenAPI (Swagger) なんだぜ、ググラビリティがあかん >
たぶんこんな世界になる……?
※注 あくまでも登壇者の妄想です < サービスしてちょ まいどー > < Aくんの口座情報教えてー あの……焼肉屋さんが…… >
< 口座情報教えていいですよー < はいどうぞ
知ってる! これ、OAuth2.0で実装できる!
落ち着け、OAuth2.0はシルバーバレットにあらず
• OAuth2.0はリソース制御のための「フレームワーク」 • OAuth2.0で認可を実装した ≠ セキュアなAPI • SNSの認可に要求されるセキュリティレベル ≠ 銀行や証券の認可に要求されるセキュリティレベル
• 近年はオープンAPIも叫ばれており、金融向けのセキュアな認可の整備が急がれている • 一方で「セキュアな認証認可」をどこまでやるべきかのガイドラインが必要 そして究極のセキュリティ「APIを公開しない」が生まれる 認可に困ったらOAuth2.0に頼ろうとしてない?
Financial Grade API 略して”FAPI” 読み方は「ふぁぴ」だって、かわいいね >
• FinTechサービスにOAuthプロファイルを導入するためのガイドライン • Part1/Part2/Part3の3部作で構成されており「ReadOnly API」「Read&Write API」 などについてそれぞれ実装すべき項目が記載されている • 金融に限らず、高いセキュリティが要求される認可システムの管理者・実装者は参照す べきドキュメント
• チェックリスト方式になっている • 実装すべきこと、設定すべきことが一覧化 • たまに「実装すべきでない」ことも書いてある • CIS Benchmarkのような感じ FAPIは”OAuth2.0実装のガイドライン”
• Part1 (Read Only) • 認可サーバは LoA 2 相当のユーザ認証を実装しなければならない •
ClientはResource Ownerとのセッション中はredirect_uriを保存し、認可レスポン スを受け取った際のredirect_uriと比較しなければならない(5.2.3) • Native Appはカスタムスキーマによるリダイレクトを実装してはいけない(7.5) • HTTPSによるリダイレクトを利用しましょう • Part2 (Read & Write) • 認可サーバは LoA 3 相当のユーザ認証を実装しなければならない • ClientはHolder-of-Key Tokenと実装しなければならない • OAuth 2.0 Token Binding か mTLSかで実装しましょう 具体例
• オープンAPI という世界とその認可のガイドラインFAPI • みなさんの身近に迫ってきています • 「認可システムを作る / 設計する」ということがあれば、FAPIを覗いてみては? •
「あ、この設定した方がいいかも」等の思わぬ発見があると思います • セキュリティレベルをビジネスKPIに沿って決定 • 焼肉食べたい • コロナで外出・外食がめっきり減ってしまって、正直口元が少しさびしい…… まとめ