🔐 はじめての二要素認証（2FA）｜初心者向けセキュリティ入門

最近、証券口座が乗っ取られ、勝手に取引される被害が相次いでいるというニュースが話題になっています。
これは、フィッシングサイト経由で二段階認証を突破し、不正にログインする手口によるものです。

サービスを利用するにあたり、当たり前の存在になっているIDとパスワードの入力。
近年、IDとパスワード入力後に、二段階認証や二要素認証を求められることが増えたと感じることはないでしょうか。
この記事では、アカウントの安全を守るための「二要素認証（2FA）」について、初心者向けに解説します。

# ✅ 認証の3要素とは？
本人確認に使われる方法は、以下の3つに分類できます。

1. **知識情報（知っているもの）**  
   例：パスワード、暗証番号、秘密の質問など

2. **所持情報（持っているもの）**  
   例：スマートフォン、ICカード、セキュリティキーなど

3. **生体情報（本人の身体的特徴）**  
   例：指紋、顔、虹彩など


まずは、認証の3要素のうち最もよく使われている**パスワード**について考えてみましょう。

# 🔑 パスワードだけではなぜ危険？
### 推測されやすいパスワードとは

先ほどの認証の3要素のうち、パスワードは知識情報にあたります。
言わずもがな、以下のようなパスワードは安全とは言えません。
<dl>
  <dt>・短い（例：1234）​</dt>
      <dt>・パスワードによく使われる単語やキーボード配列通りのフレーズ<br> （例：password、qwerty）​</dt>
  <dt>・他のサービスと同じパスワードを使用している</dt>
</dl>
これらのパスワードは、攻撃者によって容易に推測され、不正にログインされるリスクが高まります。
またパスワードに使い回しは、パスワードが漏洩した際、他のサイトでの不正ログインに繋がります。

#### 【パスワードを推測する攻撃手法】
攻撃者は、以下のような手法でパスワードを推測しようとします。
<dl>
  <dt>・辞書攻撃</dt>
  <dd>辞書や人名録など、意味のある単語のリストを使ってパスワードを試す方法です。<br>例えば、「password」や「123456」など、よく使われる単語を順番に試行します。</dd>
  <dt>・ブルートフォース攻撃</dt>
  <dd>可能なすべての文字列の組み合わせを試す総当たり攻撃です。<br>例えば、英字（小文字、大文字）、数字、記号を組み合わせて、すべてのパターンを順番に試します。​</dd>
</dl>

強固なパスワードは、攻撃者による不正アクセスを防ぐために重要です。
では不正アクセスされないために、どのようなパスワードにすればいいのでしょうか。

#### 強固なパスワードの特徴
<dl>
  <dt>・長さを確保する</dt>
  <dd>できるだけ長く、最低でも10文字以上が望ましいです。</dd>
  <dt>・複雑性を持たせる</dt>
  <dd>大文字、小文字、数字、記号を組み合わせ、推測されにくいものにします。​</dd>
  <dt>・使い回しを避ける</dt>
  <dd>各サービスごとに異なるパスワードを設定し、1つの漏洩で他のアカウントも危険にさらされることを防ぎます。</dd>
</dl>

