使用基于 Microsoft Entra 验证 ID 的人脸核验,大规模解锁高保证验证

人脸检查是一种尊重隐私的面部比对功能。 它使企业能够安全、简单、大规模地执行高保证验证。 人脸检查通过在用户的实时自拍照和照片之间进行面部比对,增加了一个重要的信任层。 面部比对功能由 Azure AI 服务提供支持。 人脸核验通过仅共享匹配结果而不共享任何敏感的标识数据来保护用户隐私,同时允许组织确保声称标识的人确实是他们。

Microsoft验证器人脸检查验证流的屏幕截图,其中显示了面部识别界面的验证、确认和查看步骤。

先决条件

人脸核验是验证 ID 中的高级功能。 在执行人脸核验验证之前,需要在 Microsoft Entra 验证 ID 设置中启用人脸核验加载项。

使用 Microsoft Entra 验证 ID 设置人脸核验

人脸核验加载项可以通过两种方式从 Microsoft Entra 管理中心启用,或者通过 CLI 使用 Azure 资源管理器 (ARM) Rest API 启用。 如果要在具有 Microsoft Entra 套件许可证的租户中使用人脸核验,则会在租户级别启用人脸核验,并且该配置适用于该租户内的所有颁发机构。 对于任何其他许可证,可以使用 Azure 资源管理器 (ARM) REST API 单独启用租户上每个机构的人脸核验。

注意

适用于 Microsoft Entra 验证 ID 的 ARM Rest API 目前以公共预览版提供。

在管理中心使用 Microsoft Entra 验证 ID 设置人脸核验

  1. 在验证 ID 概述页面中,向下滚动到新的“加载项”部分并 Enable 人脸核验加载项。

Microsoft Entra Verified ID 概述页的屏幕截图,其中显示了“附加组件”部分的“人脸核查”加载项和“启用”按钮。

  1. 在“链接订阅”步骤,选择订阅、资源组和资源位置。 然后选择 Validate。 如果没有订阅列出,请参阅如果找不到订阅,该怎么办?

“人脸检查订阅”链接对话框的屏幕截图,其中显示了“订阅”、“资源组”和资源位置的下拉菜单,其中显示了“验证”按钮。

  1. 验证后,可 Enable 该加载项。

人脸检查加载项配置的屏幕截图,其中显示了使用“启用”按钮激活服务的成功验证。

现在,可以在企业应用程序中开始使用人脸核验。

使用 Azure 资源管理器 (ARM) Rest API 设置使用 Microsoft Entra 验证 ID 的人脸核验

注意

适用于 Microsoft Entra 验证 ID 的 ARM Rest API 目前以公共预览版提供。

若要根据给定的颁发机构设置人脸核验加载项,计算机上必须有 Azure PowerShell 工具。 此机制会封装 REST 调用。 也可以相应地使用 Azure 资源管理器 (ARM) Rest API PUT

  1. 在 PowerShell 中运行以下命令
az login --tenant  <tenant ID>
  1. 选择要启用人脸核验计费的订阅

  2. 运行以下命令

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。 可以使用来自管理员 API 的 GET Authorities 调用来获取 authority-id
  • <rp-location> 替换为以下两个值之一:
    • 对于欧盟租户,请使用 northeurope
    • 对于非欧盟租户,请使用 westus2

人脸核验加载项现已在租户中启用。

通过 MyAccount 开始使用人脸检查

可以通过 MyAccount(可颁发 VerifiedEmployee 凭据)和 Microsoft 提供的公共测试应用轻松开始使用人脸检查。 如果要开始使用,需要执行以下步骤:

  1. Microsoft Entra 租户中创建测试用户并上传你自己的照片
  2. 转到 MyAccount,以测试用户身份登录,并为用户颁发 VerifiedEmployee 凭据。
  3. 使用公共测试应用通过人脸检查出示 VerifiedEmployee 凭据。

当 Microsoft Authenticator 收到包含人脸核验的出示请求时,在要求用户共享的凭据类型后面会显示一个额外的项。 当用户选择该项时,会执行实际的人脸核验,然后用户就可以与公共测试应用(信赖方)共享所请求的凭据和检查的置信度分数。 可以在测试应用中查看结果。

注意

MyAccount 在颁发 VerifiedEmployee 凭据时使用 Entra ID 用户个人资料照片。 你可以通过 Microsoft 的图形 API https://graph.microsoft.com/v1.0/me/photos/240x240/$value 来检索你的照片。

通过请求服务 API 开始使用人脸检查

应用可以使用请求服务 API 创建请求,让用户针对具有受信任照片的 VerifiedEmployee 凭据、州颁发的政府 ID 或自定义数字凭据执行人脸检查。 例如,支持服务可以针对 VerifiedEmployee 凭据请求人脸检查,以快速安全地验证身份,从而启用各种自助服务方案,包括激活密钥或重置密码。 为了降低合规性风险,应用收到与所需凭证中照片匹配的置信度分数,而无需访问实时数据。

颁发带照片的已验证 ID 凭据

