Face ID・指紋認証はどうやって本人を見分けるのか? 生体認証とセキュリティの仕組み

読了 7分

スマホを持ち上げて画面を見るだけでロックが解除されます。決済ボタンを押せば、指紋 1 回で終わりです。一日に何十回も繰り返すこの動作の裏で、スマホは毎回「この人が持ち主本人かどうか」を判定しています。ところが、よく考えると疑問が湧いてきます。自分の顔写真をかざせば突破されてしまわないのでしょうか。自分の指紋はどこに保存されていて、もしかして企業のサーバーにアップロードされているのではないでしょうか。この記事では、生体認証が本人を見分ける原理と、生体情報がパスワードとは違う扱いを受けるべき理由を、コードなしで整理します。

パスワードとは根本的に違う判定方式 #

パスワードのチェックは単純です。入力した文字列が、保存されているものと一文字も違わなければ通過です。正確に一致するか、しないか、二つに一つです。

生体認証ではこの方式が使えません。顔は昨日と今日で微妙に違います。照明が違い、角度が違い、メガネをかけたり外したりして、ひげも伸びます。指紋も、指を当てる位置や押す力が毎回違います。まったく同じ入力が二度入ってくること自体がないわけです。

そこで生体認証は「正確に一致するか」ではなく、十分に似ているか を判定します。登録しておいた基準と今入ってきた入力を比較して類似度のスコアを付け、そのスコアが決められたラインを超えれば本人と認めます。生体認証の長所も弱点も、そのほとんどがこの「似ている判定」という出発点から生まれています。

登録のときに起きていること — 写真ではなく数学的な要約 #

Face ID や指紋を登録するとき、顔をあちこちに回したり、指を何度も当てたりさせられます。このときスマホが顔写真や指紋の画像をせっせと保存していると思いがちですが、実際はそうではありません。

スマホは入力から 特徴だけを抜き出した数値の列 に変換します。指紋なら隆線が分岐する点や途切れる点の相対的な配置、顔なら目・鼻・口の間の距離や起伏といった幾何学的な特徴です。こうして作られた数値のまとまりを、数学的テンプレートと呼びます。人にたとえるなら、顔写真を保管するのではなく、「眉間の距離はいくつ、鼻の高さはいくつ」のような測定値のリストだけを書き留めておくことに近いものです。

重要な性質が一つあります。この変換は一方通行です。顔からテンプレートを作ることはできますが、テンプレートから逆に顔写真を復元することはできないように設計されています。万一テンプレートが流出しても、それがそのまま顔や指紋の画像の流出にはならないという意味です。

そのテンプレートはどこにあるのか — 機器の中の金庫 #

では、このテンプレートはどこに保存されるのでしょうか。答えはスマホの中、それも通常のストレージではなく セキュリティ専用チップ の中です。Apple はこの領域を Secure Enclave と呼び、Android 陣営にも同じ役割を持つセキュア領域があります。メインの OS から切り離された小さな金庫で、スマホがハッキングされても、この領域まで直行するのは難しい作りになっています。

さらに重要なのは、このテンプレートが 機器の外に出ない ことです。Apple や Google のサーバーには送信されず、バックアップにも含まれません。銀行アプリが指紋認証を使うときも、アプリが指紋データを受け取るわけではありません。アプリは OS に「本人確認をしてほしい」と依頼し、セキュリティチップが判定した後、「一致」か「不一致」かという結果だけを受け取ります。「生体情報が流出したらどうしよう」という心配への答えがここにあります。スマホの生体認証に限っては、流出する中央サーバーそのものが存在しない構造です。

写真 1 枚では突破できない理由 #

顔認識なら写真でだませそうに思えますが、最近のスマホの顔認識は平面の画像を見ていません。Face ID は赤外線で数万個の点を顔に投射し、その点がどう曲がるかを読み取って 顔の立体地図 を作ります。写真はどれほど鮮明でも平面なので深度の情報がなく、この段階ですぐにはじかれます。

