限制Android使用一个指纹进行身份验证

时间:2016-11-02 09:00:28

标签: android android-fingerprint-api

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

  

(android.support.v4.content.ContextCompat)

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

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

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

1 个答案:

答案 0 :(得分:1)

  

是否有方法可以获取设备上可用的所有已保存指纹?

没有

  

是否可以看到设备上的哪一个指纹被用来解锁

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

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