生体認証とは?指紋や顔で本人を確かめる仕組みと、パスキーでの役目

スマートフォンのロックを外すときや、パスキーでログインするときに、指紋や顔で確かめることがあります。指紋や顔のデータはどこへ送られ、パスワードと比べて何がよいのでしょうか。
本記事では、生体認証の仕組みと、生体認証だけに頼らない理由を説明します。パスキーで生体認証を使う理由と、長いパスワードと比べたときの考え方も取り上げました。
生体認証とは
生体認証は、指紋、顔、目の虹彩といった体の特徴で、本人かどうかを確かめる方法です。多要素認証で紹介した3つの要素のうち、生体情報にあたります。ほかの2つは、パスワードなどの知識情報と、スマートフォンの中の秘密などの所持情報です。
下の図では、特徴を登録するときと、本人かどうかを確かめるときの2つの場面を、上下に並べました。
登録のときは、指紋や顔を読み取り、その特徴を数値に置き換えて端末に保存します。指紋の画像や顔の写真そのものを残すわけではありません。確かめるときは、読み取った特徴を保存した値と比べ、十分に似ていれば本人と判定する仕組みです。
パスワードは1文字でも違えば通りませんが、生体認証は「どのくらい似ているか」で決めます。読み取るたびに、指の角度や顔の向き、明るさが少しずつ変わるためです。
指紋や顔のデータは端末から出ない
生体認証の多くは、特徴を比べる作業を端末の中で済ませます。図の左が利用者の端末、右がログインするサービスで、そのあいだを何が行き来するかを示しました。
AppleのFace IDとTouch IDでは、特徴のデータを、端末の中の守られた領域(Secure Enclave)だけが使える鍵で暗号化しています。データは端末から出ず、Appleのサーバーにも、iCloudのバックアップにも入りません。パスキーの標準を定めるFIDO Allianceも、生体の情報は端末から出ず、サービスに届くのは確認に成功したという結果だけだと説明しています。
端末の中で比べる方式なら、サービスには指紋や顔の特徴がありません。サービスから情報が漏れても、体の特徴まで流出する心配はないわけです。特徴の比較を手元で行うのは、多くの人のデータを一度に狙われないようにするためでもあります。
生体認証だけに頼らない理由
生体認証は手軽な反面、それだけでは本人の確認に足りない、という弱みを3つ抱えています。
1つ目は、判定が確率で決まることです。Appleは、他人がFace IDでロックを外せる確率を100万分の1未満、Touch IDを指1本の登録で5万分の1としていますが、双子やよく似たきょうだい、13歳未満の子どもでは、この確率が上がります。
2つ目は、体の特徴が秘密ではないことです。顔は写真に写り、指紋はコップにも残ります。パスワードのように、本人だけが知っているものではありません。
3つ目は、変えられないことです。パスワードは漏れたら変えられますが、指や顔は取り替えられません。
そのため、アメリカ政府機関向けの認証の基準(NIST)は、生体認証を、スマートフォンのような「持っているもの」と組み合わせる場合にだけ使い、生体認証以外の手段も必ず用意するよう求めています。iPhoneで、再起動の直後や、5回続けて本人と認められなかったときにパスコードを求められるのも、この備えにあたる動きです。
パスキーで生体認証を使う理由
パスキーでは、端末の中の秘密鍵を使ってよいかを決める錠前の役目を、生体認証が受け持ちます。下の図に、ログインのときに手元でそろう2つの要素を示しました。
秘密鍵の入った端末を持っていることが1つ目の要素で、指紋や顔が持ち主のものであることが2つ目の要素にあたります。1回指を当てるだけで、持っているものと体の特徴という、種類の違う2つの確認がそろう仕組みです。
錠前には、PINも使えます。この場合は、持っているものと知っているものの組み合わせです。指紋や顔のほうが速く、肩越しに覗かれて盗まれる心配もないので、多くの端末で使われています。
ここで押さえておきたいのは、パスキーの安全を支えているのが、生体認証ではないことです。偽サイトに強いことも、サービスから漏れても困らないことも、公開鍵暗号の鍵のペアと、鍵が登録先のサイトに結び付いていることから来ています。生体認証は、他人に端末を拾われたときに、その鍵を使わせないための仕組みです。
長いパスワードと比べると
長くランダムなパスワードをパスワードマネージャーに保存すれば、推測される心配はほとんどなく、入力の手間もかかりません。それでもパスキーのほうが安全とされる理由を、攻撃の種類ごとに比べました。左の列が攻撃の種類で、右の2列が方式ごとの結果です。
| 攻撃の種類 | 長いパスワードとパスワードマネージャー | パスキー |
|---|---|---|
| 推測や総当たり | 長ければ、まず当てられない | 当てる値がない |
| サービスから情報が漏れる | パスワードから作った値が漏れる。長ければ元に戻されにくい | 公開鍵しかなく、ログインに使えない |
| 偽サイトに誘われる | 自動入力は偽サイトに反応しないが、人が手でコピーして貼り付けられる | ブラウザーが偽サイトには鍵を使わない |
| 送った値を盗まれる | 毎回同じ値なので、何度でも使われる | 署名が毎回変わるので、次に使えない |
違いがいちばんはっきり出るのは、偽サイトに誘われたときです。下の図で、2つの方式を上下に並べて比べました。
推測への強さだけなら、長いパスワードでも十分です。差が出るのは、サービスと同じ秘密を持ち合い、ログインのたびにそれを送るかどうかでしょう。パスワードは送る値そのものが鍵なので、一度盗まれれば使われます。パスキーは秘密鍵を送らず、毎回違う署名だけを返すため、盗まれても次のログインには使えません。
パスワードマネージャーも、保管庫を開けるときには、マスターパスワードか指紋や顔で持ち主を確かめます。生体認証は、どちらの方式でも手元の錠前として使われていて、比べるべきなのは錠前の中に入っているものの違いです。
製品での使われ方
生体認証は、iPhoneやMacのFace IDとTouch ID、Androidの指紋認証や顔認証、WindowsのWindows Helloなど、端末のロック解除の機能として組み込まれています。パスキーでログインするときも、同じ機能を使って持ち主を確かめる流れです。
パスキーの仕組みはパスキーとはで解説しました。このサイトでは、パスワードマネージャーの1つである1Passwordを例に、GitHubのパスキーを保存する手順も紹介しています。
参考にした一次情報
NISTは、アメリカ政府の技術標準を作る研究機関です。
- NIST SP 800-63B Rev.4「Authentication and Authenticator Management」
- FIDO Alliance「Passkeys」
- Apple「About Face ID advanced technology」
- Apple「About Touch ID advanced security technology」
- Apple Platform Security「Biometric security」
- Apple Platform Security「Optic ID, Face ID, Touch ID, passcodes, and passwords」