Windows Hello 顔認証
Windows 10 の Microsoft 顔認証は、Windows Hello という、Microsoft Windows の核となるコンポーネントとして Windows 生体認証フレームワーク (WBF) に統合されたエンタープライズ レベルの本人確認メカニズムです。 Windows Hello 顔認証では、ユーザーを認証し、Windows デバイスのロックを解除したり Microsoft Passport のロックを解除したりするために、近赤外線 (IR) イメージング用に特別に構成されたカメラが利用されます。
Windows Hello 顔認証の主な利点と機能
Windows Hello 顔認証を使用する主な利点は次のとおりです。
- 互換性のあるハードウェア (近距離 IR センサー) を使用するすべての Windows 10 ベースのデバイスとプラットフォームでの顔認識。
- Microsoft Passport のロックを解除するためのシングル サインオン形式の検証を提供するユーザー フレンドリなインターフェイス。
- ネットワーク リソース、Web サイト、支払い方法など、Microsoft Passport Pro でサポートされるコンテンツへのエンタープライズ グレードの認証とアクセス。
- 顔の毛やメイクなどの外観の微妙な変化にも対応できる、さまざまな照明条件で (IR を使用して) 一貫した画像を提供する機能。
シナリオ
Windows 10 で Windows Hello 顔認証を使用する 2 つの主なシナリオは、ログオンまたはロック解除のための認証と、ユーザーがまだいることを証明するための再認証です。
認証
型 | 説明 |
---|---|
平均期間 | < 2 秒 |
予想される頻度 | 高 |
頻度の説明 | ユーザーが、デバイスのロックを解除したり、ロック画面を通過したりする場合に行われます |
再認証
型 | 説明 |
---|---|
平均期間 | < 2 秒 |
予想される頻度 | 低 |
頻度の説明 | アプリケーションまたは Web サイトで、ユーザーがデバイスの前にいることを再確認する場合に行われます |
しくみ
Windows Hello 顔認識エンジンは、センサーの前に誰がいるのかを Windows が理解できるようにする 4 つのステップで構成されています。
顔を検出してランドマークを見つける
この最初の手順では、アルゴリズムによってカメラストリーム内のユーザーの顔が検出され、目、鼻、口などに対応する顔のランドマークポイント (配置ポイントとも呼ばれます) が特定されます。
頭の向き
アルゴリズムで認証の決定を行うのに十分な顔が視野内にあることを確認するため、ユーザーがデバイスに対して +/- 15 度の範囲を向いていることを確認します。
表現ベクター
アルゴリズムは、ランドマークの場所をアンカー ポイントとして使用し、顔の異なる領域から数千のサンプルを取得して表現を構築します。 最も基本的な形式の表現は、特定点の周囲の明暗の差を表すヒストグラムです。 顔の画像は保存されず、表現のみが保存されます。
決定エンジン
センサーの前のユーザーの表現が作成されたら、物理デバイス上の登録済みユーザーと比較されます。 アルゴリズムが正しい一致として受け入れるには、表現が機械学習のしきい値を超える必要があります。 システムに複数のユーザーが登録されている場合、セキュリティが侵害されないように、このしきい値は高くなります。
登録
登録は、自分自身の表現または表現のセットを生成し (たとえば、眼鏡をかけている場合は、かけた顔とかけていない顔を登録することが必要な場合があります)、将来の比較のためにシステムに格納するステップです。 この表現のコレクションは、登録プロファイルと呼ばれます。 Microsoft が実際の画像を格納することはなく、登録データが認証のために Web サイトやアプリケーションに送信されることはありません。
ほとんどのユーザーは、デバイスごとに 1 回登録する必要があります。 次のようなユーザーは、追加の登録が必要です。
- ときどき特定の種類の眼鏡を着用する
- 顔の形や質感が大きく変わった
- 周囲の近 IR 光が高い環境に移動する (たとえば、デバイスを屋外の日の当たる場所に持ち出す場合)
近赤外線の利点
Xbox 360 の最初の Kinect で顔認識がリリースされて以降、Microsoft は、環境光を利用して一貫した画像を提供するとユーザー エクスペリエンスが低下することを学習しました。 人々が生活したり働いたりするさまざまな環境には、多くの異なる照明条件があります。 従来の色認識システムでは、明るさ、露出、またはその他の設定を上げて、使用可能な画像を作成していました。これらはすべて、システムの堅牢性に影響を与えるアーティファクトを公開します。
これに対し、近赤外線画像は、次に示すように、環境光のシナリオ全体で一貫しています。
シナリオ | 統合カメラからのカラー画像 | Microsoft リファレンス センサーからの IR 画像 |
---|---|---|
テレビを見ているときや PowerPoint プレゼンテーションのような低光量 | ||
窓や卓上灯の近くに座っているときの横からの照明 |
IR を使用すると、最も利用しやすい攻撃を防ぐのに役立つため、なりすましにも役立ちます。 たとえば、IR は波長が異なるので写真には写りません。また、次に示すように、画像は写真や LCD ディスプレイに表示されません。
精度の測定方法
Windows Hello 顔認証の精度に関していえば、使用される主な手段は、偽陽性、真陽性、偽陰性の 3 種類です。
用語 | 偽陽性 | 真陽性 | 偽陰性 |
---|---|---|---|
説明 | また、他人誤認率として計算される場合があります。これは、デバイスに物理的に近付くことができたランダムなユーザーが本人として認識される可能性を表します。 この数値は、可能な限り小さい値である必要があります。 | 真陽性率は、ユーザーがセンサーに対面するたびに、登録されたプロファイルと正しく一致する可能性を表します。 この数値は高い値である必要があります。 | ユーザーが登録されているプロファイルと一致しない可能性を表します。 この数値は引く値である必要があります。 |
Windows 10 のアルゴリズム | 0.001% または 1/100,000 FAR 未満 | 登録されているユーザーが 1 人の場合で 95% 超 | 登録されているユーザーが 1 人の場合で 5% 未満 |
測定の誤差を把握することが重要であり、そのため Microsoft では、誤差を偏り誤差 (定誤差) と確率的誤差 (サンプリング) の 2 つの方法で分類しています。
偏り誤差
偏り誤差は、環境を代表するデータを使用していないことと、アルゴリズムが使用される条件の結果として、発生する可能性があります。 この種の誤差は、さまざまな環境条件 (照明、センサーの角度、距離など) と、デバイスを出荷する場合に代表的ではないハードウェアによって、発生する可能性があります。
確率的誤差
ランダムエラーは、実際に機能を使用する母集団の多様性と一致しないデータを使用することによって発生します。 たとえば、眼鏡、ひげ、または固有の顔の特徴のない小さな顔のセットに焦点を当てているような場合です。
外部カメラのセキュリティ
CVE-2021-34466 で説明されている Windows Hello カメラを使用する場合は、セキュリティを強化するため、Windows Update を常に実行し、2021 年 7 月 13 日にリリースされた更新プログラムなどの最新のセキュリティ更新プログラムでシステムを更新することを強くお勧めします。 さらに、外部 Hello カメラの使用を完全に禁止する場合は、次のパスにオプションのレジストリ値を追加できます。
レジストリ パス: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\FaceLogon
DWORD 値: ShouldForbidExternalCameras
値: 1