【问题标题】:Biometrics with iris and face recognition具有虹膜和面部识别功能的生物识别技术
【发布时间】:2018-12-11 06:27:36
【问题描述】:

在博客Better Biometrics in Android P 他们说:“为了保证用户的安全,大多数应用程序和设备都有身份验证机制,或者证明你是你的方式。这些机制分为三类:知识因素、拥有因素、和生物特征因素。知识因素要求您知道的东西(例如 PIN 或密码),拥有因素要求您拥有的东西(例如令牌生成器或安全密钥),而生物特征因素要求您提供的东西(例如您的指纹、虹膜或脸)”。

但是当我在BiometricPrompt API, 中阅读时,我看不到虹膜或面部的文档,仅验证对指纹的支持:“此调用预热指纹硬件,显示系统提供的对话框,并开始扫描指纹. 它在 BiometricPrompt.AuthenticationCallback.onAuthenticationError(int, CharSequence) 被调用时终止..." 我如何使用生物识别技术通过虹膜和面部或任何其他解决方案创建身份验证登录?

【问题讨论】:

  • BiometricPrompt API 似乎无法让开发人员选择将使用的生物识别类型,甚至在进行身份验证后也不知道类型。由平台决定。
  • @Michael 那么 BiometricPrompt 需要更新!

标签: android face-recognition iris-recognition


【解决方案1】:

Android 9 仅支持生物特征身份验证的指纹方面。虹膜和面部识别将得到支持。请注意,这会导致在为 Android P 编写应用程序时弃用之前的 FingerprintManager API。

Android 9 仅包含用于 BiometricPrompt 的指纹集成。但是,即将推出对其他生物识别模式的集成支持。

Source

【讨论】:

  • 谢谢你在我到达这里之前我只是在看的链接中错过了一些...有趣的是,我更关注 SO 然后是来自源的实际文档...等等,这很可悲,不好笑://
  • 是的,一年后就有新的更新可用:) ..找到它here
  • 有没有办法使用androidx biometric api只使用人脸识别而不是指纹。
【解决方案2】:

Android 6

  • 引入FingerprintManager 类以提供对指纹传感器的支持。
  • 开发人员需要构建自己的指纹 UI。

Android 9

  • 弃用 FingerprintManager 类。
  • 引入了新的生物识别 API,以访问 OEM 设备上可用的各种生物识别硬件。
  • 引入了标准化的指纹 UI 策略。 OEM 现在可以自定义 UI。应用程序开发人员失去了创建自定义 UI 的能力。
  • 它包括指纹集成仅适用于BiometricPrompt 类。

Android 10

  • 生物识别 API 现在是 AndroidX Biometric Library 的一部分,它使运行 Android 6.0(API 级别 23)或更高版本的所有设备都可以使用 Android 10 的所有生物识别行为。
  • 包括BiometricPrompt指纹和面部身份验证集成。
  • 引入了BiometricManager 类,开发人员可以使用该类来查询生物特征认证的可用性
    • 如果设备支持多种生物特征,用户可以在操作系统设置中指定默认/首选方法。
    • BiometricManager 不会为您提供有关可用方法的信息,它只是返回是否至少有一个可用方法。
    • BiometricManager 不允许您知道正在使用哪种生物识别方法。
    • 如果设备支持多种方法,BiometricManager 不允许您选择首选方法。
    • 如果不存在生物识别传感器,API 现在允许开发人员指定是否要使用 device credentials(PIN、图案或密码)。
  • 该框架现在为 OEM 提供了一个友好的标准化 API,以集成对其设备上所有类型的生物识别传感器的支持。
  • 该框架现在在 Android 10 中内置了对面部身份验证的支持,因此供应商无需创建自定义实现。
  • 生物特征库architecture:

关于虹膜扫描仪,一些 OEM(例如三星)已经将其虹膜传感器的实施与生物识别 API 集成在一起。但是,Android 尚未为 OEM 提供与虹膜传感器交互的标准 API(据我所知),这会阻止基于 AOSP 的 ROM 访问虹膜传感器。

在 AOSP 问题跟踪器中,有一个“Adding Biometrics Iris HAL interface”的公开票证,旨在创建 HAL 接口以标准化 Android 框架与虹膜扫描仪的通信方式。不幸的是,票证上一次取得进展是在 2018 年 3 月。

更新:Android 11

  • Android 11 引入了BiometricManager.Authenticators 接口。该接口定义了生物识别硬件元素的可能优势:
    • BIOMETRIC_STRONG:设备上满足或超过 Android CDD 定义的 Strong 要求的任何生物特征(例如指纹、虹膜或面部)。
    • BIOMETRIC_WEAK:设备上的任何生物特征(例如指纹、虹膜或面部)满足或超过 Android CDD 定义的弱要求。
    • DEVICE_CREDENTIAL:用于保护设备的非生物识别凭证(即 PIN、图案或密码)。
  • ACTION_BIOMETRIC_ENROLL 意图操作调用系统设置并请求用户注册生物识别硬件元素。您可以额外提供强度等级。
  • AuthenticationResult API 有一个新方法getAuthenticationType(),允许您检查用户是否使用生物识别或设备凭据进行了身份验证。

参考文献

【讨论】:

  • 我是通过API知道是只有指纹硬件,还是指纹和faceId都有?我正在使用 Q10,似乎无法检测到它
  • BiometricManager 不会提供有关可用方法的信息,它只是返回是否至少有一个可用方法。
  • 谢谢。希望他们添加该 API。
  • @DavidMiguel:人脸识别是否必须使用 Soli 芯片才能在 Android 10 设备中运行?
  • @DavidMiguel 在 Settings 类中是否有可用的常量?我找到了ACTION_FINGERPRINT_ENROLL。但它已被弃用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
  • 1970-01-01
  • 2019-12-17
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
相关资源
最近更新 更多