2FAの定義:パスワードに“もう一段”の要素を足す

2FA(Two-Factor Authentication/多要素認証)は、ログインや重要操作のときに「別種類の要素」を2つ以上組み合わせて本人確認する考え方です。一般的に、単にパスワードを知っているだけでは通さず、パスワードに加えて別の手段(例:ワンタイムコードや認証アプリ通知など)も求めます。

仕組みの基本モデル:要素の種類と流れ

要素は大きく「知識(知っていること)」「所持(持っているもの)」「生体(身体的特徴)」「場所・環境(条件)」のように分類されます。2FAはこのうち、異なるカテゴリを組み合わせることで、仮に一方が漏れても直ちに突破されにくくする狙いがあります。

代表的な流れは次のイメージです。まずパスワード等で第一段階の確認を行い、その後に第二段階として、所定の方法で生成・通知される一時的な情報を入力(または承認)します。第二段階は、時間で無効になるワンタイムコードであることが多く、同じ情報を再利用しにくい設計になっています。

方式ごとの違いと制限:強さは“実装と運用”で変わる

2FAの方式は複数あり、どれも万能ではありません。ここでは、理解のために代表的な観点を整理します。

  • 認証アプリのワンタイムコード:コード生成を端末側で行うタイプがあり、比較的強い運用になりやすい一方、端末の紛失や不正アクセス対策は別途重要になります。
  • SMSのワンタイムコード:手軽ですが、通信経路や電話番号を狙う攻撃が成立する余地が増え、リスク評価は方式の中でも慎重に行う必要があります。
  • ハードウェアキー(物理的な認証手段):持ち運び可能な専用の認証手段で、フィッシング等への耐性が高まる可能性があります。ただし、紛失・破損時の復旧計画が欠かせません。
  • メールコード:利用する場合、メールアカウント側の防御状況が結果を左右しやすい点に注意が必要です。

重要な制限として、「2FAを有効にしていること」と「攻撃が成立しないこと」は同じではありません。