衡量生物识别解锁安全性

为了被视为与 Android 兼容,设备实现必须满足Android 兼容性定义文档 (CDD)中提出的要求。Android CDD 使用架构安全性抗欺骗能力来评估生物识别实现的安全性。

  • 架构安全性:生物识别管道抵御内核或平台泄露的弹性。如果内核和平台泄露不会赋予读取原始生物识别数据或将合成数据注入管道以影响身份验证决策的能力,则该管道被认为是安全的。
  • 生物识别安全性能:生物识别安全性能通过生物识别技术的欺骗接受率 (SAR)、错误接受率 (FAR) 以及(如果适用)冒名顶替者接受率 (IAR) 来衡量。SAR 是 Android 9 中引入的指标,用于衡量生物识别技术抵御物理呈现攻击的能力。在衡量生物识别技术时,您需要遵循下述协议。

Android 使用三种类型的指标来衡量生物识别安全性能。

  • 欺骗接受率 (SAR):定义生物识别模型接受先前记录的已知良好样本的指标。例如,对于语音解锁,这将衡量使用用户录制的“Ok, Google”样本来解锁用户手机的可能性。我们将此类攻击称为欺骗攻击。也称为冒名顶替者攻击呈现匹配率 (IAPMR)。
  • 冒名顶替者接受率 (IAR):定义生物识别模型接受旨在模仿已知良好样本的输入的指标。例如,在 智能锁可信语音(语音解锁)机制中,这将衡量尝试模仿用户声音(使用相似的语调和口音)的人员解锁其设备的频率。我们将此类攻击称为冒名顶替攻击
  • 错误接受率 (FAR):定义模型错误地接受随机选择的不正确输入的频率的指标。虽然这是一个有用的衡量标准,但它没有提供足够的信息来评估模型在多大程度上能够抵御有针对性的攻击。

信任代理

Android 10 更改了信任代理的行为方式。信任代理无法解锁设备,它们只能延长已解锁设备的解锁持续时间。受信任的面部识别在 Android 10 中已弃用。

生物识别类别

生物识别安全性的分类依据是架构安全性和抗欺骗性测试的结果。生物识别实现可以分为3 级(以前称为)、2 级(以前称为)或1 级(以前称为便捷)。下表介绍了每个生物识别类别的一般要求。

如需了解详情,请参阅当前的Android CDD

生物识别类别 指标 生物识别管道 约束
3 级
(以前称为强)
所有 PAI 物种的 SAR:0-7%

A 级 PAI 物种的 SAR
<=7%

B 级 PAI 物种的 SAR
<=20%

任何单个 PAI 物种的 SAR <= 40%(强烈建议 <= 7%)

FAR:1/5 万

FRR:10%
安全
  • 在回退到主要身份验证(例如 PIN 码、图案或密码)之前,最多 72 小时
  • 可以向应用公开 API(例如,通过与 BiometricPrompt 或 FIDO2 API 集成)
  • 必须提交 BCR
2 级
(以前称为弱)
所有 PAI 物种的 SAR:7-20%

A 级 PAI 物种的 SAR
<=20%

B 级 PAI 物种的 SAR
<=30%

任何单个 PAI 物种的 SAR <= 40%(强烈建议 <= 20%)

FAR:1/5 万

FRR:10%
安全
  • 在回退到主要身份验证之前,最多 24 小时
  • 4 小时闲置超时或 3 次不正确的尝试后回退到主要身份验证
  • 可以与 BiometricPrompt 集成,但不能与密钥库集成(例如:以发布应用授权绑定的密钥)
  • 必须提交 BCR
1 级
(以前称为便捷)
所有 PAI 物种的 SAR:20-30%

A 级 PAI 物种的 SAR
<=30%

B 级 PAI 物种的 SAR
<=40%

任何单个 PAI 物种的 SAR <= 40%(强烈建议 <= 30%)

FAR:1/5 万

FRR:10%
不安全或安全
  • 在回退到主要身份验证之前,最多 24 小时
  • 4 小时闲置超时或 3 次不正确的尝试后回退到主要身份验证
  • 无法向应用公开 API
  • 必须从 Android 11 开始提交 BCR
  • 必须从 Android 13 开始测试 SAR
  • 临时类别将来可能会消失

