1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

デジタルアイデンティティを学ぼう~第2回~MFA(多要素認証)

Last updated at Posted at 2025-08-26

0. はじめに

本記事は「デジタルアイデンティティを学ぼう」シリーズの第2弾です。
第1弾「デジタルアイデンティティって何だろう」はこちら

今回のゴールは「MFAについて理解する」ことです。具体的には「MFAの種類や特性を知ってもらうこと」となります。

1. 認証とは

1-1. 認証とは

MFAの前に、まず「認証」について説明します。

デジタルアイデンティティの世界で有名な文書「NIST SP 800-63(Digital Identity Guidelines)」によると、認証(Authentication)は、

Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to a system’s resources.(システムリソースに対するアクセスを許可する前提条件としてユーザー、プロセス、デバイスのアイデンティティを検証すること。)※注:翻訳は筆者

と定義されています。
これをもう少しわかりやすい言葉で言い換えると(ざっくりいうと)、

ユーザーが(アイデンティティに紐づく)情報を持っているか確認すること

という風に表現できます。

1-2. 認証のフロー

すこし具体的に、図を用いて説明します。

image.png

この図は、私(ユーザー)が、ある会社に入館する場合を示しています。
一般的な会社では、セキュリティ対策が実施されているため、そのまま入館することはできません。入館には許可が必要です(事前申請が必要な場合もありますが、ここでは説明を割愛)。

そこで、入館に際し、まず自分が何者であるかを名乗ります(①)。
守衛さんは名乗った人が本当に本人なのか、確認します(②)。
私は、自分が本人である証拠を提示します(ここでは社員証を提示)(③)。
守衛さんは提示された証拠を確認し、本人であることを確認します(④)。

この図では、下図赤枠の部分が「認証」に該当します。

image.png

1-3. 認証の要素

次に、「認証の要素」について説明します。

image.png

認証には3つの要素があります。具体的には「Something you know」「Something you have」「Something you are」です。

「Something you know」はユーザーが知っていることを基に認証する方法で、「知識認証」ともいいます。

「Something you have」はユーザーが持っているものを基に認証する方法で、「所持認証」「所有物認証」ともいいます。

「Something you are」はユーザー自身を基に認証する方法で、「生体認証」ともいいます。

「Something you know」で有名なものは「パスワード」です。

先ほどの図で説明した「社員証」は、「Something you have」になります。

2. パスワード認証とは

2-1. パスワード認証とは

ここからは、とてもメジャーな認証である「パスワード認証」について説明します。

「パスワード認証」は、次のような特徴があります。

  • 英数字や記号を組み合わせた文字列で構成
  • 一般的なクラウドサービスやWebシステムのログインに使用
  • 他の認証の要素と異なり、覚えていれば利用可能

特に3番目の特徴が他の認証の要素と異なる点です。他の認証の要素だと、所持を忘れたり、生体情報を読み取るリーダーがないと使用できませんが、パスワードは記憶していれば使用できるので、非常に便利な認証です。

2-2. パスワード認証の課題

非情に便利なパスワード認証ですが、課題もあります。具体的には次の通りです。

  • 忘れやすい(特にたまにしか使わないクラウドサービスの場合)
    ●● 忘れないように、メモしたり、簡単なパスワードを使ってしまう(場合がある)
    ●● 忘れやすいため、同じパスワードをいろんなクラウドサービスで使いまわしてしまう
  • 盗まれやすい

2-3. 盗まれやすいパスワード

パスワードが盗まれやすい点について、すこし具体的に、図を用いて説明します。

image.png

ユーザーがあるクラウドサービスをパスワード認証で利用している場合を考えます。
この場合、パスワードは①~③の3つの場所に存在する可能性があります。

まず「パスワード①」です。これはユーザーがパスワードを自分のパソコンの中に(メモ等として)保存している場合です。クラウドサービスにログインするとき、パスワードをコピー&ペーストして使用する場合が当てはまります。

次に「パスワード②」です。これは利用しているクラウドサービスのデータベースに存在します。

最後に「パスワード③」です。これは最近では少なくなったと思いますが、パソコンにID/パスワードを(付箋等で)張り付けている場合です。

この3つについて、パスワードが盗まれるパターンについて考えます。

image.png

まず「パターン①」です。これはユーザーと同じ場所にいる人が、パソコンに張り付けてある付箋情報を盗む場合です。パソコンに張り付けてあるため、誰でも見ることができるため、とても危険な状態です。特にカフェなどで業務をする場合は、気を付けなければいけません。自社で業務をしている場合も、出入りの業者が閲覧することもあるため、注意が必要です。

image.png

次に「パターン②」です。これは悪意を持った攻撃者によるもので、2種類あります。1つはマルウェア等を使ってパソコンを感染させ、パスワードを含む機密情報を窃取するものです(「パスワード①」の窃取)。もう一つはクラウドサービスからパスワードを含む機密情報を窃取するものです(「パスワード②」の窃取)。