使用 idTokenHint 证明流的自定义凭据类型还可以颁发包含照片的已验证 ID 凭据。 凭据定义需要包含用于照片声明的显示和规则定义。

照片声明的显示定义应将类型设置为 image/jpg;base64url,以便 Microsoft Authenticator 了解它应正确呈现为照片。

{ 
  "claim": "vc.credentialSubject.photo", 
  "label": "User picture", 
  "type": "image/jpg;base64url" 
} 

设置照片的实际声明值时,应采用格式 UrlEncode(Base64Encode(JPEG image))

{ 
  "outputClaim": "photo", 
  "required": false, 
  "inputClaim": "photo", 
  "indexed": false 
} 

注意

使用照片颁发自定义凭据时,应用负责提供要使用的 JPEG 并对其进行编码。

出示请求包括人脸核验

用于创建出示请求的请求服务 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 回叫事件

如果人脸核验在验证 ID 凭据出示期间成功,则 presentation_verified 的 JSON 有效负载会在响应中包含更多数据。 faceCheck 部分已添加,其中包含 matchConfidenceScore。 请注意,当请求包含人脸检查时,无法请求并接收出示回执。

  "verifiedCredentialsData": [ 
    { 
      "issuer": "did:web:yourdomain.com", 
      "type": [ "VerifiableCredential", "VerifiedEmployee" ], 
      "claims": { 
        ... 
      }, 
      ... 
      "faceCheck": { 
        "matchConfidenceScore": 86.314159,
        "sourcePhotoQuality": "HIGH"
      } 
    } 
  ], 

人脸核验 presentation_verified 回调事件回执

如果创建的出示请求包括要求回执,则 presentation_verified 回调将包含名为 faceCheck 的属性。

{
  "requestId": "11111111-2222-3333-4444-55555555",
  "requestStatus": "presentation_verified",
  "receipt": {
    ...
    "faceCheck": "eyJhbGc...svw"
  },
  ...
}

faceCheck 属性的值是一个已签名的 JWT 令牌,该令牌是活体检查的源数据。 对 JWT 令牌进行 Base64 解码会得到类型为 MicrosoftFaceCheckReceipt 的可验证凭据。 sourceVcJti 是用于匹配活体检查的凭据的标识。

