webauthn_study_ritou.pdf
by
ritou
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
WebAuthnの導入事例から見る 定石と今後の課題 @ritou #webauthn_study 2019/10/28
Slide 2
Slide 2 text
@ritou
Slide 3
Slide 3 text
本日の内容 •事例から導入のポイントを整理 •2段階/2要素としての導入 •「パスワードレス」としての導入 •GOAL:不安になりそうな部分を認識し て導入に向けた一歩を踏み出す
Slide 4
Slide 4 text
2段階/2要素としての導入
Slide 5
Slide 5 text
の前に、リカバリーの話
Slide 6
Slide 6 text
by 誰か “FIDOはリカバリーが課題だよね”
Slide 7
Slide 7 text
アカウントリカバリー •利用不可能になったクレデンシャルの無効 化&再設定 •パスワード •TOTP(Secret) •リカバリーコード •Authenticator(PublicKey) •別の認証方式 or 複数登録 に収束
Slide 8
Slide 8 text
パスワード認証における リカバリー •忘れた •別の認証方式 + 再設定 •利用できない環境 •覚えてればあらゆる環境で利用可能
Slide 9
Slide 9 text
SMS/Emailへ通知における リカバリー •番号、メアドが変わった •別の認証方式 + 無効化/再設定 •一時的に利用できない環境、状況 •別の認証方式
Slide 10
Slide 10 text
TOTPにおける リカバリー •手元の端末の設定消した、落とした •別の認証方式 + 無効化/再設定 •一時的に利用できない環境、状況 •別の認証方式
Slide 11
Slide 11 text
リカバリーコードの リカバリー(?) •紛失、盗難 •別の認証方式 + 無効化/再発行 •一時的に利用できない環境、状況 •別の認証方式
Slide 12
Slide 12 text
FIDOにおける リカバリー •紛失、盗難 •別の認証方式もしくは複数登録可能 にして無効化/再設定 •利用できない環境 •別の認証方式
Slide 13
Slide 13 text
リカバリーは それほど問題ではない
Slide 14
Slide 14 text
(改めて) 2段階/2要素としての導入
Slide 15
Slide 15 text
導入事例 •Google, Github… •パスワード認証との組み合わせ •間違っても単一要素で通さない
Slide 16
Slide 16 text
どこに手を入れるか •アカウント設定 •認証 •再認証 •(2段階/2要素が必須でない限りは)新 規登録の対応は任意
Slide 17
Slide 17 text
アカウント設定 •追加認証を有効にする •リカバリー設定 : 別の認証方式を用意 •SMS/Emailによる通知 •リカバリーコード設定 •Authenticator(PublicKey)設定 •名前をつけるタイミング?
Slide 18
Slide 18 text
アカウント設定 (Github)
Slide 19
Slide 19 text
認証 •パスワード認証+追加認証を要求 •複数ある場合に優先する認証方式? •設定やWebAuthnの利用可否で分岐? •別の認証方式への切り替え •スキップ機能 = Cookieの所持認証?
Slide 20
Slide 20 text
認証(Github)
Slide 21
Slide 21 text
再認証 •例 : Github •「パスワード確認」していたところ に WebAuthn が利用可能
Slide 22
Slide 22 text
再認証(Github)
Slide 23
Slide 23 text
検討事項
Slide 24
Slide 24 text
(検討事項) リカバリー用の認証方式 •海外サービスでは最低でも2つは用意 している模様 •SMS •リカバリーコード •カスタマーサポートの負担が決まる
Slide 25
Slide 25 text
(検討事項) 利用可能な環境の制限 •制限する場合は管理が必要 •User-Agent •Platform or Cross-platform •Attestation
Slide 26
Slide 26 text
(検討事項) 追加認証要求のタイミング •パスワード認証「成功」したら要求 •パスワード認証結果に関わらず要求 •パスワード認証前に要求
Slide 27
Slide 27 text
まとめ •アカウント設定のあたりは定石と呼 べるものができており、環境を縛る かどうかぐらいか •認証部分はまだ考慮すべき点がある かも?
Slide 28
Slide 28 text
パスワードレスとしての導入
Slide 29
Slide 29 text
2段階/2要素に比べて なんとなく不安?
Slide 30
Slide 30 text
やはりリカバリー?
Slide 31
Slide 31 text
(あなたの思う) パスワードレスとは? •パスワードを使わない •所持 or 生体 or 記憶(ローカル?) •FIDO UP(UserPresent)はNG? •FIDO UV(UserVerified)相当 •所持 + (記憶 or 生体)
Slide 32
Slide 32 text
パスワードを使わない •単一要素の認証方式とFIDO UVの組み 合わせ •SMS/Email/Pushへの通知 •ソーシャルログイン •緩いとこに攻撃を受ける覚悟が必要
Slide 33
Slide 33 text
FIDO UV相当 •複数要素の認証方式が必要 •それがなかったからFIDOなんだろ? •他のサービスで2段階/2要素してる IdPとのID連携? •IdPがMFAを保証してくれたら使え そう -> OpenID Connect!
Slide 34
Slide 34 text
どこに手を入れるか •アカウント設定 •認証 •再認証 •新規登録(FIDO必須な場合)
Slide 35
Slide 35 text
検討事項
Slide 36
Slide 36 text
(検討事項) Resident Keyの利用 •サービスのユーザー識別を先にする かどうか •メアドやSMSを入れる手間を減らせ るか? •RK非対応環境ではどうする?
Slide 37
Slide 37 text
RedidentKey利用アリ (Microsoft)
Slide 38
Slide 38 text
RedidentKey利用ナシ (Y!J)
Slide 39
Slide 39 text
(検討事項) 新規登録フロー、リカバリー •リカバリー考慮して効率的に2種類 の認証方式を設定するには? •新規登録も要件の分解が必要 •連絡先、属性情報、クレデンシャル •#iddance でやるよ
Slide 40
Slide 40 text
まとめ •リカバリー用に別の認証方式は必要 •サービスが必要とする認証要素によ り、実装に幅が出そう •新規登録フローについてはまだ手本 となるサービスはなさそう
Slide 41
Slide 41 text
終わり •質問などは @ritou までください •11/1(金)に #iddance やります