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
530
ID連携基盤のマイクロサービス移行プラクティス(freee技術の日)
terara
0
7.4k
Other Decks in Technology
See All in Technology
Ktor + Google Cloud Tasks/PubSub におけるOTel Messaging計装の実践
sansantech
PRO
1
140
20250718_ITSurf_“Bet AI”を支える文化とコストマネジメント
helosshi
1
180
SRE with AI:実践から学ぶ、運用課題解決と未来への展望
yoshiiryo1
1
620
手動からの解放!!Strands Agents で実現する総合テスト自動化
ideaws
2
130
安定した基盤システムのためのライブラリ選定
kakehashi
PRO
3
160
データ駆動経営の道しるべ:プロダクト開発指標の戦略的活用法
ham0215
2
210
組織内、組織間の資産保護に必要なアイデンティティ基盤と関連技術の最新動向
fujie
0
480
セキュアなAI活用のためのLiteLLMの可能性
tk3fftk
1
550
AIを使っていい感じにE2Eテストを書けるようになるまで / Trying to Write Good E2E Tests with AI
katawara
1
420
PHPでResult型やってみよう
higaki_program
0
170
MCPに潜むセキュリティリスクを考えてみる
milix_m
0
190
Autify Company Deck
autifyhq
2
44k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Typedesign – Prime Four
hannesfritz
42
2.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A Tale of Four Properties
chriscoyier
160
23k
It's Worth the Effort
3n
185
28k
Bash Introduction
62gerente
613
210k
Scaling GitHub
holman
460
140k
Agile that works and the tools we love
rasmusluckow
329
21k
Unsuck your backbone
ammeep
671
58k
Building an army of robots
kneath
306
45k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
How to Ace a Technical Interview
jacobian
278
23k
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さんに⾞庫の鍵渡していいの? おけぺこー 鍵の受け渡し書と家主との契約証明です 鍵の受け渡し書と 家主との契約証明 不動産証明書 ⾞庫の鍵 あんた、不動産会社と契約した てららさんやったんかー。 不動産会社から貰った契約証明を持っ てうちの契約も済ましとくわ。 知らない⼈として来てみる
検証結果: 昔は⾞が通れるけど、 最近の不動産会社はしっかりしている