Liveness Detection

生体認証において、撮影対象が生きている本人であることを確認する技術。写真・動画・マスクなどによるなりすましを防止する。

概要

顔認証を用いたeKYCでは、本人の写真を使った「なりすまし」が脅威となる。Liveness Detectionは、カメラの前にいるのが実在する人物であり、写真や動画ではないことを検証する技術。

攻撃手法(Presentation Attack)

1. 写真攻撃(Photo Attack)

プリントした写真をカメラにかざす。

攻撃者
  ↓
本人の写真(プリント/スマホ画面)
  ↓
カメラ

2. 動画攻撃(Video Replay Attack)

スマホやタブレットで動画を再生。

攻撃者
  ↓
本人の動画(スマホ/タブレット)
  ↓
カメラ

3. 3Dマスク攻撃

高精度な立体マスクを装着。

攻撃者
  ↓
3Dプリントされたマスク
  ↓
カメラ

4. ディープフェイク攻撃

AIで生成した合成顔をリアルタイム表示。

攻撃者
  ↓
ディープフェイク生成(リアルタイム)
  ↓
カメラ

Liveness Detection の方式

パッシブ型(Passive Liveness)

ユーザーに特別なアクションを求めず、単一画像や動画から自動判定。

1. テクスチャ解析

画像のテクスチャから、本物の肌か写真かを判定。

画像入力
  ↓
LBP(Local Binary Pattern)抽出
  ↓
SVM/CNN分類器
  ↓
本物 / 偽物

2. モアレパターン検出

スマホ画面やプリント写真に現れるモアレを検出。

画像のフーリエ変換
  ↓
高周波成分解析
  ↓
モアレあり → 偽物

3. 微細な動き検出

瞬き、まばたき、微表情などの自然な動きを検出。

動画フレーム(30fps以上)
  ↓
オプティカルフロー解析
  ↓
自然な動きあり → 本物

4. 反射・影解析

顔の立体構造による光の反射や影を解析。

顔画像
  ↓
反射パターン抽出
  ↓
平面(写真) / 立体(本物)

アクティブ型(Active Liveness)

ユーザーに特定のアクションを指示し、その応答を検証。

1. ランダムチャレンジ

予測不可能な指示をランダムに出す。

システム: 「右を向いてください」
  ↓
ユーザーが右を向く
  ↓
動きを検証 → 本物

2. まばたき検出

「まばたきしてください」と指示。

目の状態を追跡
  ├─ 開眼 → 閉眼 → 開眼
  └─ → 本物

3. 笑顔検出

「笑ってください」と指示。

表情認識
  ├─ 無表情 → 笑顔
  └─ → 本物

4. 音声応答

「画面に表示された数字を読み上げてください」

ランダムな数字表示
  ↓
音声認識
  ↓
一致 → 本物

高度なLiveness Detection

デプス情報(Depth Information)

3Dセンサーで奥行き情報を取得。

ToF(Time of Flight)カメラ

赤外線の反射時間から距離を計測。

赤外線LED発光
  ↓
対象物に反射
  ↓
ToFセンサーが受光
  ↓
奥行きマップ生成
  ↓
平面(写真) / 立体(本物)

ステレオカメラ

2つのカメラで視差から奥行きを推定。

左カメラ画像 + 右カメラ画像
  ↓
ステレオマッチング
  ↓
デプスマップ生成
  ↓
立体構造の検証

赤外線(IR/NIR)カメラ

可視光カメラでは検出困難な特徴を捉える。

近赤外線LED照射
  ↓
NIRカメラで撮影
  ↓
肌の反射率解析
  ↓
本物の肌 / 写真

AI/深層学習

大量のデータで学習したモデルで判定。

学習データ

本物の顔動画(数千〜数万人)
偽物の攻撃動画(写真、画面、マスク)
  ↓
CNN/Transformerで学習
  ↓
Liveness分類器

ディープフェイク検出

動画フレーム
  ↓
時系列解析(LSTM/Transformer)
  ↓
不自然な動き・テクスチャを検出
  ↓
ディープフェイク / 本物

eKYCでの実装

ヘ方式(マイナンバーカード)

1. マイナンバーカードのICチップから顔写真読取
2. ユーザーがスマホで自撮り(Liveness Detection実行)
   ├─ パッシブ型: 動画から自然な動きを検出
   ├─ アクティブ型: 「まばたき」などの指示
   └─ デプス: 一部のスマホでToF利用
3. 2つの顔画像をAIで照合
4. 本人確認完了

ホ方式(本人確認書類)

1. 運転免許証等の顔写真を撮影
2. ユーザーが自撮り(Liveness Detection実行)
3. 2つの顔画像を照合
4. 本人確認完了

パッシブ vs アクティブ

観点 パッシブ型 アクティブ型
UX 良い(自然) 悪い(手間)
セキュリティ 中〜高
実装コスト
誤検知 やや高い 低い
高齢者対応 良い 難しい
アクセシビリティ 良い 制約あり

トレンド

最近はパッシブ型が主流。UXを損なわず、AIの精度向上により十分なセキュリティを確保できるため。

精度評価指標

APCER(Attack Presentation Classification Error Rate)

攻撃を本物と誤判定する確率。低いほど良い。

APCER = 攻撃が本物と判定された回数 / 攻撃試行回数

BPCER(Bona Fide Presentation Classification Error Rate)

本物を攻撃と誤判定する確率。低いほど良い。

BPCER = 本物が攻撃と判定された回数 / 本物の試行回数

ISO/IEC 30107

Liveness Detectionの国際標準。攻撃手法(PAI: Presentation Attack Instrument)とその検出性能を規定。

実装上の課題

UXとセキュリティのトレードオフ

環境要因

高齢者・障がい者対応

今後の展望

マルチモーダル認証

顔認証 + 声紋 + 行動パターン
  ↓
総合的なLiveness判定

オンデバイスAI

スマホ内のNPU/Neural Engine
  ↓
サーバー不要のLiveness Detection
  ↓
プライバシー保護+低遅延

継続的Liveness

認証時のみでなく、セッション中も継続的に検証
  ↓
リアルタイム異常検知

FIDO2統合

プラットフォーム認証器(Face ID等)
  ├─ Apple/Google独自のLiveness Detection
  └─ サービス側は結果のみ受取

関連