メインコンテンツへスキップ
見出し画像

カメラに映すだけでロック解除。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未満」とされているが、双子や似た兄弟姉妹、子どもには弱くなる

    毎日何気なく使っている機能ですが、裏側では「立体を見る」という、写真とは別次元の仕組みが動いていたんだとわかりました。


    最後まで読んでいただき、ありがとうございました。

    顔認証やパスコードで、「これって突破されないのかな」と心配になったことはありますか? ひと言でもコメントで教えてもらえるとうれしいです。

     
     
    どこにでもいる普通のシステムエンジニアです。 開発に特化したアカウントを作りたいと思い始めてみました。 また、note自体についても深く知るために分析や実験をしていこうと思います。 気の向くまま発信していきますので、 良ければ温かい目でお付き合いください。

    あなたへのおすすめ