ここにライブネス(liveness)検知が加わります。今カメラの前にいるのが生きている人間かどうかを確認する手続きで、目を開けて画面を注視しているか、といった信号を見ます。眠っている人の顔にスマホをかざしても、デフォルト設定ではロックが解除されない理由です。指紋側も同じで、単に模様だけを見るのではなく、静電容量方式や超音波方式で実際の皮膚の立体構造を読み取るため、指紋を印刷した紙では通用しません。

誤認識と誤拒否、そして双子 #

「十分に似ているか」を判定するシステムには、避けられないトレードオフが一つあります。判定ラインを厳しくすれば、他人が通過する確率(誤認識)は減りますが、肝心の本人が拒否されること(誤拒否)が増えます。マスクをしているときや手が濡れているときに認識が失敗する経験が、まさに誤拒否です。逆にラインを緩くすれば、使いやすくなる代わりに、似ている他人が通過するリスクが大きくなります。

Apple が公表している数値では、見知らぬ人が Face ID を偶然通過する確率は約 100 万分の 1、指紋方式の Touch ID は約 5 万分の 1 です。ただし、この確率は「見知らぬ人」が基準で、一卵性双生児や幼いきょうだいのように顔立ちが近い場合には大きく上がると Apple 自身が案内しています。双子の弟が兄のスマホを顔で開けたという話が時々出てくるのは、システムの欠陥というより、「似ている判定」という方式の本質的な限界です。

だから生体認証は単独では立っていません。何回か失敗すると必ずパスワード入力に切り替わり、再起動の直後には生体認証なしでまずパスワードを要求します。構造として見れば、パスワードが依然として土台の安全網で、生体認証はその上に載った速い出入口です。

パスワードは変えられても指紋は変えられません #

生体情報には、パスワードと決定的に違う性質が一つあります。パスワードは流出しても変えればそれまでですが、指紋は一生で 10 本だけ、顔は一つだけです。一度漏れたら、再発行する方法がありません。

この性質のために、「どこに保存するか」が生体認証の設計の核心になります。スマホの生体認証がテンプレートを機器の外に出さないのは単なる親切ではなく、変えられない情報はそもそも集めて置かないという原則の結果です。逆に、あるサービスが生体情報を中央サーバーに集めて管理しているなら、そのサーバーの一度の流出が、利用者にとっては恒久的な被害になります。新しいサービスが顔や指紋の登録を求めてきたとき、「この情報は自分の機器にとどまるのか、サーバーへ行くのか」を確かめてみる価値がある理由です。

パスワードマネージャー、そしてパスキーへ #

生体認証はパスワードをなくす技術というより、パスワード体系の最後の関門を低くしてくれる技術に近いものです。パスワードマネージャー の金庫を開けるとき、マスターパスワードの代わりに指紋 1 回で開けるのが代表例です。そして最近広がりつつあるパスキーは、この組み合わせをもう一段押し進めます。サイトごとに違う暗号鍵をセキュリティチップが作って保管し、人は顔や指紋でそのチップのロックを解除するだけでログインが終わります。覚えるパスワードそのものがなくなる方向で、その入口を守っているのが、この記事で見てきた生体認証です。

まとめ #

最後に一度にまとめます。生体認証は正確な一致ではなく十分な類似を判定するシステムで、顔や指紋は画像ではなく復元不可能な数学的テンプレートに変換され、機器の中のセキュリティチップだけにとどまります。写真は深度の測定とライブネス検知ではじかれ、誤認識と誤拒否の間にトレードオフがあるため、パスワードという安全網が常に後ろで支えています。そして、変えられない情報という特殊性のために、生体情報は機器の外に出さない設計が何より重要です。次にスマホが顔一つでロック解除されるとき、その短い瞬間に、赤外線の立体地図とセキュリティチップの中の判定が走っていたことを思い出していただければ幸いです。

X