【问题标题】:BiometricPromptCompat: Disable Iris/Face recognition (only allow fingerprints)BiometricPromptCompat:禁用虹膜/人脸识别(仅允许指纹)
【发布时间】:2020-08-26 01:04:36
【问题描述】:

我有一个应用,它使用 BiometricPrompt 来实现基于生物特征的身份验证。我注意到一些设备提供虹膜/人脸识别作为指纹扫描的选项。

我希望我的应用只允许指纹扫描。有可能只允许这样做吗?或者,是否可以确定用户选择的身份验证方法,以便我可以在回调代码中拒绝该请求?

【问题讨论】:

  • 目前我知道在使用BiometricPrompt 时无法执行此操作。您可以暂时使用旧的FingerprintManager 类(是的,它已被弃用,但我还没有听说有任何删除它的计划)。使用FingerprintManager 的一个缺点是您可能无法控制带有屏幕指纹传感器的设备上的提示外观。
  • 您好,您找到解决方案了吗?
  • 您好,您找到解决方案了吗?我还想删除人脸 ID,只允许触摸 ID。

标签: android android-biometric-prompt android-biometric


【解决方案1】:

authenticate 方法中传递 CryptoObject 以启用强身份验证。 在 Android 中,人脸/虹膜和指纹有不同的测量方法。

https://source.android.com/security/biometric/measure

【讨论】:

  • 我已经将加密对象 (AES/CBC/PCKS7) 传递到验证方法中。我不确定这将如何帮助完全禁用虹膜/面部扫描?我知道 API 30 允许您通过 setAllowedAuthenticators(int) 请求 BIOMETRIC_STRONG 但我只想允许指纹身份验证,无论 OEM 报告为“强”的内容(出于应用程序所在行业的合规性原因)
  • CDD 要求所有“强”生物识别技术都符合完全相同的合规性准则。所有 OEM 和所有设备都是如此。
【解决方案2】:

根据最新的 Android Biometric API 文档,没有办法只允许指纹扫描。

【讨论】:

    【解决方案3】:

    我的担心是无效的。

    这是官方的说法:

    虽然强生物识别和弱生物识别都可以解锁 设备,弱生物识别:

    • 要求用户重新输入他们的主要 PIN 码、图案、密码或 强大的生物识别技术可在 4 小时窗口后解锁设备 不活动,例如留在桌子或充电器上时。这是在 除了针对强和强的 72 小时超时之外 弱生物识别。

    • 即将推出的 BiometricPrompt 不支持 API,应用程序开发人员用于安全地对用户进行身份验证的通用 API 与模式无关的设备

    • 无法验证付款或 参与涉及 KeyStore 身份验证绑定的其他事务 键。

    • 必须向用户显示警告,说明使用 在启用之前进行生物识别。

    这些措施旨在 允许较弱的生物识别,同时降低未经授权的风险 访问。

    https://android-developers.googleblog.com/2018/06/better-biometrics-in-android-p.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      • 2017-12-01
      相关资源
      最近更新 更多