3. PKIと認証技術

ユーザー認証の3要素と多要素認証(MFA)

2025年12月18日

情報セキュリティにおいて、すべての対策の起点となるのが「認証(Authentication)」です。どれほど堅牢なシステムを構築しても、正規ユーザーであるかを確認するプロセスが脆弱であれば、攻撃者は正面玄関から侵入します。

情報処理安全確保支援士試験では、認証技術が午前問題の基礎知識確認から午後問題の事例解析まで頻出テーマとなっています。パスワードの強度だけでなく、認証の根本的な仕組みである「3要素」と、それらを組み合わせた「多要素認証(MFA)」の論理的構造を理解することが合格への必須条件です。

本記事では、認証の3要素の定義と特性、現代のセキュリティ標準であるMFAの仕組みと実装上の注意点について、試験で問われるポイントを徹底解説します。

認証の3要素:セキュリティを支える基本原則

認証とは、「主張された主体(Subject)が真正なものであるかを確認する行為」を指します。システムに対して「私はAさんです」と主張するユーザーに対し、システムが「本当にAさんである」と判断するための根拠が必要です。この根拠となる情報を「認証要素(Authentication Factor)」と呼びます。

現代のセキュリティ理論では、認証要素は以下の3つに分類されます。

知識情報(SYK: Something You Know)

知識情報は、ユーザーの記憶の中にある情報を用いた認証要素です。古くから利用されている最も一般的な形式で、導入コストが低いという特徴があります。

具体例

  • パスワード
  • PIN(暗証番号)
  • 秘密の質問(「母親の旧姓は?」など)
  • パターンロック

メリット

  • 特別なハードウェアが不要で、システムへの実装が容易
  • ユーザーが忘れた場合でも、管理者によるリセットが可能

デメリット・リスク

  • 忘却 : 複雑な情報を覚えきれないリスク
  • 推測・総当たり : 辞書攻撃やブルートフォース攻撃により特定される恐れ
  • フィッシング : 偽サイトに入力することで容易に盗取される
  • 使い回し : 複数のサービスで同じパスワードを使用することで、リスト型攻撃(クレデンシャルスタフィング)の被害に遭いやすい

試験対策として重要なのは、知識情報の脆弱性を補うために「パスワードの複雑性要件」や「有効期限」が従来推奨されてきた点です。しかし、最新のNIST(米国国立標準技術研究所)のガイドライン(SP800-63B)では、「定期的な変更は強制すべきではない」「複雑さよりも長さを重視する」というパラダイムシフトが起きています。

このガイドラインでは、頻繁なパスワード変更がユーザーに「Password1」「Password2」のような安易な変更を促し、かえってセキュリティを低下させることが指摘されています。試験では、この新しい考え方と従来の考え方の違いを理解しておくことが求められます。

所持情報(SYH: Something You Have)

所持情報は、ユーザーだけが物理的に持っている「モノ」を用いた認証要素です。知識情報が「頭の中」にあるのに対し、こちらは「手の中」にあることが証明の根拠となります。

具体例

  • ICカード(社員証、マイナンバーカード)
  • ハードウェアトークン(ワンタイムパスワード生成機)
  • スマートフォン(SMS受信、認証アプリ)
  • USBキー(YubiKeyなど)

メリット

  • 物理的な盗難がない限り、ネットワーク越しに盗むことが困難
  • 知識情報と比較して複製が難しい(特にICチップやハードウェアトークン)

デメリット・リスク

  • 紛失・盗難: 物理的に失くすと認証ができなくなる
  • コスト: 配布や管理に物理的なコストがかかる
  • 利便性: 常に携帯していなければならず、忘れるとログインできない

所持情報による認証で重要なのは「複製困難性(耐タンパ性)」です。単なる磁気カードはスキミングで容易に複製できるため、セキュリティ強度は低くなります。一方、ICチップを搭載したスマートカードは内部の情報を読み出すことが困難であるため、高い強度を持ちます。試験では、この「媒体ごとの強度の違い」が問われることがあります。

生体情報(SYA: Something You Are)

生体情報は、ユーザーの身体的特徴や行動的特徴を用いた認証要素です。「バイオメトリクス認証」とも呼ばれます。

具体例

  • 指紋
  • 静脈
  • 虹彩
  • 顔認証
  • 声紋
  • 筆跡
  • キーストロークの癖

メリット

  • 忘れない・無くさない: 身体の一部であるため、管理の手間がない
  • 貸し借りできない: パスワードのように他人に教えることができないため、本人確認の確実性が高い(否認防止)

