Microsoft Entra Verified ID での顔チェックの使用と大規模な高保証検証の実現
顔チェックは、プライバシーを重視した顔照合機能です。 これにより、企業は大規模な高保証検証を、セキュリティを確保しながら簡単に実行できます。 顔チェックは、ユーザーのリアルタイムの自撮りと写真の間で顔照合を実行することで、重要な信頼の層を追加します。 顔照合は、Azure AI サービスを利用して実行します。 顔チェックは、照合結果のみを共有し、機密性の高い ID データは共有しないことで、ユーザーのプライバシーを保護しながら、本人であると主張する人物が本物であることを組織が確認することを可能にします。
前提条件
顔チェックは Verified ID 内のプレミアム機能です。 顔チェックによる検証を行うには、Microsoft Entra Verified ID のセットアップ内で顔チェック アドオンを有効にする必要があります。
- 顔チェックを使用する前に、Microsoft Entra Verified ID がテナント内でセットアップ済みであることを確認してください。
- Microsoft Entra テナントに Azure サブスクリプションを関連付ける、または追加する
- 顔チェックを設定するユーザーがその Azure サブスクリプションの共同作成者ロールを持っていることを確認する
Microsoft Entra Verified ID での顔チェックの設定
顔チェック アドオンは、Microsoft Entra 管理センターからと、CLI で Azure Resource Manager (ARM) Rest API を使用することの 2 つの方法で有効にすることができます。 Microsoft Entra スイート ライセンスを持つテナントで顔チェックを使用する場合、顔チェックはテナント レベルで有効になり、そのテナント内のすべてのオーソリティに構成が適用されます。 その他のライセンスについては、Azure Resource Manager (ARM) Rest API を使用して、テナントのオーソリティごとに顔チェックを個別に有効にすることができます。
Note
Microsoft Entra Verified ID 用の ARM Rest API は、現在パブリック プレビュー段階です。
管理センター内での Microsoft Entra Verified ID の顔チェックの設定
- Verified ID 概要ページで新しい [アドオン] セクションまで下にスクロールして、顔チェック アドオンを [
Enable
] にします。
- サブスクリプションのリンク手順で、サブスクリプション、リソース グループ、リソースの場所を選択します。 次に、
Validate
を選択します。 サブスクリプションの一覧に何も表示されない場合は、「サブスクリプションが見つからない場合はどうすればよいですか?」を参照してください。
- 検証が済むと、アドオンを [
Enable
] にできます。
これで、エンタープライズ アプリケーションで顔チェックの使用を開始することができます。
Azure Resource Manager (ARM) Rest API を使用した Microsoft Entra Verified ID の顔チェックの設定
Note
Microsoft Entra Verified ID 用の ARM Rest API は、現在パブリック プレビュー段階です。
特定のオーソリティ上の顔チェック アドオンを設定するには、マシン内に Azure PowerShell ツールが必要です。 以下のメカニズムは、REST 呼び出しをラップします。 代わりに、Azure Resource Manager (ARM) Rest API PUT を適宜使用することもできます
- PowerShell で次のコマンドを実行します
az login --tenant <tenant ID>
顔チェック課金を有効にしたいサブスクリプションを選択します
次のコマンドを実行します。
az rest --method PUT --uri /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.VerifiedId/authorities/<authority-id>?api-version=2024-01-26-preview --body "{'location':'<rp-location>'}"
<subscription-id>
を実際のサブスクリプション ID に置き換えます<resource-group-name>
を実際のリソース グループ名に置き換えます<authority-id>
を実際のオーソリティ ID に置き換えます。authority-id
は、Admin API の GET Authorities 呼び出しを使用することで取得できます。- 以下の 2 つの値のいずれかを使用して
<rp-location>
を置き換えます。- ヨーロッパのテナントの場合は、
northeurope
を使用します - ヨーロッパ以外の場合は、
westus2
を使用します
- ヨーロッパのテナントの場合は、
これで、テナント内で顔チェック アドオンが有効になりました。
MyAccount を使用して顔チェックを実行する
顔チェックは、VerifiedEmployee
の資格情報を発行できる MyAccount と、Microsoft が提供するパブリック テスト アプリを使用して、簡単に実行できます。 始めるには、次の手順を実行する必要があります。
- 自分の Microsoft Entra テナントでテスト ユーザーを作成し、自分自身の写真をアップロードします。
- MyAccount に移動し、テスト ユーザーとしてサインインして、そのユーザーに
VerifiedEmployee
資格情報を発行します。 - パブリック テスト アプリを使用して、顔チェックを使用している
VerifiedEmployee
資格情報を提示します。
Microsoft Authenticator で顔チェックなどの提示要求を受け取ると、資格情報の種類の後に追加の項目を共有することがユーザーに求められます。 ユーザーがその項目を選ぶと、実際の顔チェックが実行され、その後ユーザーは要求された資格情報とチェックの信頼度スコアを、パブリック テスト アプリ (証明書利用者) と共有できるようになります。 診断結果はテスト アプリで確認できます。
Request Service API を使用して顔チェックを実行する
ユーザーはアプリで Request Service API を使用し、信頼できる写真付きの VerifiedEmployee
資格情報、国発行の身分証明書、カスタム デジタル資格情報に対して顔チェックを実行するための要求を作成できます。 たとえば、ヘルプ デスク サービスは、VerifiedEmployee
資格情報に対して顔チェックを要求して、ID を迅速かつ安全に検証し、パスキーのアクティブ化やパスワードのリセットなど、さまざまなセルフサービス シナリオを有効にすることができます。 コンプライアンス リスクを軽減するために、アプリは、ライブネス データにアクセスすることなく、目的の資格情報から写真に対する照合の信頼度スコアを受け取ります。
写真付き Verified ID 資格情報の発行
idTokenHint 構成証明フローを使用するカスタム資格情報では、写真が含まれる Verified ID 資格情報を発行することもできます。 資格情報の定義には、写真要求の表示とルールの定義が必要です。
写真要求の表示定義では、写真として正しくレンダリングされる必要があることを Microsoft Authenticator が理解できるように、型が image/jpg;base64url
に設定されている必要があります。
{
"claim": "vc.credentialSubject.photo",
"label": "User picture",
"type": "image/jpg;base64url"
}
写真の実際の要求値を設定するときは、UrlEncode(Base64Encode(JPEG image))
形式にする必要があります。
{
"outputClaim": "photo",
"required": false,
"inputClaim": "photo",
"indexed": false
}
顔チェックを含む提示要求
提示要求を作成するための Request Service API への JSON ペイロードは、顔チェックが実行される必要があると指定する必要があります。 写真を含む要求には名前を付ける必要があり、必要に応じて信頼度のしきい値を 50 から 100 の整数として指定できます。 既定値は 70 です。
// POST https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/createPresentationRequest
...
"requestedCredentials": [
{
"type": "VerifiedEmployee",
"acceptedIssuers": [ "did:web:yourdomain.com" ],
"configuration": {
"validation": {
"allowRevoked": false,
"validateLinkedDomain": true,
"faceCheck": {
"sourcePhotoClaimName": "photo",
"matchConfidenceThreshold": 70
}
}
成功した顔チェックの presentation_verified コールバック イベント
Verified ID 資格情報の提示中に顔チェックが正常に実行された場合、presentation_verified
の JSON ペイロードにはさらに多くのデータが含まれます。 matchConfidenceScore を含む faceCheck セクションが追加されています。 要求に faceCheck が含まれている場合、提示確認メッセージを要求して受信することはできないことに注意してください。
"verifiedCredentialsData": [
{
"issuer": "did:web:yourdomain.com",
"type": [ "VerifiableCredential", "VerifiedEmployee" ],
"claims": {
...
},
...
"faceCheck": {
"matchConfidenceScore": 86.314159,
"sourcePhotoQuality": "HIGH"
}
}
],
失敗した顔チェックのコールバック イベント
信頼度スコアがしきい値よりも低い場合、提示要求は失敗し、presentation_error
が返されます。 検証元のアプリケーションにスコアは返されません。
{
"requestId": "...",
"requestStatus": "presentation_error",
"state": "...",
"error": {
"code": "claimValidationError",
"message": "Match confidence score failing to meet the threshold."
}
}
Authenticator には、信頼度スコアがしきい値に達しなかったことをユーザーに通知するエラー メッセージが表示されます。
Microsoft Entra Verified ID での顔チェックに関してよく寄せられる質問
顔チェックとは何ですか?
Microsoft Entra Verified ID での顔チェックは、プライバシーを尊重する顔照合のために使用される Verified ID 内のプレミアム機能です。 これにより、企業は大規模な高保証検証を、セキュリティを確保しながら簡単に実行できます。 顔チェックは、ユーザーのリアルタイムの自撮りと写真の間で顔照合を実行することで、重要な信頼の層を追加します。 顔照合は、Azure AI サービスを利用して実行します。
顔チェックと Face ID の違いは何ですか?
Face ID は、モバイル アプリにアクセスするためにデバイスのロックを解除するための Apple 製品に搭載されたビジョン ベースの生体認証セキュリティ オプションです。 顔チェックは Microsoft Entra Verified ID の機能で、これもビジョン ベースの AI テクノロジを使用しますが、ユーザーを提示された Verified ID と比較します。 顔チェックは、高保証アクセスが必要な幅広いオンライン シナリオで、ユーザーが本人かどうかを判断します。 たとえば、価値の高いビジネス プロセスや、会社の機密情報へのアクセスなどです。 どちらのメカニズムでも、ユーザーはプロセス内でカメラに顔を向ける必要がありますが、異なる形で機能します。
顔チェックの生体認証ビジョン チェックはモバイル デバイスで実行されるのですか?
いいえ。 写真とキャプチャされたライブネス データの間の生体認証チェックは、Azure AI Vision Face API を使用してクラウドで実行されます。 プロセス中にユーザーがキャプチャした自撮りは、要求元の ID 検証サイトと共有されません。
顔のライブネス チェックとは何ですか?
Microsoft Entra Verified ID での顔チェックは、Azure AI Vision Face API のライブネス チェックを使用して、ユーザーのデバイス上のカメラからの自撮り映像に写っているのが実際の人物であることを検証します。 このチェックは、ユーザーの静的な写真や 2D ビデオをライブ セルフの代わりに使用できないようにする上で役立ちます。
キャプチャされたライブネス データはどうなりますか?
モバイル デバイスでカメラをオンにすると、モバイル デバイスでライブ映像がキャプチャされます。 その後、この映像は、それを使用して Azure AI サービスのサービスを呼び出す Verified ID に渡されます。
データは、Microsoft Authenticator、Verified ID、または Azure AI のどのサービスによっても格納または保持されません。 さらに、この映像は検証ツール アプリケーションとも共有されません。 代わりに検証ツール アプリケーションは信頼度スコアのみを受け取ります。 AI ベースのシステムにおいて、信頼度スコアとは、そのシステムへのクエリに対する回答が正しい確率をパーセントで表したものです。 このシナリオでは、信頼度スコアは、Verified ID ユーザーの写真がモバイル デバイス上のユーザーのキャプチャ画像と一致する確率となります。 Azure AI サービスのデータとプライバシーについては、こちらで確認できます。
顔チェックの価格はいくらですか?
使用量の課金と価格の最新情報については、Microsoft Entra の価格を参照してください。
サブスクリプションが見つからない場合はどうすればよいですか?
[サブスクリプションのリンク] ウィンドウに使用できるサブスクリプションがない場合は、次のような原因が考えられます。
適切なアクセス許可がありません。 少なくともサブスクリプション内、またはサブスクリプション内のリソース グループ内での共同作成者ロールを持つ Azure アカウントでサインインするようにしてください。
サブスクリプションは存在しますが、まだディレクトリに関連付けられていません。 既存のサブスクリプションをテナントに関連付けてから、テナントにリンクする手順を繰り返してください。
サブスクリプションが存在しません。 [サブスクリプションにリンクする] ペインで、[サブスクリプションをまだお持ちでない場合は、こちらで作成できます] のリンクを選択してサブスクリプションを作成することができます。 新しいサブスクリプションを作成した後に、新しいサブスクリプション内にリソース グループを作成してから、テナントにリンクする手順を繰り返す必要があります。
顔チェックの開発者向けのよく寄せられる質問
顔チェックを実行するのに MS Authenticator は必要ですか?
はい。 顔チェックは MS Authenticator と合わせた Verified ID の使用に限定されています。 この制限は顔チェックに対するインジェクション攻撃を防ぐために存在します。 顔チェック以外のシナリオでは、Wallet SDK は Verified ID の他のソリューションを使用できます。 詳細については、こちらを参照してください
信頼度一致率とは何ですか、また信頼度とは何ですか?
組織は、アプリケーションが顔チェック検証を受け入れるための信頼度スコアのしきい値を選択できます。 しきい値が高いほど、偽装者が誤って受け入れられる可能性が低くなります。 既定の信頼度スコアである 50% において、ライブ自撮り内の人物が証明書の正当な所有者ではない確率は 100,000 分の 1 です。 必要なレベルは、具体的なシナリオ、エントリ ポイントの公開レベル、および予定されているユーザーによって異なります。 90% の信頼度スコアでは、ユーザーが誤検知される可能性は 10 億分の 1 です。 しきい値を大きくすると、アプリケーションの感度が高くなるため、許可されているユーザーが拒否される可能性が高くなります。 アプリケーションをセキュリティで保護する高い信頼度スコアのしきい値を設定しつつも、高すぎる値は設定しないように適切なバランスを保つことが重要です。高すぎる値によって、外見のわずかな変化や照明などの環境の視覚的条件によって承認されるべきユーザーが拒否されることがよく起こります。
Azure Face API の詳細については、こちらをご覧ください
Azure AI Vision Face API とは何ですか?
Azure AI とは、Azure プラットフォーム上のクラウド サービスのスイートのことです。 Azure AI Vision Face API は、顔検出、顔認識、顔照合、ライブネス チェックなどのサービスを担います。 Microsoft Entra Verified ID では、顔チェックの実行時に顔検出、顔照合、顔のライブネス チェックの各サービスを使用します。 詳細については、こちらを参照してください。
Azure AI Vision Face API の公平性はどの程度ですか?
Microsoft は Face API の公平性テストを実施しています。 Azure AI サービス チームは、AI の責任ある包括的な使用を実現するための取り組みを常に行っています。 Face API の公平性レポートを確認してください。
iBeta レベル 2 に準拠していますか?
はい。 Azure Face API AI と顔チェックは iBeta レベル 2 の基準を満たしており、ユーザーに偽装するためのさまざまな攻撃スタイルに対する耐性を持っています。 iBeta の ISO Presentation Attack Detection テストに関する詳細を確認してください。
Azure AI Vision Face API の公平性はどの程度ですか?
Microsoft は Face API の公平性テストを実施しました。 Azure AI サービス チームは、生体認証 AI の責任ある包括的な使用を保証するために、継続的に取り組んでいます。 Face API の公平性レポートは、こちらから入手できます。
ユーザーが最近髪を切ったり顔のひげを剃ったりした場合や、それ以外に外見が変わった場合は、顔チェック検証を完了できないのでしょうか?
顔チェックでは、ユーザーのライブ自撮り写真と、お使いの Verified ID に関連付けられている写真が比較されます。 ユーザーがその写真と異なって見えるほど、マッチ スコアは低くなります。 顔チェック検証に合格するかどうかは、ユーザーの現在の外見が以前に保存した写真とどれだけ異なるか、およびアプリケーションの信頼度スコアしきい値の高さによって決まります。 アプリケーションのしきい値が比較的高い場合、アップロードされた Verified ID 写真と一致する物理的な外見を維持するか、写真をユーザーの現在の外見を反映したものに置き換えることが推奨されます。
顔チェックを使用したら、自分のデータはどこに移動しますか? どこに保存されていますか?
顔チェック中に使用された画像は、長期保存はされません。 顔チェック要求時に、ユーザーのモバイル デバイスから自撮り写真がキャプチャされます。 この画像はその後、Verified ID に渡されます。Verified ID では、それを使用して Azure Face API の AI サービスを呼び出します。 処理が完了すると、自撮り画像は破棄され、どのデバイスやサービスにも保存されません。 Microsoft Authenticator、Verified ID、および Azure AI サービスには、このデータは保存も保持もされません。 さらに、キャプチャされた自撮り画像も検証アプリケーションとは共有されません。 検証ツール アプリケーションは、一致結果の信頼度スコアのみを受け取ります。
Azure AI サービスのデータとプライバシーについては、こちらをご覧ください。
Microsoft Verified ID による検証を使用した顔チェックは、ウォレットまたはクラウドで行われますか?
Verified ID サービスは、デバイスではなくクラウドで検証プロセスを実行します。 資格情報は、資格情報の使用状況を完全に制御できるように、ユーザーのデバイスに格納されます。 ユーザーは、資格情報が検証用に処理されるように、資格情報を検証ツールと共有することを選択する必要があります。
Verified ID で使用する写真の要件を教えてください。
写真は品質がクリアかつシャープで、200 ピクセル x 200 ピクセル以上である必要があります。 顔は画像内の中央に配置する必要があり、遮るものがあってはいけません。 証明書内の写真の最大サイズは 1 MB です。
写真の処理精度を向上させる方法の詳細については、こちらをご覧ください。
検証可能な資格情報のサイズ制限の詳細については、こちらをご覧ください。
次のステップ
- Microsoft Entra Verified ID 用にテナントを構成する方法と MyAccount を使用する方法を学習します。
- Web アプリケーションから Microsoft Entra Verified ID の資格情報を発行する方法について学習します。
- Microsoft Entra Verified ID の資格情報を確認する方法について学習します。