MFA / 2FA (多要素認証)(エムエフエー)
複数要素 (Knowledge / Possession / Inherence) で認証する仕組み。SMS / TOTP / Push / FIDO2 等の方法、現代Web セキュリティの基本。
概要
MFA (Multi-Factor Authentication・多要素認証) / 2FA (Two-Factor Authentication・二要素認証) はNIST SP 800-63B (2017) / FFIEC (2005) / PCI DSS 等で標準化された認証セキュリティ手法。3つの認証要素「Knowledge (知識・パスワード)」「Possession (所有・電話 / セキュリティキー)」「Inherence (身体・生体)」のうち2つ以上を組合せる、パスワード単独 (Knowledge のみ) のリスクを大幅軽減する現代Web セキュリティの基本要件。
3つの認証要素
| 要素 | カテゴリ | 例 |
|---|---|---|
| Knowledge (知識) | あなたが知っている | パスワード / PIN / 秘密の質問 |
| Possession (所有) | あなたが持っている | 電話 / セキュリティキー / カード |
| Inherence (身体) | あなた自身 | 指紋 / 顔 / 虹彩 / DNA |
「2FA」= 2要素 (通常Knowledge + Possession)・「MFA」= 2要素以上 (3要素も含)。
MFA 方法と強度
| 方法 | 強度 | フィッシング耐性 | 推奨度 |
|---|---|---|---|
| SMS OTP | △ (弱) | × | 非推奨 (SIM Swap攻撃) |
| Email Magic Link | △ | × | 弱い |
| 秘密の質問 | × | × | 廃止 |
| 音声通話 OTP | △ | × | 弱い |
| TOTP (Authenticator App) | ◯ (中) | × | 推奨 (基本) |
| Push Notification | ◯ (中) | △ | 良い (Microsoft / Duo) |
| Authenticator + Number Match | ◎ (強) | ◎ | 推奨 (2022-) |
| FIDO2 / WebAuthn | ◎ (最強) | ◎ | 最強推奨 |
| YubiKey / Security Key | ◎ (最強) | ◎ | 業務要件 |
| 生体認証 (Touch ID等) | ◎ | ◎ | デバイス内のみ |
TOTP (Time-based One-Time Password・RFC 6238)
最も普及した2FA アルゴリズム:
1. サーバ・クライアント間でShared Secret (32bit Base32) 設定
2. 現在UNIX時刻 / 30秒 = Counter
3. HOTP(Secret, Counter) = 6桁OTP
4. Counter 変化で30秒毎に新OTP
Google Authenticator / Microsoft Authenticator / Authy / 1Password / Bitwarden 等の標準。
SMS OTP の問題
SMS OTP は最も普及している2FA だが脆弱:
- SIM Swap攻撃: 攻撃者がキャリアを騙してSIM 移転・SMS 横取り (Twitter CEO Jack Dorsey 2019年被害)
- SS7 攻撃: 携帯網プロトコル悪用・SMS 傍受
- フィッシング: 偽サイトでOTP 入力させ即転送
- SMS 配信遅延: 数分遅延あり
- 国際漫遊 / 圏外: 利用不可
NIST SP 800-63B (2017) で「SMS 非推奨」明言・FIDO2 / TOTP 推奨。
主要Authenticator App
| アプリ | 開発元 | 同期 |
|---|---|---|
| Google Authenticator | あり (2023-04+) | |
| Microsoft Authenticator | Microsoft | あり |
| Authy (Twilio) | Twilio | あり (Twilio 2024年Mobile 終了) |
| 1Password | AgileBits | あり |
| Bitwarden | Bitwarden | あり (Premium $10/年) |
| Aegis Authenticator | OSS | 手動エクスポート |
| FreeOTP+ | Red Hat | OSS |
| Yubico Authenticator | Yubico | YubiKey 連携 |
エンタープライズMFA
| 製品 | 用途 |
|---|---|
| Microsoft Entra ID (旧Azure AD) | M365 / Office |
| Okta MFA | エンタープライズSSO |
| Duo Security (Cisco) | エンタープライズ |
| Ping Identity | 大企業 |
| OneLogin | クラウドIDaaS |
| RSA SecurID | 銀行 / 政府 |
| Symantec VIP | エンタープライズ |
| Yubico YubiKey | ハードウェア |
主要サイトでのMFA 必須化
| サイト | MFA 必須化 |
|---|---|
| Apple ID | 2017-02 (新規アカウント) |
| 2021 (一部) ・2023 (デフォルト) | |
| Microsoft | 2024-10 (Admin) |
| GitHub | 2023 (Contributor) |
| AWS Root | 2024-05 必須 |
| Coinbase | 2018-必須 |
| 銀行業界 (米PSD2 / FFIEC) | 2018-19 必須 |
NIST SP 800-63B (2017)
NIST 認証ガイドライン主要内容:
- SMS 非推奨 (「Restricted」)
- TOTP 推奨
- FIDO U2F / WebAuthn 推奨
- 知識ベース認証 (秘密の質問) 廃止
- パスワードのMin Length 8文字・Max 64文字以上
- 強制パスワード変更 (定期) は不要
米政府機関必須・民間にも影響大。
関連用語との違い
- vs Password 単独: 大幅セキュリティ向上
- vs Passkey: 認証要素 / 方式
- vs Zero Trust: 認証 / アーキ全体
FAQ
Q1: MFA で完全安全? A: フィッシング耐性なMFA (FIDO2 / Passkey) で大幅向上だが完全ではない・Account Recovery / Backup Code 経路の脆弱性に注意。
Q2: 全サイトでMFA? A: 重要サイト (Email / Bank / Crypto / Cloud) は必須・SNS / Forum 等は任意 (パスワード強度で代替可)。
Q3: Backup 方法? A: Recovery Code 印刷 + 安全な場所保管 / バックアップAuthenticator app + 2台目デバイス・1Password / Bitwarden 等のパスマネ統合。