【问题标题】:Limit Android to use one single fingerprint for authentication限制 Android 使用一个指纹进行身份验证
【发布时间】:2017-03-15 12:38:13
【问题描述】:

我正在使用 FingerprintManagerCompat 的现有 Android 应用程序中实现指纹身份验证。我使用了一个教程作为指导,可以找到here.

(android.support.v4.content.ContextCompat)

由于 FingerprintManagerCompat 使用移动设备上保存的指纹,因此设备上的任何指纹都可用于登录应用程序。

是否可以查看设备上的哪个指纹用于解锁,如果可以,是否有方法获取设备上所有可用的已保存指纹?

我四处寻找有关这是否可行的信息,但我似乎找不到任何东西。我发现 Samsung Pass SDK 确实具有查看使用什么指纹的功能,但产品所有者不希望我使用 Samsung 的 Pass SDK,因为他的渗透测试团队发现它不是很安全。

【问题讨论】:

    标签: android android-fingerprint-api


    【解决方案1】:

    有没有办法获取设备上所有可用的已保存指纹?

    没有。

    是否可以查看设备上的哪一个指纹用于解锁

    没有。
    但是,在您的应用程序中使用指纹进行身份验证存在一些限制。指纹认证的结果是您可以使用加密密钥来执行某些加密操作(例如创建数字签名)。因此,当您在应用程序中添加用户时,您通常会创建一个与该用户关联的加密密钥。
    然后,当用户想要执行一些需要他/她进行身份验证的操作时,您执行指纹身份验证,可让您访问密钥,该密钥可用于执行您需要执行的任何操作,以验证是否应允许用户执行操作。

    注册新指纹后,任何需要指纹验证的现有加密密钥都将永久失效。
    这给我们留下了在用户添加到您的应用程序之前有多个注册指纹的情况。我不知道有什么方法可以用当前的 API 做任何事情。因此,您可以做的最好的事情可能是在启用指纹的 UI 流程中添加一些步骤,在该流程中要求用户验证是否只有他们在设备上注册了指纹(例如,通过选中复选框或单击按钮)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-07
      • 2018-07-28
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2017-03-11
      • 2010-11-08
      • 1970-01-01
      相关资源
      最近更新 更多