最近、ログインするたびにスマホに番号が届くんです。パスワードだけじゃダメなんですか?
パスワードは盗まれたり使い回されたりすると、他人でも入れてしまうからね。種類の違う確認を組み合わせると、ぐっと安全になるんだ。
認証とは ― 本当に本人か確かめる
認証 とは、システムを使おうとしている人が 本当に本人かどうかを確認する ことです。本人確認の手がかりは、大きく3つの要素に分けられます。
| 要素 | 長所 | 弱点 |
|---|---|---|
| 知識情報 | 手軽で導入しやすい | 推測・盗み見・使い回しで 他人に知られる |
| 所持情報 | 盗み見だけでは使われない(物が必要) | 紛失・盗難 すると使われるおそれ |
| 生体情報 | 忘れない・なくさない | 体調や環境で誤判定がある。変更できない ので漏えいすると取り返しがつかない |
多要素認証と二段階認証
多要素認証 は、3要素のうち 異なる2つ以上の要素を組み合わせる 認証です。2つの要素を使うものを特に 二要素認証 といいます。
銀行のATMは、キャッシュカード(所持) と 暗証番号(知識) の組合せです。カードを落としても暗証番号がわからなければ引き出せず、暗証番号を見られてもカードがなければ使えません。
一方、二段階認証 は、認証の手順を2回に分ける ことを指します。要素の種類は問いません。
手順が2回でも、同じ種類の要素なら多要素認証ではありません。「パスワード+秘密の質問」は知識情報が2つ、「2本の指の指紋」は生体情報が2つなので、どちらも単一要素です。試験で最もよく狙われるひっかけです。
ワンタイムパスワード
ワンタイムパスワード(OTP) は、一度しか使えない使い捨てのパスワード です。短い時間で次々に変わるので、盗み見られても次のログインには使えません。
- 専用の小さな機器(ハードウェアトークン)やスマホのアプリに表示される
- SMSやメールで送られてくる
本人が持っているスマホやトークンに表示されるので、所持情報 を使った認証として、パスワードと組み合わせて多要素認証に使われます。
生体認証(バイオメトリクス認証)
生体認証 は、指紋や静脈など、本人の身体の特徴(身体的特徴)や、筆跡・声の癖など本人の動作の特徴(行動的特徴)を使う認証です。忘れたりなくしたりしない反面、機械による読み取りなので、誤った判定が起こることがあります。
- 本人拒否率:本人なのに、他人と判定して 拒否してしまう 率
- 他人受入率:他人なのに、本人と判定して 受け入れてしまう 率
両方ゼロにはできないんですか?
判定を厳しくすると他人は通らなくなるけど、本人も「今日は指が乾燥していて別人に見える」と拒否されやすくなる。逆に甘くすると本人はすんなり通るけど、似た他人も通ってしまう。片方を下げると、もう片方が上がる関係なんだ。
| 判定の基準 | 本人拒否率 | 他人受入率 | 向いている場面 |
|---|---|---|---|
| 厳しくする | 上がる | 下がる | 機密情報を扱う部屋など、安全性を最優先する場合 |
| 甘くする | 下がる | 上がる | 利用者の使いやすさを重視する場合 |
そのほかの認証の仕組み
- シングルサインオン(SSO):一度の認証で、複数のシステムやサービスを利用できる ようにする仕組み。覚えるパスワードが減って便利な一方、その1回の認証が突破されると、複数のシステムに入られてしまう
- CAPTCHA:ゆがんだ文字の読み取りや画像の選択をさせて、操作しているのが人間かプログラムかを判別 する。プログラムによる自動的な大量登録やログインの試行を防ぐ
- リスクベース認証:普段と違う端末や場所からのログインなど、いつもと違う状況のときだけ 追加の認証を求める
- パスキー:パスワードの代わりに、端末に保管した鍵と、端末の指紋認証などを組み合わせてログインする方式。仕組みには公開鍵暗号が使われる(公開鍵暗号については「共通鍵暗号と公開鍵暗号」の単元を参照)
CAPTCHA は「本人確認」ではなく「人間確認」。誰なのかは確かめず、人間かどうかだけを確かめます。
パスワードを安全に使うには
知識情報の代表であるパスワードは、使い方しだいで安全性が大きく変わります。
- 長く、推測されにくい文字列にする(名前・誕生日・辞書の単語は避ける)
- サービスごとに別のパスワード にする(使い回すと、1か所の流出がほかのサービスへの不正ログインにつながる)
- パスワードを付せんに書いて画面に貼るなど、人目につく場所に置かない
試験に出るポイント
- 認証の3要素:知識情報(パスワード・PIN)、所持情報(ICカード・スマホ)、生体情報(指紋・静脈・顔)
- 多要素認証 = 異なる種類 の要素を組み合わせる。同じ種類を2回使っても多要素ではない
- 二段階認証 = 手順を2回に分ける(要素の種類は問わない)
- ワンタイムパスワード = 一度だけ使える使い捨てのパスワード
- 生体認証は 本人拒否率 と 他人受入率 がトレードオフ。厳しくすると本人拒否率が上がる
- SSO = 1回の認証で複数システムを利用、CAPTCHA = 人間かプログラムかを判別