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
65
Passkeysのはなし
社内のLT会で Passkeys の紹介をしたものを一部改変して公開した資料です。
Iori IKEDA
February 07, 2024
Tweet
Share
More Decks by Iori IKEDA
See All by Iori IKEDA
RubyLSPのマルチバイト文字対応
notfounds
0
120
Other Decks in Technology
See All in Technology
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
590
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
強いチームと開発生産性
onk
PRO
34
11k
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Teambox: Starting and Learning
jrom
133
8.8k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Faster Mobile Websites
deanohume
305
30k
The Language of Interfaces
destraynor
154
24k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
We Have a Design System, Now What?
morganepeng
50
7.2k
Gamification - CAS2011
davidbonilla
80
5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
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.