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
130
Passkeysのはなし
社内のLT会で Passkeys の紹介をしたものを一部改変して公開した資料です。
Iori IKEDA
February 07, 2024
Tweet
Share
More Decks by Iori IKEDA
See All by Iori IKEDA
RubyLSPのマルチバイト文字対応
notfounds
1
240
Other Decks in Technology
See All in Technology
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
0
210
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
430
どうなる Remix 3
tanakahisateru
2
360
CodexでもAgent Skillsを使いたい
gotalab555
9
4.5k
AWS資格は取ったけどIAMロールを腹落ちできてなかったので、年内に整理してみた
hiro_eng_
0
200
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
2
810
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
150
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
130
從裝潢設計圖到 Home Assistant:打造智慧家庭的實戰與踩坑筆記
kewang
0
160
Post-AIコーディング時代のエンジニア生存戦略
shinoyu
0
250
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
2
770
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
8
2.2k
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Into the Great Unknown - MozCon
thekraken
40
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
GraphQLとの向き合い方2022年版
quramy
49
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Rails Girls Zürich Keynote
gr2m
95
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
It's Worth the Effort
3n
187
28k
BBQ
matthewcrist
89
9.9k
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.