3 级与 2 级与 1 级模态

生物识别安全级别是根据安全管道的存在以及三个接受率(FAR、IAR 和 SAR)来分配的。在冒名顶替攻击不存在的情况下,我们仅考虑 FAR 和 SAR。

请参阅Android 兼容性定义文档 (CDD),了解针对所有解锁方式应采取的措施。

面部和虹膜身份验证

评估过程

评估过程由两个阶段组成。校准阶段确定给定身份验证解决方案的最佳呈现攻击(即校准位置)。测试阶段使用校准位置执行多次攻击,并评估攻击成功的次数。Android 设备和生物识别系统的制造商应通过提交此表单来联系 Android,以获取最新的测试指南。

务必首先确定校准位置,因为 SAR 应仅使用针对系统最大弱点的攻击来衡量。

校准阶段

对于面部和虹膜身份验证,有三个参数需要在校准阶段进行优化,以确保测试阶段的最佳值:呈现攻击工具 (PAI)、呈现格式和跨主体多样性的性能。

面部
  • 呈现攻击工具 (PAI)是物理欺骗。以下 PAI 物种目前在范围内,无论生物识别技术如何
    • 2D PAI 物种
      • 打印的照片
      • 显示器或手机显示屏上的照片
      • 显示器或手机显示屏上的视频
    • 3D PAI 物种
      • 3D 打印的面具
  • 呈现格式与进一步操纵 PAI 或环境有关,以帮助欺骗。以下是一些操纵示例,可以尝试
    • 稍微折叠打印的照片,使其在脸颊处弯曲(从而稍微模仿深度)有时可以大大有助于破解 2D 面部身份验证解决方案。
    • 改变照明条件是修改环境以帮助欺骗的一个示例
    • 涂抹或稍微弄脏镜头
    • 在纵向和横向模式之间更改手机的方向,以查看是否会影响抗欺骗能力
  • 跨主体多样性的性能(或缺乏性能)与基于机器学习的身份验证解决方案尤其相关。跨主体性别、年龄组和种族/民族测试校准流程通常会揭示全球人口某些部分的性能明显较差,并且是此阶段中要校准的重要参数。
欺骗测试旨在测试系统是否接受有效的重放或呈现攻击。如果未实施或禁用反欺骗或呈现攻击检测 (PAD),则 PAI 物种需要足以在生物识别验证过程中作为有效的生物识别声明通过。PAI 物种无法在没有反欺骗或 PAD 功能的情况下通过生物识别验证过程是无效的 PAI,并且使用该 PAI 物种的所有测试均无效。欺骗测试的执行者应证明其测试中使用的 PAI 物种满足此标准。
虹膜
  • 呈现攻击工具 (PAI)是物理欺骗。以下 PAI 物种目前在范围内
    • 清晰显示虹膜的面部打印照片
    • 显示器或手机显示屏上清晰显示虹膜的面部照片/视频
    • 义眼
  • 呈现格式与进一步操纵 PAI 或环境有关,以帮助欺骗。例如,在打印的照片或眼睛的照片/视频显示屏上放置隐形眼镜有助于欺骗某些虹膜分类系统,并有助于提高虹膜身份验证系统的绕过率。
  • 跨主体多样性的性能与基于机器学习的身份验证解决方案尤其相关。对于基于虹膜的身份验证,不同的虹膜颜色可能具有不同的光谱特性,并且跨不同颜色进行测试可以突出显示全球人口某些部分的性能问题。
测试多样性

面部和虹膜模型在不同性别、年龄组和种族/民族中的表现可能有所不同。跨各种面部校准呈现攻击,以最大限度地提高发现性能差距的机会。

测试阶段

测试阶段是使用前一阶段优化的呈现攻击来衡量生物识别安全性能的阶段。

计算测试阶段的尝试次数

单次尝试计算为呈现面部(真实或欺骗)与从手机接收到某些反馈(解锁事件或用户可见的消息)之间的时间窗口。任何手机无法获得足够数据以尝试匹配的尝试都不应计入用于计算 SAR 的总尝试次数中。