デメリット・リスク

  • 変更不可能: 一度生体情報データが流出すると、パスワードのように「変更」することができない(一生そのリスクを背負う)
  • 経年変化・怪我: 指の怪我や加齢により、認証できなくなる可能性
  • 誤認証: 判定に「閾値(しきい値)」が存在するため、本人を拒否する(FRR)または他人を受け入れる(FAR)エラーが確率的に発生
  • プライバシー: 個人の身体情報をシステム側に登録することへの心理的抵抗感

生体認証における「本人拒否率(FRR: False Rejection Rate)」と「他人受入率(FAR: False Acceptance Rate)」のトレードオフ関係は、午後試験の計算問題や記述問題で頻出のトピックです。

  • FRR(本人拒否率): 本人であるにもかかわらず、システムが拒否してしまう確率
  • FAR(他人受入率): 他人であるにもかかわらず、システムが受け入れてしまう確率
  • CER(Crossover Error Rate/等価エラー率): FRRとFARが等しくなる点で、生体認証システムの性能評価指標として用いられる

セキュリティを高くすれば利便性が下がる(FRRが上がる)という関係性を理解しておく必要があります。例えば、指紋認証の閾値を厳しく設定すると他人の指を誤認識する確率は下がりますが、本人の指でも少し湿っていたり角度が違うだけで認証が失敗する確率が上がります。

多要素認証(MFA)の論理構造と実装

単一の要素(シングルファクター)による認証には限界があります。パスワードは漏洩し、ICカードは盗まれ、指紋は偽造される可能性があります。そこで、セキュリティ強度を飛躍的に高めるために用いられるのが「多要素認証(Multi-Factor Authentication: MFA)」です。

多要素認証(MFA)の定義と「2段階認証」との違い

MFAの定義で最も重要な点は、「異なる種類の要素を2つ以上組み合わせる」ことです。

正しいMFAの例

  • パスワード(知識) + スマートフォンのアプリで生成されたコード(所持)
  • ICカード(所持) + 指紋(生体)
  • パスワード(知識) + 静脈認証(生体)

MFAではない例(単なる多段階認証)

  • パスワード(知識) + 秘密の質問(知識)
  • パスワード(知識) + 第二暗証番号(知識)

試験では、この違いを正確に見極める力が問われます。「パスワードを入力した後に、秘密の質問に答える」というフローは、一見セキュリティが高まっているように見えますが、どちらも「知識」に依存しているため、攻撃者がユーザーの情報を詳しく知っていれば両方とも突破されるリスクがあります。

これは「2段階認証(Two-Step Verification)」ではありますが、「2要素認証(Two-Factor Authentication: 2FA)」ではありません。真のMFAは、攻撃者が認証を突破するために「盗む」スキルと「物理的に奪う」スキルの両方を要求することで、攻撃の難易度を劇的に上げます。

タイムベースワンタイムパスワード(TOTP)の仕組み

現在、MFAの実装として最も普及しているのが、スマートフォンアプリ(Google AuthenticatorやMicrosoft Authenticatorなど)を用いたタイムベースワンタイムパスワード(TOTP: Time-based One-Time Password)です。RFC 6238で標準化されています。

この仕組みは、サーバーとクライアント(スマホアプリ)があらかじめ「シークレットキー(共有鍵)」を共有しておくことから始まります(QRコードの読み取り時に交換されます)。

TOTPの生成手順

  1. 現在時刻の取得: アプリとサーバーはそれぞれ現在の時刻(通常は30秒単位のタイムウィンドウ)を取得
  2. ハッシュ計算: 「シークレットキー」と「現在時刻」を結合し、ハッシュ関数(HMAC-SHA1など)に通す
  3. 切り出し: ハッシュ値の一部を切り出し、6桁の数字に変換して表示

サーバー側でも同じ計算を行い、ユーザーが入力した数字と一致すれば認証成功となります。

この仕組みのポイントは、通信経路上にパスワード自体は流れず、使い捨ての数字のみが流れる点です。たとえその瞬間の通信を盗聴されても、30秒後にはその数字は無効になるため、基本的に再生攻撃(リプレイアタック)を防ぐことができます。

試験では、TOTPの仕組みを理解した上で、「シークレットキーが漏洩した場合のリスク」や「時刻同期がずれた場合の対処」といった運用上の課題が問われることがあります。サーバー側は通常、現在のタイムウィンドウだけでなく、前後1〜2ウィンドウ(±30秒〜60秒)も許容することで、多少の時刻ずれに対応しています。

SMS認証の脆弱性とNISTの推奨

