認証

多要素認証 たようそにんしょう

認証パスワードワンタイムパスワード二段階認証セキュリティMFA
多要素認証について教えて

簡単に言うとこんな感じ!

カギを開けるのに「合言葉+指紋+スマホ確認」の3つが揃わないと入れない、みたいな仕組みだよ。パスワードだけじゃなく、複数の証明を組み合わせることで「本当にあなたですか?」を念入りに確かめるセキュリティの基本技術なんだ!


多要素認証とは

多要素認証(MFA: Multi-Factor Authentication)とは、ログインやシステムへのアクセスを許可する際に、異なる種類の「証明(要素)」を2つ以上組み合わせて本人確認を行う仕組みです。パスワード1つだけの認証と比べ、不正アクセスのリスクを大幅に下げることができます。

代表的な例は、銀行ATMで「キャッシュカード(持っているもの)」と「暗証番号(知っているもの)」の両方を求めるケースです。オンラインサービスでは「パスワード+スマホに届くSMSコード」のような形でよく見かけます。どれか1つが漏れても、もう1つがなければ侵入できないというのが多要素認証の強みです。

なお「二段階認証(2SA)」や「二要素認証(2FA)」と呼ばれることもありますが、厳密には「段階」と「要素(種類)」は異なる概念です。多要素認証では異なる種類の証明を使うことが重要で、「パスワード+秘密の質問」のように同じ種類(知識)を2つ使っても多要素認証とは呼びません。


認証の3要素と組み合わせの仕組み

認証に使える「証明の種類」は大きく3つに分類されます。多要素認証では、必ず異なる種類から2つ以上を組み合わせることがポイントです。

要素の種類英語具体例特徴
知識要素Something you knowパスワード・PIN・秘密の質問覚えられるが、漏えいリスクあり
所持要素Something you haveスマホ・ICカード・ハードウェアトークン物理的に持つ必要があり盗難リスクあり
生体要素Something you are指紋・顔・虹彩・声紋本人固有だが、変更不可

覚え方:「知ってる・持ってる・なってる」

3要素は語呂で覚えると便利です。

  • 識(パスワードを知ってる
  • 物(スマホを持ってる
  • 体(指紋になってる

「知・持・生(ち・も・せい)」と覚えてもOK。試験でも実務でもよく出てくる分類です。

よく使われるMFAの組み合わせ例

組み合わせ使われる場面
パスワード + SMSワンタイムパスワードSNS・メールサービス
パスワード + 認証アプリ(TOTP)業務システム・クラウドサービス
ICカード + 暗証番号入退室管理・銀行ATM
パスワード + 指紋認証スマートフォンのロック解除
パスワード + ハードウェアトークンVPNアクセス・金融機関

歴史と背景

  • 1980年代:RSA社がハードウェアトークン(SecurID)を開発。銀行や軍事用途で多要素認証の概念が実用化される
  • 2000年代前半:インターネットバンキングの普及とともに、フィッシング詐欺やパスワード漏えい事件が急増。金融機関を中心に2要素認証の導入が加速
  • 2010年:NIST(米国国立標準技術研究所)がガイドライン「SP 800-63」で多要素認証を強く推奨
  • 2011年:Google・Dropboxなどの主要クラウドサービスが2段階認証を一般ユーザー向けに提供開始
  • 2013年:TOTPを標準化したRFC 6238が整備され、Google AuthenticatorなどのアプリによるMFAが普及
  • 2016年:NISTがSMSによるワンタイムパスワードのセキュリティ上の懸念を指摘(SIMスワップ攻撃など)
  • 2018年以降FIDO2/WebAuthn標準化により、生体認証を使ったパスワードレスMFAが台頭
  • 2020年代:テレワーク普及・クラウド移行に伴い、MFAはほぼすべての企業システムで必須とみなされるようになる

MFAの方式比較とセキュリティ強度

MFAにはいくつかの実装方式があり、利便性とセキュリティ強度のバランスが異なります。発注・導入の際には要件に合った方式の選定が重要です。

方式仕組み強度利便性主な弱点
SMS OTPSMS でコード送信SIMスワップ・傍受
認証アプリ(TOTP)アプリで時刻ベースのコード生成中〜高フィッシングに弱い場合も
プッシュ通知スマホに承認ボタンを送信中〜高MFA疲労攻撃
ハードウェアトークン専用デバイスでコード生成デバイス紛失・コスト
FIDO2/WebAuthn公開鍵暗号+生体認証最高対応デバイスが必要

以下はMFAの認証フローを図解したものです。「知識要素」と「所持要素」を組み合わせた典型的な流れを示しています。

多要素認証のフロー(パスワード+TOTPアプリの例) ユーザー IDを入力 知識要素 パスワードを入力 サーバー確認① パスワード照合 ❌ 失敗→アクセス拒否 OTP要求 画面に表示 所持要素 TOTPアプリでコード確認 コードを入力 6桁のOTP サーバー確認② OTP照合(30秒有効) ✅ 認証成功 システムへのアクセスを許可 誤り→拒否

関連する規格・RFC

規格・RFC番号内容
RFC 6238TOTP(時刻ベースワンタイムパスワード)アルゴリズムの標準仕様
RFC 4226HOTP(カウンタベースワンタイムパスワード)アルゴリズムの標準仕様
RFC 8949FIDO2/WebAuthnで使われるCBORデータ形式の仕様
NIST SP 800-63BNISTによるデジタルアイデンティティ認証ガイドライン(MFAの強度分類を定義)
W3C WebAuthnパスワードレス・多要素認証のためのWeb標準(FIDO2の中核仕様)

関連用語