Windows Hello 顔認証

Windows 10 の Microsoft 顔認証は、エンタープライズ レベルの本人確認メカニズムであり、Windows Hello と呼ばれる Windows のコア コンポーネントとして Windows 生体認証フレームワーク (WBF) に統合されています。Windows Hello 顔認証では、近赤外線 (IR) イメージング用に特別に構成されたカメラを利用して認証を行い、Windows デバイスと Microsoft Passport のロックを解除します。

Windows Hello 顔認証の主な利点と機能

Windows Hello 顔認証を使う主な利点を次に示します。

  • 互換ハードウェア (近赤外線センサー) を備えたすべての Windows 10 ベースのデバイスとプラットフォームでの顔認証。
  • Microsoft Passport のロックを解除するためのシングル サインオン認証を提供する、使いやすいインターフェイス
  • エンタープライズ レベルの認証と、Microsoft Passport Pro でサポートされているコンテンツ (ネットワーク リソース、Web サイト、支払い手段など) へのアクセス。
  • 顔のひげや化粧など、外見の多少の変化にも対応でき、さまざまな照明条件のもとで一貫性のある画像を (赤外線を使って) 提供する機能

シナリオ

Windows 10 での Windows Hello 顔認証に関する 2 つの主なシナリオは、ログオンまたはロック解除のための認証と、まだログオンした状態であることを確認するための再認証です。

認証

平均時間> 2 秒
予期される頻度
頻度の説明ユーザーがデバイスのロックを解除するたび、またはロック画面の先に移動するたびに発生します

 

再認証

平均時間> 2 秒
予期される頻度
頻度の説明アプリケーションまたは Web サイトで、ユーザーがデバイスの前にいることを再度確認するときに発生します

 

しくみ

Windows Hello 顔認識エンジンは、センサーの前に誰がいるかを Windows が理解できるようにする 4 つの個別の手順で構成されます。

  1. 顔とランドマークの検出

    この最初の手順では、アルゴリズムは、カメラ ストリームでユーザーの顔を検出した後、目、鼻、口などに対応する顔のランドマーク (配置ポイントとも呼ばれ、緑色の点で表されます) を検出します。

  2. 顔の向き

    顔が十分に視野に入り、認証できることを保証するために、ユーザーが左右 15 度の範囲内でデバイスと向かい合っていることを確認します。

  3. 表現ベクター

    アルゴリズムは、ランドマークの位置をアンカー ポイントとして使用して、顔のさまざまな領域から数千のサンプルを採取して表現を作成します。その最も基本的な形式の表現は、特定のポイントの周囲の明暗の差を表すヒストグラムです。顔のイメージが保存されることはありません。それは単なる表現です。

  4. 決定エンジン

    センサーの前にいるユーザーの表現を作成した後、その表現を物理デバイスに登録されたユーザーと比較します。アルゴリズムが表現を正しい一致として受け入れる前に、表現は機械学習されたしきい値を超えている必要があります。システムに複数のユーザーが登録されている場合、セキュリティが低下しないようにするために、しきい値も増加します。この増加の結果、デバイスの新しいアカウントが Windows Hello 顔認証に登録されるたびに、すべてのアカウントの本人認証率が低下します。

登録

登録は、ユーザーの表現または表現セットを生成し、今後の比較のために保存する手順です (たとえば眼鏡をかけることがある場合は、かけているときとかけていないときの表現をセットとして登録する必要があります)。この表現のコレクションを登録プロファイルと呼びます。Microsoft が実際のイメージを保存することはなく、登録データが認証のために Web サイトやアプリケーションに送信されることもありません。

セキュリティとデータの整合性の観点から、Microsoft では、登録はユーザーがセンサーの前にいるときのみ実行される独立した手順にする必要があると考えています。Windows がユーザーの登録情報を自動的に更新することはありません。主導権は常にユーザーにあります。これにより、ユーザーのプロファイルが近くにいる人や信頼性とセキュリティを損なう可能性があるその他のメカニズムによって汚されることはないことが保証されます。プロファイルの更新、リセット、または削除は、いつでも手動で実行できます。

ほとんどのユーザーは、デバイスごとに 1 回登録する必要があるでしょう。次の項目に該当するユーザーは、追加登録が必要です。

  • 特定の種類の眼鏡をかけることがある
  • 顔の形や肌の質感が大きく変化している
  • 周囲の近赤外光が高い環境に移動する (例: 陽のあたる場所にデバイスを持ち出す)

近赤外線の利点

Xbox 360 の Kinect によって最初の顔認識をリリースした後、Microsoft は、周囲の光を当てにした一貫性のあるイメージの提供では、ユーザー エクスペリエンスが低下することを学びました。人は、光の状態が一定していない環境の中で生活し、働いています。従来の色認識システムでは、使用可能なイメージを作成するために、明度や露出などの設定の値を上げることに依存しています。これらのすべてで、システムの信頼性に影響を与えるアーティファクトが発生します。

シナリオ組み込みのカメラからのカラー イメージMicrosoft リファレンス センサーからの赤外線イメージ
テレビ視聴中または PowerPoint によるプレゼンテーション中の光量が少ないときMt450467.Hello1(ja-jp,VS.85).pngMt450467.Hello2(ja-jp,VS.85).png
窓や卓上スタンドの近くに座っているときの横からの光Mt450467.Hello3(ja-jp,VS.85).pngMt450467.Hello4(ja-jp,VS.85).png

 

