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
そのQRコード、安全ですか? / Cross Device Flow
Search
ritou
August 22, 2024
Technology
4
600
そのQRコード、安全ですか? / Cross Device Flow
ritou
August 22, 2024
Tweet
Share
More Decks by ritou
See All by ritou
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
2
4.8k
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
12
5.7k
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 + α
ritou
1
120
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 @ AXIES 2024
ritou
4
1.7k
OIDF-J EIWG 振り返り
ritou
2
69
MIXI Mと社内外のサービスを支える認証基盤を作るためにやってきたこと #MTDC2024
ritou
3
680
Passkeys and Identity Federation @ OpenID Summit Tokyo 2024
ritou
2
870
Webアプリ開発者向け パスキー対応の始め方
ritou
4
6.7k
様々なユースケースに利用できる "パスキー" の 導入事例の紹介とUXの課題解説 @ DroidKaigi 2023
ritou
3
5.1k
Other Decks in Technology
See All in Technology
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
190
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.1k
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
210
Geospatialの世界最前線を探る [2025年版]
dayjournal
1
240
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
1k
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
350
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
200
Click A, Buy B: Rethinking Conversion Attribution in ECommerce Recommendations
lycorptech_jp
PRO
0
100
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
データ戦略部門 紹介資料
sansan33
PRO
1
3.8k
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
1
200
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
310
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.3k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
How to Ace a Technical Interview
jacobian
280
24k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How GitHub (no longer) Works
holman
315
140k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Facilitating Awesome Meetings
lara
56
6.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
870
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Visualization
eitanlees
149
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
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