
カメラに映すだけでロック解除。Face IDは何を"見て"いるのか調べてみた
こんにちは。まなぶです。
ふだんはシステムエンジニアをしながら、noteの記事を書いています。
前回の記事「充電パッドの上で位置を直した経験、ありませんか? ワイヤレス充電の仕組みを調べてみた」を読んでくださった方、ありがとうございます。
「双子なら顔認証って突破できるんじゃないか」という話を聞いて、ちょっと心配になったことがあります。カメラに顔を映すだけでロックが解除される一方、写真をかざしても解除されない。この違いがどこから来るのか、考えたことがありませんでした。
今回は、顔認証(Face ID)の仕組みを調べてみます。
写真をかざしても解除できないのは、「立体」を見ているから
顔認証がやっているのは、顔を「写真として記憶する」ことではありません。顔の「立体的なかたち」を読み取って、記憶済みのデータと照合しています。
iPhoneのFace IDの場合、画面の上にある「TrueDepthカメラ」が、目に見えない多数の赤外線ドットを顔に投射します。このドットが顔の凹凸に当たって、わずかに歪んで見える様子から、顔の立体的な深度マップを作ります。同時に赤外線画像も撮影し、これらのデータをNeural Engineという処理部分が数学的なモデルに変換して、登録済みの顔データと照合する仕組みです。

平面の写真には、この「立体の凹凸」の情報がありません。だから、顔写真をカメラにかざしても、ロックは解除されないわけです。
顔のデータは、スマホの外に一切出ない
もうひとつ気になるのが、「顔のデータはどこに保存されているのか」という点です。
Face IDで読み取った顔の数学的モデルは暗号化され、「Secure Enclave」という、スマホの中にある独立した安全な領域だけで保護・利用されます。Apple公式のサポートページによると、このデータはデバイスの外に出ることはなく、iOSやアプリ、Apple自身もアクセスできず、iCloudなどにバックアップされることもないとされています。
顔認証と聞くと「顔のデータがどこかに送信されているのでは」と不安になる人もいると思いますが、少なくとも公式の説明では、スマホの中で完結する設計になっています。
「100万分の1」の精度、ただし家族には弱い
Apple公式のサポートページでは、他人がFace IDでロックを解除できてしまう確率は「100万分の1未満」とされています。参考までに、指紋認証のTouch IDでは「別々の指紋が同一指紋として登録される確率」が「5万分の1」とされており、単純な桁数で見るとFace IDのほうがかなり低い確率になっています。

ただし、この精度には例外もあります。双子や似た兄弟姉妹、13歳未満の子どもは、顔の特徴が近いために確率が上がるとされ、マスクを着けている場合はさらに上がるとされています。「数字としては100万分の1」でも、家族という条件が加わると、その前提が崩れることがある、ということです。
まとめ:顔認証は「立体のかたち」を、スマホの中だけで照合している
顔認証は写真を記憶しているのではなく、赤外線ドットで読み取った「立体的なかたち」を照合している。だから平面の写真では解除できない
読み取った顔のデータは暗号化され、スマホの中のSecure Enclaveだけで扱われる。外部に送信されることはない(Apple公式の説明による)
誤認証の確率は「100万分の1未満」とされているが、双子や似た兄弟姉妹、子どもには弱くなる
毎日何気なく使っている機能ですが、裏側では「立体を見る」という、写真とは別次元の仕組みが動いていたんだとわかりました。
最後まで読んでいただき、ありがとうございました。
顔認証やパスコードで、「これって突破されないのかな」と心配になったことはありますか? ひと言でもコメントで教えてもらえるとうれしいです。