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
認証のあれやこれや
Search
Toshiboumi Ohta
May 11, 2018
Technology
0
350
認証のあれやこれや
第十四回セキュリティ共有勉強会での発表
認証、FIDO
Toshiboumi Ohta
May 11, 2018
Tweet
Share
More Decks by Toshiboumi Ohta
See All by Toshiboumi Ohta
0727.pdf
bugbird
0
400
Other Decks in Technology
See All in Technology
ComposeではないコードをCompose化する case ビズリーチ / DroidKaigi 2025 koyasai
visional_engineering_and_design
0
110
2025-10-09_プロジェクトマネージャーAIチャンス
taukami
0
130
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
300
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
230
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
390
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
130
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
250
from Sakichi Toyoda to Agile
kawaguti
PRO
1
120
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
440
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.3k
CoRL 2025 Survey
harukiabe
0
160
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
27
2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Mobile First: as difficult as doing things right
swwweet
224
10k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Fireside Chat
paigeccino
40
3.7k
4 Signs Your Business is Dying
shpigford
185
22k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
The Language of Interfaces
destraynor
162
25k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Why Our Code Smells
bkeepers
PRO
339
57k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Transcript
ೝূͷ͋Ε͜Ε ୈ̍̐ճηΩϡϦςΟڞ༗ษڧձ
͓͠ͳ͕͖ ೝূͬͯͳΜ͚ͩͬʁ ύεʢϑϨʔζʛϫʔυʣʹ͍ͭͯ Ϧςϥγʔʹґଘ͠ͳ͍ೝূͬͯՄೳʁ FIDOೝূʹ͍ͭͯ
ೝূͬͯͳΜ͚ͩͬʁ
ʮೝূʯͷ͓͞Β͍ ୭Կʢ͍͔͢ʣ ʮ୭͔ʁʯ ໊Γ ʮࢁ།ܧͰ͢ʯ ೝূใΛ֬ೝͯ͠ೝূ ʮ໔ڐূͳͲࣸਅೖΓͰຊਓ֬ೝͰ͖ΔͷΛݟͤͯʯ
WebΞϓϦέʔγϣϯͷ߹ ϩάΠϯϑΥʔϜͷදࣔ ϢʔβIDʢ໊Γʣ ύεʢϑϨʔζʛϫʔυʣʢೝূใʣ র߹Ͱ͖ΕϩάΠϯʢೝՄʣ
WebΞϓϦέʔγϣϯͷೝূ Basicೝূ Digestೝূ ϑΥʔϜϕʔεೝূ TLSೝূʢΫϥΠΞϯτೝূʣ ΞϓϦέʔγϣϯ࿈ܞೝূ
ೝূใͱͯ͠͏ͷ ར༻ऀݻ༗ͷࣝ ύεʢϑϨʔζʛϫʔυʣͳͲ ར༻ऀͷॴ༗ ཚදɺϋʔυΣΞτʔΫϯͳͲ ར༻ऀͷಛੑ ੜମใʢࢦɺɺ੩຺ύλʔϯɺ࠼ etc…ʣ
ͦΕͧΕͷ ύεʢϑϨʔζʛϫʔυʣ ΕͨΒΞτ ॴ༗ ౪·ΕͨΓฆࣦͨ͠ΒΞτ ੜମใ ݸਓใͰ͋Γʮ͓ΘΓʯ͕Ͱ͖ͳ͍
ύεʢϑϨʔζʛϫʔυʣ ʹ͍ͭͯ͘ޠΖ͏
ύεʢϑϨʔζʛϫʔυʣ σόΠεΛඞཁͱ͠ͳ͍ ߈ܸੑϦςϥγʔґଘ ϢʔβͷϦςϥγʔ γεςϜӡ༻ऀͷϦςϥγʔ
ύεϫʔυͷఆظతߋ৽ ʮ૯ͨΓ߈ܸʯʹ༗ޮͩͬͨ…͔ʁ ଟ༷Խ͢Δύεϫʔυ߈ܸ ύεϫʔυɾεϓϨʔ߈ܸ ࣙॻ߈ܸ ϦετܕΞΧϯτ߈ܸ
ύεϫʔυɾεϓϨʔ߈ܸ a.k.a. ϦόʔεɾϒϧʔτϑΥʔε߈ܸ JAL / ANA ͷαΠτʢ2014ʣ ձһ൪߸͕7ܻʙ9ܻ ύεϫʔυ͕4ܻʙ6ܻ ϢʔβID͕؆୯ʹਪଌͰ͖Δ߹༗ޮ
ࣙॻ߈ܸ ଟ༻͞Ε͍ͯΔՄೳੑ͕͋Δ୯ޠΛࣙॻొ ਓͷߟ͑Δ͜ͱେମಉ͡ Dragon, letmein, qazwsx, etc… ʮ࣮ʯʹج͍ͮͯʑڧԽ͞Ε͍ͯΔ
ϦετܕΞΧϯτ߈ܸ ϢʔβIDͱύεϫʔυͷΈ߹ΘͤΛ͏ Ͳ͔͜ͷʮ΅͍ʯαʔϏε͕ʮ͓࿙Β͠ʯ WebΞϓϦέʔγϣϯͷ૿Ճ Ͳ͏͍ͯ͠·Θͨ͘͠ͳΔ ͔ͳΓʮώοτʯ͕ߴ͍w
ΞΧϯτϩοΫ༗ޮʁ ී௨༗ޮͰ͕͢… େنαΠτͩͱ͍͜ͱ͋Δ ී௨ϩʔυόϥϯα͍·͢Α…Ͷʁ ฒྻ߈ܸͰΞΧϯτϩοΫ͕ൃಈ͢Δલ ʹ200݅Ҏ্ͷࢼߦΛڐͯ͠ɺ৵ೖ͞ΕΔ
ڧ͍ύεʢϑϨʔζʛϫʔυʣ จࣈछΛ૿͢ ಉ͡จࣈͳΒจࣈछΛ૿͢ͷਖ਼ٛ ͨͩ͠US / JIS ΩʔϘʔυʹቕΔ https://xkcd.com/936/
ڧ͍ύεϑϨʔζ
ύεʢϑϨʔζʛϫʔυʣͷ ʮ֮͑ΒΕͳ͍ύεϫʔυʯʹҙຯ͕ͳ͍ Ϧςϥγʔ͕ඞཁ ֶతͳܮ ύεϫʔυΛ͍֮͑ͯΒΕΔهԱྗ ݁ہʮ͋ͳͨ·͔ͤʯͰ৴༻͢Δ͔͠ͳ͍
গ͠ͰϚγʹ͢Δ ύεϫʔυڧͷνΣοΧʔ จࣈ จࣈछͷࠞ߹Λཁٻ ΞΧϯτID ͱͷൺֱɹetc… ͰϢʔβϏϦςΟ͕ѱԽ͠·͢ΑͶʁ
͍ճ͠͞ΕΔͳΒ ͍ճͤΔΑ͏ʹ͢Εʁ
ΞϓϦέʔγϣϯ࿈ܞೝূ OAuth, OpenID, YConnect, SAML APIΛͬͯೝূʢೝՄʣΛ֎෦Ͱߦ͏ ೝূใͷཧ͕ෆཁʹͳΔ ೝূͱೝՄΛࠞಉ͍͚ͯ͠ͳ͍ http://d.hatena.ne.jp/ritou/20120206/1328484575
Ϧςϥγʔʢʹґଘʛظʣ ͠ͳ͍ೝূͬͯͰ͖Δͷʁ
Ϧςϥγʹґଘ͠ͳ͍ೝূ ཚදɺτʔΫϯ ίετ͕ൃੜ ౪ɾฆࣦͷϦεΫ ੜମใೝূ ସ͕ޮ͔ͳ͍ ࿙Ӯ͕ى͖ͨΒΞτʢݸਓใʣ
ଟཁૉೝূ ֤छͷೝূΛΈ߹ΘͤΔ ύεʢϑϨʔζʛϫʔυʣͷґଘੑݮΔ ೝূͳͲΈ߹Θͤͷର CAPTCHA ϢʔβϏϦςΟམͪΔ
facebook ͷଟཁૉೝূ ύεϫʔυೝূ IP / Cookie ʹΑΔೝূ ίʔυδΣωϨʔλʢܞଳݶఆʣ ϝʔϧSMSʹΑΔ௨Λซ༻
WebαʔϏεͷೝূର Ϣʔβʔೝূ αʔόʔೝূʢvia TLSʣ αʔόʔূ໌ॻ ΫϥΠΞϯτೝূʢvia TLSʣ ΫϥΠΞϯτূ໌ॻ ΘΕ͍ͯͳ͔ͬͨ ͱ͍͏Մೳੑ͋Δʁ
ܞଳͷೝূͬͯ Ͳ͏ͳ͍͚ͬͯͨͬʁ
ܞଳͷಛ ෳࡶͳσʔλͷೖྗ͕໘ ը໘͕খ͍͞ʢใྔ͕গͳ͍ʣ ϑϦοΫೖྗͱ͔ͯ͠·͚͢Ͳ ϢʔβೝূͰͳ͘ೝূ
ܞଳͷೝূ UUIDʢUniversally Unique IDentifier) ຊདྷࢄॲཧͳͲͰͷ ID িಥճආ ʮதԝొॲཧʯ͕ෆཁ ࣌ؒใͳͲݻ༗ͷใ͔Βੜ͢Δ
ܞଳͷϢʔβೝূ ౪ɾฆࣦʹରԠ͢Δඞཁ͕͋Δ PINʢPersonal Identification Numberʣ εϫΠϓύλϯ ੜମใ ࢦɺإ etc…
ͦΕɺ͏গ͠ ͳΜͱ͔ͳΓ·ͤΜ͔ʁ
ʹґଘ͠ͳ͍ೝূ ʮϦςϥγʯʹґଘ͠ͳ͍ ৬ɺҠಈதɺࣗ Edge, Firefox, Chrome, Vivaldi PC, Tablet, Smart
phone etc…
FIDOೝূ Fast IDentity Online ೝূใΛ௨৴͠ͳ͍ ެ։伴҉߸ํࣜͷԠ༻ ϞδϡʔϧԽ͞ΕͯϕϯμʔϩοΫɾϑϦʔ ܧଓతೝূɺ҉తೝূɺίϯςΩετೝূ
FIDOೝূͷ֓ཁ ൿີ伴 ެ։伴 νϟϨϯδ ೝূ ൿີ伴Ͱॺ໊ͨ͠νϟϨϯδ ެ։伴Ͱ ॺ໊ͷଥੑ νΣοΫ ൿີͷڞ༗͕ඞཁͳ͍ʂ
ೝূͷํࣜʹґଘ͠ͳ͍ʂ ೝূث FIDOΫϥΠΞϯτ FIDOαʔόʔ
FIDO 2.0 FIDO 1.0 ͷೋͭͷೝূثΛ౷߹ UAFʢUniversal Authentication Frameworkʣ U2FʢUniversal Second
Factorʣ CTAP ͷಋೖ
WebAuthn ͱ CTAP WebAuthn FIDO ೝূثͷͻͱͭ ύεϫʔυʢa.k.a. εΩϧʣʹґଘ͍ͯ͠ͳ͍ ݱࡏ W3C
ͷ CRʢCandidate Recommendationʣ CTAPʢClient To Authenticator Protocolʣ
ͬͱৄ͘͠ʁ FIDOʹ͍ͭͯͷղઆʢຊޠʣ https://www.slideshare.net/FIDOAlliance/fido-83445442 https://fidoalliance.org/wp-content/uploads/FIDOTokyo- gomi-120816-ja.pdf W3Cͷใ https://www.w3.org/2018/04/pressrelease-webauthn-fido2.html.ja
Q&A?