かつては携帯電話のSMS(ショートメッセージ)を用いたワンタイムパスワードが主流でしたが、近年、その安全性が疑問視されています。

SMS認証の主な脆弱性

1. SIMスワップ攻撃 攻撃者が携帯電話会社を騙して、被害者の電話番号を攻撃者のSIMカードに移し替える手口です。これにより、SMSで届く認証コードを攻撃者が受信してしまいます。実際に、暗号資産取引所のアカウントがこの手法で乗っ取られる事件が複数報告されています。

2. SS7の脆弱性 携帯電話網の信号プロトコル(SS7: Signaling System No. 7)の脆弱性を突き、SMSを盗聴・転送する攻撃です。SS7は古いプロトコルであり、設計当初はセキュリティが十分に考慮されていませんでした。

3. SMSフィッシング(スミッシング) 偽のSMSを送信し、本物そっくりの偽サイトに誘導してコードを入力させる手法です。

こうした背景から、NIST SP800-63Bでは、SMSを用いた認証を「非推奨(Restricted)」とし、より安全なアプリベースのTOTPや、FIDO(後述)などのハードウェアトークンの利用を推奨しています。

試験対策としても、「SMS認証は手軽だが、SIMスワップ等のリスクがあるため、高セキュリティが求められるシステムではアプリ型やハードウェアトークンへの移行が望ましい」という文脈を理解しておくことが重要です。

ただし、NISTが完全に禁止しているわけではなく、「他に手段がない場合の最終手段として利用可能」という位置づけです。金融機関などの重要システムでは、SMS認証からの移行が進んでいます。

認証に対する高度な攻撃手法と対策

認証システムを突破しようとする攻撃手法は日々進化しています。防御側としては、これらの攻撃手法を理解し、適切な設定を行う必要があります。

クレデンシャルスタフィング(リスト型アカウントハッキング)

攻撃者が、あるWebサイトから漏洩した「IDとパスワードのリスト」を入手し、それを別のWebサイトで試行する攻撃です。

攻撃の前提: 多くのユーザーが「パスワードの使い回し」をしているという事実

対策

ユーザー側の対策:

  • パスワードマネージャーを利用し、サイトごとに異なるランダムなパスワードを設定する
  • 重要なアカウントでは必ずMFAを有効化する

管理者側の対策:

  • MFAの導入(パスワードが漏れても所持情報がないと入れない)
  • WAFやボット検知ツールによる自動化攻撃の遮断
  • 漏洩パスワードリスト(Have I Been Pwnedなど)との照合による警告
  • アカウントロックアウトポリシーの実装
  • 異常なログインパターンの検知とアラート

試験では「A社から流出したリストを使ってB社へログインを試みる攻撃」として記述されます。「パスワードを複雑にする」などの対策は、この攻撃に対しては無意味です(正規のパスワードを入力されているため)。MFAが最も有効な対策となります。

パスワードスプレー攻撃

特定のIDに対して多数のパスワードを試す「ブルートフォース攻撃」は、アカウントロック(数回失敗でロックされる機能)によって容易に防がれてしまいます。そこで攻撃者が考案したのが「パスワードスプレー攻撃」です。

攻撃の手法 「少数のよく使われるパスワード("Password123"や"2024"など)」を、多数のアカウントに対して順番に試します。

攻撃の特徴 1つのアカウントに対する試行回数は1〜2回程度で抑えるため、アカウントロックの閾値(例えば5回連続失敗)に引っかかりません。例えば、1000個のアカウントに対して「Password123」を1回ずつ試し、次に「Welcome2024」を試すという方法です。

対策

  • 推測されやすいパスワードの設定自体を禁止する(ブラックリスト方式)
  • パスワード強度チェックの実装
  • MFAの導入
  • IPアドレスベースのレート制限
  • ログイン試行の統計分析と異常検知

試験では、「アカウントロックがあるのに攻撃が成功する理由」として、この手法が問われることがあります。防御側の対策が単一のアカウントに着目していても、攻撃者は全体を俯瞰して攻撃するという視点の違いを理解しておく必要があります。

中間者攻撃(MitM)とMFAの限界

「MFAを導入すれば完璧」かというと、そうではありません。高度なフィッシング攻撃、特に「リアルタイムフィッシングプロキシ」を用いた中間者攻撃(Man-in-the-Middle)は、従来のMFAさえも突破します。

