具有虹膜和面部识别功能的生物识别

时间:2018-07-03 03:07:44

标签: android face-recognition iris-recognition

在博客Better Biometrics in Android P中,他们说:“为了确保用户安全,大多数应用和设备都具有身份验证机制,或者一种证明您身份的方法。这些机制分为三类:知识因素,拥有知识因素要求您知道某事(例如PIN或密码),拥有因素要求您拥有某事(例如令牌生成器或安全密钥),而生物因素要求您某事(例如您的指纹,虹膜或面部)”。

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

2 个答案:

答案 0 :(得分:6)

Android 6

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

Android 9

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

Android 10

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

关于虹膜扫描仪,一些原始设备制造商(例如Samsung)已经将其虹膜传感器的实现与Biometric 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定义的“强”要求的任何生物特征识别信息(例如指纹,虹膜或面部)。
    • BIOMETRIC_WEAK:设备上符合或超过Android CDD定义的“弱”要求的任何生物识别信息(例如指纹,虹膜或面部)。
    • DEVICE_CREDENTIAL:用于保护设备安全的非生物认证(即PIN,图案或密码)。
  • ACTION_BIOMETRIC_ENROLL意向操作会调用系统设置并请求用户注册生物识别硬件元素。您可以额外提供强度等级。
  • AuthenticationResult API具有新的方法getAuthenticationType(),可让您检查用户是否使用生物特征或设备凭据进行了身份验证。

参考

答案 1 :(得分:4)

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

  

Android 9仅包括BiometricPrompt的指纹集成。但是,即将提供对其他生物识别方式的集成支持。

Source