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