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
KoujiMatsuda
April 08, 2020
Programming
0
220
FIDO2をPHPで実装してみた
KoujiMatsuda
April 08, 2020
Tweet
Share
More Decks by KoujiMatsuda
See All by KoujiMatsuda
OWASP Top 10 Proactive Controls 2024 で始めるセキュリティ
koujimatsuda11
0
38
脆弱性診断を内製化してわかったこと
koujimatsuda11
0
180
Other Decks in Programming
See All in Programming
ゲームの物理
fadis
5
1.5k
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
8
3.2k
AWS Serverless Application Model入門_20250708
smatsuzaki
0
130
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
180
AIでLINEスタンプを作ってみた
eycjur
1
200
AIコーディングAgentとの向き合い方
eycjur
0
230
ソフトウェアテスト徹底指南書の紹介
goyoki
1
110
CSC305 Summer Lecture 05
javiergs
PRO
0
110
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
140
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
210
学習を成果に繋げるための個人開発の考え方 〜 「学習のための個人開発」のすすめ / personal project for leaning
panda_program
1
110
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Being A Developer After 40
akosma
90
590k
GitHub's CSS Performance
jonrohan
1031
460k
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ͳͲʣ • ѹతϢʔβϏϦςΟʂʂʂ ਓྨ͕ύεϫʔυ͔Βղ์͞ΕΔະདྷΛͬͯ·͢ɻ