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
次世代の認証(WebAuthn/FIDO2)について説明を試みる
Search
OSCA
November 09, 2018
Technology
2
1.3k
次世代の認証(WebAuthn/FIDO2)について説明を試みる
2018年11月09日(金) に開催された「WEBエンジニア勉強会 #10」で 、Web Authentication (WebAuthn) / FIDO2 について発表しました。
OSCA
November 09, 2018
Tweet
Share
More Decks by OSCA
See All by OSCA
人工肉を食べよう / Let's eat fake meat
oscasierra
4
1.1k
WEBサイトを HTTP/2 に移行した話 / HTTP2
oscasierra
1
2k
WEBサイトが「できた」と安心する前に最終チェックすること
oscasierra
1
1.9k
Service Worker
oscasierra
1
1.4k
Growth of Podcast
oscasierra
0
1.2k
AIの知識無しでもAIを活用したQ&Aページを作る方法
oscasierra
1
1.2k
はじめてのサーバレス関数 (WEBエンジニア勉強会 #06)
oscasierra
0
870
みんなテストってどうやってるの?
oscasierra
0
480
HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)
oscasierra
1
3k
Other Decks in Technology
See All in Technology
いいたいことちゃんという
tkengo
0
230
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
5
1.6k
IPUT App Dev. Co. -Overview 2024/4
iputapp
0
120
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.6k
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
150
On Your Data を超えていく!
hirotomotaguchi
2
750
本当のAWS基礎
toru_kubota
1
620
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
280
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
1
610
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
140
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
130
Featured
See All Featured
Designing for humans not robots
tammielis
248
25k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
Side Projects
sachag
451
41k
The Language of Interfaces
destraynor
151
23k
Become a Pro
speakerdeck
PRO
12
4.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
6.9k
A Tale of Four Properties
chriscoyier
152
22k
Designing Experiences People Love
moore
136
23k
BBQ
matthewcrist
80
8.8k
Product Roadmaps are Hard
iamctodd
45
9.7k
Ruby is Unlike a Banana
tanoku
96
10k
Transcript
04$" ᖛҰೋࡾ !FOHJOFFS@PTDB ࣍ੈͷೝূʹ͍ͭͯઆ໌ΛࢼΈΔ 8FC"VUIFOUJDBUJPO"1*'*%0 8&#ΤϯδχΞษڧձ
ࣗݾհ © OSCA 04$"ᖛҰೋࡾ ·ͷ͔ͣ;Έ 4*FSܠࣸਅՈ * ʮ8&#ΤϯδχΞษڧձʯΛओ࠵ *
+BWB 1)1ܥͷ8&#ΤϯδχΞ * ਓೳ "* ͷ։ൃͬͯΔ * ݸਓͰ714आΓͯ8&#αʔϏεΛӡӦ͢Δͷ͕झຯ * ເͷࠃɹెาݍॅΈ * !FOHJOFFS@PTDB!PTDBQIPUP!EJTOFZ@PTDB
© OSCA ͲΜͳ͜ͱ͢ͷʁ
ʮύεϫʔυೝূʯͷ՝Λղܾ͢Δ࣍ੈͷೝূ © OSCA ΞΧϯτ ύεϫʔυ ϩάΠϯ 8&#ͷੈքʹ͓͍ͯύεϫʔυΛར༻ͨ͠ೝূʹมΘ Δɺ৽͍͠ೝূٕज़͕ීٴ͠͡ΊΑ͏ͱ͍ͯ͠·͢ɻ
ʮύεϫʔυೝূʯͷ՝Λղܾ͢Δ࣍ੈͷೝূ © OSCA ͱ͍͏͍ͷதͰɺ ʮͲΜͳͷͳͷ͔ʯͱ͍͏֓ཁΛ͓͍͑ͨ͠ͱࢥ͍·͢ɻ
© OSCA ࠓ͢͜ͱʹؔ࿈͢Δχϡʔε
© OSCA ݄1VCMJDLFZ ύεϫʔυʹґଘ͠ͳ͍ೝূʮ8FC"VUIOʯΛ$ISPNF'JSFGPY&EHF͕࣮։ ࢝ɺ8$͕ඪ४Խɻ8FCύεϫʔυʹґଘ͠ͳ͍ΑΓ҆શͰศརͳͷ IUUQTXXXQVCMJDLFZKQCMPHXFCBVUIODISPNFGJSFGPYFEHFXDXFCIUNM l(PPHMFɺ.P[JMMBɺϚΠΫϩιϑτ͕ ʮ8FC"VUIOʯͷ࣮Λ։࢝ɻ͜ΕʹΑ ͬͯʮ'*%0ʯͷීٴ͕ظ͞Εɺ8FC ϒϥβ͔ΒࢦೝূإೝূͳͲͰ؆
୯ʹ8FCαΠτͷϩάΠϯࢧ͍ͷ ঝೝͱ͍ͬͨૢ࡞͕࣮ݱ͞Εͦ͏ͩɻz
© OSCA ݄*5NFEJBΤϯλʔϓϥΠζ ʮ'JSFGPYʯެ։ɺύεϫʔυʹґଘ͠ͳ͍ೝূʮ8FC"VUIOʯΛαϙʔτ IUUQXXXJUNFEJBDPKQFOUFSQSJTFBSUJDMFTOFXTIUNM l৽͍͠ηΩϡϦςΟػೳͱͯ͠ɺύεϫ ʔυʹґଘ͠ͳ͍ೝূํ๏ͷʮ8FC "VUIFOUJDBUJPOʢ8FC"VUIOʣʯΛα ϙʔτͨ͠ɻz
© OSCA ݄;%/FU+BQBO ʮ(PPHMF$ISPNFʯ҆ఆ൛ϦϦʔεʮ4QFDUSFʯ؇ࡦɺʮ8FC"VUIOʯର ԠͳͲ IUUQTKBQBO[EOFUDPNBSUJDMF l݅ͷηΩϡϦςΟमਖ਼Λࢪͨ͠΄ ͔ɺύεϫʔυʹґଘ͠ͳ͍৽ͨͳೝূ ํࣜʮ8FC"VUIOʯʹσϑΥϧτͰରԠ ͢Δɻ
தུ ࢦεϚʔτϑΥϯʹอ ଘ͞Εͨإը૾ͷΑ͏ͳੜମೝূใɺ ͋Δ͍:VCJLFZͷೝূσόΠεͷΑ͏ ͳ64#ϋʔυΣΞΛར༻ͯ͠Σϒα ΠτʹαΠϯΞοϓ͢ΔखஈΛఏڙ͢ Δɻz
© OSCA ݄1VCMJDLFZ ϚΠΫϩιϑτɺ8FC"VUIOΛ&EHFʹ࣮ɻύεϫʔυෆཁɺੜମೝূ1*/Ͱ 8FCαΠτϩάΠϯՄೳʹɻळͷ8JOEPXTΞοϓσʔτͰ IUUQTXXXQVCMJDLFZKQCMPHXFCBVUIOFEHFQJOXFCXJOEPXT@IUNM lϚΠΫϩιϑτɺ݄ࠒʹ༧ ఆ͞Ε͍ͯΔ8JOEPXTͷେܕΞοϓ σʔτʢ34ʣʹ͚ͯ։ൃதͷ࠷৽Ϗ ϧυɺ8JOEPXTCVJMEͰɺ
ύεϫʔυෆཁͰ8FCαΠτʹϩάΠϯ Ͱ͖Δඪ४༷ʮ8FC"VUIOʯΛ .JDSPTPGU&EHFʹ࣮ͨ͜͠ͱΛ໌Β ͔ʹ͠·ͨ͠ɻz
© OSCA ݄1VCMJDLFZ $ISPNF͔Βɺ8FC"VUIOͰ.BDͷ5PVDI*%ͱ"OESPJEͷࢦೝূ͕σϑΥϧ τͰར༻Մೳʹɻ8FCαΠτͷϩάΠϯλονͰ IUUQTXXXQVCMJDLFZKQCMPHDISPNF@XFCBVUIONBDUPVDIJEBOESPJEIUNM l(PPHMF݄ʹϦϦʔεͨ͠$ISPNF Ͱ8FC"VUIOͷରԠΛߦ͍·ͨ͠ ͕ɺ݄ʹϦϦʔε͞ΕΔ$ISPNF Ͱ࣮ΛਐԽͤ͞ɺσϑΥϧτͰ.BD
ͷ5PVDI*%ͱ"OESPJEͷࢦೝূʹରԠ ͢Δ͜ͱΛ໌Β͔ʹ͠·ͨ͠ɻz
© OSCA ݄Ϡϑʔגࣜձࣾ Ϡϑʔɺ৽ͨͳΣϒೝূͷن֨ʮ'*%0ʯͷ'*%0$FSUJGJFEʢೝఆʣΛࠃا ۀͰ།ҰऔಘɹύεϫʔυΛΘͳ͍҆શͳϩάΠϯڥͷ࣮ݱʹલਐ IUUQTBCPVUZBIPPDPKQQSSFMFBTFB lϠϑʔגࣜձࣾɺੜମೝূͳͲͷ࣍ੈ ೝূͷඪ४ԽΛఏএ͢Δۀքஂମ '*%0ʢϑΝΠυʣΞϥΠΞϯεͷ৽ͨͳ ن֨ʮ'*%0ʯͷೝఆΛɺ݄ʹ
ੈքͰॳΊͯ։࠵͞Εͨʮ'*%0ʯೝఆ ςετʹ͓͍ͯɺ͜ͷͨͼऔಘͨ͜͠ͱ Λ͓Βͤ͠·͢ɻࠃاۀͰ།Ұͷ ೝఆऔಘͱͳΓ·͢ɻz
© OSCA ݄Ϡϑʔגࣜձࣾ Ϡϑʔɺ"OESPJEεϚʔτϑΥϯͷΣϒϒϥβʔ্ͰͷϩάΠϯ͕ࢦೝূͳ ͲͷੜମೝূʹରԠ IUUQTBCPVUZBIPPDPKQQSSFMFBTFB l"OESPJEεϚʔτϑΥϯͷΣϒϒϥ βʔ্ʹ͓͍ͯɺϠϑʔͷαʔϏεʹࢦ ೝূͳͲͷੜମೝূΛ༻ͯ͠ϩάΠ ϯͰ͖ΔΑ͏ʹͳΓ·ͨ͠ɻz
l·ͣ"OESPJEͷදతͳΣϒϒϥ βʔͰ͋Δʮ(PPHMF$ISPNFʯʹରԠ ͍ͨ͠·͢ɻຊػೳɺ:BIPP+"1"/ *%ʹϩάΠϯ্ͨ͠Ͱɺੜମೝূͷઃఆ ʹɺ༻͢Δ"OESPJEεϚʔτϑΥϯΛ ొ͢Δ͜ͱͰར༻Ͱ͖·͢ɻz
© OSCA χϡʔε͔ΒಡΈऔΕΔ͜ͱʁ
֤छϒϥβ͕ʮ8FC"VUIOʯʹରԠ © OSCA ݄ 'JSFGPY ݄ (PPHMF$ISPNF ·ͳ͘ .JDSPTPGU&EHF
֤छϒϥβ͕ʮ8FC"VUIOʯʹରԠ © OSCA ݄ 'JSFGPY ݄ (PPHMF$ISPNF ·ͳ͘ .JDSPTPGU&EHF ύεϫʔυ͕ෆཁͷ
ೝূํࣜΒ͍͠
Ϡϑʔגࣜձࣾࠃ།Ұͷ'*%0ೝఆऔಘ © OSCA
© OSCA '*%0ΞϥΠΞϯε
'*%0ΞϥΠΞϯε 'BTU*%FOUJUZ0OMJOF"MMJBODF © OSCA ੜମೝূΛϕʔεͱͨ͠ศརͰ҆શͳΦϯϥΠϯೝূΛ࣮ݱ ͢ΔͨΊʹɺʹ݁͞Εͨۀքஂମɻ <Ճໍஂମൈਮ> .JDSPTPGU (PPHMF "NB[PO
.BTUFS$BSE 7*4" ࢜௨ υίϞ -*/& େຊҹ ָఱ ࡾඛ6'+ Ϡϑʔ
8FC"VUIOͷي © OSCA 8$ʹ'*%0ͷ8FC"1*෦Λఏग़ɻ 8$8FC"VUIFOUJDBUJPOϫʔΩϯάάϧʔϓൃɻ 8FC"VUIFOUJDBUJPO 8FC"VUIO "1*קࠂީิʹɻ
© OSCA Έͷ֓ཁ
ύεϫʔυೝূͷ՝ © OSCA ଟ͘ͷ8&#αΠτͰར༻͞Ε͍ͯΔʮύεϫʔυೝূʯɺ ࣍ͷΑ͏ͳ՝͕͋Γ·͢ɻ ✓ ͓͔֮͑ͯͳ͍ͱ͍͚ͳ͍ ֮͑ΒΕͳ͍ ✓
ೖྗ͕໘͍͘͞ ✓ ࿙Ӯ͍͢͠ ✓ ࠶ར༻͕Մೳ རศੑ ҆શੑ
ύεϫʔυೝূͷ՝ © OSCA ʮΞΧϯτʯͱʮύεϫʔυʯͷೝূͰɺωοτϫʔΫ தΛʮύεϫʔυʯ͕ྲྀΕͯ͠·͍ͬͯΔɻ tGb9T3hM!gLaThB14P ೝূ
ύεϫʔυೝূͷ՝ © OSCA ͬͱzศརzͰz҆શzͳΈ͕͋Εྑ͍ͷʹɾɾɾ
৽͍͠ೝূͷΈ ֓ཁ © OSCA ➢ ύεϫʔυ େͳͷ ΛωοτϫʔΫதʹྲྀ͞ͳ͍ɻ tGb9T3hM!gLaThB14P
৽͍͠ೝূͷΈ ֓ཁ © OSCA ➢ ύεϫʔυ େͳͷ ΛωοτϫʔΫதʹྲྀ͞ͳ͍ɻ ➢ ೝূσόΠεଆͷzศརͳํ๏lͰߦ͏ɻ
tGb9T3hM!gLaThB14P ೝূ
৽͍͠ೝূͷΈ ֓ཁ © OSCA ➢ ύεϫʔυ େͳͷ ΛωοτϫʔΫதʹྲྀ͞ͳ͍ɻ ➢ ೝূσόΠεଆͷzศརͳํ๏zͰߦ͏ɻ
➢ ೝূ݁ՌΛαʔόʔʹૹ৴͢Δɻ tGb9T3hM!gLaThB14P ೝূ݁Ռ ೝূ
৽͍͠ೝূͷΈ ֓ཁ © OSCA ͜͜·Ͱͷઆ໌͚ͩͩͱ ʮೝূ݁ՌΛӕ͔ͭΕͨΒͲ͏͢ΔΜͩʁʯ ͱࢥ͑ͯ͠·͏͚Ͳɺ͔ͦͬ͜͠Γߟ͑ΒΕ͍ͯΔɻ
© OSCA Έ ৄࡉ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ʮೝূثʯʮϒϥβʯʮαʔόʔʯ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ʮೝূثʯʮϒϥβʯʮαʔόʔʯ ࢦηϯλʔ Χϝϥ 64#Ωʔ ͳͲ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ʮೝূثʯʮϒϥβʯʮαʔόʔʯ 8FC"VUIOʹ ରԠͨ͠ϒϥβ
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূثͷʮൿີ伴ʯʮެ։伴ʯ ެ։伴҉߸ํࣜ ൿີ伴 ެ։伴
ొ͢Δͷ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূثͷʮൿີ伴ʯʮެ։伴ʯ ެ։伴҉߸ํࣜ ൿີ伴 ެ։伴 ೝূثݻ༗ͷ ൿີ伴ɾެ։伴Λ࣋ͭ
ԡ͓͖͑ͯͭ͘͞ͷॲཧ © OSCA ೝূʹར༻͢Δೝূثͷొ ೝূثΛར༻ͨ͠ೝূ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ࠓޙར༻͢Δೝূث Λڭ͑ͯʔʂ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ೝূث͝ͱͷॴఆͷ खஈͰɺϢʔβݕূ
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ൿີ伴ɾެ։伴͕ੜ ͞ΕΔ ൿີ伴 ެ։伴
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ ެ։伴ͳͲΛؚΉ ใΛૹΓฦ͢ɻ ൿີ伴 ެ։伴
ೝূʹར༻͢Δೝূثͷొ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϩάΠϯೝূͳͲͰར༻͍ͨ͠ೝূثΛɺ αʔϏεΛఏڙ͍ͯ͠Δαʔόʔʹొ͠·͢ɻ Ϣʔβใͱެ։伴 Λඥ͚ͮΔɻ ʮྃղʂొͨ͠ʂʯ ൿີ伴 ެ։伴
ೝূʹར༻͢Δೝূثͷొ © OSCA ҎޙɺରʹͳΔʮൿີ伴ʯͰॺ໊͞Εͨσʔλɺ ొ͞Εͨೝূث͔Βͷσʔλͩͱ͍͏͜ͱʹͳΔɻ ެ։伴҉߸ํࣜͷಛʹΑΓ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ೝূΑΖ͘͠
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ೝূث͝ͱͷॴఆͷ खஈͰɺϢʔβݕূ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ೝূثͰͷೝূ݁Ռ Λൿີ伴Λར༻ͯ͠ॺ ໊͢Δɻ ೝূ݁Ռ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ॺ໊͞Εͨೝূ݁Ռ ΛૹΓฦ͢ɻ ೝূ݁Ռ
ೝূثΛར༻ͨ͠ೝূ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ೝূ࣌ɺొࡁΈͷೝূث͔Βͷ݁ՌΛ৴པ͢Εྑ͍ɻ ൿີ伴 ެ։伴 ެ։伴Λར༻ͯ͠ɺ ೝূ݁ՌΛݕূ͠ɺ ͳ͚ΕϢʔβΛ ಛఆͰ͖Δɻ ೝূ݁Ռ
© OSCA ීٴʹ͚ͯ
ීٴʹ͚ͯ © OSCA ϒϥβ Web Authentication API αʔόʔ ೝূث "VUIFOUJDBUPS
ϒϥβ͚͕ͩ8FC"VUIOʹରԠ͢Εྑ͍༁Ͱͳ͘ɺ ೝূثɾαʔόʔରԠͨ͠ͷ͕ඞཁͰ͋Δɻ
© OSCA ·ͱΊɾॴײ
·ͱΊ © OSCA ➢ ֤ϒϥβͰ8FC"VUIFOUJDBUJPO"1* 8FC"VUIO ͷ࣮͕ਐΊΒΕ͍ͯΔ͜ͱͰɺϒϥβͰ'*%0ೝূ͕ ࣮ݱͰ͖ΔΑ͏ʹͳ͖ͬͯͨɻ ➢
ࠃͰϠϑʔ͕͍ͪૣ͘ରԠΛߦͬͨɻ ➢ ͕ʮݩʯʹͳΔ͔ʂʁ
ؾʹͳ͍ͬͯΔ © OSCA ➢ 8FC"VUIO '*%0 ͷରԠίετ ✓ ʮνରԠ͍ͨ͠ʯͱͳͬͨͱ͖ɺͲͷ͘Β͍େมͳͷ͔ʁ ✓
'*%0ن֨ͷқʁ
ૉࡐར༻ 4*-)06&55&*--645 IUUQTXXXTJMIPVFUUFJMMVTUDPN © OSCA