为了被视为与 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% |
安全 |
|
2 级 (以前称为弱) |
所有 PAI 物种的 SAR:7-20% A 级 PAI 物种的 SAR <=20% B 级 PAI 物种的 SAR <=30% 任何单个 PAI 物种的 SAR <= 40%(强烈建议 <= 20%) FAR:1/5 万 FRR:10% |
安全 |
|
1 级 (以前称为便捷) |
所有 PAI 物种的 SAR:20-30% A 级 PAI 物种的 SAR <=30% B 级 PAI 物种的 SAR <=40% 任何单个 PAI 物种的 SAR <= 40%(强烈建议 <= 30%) FAR:1/5 万 FRR:10% |
不安全或安全 |
|
3 级与 2 级与 1 级模态
生物识别安全级别是根据安全管道的存在以及三个接受率(FAR、IAR 和 SAR)来分配的。在冒名顶替攻击不存在的情况下,我们仅考虑 FAR 和 SAR。
请参阅Android 兼容性定义文档 (CDD),了解针对所有解锁方式应采取的措施。
面部和虹膜身份验证
评估过程
评估过程由两个阶段组成。校准阶段确定给定身份验证解决方案的最佳呈现攻击(即校准位置)。测试阶段使用校准位置执行多次攻击,并评估攻击成功的次数。Android 设备和生物识别系统的制造商应通过提交此表单来联系 Android,以获取最新的测试指南。
务必首先确定校准位置,因为 SAR 应仅使用针对系统最大弱点的攻击来衡量。
校准阶段
对于面部和虹膜身份验证,有三个参数需要在校准阶段进行优化,以确保测试阶段的最佳值:呈现攻击工具 (PAI)、呈现格式和跨主体多样性的性能。
面部
|
虹膜
|
测试多样性
面部和虹膜模型在不同性别、年龄组和种族/民族中的表现可能有所不同。跨各种面部校准呈现攻击,以最大限度地提高发现性能差距的机会。
测试阶段
测试阶段是使用前一阶段优化的呈现攻击来衡量生物识别安全性能的阶段。
计算测试阶段的尝试次数
单次尝试计算为呈现面部(真实或欺骗)与从手机接收到某些反馈(解锁事件或用户可见的消息)之间的时间窗口。任何手机无法获得足够数据以尝试匹配的尝试都不应计入用于计算 SAR 的总尝试次数中。
评估协议
注册
在开始面部或虹膜身份验证的校准阶段之前,导航到设备设置并删除所有现有的生物识别配置文件。删除所有现有配置文件后,使用将用于校准和测试的目标面部或虹膜注册新配置文件。添加新的面部或虹膜配置文件时,务必在光线充足的环境中,并且设备正确地直接位于目标面部前方 20 厘米到 80 厘米的距离处。
校准阶段
对每个 PAI 物种执行校准阶段,因为不同的物种具有不同的大小和其他特性,这些特性可能会影响最佳测试条件。准备 PAI。
面部
|
虹膜
|
进行校准阶段
参考位置
- 参考位置:参考位置是通过将 PAI 放置在设备前方适当距离(20-80 厘米)处来确定的,PAI 以这种方式清晰地显示在设备的视野中,但正在使用的任何其他东西(例如 PAI 的支架)都不可见。
- 水平参考平面:当 PAI 处于参考位置时,设备和 PAI 之间的水平面是水平参考平面。
- 垂直参考平面:当 PAI 处于参考位置时,设备和 PAI 之间的垂直面是垂直参考平面。

