生物识别传感器 安全性要求背景

7.3.10. 生物识别传感器

如需了解衡量生物识别解锁模式的安全性的其他背景,请参阅衡量生物识别的安全性文档

如果设备实现包含安全锁定屏幕,则:

  • 应包含生物识别传感器

生物识别传感器可基于其欺骗和冒名攻击的接受率以及生物识别管道的安全分类为 3 类(之前的)、2 类(之前的)或 1 类(之前的便利)。此分类确定生物识别传感器所具有的与平台和第三方应用接口的功能。若要将传感器归类为 1 类2 类或 3 类,需要满足下面详述的额外要求。传感器默认归类为 1 类,若要将其归类为 2 类或 3 类,需要满足下面详述的额外要求。2 类和 3 类生物识别都可以获得下面详述的额外功能。

如果设备实现通过 android.hardware.biometrics.BiometricManagerandroid.hardware.biometrics.BiometricPrompt 和 android.provider.Settings.ACTION_BIOMETRIC_ENROLL 使生物识别传感器可用于第三方应用,则:

  • [C-4-1] 必须满足 3 类或 2 类生物识别的要求,如本文档中所定义。
  • [C-4-2] 必须识别并遵从 Authenticators 类中定义为常量的每个参数名称。反之,不得遵从或识别传递给 canAuthenticate(int) 和 setAllowedAuthenticators(int) 方法的整数常量,在 Authenticators 及其以及任何组合中载述为常量的整数常量除外。
  • [C-4-3] 必须在具有 3 类或 2 类生物识别功能的设备上实现 ACTION_BIOMETRIC_ENROLL 操作。此操作必须只为 3 类或 2 类生物识别提供注册入口点。

如果设备实现支持被动生物识别技术,则:

  • [C-5-1] 必须默认要求执行额外的确认步骤(例如按下按钮)。
  • [C-SR-1] 强烈建议提供一项设置,允许用户替换应用偏好设置,并且始终要求执行附带的确认步骤。
  • [C-SR-2] 强烈建议妥善保护确认操作,使操作系统或内核攻击无法欺骗确认操作。例如,这意味着基于物理按钮的确认操作会通过安全元件(无法由按物理按钮之外的任何其他方式触发)的仅限输入通用输入/输出 (GPIO) 引脚进行路由。
  • [C-5-2] 必须另外实现与 setConfirmationRequired(boolean) 相对应的隐式身份验证流(无需确认步骤);应用可以设置它,以用于登录流程。

如果设备实现具有多个生物识别传感器,则:

  • [C-SR-3] 强烈建议每次身份验证仅要求确认一个生物识别特征(例如,如果设备上有指纹传感器和人脸传感器,应在其中任何一个特征被确认后发送 onAuthenticationSucceeded)。

如果设备实现要允许访问第三方应用的密钥库密钥,则:

  • [C-6-1] 必须满足 3 类生物识别的要求,如本节中所定义。
  • [C-6-2] 当身份验证要求执行 BIOMETRIC_STRONG 或者身份验证流程通过 CryptoObject 调用时,必须只提供 3 类身份验证。

如果设备实现希望将生物识别传感器视为 1 类(之前的便利),则:

  • [C-1-1] 错误接受率必须低于 0.002%。
  • [C-1-2] 必须披露此模式的安全性可能不及安全系数高的 PIN 码、图案或密码,并在欺骗和冒名攻击的接受率高于 7%(此值由 Android 生物识别测试协议衡量得出)时明确枚举启用此模式的风险。
  • [C-1-9] 尝试生物识别验证的失败次数不超过 20 次且退避时间不少于 90 秒后,必须对用户进行建议的主要身份验证(例如 PIN 码、图案、密码),验证失败是指采集的足够有效信息 (BIOMETRIC_ACQUIRED_GOOD) 与已注册的生物识别信息不匹配。
  • [C-SR-4] 强烈建议在欺骗和冒名攻击的接受率高于 7%(此值由 Android 生物识别测试协议衡量得出)时减少 [C-1-9] 中指定的生物识别验证的总失败次数。
  • [C-1-3] 必须限制生物识别验证的尝试次数,验证失败是指采集的足够有效信息 (BIOMETRIC_ACQUIRED_GOOD) 与已注册的生物识别信息不匹配。
  • [C-SR-5] 尝试生物识别验证的失败次数达到 5 次后,强烈建议根据 [C-1-9] 中规定的最大失败次数限制,在至少 30 秒内不能再进行生物识别验证,验证失败是指采集的足够有效信息 (BIOMETRIC_ACQUIRED_GOOD) 与已注册的生物识别信息不匹配。
  • [C-SR-6] 强烈建议在 TEE 中配置所有速率限制逻辑。
  • [C-1-10] 首次触发主要身份验证退避时间后,必须停用生物识别(如第 9.11 节的 [C-0-2] 中所述)。

新要求

  • [C-1-11] 欺骗和冒名攻击的接受率不得高于 30%;并且 (1) 针对 A 级演示攻击手段 (PAI) 类型的欺骗和冒名攻击的接受率不得高于 30%;(2) 针对 B 级 PAI 类型的欺骗和冒名攻击的接受率不得高于 40%(此值由 Android 生物识别测试协议衡量得出)。

