OSC大阪 パスワード認証は人類には早すぎる ~ IDaaSを使ったソーシャルログインのすすめ ~
by
Auth屋
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
人類にパスワード認証は早す る ~IDaaSを使ったソーシャルログインのすすめ~ 2023 年 1 月 28 日 Auth屋 1
Slide 2
Slide 2 text
本セッションの趣旨 誰向けか ログイン周りを作ることになった認証のプロではないエンジニア 内容 ● パスワードログインの課題 ● ソーシャルログインのすすめ ● IDaaSのすすめ 狙い 「 IDaaSを使ってソーシャルログインにしよう」と思ってもらいたい 2
Slide 3
Slide 3 text
Auth屋 is 誰 ? OAuth、OpenID Connectの本を書いてます 商業誌 同人誌 Boothで販売中 https://authya.booth.pm/ Amazon、その他書店で発売中 3
Slide 4
Slide 4 text
Auth屋 is 誰 ? 本セッションはソーシャルログイン本の抜粋(図も本 ら引用) 商業誌 同人誌 Boothで販売中 https://authya.booth.pm/ Amazon、その他書店で発売中 4
Slide 5
Slide 5 text
監修者 いとう りょうさん(@ritou) ● OpenID Connect Core1.0の コントリビュータ ● OpenIDファウンデーション・ジャパン のエバンジェリスト ● Identity Dance School #iddance 5
Slide 6
Slide 6 text
目次 1部 パスワード認証の課題 2部 ソーシャルログインのすすめ 3部 IDaaSのすすめ 6
Slide 7
Slide 7 text
目次 1部 パスワード認証の課題 2部 ソーシャルログインのすすめ 3部 IDaaSのすすめ 7
Slide 8
Slide 8 text
質問 自分のアプリにログインをつけるとしたら、 認証方式は何にしますか? 8
Slide 9
Slide 9 text
パスワード認証についての人類の脆弱性 1. パスワードを忘れる 2. パスワードを使い回す 3. 推測しやすいパスワードを使う 4. フィッシングサイトにパスワードを入力する 9
Slide 10
Slide 10 text
課題1 | パスワードを忘れる 対策 ● リカバリー ○ 何ら の理由でログインで ない状態を正常な状態に戻すプロセス ○ ログインとは別のユーザー認証 + ログイン認証情報の更新 ● パスワード認証のリカバリー ○ メール認証 + パスワード再設定 実質的にもう一つの認証が必要 10
Slide 11
Slide 11 text
課題2 | パスワードの使い回し パスワードリスト攻撃 流出したユーザー識別子とパスワードによる不正アクセス 11
Slide 12
Slide 12 text
課題3 | 推測しやすいパスワード パスワードスプレー攻撃 ● ユーザー識別子(メールアドレスや電話番号など)をあら じめ取得 ● パスワードを固定した上でユーザー識別子を えて不正アクセスを試みる ○ 「複数回パスワードを間違えたらログイン禁止」では対策で ない 12
Slide 13
Slide 13 text
正規ログインと見分けに する工夫 検知が難しい 13
Slide 14
Slide 14 text
対策 | 2要素認証 2要素認証 = 異なる2つの要素を組み合わせた認証 知識 | ユーザーが記憶している情報 パスワード、暗証番号 所有 | ユーザーの所有物 メールやSMSを受け取れる端末、モバイルアプリ インストールされた端末 生体 | ユーザーの身体的特徴 指紋、顔、網膜 14
Slide 15
Slide 15 text
対策 | 2要素認証 パスワード(知識要素)に加えて、モバイル(所有要素)を利用 ● モバイルアプリで許可 ● モバイルアプリでワンタイムパスワード ● メール、SMSにワンタイムパスワードを通知 15
Slide 16
Slide 16 text
対策 | 2要素認証 16
Slide 17
Slide 17 text
課題4 | フィッシングサイトへの入力 17
Slide 18
Slide 18 text
フィッシング攻撃 18
Slide 19
Slide 19 text
フィッシング攻撃 2要素認証を使えば防げる? 19
Slide 20
Slide 20 text
フィッシング攻撃 | 2要素認証の場合 2要素認証でも防げない 20
Slide 21
Slide 21 text
対策 | FIDO認証 FIDO認証とは ● Fast IDentity Onlineの略 ● 脱パスワード認証として提唱 ● ユーザーとサーバーで秘密の情報を共有しない ● 手元の認証器(指紋、顔認識、PIN入力など)にて認証 21
Slide 22
Slide 22 text
対策 | FIDO認証 22
Slide 23
Slide 23 text
対策 | FIDO認証 23
Slide 24
Slide 24 text
まとめ | パスワード認証の課題 課題 攻撃 対策 パスワードを忘れる - リカバリーの提供 パスワードの使い回し パスワードリスト攻撃 2要素認証 推測されやすい パスワードの利用 パスワードスプレー攻撃 2要素認証 フィッシングアプリへの パスワード入力 フィッシング攻撃 FIDO認証 24
Slide 25
Slide 25 text
ログインでそこまで んばる? アプリ 本来提供したい価値とは直接関係ない 25
Slide 26
Slide 26 text
ログインでそこまで んばる? アプリ 本来提供したい価値とは直接関係ない ソーシャルログインなら外部サービスに認証をおまかせできる 26
Slide 27
Slide 27 text
目次 1部 パスワード認証の脆弱性 2部 ソーシャルログインのすすめ 3部 IDaaSのすすめ 27
Slide 28
Slide 28 text
ソーシャルログインとは 普段使っているSNSやウェブサービスのユーザー認証を使って、アプリに登録・ ログインする仕組み 28
Slide 29
Slide 29 text
用語 Identity Provider ( IdP ) ソーシャルログインを提供するサービス リライングパーティ ソーシャルログインを利用するアプリ ID連携 ソーシャルログイン = アイデンティティ(ユーザーの属性情報)を活用する仕組み 29
Slide 30
Slide 30 text
IDとは? Identity ● ユーザーの属性情報 ● 「IdP」、「ID連携」、「ID管理」 ● 本資料にでて る「ID」はすべてこちら Identifier ● 識別子 ● 「ユーザーID」、「クライアントID」 ● 本資料では「ユーザー識別子」として表記 30
Slide 31
Slide 31 text
ソーシャルログインの仕組み 31
Slide 32
Slide 32 text
ユーザー視点のメリット ● 新しいパスワード 必要ない ● 初期登録の手間 少ない ○ アプリはユーザーの属性情報をIdP ら取得 32
Slide 33
Slide 33 text
開発者目線のメリット ● ユーザー認証を自前で実装する必要 な なる ● IdPの高度な認証方式を取り込める ● 登録時の離脱率を低減で る 33
Slide 34
Slide 34 text
開発者目線のメリット ● ユーザー認証を自前で実装する必要 な なる ● IdPの高度な認証方式を取り込める ● 登録時の離脱率を低減で る パスワード認証の課題はIdP側におまかせできる 34
Slide 35
Slide 35 text
留意点 1. IdPごとに仕組み 微妙に異なる 2. リカバリーの実装 必要 3. ID管理の各種機能の実装 必要 35
Slide 36
Slide 36 text
留意点1 | IdPごとに仕組み 微妙に異なる IdP 仕組み Google OpenID Connect Twitter OAuth1.0a / OAuth2.0 ベースの独自仕様 FaceBook OAuth2.0 ベースの独自仕様 Apple OpenID Connect(独自拡張あり) 36
Slide 37
Slide 37 text
留意点2 | リカバリーの実装 必要 ソーシャルログインでログインできなくなるケース ● IdP側の不具合 ● SNSユーザーの利用停止 ソーシャルログインのリカバリー ● 例: 「メール認証」 + 「別のIdPとの連携」 37
Slide 38
Slide 38 text
ソーシャルログインのリカバリーの例 38
Slide 39
Slide 39 text
ソーシャルログインのリカバリーの例 認証が必要 39
Slide 40
Slide 40 text
留意点3 | ID管理の各種機能の実装 必要 40
Slide 41
Slide 41 text
ID管理機能 41
Slide 42
Slide 42 text
ID管理機能 42
Slide 43
Slide 43 text
ID管理機能 43
Slide 44
Slide 44 text
ID管理機能 44
Slide 45
Slide 45 text
留意点 1. IdPごとに仕組み 微妙に異なる 2. リカバリーの実装 必要 3. ID管理の各種機能の実装 必要 45
Slide 46
Slide 46 text
まとめ | ソーシャルログインのすすめ ユーザーのメリット 1. 新しいパスワード 必要ない 2. 初期登録の手間 少ない 開発者のメリット 1. ユーザー認証を自前で実装する必要 な なる 2. IdPの高度な認証方式を取り込める 3. 登録時の離脱率を低減で る 留意点 1. IdPごとに仕組み 微妙に異なる 2. リカバリーの実装 必要 3. ID管理の各種機能の実装 必要 46
Slide 47
Slide 47 text
まとめ | ソーシャルログインのすすめ ユーザーのメリット 1. 新しいパスワード 必要ない 2. 初期登録の手間 少ない 開発者のメリット 1. ユーザー認証を自前で実装する必要 な なる 2. IdPの高度な認証方式を取り込める 3. 登録時の離脱率を低減で る 留意点 1. IdPごとに仕組み 微妙に異なる 2. リカバリーの実装 必要 3. ID管理の各種機能の実装 必要 IDaaSで対応 47
Slide 48
Slide 48 text
目次 1部 パスワード認証の脆弱性 2部 ソーシャルログインのすすめ 3部 IDaaSのすすめ 48
Slide 49
Slide 49 text
IDaaSとは 何の略 ● Identity as a Serviceの略 以下の機能を提供するクラウドサービス ● ログイン機能 ● ID管理機能 ● 外部サービスとのID連携機能 ● ユーザーの権限・状態に応じたアクセス制御 49
Slide 50
Slide 50 text
企業システム向けのIDaaS 50
Slide 51
Slide 51 text
コンシューマーアプリ向けIDaaS 51
Slide 52
Slide 52 text
コンシューマーアプリ向けIDaaS ● Firebase Authentication ● Auth0 ● AWS Cognito ● Azure Active Directory BtoC 52
Slide 53
Slide 53 text
留意点 1. IdPごとに仕組み 微妙に異なる 2. リカバリーの実装 必要 3. ID管理の各種機能の実装 必要 53
Slide 54
Slide 54 text
留意点 1. IdPごとに仕組み 微妙に異なる 2. リカバリーの実装 必要 3. ID管理の各種機能の実装 必要 IDaaSで対応 54
Slide 55
Slide 55 text
留意点1 | IdPごとに仕組み 異なる 55
Slide 56
Slide 56 text
留意点2 | リカバリーの実装 必要 56
Slide 57
Slide 57 text
留意2 | リカバリーの実装 必要 認証機能や複数のIdPとの連 携機能はIDaaSが提供 57
Slide 58
Slide 58 text
留意点3 | ID管理機能の実装 58
Slide 59
Slide 59 text
留意点3 | ID管理機能の実装 IDaaSが提供してくれる 59
Slide 60
Slide 60 text
Firebase Authentication すすめ おすすめする理由 ● Googleアカウント あれば使い始められる ● 無料プランの制限 ほぼない ○ 電話認証月1万回まで ● Firebase Authentication 単体でも使える 60
Slide 61
Slide 61 text
まとめ | IDaaSのすすめ ソーシャルログインの仕組みの違い ● IdPとやり取りするのはIDaaS ● アプリはIDaaSのAPIを呼び出すだけ リカバリーのための認証 ● IDaaSは各種の認証機能を提供 ID管理の機能 ● IDaaS ID管理機能を提供 61
Slide 62
Slide 62 text
全体まとめ パスワード認証はつらい ● パスワードリスト・スプレー攻撃対策としての2要素認証 ● フィッシングのことまで考えるとFIDO認証 ● リカバリーも必要 ソーシャルログインのすすめ ● ユーザー認証をIdPに ま せで る IDaaSのすすめ ● ソーシャルログインの仕組みの違いを吸収 ● リカバリーのための認証を提供 ● ID管理機能を提供 62
Slide 63
Slide 63 text
宣伝 | ソーシャルログイン本 内容 ● 今回の発表内容 ● Firebase Authenticationでサンプルアプリを作 りな らソーシャルログイン、ID管理を学ぶ ● Firebase Authentication 単体での使い方 63
Slide 64
Slide 64 text
宣伝 | ソーシャルログイン本 64
Slide 65
Slide 65 text
宣伝 | 同人誌 Boothで販売中 https://authya.booth.pm/ 雰囲気OAuth本 OIDC本 攻撃本 65
Slide 66
Slide 66 text
ご清聴あり とうございました 66