评估协议

注册

在开始面部或虹膜身份验证的校准阶段之前,导航到设备设置并删除所有现有的生物识别配置文件。删除所有现有配置文件后,使用将用于校准和测试的目标面部或虹膜注册新配置文件。添加新的面部或虹膜配置文件时,务必在光线充足的环境中,并且设备正确地直接位于目标面部前方 20 厘米到 80 厘米的距离处。

校准阶段

对每个 PAI 物种执行校准阶段,因为不同的物种具有不同的大小和其他特性,这些特性可能会影响最佳测试条件。准备 PAI。

面部
  • 在与注册流程相同的照明条件、角度和距离下拍摄注册面部的高质量照片或视频。
  • 对于物理打印件
    • 沿着面部轮廓剪裁,创建类似纸质面具的东西。
    • 在两个脸颊处弯曲面具,以模仿目标面部的曲率
    • 在面具上剪出眼孔以显示测试人员的眼睛 - 这对于寻找眨眼作为活体检测手段的解决方案很有用。
  • 尝试建议的呈现格式操作,以查看它们是否会影响校准阶段的成功机会
虹膜
  • 在与注册流程相同的照明条件、角度和距离下拍摄注册面部的高分辨率照片或视频,清晰显示虹膜。
  • 尝试使用和不使用隐形眼镜覆盖眼睛,以查看哪种方法可以提高抗欺骗能力

进行校准阶段

参考位置
  • 参考位置:参考位置是通过将 PAI 放置在设备前方适当距离(20-80 厘米)处来确定的,PAI 以这种方式清晰地显示在设备的视野中,但正在使用的任何其他东西(例如 PAI 的支架)都不可见。
  • 水平参考平面:当 PAI 处于参考位置时,设备和 PAI 之间的水平面是水平参考平面。
  • 垂直参考平面:当 PAI 处于参考位置时,设备和 PAI 之间的垂直面是垂直参考平面。
Reference planes

图 1. 参考平面。

垂直弧线

确定参考位置,然后在垂直弧线中测试 PAI,保持与参考位置相同的设备距离。在同一垂直平面中升高 PAI,在设备和水平参考平面之间创建 10 度角,然后测试面部解锁。

继续以 10 度增量升高和测试 PAI,直到 PAI 在设备的视野中不再可见。记录成功解锁设备的任何位置。重复此过程,但在水平参考平面下方以向下弧线移动 PAI。有关弧线测试的示例,请参见下图 2。

水平弧线

将 PAI 返回到参考位置,然后沿水平面移动它,以与垂直参考平面创建 10 度角。在此新位置使用 PAI 执行垂直弧线测试。以 10 度增量沿水平面移动 PAI,并在每个新位置执行垂直弧线测试。

Testing along the horizontal arc

图 2. 沿垂直和水平弧线进行测试。

需要以 10 度增量重复弧线测试,以测试设备的左侧和右侧以及设备的上方和下方。

产生最可靠解锁结果的位置是 PAI 物种类型(例如,2D 或 3D PAI 物种)的校准位置

测试阶段

在校准阶段结束时,每个 PAI 物种应有一个校准位置。如果无法建立校准位置,则应使用参考位置。测试方法对于测试 2D 和 3D PAI 物种是通用的。

  • 跨注册面部,其中 E>= 10,并且至少包含 10 个独特的面部。
    • 注册面部/虹膜
    • 使用前一阶段的校准位置,执行U 次解锁尝试,按照上一节中描述的方式计算尝试次数,其中 U >= 10。记录成功解锁的次数 S
    • 然后可以将 SAR 衡量为
$$ \displaystyle SAR = \frac{\displaystyle\sum_{i=1}^{E}{S_i} }{(U * E)}\ {* 100\%} $$

其中

  • E = 注册次数
  • U = 每次注册的解锁尝试次数
  • Si = 注册 i 的成功解锁次数

获得错误率的统计有效样本所需的迭代次数:所有以下项的 95% 置信度假设,大 N

误差幅度 每个主体所需的测试迭代次数
1% 9595
2% 2401
3% 1067
5% 385
10% 97

所需时间(每次尝试 30 秒,10 个主体)