新要求结束

  • [C-1-4] 必须通过以下方式防止在没有先建立信任链的情况下添加新的生物识别信息:让用户确认现有设备凭据(PIN 码/图案/密码,受 TEE 保护)或添加新设备凭据;Android 开源项目实现在框架中提供了实现这一点的机制。
  • [C-1-5] 必须在移除用户的帐号(包括恢复出厂设置)时完全删除所有可识别的生物识别数据。
  • [C-1-6] 必须遵从相应生物识别的各个标志(即 DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINTDevicePolicymanager.KEYGUARD_DISABLE_FACE 或 DevicePolicymanager.KEYGUARD_DISABLE_IRIS)。
  • [C-1-7] 必须至少每隔 24 小时对用户进行一次建议的主要身份验证(例如 PIN 码、图案、密码)。注意:如果是发布时搭载 Android 9 或更低版本而后升级的设备,必须至少每隔 72 小时对用户进行一次建议的主要身份验证(例如 PIN 码、图案和密码)。
  • [C-1-8] 必须在出现以下任一情况后对用户进行建议的主要身份验证(例如 PIN 码、图案、密码)或第 3 类(强)生物识别:
    • 达到 4 小时空闲超时期限,或
    • 尝试生物识别身份验证失败 3 次。
    • 空闲超时期限和失败的身份验证计数将在每次成功确认设备凭据后重置。注意:发布时搭载 Android 9 或更低版本而后升级的设备可以不遵守 C-1-8 要求。
  • [C-SR-7] 强烈建议使用 Android 开源项目提供的框架中的逻辑,为新设备强制执行 [C-1-7] 和 [C-1-8] 中规定的限制条件。
  • [C-SR-8] 强烈建议确保在设备上测得的错误拒绝率低于 10%。
  • [C-SR-9] 对于每个已注册的生物识别信息,强烈建议确保延迟(即从检测到生物识别信息到屏幕解锁的时间)低于 1 秒。

如果设备实现希望将生物识别传感器视为 2 类(之前的),则:

  • [C-2-1] 必须满足上述 1 类的所有要求。

  • [C-2-2] 欺骗和冒名攻击的接受率不得高于 20%;并且 (1) 针对 A 级演示攻击手段 (PAI) 类型的欺骗和冒名攻击的接受率不得高于 20%;(2) 针对 B 级 PAI 类型的欺骗和冒名攻击的接受率不得高于 30%(此值由 Android 生物识别测试协议衡量得出)。

  • [C-2-3] 必须在 Android 用户或内核空间外部的隔离执行环境(如可信执行环境 [TEE])中或在具有通向隔离执行环境的安全信道的芯片上执行生物识别匹配。

  • [C-2-4] 必须对所有可识别的数据进行加密,并对其采用密码形式的身份验证机制,以确保在隔离执行环境或具有通向隔离执行环境的安全信道的芯片之外无法获取、读取或更改这些数据(如 Android 开源项目网站上的实现准则中所述)。

  • [C-2-5] 对于基于摄像头的生物识别,进行基于生物识别的身份验证或注册时:

    • 必须在防止在隔离执行环境或具有通向隔离执行环境的安全信道的芯片之外读取或更改摄像头帧的模式中操作摄像头。
    • 对于 RGB 单摄像头解决方案,可在隔离执行环境之外读取摄像头帧,以支持注册预览等操作,但仍不得更改。
  • [C-2-6] 不得允许第三方应用区分已注册的生物识别信息。

  • [C-2-7] 不得在 TEE 范围之外允许应用处理器对可识别的生物识别数据及其衍生的任何数据(例如嵌入)进行未加密的访问。发布时搭载 Android 9 或更低版本而后升级的设备无需遵守 C-2-7 要求。

  • [C-2-8] 必须具有安全的处理流水线,使操作系统或内核攻击不能直接注入数据并将攻击者错误验证为用户。注意:如果设备实现已搭载 Android 9 或更低版本,且无法通过系统软件更新来满足 C-2-8 要求,可以不遵守该要求。

  • [C-SR-10] 强烈建议包含所有生物识别模式的活度检测和人脸生物识别的注意力检测。

  • [C-2-9] 必须使生物识别传感器可供第三方应用使用。

如果设备实现希望将生物识别传感器视为 3 类(之前的),则:

  • [C-3-1] 必须满足上述 2 类的所有要求,[C-1-7] 和 [C-1-8] 除外。
  • [C-3-2] 必须具有硬件支持的密钥库实现。
  • [C-3-3] 欺骗和冒名攻击的接受率不得高于 7%;并且 (1) 针对 A 级演示攻击手段 (PAI) 类型的欺骗和冒名攻击的接受率不得高于 7%;(2) 针对 B 级 PAI 类型的欺骗和冒名攻击的接受率不得高于 20%(此值由 Android 生物识别测试协议衡量得出)。

  • [C-3-4] 必须至少每隔 72 小时对用户进行一次建议的主要身份验证(例如 PIN 码、图案、密码)。

  • [C-3-5] 必须为设备上支持的所有 3 类生物识别(如果已重新注册)重新生成身份验证器 ID

  • [C-3-6] 必须启用第三方应用的支持生物识别的密钥库密钥。

如果设备实现包含显示屏下方指纹传感器 (UDFPS),则:

  • [C-SR-11] 强烈建议阻止 UDFPS 的可触摸区域干扰“三按钮”导航(某些用户可能需要以实现无障碍功能)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值