图 1. 参考平面。
垂直弧线
确定参考位置,然后在垂直弧线中测试 PAI,保持与参考位置相同的设备距离。在同一垂直平面中升高 PAI,在设备和水平参考平面之间创建 10 度角,然后测试面部解锁。
继续以 10 度增量升高和测试 PAI,直到 PAI 在设备的视野中不再可见。记录成功解锁设备的任何位置。重复此过程,但在水平参考平面下方以向下弧线移动 PAI。有关弧线测试的示例,请参见下图 2。
水平弧线
将 PAI 返回到参考位置,然后沿水平面移动它,以与垂直参考平面创建 10 度角。在此新位置使用 PAI 执行垂直弧线测试。以 10 度增量沿水平面移动 PAI,并在每个新位置执行垂直弧线测试。
图 2. 沿垂直和水平弧线进行测试。
需要以 10 度增量重复弧线测试,以测试设备的左侧和右侧以及设备的上方和下方。
产生最可靠解锁结果的位置是 PAI 物种类型(例如,2D 或 3D PAI 物种)的校准位置。
测试阶段
在校准阶段结束时,每个 PAI 物种应有一个校准位置。如果无法建立校准位置,则应使用参考位置。测试方法对于测试 2D 和 3D PAI 物种是通用的。
- 跨注册面部,其中 E>= 10,并且至少包含 10 个独特的面部。
- 注册面部/虹膜
- 使用前一阶段的校准位置,执行U 次解锁尝试,按照上一节中描述的方式计算尝试次数,其中 U >= 10。记录成功解锁的次数 S。
- 然后可以将 SAR 衡量为
其中
- 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
- 乳胶漆
- 光学指纹传感器 (FPS)
- 呈现格式与进一步操纵 PAI 或环境有关,以帮助欺骗。例如,在创建 3D 副本之前,修饰或编辑指纹的高分辨率图像。
- 跨主体多样性的性能与调整算法尤其相关。跨主体性别、年龄组和种族/民族测试校准流程通常会揭示全球人口某些部分的性能明显较差,并且是此阶段中要校准的重要参数。
测试多样性
指纹读取器在不同性别、年龄组和种族/民族中的表现可能有所不同。一小部分人口的指纹难以识别,因此应使用各种指纹来确定识别和欺骗测试的最佳参数。
测试阶段
测试阶段是衡量生物识别安全性能的阶段。至少应以非合作方式进行测试,这意味着收集的任何指纹都是通过从另一个表面提起指纹来完成的,而不是让目标主动参与收集其指纹,例如制作受试者手指的合作模具。后者是允许的,但不是必需的。
计算测试阶段的尝试次数
单次尝试计算为将指纹(真实或欺骗)呈现给传感器与从手机接收到某些反馈(解锁事件或用户可见的消息)之间的时间窗口。
任何手机无法获得足够数据以尝试匹配的尝试都不应计入用于计算 SAR 的总尝试次数中。
评估协议
注册
在开始指纹身份验证的校准阶段之前,导航到设备设置并删除所有现有的生物识别配置文件。删除所有现有配置文件后,使用将用于校准和测试的目标指纹注册新配置文件。按照屏幕上的所有指示操作,直到配置文件已成功注册。
校准阶段
光学 FPS
这类似于超声波和电容式校准阶段,但具有目标用户指纹的 2D 和 2.5D PAI 物种。
- 从表面提起指纹潜印。
- 使用 2D PAI 物种进行测试
- 将提起指纹放在传感器上
- 使用 2.5D PAI 物种进行测试。
- 创建指纹的 PAI
- 将 PAI 放在传感器上
超声波 FPS
超声波校准涉及提起目标指纹的潜印。例如,这可以使用指纹粉提起的指纹或指纹的打印副本来完成,并且可能包括手动修饰指纹图像以实现更好的欺骗。
获得目标指纹的潜印副本后,即可制作 PAI。
电容式 FPS
电容式校准涉及与上述超声波校准相同的步骤。
测试阶段
- 让至少 10 个独特的人使用与计算 FRR/FAR 时使用的相同参数进行注册
- 为每个人创建 PAI
- 然后可以将 SAR 衡量为
获得错误率的统计有效样本所需的迭代次数:所有以下项的 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 |
|
面部和虹膜
IAR | 下限将由 SAR 捕获,因此无需单独衡量此值。 |
SAR |
|
语音
IAR |
|
SAR |
|