Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
そのQRコード、安全ですか? / Cross Device Flow
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ritou
August 22, 2024
Technology
720
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そのQRコード、安全ですか? / Cross Device Flow
ritou
August 22, 2024
More Decks by ritou
See All by ritou
FAPIの立ち位置はどう変わる? ~多様化するユースケースを支えるセキュアAPIエコノミー~
ritou
1
60
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
670
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
870
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
2
1.5k
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
2
7.6k
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
12
9.4k
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 + α
ritou
1
210
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 @ AXIES 2024
ritou
4
1.9k
OIDF-J EIWG 振り返り
ritou
2
130
Other Decks in Technology
See All in Technology
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
130
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
840
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
130
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
530
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
150
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
140
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
250
SDDの運用にめげずに向き合った話
sansantech
PRO
0
130
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
130
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
270
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
150
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Paper Plane
katiecoart
PRO
4
53k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
460
Are puppies a ranking factor?
jonoalderson
2
4k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
770
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Everyday Curiosity
cassininazir
0
340
Transcript
ͦͷQRίʔυɺ҆શͰ͔͢ʁ ΫϩεσόΠεͷೝূೝՄϑϩʔʹજΉڴҖͱରࡦ 2024/8/22 @ritou (Ryo Ito)
എܠ 2
ೝূཁૉͷมԽ: ࣝใ͔Βॴ࣋ใ+α • ύεϫʔυೝূ͔ΒύεΩʔೝূ • ϚΠφϯόʔΧʔυͱ҉ূ൪߸ͰϚΠφϙʔλϧ(ΞϓϦ)ʹϩάΠϯ 3
ΫϩεσόΠεͳϑϩʔͷඞཁੑ • ར༻ڥͷଟ༷ԽɺෳࡶԽ • PCɺϞόΠϧɺεϚʔτσόΠε… • ϞόΠϧΛத৺ͱͨ͠αʔϏεઃܭ 4
QRίʔυͷར༻ • ॊೈͳσʔλදݱͱऔΓѻ͍͢͞ • ҟͳΔσόΠεɺࢴͳͲͷഔମ͔ΒσόΠεͷଓ • ࣗಈೝࣝਓؒʹΑΔհͳͲଟ༷ͳϢʔεέʔεʹద༻Մೳ 5
QRίʔυͷऑ • ಡΈࠐΉ·Ͱͦͷ༰͕Θ͔Βͣɺ”ਖ਼نͷͷ”Ͱ͋Δஅ͕ࠔ • ॖURLͱͷΈ߹ΘͤͳͲ͋ΓಘΔͷͰ࠷ऴతʹ౸ୡ͢ΔURL Λૣ͍ஈ֊Ͱݕ͢Δͷࠔ • QRίʔυͷʮఏࣔʯʮಡΈࠐΈʯΛਓ͕ؒߦ͏ϑϩʔͰʮఆ͠ ͍ͯͳ͍ୈ̏ऀͱͷೖΕସ͑ʯ͕༰қʹى͜Γ͏Δ <-
ࠓճͷ • ※QRίʔυ ”͚ͩ” ͕ةͳ͍Θ͚Ͱͳ͍ <- λΠτϧϛεϦʔυ 6
ࣄྫ: QRίʔυΛ༻͍ͨϑΟογϯά߈ܸ • QRίʔυʹΞΫηε͢ΔͱϑΟογϯάαΠτʹ༠ಋ • ΫϨσϯγϟϧɺݸਓใɺΫϨΧޱ࠲ͳͲͷܾࡁใ • MitM ʹΑΓଟཁૉೝূΛಥഁͯ͠ϩάΠϯηογϣϯΛୣ͏ 7
ࣄྫ: QRίʔυܾࡁͰଞਓͷεΫγϣΛఏࣔ • ΩϟογϡϨεܾࡁͰ“ଞਓͷεΫγϣ”Λళһʹఏ͔ࣔʮඇৗʹ ͩʯͱઐՈڻ͍ͨٗ൜ͷखޱͱରࡦ https://news.yahoo.co.jp/ articles/e627f4e43a3c48eafe013ae8a212bc522e3a6d58 8
ใηΩϡϦςΟ10େڴҖ 2024 [ݸਓ] ΫϩεσόΠεϑϩʔʹ͓͚ΔڴҖͱରࡦेʹೝࣝ͞Ε͍ͯΔʁ 9
͜͏͍͏ͷ҆શͱݴ͑·͔͢ʁ 10
ࠓճͷ༰ • ΫϩεσόΠεͷೝূೝՄϑϩʔʹ͓͚ΔڴҖͱରࡦ • IETF OAuth WGͰਐΊΒΕ͍ͯΔυΩϡϝϯτΛհͭͭ͠ • ࢲ͕͖ͨͪ͢͜ͱͱʁ •
༷ࡦఆऀɺαʔϏε։ൃऀɺϢʔβʔ 11
Cross-Device Flows: Security Best Current Practice (Draft 08) 12
Cross-Device Flows: Security Best Current Practice (Draft 08) • https://datatracker.ietf.org/doc/html/draft-ietf-oauth-cross-device-
security • ΫϩεσόΠεϑϩʔʹؔ͢ΔڴҖɺରࡦ(؇ࡦ)ɺϓϩτίϧબ ͷΨΠμϯεɺܗࣜੳͷ֓ཁ 13
ొ͢Δϓϩτίϧ • IETF OAuth 2.0 Device Authorization Grant [RFC8628] •
ೖྗػೳʹ੍ݶ͕͋ΔσόΠεϦιʔεΞΫηεΛڐՄ • OpenID Foundation Client Initiated Back-Channel Authentication (CIBA) • Ϣʔβʔͷ௨Λϕʔεͱͨ͠ΫϩεσόΠεͳID࿈ܞ • FIDO2 / WebAuthn (hybrid transports) • ΫϩεσόΠεͳύεΩʔೝূ 14
ΫϩεσόΠεϑϩʔͷొਓ ফඅσόΠε ೝՄσόΠε Ϣʔβʔ 15
ΫϩεσόΠεϑϩʔύλʔϯ • ΫϩεσόΠεೝՄ(ೝূ) • ফඅσόΠε͔ΒೝՄσόΠεϢʔβʔ͕ೝՄϦΫΤετΛసૹ: OAuth 2.0 AuthZ Grant •
ফඅσόΠε͔ΒೝՄσόΠεೝՄϦΫΤετ͕όοΫνϟϯωϧͰసૹ: CIBA • ೝՄσόΠε͔ΒফඅσόΠεϢʔβʔ͕ೝՄϨεϙϯεΛసૹ: OAuth 1.0 (callback = oob) • σόΠεؒͷηογϣϯసૹ • ೝՄσόΠε͔ΒফඅσόΠεϢʔβʔ͕ηογϣϯΛసૹ: OID4VCI 16
ΫϩεσόΠεϑϩʔͷѱ༻ • ୈ̏ऀͷಉҙΛಘ֤ͯछτʔΫϯΛऔಘ͢Δ͜ͱ: Cross-Device Consent Phishing(CDCP) • ߈ܸऀೝূ͞Ε͍ͯͳ͍νϟϯωϧΛར༻ͯ͠ɺϢʔβʔίϯςΩετΛ ඃऀͷͷʹมߋ͢Δ •
ୈ̏ऀͷϩάΠϯηογϣϯΛऔಘ͢Δ͜ͱ: Cross-Device Session Phishing(CDSP) • ߈ܸऀೝূ͞Ε͍ͯͳ͍νϟϯωϧΛར༻ͯࣗ͠ͷσόΠεʹඃऀ ͷηογϣϯΛసૹͤ͞Δ 17
Ϣʔβʔ͕ೝՄϦΫΤετΛసૹ 18
όοΫνϟϯωϧͰೝՄϦΫΤετΛసૹ 19
Ϣʔβʔ͕ೝՄϨεϙϯεΛసૹ 20
σόΠεؒͷηογϣϯసૹ 21
߈ܸͷಛ • ιʔγϟϧΤϯδχΞϦϯάΛۦͯ͠ɺ࠷ऴతʹ߈ܸऀͷσόΠε ্ͰͷඃऀͷίϯςΩετͰͷೝূॲཧɺ߈ܸऀͷσόΠεͷ ηογϣϯసૹΛ࣮ݱ͢Δ • ॲཧͷ్தͰѻΘΕΔೝՄϦΫΤετɺϨεϙϯεͳͲਖ਼نͷͷ Ͱ͋Γɺվ᜵ͳͲΛ͢Δඞཁͳ͍ 22
ରࡦ • ࣮༻తͳ؇ࡦʹΑΔଟޚͱ͍͏ߟ͑ํ 1. ߈ܸΛ։࢝͞Εͳ͍ 2. ։࢝͞Εͨ߈ܸΛ્ࢭͰ͖Δ 3. ߈ܸ͕ޭͨ͠߹ʹɺӨڹΛܰݮͨ͠ΓϦΧόϦʔͰ͖Δ 23
؇ࡦ(1) • ۙੑͷཱ֬ • QRίʔυɺϢʔβʔίʔυͷ੍ݶ(༗ޮظݶɺ༻ճɺϢχʔΫੑ ͳͲ) • ίϯςϯπϑΟϧλϦϯά • ݕग़ͱϦΧόϦʔ
• ৴པͰ͖ΔσόΠεɺωοτϫʔΫ 24
؇ࡦ(2) • ϦιʔεΞΫηεʹඞཁͳτʔΫϯͷ੍ݶ(είʔϓ༗ޮظݶ) • Ϩʔτ੍ݶ • Sender-Constrained ͳτʔΫϯ • UXɺϢʔβʔڭҭ
• ೝূ͔ͯ͠Β։࢝ • ϦΫΤετ։࢝ͷݕূɺOOBσʔλΛ༻͍ͨϦΫΤετόΠϯσΟϯά 25
؇ࡦͷಛੑΛߟྀ͠ɺΈ߹ΘͤΔ 26
୭͕ԿΛ͖͔͢ 27
ࢲ͕͖ͨͪ͢͜ͱ • ༷ࡦఆऀ • ܗࣜੳΛར༻ͨ͠ڴҖੳͱରࡦݕ౼ɺϕετϓϥΫςΟεͷఏࣔ • αʔϏεͷ։ൃऀ • ্هΛࢀর͠ͳ͕Β࣮ɺϢʔβʔʹਖ਼͍͠ར༻ํ๏Λఏࣔ •
Ϣʔβʔ • αʔϏε͕ఏࣔ͢Δར༻ํ๏Λकͬͯར༻ 28
·ͱΊ 29
·ͱΊ • QRίʔυΛͬͨΫϩεσόΠεͷೝূೝՄϑϩʔʹ • ೝূ͞Ε͍ͯͳ͍νϟϯωϧΛར༻ͯ͠ୈ̏ऀͷϩάΠϯηογϣϯɺ ΞΫηεڐՄΛૂ͏ڴҖ͕ଘࡏ͢Δ • ιʔγϟϧΤϯδχΞϦϯάΛۦͯ͠ਖ਼نͷϦΫΤετɺϨεϙϯ εͷϢʔβʔίϯςΩετΛมߋ͢Δ •
؇ࡦΛΈ߹ΘͤΔଟޚͱ͍͏ߟ͑ • ༷ࡦఆऀɺ։ൃऀɺϢʔβʔͦΕͧΕͰ͖͢͜ͱΛ͠·͠ΐ͏ 30