赤外線の使用は、アクセスしようとする試みのほとんどを防止するために有用であるため、なりすまし対策としても役立ちます。

Mt450467.Hello5(ja-jp,VS.85).png

この種のイメージを獲得するために必要な内蔵ハードウェアの一例として、少なくとも 640 x 480 のモノクロ センサーと、仕様に適合する次のコンポーネントが必要です。

  • レンズ
    • F/# <= 2
    • EFL <= 1.24
    • ピクセル サイズ = 3um 以下
    • イメージの円の半径 = 1.44 mm
    • 解像度 >= 640 x 480
    • 赤外線波長: 860 nm +/- 40 nm
  • 赤外線照射
    • 出力 >= 1 mW
    • FOV = 40 度の FWHM
    • 波長: 860 nm +/- 40 nm
  • フィルター (非偏光)
    • トランスミット: 0 ~ 30 度の 860 nm で 99%
    • 反射/吸収: 0 ~ 30 度の 300 nm ~ 830 nm および 890 nm ~ 1000 nm で 99%

Windows Hello 顔認証の要件を満たすセンサーを構築する方法について、ハードウェア仕様については Microsoft の担当者にお問い合わせください。詳細については askmpcdevices@microsoft.com にメールでお問い合わせださい。Windows Hello 顔認証は、この仕様に適合する組み込み赤外線センサーでのみサポートされます。

精度の測定方法

Microsoft では、Windows Hello 顔認証の精度について、他人認証、本人認証、および本人否認という 3 つの基本的な尺度を使用しています。

用語他人認証本人認証本人否認
説明他人誤認率として計算されることもあるこの尺度は、ユーザーのデバイスに物理的にアクセスできる無作為のユーザーがユーザー本人として認識される可能性を表します。この数値はできるだけ小さくする必要があります。本人認証率は、ユーザーがセンサーのいるときに、常に登録済みのプロファイルと正しく照合される可能性を表します。この数値は高い必要があります。ユーザーが登録済みのプロファイルと一致しない可能性を表します。この数値は低い必要があります。
Windows 10 のアルゴリズム0.001% 未満または 1/100,000 FAR1 人の登録ユーザーで 95% を超える1 人の登録ユーザーで 5% 未満

 

測定エラーの原因追及は重要であるため、Microsoft では、エラーをバイアス エラー (システム エラー) とランダム エラー (サンプリング) という 2 つのカテゴリに分類しています。

バイアス エラー

バイアス エラーは、アルゴリズムが使用される環境と条件の代表的なデータを使用していない場合に発生することがあります。この種類のエラーは、異なる環境条件 (照明、センサーに対する角度、距離など) と、出荷されるデバイスの代表的なハードウェアではないことから発生する可能性があります。

ランダム エラー

ランダム エラーは、この機能が実際に使用される集団の多様性と一致しないデータを使用することから発生します。たとえば、眼鏡やひげや顔の特徴を考慮していない少数の顔のセットに注目している場合です。

トレーニングと検証

上記のエラーを最小限に抑えるために、Microsoft では、世界中の代表的なユーザーの顔データを幅広く収集することに投資しています。

Windows 10 が一般に入手可能になるまでに、Microsoft では 30,000 を超える顔を収集する予定です。収集したデータは、Microsoft 社内の安全な場所に保管されます。このデータは、社内での研究開発のためにのみ使用されます。

顔キャプチャには、対象者が顔認証対応デバイスを使用するときの顔の異なる角度と動きを表す 6 つの異なる記録が含まれます。 多様なユーザーの幅広い表現に対応するため、次のカテゴリが使用されています。

  • 年齢
  • センサーからの距離
  • 民族性
  • ひげ
  • 性別
  • 顔周り
  • 髪質
  • 顔高
  • 眼鏡
  • 視野内の位置
  • ピアス
  • センサーの位置
  • センサーの種類
  • 皮膚の色
  • 環境
  • その他

結果データは 3 つのグループに分割されます。第 1 のグループは、決定エンジンのしきい値の機械学習で使用されます。第 2 のグループは検出およびランドマーク アルゴリズムで使用され、第 3 のグループはシステムの精度を検証するために使用されます。 モデルが特定の種類のユーザーや環境に過剰に適合しないようにするため、1 人のユーザーが複数のグループに存在することはありません。

他人認証率の検証

他人認証率を検証するために、重複しない 1,200 ~ 2,000 人のユーザーを使用して、400 万を超えるテストの組み合わせを生成しています。各ユーザーから取得した 6 つの異なる記録のうち、1 つをランダムに選択してユーザーを登録し、2 つをランダムに選択してユーザーの本人認証率を検証します。ユーザーの残りの記録は、他人認証率を検証するために使用されます。世界のさまざまな地域を表すために、異なるデータの組み合わせを使用して、このテストを複数回実行しています。データを ROC 曲線として表現した後、それぞれの他人認証と本人否認を評価して、アルゴリズムを改善する方法を推測しています。

Mt450467.Hello6(ja-jp,VS.85).png

関連トピック

Microsoft Passport を使った本人確認の管理
Windows 生体認証フレームワーク API
Windows Hello に関する OEM アプリと IHV アプリのシナリオ

 

 

表示: