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
FIDO2をPHPで実装してみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
KoujiMatsuda
April 08, 2020
Programming
0
240
FIDO2をPHPで実装してみた
KoujiMatsuda
April 08, 2020
Tweet
Share
More Decks by KoujiMatsuda
See All by KoujiMatsuda
OWASP Projectsの歩き方
koujimatsuda11
0
54
OWASP Top 10 Proactive Controls 2024 で始めるセキュリティ
koujimatsuda11
0
46
脆弱性診断を内製化してわかったこと
koujimatsuda11
0
180
Other Decks in Programming
See All in Programming
AtCoder Conference 2025
shindannin
0
1.1k
CSC307 Lecture 03
javiergs
PRO
1
490
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Python’s True Superpower
hynek
0
110
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
390
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
150
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
ぼくの開発環境2026
yuzneri
0
250
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
680
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Accessibility Awareness
sabderemane
0
58
sira's awesome portfolio website redesign presentation
elsirapls
0
150
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
100
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Transcript
FIDO2ΛPHPͰ࣮ͯ͠Έͨ 2020/04/08 koujimatsuda
ࣗݾհ ➢দా߁࢘ʢ·ͭͩ͜͏͡ʣ ➢ؔͰΤϯδχΞͬͯ·͢ ➢Twitter:@koujimatsuda11 ➢facebook:kouji.matsuda.58
FIDO2ೝূͬͯԿʁ WEBαΠτͰ؆୯ʹࢦೝূإೝূ͕Ͱ͖Δೝূ༷ ύεϫʔυͷ͍Βͳ͍ੈք͕͖ͬͯ·͢ Android7.0ͷ࠷৽ͷChromeͰ͓ ࢼ͍ͩ͘͠͞ʢ20202݄࣌ʣ
ύεϫʔυೝূɾɾɾ 50ԯͷϢʔβ໊ͱύεϫʔυͷηοτ͕࿙Ӯ͍ͯ͠Δ (owasp asvs 4.0 v2ΑΓ) αΠτA αΠτB ID :
[email protected]
ύεϫʔυ : password IDͱύεϫʔυ͕౪·ΕΔ Ϣʔβ ߈ܸऀ ϩάΠϯޭ ύεϫʔυΛ͍·Θ͍ͯ͠Δͱɾɾɾ
FIDO2ͷΈʢొʣ Relyng Party ΫϥΠΞϯτ Authenticator ϩάΠϯID νϟϨϯδͳͲ νϟϨϯδɺRPใͳͲ ࢦೝূ إೝূ
ͳͲ 伴ϖΞ࡞ ެ։伴ͳͲ ެ։伴ͳͲ ݕূ ެ։伴ͷอଘ ެ։伴 ൿີ伴 νϟϨϯδͳͲ ੜ
FIDO2ͷΈʢొʣ Relyng Party ΫϥΠΞϯτ Authenticator ϩάΠϯID νϟϨϯδͳͲ νϟϨϯδɺRPใͳͲ ࢦೝূ إೝূ
ͳͲ 伴ϖΞ࡞ ެ։伴ͳͲ ެ։伴ͳͲ ݕূ ެ։伴ͷอଘ ެ։伴 ൿີ伴 ࢦใෆཁ νϟϨϯδͳͲ ੜ
FIDO2ͷΈʢೝূʣ Relyng Party ΫϥΠΞϯτ Authenticator ϩάΠϯID νϟϨϯδͳͲ νϟϨϯδɺRPใͳͲ ొ࣌ͷೝূ ॺ໊
ॺ໊ͳͲ ॺ໊ͳͲ ެ։伴Ͱݕূ ൿີ伴 νϟϨϯδͳͲ ੜ
σϞ
PHPͰ࣮͢ΔʢϥΠϒϥϦ͏͚Ͳʣ
༻͢ΔϥΠϒϥϦ web-auth/webauthn-lib ▪Πϯετʔϧ ɹcomposer require web-auth/webauthn-lib ▪υΩϡϝϯτ https://webauthn-doc.spomky-labs.com/
FIDO2ͷΈʢొʣ Relyng Party ΫϥΠΞϯτ Authenticator ϩάΠϯID νϟϨϯδͳͲ νϟϨϯδɺRPใͳͲ ࢦೝূ إೝূ
ͳͲ 伴ϖΞ࡞ ެ։伴ͳͲ ެ։伴ͳͲ ݕূ ެ։伴ͷอଘ ެ։伴 ൿີ伴 νϟϨϯδͳͲ ੜ ࣮ൣғ API ϥΠϒϥϦ
FIDO2ͷΈʢೝূʣ Relyng Party ΫϥΠΞϯτ Authenticator ϩάΠϯID νϟϨϯδͳͲ νϟϨϯδɺRPใͳͲ ొ࣌ͷೝূ ॺ໊
ॺ໊ͳͲ ॺ໊ͳͲ ެ։伴Ͱݕূ ൿີ伴 νϟϨϯδͳͲ ੜ API ࣮ൣғ ϥΠϒϥϦ
४උ͢Δͷ • طଘͷೝূػೳʢϩάΠϯIDͳͲʣɹ • PHPɹυΩϡϝϯτ7.2Ҏ্͕ͩɺ7.3.14Λͬͨ • ެ։伴Λอଘ͢ΔͷɹDBʹอଘͨ͠ • ηογϣϯػೳɹൃߦͨ͠νϟϨϯδΛอ͓ͯͨ͘͠Ί
࣮ͷྲྀΕ 1. ެ։伴Repositoryͷ࡞ 2. ϢʔβEntityͷ࡞ 3. RpServerͷ࡞ 4. ެ։伴Λొ͢ΔͨΊʹAuthenticatorʹ͢optionΛ࡞ 5.
Authenticator͔ΒϨεϙϯε͞ΕΔެ։伴Λอ͢Δ 6. ೝূΛ͢ΔͨΊʹAuthenticatorʹ͢optionΛ࡞ 7. Authenticator͔ΒϨεϙϯε͞ΕΔΛॺ໊Λݕূ͢Δ 8. طଘͷೝূʹΈࠐΉ ͜͜·ͰͰɺ4ʙ5ਓ͙Β͍͋ΕͰ͖Δ
ৄࡉ https://qiita.com/koujimatsuda11/items/47f00c9c4d6953377668
·ͱΊ • ϥΠϒϥϦΛ͏·͑͘ɺ؆୯ • ࢦೝূΛ͑ΔσόΠεݶఆతʢAndroidɺMacͳͲʣ • ѹతϢʔβϏϦςΟʂʂʂ ਓྨ͕ύεϫʔυ͔Βղ์͞ΕΔະདྷΛͬͯ·͢ɻ