image.png

最後は「パターン③」です。これは、クラウドサービスで利用しているパスワードを、他のクラウドサービスでも使いまわしている場合です。先ほどと同様悪意を持った攻撃者によるもので、その攻撃者がパスワード情報をダークウェブ等の闇サイトで販売していた場合、それを別の攻撃者が入手することがあります。

このように、パスワードは様々な経路で盗まれる可能性があります。実際、パスワード漏洩によるインシデントは日々発生しており、セキュリティ管理者の悩みの種となっています。

3. 認証を強化するためには

パスワード認証単体ではリスクがあることがわかりました。それでは認証を強化するためにはどうすればよいのでしょうか?

色々対策がありますが、ここでは5つ紹介します。

image.png

3-1. パスワードポリシー

まず1つ目は「パスワードポリシー」です。
これは設定できるパスワードにルールを定義する方法です。
これにより、簡単なパスワード(推測されやすいパスワードや、よく使われているパスワード)の使用を禁止することができます。

2024年度、よく使われていたパスワードは「123456」というデータもあります。このようなパスワードは盗まなくても推測することができるため、このようなパスワードの使用を禁止するパスワードポリシーは認証強化に役立ちます。

3-2. パスワードマネジャー

2つ目は「パスワードマネジャー」です。
各クラウドサービスのログイン情報(ID、パスワード)を一元的に管理する仕組みです。
これは専用のアプリケーションで提供されていたり、ブラウザ拡張機能として提供されています。
パスワードを自動入力してくれるため、複雑なパスワードを覚える必要がありません。そのため、簡単なパスワードを設定せずに済むため、結果的に認証強化につながります。

3-3. ID連携

3つ目は「ID連携(フェデレーション)」です。
利用しているクラウドサービスがフェデレーションに対応している場合、パスワードの入力を減らすことができます。例えば、あるクラウドサービスAにログインした後、別のクラウドサービスB(フェデレーション対応)にログインする場合、パスワードを入力しなくてもログインできる仕組みです。

3-4. MFA

4つ目は(本テーマの)「MFA(多要素認証:Multi-Factor Authentication)」です。
次章で詳しく説明します。

3-5. パスワードレス

5つ目は「パスワードレス」です。
その名の通り、パスワードを使わない(パスワード以外の何かを使う)認証です。
具体的には「認証の要素」の「Something you have」「Something you are」を使用します。
最近はやりの「パスキー」もこれに該当します。

4. MFAとは

それでは、MFAについて説明します。
MFA(多要素認証:Multi-Factor Authentication)は、認証に複数の要素を使用する方法です。

image.png

「認証の要素」は「Something you know」「Something you have」「Something you are」の3種類あることは先ほどお話ししました。このうち、複数(2つあるいは3つ)を使用して認証することをMFAといいます。
※2つ使用する場合は、二要素認証(2FA:Two-Factor Authentication)という言い方もあります。

image.png

MFAのパターンは4つあります。
通常はMFAの1つにパスワード「Something you know」を利用することが多いため、MFAのパターンとしてはパターン①あるいはパターン②を利用することが多いです。

4-1. MFAで使用する「Something you have」

MFA使用する「Something you have」にはどのようなものがあるのでしょうか? 様々なものがありますが、一例として次の通りです。

image.png

4-2. MFAで使用する「Something you are」

MFA使用する「Something you are」にはどのようなものがあるのでしょうか? こちらも様々なものがありますが、一例として次の通りです。

image.png

5. MFA認証フロー

5-1. MFA認証フロー

MFA認証時のフローを、図を用いて説明します。

image.png

ユーザーがパソコンを使用してクラウドサービスにログインする場合を考えます。MFAに使用するものはスマートフォンです。このスマートフォンにはアプリがインストールされており、6桁のワンタイムパスワードを認証時に使用するものとします。

image.png

まず、ユーザーがパソコンのブラウザ経由でクラウドサービスにアクセスし、ID/パスワードを入力します(①)。

クラウドサービスは、MFAの入力を要求します(②)。

ユーザーはスマートフォンアプリを起動し、6桁のワンタイムパスワードを確認します(③)。

ワンタイムパスワードを入力します(④)。

入力したデータはインターネット経由でクラウドサービスに送信されます(⑤)。

クラウドサービス側でワインタイムパスワードを確認します(⑥)。

5-2. パスワード漏洩時のMFA認証フロー

それでは、パスワードが漏洩した場合の認証フローを確認しましょう。

image.png

先ほどと同様に、クラウドサービスにログインする場合を考えます。MFAに使用するものはスマートフォンです。このスマートフォンにはアプリがインストールされており、6桁のワンタイムパスワードを認証時に使用するものとします。

攻撃者は(何らかの方法で)ユーザーのID/パスワードを窃取しており、クラウドサービスに対するログインを試みます。

image.png

攻撃者はクラウドサービスにアクセスし、ID/パスワードを入力します(①)。
クラウドサービスは、MFAの入力を(攻撃者に)要求します(②)。

