昨今のスマートフォンには顔認証や指紋認証など何らかのの生体認証を搭載しているのが普通です。顔認証にはiPhoneで使われている3D顔認証や多くのAndroidで使われている2D顔認証があります。筆者のAQUOS sense7は他のAndroid同様2D顔認証です。これは写真で通るのか?簡単に試してみました。
注意:
如何に先進的な顔認証技術であっても本人拒否率(FRR)をゼロにし、同時に他人受入率(FAR)もゼロにするのは現在の技術では不可能です。どのような仕組みの顔認識技術であっても、持ち主が認識されないとか持ち主以外を持ち主と誤認識する可能性があることは常に頭に置いておく必要があります。何百億円かけようが完全なシステムを作るのは現在の技術では不可能です。
<参考記事>
生活必須端末としてSHARP sense7(SIMフリー)は使いものになるのか?
https://aichanworld.com/wd/2023/04/17/post-27821/
SHARP AQUOS sense7(SH-M24)使用開始レポート:バッテリーの持ち具合と長寿命化への工夫
https://aichanworld.com/wd/2023/04/18/post-27833/
3D顔認証
3D顔認証の代表格はiPhoneやiPad ProのFace IDです。
https://support.apple.com/ja-jp/HT208108
Face IDは 30,000以上の目に見えない赤外線ドットを顔に投射し、それを赤外線カメラが撮影、顔の凸凹などの深度情報を取得して顔の3Dモデルを構築、照合する3次元顔認識認証システムである。 Appleによると他人がロック解除出来る可能性は100万分の1程度であるという。
出典:Wikipedia “Face ID”
(写真はイメージです)
スマートフォンに搭載されている顔認識技術としてはトップレベルの精度ですが、冒頭に書いたように完全なものではありません。双子はもとより兄弟や親子でもよく似た顔だと認識してしまう場合があるようです。
以下にその実演動画があります。動画に写っているのはお母さんと息子さんですが、お母さんのFace IDによるロックを息子さんの顔で解除しています。これは顔認証初期のiPhone Xのものなので現状のiPhone 13やiPhone 14ではさらに改良されている可能性はありますが、それでもこういうことはありうるわけです。
この方式は認識精度が非常に高いといえますが、コスト的にはドットプロジェクタや赤外線カメラなどが余分に必要になりますので廉価モデルでは搭載は難しいでしょう。といってもiPhoneで廉価モデルといえるのはSEですが、SEはご承知の通りTouch IDによる指紋認証です。
3Dで顔の三次元形状を取得するため写真を本人であると誤認識することはまずなくて信頼性は高く。赤外線ドットプロジェクタと赤外線カメラを使うため外光がない暗所でも認識できるのが特徴です。
2D顔認証
ほとんどのAndroidで搭載している顔認証が平面画像による認識です。
最近の機種だから全てに搭載されているわけではありません。Google Pixelでいえば2021年以降のモデルではPixel 7とPixel 7 Proのみであり筆者のPixel 6 Proは顔認証非対応です。
仕組みからして当然Face IDより認識精度は落ちますし、顔の三次元形状を認識するわけではないので、よく言われるように写真と本物(生身の顔)の区別がつかない場合も考えられます。
顔認証一般の話として、写真と実物の区別はとても重要ですが、かならず係員の前で顔認証するような用途であれば、自分の代わりに写真を提示するようなことは不可能だと思いますのであまり神経質になる必要はないでしょう。しかし、無人店舗での支払い認証などであれば何をやられるかわからないため相当慎重になるべきです。
さて、2D顔認証で生身の人間と写真を区別する方法にはいろいろあるようですが、富士通の解説にわかりやすいものがありました。
https://www.fujitsu.com/jp/about/research/techguide/list/antispoofing/
面白いのでぜひお読みください。
要するにAIのディープラーニングでいろいろな環境で撮影した数多くの顔写真をバンバン学習させて写真としての特徴を数値化します。そして認識の際に捉えた顔の写真(生身の人の写真、もしくは提示された綺麗な写真)を解析して数値化し、前者の数値と比較して写真かそうでないかを判断するというものです。このプロセスで写真ではないとされた場合に、予め登録された正規の顔写真の特徴点を数値化したものと、今カメラで撮った顔の特徴点を数値化したものを比較して本人かどうかを判定するわけです。
現在のAndroid搭載の顔認証がどのようにして顔写真か本物かを判定しているかは公開されていませんが、一つの方法として前述のようなものがあります。
AQUOS sense7の顔認証
AQUOS sense7には顔認証が搭載されておりますが当然2D顔認証です。
顔認証が使えるのはロック解除のみで、アプリでの生体認証利用に関しては指紋認証に限られるようです。
AQUOS sense7の顔認証で写真と実物を区別するのにどのような仕組みが使われているのかは公表されていません(当然です)が、試しに筆者が自分の顔写真を27インチモニタいっぱいに映して試してみました。
試したAQUOS sense7はAndroid 13にアップデート済みです。
結果、生身の筆者ですと0.数秒で本当に瞬時に認識しますが、画面に映った筆者の顔写真では何度やっても認識せずそのうち「認識に失敗しました。しばらくしてからもう一度お試しください」となってパスコードか指紋でないとロック解除できなくなりました。
仕組みは不明ですが、筆者が実験した範囲では初期のAndroidのように簡単な写真では突破できてしまうようなことはありませんでした。
ロック解除のみに使われ、AQUOS sense7を自宅外でどこかに置きっぱなしにしない限りはそこそこの認証強度はありそうな雰囲気です。
何より認識がめちゃ速いのが心地よいのは確かです。
しばらくは顔認証もONにして使ってみます。