Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
認証のあれやこれや
Search
Toshiboumi Ohta
May 11, 2018
Technology
0
360
認証のあれやこれや
第十四回セキュリティ共有勉強会での発表
認証、FIDO
Toshiboumi Ohta
May 11, 2018
Tweet
Share
More Decks by Toshiboumi Ohta
See All by Toshiboumi Ohta
0727.pdf
bugbird
0
410
Other Decks in Technology
See All in Technology
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
140
技術以外の世界に『越境』しエンジニアとして進化を遂げる 〜Kotlinへの愛とDevHRとしての挑戦を添えて〜
subroh0508
1
430
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
260
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
260
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
1
710
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
140
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
390
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
300
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
390
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
330
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.4k
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
2.9k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Designing for humans not robots
tammielis
254
26k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Unsuck your backbone
ammeep
671
58k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Code Review Best Practice
trishagee
74
19k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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?