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. 認証のフロー
すこし具体的に、図を用いて説明します。
この図は、私(ユーザー)が、ある会社に入館する場合を示しています。
一般的な会社では、セキュリティ対策が実施されているため、そのまま入館することはできません。入館には許可が必要です(事前申請が必要な場合もありますが、ここでは説明を割愛)。
そこで、入館に際し、まず自分が何者であるかを名乗ります(①)。
守衛さんは名乗った人が本当に本人なのか、確認します(②)。
私は、自分が本人である証拠を提示します(ここでは社員証を提示)(③)。
守衛さんは提示された証拠を確認し、本人であることを確認します(④)。
この図では、下図赤枠の部分が「認証」に該当します。
1-3. 認証の要素
次に、「認証の要素」について説明します。
認証には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. 盗まれやすいパスワード
パスワードが盗まれやすい点について、すこし具体的に、図を用いて説明します。
ユーザーがあるクラウドサービスをパスワード認証で利用している場合を考えます。
この場合、パスワードは①~③の3つの場所に存在する可能性があります。
まず「パスワード①」です。これはユーザーがパスワードを自分のパソコンの中に(メモ等として)保存している場合です。クラウドサービスにログインするとき、パスワードをコピー&ペーストして使用する場合が当てはまります。
次に「パスワード②」です。これは利用しているクラウドサービスのデータベースに存在します。
最後に「パスワード③」です。これは最近では少なくなったと思いますが、パソコンにID/パスワードを(付箋等で)張り付けている場合です。
この3つについて、パスワードが盗まれるパターンについて考えます。
まず「パターン①」です。これはユーザーと同じ場所にいる人が、パソコンに張り付けてある付箋情報を盗む場合です。パソコンに張り付けてあるため、誰でも見ることができるため、とても危険な状態です。特にカフェなどで業務をする場合は、気を付けなければいけません。自社で業務をしている場合も、出入りの業者が閲覧することもあるため、注意が必要です。
次に「パターン②」です。これは悪意を持った攻撃者によるもので、2種類あります。1つはマルウェア等を使ってパソコンを感染させ、パスワードを含む機密情報を窃取するものです(「パスワード①」の窃取)。もう一つはクラウドサービスからパスワードを含む機密情報を窃取するものです(「パスワード②」の窃取)。
最後は「パターン③」です。これは、クラウドサービスで利用しているパスワードを、他のクラウドサービスでも使いまわしている場合です。先ほどと同様悪意を持った攻撃者によるもので、その攻撃者がパスワード情報をダークウェブ等の闇サイトで販売していた場合、それを別の攻撃者が入手することがあります。
このように、パスワードは様々な経路で盗まれる可能性があります。実際、パスワード漏洩によるインシデントは日々発生しており、セキュリティ管理者の悩みの種となっています。
- 16 billion passwords exposed in record-breaking data breach: what does it mean for you?
https://cybernews.com/security/billions-credentials-exposed-infostealers-data-leak/
3. 認証を強化するためには
パスワード認証単体ではリスクがあることがわかりました。それでは認証を強化するためにはどうすればよいのでしょうか?
色々対策がありますが、ここでは5つ紹介します。
3-1. パスワードポリシー
まず1つ目は「パスワードポリシー」です。
これは設定できるパスワードにルールを定義する方法です。
これにより、簡単なパスワード(推測されやすいパスワードや、よく使われているパスワード)の使用を禁止することができます。
2024年度、よく使われていたパスワードは「123456」というデータもあります。このようなパスワードは盗まなくても推測することができるため、このようなパスワードの使用を禁止するパスワードポリシーは認証強化に役立ちます。
- Top 200 Most Common Passwords
https://nordpass.com/most-common-passwords-list/
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)は、認証に複数の要素を使用する方法です。
「認証の要素」は「Something you know」「Something you have」「Something you are」の3種類あることは先ほどお話ししました。このうち、複数(2つあるいは3つ)を使用して認証することをMFAといいます。
※2つ使用する場合は、二要素認証(2FA:Two-Factor Authentication)という言い方もあります。
MFAのパターンは4つあります。
通常はMFAの1つにパスワード「Something you know」を利用することが多いため、MFAのパターンとしてはパターン①あるいはパターン②を利用することが多いです。
4-1. MFAで使用する「Something you have」
MFA使用する「Something you have」にはどのようなものがあるのでしょうか? 様々なものがありますが、一例として次の通りです。
4-2. MFAで使用する「Something you are」
MFA使用する「Something you are」にはどのようなものがあるのでしょうか? こちらも様々なものがありますが、一例として次の通りです。
5. MFA認証フロー
5-1. MFA認証フロー
MFA認証時のフローを、図を用いて説明します。
ユーザーがパソコンを使用してクラウドサービスにログインする場合を考えます。MFAに使用するものはスマートフォンです。このスマートフォンにはアプリがインストールされており、6桁のワンタイムパスワードを認証時に使用するものとします。
まず、ユーザーがパソコンのブラウザ経由でクラウドサービスにアクセスし、ID/パスワードを入力します(①)。
クラウドサービスは、MFAの入力を要求します(②)。
ユーザーはスマートフォンアプリを起動し、6桁のワンタイムパスワードを確認します(③)。
ワンタイムパスワードを入力します(④)。
入力したデータはインターネット経由でクラウドサービスに送信されます(⑤)。
クラウドサービス側でワインタイムパスワードを確認します(⑥)。
5-2. パスワード漏洩時のMFA認証フロー
それでは、パスワードが漏洩した場合の認証フローを確認しましょう。
先ほどと同様に、クラウドサービスにログインする場合を考えます。MFAに使用するものはスマートフォンです。このスマートフォンにはアプリがインストールされており、6桁のワンタイムパスワードを認証時に使用するものとします。
攻撃者は(何らかの方法で)ユーザーのID/パスワードを窃取しており、クラウドサービスに対するログインを試みます。
攻撃者はクラウドサービスにアクセスし、ID/パスワードを入力します(①)。
クラウドサービスは、MFAの入力を(攻撃者に)要求します(②)。
しかし、攻撃者の手元にはスマートフォンがなく、ワンタイムパスワード(6桁の数字)がわからないため、認証フローはここで終了します(ログインに失敗します)。
このようにMFAを利用することで、不正ログインを減らす(理想的には無くす)ことができます。
6. MFAを突破する攻撃
それでは、MFAを利用すればすべてが解決(うまくいく)のでしょうか? 残念ながら、答えは「No」です。
次のような場合、MFAを突破されてしまいます。
先ほどと同様に、クラウドサービスにログインする場合を考えます。MFAに使用するものはスマートフォンです。このスマートフォンにはアプリがインストールされており、6桁のワンタイムパスワードを認証時に使用するものとします。
攻撃者はID/パスワードを窃取していません。
その代わりに、ユーザーのメールアドレスは(何らかの手段で)入手しています。
攻撃者は、ユーザーにメールを送信します。このメールにはフィッシングサイトに誘導する情報が記載されています。所謂フィッシングメールです(①)。
ユーザーは正規のクラウドサービスからのメールだと勘違いして、URLをクリックしてしまいます。表示されたクラウドサービスのID/パスワードを(偽サイトに)入力してしまいます(②)。
攻撃者は偽サイトに入力されたID/パスワードを、正規のクラウドサービスに入力します(②')。
正規のクラウドサービスは、MFAを要求します(③)。
攻撃者はMFA要求をユーザーに転送します(③')。
ユーザーはスマートフォンアプリを起動し、6桁のワンタイムパスワードを確認します(④)。
ワンタイムパスワードを入力します(⑤)。
入力したデータはインターネット経由でクラウドサービスに送信されます(⑤)。
クラウドサービス側でワインタイムパスワードを確認します(⑤')。
攻撃者は偽サイトに入力されたワンタイムパスワードを、正規のクラウドサービスに入力します(⑤'')。
クラウドサービス側でワインタイムパスワードを確認します(⑥)。
このように、MFAでも防げない攻撃が存在します。
このような攻撃は、AitM(Adversary-in-the-Middle)攻撃と呼ばれます。
- MFAをすり抜ける新たな脅威「Adversary-in-the-Middle(AitM)攻撃」の台頭
https://www.swissbit.com/ja/blog/post/bypassing-mfa-the-rise-of-adversary-in-the-middle-attacks-ja/
7. フィッシング耐性MFA
7-1. フィッシング耐性MFA
それでは、このような攻撃を防ぐにはどうしたらいいのでしょうか? 実はMFAにはフィッシング耐性が高いものがあります。
CISAがリリースしている文書を参考に表にまとめました。
- Implementing Phishing-Resistant MFA
https://www.cisa.gov/sites/default/files/publications/fact-sheet-implementing-phishing-resistant-mfa-508c.pdf
FIDO/WebAuthn(パスキー)や、PKIベースの認証がフィッシング耐性が高いと定義されています。
7-2. フィッシング耐性MFA認証フロー
それでは、フィッシング耐性MFAの認証フローを見てみましょう。
ここでは、フィッシング耐性MFAとして、パスキーを使用します。パスキーは公開鍵暗号方式をベースとしたパスワードレス認証です。公開鍵暗号方式であるため、パソコン上にprivate keyとpublic key、ログイン先のクラウドサービスにpublic keyが保管されます。また、パスキーの取り出しには生体情報としてユーザーの指紋を使用する設定とします。
また、パスキーはドメインと紐づきます。この例では、クラウドサービス「www.example.com」と紐づく設定とします。
この状態で、攻撃者がフィッシングメールを利用して、ユーザーから認証情報を窃取する場合を考えます。
なお、フィッシングサイトのドメイン名は「www.exarnple.com」としています。元々「m」だった部分を「rm」としており、ユーザーの誤認させようとしています。
攻撃者は、ユーザーにメールを送信します。このメールにはフィッシングサイトに誘導する情報が記載されています。ドメインは「www.exarnple.com」です(①)。
ユーザーは正規のクラウドサービスからのメールだと勘違いして、URLをクリックしてしまいます。表示されたクラウドサービスのID/パスワードを(偽サイトに)入力してしまいます(②)。
攻撃者は偽サイトに入力されたID/パスワードを、正規のクラウドサービスに入力します(②')。
正規のクラウドサービスは、MFAを要求します(③)。
攻撃者はMFA要求をユーザーに転送します(③')。
ユーザーは指紋リーダーに指紋をスキャンします(④)。
しかし、パスキーに登録されているドメインは「www.example.com」です。そのため、フィッシングサイトのドメインとはドメイン名が一致しないため、ここで認証フローがストップします(攻撃者による認証は失敗します)。
このように、フィッシング耐性MFAを利用することで、攻撃者による認証を防ぐことができます。
8. まとめ
それでは、今回のまとめです。
- MFAは、(パスワード)認証を強化する仕組み
- MFAに利用できるもの(「Something you have」「Something you are」)には、いろいろな種類あり
- MFAの強度にもいろいろなものがあるため、必要に応じて使い分ける必要あり(フィッシング耐性MFAがおすすめ)
96. 参考文献
-
NIST SP 800-63-3 Digital Identity Guidelines
https://pages.nist.gov/800-63-3/
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-3.pdf -
16 billion passwords exposed in record-breaking data breach: what does it mean for you?
https://cybernews.com/security/billions-credentials-exposed-infostealers-data-leak/ -
Top 200 Most Common Passwords
https://nordpass.com/most-common-passwords-list/ -
MFAをすり抜ける新たな脅威「Adversary-in-the-Middle(AitM)攻撃」の台頭
https://www.swissbit.com/ja/blog/post/bypassing-mfa-the-rise-of-adversary-in-the-middle-attacks-ja/ -
Implementing Phishing-Resistant MFA
https://www.cisa.gov/sites/default/files/publications/fact-sheet-implementing-phishing-resistant-mfa-508c.pdf
97. 連載のリンク先
98. 更新履歴
- 2025.08.26 初版