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
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールが...
Search
てらら
July 19, 2024
Technology
0
530
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
てらら
July 19, 2024
Tweet
Share
More Decks by てらら
See All by てらら
freeeにおけるOAuth_OIDCの活用とAuthleteへの移行
terara
1
520
ID連携基盤のマイクロサービス移行プラクティス(freee技術の日)
terara
0
7.2k
Other Decks in Technology
See All in Technology
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
190
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
280
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.7k
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
210
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
120
怖くない!はじめてのClaude Code
shinya337
0
400
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
130
FOSS4G 2025 KANSAI QGISで点群データをいろいろしてみた
kou_kita
0
400
AI専用のリンターを作る #yumemi_patch
bengo4com
5
4.3k
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
470
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
1
220
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
6
300
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Docker and Python
trallard
44
3.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
For a Future-Friendly Web
brad_frost
179
9.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Building Adaptive Systems
keathley
43
2.7k
Side Projects
sachag
455
42k
Transcript
「単なる OAuth 2.0 を認証に使うと、車が通れる ほどのどでかいセキュリティー・ホールができる」 のか検証してみた
車はカーシェア派 てらら プロフィール画像の トリミング⽅法
The problem with OAuth for Authentication. | Thread Safe (2012-01-29
John Bradley著) 単なる OAuth 2.0 を認証に使うと、⾞が通れるほどのどでかいセキュリティー‧ホールができる (Nat著) 今⽇話すこと
本当に⾞が通れるの?
親の顔よりも⾒たシーケンス(implicit flow) UA Client AZ RS 連携開始 認可リクエストURL リダイレクト 本⼈確認
& Clientへのアクセス権限許可 おけぺこー access_token access_token access_token
家と⾞に置き換えてみる UA Client AZ RS 家主 家 中古⾞ 販売店 不動産会社
access_token ⾞庫の鍵
家と⾞に置き換えてみる 家主 中古⾞販売店 A 不動産会社 家 家の駐⾞場に⾞置 きたい うちの店舗の証明書や ⾞庫の鍵くれ
⾞屋の証明書持ってきたんで⾞庫の鍵くれ 中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー ほな⾞庫の鍵や ⾞庫の鍵 ⾞庫開けて⾞⼊れるでー
おや…?中古車販売店Aさんの様子が…? 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置 きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ
中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー ほな⾞庫の鍵や ⾞庫の鍵 ⾞庫開けて⾞⼊れるでー 中古⾞販売店Bはんに鍵渡したろ!
中古車販売店Bはんに鍵を渡してみるテスト 中古⾞販売店A 中古⾞販売店B 不動産会社 家主の家 家の駐⾞場に⾞置 きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ
中古⾞販売店Bさんに⾞庫の鍵渡していいの? おけぺこー ほな中古⾞販売店Aさんの⾞庫の鍵や 家主の⾞庫の鍵 ⾞庫開けて⾞⼊れるでー 中古⾞販売店B「中古⾞販売店Aさんの⾞庫だ と思っていたのに、知らない家主さんの⾞庫 だった件」
結果 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置 きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ
中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー ほな⾞庫の鍵や ⾞庫の鍵 ⾞庫開けて⾞⼊れるでー
Q.E.D.
親の顔よりも見たシーケンス(Authz code flow) 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置 きたい うちの店舗の証明書や
⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ 中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー 鍵の受け渡し書を渡しといて 鍵の受け渡し書 鍵の受け渡し書 ⾞庫の鍵 中古⾞販売店Aさんに直接鍵渡す からね
親の顔よりも見たシーケンス(Authz code flow + state) 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置
きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ 中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー pass付き鍵の受け渡し書を渡しといて pass付き鍵の受け渡し書 鍵の受け渡し書 ⾞庫の鍵 証明書に秘密の⾔葉 付けとくから後で返してね 秘密の⾔葉検証するぞ
親の顔よりも見たシーケンス(Authz code flow + PKCE) 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置
きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ 中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー 鍵の受け渡し書を渡しといて 鍵の受け渡し書 鍵の受け渡し書と パスワード ⾞庫の鍵 証明書に不動産会社さん⽤のパ スワード付けなあかんなった このパスワードは確かに中古⾞ 販売店Aさんやな
親の顔よりも見たシーケンス(PAR、JAR、RAR) 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置 きたい 紹介状渡してくれ ⾞屋から紹介状持ってきたっす 中古⾞販売店Aさんに⾞庫の鍵1本と予備にも
う1本渡していいの? 事前に紹介状書いてもらうのがPAR 依頼内容を検証できるのがJAR 家主さんの⾞庫の鍵くれ 依頼内容は署名付きっす 家主さん⽤の紹介状や おけぺこー 鍵の受け渡し書を渡しといて 中古⾞販売店Aが家主へのリクエスト内 容を細かく指定できるのがRAR
親の顔よりも見たシーケンス(Authz code flow + DPoP) 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置
きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ 中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー 鍵の受け渡し書書を渡しといて 鍵の受け渡し書 鍵の受け渡し書 + OTP登録 ⾞庫の鍵 ⾞庫の鍵を使う際にワンタイム パスワードを付与せないかん なった(公開鍵の例えむずい) 所有者の検証ができるように なった ⾞庫の鍵 + OTP
車庫の鍵だけで済めば良いけど… 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置 きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ
中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー ほな⾞庫の鍵や ⾞庫の鍵 ⾞庫開けて⾞⼊れるでー なんなら家の鍵も渡していい? って聞かれているケースもある (必要以上の権限要求)
そもそもここまで 家主を当⼈認証していないよね
最初のシーケンスに立ち返ると 家主 中古⾞販売店A 不動産会社 家 家の駐⾞場に⾞置 きたい うちの店舗の証明書や ⾞庫の鍵くれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ
中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー ほな⾞庫の鍵や ⾞庫の鍵 ⾞庫開けて⾞⼊れるでー ここまで、中古⾞販売店Aさんと 家主は契約済みの状態だった なので家主のこと ⾊々知ってます
親の顔よりも見たシーケンス(OIDC) 家主 中古⾞販売店A 不動産会社 家 不動産で家買ったから ⾞置きたいのよね うちの店舗の証明書や 不動産会社に⾞庫の鍵くれ⾔ってくれ ⾞屋の証明書持ってきたんで⾞庫の鍵くれ
中古⾞販売店Aさんに⾞庫の鍵渡していいの? おけぺこー 鍵の受け渡し書と家主との契約証明です 鍵の受け渡し書と 家主との契約証明 不動産証明書 ⾞庫の鍵 あんた、不動産会社と契約した てららさんやったんかー。 不動産会社から貰った契約証明を持っ てうちの契約も済ましとくわ。 知らない⼈として来てみる
検証結果: 昔は⾞が通れるけど、 最近の不動産会社はしっかりしている