攻撃の流れ

  1. 攻撃者は本物そっくりの偽サイトを用意し、ユーザーを誘導する
  2. ユーザーがID・パスワードを入力すると、攻撃者サーバーはリアルタイムで本物のサーバーにそれを転送する
  3. 本物のサーバーが「ワンタイムパスワード(OTP)を入力してください」と要求すると、攻撃者サーバーもユーザーに同じ画面を表示する
  4. ユーザーがスマホを見てOTPを入力すると、攻撃者はそれを即座に本物のサーバーに転送する
  5. 本物のサーバーは正規の認証と判断し、ログイン成功後の「セッションクッキー」を発行する
  6. 攻撃者はこのセッションクッキーを奪取し、アカウントを乗っ取る

この攻撃を防ぐためには、単に「所持情報」を確認するだけでなく、「どのサイトに対して認証しようとしているか」という情報を暗号学的に紐付ける必要があります。これが「FIDO/WebAuthn」の核心部分となります。

試験では、「MFAを導入しているのに攻撃が成功する理由」として、この手法が問われることがあります。従来のOTPは「時刻ベース」または「カウンタベース」で生成されますが、認証先のドメイン情報は含まれていないため、このような攻撃に対して脆弱です。

最新の認証トレンド:リスクベース認証とゼロトラスト

情報処理安全確保支援士試験の午後問題では、単なる認証方式の選択だけでなく、運用やコンテキスト(文脈)を考慮した認証設計が求められます。

リスクベース認証(アダプティブ認証)

すべてのログインに対して厳格なMFAを求めると、ユーザーの利便性が損なわれます。そこで、アクセスの状況(コンテキスト)を分析し、リスクが高いと判断された場合のみ追加の認証を求める方式が「リスクベース認証」です。

判定基準

接続元IPアドレス: 普段と異なる国や地域からのアクセスか?

  • 日本国内から常にアクセスしているユーザーが、突然ロシアやナイジェリアなどのハイリスク地域からアクセスした場合、追加認証を要求します。

デバイス情報: 初めて使用する端末か?(Browser Fingerprinting)

  • ブラウザのバージョン、画面解像度、インストールされているフォントなど、複数の情報を組み合わせて端末を識別します。普段と異なるデバイスからのアクセスはリスクが高いと判断されます。

時間帯: 通常の業務時間外や、物理的に移動不可能な短時間での連続アクセスか?

  • 午前10時に東京でログインした10分後にロンドンでログインするなど、物理的に不可能な移動パターンは明らかに不正です。

行動パターン: マウスの動きやキーストロークの特徴が本人と異なるか?

  • 生体認証の一種として、マウスの動き方やキーボードのタイピングリズムを継続的に分析し、本人かどうかを判定する技術もあります。

「普段使いのPCからいつもの場所でのアクセスならID・パスワードのみ、海外からのアクセスならMFAを要求」といった柔軟な運用が可能になり、セキュリティとユーザビリティのバランスをとる手法として重要視されています。

試験では、「特定の条件下でのみMFAを要求する設計」が適切かどうかを問われることがあります。リスクベース認証は、完全なセキュリティではなく、「リスクとコストのバランス」を取るための現実的なアプローチであることを理解しておく必要があります。

ゼロトラストモデルにおける認証

従来は「社内ネットワーク=安全」という境界防御の考え方でしたが、ゼロトラストモデルでは「ネットワークの内外を問わず、すべてのアクセスを疑い、都度検証する」ことが原則です。

ここでは、一度ログインすれば終わりではなく、リソースへのアクセスごとに認証と認可の状態を確認するアーキテクチャが求められます。この文脈において、認証基盤(IdP: Identity Provider)の役割は非常に重要であり、シングルサインオン(SSO)とMFAの組み合わせ、そして条件付きアクセス制御が必須の技術スタックとなります。

ゼロトラストにおける認証の特徴

  • 継続的な検証 : 一度認証しても、一定時間ごとに再認証または状態確認を行う
  • 最小権限の原則 : 必要最小限のアクセス権のみを付与し、時間制限を設ける
  • コンテキストベースのアクセス制御 : デバイスの状態、位置情報、時間帯などを総合的に判断

試験では、「クラウドサービス(SaaS)利用時のセキュリティ対策」として、SAMLやOpenID Connectといった連携プロトコルとともに、IdP側でのMFA強制の設定が出題される傾向にあります。特に、「社内システムとクラウドサービスを連携させる際の認証フロー」を正確に理解しておくことが重要です。

プッシュ通知型認証の普及

最近では、スマートフォンアプリにプッシュ通知を送り、ユーザーがタップで承認する方式も普及しています。Microsoft AuthenticatorやDuo Securityなどが代表例です。

