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
Iori IKEDA
February 07, 2024
Technology
0
110
Passkeysのはなし
社内のLT会で Passkeys の紹介をしたものを一部改変して公開した資料です。
Iori IKEDA
February 07, 2024
Tweet
Share
More Decks by Iori IKEDA
See All by Iori IKEDA
RubyLSPのマルチバイト文字対応
notfounds
1
200
Other Decks in Technology
See All in Technology
“新卒らしさ”を脱ぎ捨てて 〜1年を経て学んだこと〜
rebase_engineering
0
120
CSS polyfill とその未来
ken7253
0
130
AIの電力問題を概観する
rmaruy
1
200
Introduction to Bill One Development Engineer
sansan33
PRO
0
230
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.1k
新卒から4年間、20年もののWebサービスと向き合って学んだソフトウェア考古学 - PHPカンファレンス新潟2025 / new graduate 4year software archeology
oguri
2
340
継続戦闘能⼒
sansantech
PRO
0
200
VueUseから学ぶ実践TypeScript #TSKaigi #TSKaigi2025
bengo4com
3
5.3k
Slackひと声でブログ校正!Claudeレビュー自動化編
yusukeshimizu
3
140
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
Okayama WordPress Meetup #12 | そのバックアップ、本当に復元できますか? リストアやってみた!
takeshifurusato
0
110
AIに実況させる / AI Streamer
motemen
3
1.4k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Navigating Team Friction
lara
185
15k
Faster Mobile Websites
deanohume
307
31k
Designing for Performance
lara
608
69k
Being A Developer After 40
akosma
91
590k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
A Tale of Four Properties
chriscoyier
159
23k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Done Done
chrislema
184
16k
Why Our Code Smells
bkeepers
PRO
336
57k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Designing for humans not robots
tammielis
253
25k
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.