Upgrade to Pro — share decks privately, control downloads, hide ads and more …

熊でもわかるFIDO2

 熊でもわかるFIDO2

FIDO2 / PassKey / Webauthnの概念から設計・実装まで

Shohei Kobayashi

June 04, 2023
Tweet

More Decks by Shohei Kobayashi

Other Decks in Technology

Transcript

  1. '*%0ͷ࢓૊Έͷ՝୊ ެ։伴Λࣄલʹొ࿥ࡁ ϩάΠϯͷཁٻ ެ։伴ʹΑΔݕূ ϩάΠϯڐՄ ൿີ伴#ͷอ࣋ ެ։伴ͷอ࣋ ൿີ伴"ͷอ࣋ ެ։伴ະొ࿥ ϩάΠϯͷཁٻ

    ެ։伴ʹΑΔݕূ ϩάΠϯڐՄͰ͖ͳ͍ ެ։伴ొ࿥ࡁ 1$ͱεϚϗ྆ํ͔ΒΞΫηε͍͕ͨ͠ɺ εϚϗͷൿີ伴͔͠ొ࿥ͯ͠ͳ͍ͷͰ 1$͔ΒϩάΠϯͰ͖ͳ͍ͷͭΒ͍ 8FCαΠτ
  2. 8FCBVUIO ඞཁͳཁ݅ 1*/ͷೖྗ UPVDI*%  ೝূػ 8FC"VUIO $MJFOU ϒϥ΢β 8FCαΠτ

    WebAuthn Relying Partyʹ४ڌ͢Δ͜ͱ WebAutn Clientʹ ରԠ͢Δ͜ͱ FIDO2 authenticaterͱ ޓ׵ੑΛอͭ͜ͱ
  3. 8FCBVUIO࣮૷ొ࿥࣌ WebAuthn Client (ϒϥ΢β) Web Backend Web Frontend Database webauth

    register API webautn callback API Home API ৽نొ࿥ ϩάΠϯ໊ཁٻ ϩάΠϯ໊1045 ϩάΠϯ໊1045 ϩάΠϯ໊ͷ6TFSΛ࡞੒ 8FCBVUO*%Λ࡞੒͠%#ʹอଘ DBMMCBDL"1*Λฦ͢ ެ։伴࡞੒ґཔ ެ։伴࡞੒ґཔ ೝূঢ়͚ͭͯ1045 ύϥϝʔλ͔Βೝূ৘ใΛอଘ ϩάΠϯ0, ϩάΠϯ0, ೝূ෇͖ϖʔδ΁ΞΫηε ೝূ෇͖"1*΁ ΞΫηε ೝূ෇͖৘ใΛ ฦ͢ ೝূ෇͖৘ใΛ දࣔ
  4. 8FCBVUIO࣮૷όοΫΤϯυͰ࣮૷͢Δ΋ͷ Web Backend Database webauth register API webautn callback API

    Home API register API Ϣʔβొ࿥ˍνϟϨϯδίʔυൃߦ"1* register callback API ൿີ伴ͷొ࿥ηογϣϯ։࢝"1* session API طଘͷϢʔβݕࡧˍνϟϨϯδίʔυൃߦ"1* session callback API ൿີ伴ͷ֬ೝɾηογϣϯ։࢝"1* ͭ"1*Λ࣮૷͢Δඞཁ͕͋Γɻ த਎͸طଘͷ΋ͷΛࢀর͢Δ͔৽ن࡞੒͔ͷҧ͍͔͠ͳ͠ɻ ͜Ε͸طଘͷೝূඞਢ"1*ͳͷͰ ৽ͨʹ࣮૷͸͍Βͳ͍Α
  5. 8FCBVUIO࣮૷ϑϩϯτΤϯυͰ࣮૷͢Δ΋ͷ Sign Up Ϣʔβొ࿥ ൿີ伴࡞੒ґཔ SFHJTUFS"1*ͱDBMMCBDL"1*Λೋ࣮ͭߦ͢Δ Sign In طଘͷϢʔβͰϩάΠϯ ൿີ伴ݕࡧґཔ

    TFTTJPO"1*ͱDBMMCBDL"1*Λೋ࣮ͭߦ͢Δ Credentials Management Page ൿີ伴ͷ؅ཧϖʔδ ͭը໘Λ࣮૷͢Δඞཁ͕͋Γɻ ͨͩϩάΠϯ಺෦ͷϩδοΫ͕1045͢Δ͚ͩͰ͸ͳ͍ͷͰ஫ҙɻ 8FC"VUIO+TPOΛ࢖ͬͯൿີ伴ͷ࡞੒Λϒϥ΢βʹଅ࣮͢૷͕ඞཁɻ Web Frontend
  6. Blog: https://www.srockstyle.com/ • Twitterɿhttps://twitter.com/srockstyle • Facebookɿhttps://www.facebook.com/srockstyle • Githubɿhttps://github.com/srockstyle • Qiitaɿhttp://qiita.com/srockstyle

    • Wantedlyɿhttps://www.wantedly.com/users/2279 • YOUTRUST: https://youtrust.jp/users/srockstyle • Slideshareɿhttp://www.slideshare.net/srockstyle ۀ຿ҕୗͷ࢓ࣄ΋ɺਖ਼ࣾһͱͯ͠ͷεΧ΢τ΋͓଴ͪͯ͠·͢