○ サイバー攻撃の高度化により、パスワードによる認証だけでは安全の確保が難しくなってきた。そこで用いられるのが多要素認証だ。
スマホや指紋を認証に使う。
一般に認証に使われる情報は3種類に分類できる。「記憶」「所有物」「生体」である。多要素認証とはこれらのうち、複数を組み合わせた認証方式を指す。
記憶による認証では、本人しか知らない情報を使う。代表的なのがパスワードである。「母親の旧姓は?」といった秘密の質問も記憶による認証だ。
所有物による認証では本人が所有する物理的なモノを使う。よく使われるのはスマートフォンだ。認証の際、サービス側が利用者のスマートフォンへSMS(Short Message Service)で認証コードを送り、利用者が認証コードをサービスへ送信して認証する。スマートフォンは本人しか持ち得ないので、表示される認証コードで本人確認ができるわけだ。
セキュリティートークンも所有物としてしばしば使われる。表示されるワンタイムパスワードを認証時に入力することで、トークンの所有者、つまり本人が認証を求めていると判断する。
生体による認証では本人の身体的特徴を使う。指紋や虹彩、静脈は個人ごとに固有の形状をしている。認証時にこれらの情報を提示して、本人であると証明する。
多要素認証と似た言葉に多段階認証がある。多段階認証とはリソースへアクセスするまでに、複数回認証することを指す。従ってパスワードと秘密の質問のように、記憶を使った認証を2回実施することも多段階認証であるし、生体認証を組み合わせて実施するのも多段階認証である。
同じ複数回の認証でも記憶による認証を複数回実施する場合と、パスワード認証の後に指紋による認証をする場合とでは、後者のほうが強度が高い。
情報流出を防ぎつつ生体認証。
生体を使えばほぼ確実に利用者本人だと認証できる。しかし機微な個人情報であり、パスワードのようにサービス事業者が個別に管理するのは現実的ではない。認証のたびに生体情報がネットを介して送信されることも問題だ。
インターネットを経由して安全な生体認証を実現する規格としてFIDO(Fast IDentity Online、ファイド)アライアンスが定める、「FIDO2」がある。FIDO2に準拠すればサービス提供者に生体情報そのものを送付しなくても、生体認証を実装できる。
FIDO2に基づく認証の手順はこうだ。まず利用者は使いたいサービスへアクセスする。サービスはIDP(IDentity Provider)に対し、利用者の認証を開始するよう要求する。IDPはサービスへチャレンジコードを送付する。サービスはチャレンジコードを利用者へ送付する。利用者はスマートフォンなどの認証器にチャレンジコードを送信、認証器で指紋などの生体による認証を実施する。認証器はチャレンジコードを秘密鍵で署名し、利用者へ送付する。利用者は署名したチャレンジコードをIDPへ送信する。IDPは受け取った署名を検証し、認証結果をサービスへ通知する。以上から分かるように、生体情報は認証器の外へ送られない。
端末間で鍵情報を同期。
ただしこれまでのFIDO2には問題があった。FIDO2では認証器ごとに鍵を作成し、作成した鍵は別の端末に移行できない。スマートフォンの機種変更などで認証器が変わった際、鍵を再作成する手間を要した。このため別途パスワードによる認証を残すなど、別の方式での認証を必要とした。
これを解消するため、クレデンシャルの同期機能などが追加仕様として2022年に策定された。米アップルや米グーグル、マイクロソフトがこれを「PassKey(パスキー)」という名称で実装すると表明した。PassKeyは認証機が作成した秘密鍵をクラウド上に保管、他のデバイスでも共有して使えるようにする。