認証の三要素と多要素認証の数え方、シングルサインオンの利点と裏返し、生体認証の誤り率とトレードオフ、FIDO がフィッシングに強い理由を整理。情報処理安全確保支援士試験での問われ方まで解説します。
認証は「あなたが誰か」を確かめることで、認可は「あなたに何をさせるか」を決めることです。まずこの二つが別の判定であることを押さえます。OAuth 2.0 は認可のプロトコルであって認証のプロトコルではない、という区別も、ここから来ています。認証に使うなら OpenID Connect です。
認証の要素は、知識(知っているもの)・所有物(持っているもの)・生体(その人自身であるもの)の三つに分かれます。多要素認証とは、このうち異なる種類を二つ以上組み合わせることです。二回聞けば二要素、ではありません。パスワードと秘密の質問はどちらも知識なので、いくつ聞いても一要素のままです。
| 要素 | 例 | 弱点 |
|---|---|---|
| 知識 | パスワード、暗証番号 | 漏えいすると誰でも使える。使い回される |
| 所有物 | 認証アプリ、IC カード、セキュリティキー | 紛失・盗難。物理的に渡せてしまう |
| 生体 | 指紋、虹彩、静脈 | 変更できない。誤り率がある |
「二段階認証」と「二要素認証」も別の言葉です。段階を分けても、両方が知識なら二要素にはなりません。設問では、組み合わせを示して「多要素認証になっているか」を判断させる形が出ます。
利用者が何度もパスワードを入力しなくて済むこと、管理者がアカウントを一箇所で止められることが利点です。方式は、同一ドメイン内で Cookie を共有するもの、リバースプロキシを経由するもの、そして異なるドメイン間で使える SAML や OpenID Connect があります。ドメインをまたぐ連携には Cookie 型は使えない、という点が問われます。
裏返しもあります。認証情報が一つ奪われると、連携するすべてのサービスへ入られます。鍵が一本になるということは、その一本で全部開くということです。だからこそ、シングルサインオンを導入するなら、その認証自体を多要素にする、重要な操作の前に再認証を求める、セッションの有効期限を短くする、といった手当てが要ります。「利便性が上がった分、どこを厚くするか」を書かせる設問が出ます。
生体認証には、本人を誤って拒否する率(FRR)と、他人を誤って受け入れる率(FAR)があります。判定を厳しくすれば他人受入は減りますが本人拒否が増え、緩くすればその逆になります。どちらを優先するかは、守る対象で決まります。機密区画の入口なら他人受入を優先して下げ、本人が弾かれる分は有人の確認で受け止めます。両者が等しくなる点が等誤り率(EER)で、方式どうしの精度比較に使われます。
もう一つ、生体情報には決定的な弱点があります。漏えいしても変更できません。パスワードなら変えれば済みますが、指紋や虹彩は一生変わりません。そのため、生体情報そのものを保管せず特徴量に変換して保管する、端末の中に留めて外へ出さない、といった設計が採られます。
ワンタイムパスワードは、一度使った値が再利用できないことに価値があります。時刻を種にして一定時間ごとに変わる方式(TOTP)、回数を種にする方式(HOTP)、サーバから与えられた値を計算させるチャレンジレスポンス方式があります。いずれも、盗み見られた値が後から使えない点が共通です。
さらに進んだのが FIDO です。秘密鍵が端末から出ず、サーバへ送るのは署名だけなので、サーバ側に「漏れると困る秘密」が存在しません。保管値の漏えいという問題そのものが起きなくなります。加えて、接続先のドメインと鍵が結び付くため、偽サイトに入力させる形の攻撃にも強くなります。パスワードを送る認証との違いを説明できるようにしておきます。
午前Ⅱでは、三要素の分類、多要素の数え方、SAML と OpenID Connect の役割、FRR と FAR の関係が定番です。午後では、認証の構成図を示して「どこが弱いか」「どの対策を足すか」を書かせます。書くときは、要素の種類まで踏み込むこと(「多要素にする」ではなく「所有物の要素を追加する」)で、観点を落としにくくなります。認証と認可を混ぜないことも、採点でよく見られる点です。
IPA 公式:過去問題(情報処理安全確保支援士試験) ↗各年度の問題冊子・解答例・採点講評の PDF を、公式サイトで確認できます。