しかし、攻撃者の手元にはスマートフォンがなく、ワンタイムパスワード(6桁の数字)がわからないため、認証フローはここで終了します(ログインに失敗します)。

このようにMFAを利用することで、不正ログインを減らす(理想的には無くす)ことができます。

6. MFAを突破する攻撃

それでは、MFAを利用すればすべてが解決(うまくいく)のでしょうか? 残念ながら、答えは「No」です。

次のような場合、MFAを突破されてしまいます。

image.png

先ほどと同様に、クラウドサービスにログインする場合を考えます。MFAに使用するものはスマートフォンです。このスマートフォンにはアプリがインストールされており、6桁のワンタイムパスワードを認証時に使用するものとします。

攻撃者はID/パスワードを窃取していません。
その代わりに、ユーザーのメールアドレスは(何らかの手段で)入手しています。

image.png

攻撃者は、ユーザーにメールを送信します。このメールにはフィッシングサイトに誘導する情報が記載されています。所謂フィッシングメールです(①)。

ユーザーは正規のクラウドサービスからのメールだと勘違いして、URLをクリックしてしまいます。表示されたクラウドサービスのID/パスワードを(偽サイトに)入力してしまいます(②)。

攻撃者は偽サイトに入力されたID/パスワードを、正規のクラウドサービスに入力します(②')。

正規のクラウドサービスは、MFAを要求します(③)。

攻撃者はMFA要求をユーザーに転送します(③')。

ユーザーはスマートフォンアプリを起動し、6桁のワンタイムパスワードを確認します(④)。

ワンタイムパスワードを入力します(⑤)。

入力したデータはインターネット経由でクラウドサービスに送信されます(⑤)。

クラウドサービス側でワインタイムパスワードを確認します(⑤')。

攻撃者は偽サイトに入力されたワンタイムパスワードを、正規のクラウドサービスに入力します(⑤'')。

クラウドサービス側でワインタイムパスワードを確認します(⑥)。

image.png

このように、MFAでも防げない攻撃が存在します。

このような攻撃は、AitM(Adversary-in-the-Middle)攻撃と呼ばれます。

7. フィッシング耐性MFA

7-1. フィッシング耐性MFA

それでは、このような攻撃を防ぐにはどうしたらいいのでしょうか? 実はMFAにはフィッシング耐性が高いものがあります。

image.png

CISAがリリースしている文書を参考に表にまとめました。

FIDO/WebAuthn(パスキー)や、PKIベースの認証がフィッシング耐性が高いと定義されています。

7-2. フィッシング耐性MFA認証フロー

それでは、フィッシング耐性MFAの認証フローを見てみましょう。

image.png

ここでは、フィッシング耐性MFAとして、パスキーを使用します。パスキーは公開鍵暗号方式をベースとしたパスワードレス認証です。公開鍵暗号方式であるため、パソコン上にprivate keyとpublic key、ログイン先のクラウドサービスにpublic keyが保管されます。また、パスキーの取り出しには生体情報としてユーザーの指紋を使用する設定とします。

image.png

また、パスキーはドメインと紐づきます。この例では、クラウドサービス「www.example.com」と紐づく設定とします。

image.png

この状態で、攻撃者がフィッシングメールを利用して、ユーザーから認証情報を窃取する場合を考えます。

なお、フィッシングサイトのドメイン名は「www.exarnple.com」としています。元々「m」だった部分を「rm」としており、ユーザーの誤認させようとしています。

image.png

攻撃者は、ユーザーにメールを送信します。このメールにはフィッシングサイトに誘導する情報が記載されています。ドメインは「www.exarnple.com」です(①)。

ユーザーは正規のクラウドサービスからのメールだと勘違いして、URLをクリックしてしまいます。表示されたクラウドサービスのID/パスワードを(偽サイトに)入力してしまいます(②)。

攻撃者は偽サイトに入力されたID/パスワードを、正規のクラウドサービスに入力します(②')。

正規のクラウドサービスは、MFAを要求します(③)。

攻撃者はMFA要求をユーザーに転送します(③')。

ユーザーは指紋リーダーに指紋をスキャンします(④)。

image.png

しかし、パスキーに登録されているドメインは「www.example.com」です。そのため、フィッシングサイトのドメインとはドメイン名が一致しないため、ここで認証フローがストップします(攻撃者による認証は失敗します)。

このように、フィッシング耐性MFAを利用することで、攻撃者による認証を防ぐことができます。

8. まとめ

それでは、今回のまとめです。

  • MFAは、(パスワード)認証を強化する仕組み
  • MFAに利用できるもの(「Something you have」「Something you are」)には、いろいろな種類あり
  • MFAの強度にもいろいろなものがあるため、必要に応じて使い分ける必要あり(フィッシング耐性MFAがおすすめ)

96. 参考文献

97. 連載のリンク先

98. 更新履歴

  • 2025.08.26 初版

99. EoF(End of File)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?