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
49
Passkeysのはなし
社内のLT会で Passkeys の紹介をしたものを一部改変して公開した資料です。
Iori IKEDA
February 07, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
300
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.8k
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
350
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
VS CodeでAWSを操作しよう
smt7174
8
1.7k
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
390
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
KATA
mclloyd
15
12k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Debugging Ruby Performance
tmm1
70
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Practical Orchestrator
shlominoach
182
9.7k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Thoughts on Productivity
jonyablonski
58
3.8k
How to train your dragon (web standard)
notwaldorf
73
5.2k
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.