... 
    "type": [
      "VerifiableCredential",
      "MicrosoftFaceCheckReceipt"
    ],
    "credentialSubject": {
      "faceCheckResults": [
        {
          "sourceVcJti": "urn:pic:4f741111222233334444000000000000",
          "matchConfidenceThreshold": 70,
          "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验证器错误消息的屏幕截图,其中显示人脸检查失败,原因是低置信度分数不符合所需的阈值。

使用基于 Microsoft Entra 验证 ID 的人脸核验的常见问题解答

什么是人脸检查?

基于 Microsoft Entra 验证 ID 的人脸核验是验证 ID 中的一项高级功能,用于进行确保尊重隐私的面部匹配。 它使企业能够安全、简单、大规模地执行高保证验证。 人脸检查通过在用户的实时自拍照和照片之间进行面部比对,增加了一个重要的信任层。 面部比对功能由 Azure AI 服务提供支持。

人脸检查和人脸 ID 有何区别?

人脸 ID 是 Apple 产品中提供的一种基于视觉的生物识别安全选项,用于解锁设备以访问移动应用。 人脸检查是一项 Microsoft Entra 已验证 ID 功能,它也使用了基于视觉的人工智能技术,但会将用户与出示的已验证 ID 进行比较。 人脸核验确定需要高保证访问权限的各种联机方案的用户标识。 其中一些示例是高价值业务流程,或者会访问敏感公司信息。 这两种机制都要求用户在操作过程中面对摄像头,但操作方式不同。

人脸检查生物识别视觉检查是否在移动设备上执行?

否。 照片与捕获的实时数据之间的生物识别检查是在云中使用 Azure AI 视觉人脸 API 执行的。 在此过程中,用户自拍捕获不会与请求 ID 验证站点共享。

什么是人脸实时检查?

基于 Microsoft Entra 验证 ID 的人脸核验将使用 Azure AI 视觉人脸 API 活体检查来验证用户设备的相机自拍镜头中出现的是否为真人。 此检查有助于确保不能使用用户的静态照片或 2D 视频代替他们的真人。

获取的活体数据会发生什么情况?

当移动设备上的摄像头打开时,移动设备上会捕捉到实时片段。 然后,此片段会传递给已验证 ID,已验证 ID 会使用它来调用 Azure AI 服务的各项服务。

数据不由 Microsoft Authenticator、验证 ID 或 Azure AI 服务存储,也不由任何这些服务保留。 此外,片段也不会与验证应用程序共享。 验证应用程序仅获得置信度分数。 在基于人工智能的系统中,置信度分数是对系统查询的概率百分比回答。 在这种情况下,置信度分数是已验证的 ID 用户照片与移动设备上的用户捕获内容相匹配的可能性。 可在此处找到 Azure AI 服务的数据和隐私。

人脸检查的费用是多少?

有关用量计费和定价的最新信息,请参阅 Microsoft Entra 定价

如果找不到订阅,该怎么办?

如果“关联订阅”窗格中没有可用的订阅,部分可能原因如下:

你没有适当的权限。 请务必使用至少在订阅中或订阅中的资源组中具有“参与者”角色的 Azure 帐户登录。

订阅存在,但尚未与你的目录关联。 你可以将现有订阅关联到你的租户,然后重复将其关联到你的租户的步骤。

不存在订阅。 在“关联订阅”窗格中,你可以通过选择链接“如果还没有订阅,可在此处创建一个订阅”来创建一个订阅。 新建订阅后,你需要在新订阅中创建资源组,然后重复将其关联到你的租户的步骤。

人脸核验开发人员常见问题解答

人脸检查是否需要使用 MS Authenticator?

是的。 人脸核验仅能在支持 MS Authenticator 的验证 ID 中使用。 此限制是为了防止人脸核验受到注入攻击。 对于非人脸检查场景,Wallet SDK 提供了其他已验证 ID 解决方案。 在此处了解详细信息

什么是置信度百分比匹配?置信度是什么意思?

组织可以为应用程序选择其置信度分数阈值,以接受人脸核验验证。 阈值越高意味着冒名顶替者被错误接受的可能性就越小。 在默认的置信度分数为 50% 的情况下,实时自拍中的人不是合法凭据所有者的可能性是十万分之一。 所需级别取决于具体方案、入口点公开程度和计划用户。 如果置信度分数为 90%,则误报用户的几率为 10 亿分之一。 较高的阈值会导致授权用户被拒绝的可能性增加,因为应用程序的灵敏度更高。 重要的是要在设置高置信度阈值之间找到适当的平衡,既要确保应用程序的安全,又不要设置得太高,以免由于外观或周围环境(如照明)的视觉条件的细微变化而经常拒绝授权用户。

详细了解 Azure 人脸 API

什么是 Azure AI 视觉人脸 API?

Azure AI 是 Azure 平台上的一套云服务。 Azure AI 视觉人脸 API 提供用于人脸检测、人脸识别、人脸匹配和实时检查的服务。 Microsoft Entra 验证 ID 在执行 FaceCheck 时使用人脸检测、人脸匹配和人脸活体检查服务。 可以在此处了解详细信息。

Azure AI 视觉人脸 API 的公平性如何?

Microsoft 对人脸 API 进行了公平性测试。 Azure AI 服务团队一直致力于确保以负责任和包容的方式使用 AI。 查看人脸 API 公平性报告

你是否符合 iBeta 2 级?

是的。 Azure 人脸 API AI 和人脸核验符合 iBeta 2 级要求,可抵御用户假冒攻击中的各种呈现形式。 详细了解 iBeta 的 ISO 呈现攻击检测测试。

Azure AI 视觉人脸 API 的公平性如何?

Microsoft 对人脸 API 进行了公平性测试。 Azure AI 服务团队一直在努力确保以负责任和包容的方式使用生物识别 AI。 此处提供了人脸 API 公平性报告。

如果用户最近理发、剃了胡子或以其他方式改变了外貌,他们是否无法完成人脸核验验证?

人脸核验将用户的实时自拍与已验证 ID 关联的照片进行比对。 用户与照片的相似度越低,匹配分数就越低。 人脸核验验证是否被接受将取决于用户当前的外貌与之前所保存照片之间的差异程度,以及应用程序的置信度分数阈值有多高。 如果应用程序具有相对较高的阈值,建议用户保持与上传的已验证 ID 照片一致的外貌,或者更换为更能体现用户当前外貌的照片。

使用人脸核验后,数据会留在哪里? 其存储位置是什么?

人脸核验期间使用的图像不会长期存储。 在人脸核验请求期间,会从用户的移动设备上捕获一张自拍照。 然后将此图像传递给已验证 ID,已验证 ID 会使用它来调用 Azure 人脸 API AI 服务。 处理完成后,自拍图像将被丢弃,不会保存在任何设备或服务上。 Microsoft Authenticator、已验证 ID 或 Azure AI 服务都不会存储或保留这些数据。 此外,捕获的自拍也不会与验证应用程序共享。 验证应用程序仅接收最终匹配的置信度分数。

可在此处找到 Azure AI 服务的数据和隐私。

使用 Microsoft Entra 验证 ID 验证的人脸核验是在钱包中还是在云端进行的?

已验证 ID 服务在云中执行验证过程,而不是在设备上。 凭据存储在用户的设备上,以便他们完全控制凭据的使用。 用户必须选择与验证程序共享凭据,以便对其进行验证处理。

对验证 ID 中的照片有什么要求?

照片的质量应足够清晰,且不小于 200 像素 x 200 像素。 人脸应位于图像的中心,且不受遮挡。 凭据中照片的最大大小为 1 MB。 请注意,具有较大的图像不能保证更好的结果。 一张较小的照片比一张又大又差的照片好。

有关如何提高照片处理精度的更多信息,请参阅此处

有关可验证凭据大小限制的详细信息,请参阅此处

后续步骤