【问题标题】:Is it doable to collect user fingerprint with android?安卓可以采集用户指纹吗?
【发布时间】:2016-09-18 10:37:35
【问题描述】:

安卓可以采集用户指纹吗?我们的后端系统有一个指纹数据库。我们想将收集到的指纹与数据库进行匹配,看看是否匹配。

【问题讨论】:

  • 实际上我的问题是关于收集多个用户指纹的可能性。我有一个存储所有用户指纹的数据库。现在我想要一个应用程序。用户可以使用他的指纹登录我的应用程序。有可能吗?
  • 我也没有看到这方面的限制

标签: android fingerprint


【解决方案1】:

如果“收集用户指纹”是指以某种形式获取指纹图像,那么不,你不能。

Android 的指纹 API 基本上是这样工作的:

  1. 用户在 Android 设置应用中注册指纹。

  2. 您的应用会创建一个与用户相关联的加密密钥,以及基于该密钥的CryptoObject,然后启动指纹身份验证。

  3. 1234563一些数据)。

您的应用、任何其他应用甚至操作系统都无法使用实际指纹。

从 Google 的 fingerprint implementation guidelines 到制造商:

原始指纹数据或衍生数据(例如模板)绝不能从传感器驱动程序或可信执行环境 (TEE) 外部访问

【讨论】:

  • 但是,像 Paytm 这样的一些应用程序使用已经保存在其上的相同指纹身份验证
  • 我不确定我是否理解您的评论以及它与我的回答有何冲突。
【解决方案2】:

实际上我的问题是关于收集多个 用户的指纹。我有一个存储所有用户的数据库 指纹。现在我想要一个应用程序。用户可以使用他的 指纹登录我的应用程序。有可能吗?

关于在 Android 设备上使用内置指纹扫描仪,我认为任何与之前扫描的指纹相关的“收集”数据都是不可能的。 Android 系统用于存储和匹配扫描指纹的环境非常密封(称为 TEE - 可信执行环境),根据 Android Central 文章 (https://www.androidcentral.com/how-does-android-save-your-fingerprints),每个制造 Android 手机的公司都有一些基本规则指纹传感器必须遵循,其中:

  • 不得将任何类型的指纹数据备份到任何其他 来源,包括云或您的计算机或任何应用程序
  • 请求的进程必须使用指纹验证 它(不共享任何指纹数据,即使只是是或否 回答看是否正确)

因此,您可以拥有具有指纹验证功能的应用程序,但它只是“已验证”或“未验证”响应,基于已在此设备上注册的指纹,无法连接每个用户每个指纹。

【讨论】:

    【解决方案3】:

    我还没有尝试过,但最近的 Android OS (Marshmallow) 有能力做到这一点。

    "要通过指纹扫描对用户进行身份验证,请获取 新的 FingerprintManager 类并调用 authenticate() 方法。您的 应用程序必须在带有指纹传感器的兼容设备上运行。 您必须实现指纹的用户界面 您的应用程序上的身份验证流程,并使用标准的 Android UI 中的指纹图标。 Android 指纹图标 (c_fp_40px.png) 包含在指纹对话框示例中。如果你 正在开发多个使用指纹认证的应用程序,请注意 每个应用程序必须独立验证用户的指纹。 "

    https://developer.android.com/about/versions/marshmallow/android-6.0.html

    两个限制:

    1. Android 6.0 及更高版本
    2. 设备内的指纹传感器

    您可以在此处找到 Android 6.0 的最新市场份额:

    https://developer.android.com/about/dashboards/index.html

    【讨论】:

      【解决方案4】:

      可以使用外部指纹扫描仪来做到这一点。

      通过外部指纹扫描仪,我指的是除了 Android 设备随附的默认指纹扫描仪之外,您还可以使用的指纹扫描仪。

      对于外部指纹扫描仪,基于 USB 的指纹扫描仪足以满足您的用例。

      要捕获指纹图像,您可以将其发送到后端系统数据库,从中您可以保存它们并将它们与其他指纹图像进行比较,例如一台计算机,您的板载指纹扫描仪不足以满足@Michael 的回答中提到的这种用例。这是外部指纹扫描仪的最佳选择。

      要在您的 Android 设备上引入外部指纹扫描仪,您需要使用 OTG 电缆将 USB 指纹扫描仪连接到您的 Android 设备。

      之后,您必须获取指纹扫描仪的 Android 生物识别 API 来编写一个 Android 应用程序,该应用程序可以进行 指纹捕获指纹注册等调用strong> 和 Fingerprint Authenticate 到指纹扫描仪,以便您能够捕获指纹图像以进行生物特征登记和生物特征认证。

      必须确保生物指纹数据通过网络中继到系统数据库以进行存储或身份验证是通过安全的专用 VPN 连接进行的,该连接首先经过加密,然后再通过链接的网络发送启动 Android 设备和您的后端系统。

      重要提示:并非所有指纹扫描仪都附带 Android 生物识别 API,可帮助您实施 Android 生物识别指纹捕获或 Android 生物识别指纹注册。在为您的 Android 生物识别集成项目选择单元指纹扫描仪之前,您需要先检查一下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-22
        相关资源
        最近更新 更多