误差幅度 总时间
1% 799.6 小时
2% 200.1 小时
3% 88.9 小时
5% 32.1 小时
10% 8.1 小时

我们建议将误差幅度定为 5%,这将使人群的真实错误率在 2% 到 12% 之间。

范围

测试阶段主要衡量面部身份验证抵御目标用户面部仿制品的弹性。它不处理基于非仿制品的攻击,例如使用 LED 或充当主要指纹的图案。虽然这些尚未被证明对基于深度的面部身份验证系统有效,但从概念上来说,没有什么可以阻止这种情况发生。未来的研究很可能表明情况确实如此。此时,将修订此协议以包括衡量抵御这些攻击的弹性。

指纹身份验证

在 Android 9 中,最低弹性标准设置为 欺骗接受率 (SAR) 小于或等于 7% 的 PAI 测量值。有关为什么具体为 7% 的简要理由,请参见此博客文章

评估过程

评估过程由两个阶段组成。校准阶段确定给定指纹身份验证解决方案的最佳呈现攻击(即校准位置)。测试阶段使用校准位置执行多次攻击,并评估攻击成功的次数。Android 设备和生物识别系统的制造商应通过提交此表单来联系 Android,以获取最新的测试指南。

校准阶段

对于指纹身份验证,有三个参数需要优化以确保测试阶段的最佳值:呈现攻击工具 (PAI)、呈现格式和跨主体多样性的性能

  • PAI 是物理欺骗,例如打印的指纹或模制副本都是呈现介质的示例。强烈建议使用以下欺骗材料
    • 光学指纹传感器 (FPS)
      • 复印纸/透明胶片与非导电墨水
      • Knox 明胶
      • 乳胶漆
      • Elmer's Glue All
    • 电容式 FPS
      • Knox 明胶
      • Elmer's Carpenter's Interior Wood Glue
      • Elmer's Glue All
      • 乳胶漆
    • 超声波 FPS
      • Knox 明胶
      • Elmer's Carpenter's Interior Wood Glue
      • Elmer's Glue All
      • 乳胶漆
  • 呈现格式与进一步操纵 PAI 或环境有关,以帮助欺骗。例如,在创建 3D 副本之前,修饰或编辑指纹的高分辨率图像。
  • 跨主体多样性的性能与调整算法尤其相关。跨主体性别、年龄组和种族/民族测试校准流程通常会揭示全球人口某些部分的性能明显较差,并且是此阶段中要校准的重要参数。
测试多样性

指纹读取器在不同性别、年龄组和种族/民族中的表现可能有所不同。一小部分人口的指纹难以识别,因此应使用各种指纹来确定识别和欺骗测试的最佳参数。

测试阶段

测试阶段是衡量生物识别安全性能的阶段。至少应以非合作方式进行测试,这意味着收集的任何指纹都是通过从另一个表面提起指纹来完成的,而不是让目标主动参与收集其指纹,例如制作受试者手指的合作模具。后者是允许的,但不是必需的。

计算测试阶段的尝试次数

单次尝试计算为将指纹(真实或欺骗)呈现给传感器与从手机接收到某些反馈(解锁事件或用户可见的消息)之间的时间窗口。

任何手机无法获得足够数据以尝试匹配的尝试都不应计入用于计算 SAR 的总尝试次数中。

评估协议

注册

在开始指纹身份验证的校准阶段之前,导航到设备设置并删除所有现有的生物识别配置文件。删除所有现有配置文件后,使用将用于校准和测试的目标指纹注册新配置文件。按照屏幕上的所有指示操作,直到配置文件已成功注册。

校准阶段

光学 FPS

这类似于超声波和电容式校准阶段,但具有目标用户指纹的 2D 和 2.5D PAI 物种。

  • 从表面提起指纹潜印。
  • 使用 2D PAI 物种进行测试
    • 将提起指纹放在传感器上
  • 使用 2.5D PAI 物种进行测试。
    • 创建指纹的 PAI
    • 将 PAI 放在传感器上
超声波 FPS

超声波校准涉及提起目标指纹的潜印。例如,这可以使用指纹粉提起的指纹或指纹的打印副本来完成,并且可能包括手动修饰指纹图像以实现更好的欺骗。