<参考>[チョコっとパスワード（IPA 独立行政法人 情報処理推進機構）](https://www.ipa.go.jp/security/chocotto/)

お使いのサービスでパスワードを設定する際に、8文字以上の長さや、大文字・小文字・数字・記号を含むことなどを求められたことはありませんか？
サービス提供を行っている企業側でも、強固なパスワードを設定してもらえるよう、チェック機能を設けています。
webアプリケーションの脆弱性診断の際は、ログイン機能に適切なパスワードポリシーが設定されているか、ロックアウト機能はあるのか確認を行います。
またペネトレーションテストの際は、辞書攻撃やブルートフォース攻撃を行うこともあり、パスワードポリシーが特に設定されていない場合は、推測に成功しログインできた事例もありました。

---用語紹介---
**パスワードポリシー**
ユーザーが設定するパスワードに対して「どんなルールに従うべきか」を定めたセキュリティのルールです。
簡単に言えば、「**安全なパスワードを作るための決まりごと**」です。

**ロックアウト機能**
パスワードを何回も間違えるとアカウントを一時的に使えなくするセキュリティ機能のことです。
ブルートフォース攻撃による不正ログインを防ぐ効果があります。

どんなに強固なパスワードだとしても、盗まれてしまった場合アカウントは簡単に乗っ取られてしまいます。
そこで役立つのが**二要素認証（Two-Factor Authentication：2FA）です。**

# :bell: 二要素認証の重要性
### :shamrock:二要素認証とは
二要素認証は、**異なる2種類の要素を組み合わせる認証方式**です。

例えば、「PCでログインしようとした際に、スマートフォンに届く一時的なコードを入力する」という認証方法ですが、これはPCでのログイン時のパスワード（知識情報）と、スマートフォンの認証アプリ（所持情報）にあたります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3801825/c118fa25-4c65-4c4d-8876-d62af07e970a.png" width=30%>


これにより、たとえパスワードが漏れてしまった場合でも、二要素認証のおかげで攻撃者はアカウントにアクセスできなくなります。

---用語紹介---
**多要素認証**
使用する認証情報が2つ以上（2つ含む）の異なる種類の場合、多要素認証と呼びます。
ログイン時に「パスワード」＋「スマートフォン」＋「指紋認証」のように3つ以上の要素を使用する場合がこれにあたります。
2つ以上の要素ですので、二要素認証は「多要素認証の一部」となります。


### 🔄 二段階認証との違い
ここで、「二段階認証」と「二要素認証」の違いを確認しておきましょう。
「二段階認証」と「二要素認証」、言葉は似ていますが意味は異なります。

| 比較項目 | 二段階認証 | 二要素認証 |
|----------------|------------------------|--------------------|
| 認証回数 | 2回                    | 2回                |
| 要素の種類 | 同じ要素でも可<br>（例：知識＋知識） | 異なる要素を使う必要あり<br>（知識＋所持など） |
| 例 | パスワード＋メールコード | パスワード＋スマホアプリ<br>（例：Google Authenticator） |

二段階認証は、**認証を2つのステップで行う認証方式**です。
一見、2回の認証を行っていますが、例の認証要素としては知識情報のみとなります。
このように、**二段階認証は認証のステップが2回あることで、同じ種類の要素を2回使う場合が含まれます。**

### ⚖️ 二要素認証と二段階認証のメリット・デメリット
「二要素認証」「二段階認証」、それぞれの特徴を理解したので、メリット、デメリットを理解しましょう。

| 区分         | メリット                     | デメリット                 |
|--------------|------------------------------------|--------------------|
| 二段階　認証|・設定が簡単<br>（SMSやメールなど）<br>・パスワード漏洩だけでは突破されにくい | ・同じ認証要素で構成されていることがある<br>・SMSやメールは**偽装・盗聴**のリスクあり |
| 二要素　認証| ・**異なる要素**の組み合わせで安全性が高い<br>・フィッシングやリスト型攻撃に強い |・設定や復旧がやや複雑<br>・スマホ等の紛失時にログインできなくなる可能性               |





### ⚠️二要素認証と二段階認証のリスク
アカウントを守るために、二要素認証や二段階認証は非常に有効な方法ですが、設定したからといって完全に安全になるわけではありません。
先ほどのデメリットに記したように、リスクも存在します。

| 区分         | リスク内容                        |
|--------------|-----------------------------|
| 二段階<br>認証   | ・同じ認証要素（知識＋知識）だと突破されることがある<br>・SMSが乗っ取られる（SIMスワップ）危険性あり |
| 二要素<br>認証   | ・フィッシングサイトで**リアルタイムに情報を盗まれる**可能性あり<br>・MITM（中間者攻撃）で通信内容を傍受されるリスク |

実際に、二要素認証や二段階認証を突破する攻撃が行われていることがあります。
次の章ではその攻撃手法と対策を解説します。


# :crossed_swords: 認証が突破されるリスクと対策


### 【SIMスワッピング】
多くの人が利用している「SMS（ショートメッセージサービス）」による一時コードの受け取り。
しかし、この方法にもリスクが存在します。代表的なものが「SIMスワッピング」と呼ばれる手口です。

#### SIMスワッピングとは
攻撃者がターゲット（被害者）の携帯電話番号を不正に取得し、ターゲットの電話番号を自分のSIMカードに移行させるという手法です。これにより、攻撃者はターゲットの携帯電話番号を使って、認証のコードを受け取ることができます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3801825/3e1d1c86-56a7-4f49-878e-17dd4a7832e1.png" width=60%>
#### SIMスワッピングの事例
2025年1月、米国証券取引委員会（SEC）のX（旧Twitter）アカウントがSIMスワッピング攻撃により乗っ取られ、誤ったビットコインETF承認の投稿が行われたという事件が報じられました。（[SECGov X Account](https://www.sec.gov/secgov-x-account)）
このように、SMSによる二要素認証は、携帯電話の番号が盗まれると簡単に突破されてしまうことがあります。
---参考情報---
2025年1月、米国のサイバーセキュリティーを担当する政府機関（CISA）が、SMS認証について注意喚起する声明を発表しました。
（[｢SMS認証、破られるリスク｣　米政府機関が注意喚起（日本経済新聞）](https://www.nikkei.com/article/DGXZQOUC095EF0Z00C25A1000000/)）


#### SIMスワッピングの対策
SMS以外の二要素認証の利用があります。可能であれば、認証アプリやハードウェアトークンなど、より安全な二要素認証手段の使用を推奨します。

### 【フィッシング攻撃】
#### フィッシング攻撃とは
攻撃者がユーザーに対して、メールやSMSで正規のサイトからの連絡を装い、偽のウェブサイトやアプリを使ってログイン情報を入力させます。
正規のログイン画面と見分けがつかない偽サイトのため、ユーザーが無意識に情報を入力してしまい、二要素認証のコードも盗まれるリスクがあります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3801825/bedcf497-90e2-42b4-9bcc-467f871977f2.png" width=60%>


#### フィッシング攻撃の事例
2025年4月、複数の証券会社の顧客が、偽のログインページに誘導され、IDやパスワード、さらには二段階認証コードを入力させられる被害が発生。攻撃者はこれらの情報をリアルタイムで取得し、正規のサイトに不正ログインを行いました。
（[金融庁「インターネット取引サービスへの不正アクセス・不正取引による被害が急増しています」](https://www.fsa.go.jp/ordinary/chuui/chuui_phishing.html)）


#### フィッシング攻撃の対策
公式のウェブサイトやアプリからのみログインし、疑わしいリンクやメールを避けることを推奨します。

### 【マン・イン・ザ・ミドル攻撃（MITM）】
#### マン・イン・ザ・ミドル攻撃（MITM）とは
攻撃者がユーザーとウェブサイトの間に割り込んで、やり取りしている情報を盗み見る攻撃です。攻撃者は、二要素認証のコードが送られている最中にそれを盗み、アカウントにアクセスすることができます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3801825/cde4c207-6342-45fe-be64-08f7fa72a97f.png" width=60%>


#### マン・イン・ザ・ミドル攻撃（MITM）の事例
2024年11月「Rockstar 2FA」と呼ばれるフィッシングキットが登場し、Microsoft 365ユーザーを標的とした攻撃が報告されました。このキットは、MITM攻撃を利用してユーザーの認証情報やセッションクッキーを盗み出し、二要素認証を回避する手法を採用しています。
（[Phishing-as-a-Service "Rockstar 2FA" Targets Microsoft 365 Users with AiTM Attacks](https://thehackernews.com/2024/11/phishing-as-service-rockstar-2fa.html)）


#### マン・イン・ザ・ミドル攻撃（MITM）の対策
MITM攻撃は、特に公共のWi-Fiネットワークを介して行われることが多いです。
公共のWi-Fiを利用する際には、VPNを使用して通信を暗号化することを推奨します。
またHTTPS通信による内容の暗号化や、専用の認証アプリを使用し、攻撃者からの通信の傍受を避け、二要素認証のコードの盗難リスクを減らすことも可能です。

# まとめ​
強固なパスワード設定は、不正な認証突破のリスクを減らすための第一歩です。
さらに、二要素認証を導入することで、異なる種類の認証要素が加わり、セキュリティは格段に向上します。
しかし、いかに多層的な対策を講じても、完全に安全とは言い切れません。
二要素認証にも潜在的なリスクがあることを理解して利用することが重要です。
また、サイバーセキュリティのリスクは常に変化するため、最新の情報を収集し続ける意識も不可欠です。