顔認証をわかりやすく解説
顔認証は、最新の顔キャプチャーと登録済みの顔インデックスを比較する生体認証方式です。アプリケーションはパスワードを求める代わりに、比較結果を使って再訪ユーザーが登録データと一致するかを判断します。
Web アプリでは、FACEIO がカメラキャプチャー、ライブネス検出、アンチスプーフィングチェック、ブラウザー上の認証フローを処理します。アプリケーションは認証結果を受け取り、セッションを作成または昇格する前にサーバー側で検証する必要があります。
選択された顔認識エンジンは、生体認証ハッシュとも呼ばれる数学的な顔ベクトルを生成、管理します。アプリケーションが受け取るのは Facial ID と認証結果であり、キャプチャーや生体認証ハッシュではありません。FACEIO は生体認証ハッシュを保存、処理せず、アクセスすることもありません。
顔認証の仕組み
顔認証フローは3つの段階で構成され、どの段階もセキュリティに関係します。
1. 登録
ユーザーがカメラの使用に同意すると、顔がキャプチャーされます。ライブネス検出はライブプレゼンス指標を評価し、写真、動画、マスクなどのプレゼンテーション攻撃の識別を支援します。選択された顔認識エンジンが登録データを作成し、FACEIO は新しい Facial ID をアプリケーションに返します。
2. 認証
次回のアクセス時に、ユーザーは再びカメラを見ます。最新のキャプチャーが登録データと比較され、リプレイやプレゼンテーション攻撃の拒否を支援するライブネスチェックも再実行されます。照合が設定済みポリシーを満たすと、FACEIO はバックエンド検証用の認証結果をブラウザーに返します。
3. バックエンド検証
アクセスを許可する前に、サーバーで認証結果を検証する必要があります。 インテグレーションガイド では、PINコードの確認、Facial IDの参照、再送または変更されたクライアント側の結果を受け入れるリスクを抑えるためのセッション紐付けを説明しています。
パスワードログインとの違い
パスワードによるログイン
ユーザーは共有シークレットを知っていることを示します。このシークレットは再利用できるため、フィッシング、漏えい、売買、推測の対象になります。フォームに入力され、複数のサイトで使い回されることも多く、安全性はユーザーのパスワード管理方法に左右されます。
顔認証
最新のキャプチャーを登録済みの顔インデックスと比較し、ライブネス指標を評価します。このフローには再利用可能なパスワードはありませんが、結果の検証とセッションの作成はバックエンドの責任です。
顔認証がすべてのフローですべての認証要素を置き換えるわけではありません。重要な操作では、バックエンドのポリシーチェック、デバイスシグナル、ワンタイムコードと組み合わせることができます。セキュリティのベストプラクティスでは、顔認証を主認証、第2要素、追加認証として使用する方法を説明しています。
顔認証と顔認識の違い
この2つの用語は同じ意味で使われることがありますが、役割は異なります。
- 顔認識 は、顔を検出して比較する基盤技術です。監視、タグ付け、検索、認証などに使用できます。
- 顔認証 は、ユーザーの同意に基づく顔認識の用途です。ライブキャプチャーをユーザー自身の登録データと比較して、アカウントアクセスに利用します。本番フローには、ユーザーの同意、ライブネスチェック、バックエンドでの信頼判断が必要です。
FACEIOで構築するのは顔認証であり、大規模監視ではありません。ユーザーは自ら参加し、カメラの許可画面を確認し、アプリケーションのフローからFacial IDの削除を申請できます。提供モデルについては、Webサービスとしての顔認識も参照してください。
顔認証システムの主な構成要素
ライブネス検出
キャプチャーがその場にいる人物から取得されたことを示す指標を評価し、印刷写真、画面リプレイ、マスクなどのプレゼンテーション攻撃の拒否を支援します。実装方法については、 顔のアンチスプーフィングガイド を参照してください。
Facial IDと生体認証ハッシュ
アプリケーションが扱うのは Facial ID です。生体認証ハッシュは、選択された顔認識エンジンが管理する数学的な顔ベクトルであり、Web アプリが保存する未処理の写真ではありません。
同意とプライバシー制御
カメラへのアクセスには、ブラウザー上での明示的な許可が必要です。アプリケーション所有者は、ユーザーが削除を申請できる明確な方法を提供する必要があります。プライバシーのベストプラクティスでは、同意、保持、削除の実装パターンを説明しています。
バックエンド検証
クライアント側の結果だけを信頼してはいけません。アクセスを許可する前に、バックエンドでFacial ID、PINポリシー、アプリケーションコンテキスト、セッション紐付けを検証します。セキュリティのベストプラクティスとREST APIの資料を参照してください。
ビジネスでの利用例
- SaaSプラットフォームやカスタマーポータルへのパスワードレスログイン。
- 支払い、送金、アカウント変更前の追加の生体認証。
- フィンテック、マーケットプレイス、顧客管理のオンボーディングフローにおける再訪ユーザーの認証と追加確認。
- eコマースのチェックアウトやアカウント操作前に、顧客側のポリシーで追加認証を実施。
- fio.jsによる開発者向けのWeb認証。ネイティブモバイルアプリは必須ではありません。
顔認証の開発者向け資料
FACEIO の主要資料を使って、ブラウザー統合、バックエンド検証、本番デプロイ、FACEIO Console でのアプリケーション設定へ進めます。
よくある質問
顔認証では自分の写真が保存されますか?
FACEIO は、アプリケーションの顔キャプチャーや生体認証ハッシュを保存しません。アプリケーションが受け取るのはFacial IDと認証結果です。生体認証ハッシュは、設定、同意フロー、リージョン、削除ポリシーに従って、選択された顔認識エンジンが管理します。
顔認証と顔認識は同じですか?
顔認識は基盤となる照合技術です。顔認証は、ユーザーの同意に基づき、その場にいるユーザーを自身の登録データと比較してアカウントアクセスに利用する用途です。本番フローには、ライブネスチェックとバックエンドでの信頼判断が必要です。
写真や動画で顔認証を欺くことはできますか?
ライブネス検出は、印刷写真、画面リプレイ、マスクなどの一般的なスプーフィング試行の拒否を支援します。Meeting Shieldはライブ会議におけるディープフェイクのリスク対応を支援し、ID Matchはセルフィーの顔と身分証明書の顔写真を比較します。
顔認証の利用にネイティブモバイルアプリは必要ですか?
いいえ。FACEIO は、fio.js JavaScript SDK を介して最新のデスクトップブラウザーとモバイルブラウザーで動作します。ネイティブアプリ、デバイス SDK、専用の生体認証ハードウェアは必要ありません。
関連ガイド
顔認証の実装を始める
FACEIO Console でアプリケーションを作成して公開 App ID を取得し、fio.js ウィジェットをサイトに追加します。本番環境に移行する前に、導入チェックリスト、セキュリティのベストプラクティス、インテグレーションガイドを確認してください。