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
250
0
Share
FIDO2をPHPで実装してみた
KoujiMatsuda
April 08, 2020
More Decks by KoujiMatsuda
See All by KoujiMatsuda
OWASP Projectsの歩き方
koujimatsuda11
0
58
OWASP Top 10 Proactive Controls 2024 で始めるセキュリティ
koujimatsuda11
0
54
脆弱性診断を内製化してわかったこと
koujimatsuda11
0
190
Other Decks in Programming
See All in Programming
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
160
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
180
How Swift's Type System Guides AI Agents
koher
0
270
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
950
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
580
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
23
13k
NakouPAY説明用
annouim0
0
180
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
150
The Less-Told Story of Socket Timeouts
coe401_
3
340
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
110
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
190
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
7.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
エンジニアに許された特別な時間の終わり
watany
106
240k
Mobile First: as difficult as doing things right
swwweet
225
10k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
New Earth Scene 8
popppiees
3
2.1k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Embracing the Ebb and Flow
colly
88
5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
310
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Building AI with AI
inesmontani
PRO
1
910
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ͳͲʣ • ѹతϢʔβϏϦςΟʂʂʂ ਓྨ͕ύεϫʔυ͔Βղ์͞ΕΔະདྷΛͬͯ·͢ɻ