プッシュ通知型認証のメリット

  • 6桁の数字を入力する手間がなく、ワンタップで認証完了
  • 通知自体が「誰かがログインしようとしている」ことを知らせるアラートになる
  • 身に覚えのないログイン試行をすぐに拒否できる

注意点

  • ユーザーが通知の意味を理解せず、無意識にタップしてしまう「承認疲れ(MFA Fatigue)」攻撃のリスク
  • 攻撃者が何度もログインを試行し、ユーザーが間違えてタップするのを待つ手法

この対策として、最新のプッシュ通知型認証では、ログイン画面に表示された数字をアプリ側でも入力させる「番号マッチング」機能が実装されています。これにより、ユーザーは通知を受け取るだけでなく、実際にログインしようとしているのが自分であることを確認する必要があります。

試験対策としての重要ポイント整理

最後に、情報処理安全確保支援士試験で特に問われやすいポイントを整理します。

3要素の分類 具体的なデバイスや方式が提示されたとき、それが「知識」「所持」「生体」のどれに当たるかを即座に分類できる能力が必要です。例えば、「スマートフォンで受信したSMS」は所持情報、「スマートフォンの画面ロックに使用する顔認証」は生体情報です。

MFAの定義

「知識+知識」はMFAではないことを見抜く必要があります。試験では、「以下のうちMFAとして適切なものはどれか」という形式で出題されることがあります。

攻撃への耐性

パスワードリスト攻撃にはMFAが有効である一方、中間者攻撃には従来のOTPも無力化される可能性があることを理解しておく必要があります。どの攻撃に対してどの対策が有効かを整理しておきましょう。

バイオメトリクスの精度

FRR(本人拒否率)とFAR(他人受入率)のトレードオフと、Crossover Error Rate(等価エラー率)の意味を理解しておく必要があります。計算問題として出題されることもあります。

運用管理

紛失時の対応プロセス、生体情報の変更不可能性に伴うリスク管理について、具体的なシナリオを想定して考えられるようにしておく必要があります。例えば、「ICカードを紛失した従業員に対する適切な対応手順」や「指紋認証データベースが漏洩した場合のリスクと対策」などです。

NISTガイドラインの理解

最新のNIST SP800-63Bのガイドラインでは、従来の常識が覆されている部分があります。定期的なパスワード変更の強制は推奨されず、長さと一意性が重視されること、SMS認証が非推奨とされていることなど、新しい考え方を理解しておく必要があります。

認証プロトコルの理解

SAML、OAuth 2.0、OpenID Connectなどの認証・認可プロトコルの基本的な仕組みと、それぞれの用途の違いを理解しておく必要があります。特に、SSOの実装において、どのプロトコルが適しているかを判断できることが求められます。

これらは単なる暗記ではなく、「なぜそうなるのか」という理屈を理解しておくことで、午後試験の長文問題において、状況に応じた適切なセキュリティ対策を提案する記述ができるようになります。

学んだ知識を定着させよう

ここまでの内容が理解できたか、簡単なクイズで確認してみましょう。

【演習】ユーザー認証とMFA 理解度チェック(全10問)

まとめ

本記事では、ユーザー認証の根幹をなす3要素(知識・所持・生体)の詳細と、それらを組み合わせた多要素認証(MFA)の重要性について解説しました。

認証はセキュリティの「最初の砦」です。攻撃者は常に弱いところを探しており、安易なパスワード運用や単一要素への依存は致命的なリスクとなります。知識認証の限界を理解し、所持情報や生体情報を適切に組み合わせることで、利便性を維持しつつ強固なセキュリティを構築することが、情報処理安全確保支援士に求められる設計能力です。

しかし、本記事でも触れた通り、従来のMFA(TOTPなど)でさえも、高度な中間者攻撃の前では無力化される可能性があります。この課題を解決し、パスワードレスな世界を実現する技術として注目されているのが「FIDO(Fast Identity Online)」です。

FIDOは、公開鍵暗号方式を用いることで、認証情報がネットワーク上を流れることなく、かつフィッシング耐性を持つ革新的な認証方式です。生体認証と組み合わせることで、「知っていること」も「持っていること」も不要な、真の意味での本人確認が実現します。

次回は、このFIDO認証の仕組みと、なぜそれが「フィッシング耐性のある最強の認証」と呼ばれるのかについて、公開鍵暗号の基礎から実装の詳細まで、技術的な深層に迫ります。情報処理安全確保支援士試験でも頻出のテーマとなっているFIDO認証を徹底的に理解することで、午後試験での記述力が大きく向上するでしょう。

-3. PKIと認証技術