多要素認証
パスワードに加えて追加の認証要素を要求し、アカウントの不正アクセスを防ぐセキュリティ手法
多要素認証とは
多要素認証 (Multi-Factor Authentication, MFA) は、認証時にパスワード (知識要素) に加えて、追加の認証要素を要求するセキュリティ手法である。パスワードが漏洩しても、追加の要素がなければログインできない。Microsoft は 2019 年に、MFA を有効にすればアカウント侵害攻撃の 99.9% 以上をブロックできると公表している。
認証の 3 要素
認証の 3 要素を以下に示す。
| 要素 | 説明 | 例 |
|---|---|---|
| 知識 (Something you know) | 本人だけが知っている情報 | パスワード、PIN、秘密の質問 |
| 所持 (Something you have) | 本人だけが持っている物 | スマートフォン、ハードウェアキー |
| 生体 (Something you are) | 本人の身体的特徴 | 指紋、顔認証、虹彩 |
MFA は 2 つ以上の異なる要素を組み合わせる。パスワード + SMS コードは「知識 + 所持」の 2 要素認証 (2FA) だ。
MFA の方式
MFA の方式を以下に整理する。
| 方式 | セキュリティ | 利便性 | 推奨度 |
|---|---|---|---|
| FIDO2 / WebAuthn | 最高 (フィッシング耐性) | 高い | 最推奨 |
| TOTP (認証アプリ) | 高い | 中程度 | 推奨 |
| SMS コード | 中程度 (SIM スワップ攻撃のリスク) | 高い | 許容 |
| メールコード | 低い (メール漏洩リスク) | 高い | 非推奨 |
TOTP (Time-based One-Time Password)
Google Authenticator や Authy が生成する 6 桁のコード。30 秒ごとに変わる。
import { authenticator } from 'otplib';
// シークレットの生成 (ユーザー登録時)
const secret = authenticator.generateSecret();
const otpauth = authenticator.keyuri(email, 'MyApp', secret);
// → QR コードとして表示
// コードの検証 (ログイン時)
const isValid = authenticator.verify({ token: userInput, secret });
FIDO2 / WebAuthn
ハードウェアキー (YubiKey) やデバイスの生体認証を使う。フィッシングサイトでは認証が成功しないため、最も安全だ。
Amazon Cognito の MFA 設定
Amazon Cognito のユーザープールでは MfaConfiguration で MFA の強制度を切り替える。設定値は次の 3 つだ。
OFF: MFA なしOPTIONAL: ユーザーが任意で有効化ON: 全ユーザーに MFA を強制
AWS IAM での MFA
IAM ユーザーと root アカウントには MFA を必ず設定する。IAM ポリシーで MFA を強制できる。
{
"Condition": {
"BoolIfExists": { "aws:MultiFactorAuthPresent": "true" }
}
}
パスキー (Passkey) への移行
パスキーは FIDO2/WebAuthn をベースにした認証方式で、パスワードそのものを不要にする。2026 年 8 月時点で Apple、Google、Microsoft の主要プラットフォームが対応済みで、パスワード + MFA の 2 段階を 1 回の生体認証に置き換えられる。
全体像を把握するには関連書籍も有用。
この記事は役に立ちましたか?
関連用語
ゼロトラスト
ネットワークの内外を問わず全てのアクセスを検証し、暗黙の信頼を排除するセキュリティモデル
Amazon Cognito
Web / モバイルアプリに認証 / 認可機能を追加する AWS マネージドサービス
シングルサインオン
1 回の認証で複数のアプリケーションやサービスにアクセスできる仕組み
Passkey
パスワード不要の認証技術で、FIDO2/WebAuthn 標準に基づく
パスワードポリシー
パスワードの長さ / 複雑さ / 保存方法を定める方針。NIST SP 800-63B-4 が示す現行の要件と、旧来の常識との違いを整理する
シークレットローテーション
API キーやデータベースパスワードなどの秘密情報を定期的に自動更新するセキュリティプラクティス
関連する記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。
副業エンジニアの武器になる 1 冊の見つけ方
副業で技術力を売るエンジニアが、限られた時間で最大のリターンを得るための選書戦略を解説します。本業との差別化に効く本の選び方。