Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
webauthn_study_ritou.pdf
ritou
October 28, 2019
Technology
3
810
webauthn_study_ritou.pdf
2019/10/28 開催の #webauthn_study の発表資料です。
https://web-study.connpass.com/event/149833/
ritou
October 28, 2019
Tweet
Share
More Decks by ritou
See All by ritou
GNAP超入門 ~ IW2021 C15
ritou
1
2k
OAuth 2.0仕様紹介 JAR, PAR, RAR @ iddance Lesson3
ritou
1
630
ID連携の標準化仕様紹介とセキュアな実装のためのアプローチ 2021 / Identity Federation Protocols 2021
ritou
3
5.8k
JWT Boot Camp 2020
ritou
1
5.6k
iddance2_ritou.pdf
ritou
1
3.4k
WebAuthn/FIDOのUX徹底解説 ~実サービスへの導入イメージを添えて~ / builderscon tokyo 2019 ritou
ritou
11
5.4k
コンシューマ向けサービスで使われている 認証認可仕様とデジタル署名 / saloff1-ritou
ritou
1
930
Identity Dance School Lesson.1 / iddance_1_ritou
ritou
1
280
WebAuthn @ DroidKaigi 2019
ritou
5
3.4k
Other Decks in Technology
See All in Technology
CTOのためのQAのつくりかた #scrumniigata / SigSQA How to create QA for CTOs and VPoEs
caori_t
0
300
Puny to Powerful PostgreSQL Rails Apps
andyatkinson
PRO
0
340
Learning from AWS Customer Security Incidents [2022]
ramimac
0
1.2k
[SRE NEXT 2022]メルカリグループにおけるSREs
srenext
0
270
220521_SFN_品質文化試論と『LEADING QUALITY』/220521_SFN_Essay_of_Quality_Culture_and_LEADING_QUALITY
mkwrd
0
280
HTTP Session Architecture Pattern
chiroito
1
400
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.1k
我々はなぜテストをするのか?
kawaguti
PRO
0
530
GitHub 엔터프라이즈 어카운트 소개 및 엔터프라이즈 서버 구축 경험
posquit0
1
140
圧倒的成長をしながら急拡大してる開発組織が新卒採用やってみた
andpad
0
160
インフラエンジニアBooks 30分でわかる「Dockerコンテナ開発・環境構築の基本」
cyberblack28
11
7k
Who owns the Service Level?
chaspy
5
1.1k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Building Applications with DynamoDB
mza
83
4.6k
How to train your dragon (web standard)
notwaldorf
57
3.8k
Clear Off the Table
cherdarchuk
79
280k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
212
11k
For a Future-Friendly Web
brad_frost
164
7.4k
Building Flexible Design Systems
yeseniaperezcruz
310
33k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Designing the Hi-DPI Web
ddemaree
272
32k
Rails Girls Zürich Keynote
gr2m
86
12k
The Most Common Mistakes in Cover Letters
jrick
PRO
4
24k
Transcript
WebAuthnの導入事例から見る 定石と今後の課題 @ritou #webauthn_study 2019/10/28
@ritou
本日の内容 •事例から導入のポイントを整理 •2段階/2要素としての導入 •「パスワードレス」としての導入 •GOAL:不安になりそうな部分を認識し て導入に向けた一歩を踏み出す
2段階/2要素としての導入
の前に、リカバリーの話
by 誰か “FIDOはリカバリーが課題だよね”
アカウントリカバリー •利用不可能になったクレデンシャルの無効 化&再設定 •パスワード •TOTP(Secret) •リカバリーコード •Authenticator(PublicKey) •別の認証方式 or 複数登録
に収束
パスワード認証における リカバリー •忘れた •別の認証方式 + 再設定 •利用できない環境 •覚えてればあらゆる環境で利用可能
SMS/Emailへ通知における リカバリー •番号、メアドが変わった •別の認証方式 + 無効化/再設定 •一時的に利用できない環境、状況 •別の認証方式
TOTPにおける リカバリー •手元の端末の設定消した、落とした •別の認証方式 + 無効化/再設定 •一時的に利用できない環境、状況 •別の認証方式
リカバリーコードの リカバリー(?) •紛失、盗難 •別の認証方式 + 無効化/再発行 •一時的に利用できない環境、状況 •別の認証方式
FIDOにおける リカバリー •紛失、盗難 •別の認証方式もしくは複数登録可能 にして無効化/再設定 •利用できない環境 •別の認証方式
リカバリーは それほど問題ではない
(改めて) 2段階/2要素としての導入
導入事例 •Google, Github… •パスワード認証との組み合わせ •間違っても単一要素で通さない
どこに手を入れるか •アカウント設定 •認証 •再認証 •(2段階/2要素が必須でない限りは)新 規登録の対応は任意
アカウント設定 •追加認証を有効にする •リカバリー設定 : 別の認証方式を用意 •SMS/Emailによる通知 •リカバリーコード設定 •Authenticator(PublicKey)設定 •名前をつけるタイミング?
アカウント設定 (Github)
認証 •パスワード認証+追加認証を要求 •複数ある場合に優先する認証方式? •設定やWebAuthnの利用可否で分岐? •別の認証方式への切り替え •スキップ機能 = Cookieの所持認証?
認証(Github)
再認証 •例 : Github •「パスワード確認」していたところ に WebAuthn が利用可能
再認証(Github)
検討事項
(検討事項) リカバリー用の認証方式 •海外サービスでは最低でも2つは用意 している模様 •SMS •リカバリーコード •カスタマーサポートの負担が決まる
(検討事項) 利用可能な環境の制限 •制限する場合は管理が必要 •User-Agent •Platform or Cross-platform •Attestation
(検討事項) 追加認証要求のタイミング •パスワード認証「成功」したら要求 •パスワード認証結果に関わらず要求 •パスワード認証前に要求
まとめ •アカウント設定のあたりは定石と呼 べるものができており、環境を縛る かどうかぐらいか •認証部分はまだ考慮すべき点がある かも?
パスワードレスとしての導入
2段階/2要素に比べて なんとなく不安?
やはりリカバリー?
(あなたの思う) パスワードレスとは? •パスワードを使わない •所持 or 生体 or 記憶(ローカル?) •FIDO UP(UserPresent)はNG?
•FIDO UV(UserVerified)相当 •所持 + (記憶 or 生体)
パスワードを使わない •単一要素の認証方式とFIDO UVの組み 合わせ •SMS/Email/Pushへの通知 •ソーシャルログイン •緩いとこに攻撃を受ける覚悟が必要
FIDO UV相当 •複数要素の認証方式が必要 •それがなかったからFIDOなんだろ? •他のサービスで2段階/2要素してる IdPとのID連携? •IdPがMFAを保証してくれたら使え そう -> OpenID
Connect!
どこに手を入れるか •アカウント設定 •認証 •再認証 •新規登録(FIDO必須な場合)
検討事項
(検討事項) Resident Keyの利用 •サービスのユーザー識別を先にする かどうか •メアドやSMSを入れる手間を減らせ るか? •RK非対応環境ではどうする?
RedidentKey利用アリ (Microsoft)
RedidentKey利用ナシ (Y!J)
(検討事項) 新規登録フロー、リカバリー •リカバリー考慮して効率的に2種類 の認証方式を設定するには? •新規登録も要件の分解が必要 •連絡先、属性情報、クレデンシャル •#iddance でやるよ
まとめ •リカバリー用に別の認証方式は必要 •サービスが必要とする認証要素によ り、実装に幅が出そう •新規登録フローについてはまだ手本 となるサービスはなさそう
終わり •質問などは @ritou までください •11/1(金)に #iddance やります