用android收集用户指纹是否可行?我们的后端系统有一个指纹数据库。我们希望匹配针对数据库收集的指纹,看看是否匹配。
答案 0 :(得分:5)
如果通过"收集用户指纹" 您的意思是以某种形式获取指纹图像,那么不,您就可以了。
Android的指纹API基本上是这样的:
用户在Android设置应用中注册指纹。
您的应用会创建一个与用户关联的加密密钥,以及基于该密钥的CryptoObject
,并启动指纹身份验证。
如果传感器读取的指纹与任何注册的指纹匹配,则验证成功,CryptoObject
可用于执行加密操作(如加密) /解密一些数据。)
您的应用程序,任何其他应用程序甚至操作系统都无法使用实际指纹。
从Google的fingerprint implementation guidelines到制造商:
原始指纹数据或衍生产品(例如模板)绝不能从传感器驱动程序或可信执行环境(TEE)外部访问。
答案 1 :(得分:0)
我还没有尝试过,但最近的Android操作系统(Marshmallow)有能力做到这一点。
“要通过指纹扫描对用户进行身份验证,请获取该实例 新的FingerprintManager类并调用authenticate()方法。您的 应用必须在带有指纹传感器的兼容设备上运行。 您必须实现指纹的用户界面 您的应用上的身份验证流程,并使用标准的Android 用户界面中的指纹图标。 Android指纹图标 (c_fp_40px.png)包含在指纹对话框示例中。如果你 正在开发使用指纹认证的多个应用程序,请注意 每个应用程序必须独立验证用户的指纹。 “
https://developer.android.com/about/versions/marshmallow/android-6.0.html
两个限制:
您可以在此处找到Android 6.0的最新市场份额:
答案 2 :(得分:0)
可以使用外部指纹扫描器来实现。
通过外部指纹扫描仪,我指的是除Android设备随附的默认指纹扫描仪之外,还可以使用的指纹扫描仪。
对于外部指纹扫描仪,基于您的用例的基于USB的指纹扫描仪就足够了。
要捕获指纹图像,您可以将指纹图像发送到后端系统数据库,从中可以保存指纹图像并将其与其他指纹图像进行比较,例如:在计算机上,您的板载指纹扫描仪将无法满足@Michael的回答所提到的用例。这是外部指纹扫描仪的最佳选择。
要引入外部指纹扫描仪以与Android设备配合使用,您需要获得 OTG电缆,以将USB指纹扫描仪与Android设备连接。
此后,您将必须获得指纹扫描仪的 Android生物识别API ,以编写可进行诸如 Fingerprint Capture , Fingerprint Enroll 指纹之类的调用的Android应用程序strong>和指纹验证到指纹扫描仪,以便您可以捕获指纹图像以进行生物特征识别注册和生物特征识别。
至关重要的是,在经过加密之前,首先要通过安全的专用VPN连接在网络上将生物特征指纹数据中继到系统数据库以进行存储或身份验证,然后再通过链接网络进行发送Android设备和您的后端系统。
重要提示::并非所有指纹扫描仪都随附 Android生物识别API ,可以帮助您实现Android生物识别指纹捕获或Android生物识别指纹注册。在为Android Biometric Integration项目安装单元指纹扫描仪之前,您需要先进行检查。
答案 3 :(得分:0)
实际上我的问题是关于收集多个 用户的指纹。我有一个存储所有用户的数据库 指纹。现在我想有一个应用程序。用户可以使用他的 指纹登录到我的应用程序。有可能吗?
关于在Android设备上使用内置指纹扫描仪,我认为不可能与以前扫描的指纹进行任何形式的“收集”数据。 Android系统用来存储和匹配扫描指纹的环境是非常密封的(称为TEE-可信执行环境),并且根据Android Central文章(https://www.androidcentral.com/how-does-android-save-your-fingerprints),每家生产Android手机的公司都有一些基本规则必须使用指纹传感器,其中包括:
因此,您可以拥有具有指纹身份验证功能的应用程序,但是该应用程序只是基于“设置”中此设备上已注册的指纹的“经过身份验证”或“未经身份验证”的响应,因此无法连接每个用户每个指纹。