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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
てらら
July 19, 2024
Technology
0
600
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
てらら
July 19, 2024
Tweet
Share
More Decks by てらら
See All by てらら
Webの「ID連携」から、自律型AIの「権限管理」へ —— OIDF-J活動紹介とIdentity Management for Agentic AI
terara
0
130
freeeにおけるOAuth_OIDCの活用とAuthleteへの移行
terara
2
710
ID連携基盤のマイクロサービス移行プラクティス(freee技術の日)
terara
0
11k
Other Decks in Technology
See All in Technology
How to install a gem
indirect
0
1.9k
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
270
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
220
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
600
OPENLOGI Company Profile for engineer
hr01
1
61k
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
260
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
170
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
160
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
8
6.1k
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
210
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
140
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Building an army of robots
kneath
306
46k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How to Talk to Developers About Accessibility
jct
2
160
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
300
Become a Pro
speakerdeck
PRO
31
5.9k
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さんに⾞庫の鍵渡していいの? おけぺこー 鍵の受け渡し書と家主との契約証明です 鍵の受け渡し書と 家主との契約証明 不動産証明書 ⾞庫の鍵 あんた、不動産会社と契約した てららさんやったんかー。 不動産会社から貰った契約証明を持っ てうちの契約も済ましとくわ。 知らない⼈として来てみる
検証結果: 昔は⾞が通れるけど、 最近の不動産会社はしっかりしている