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
Passkeysのはなし
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Iori IKEDA
February 07, 2024
Technology
0
140
Passkeysのはなし
社内のLT会で Passkeys の紹介をしたものを一部改変して公開した資料です。
Iori IKEDA
February 07, 2024
Tweet
Share
More Decks by Iori IKEDA
See All by Iori IKEDA
RubyLSPのマルチバイト文字対応
notfounds
1
260
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
データの整合性を保ちたいだけなんだ
shoheimitani
7
2.8k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
380
今日から始めるAmazon Bedrock AgentCore
har1101
4
380
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
1
340
What happened to RubyGems and what can we learn?
mikemcquaid
0
230
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
2
830
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
190
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.3k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
130
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
170
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
130
The SEO Collaboration Effect
kristinabergwall1
0
350
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
370
Between Models and Reality
mayunak
1
180
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
660
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
110
HDC tutorial
michielstock
1
350
Transcript
© 2023 Wantedly, Inc. Passkeys のはなし Tech Lunch Dec. 14
2023 - Iori IKEDA
⚠おことわり ⚠ 本資料は社内の(非エンジニア含む)メンバー向けに発表し た内容から公開できないものを取り除いたものです。 正確性よりも分かりやすさを優先して誇張した表現を使って いる箇所があるため予めご了承ください。 © 2023 Wantedly, Inc.
お品書き 1. 認証技術の歴史的背景と進化 2. Passkeys の登場 3. Passkeys のユーザー体験 4.
Passkeys の実装 5. まとめ © 2023 Wantedly, Inc.
認証技術の歴史的背景と進化 Section Subhead © 2023 Wantedly, Inc.
認証技術の歴史的背景と進化 © 2023 Wantedly, Inc. 古代ギリシャ 1960年 ~ ~ 2000年
2020年
認証技術の歴史的背景と進化 © 2023 Wantedly, Inc. ~ ~ 古代ギリシャ 1960年 2000年
2020年 合言葉
合言葉 認証技術の歴史的背景と進化 © 2023 Wantedly, Inc. ~ ~ 古代ギリシャ 1960年
2000年 2020年 コンピュータ上でパ スワード利用
認証技術の歴史的背景と進化 - パスワード認証 © 2023 Wantedly, Inc. • ID/Email とパスワードのペアで認証
• 利用するサービス数と共に増加 • パスワードの管理/設定方法 ◦ 付箋やメモ帳 ◦ 誕生日や社員番号 ◦ 複数サービスでの共有 ◦ パスワードマネージャー
コンピュータ上でパ スワード利用 合言葉 認証技術の歴史的背景と進化 © 2023 Wantedly, Inc. ~ ~
古代ギリシャ 1960年 2000年 2020年 SSO
認証技術の歴史的背景と進化 - SSO(Single Sign On) © 2023 Wantedly, Inc. •
メリット ◦ 強力な認証を設定するとそれと同水準になる ◦ 登録時のユーザー体験が良い ▪ それぞれでパスワードを管理する必要がない ▪ ユーザー情報の引き継ぎなど • デメリット ◦ 連携元のアカウントがハッキングされた場合 ◦ 連携元がダウン/API停止/サービス終了した場合 ◦ SSOの実装が複雑
SSO コンピュータ上でパ スワード利用 合言葉 認証技術の歴史的背景と進化 © 2023 Wantedly, Inc. ~
~ 古代ギリシャ 1960年 2000年 2020年 MFA
認証技術の歴史的背景と進化 - MFA(Multi Factor Authentication) © 2023 Wantedly, Inc. 認証の三要素
• 知識 ◦ パスワードやPINなど ◦ 最もよく利用されている • 所持 ◦ 免許証やマイナンバーカード、USBドングル ◦ 物理的に持っている必要があり、紛失や盗難リスク • 生体 ◦ 指紋、顔、静脈、声紋 ◦ 一度生体情報が流出してしまうと使えなくなってしまう
認証技術の歴史的背景と進化 - MFA(Multi Factor Authentication) © 2023 Wantedly, Inc. 知識(パスワード)
+ α による認証のバリエーション... • SMS へのワンタイムコード送信 • メールへのワンタイムコード送信 • メールへのマジックリンク送信 • TOTP/HOTPなどのワンタイムコード生成機 • USBドングルなどのセキュリティキー • デバイスの生体認証
iPhone5s MFA SSO コンピュータ上でパ スワード利用 合言葉 認証技術の歴史的背景と進化 © 2023 Wantedly,
Inc. ~ ~ 古代ギリシャ 1960年 2000年 2020年 FIDO
Passkeys の登場 Section Subhead © 2023 Wantedly, Inc.
Passkeys の登場 © 2023 Wantedly, Inc. • FIDO Alliance が提唱
「パスワード認証を置き換えること」が目的 • FIDO (Fast IDentity Online) ◦ 公開鍵認証方式を使って堅牢な認証を実現する技術 ◦ 一言でいうと... 「端末とサーバーで秘密を共有しない」 • 認証要素 ◦ 所持 + 知識(PIN) ◦ 所持 + 生体(指紋/顔)
Passkeys の登場 © 2023 Wantedly, Inc. • Passkeys = FIDO2
+ マルチデバイス対応 ◦ FIDO2 = WebAuthn + CTAP2 ◦ マルチデバイス対応 ▪ Cloud に FIDO認証資格情報を保存 • デバイスの紛失や破損、移行問題を克服 • ただし... Platform 間(iCloud ⇔ Google) での共有はまだ ▪ Hybrid Transport などの仕組みでカバー Mac 上のブラウザから Android 端末を使って認証
Passkeys のユーザー体験 Section Subhead © 2023 Wantedly, Inc.
Passkeys のユーザー体験 Passwordの設定 © 2023 Wantedly, Inc.
Passwordの設定 Passkeys のユーザー体験 © 2023 Wantedly, Inc. 致しません!!
Passkeys のユーザー体験 多要素認証の設定 © 2023 Wantedly, Inc.
多要素認証の設定 Passkeys のユーザー体験 © 2023 Wantedly, Inc. 致しません!! ※Passkey利用可能な状態であれば新たに多要素は不要
フィッシングのリスク Passkeys のユーザー体験 © 2023 Wantedly, Inc.
フィッシングのリスク Passkeys のユーザー体験 © 2023 Wantedly, Inc. ございません!! ※正確にはPasskeyというよりFIDOがフィッシングに対して強い耐性を持っています
Passkeys のユーザー体験 安心・安全な認証 🎉🎉🎉 © 2023 Wantedly, Inc.
Passkeys のユーザー体験 - 課題 © 2023 Wantedly, Inc. とはいえ課題はある... •
既存ユーザーに対しての利用訴求どうする? ◦ わざわざ設定画面から登録させる...? • Passkeys が使えない端末でも試してみるまでわからない問題 ◦ Passkey Autofill / conditional UI ▪ ログイン/登録でページを分ける必要がありそう ref: https://moneyforward-dev.jp/entry/2023/04/05/134721
Passkeys の実装 Section Subhead © 2023 Wantedly, Inc.
Passkeys の実装 - 登録 © 2023 Wantedly, Inc. • これ自体は
FIDO2 のフロー • 構造は SSO に近い? • 肝 ◦ ローカルの認証機に秘密鍵 ◦ サーバーでは署名の検証
Passkeys の実装 - ログイン(別端末) © 2023 Wantedly, Inc. • 認証機がない場合は別端末
Hybrid transport(caBLE) • 肝 ◦ BLE を使って近距離を保証 ◦ Challenge/QR コードは 有効期限が存在
Passkeys の実装 - 参考情報 © 2023 Wantedly, Inc. • 💻
Web ◦ https://passkeys.dev/ ◦ https://web.dev/articles/passkey-registration?hl=ja • 📱 Native 特定のドメインに対してアプリを紐づける必要 → apple-app-site-association 等 ◦ 🤖 Android ▪ https://developer.android.com/design/ui/mobile/guides/patterns/p asskeys?hl=ja ▪ https://developer.android.com/training/sign-in/passkeys?hl=ja ◦ 🍎 iOS ▪ https://support.apple.com/ja-jp/guide/iphone/iphf538ea8d0/ios ▪ https://developer.apple.com/documentation/authenticationservice s/connecting_to_a_service_with_passkeys
まとめ • Passkeys は安全で便利なパスワードレス認証を目的 ◦ FIDO 認証を利用 ▪ フィッシング耐性が強い ▪
生体データは認証機内に閉じる ◦ 複数デバイス間で FIDO 認証資格情報を共有できる点が肝 • フェーズ ◦ 個人で利用する分には OK。むしろ推奨 ◦ サービス提供者としてはユーザー体験を考える必要がある ▪ 完全にパスワードレスにするか ▪ 既存のユーザーの移行戦略 ▪ ログイン/新規登録画面の UI/UX ▪ Web/Native App への展開 © 2023 Wantedly, Inc.