有没有一种方法可以通知应用程序设备的指纹已被注销?

Is there a way an app can be notified that a fingerprint from a device has been deregistered?

我是 Flutter 和一般编程的初学者。

首先,我想知道是否可以通知应用程序的创建者或其后端服务指纹已被注销并添加了新指纹。

注意:objective不是获取指纹数据而是以一种或另一种方式唯一识别人.例如,假设一个应用程序想要管理关闭时间为晚上 9 点的宿舍,并打算通过使用他们的设备位置和本地网络上的服务来生成一份关于所有在场人员的报告,该服务会检查位置数据并要求提供指纹身份验证,用户很可能将他们的设备留给其他用户并注册他们的指纹,并允许他们提供身份验证并为宿舍创建不准确的报告。

请问对于以上情况有什么建议吗?

不直接支持"detecting de-registration"。就算有,也没用。

tldr; 由设备机密指纹或其他方式保护的访问,来自任意和不受控制的设备 不能用于保证'owns' 该设备的人在场。数据治理法规(EULA、company/dorm 政策等)和用户 信任 遵守这些规定,包括报告违规行为,这允许设备到-人物断言。

在移动设备上,指纹认证实际上是一个每台设备的秘密,可以接受任何已注册的指纹,后者用于保护其他access/secrets.

考虑:

  • 应用程序不能直接访问指纹,因此不能用作"user IDs"。

    每台设备都使用设备专用密钥来加密和存储指纹信息。此信息无法从外部访问,也无法上传。

    iOS 参见 'Secure Enclave',Android 参见 'Trusted Execution Environment'。

  • 一个人可以在每台设备上注册多个指纹。这意味着 可以添加来自不同人的多个指纹,并且无法确定差异 。同样,一个人可以在多个设备上为不同的手指注册指纹。

  • 指纹编码是一种"one way"数据建模,接受注册指纹。实际的指纹数据会有所不同,即使在安全保存之前也是如此:只有将此模型应用到正在应用的指纹图案上才有用。


现在,如果有物理控制设备/系统..

物理控制系统的一个示例可能是使用固定终端控制单人 entry/exit 门(带有安全摄像头 and/or 物理守卫) 人们只能在适当的身份验证后在受信任的人面前注册指纹..这到底有多大关系?当一个人爬过 window 时会发生什么?

让应用程序通过实时摄像头进行详细的面部/眼睛扫描,并将其发送到受控服务器以进行一些基于内部生物特征的验证可能是一些[严厉的]半途..我会说"No Thanks";-)

在iOS上,如果某些东西受指纹或面部ID保护,开发者可以设置一个选项,即只有在注册的指纹/面部集合不变的情况下才能访问数据。因此,您可以发送用户放在钥匙串中的一次性代码,如果更改注册了指纹,它就会消失。现在,如果我注册了自己和我三个最好的朋友的指纹,你就检测不到了。