Webアプリ向け生体認証

Web アプリケーションの主要なログイン手段、2 要素目、またはステップアップ検証として FACEIO の顔認証を利用できます。ブラウザーウィジェットがライブ撮影とライブネスチェックを処理し、バックエンドがユーザーの対応付け、セッションポリシー、認可を管理します。エンドユーザーのログインフローについては、Web アプリ向け生体認証ログインを参照してください。

FACEIO Consoleでアプリケーションを作成し、APIを管理し、登録、認証、Facial IDイベント用のWebhooksを設定できます。

Webにおける生体認証の実際の動作

再利用可能なパスワードの代わりに新しい顔キャプチャを使用する

認証とは、人物が申告どおりの本人であることを確認するプロセスです。多くのWebアプリは今もパスワードに依存しており、共有シークレットをサーバーへ送信して検証します。構造上の弱点は、ユーザーがいなくてもシークレットが存在できることです。再利用、共有、漏えいしたデータベースからの窃取、フィッシングによる取得が起こり得ます。

生体認証は、共有シークレットを、新しい顔キャプチャと Facial ID に関連付けられた登録済み生体認証ハッシュとの照合に置き換えます。FACEIO はライブネスとプレゼンテーション攻撃の兆候も評価します。FACEIO のフローから再利用可能なパスワードを取り除き、バックエンドが結果を検証してセッションを発行します。

fio.jsによるブラウザー実装

FACEIOはこのモデルをfio.js SDKで実装します。カメラアクセス、顔撮影、ライブネスチェック、認証ウィジェットをブラウザー内で処理し、バックエンド検証用のFacial IDとpayloadを返します。

  • ネイティブアプリのインストール不要
  • 専用ハードウェアトークン不要
  • 最新のデスクトップまたはモバイルブラウザーで利用可能

主要認証要素と2要素目

適切な展開モデルは、リスクプロファイル、コンプライアンス要件、現在の認証基盤によって異なります。FACEIO は両方の方式に対応します。基本的な対策については、トラストセンターとセキュリティのベストプラクティスを確認してください。

主要な認証要素として

顔認証はパスワード入力を完全に置き換えられます。ユーザーは一度登録し、再訪時にはライブ撮影で認証します。バックエンドは返されたFacial IDをユーザーレコードに対応付け、検証後にセッションを発行します。

  • SaaSプラットフォームとコンシューマーアプリ
  • ログイン時の負担を軽減
  • 認証情報攻撃への露出を軽減

2要素目として

既存の認証情報に顔認証を追加します。SMS OTPやアプリのコードと比べ、生体認証は傍受、転送、リプレイが困難です。

  • 規制対象のエンタープライズ環境
  • SSOが必須の環境
  • 段階的なパスワードレス移行

どちらのモデルも同じSDKインターフェースを使用します。違いは、アプリケーションがいつ、どこで authenticate() を呼び出すかです。実装パターンは統合ガイドをご覧ください。

ポリシーベースのステップアップ認証

ステップアップ認証では、初回ログイン時ではなく、アクティブなセッション内で機密性の高い操作が試みられた場合だけ顔認証を適用します。

ポリシー条件を満たすと、アプリは authenticate() を呼び出し、新しいキャプチャを登録済みユーザーと照合します。バックエンドは操作を許可する前に結果を検証します。この方式は、顧客が管理するフィンテックと eKYC のワークフローやE コマースのリスク管理に利用できます。

ステップアップポリシーの主なトリガー:

取引金額

定められた金額を超える支払いや送金では、処理前に顔認証が必要です。

アカウント変更

メールアドレス、支払い方法、配送先住所の変更時にチェックを実行します。

権限昇格

管理画面へのアクセス、機密レコードの閲覧、破壊的な操作の承認。

異常なシグナル

認識されていないデバイスや通常と異なる場所からのログインでは、完全なアクセスを許可する前にチェックを実行します。

バックエンド検証の例を含むステップアップ実装パターンは、開発者ガイドに記載されています。

セキュリティ、プライバシー、コンプライアンス

生体認証ではプライバシーに関わる本人確認情報を扱います。FACEIOに組み込まれた対策と、アプリケーション所有者に残る責任は次のとおりです。

  • 通知、同意、適法性の根拠

    アプリケーション所有者は、明確な通知を提示し、必要な同意またはその他の適法性の根拠を取得したうえで、enroll()を呼び出す必要があります。本番展開を計画する際は、プライバシーのベストプラクティスガイドをご利用ください。

  • Facial IDとデータ最小化

    アプリケーションが扱うのは Facial ID、payload、認証結果であり、生の撮影メディアではありません。選択した顔認識エンジンは、所有者の設定、リージョン、削除ポリシーに従って、非可逆の生体情報ハッシュまたはアプリケーションインデックスを保存します。

  • ライブネスとアンチスプーフィング

    認証イベントでは、写真、動画リプレイ、画面リプレイ、合成メディアなど、一般的な提示攻撃を拒否するよう設計されたライブネスおよびアンチスプーフィングチェックを実行します。リリース前にセキュリティのベストプラクティスを確認してください。

  • アプリケーションの分離と検証

    各 FACEIO アプリケーションは分離され、独自の Facial ID マッピングを保持します。バックエンドでは秘密の REST API キーを使って、すべての認証イベントをサーバー側で検証してください。クライアント側の結果は、検証が完了するまで信頼できるものとして扱わないでください。運用パターンについては、REST API とWebhooksのリファレンスを参照してください。

コンプライアンスを考慮した構成については、開発者センター、トラストセンター、オンプレミス展開のオプションを確認してください。導入に関する質問は、FACEIO サポートへお問い合わせください。

展開モデルを選ぶ

主要要素、2 要素目、ステップアップの各モデルは排他的ではありません。成熟した実装では通常、標準フローにはパスワードレスログイン、特権ユーザーにはより強い 2 要素目、機密性の高い操作には対象を絞ったステップアップ検証を組み合わせます。

新規プロダクト

新規プロダクトでは、導入時から FACEIO を主要要素として採用し、完全なパスワードレスログインを提供できます。特にSaaS と Web アプリに適しています。

既存プラットフォーム

既存プラットフォームでは、まずFACEIOを2要素目として追加し、リスクポリシーの進化に合わせて対象を絞ったステップアップ検証へ拡張できます。

要点

Web アプリの生体認証は、現在実用的に導入できます。標準デバイスの最新ブラウザーで動作し、コンパクトな SDK で統合でき、共有シークレットより強い信頼モデルを提供します。まずスタートガイドを確認し、その後統合ガイドに沿ってブラウザーフローを実装してください。

生体認証の構築を始める

FACEIO アプリケーションを作成し、Public ID をコピーして fio.js を統合し、本番展開前にバックエンドで認証イベントを検証します。

fio.js SDK
同意を考慮した展開
クロスブラウザーウィジェット