PR

【セキュリティ】メールって二要素認証じゃないんですよ

開発
この記事は約3分で読めます。
記事内に広告が含まれています。

「ログイン時にメールで認証コードが届くから、うちのサービスは二要素認証に対応してます」

こんな説明を見たことはありませんか?

実は、これは厳密には正しくありません。

メールを使った認証は「二段階認証」ではありますが、「二要素認証」ではないのです。

今回は、混同されがちなこの2つの用語の違いと、なぜメール認証が二要素認証とは言えないのかについて解説します。

二段階認証と二要素認証の違い

まず、用語の定義を整理しましょう。

二段階認証(2-Step Verification)

認証プロセスを2回行うこと。

単純に認証のステップが2つあれば二段階認証です。

例えば

  • パスワード入力 → メールで届いた認証コード入力
  • パスワード入力 → SMS認証コード入力

二要素認証(2-Factor Authentication, 2FA)

異なる要素を2つ組み合わせて認証すること。

ここでいう「要素」とは、認証の三要素を指します。

認証の三要素

セキュリティの世界では、認証要素は以下の3つに分類されます。

要素区分 内容 説明
知識要素(Something you know) パスワード、PIN、秘密の質問の答え 「知っているもの」で認証
所持要素(Something you have) スマートフォン、セキュリティキー、ICカード 「持っているもの」で認証
生体要素(Something you are) 指紋、顔、虹彩、声紋 「自分自身」で認証

二要素認証とは、この3つの要素のうち異なる2つを組み合わせた認証方法を指します。

なぜメール認証は二要素認証ではないのか

ここで冒頭の話に戻りましょう。
メールを使った認証プロセスを分解してみます。

  1. パスワードを入力(知識要素)
  2. メールで届いた認証コードを入力(???)

問題は2番目のステップです。

メールで届いた認証コードを入力するという行為は、一見すると「メールアカウントを持っている(所持要素)」ように見えます。

しかし、メールアカウント自体もパスワード(知識要素)で保護されているだけなら、結局のところ、

  • サービスAのパスワード(知識要素)
  • メールアカウントのパスワードで保護された認証コード(知識要素)

という構造になり、両方とも知識要素です。

これは二段階認証ではありますが、二要素認証ではありません。

メール認証のセキュリティリスク

この問題は単なる用語の違いではなく、実際のセキュリティリスクにつながります。

リスク1: パスワード漏洩の連鎖

攻撃者がメールアカウントのパスワードを入手できれば、そのメールアドレスで登録されているすべてのサービスで認証コードを受け取れてしまいます。

リスク2: メールの盗聴

メールは経路上で傍受される可能性があります。

特に暗号化されていないメールサーバーを経由する場合、認証コードが第三者に読まれるリスクがあります。

リスク3: メールアカウントの乗っ取り

メールアカウント自体が二要素認証で保護されていない場合、フィッシングやパスワードリスト攻撃によって容易に乗っ取られる可能性があります。

まとめ

「メールで認証コードが届く」というのは、確かに何もしないよりは安全です。

しかし、厳密には二要素認証とは呼べず、セキュリティ上の脆弱性も存在します。

より安全な認証を実現するためには、真の意味での二要素認証が必要です。

認証アプリ(TOTP)、セキュリティキー(FIDO2/WebAuthn)、生体認証など、異なる要素を組み合わせた認証方法が推奨されます。

今の時代、セキュリティは正しく理解していないと、一瞬で突破されかねないので怖いです。

コメント

タイトルとURLをコピーしました