获得目标指纹的潜印副本后,即可制作 PAI。

电容式 FPS

电容式校准涉及与上述超声波校准相同的步骤。

测试阶段

  • 让至少 10 个独特的人使用与计算 FRR/FAR 时使用的相同参数进行注册
  • 为每个人创建 PAI
  • 然后可以将 SAR 衡量为
$$ \displaystyle SAR = \frac{\displaystyle\sum_{i=1}^{E}{S_i} }{(U * E)}\ {* 100\%} $$

获得错误率的统计有效样本所需的迭代次数:所有以下项的 95% 置信度假设,大 N

误差幅度 每个主体所需的测试迭代次数
1% 9595
2% 2401
3% 1067
5% 385
10% 97

所需时间(每次尝试 30 秒,10 个主体)

误差幅度 总时间
1% 799.6 小时
2% 200.1 小时
3% 88.9 小时
5% 32.1 小时
10% 8.1 小时

我们建议将误差幅度定为 5%,这将使人群的真实错误率在 2% 到 12% 之间。

范围

此过程设置为主要测试指纹身份验证抵御目标用户指纹仿制品的弹性。测试方法基于当前的材料成本、可用性和技术。将修订此协议,以包括衡量抵御新材料和技术(因为它们变得实际可执行)的弹性。

常见注意事项

虽然每种方式都需要不同的测试设置,但有一些共同方面适用于所有方式。

测试实际硬件

当在理想条件下和与实际移动设备上出现的硬件不同的硬件上测试生物识别模型时,收集的 SAR/IAR 指标可能不准确。例如,在消声室中使用多麦克风设置校准的语音解锁模型在嘈杂环境中的单麦克风设备上使用时,行为会非常不同。为了捕获准确的指标,应在安装了硬件的实际设备上进行测试,如果无法做到这一点,则应使用设备上将出现的硬件进行测试。

使用已知攻击

当今使用的大多数生物识别方式都已成功欺骗,并且存在攻击方法的公共文档。下面我们简要概述具有已知攻击的方式的测试设置。我们建议尽可能使用此处概述的设置。

预测新攻击

对于已取得重大新改进的方式,测试设置文档可能不包含合适的设置,并且可能不存在已知的公共攻击。现有方式可能还需要根据新发现的攻击调整其测试设置。在这两种情况下,您都需要提出合理的测试设置。如果您设置了可以添加的合理机制,请使用此页面底部的网站反馈链接告知我们。

不同方式的设置

指纹

IAR 不需要。
SAR
  • 通过使用目标指纹的模具创建 2.5D PAI。
  • 测量精度对指纹模具的质量敏感。牙科硅胶是一个不错的选择。
  • 测试设置应衡量使用模具创建的假指纹解锁设备的频率。

面部和虹膜

IAR 下限将由 SAR 捕获,因此无需单独衡量此值。
SAR
  • 使用目标面部的照片进行测试。对于虹膜,需要放大面部以模仿用户通常使用该功能的距离。
  • 照片应为高分辨率,否则结果具有误导性。
  • 照片的呈现方式不应显示它们是图像。例如
    • 不应包含图像边框
    • 如果照片在手机上,则手机屏幕/边框不应可见
    • 如果有人拿着照片,他们的手不应该被看到
  • 对于正角度,照片应该充满传感器,这样就看不到外面的任何东西。
  • 当样本(面部/虹膜/照片)相对于相机呈锐角时,面部和虹膜模型通常更宽松(以模拟用户将手机直接放在他们面前并向上指向他们的脸的使用场景)。 在这个角度进行测试将有助于确定您的模型是否容易受到欺骗。
  • 测试设置应该测量面部或虹膜图像能够解锁设备的频率。

语音

IAR
  • 使用这样的设置进行测试:参与者听到一个正面样本,然后尝试模仿它。
  • 使用来自不同性别和具有不同口音的参与者测试模型,以确保覆盖某些语调/口音具有较高 FAR 的边缘情况。
SAR
  • 使用目标声音的录音进行测试。
  • 录音需要具有相当高的质量,否则结果将具有误导性。