Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSC大阪 パスワード認証は人類には早すぎる ~ IDaaSを使ったソーシャルログインのすすめ ~

Auth屋
January 29, 2023

OSC大阪 パスワード認証は人類には早すぎる ~ IDaaSを使ったソーシャルログインのすすめ ~

2023/01/28 オープンソースカンファレンス大阪で発表したスライドです。
目次
1部 パスワード認証の課題
2部 ソーシャルログインのすすめ
3部 IDaaSのすすめ

Auth屋

January 29, 2023
Tweet

More Decks by Auth屋

Other Decks in Programming

Transcript

  1. 人類にパスワード認証は早す る
    ~IDaaSを使ったソーシャルログインのすすめ~
    2023 年 1 月 28 日
    Auth屋
    1

    View full-size slide

  2. 本セッションの趣旨
    誰向けか
    ログイン周りを作ることになった認証のプロではないエンジニア
    内容
    ● パスワードログインの課題
    ● ソーシャルログインのすすめ
    ● IDaaSのすすめ
    狙い
    「 IDaaSを使ってソーシャルログインにしよう」と思ってもらいたい
    2

    View full-size slide

  3. Auth屋 is 誰 ?
    OAuth、OpenID Connectの本を書いてます
    商業誌 同人誌
    Boothで販売中 https://authya.booth.pm/
    Amazon、その他書店で発売中
    3

    View full-size slide

  4. Auth屋 is 誰 ?
    本セッションはソーシャルログイン本の抜粋(図も本 ら引用)
    商業誌 同人誌
    Boothで販売中 https://authya.booth.pm/
    Amazon、その他書店で発売中
    4

    View full-size slide

  5. 監修者 いとう りょうさん(@ritou)
    ● OpenID Connect Core1.0の
    コントリビュータ
    ● OpenIDファウンデーション・ジャパン
    のエバンジェリスト
    ● Identity Dance School #iddance
    5

    View full-size slide

  6. 目次
    1部 パスワード認証の課題
    2部 ソーシャルログインのすすめ
    3部 IDaaSのすすめ
    6

    View full-size slide

  7. 目次
    1部 パスワード認証の課題
    2部 ソーシャルログインのすすめ
    3部 IDaaSのすすめ
    7

    View full-size slide

  8. 質問
    自分のアプリにログインをつけるとしたら、
    認証方式は何にしますか?
    8

    View full-size slide

  9. パスワード認証についての人類の脆弱性
    1. パスワードを忘れる
    2. パスワードを使い回す
    3. 推測しやすいパスワードを使う
    4. フィッシングサイトにパスワードを入力する
    9

    View full-size slide

  10. 課題1 | パスワードを忘れる
    対策
    ● リカバリー
    ○ 何ら の理由でログインで ない状態を正常な状態に戻すプロセス
    ○ ログインとは別のユーザー認証 + ログイン認証情報の更新
    ● パスワード認証のリカバリー
    ○ メール認証 + パスワード再設定
    実質的にもう一つの認証が必要
    10

    View full-size slide

  11. 課題2 | パスワードの使い回し
    パスワードリスト攻撃
    流出したユーザー識別子とパスワードによる不正アクセス
    11

    View full-size slide

  12. 課題3 | 推測しやすいパスワード
    パスワードスプレー攻撃
    ● ユーザー識別子(メールアドレスや電話番号など)をあら じめ取得
    ● パスワードを固定した上でユーザー識別子を えて不正アクセスを試みる
    ○ 「複数回パスワードを間違えたらログイン禁止」では対策で ない
    12

    View full-size slide

  13. 正規ログインと見分けに する工夫
    検知が難しい
    13

    View full-size slide

  14. 対策 | 2要素認証
    2要素認証 = 異なる2つの要素を組み合わせた認証
    知識 | ユーザーが記憶している情報
    パスワード、暗証番号
    所有 | ユーザーの所有物
    メールやSMSを受け取れる端末、モバイルアプリ インストールされた端末
    生体 | ユーザーの身体的特徴
    指紋、顔、網膜
    14

    View full-size slide

  15. 対策 | 2要素認証
    パスワード(知識要素)に加えて、モバイル(所有要素)を利用
    ● モバイルアプリで許可
    ● モバイルアプリでワンタイムパスワード
    ● メール、SMSにワンタイムパスワードを通知
    15

    View full-size slide

  16. 対策 | 2要素認証
    16

    View full-size slide

  17. 課題4 | フィッシングサイトへの入力
    17

    View full-size slide

  18. フィッシング攻撃
    18

    View full-size slide

  19. フィッシング攻撃
    2要素認証を使えば防げる? 19

    View full-size slide

  20. フィッシング攻撃 | 2要素認証の場合
    2要素認証でも防げない 20

    View full-size slide

  21. 対策 | FIDO認証
    FIDO認証とは
    ● Fast IDentity Onlineの略
    ● 脱パスワード認証として提唱
    ● ユーザーとサーバーで秘密の情報を共有しない
    ● 手元の認証器(指紋、顔認識、PIN入力など)にて認証
    21

    View full-size slide

  22. 対策 | FIDO認証
    22

    View full-size slide

  23. 対策 | FIDO認証
    23

    View full-size slide

  24. まとめ | パスワード認証の課題
    課題 攻撃 対策
    パスワードを忘れる - リカバリーの提供
    パスワードの使い回し パスワードリスト攻撃 2要素認証
    推測されやすい
    パスワードの利用
    パスワードスプレー攻撃 2要素認証
    フィッシングアプリへの
    パスワード入力
    フィッシング攻撃 FIDO認証
    24

    View full-size slide

  25. ログインでそこまで んばる?
    アプリ 本来提供したい価値とは直接関係ない
    25

    View full-size slide

  26. ログインでそこまで んばる?
    アプリ 本来提供したい価値とは直接関係ない
    ソーシャルログインなら外部サービスに認証をおまかせできる
    26

    View full-size slide

  27. 目次
    1部 パスワード認証の脆弱性
    2部 ソーシャルログインのすすめ
    3部 IDaaSのすすめ
    27

    View full-size slide

  28. ソーシャルログインとは
    普段使っているSNSやウェブサービスのユーザー認証を使って、アプリに登録・
    ログインする仕組み
    28

    View full-size slide

  29. 用語
    Identity Provider ( IdP )
    ソーシャルログインを提供するサービス
    リライングパーティ
    ソーシャルログインを利用するアプリ
    ID連携
    ソーシャルログイン = アイデンティティ(ユーザーの属性情報)を活用する仕組み
    29

    View full-size slide

  30. IDとは?
    Identity
    ● ユーザーの属性情報
    ● 「IdP」、「ID連携」、「ID管理」
    ● 本資料にでて る「ID」はすべてこちら
    Identifier
    ● 識別子
    ● 「ユーザーID」、「クライアントID」
    ● 本資料では「ユーザー識別子」として表記
    30

    View full-size slide

  31. ソーシャルログインの仕組み
    31

    View full-size slide

  32. ユーザー視点のメリット
    ● 新しいパスワード 必要ない
    ● 初期登録の手間 少ない
    ○ アプリはユーザーの属性情報をIdP ら取得
    32

    View full-size slide

  33. 開発者目線のメリット
    ● ユーザー認証を自前で実装する必要 な なる
    ● IdPの高度な認証方式を取り込める
    ● 登録時の離脱率を低減で る
    33

    View full-size slide

  34. 開発者目線のメリット
    ● ユーザー認証を自前で実装する必要 な なる
    ● IdPの高度な認証方式を取り込める
    ● 登録時の離脱率を低減で る
    パスワード認証の課題はIdP側におまかせできる
    34

    View full-size slide

  35. 留意点
    1. IdPごとに仕組み 微妙に異なる
    2. リカバリーの実装 必要
    3. ID管理の各種機能の実装 必要
    35

    View full-size slide

  36. 留意点1 | IdPごとに仕組み 微妙に異なる
    IdP 仕組み
    Google OpenID Connect
    Twitter OAuth1.0a / OAuth2.0 ベースの独自仕様
    FaceBook OAuth2.0 ベースの独自仕様
    Apple OpenID Connect(独自拡張あり)
    36

    View full-size slide

  37. 留意点2 | リカバリーの実装 必要
    ソーシャルログインでログインできなくなるケース
    ● IdP側の不具合
    ● SNSユーザーの利用停止
    ソーシャルログインのリカバリー
    ● 例: 「メール認証」 + 「別のIdPとの連携」
    37

    View full-size slide

  38. ソーシャルログインのリカバリーの例
    38

    View full-size slide

  39. ソーシャルログインのリカバリーの例
    認証が必要
    39

    View full-size slide

  40. 留意点3 | ID管理の各種機能の実装 必要
    40

    View full-size slide

  41. ID管理機能
    41

    View full-size slide

  42. ID管理機能
    42

    View full-size slide

  43. ID管理機能
    43

    View full-size slide

  44. ID管理機能
    44

    View full-size slide

  45. 留意点
    1. IdPごとに仕組み 微妙に異なる
    2. リカバリーの実装 必要
    3. ID管理の各種機能の実装 必要
    45

    View full-size slide

  46. まとめ | ソーシャルログインのすすめ
    ユーザーのメリット
    1. 新しいパスワード 必要ない
    2. 初期登録の手間 少ない
    開発者のメリット
    1. ユーザー認証を自前で実装する必要 な なる
    2. IdPの高度な認証方式を取り込める
    3. 登録時の離脱率を低減で る
    留意点
    1. IdPごとに仕組み 微妙に異なる
    2. リカバリーの実装 必要
    3. ID管理の各種機能の実装 必要 46

    View full-size slide

  47. まとめ | ソーシャルログインのすすめ
    ユーザーのメリット
    1. 新しいパスワード 必要ない
    2. 初期登録の手間 少ない
    開発者のメリット
    1. ユーザー認証を自前で実装する必要 な なる
    2. IdPの高度な認証方式を取り込める
    3. 登録時の離脱率を低減で る
    留意点
    1. IdPごとに仕組み 微妙に異なる
    2. リカバリーの実装 必要
    3. ID管理の各種機能の実装 必要
    IDaaSで対応
    47

    View full-size slide

  48. 目次
    1部 パスワード認証の脆弱性
    2部 ソーシャルログインのすすめ
    3部 IDaaSのすすめ
    48

    View full-size slide

  49. IDaaSとは
    何の略
    ● Identity as a Serviceの略
    以下の機能を提供するクラウドサービス
    ● ログイン機能
    ● ID管理機能
    ● 外部サービスとのID連携機能
    ● ユーザーの権限・状態に応じたアクセス制御
    49

    View full-size slide

  50. 企業システム向けのIDaaS
    50

    View full-size slide

  51. コンシューマーアプリ向けIDaaS
    51

    View full-size slide

  52. コンシューマーアプリ向けIDaaS
    ● Firebase Authentication
    ● Auth0
    ● AWS Cognito
    ● Azure Active Directory BtoC
    52

    View full-size slide

  53. 留意点
    1. IdPごとに仕組み 微妙に異なる
    2. リカバリーの実装 必要
    3. ID管理の各種機能の実装 必要
    53

    View full-size slide

  54. 留意点
    1. IdPごとに仕組み 微妙に異なる
    2. リカバリーの実装 必要
    3. ID管理の各種機能の実装 必要
    IDaaSで対応
    54

    View full-size slide

  55. 留意点1 | IdPごとに仕組み 異なる
    55

    View full-size slide

  56. 留意点2 | リカバリーの実装 必要
    56

    View full-size slide

  57. 留意2 | リカバリーの実装 必要
    認証機能や複数のIdPとの連
    携機能はIDaaSが提供
    57

    View full-size slide

  58. 留意点3 | ID管理機能の実装
    58

    View full-size slide

  59. 留意点3 | ID管理機能の実装
    IDaaSが提供してくれる
    59

    View full-size slide

  60. Firebase Authentication すすめ
    おすすめする理由
    ● Googleアカウント あれば使い始められる
    ● 無料プランの制限 ほぼない
    ○ 電話認証月1万回まで
    ● Firebase Authentication 単体でも使える
    60

    View full-size slide

  61. まとめ | IDaaSのすすめ
    ソーシャルログインの仕組みの違い
    ● IdPとやり取りするのはIDaaS
    ● アプリはIDaaSのAPIを呼び出すだけ
    リカバリーのための認証
    ● IDaaSは各種の認証機能を提供
    ID管理の機能
    ● IDaaS ID管理機能を提供
    61

    View full-size slide

  62. 全体まとめ
    パスワード認証はつらい
    ● パスワードリスト・スプレー攻撃対策としての2要素認証
    ● フィッシングのことまで考えるとFIDO認証
    ● リカバリーも必要
    ソーシャルログインのすすめ
    ● ユーザー認証をIdPに ま せで る
    IDaaSのすすめ
    ● ソーシャルログインの仕組みの違いを吸収
    ● リカバリーのための認証を提供
    ● ID管理機能を提供 62

    View full-size slide

  63. 宣伝 | ソーシャルログイン本
    内容
    ● 今回の発表内容
    ● Firebase Authenticationでサンプルアプリを作
    りな らソーシャルログイン、ID管理を学ぶ
    ● Firebase Authentication 単体での使い方
    63

    View full-size slide

  64. 宣伝 | ソーシャルログイン本
    64

    View full-size slide

  65. 宣伝 | 同人誌
    Boothで販売中 https://authya.booth.pm/
    雰囲気OAuth本 OIDC本 攻撃本
    65

    View full-size slide

  66. ご清聴あり とうございました
    66

    View full-size slide