限制 Android 使用一个指纹进行身份验证
Limit Android to use one single fingerprint for authentication
我正在使用 FingerprintManagerCompat 的现有 Android 应用程序中实施指纹身份验证。我使用了可以找到的教程作为指导 here.
(android.support.v4.content.ContextCompat)
由于 FingerprintManagerCompat 使用移动设备上保存的指纹,因此设备上的任何指纹都可用于登录应用程序。
是否可以查看设备上的哪一个指纹用于解锁?如果可以,是否有方法获取设备上可用的所有已保存指纹?
我四处寻找有关这是否可行的信息,但似乎找不到任何信息。我发现 Samsung Pass SDK 确实具有查看使用什么指纹的功能,但产品所有者不希望我使用三星的 Pass SDK,因为他的渗透测试团队发现它不是很安全。
Is there a method to get all saved fingerprints that are available on the device?
没有
Is it possible to see which one of the fingerprints on the device were used to unlock
没有
但是,在您的应用程序中使用指纹进行身份验证存在一些限制。指纹认证的结果是您可以使用加密密钥来执行某些加密操作(例如创建数字签名)。因此,当您在应用程序中添加用户时,您通常会创建一个与该用户相关联的加密密钥。
然后稍后当用户想要执行一些需要 him/her 进行身份验证的操作时,您进行指纹认证,这使您可以访问密钥,该密钥可以用来执行您需要执行的任何操作,以验证是否应允许用户执行该操作。
注册新指纹后会发生什么,任何现有的需要指纹验证的加密密钥都将永久失效。
这给我们留下了这样一种情况,即在将用户添加到您的应用程序之前 有多个注册指纹 。我不知道有什么方法可以用当前的 API 对此做任何事情。因此,您最好的办法可能是在启用指纹的 UI 流程中添加一些步骤,要求用户验证只有他们在设备上注册了指纹(例如,通过选中复选框或单击按钮).
我正在使用 FingerprintManagerCompat 的现有 Android 应用程序中实施指纹身份验证。我使用了可以找到的教程作为指导 here.
(android.support.v4.content.ContextCompat)
由于 FingerprintManagerCompat 使用移动设备上保存的指纹,因此设备上的任何指纹都可用于登录应用程序。
是否可以查看设备上的哪一个指纹用于解锁?如果可以,是否有方法获取设备上可用的所有已保存指纹?
我四处寻找有关这是否可行的信息,但似乎找不到任何信息。我发现 Samsung Pass SDK 确实具有查看使用什么指纹的功能,但产品所有者不希望我使用三星的 Pass SDK,因为他的渗透测试团队发现它不是很安全。
Is there a method to get all saved fingerprints that are available on the device?
没有
Is it possible to see which one of the fingerprints on the device were used to unlock
没有
但是,在您的应用程序中使用指纹进行身份验证存在一些限制。指纹认证的结果是您可以使用加密密钥来执行某些加密操作(例如创建数字签名)。因此,当您在应用程序中添加用户时,您通常会创建一个与该用户相关联的加密密钥。
然后稍后当用户想要执行一些需要 him/her 进行身份验证的操作时,您进行指纹认证,这使您可以访问密钥,该密钥可以用来执行您需要执行的任何操作,以验证是否应允许用户执行该操作。
注册新指纹后会发生什么,任何现有的需要指纹验证的加密密钥都将永久失效。
这给我们留下了这样一种情况,即在将用户添加到您的应用程序之前 有多个注册指纹 。我不知道有什么方法可以用当前的 API 对此做任何事情。因此,您最好的办法可能是在启用指纹的 UI 流程中添加一些步骤,要求用户验证只有他们在设备上注册了指纹(例如,通过选中复选框或单击按钮).