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.5k
次世代の認証(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.3k
WEBサイトを HTTP/2 に移行した話 / HTTP2
oscasierra
1
2.2k
WEBサイトが「できた」と安心する前に最終チェックすること
oscasierra
1
2.1k
Service Worker
oscasierra
1
1.5k
Growth of Podcast
oscasierra
0
1.5k
AIの知識無しでもAIを活用したQ&Aページを作る方法
oscasierra
1
1.2k
はじめてのサーバレス関数 (WEBエンジニア勉強会 #06)
oscasierra
0
970
みんなテストってどうやってるの?
oscasierra
0
510
HTTPレイヤーで行うパフォーマンスチューニング (WEBエンジニア勉強会 #05)
oscasierra
1
3.3k
Other Decks in Technology
See All in Technology
MCP サーバーの基礎から実践レベルの知識まで
azukiazusa1
13
5.9k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
430
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
310
[Journal club] Thinking in Space: How Multimodal Large Language Models See, Remember, and Recall Spaces
keio_smilab
PRO
0
110
Playwrightで始めるUI自動テスト入門
devops_vtj
0
140
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
320
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.4k
NOT A HOTEL SOFTWARE DECK (2025/11/06)
notahotel
0
3k
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
260
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
0
410
今のコンピュータ、AI にも Web にも 向いていないので 作り直そう!!
piacerex
0
620
AI-ready"のための"データ基盤 〜 LLMOpsで事業貢献するための基盤づくり
ismk
0
110
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Facilitating Awesome Meetings
lara
57
6.6k
Context Engineering - Making Every Token Count
addyosmani
8
330
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Pragmatic Product Professional
lauravandoore
36
7k
Designing for Performance
lara
610
69k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Typedesign – Prime Four
hannesfritz
42
2.9k
Embracing the Ebb and Flow
colly
88
4.9k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
BBQ
matthewcrist
89
9.9k
Navigating Team Friction
lara
190
15k
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