認証技術 — パスワードから二要素認証・パスキーへ
導入
SNSにログインするとき、パスワードを入力するだけでなくスマートフォンへの確認コードを求められた経験はないでしょうか。あるいは顔認証や指紋認証でスマートフォンを解除している方も多いかもしれません。最近では「パスキー」という言葉も耳にするようになり、パスワードそのものを使わずにログインできる環境が整いつつあります。こうした「本人であることを確認する仕組み」の総称が認証技術です。私たちが日常的に使っているログイン操作の裏側には、知識・所持・生体という3種類の要素を組み合わせた設計が隠れています。本セクションでは認証の基本概念と主な種類を整理します。
なぜ重要か
認証はITパスポート試験・基本情報技術者試験・情報セキュリティマネジメント試験を問わず、テクノロジ系セキュリティ分野の最頻出テーマの一つです。認証の3要素(知識情報・所持情報・生体情報)・多要素認証(MFA)・シングルサインオン(SSO)は過去問を見てもほぼ毎回出題されており、確実に得点できるよう理解しておくことが重要です。「二要素認証と二段階認証の違い」「認証と認可の違い」を問う問題も近年の過去問に繰り返し登場しています。実務においても多くの企業でクラウドサービスへのアクセスが増加したことで多要素認証の設定が全社員に求められるスキルとなっており、認証の知識は試験対策と実務の両面で不可欠です。
くわしく知ろう
認証(Authentication)とは、システムにアクセスしようとしている人物が本当に本人であるかどうかを確認する仕組みを指します。認証と混同されやすい認可(Authorization)とは「認証済みの利用者に対してどのリソースへのアクセスを許可するか」を決める仕組みです。社内システムにログインできること(認証)と、その中で人事データにアクセスできる権限を持つこと(認可)は別の概念です。
最も古典的な認証方式がパスワード認証です。パスワードにはブルートフォース攻撃(総当たり攻撃)・辞書攻撃(一般的な単語リストで試みる手法)・パスワードリスト攻撃(他サービスから流出したID・パスワードを使い回す手法)などの弱点があります。対策として長くて複雑なパスワードの設定・パスワードマネージャーの活用・多要素認証の導入が推奨されています。
多要素認証(MFA:Multi-Factor Authentication)は認証の要素を組み合わせる方式です。認証の要素は3種類に分類されます。「知識情報」はパスワード・暗証番号・秘密の質問のように「本人だけが知っていること」です。「所持情報」はスマートフォン・ICカード・ワンタイムパスワード生成アプリのように「本人だけが持っているもの」です。「生体情報」は指紋・顔・虹彩・静脈パターンのように「本人の身体的特徴」です。これら3種類のうち異なる2種類以上を組み合わせる方式が二要素認証(2FA)として広く普及しています。
ワンタイムパスワード(OTP)は一度使うと無効になるパスワードの総称です。代表的な方式としてTOTP(Time-based OTP)があり、Google Authenticatorなどの専用アプリが時刻をもとに30秒ごとにパスワードを生成します。一方、SMSで届く認証コードはサーバーが生成したコードを帯域外(Out-of-Band)で送信する方式であり、厳密にはTOTPとは異なります。いずれもリプレイ攻撃(使用済みパスワードを再利用する攻撃)に強いという特性を持ちますが、SMS方式はSIMスワップ攻撃や通信傍受のリスクがあるため、可能であればアプリベースのTOTPの方が安全性が高いとされています。
生体認証(バイオメトリクス認証)は身体的特徴を使って本人確認を行う方式です。指紋認証・顔認証・虹彩認証・静脈認証などがあります。パスワードのように忘れたり盗まれたりするリスクが少ない一方、生体情報は変更できないため一度漏えいすると取り替えができないという特性があります。
パスキー(Passkey)は公開鍵暗号方式を利用した認証技術で、FIDO2/WebAuthn規格に基づいています。デバイスが秘密鍵を安全に保持し、サーバーには対になる公開鍵のみを登録します。ログイン時はデバイスの生体認証で本人確認を行い、パスワードそのものが存在しないためフィッシング詐欺によるパスワード窃取が原理的に成立しません。
シングルサインオン(SSO:Single Sign-On)は1回のログイン認証で複数のシステムやサービスを利用できる仕組みです。企業内で使うグループウェア・メール・業務システムに一度のログインでアクセスできる環境がSSOの典型例で、利用者はパスワードを複数管理する手間が減り、管理者はアカウント管理を一元化できます。OAuthは「認可」のための標準プロトコルで、OpenID Connect(OIDC)はOAuthの上に「認証」機能を追加した規格です。
具体例で理解する
インターネットバンキングのログインフローは二要素認証の典型例として試験にもよく登場します。まずIDとパスワードを入力します(知識情報による認証)。次に登録したスマートフォンに届くワンタイムパスワードを入力して初めてログインが完了します(所持情報による認証)。「知っていること」と「持っているもの」という異なる種類の要素を組み合わせることが二要素認証の本質です。万が一パスワードが漏えいしても、スマートフォンを持っていなければ不正ログインを防ぐことができます。
スマートフォンのロック解除では顔認証や指紋認証が生体情報として機能しています。パスワードを入力する手間なく高いセキュリティを実現している点が生体認証の利点です。指紋が怪我などで読み取れない場合のバックアップとしてPINコードが設定されているケースが多く、これ自体が「生体情報を主、知識情報をバックアップとした多重の認証設計」といえます。
試験での出題パターン
【パターン1:認証の3要素の分類を問う問題】
「次の認証手段のうち、所持情報に分類されるものはどれか」という形式で、選択肢にパスワード・ICカード・指紋・暗証番号・ワンタイムパスワードなどが並びます。知識情報・所持情報・生体情報それぞれの具体例を3つ以上頭に入れておきましょう。特に「ワンタイムパスワードは所持情報(スマホやトークンを使って生成するもの)」「暗証番号は知識情報(記憶しているもの)」という判断を瞬時に行えるかどうかが得点を左右します。
【パターン2:二要素認証の組み合わせ例を問う問題】
「次のうち二要素認証の組み合わせとして適切なものはどれか」という形式で、「パスワードと秘密の質問(両方知識情報なので不適切)」「パスワードとスマートフォンへのOTP(知識情報+所持情報で適切)」などが選択肢に並びます。「同じカテゴリを2回使っても二要素認証ではない」という点がこの問題タイプの核心です。
よくある間違い・紛らわしいポイント
【認証と認可の混同】
「システムにログインできること」が認証であり、「ログイン後に特定のデータや機能を操作できる権限があること」が認可です。「N(本人確認=AutheNtication)」と「Z(権限付与=AuthoriZation)」の略字を覚えておくと混同を防げます。実際のシステムでは認証と認可は両方揃ってセキュリティが成立します。
【二要素認証と二段階認証の違い】
二要素認証(2FA)は「異なる種類の要素を2つ使う」認証であり、二段階認証は単に「認証のステップが2回ある」ことを指します。パスワードを入力した後に秘密の質問に答える方式は「二段階」ですが、どちらも知識情報であるため「二要素」ではありません。異なる種類の要素を使う真の二要素認証の方が、同カテゴリを2回使う二段階認証よりセキュリティ上強いといえます。
【生体認証は万能ではない】
精度が100%でないため本人を正しく認証できないケース(本人拒否率:FRR)や他人を誤って認証するケース(他人受入率:FAR)が存在します。また生体情報はパスワードと違って変更できないため、一度漏えいすると永続的なリスクとなります。「生体認証はパスワードより絶対に安全」という誤解は避けてください。
まとめ・試験ポイント
- 認証(Authentication/AuthN)=本人確認、認可(Authorization/AuthZ)=アクセス権限の付与、この2つは別の概念
- 認証の3要素=知識情報(パスワード・PIN・秘密の質問)、所持情報(スマホ・ICカード・セキュリティトークン)、生体情報(指紋・顔・虹彩・静脈)
- 二要素認証(2FA)=3要素のうち異なる2種類以上を組み合わせた認証方式
- パスワードと秘密の質問の組み合わせは二段階認証であり、二要素認証ではない(どちらも知識情報)
- 生体認証(バイオメトリクス)=身体的特徴を利用、変更不可という特性に注意、精度は100%ではない
- ワンタイムパスワード(OTP)=TOTP(時刻ベース)とHOTP(カウンターベース)の2種類がある
- パスキー(Passkey)=FIDO2/WebAuthn準拠、公開鍵暗号方式でパスワード不要、フィッシング耐性が高い
- シングルサインオン(SSO)=1回の認証で複数サービスを利用できる仕組み
- OAuthは認可のプロトコル、OpenID Connect(OIDC)はOAuth上に認証機能を追加した規格
学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。
入門試験100問に挑戦する