使用Touch ID或Face ID而不存储用户生物特征

时间:2018-12-13 06:56:05

标签: android ios touch-id face-id

如果此主题不适合Stackoverflow,我事先表示歉意(我要求主持人将其移至适当的位置)。谢谢。

我想知道应用如何在不将生物识别数据存储到其服务器的情况下使用Touch ID或Face ID来验证身份。

不带触摸/面部ID的身份验证(此处简化)

  1. 用户登录其银行应用程序。
  2. 发送到服务器以进行验证的用户名和密码。
  3. 根据银行服务器中存储的信息检查用户名和密码。
  4. 在有效的用户名和密码组合上,将颁发令牌以用于当前会话。

用户允许应用使用其触摸/面部ID ...

通过触摸/面部ID进行身份验证

  1. 用户登录其银行应用程序。
  2. 他们使用其触摸/面部ID进行验证

...这里发生了什么?发送到服务器进行验证的内容是什么?

我了解到,生物识别数据存储在手机上的安全芯片中,而没有存储在任何服务器上。

对于iOS,除了Touch / Face ID软件包外,我们还需要使用钥匙串访问。为什么?这里存储了什么?

谢谢。

2 个答案:

答案 0 :(得分:1)

典型流程是:

首次登录:

  • 用户使用用户名/密码进行身份验证
  • 如果身份验证成功,则会询问他们是否要使用TouchID / FaceID
  • 如果这样做,则用户名和密码会存储在钥匙串中,并要求进行生物身份验证才能访问数据

后续登录时:

  • 应用程序尝试检索存储的用户名/密码以触发生物特征认证
  • 应用程序使用存储的用户名和密码对服务器进行身份验证。

答案 1 :(得分:0)

它与使用普通密码的方式非常相似,只是第二安全级。

例如,您的设备已登录到与银行帐户关联的Itunes帐户。为了进行操作,一旦匹配(使用安全芯片),设备将以触摸ID /面部ID的形式请求身份验证,设备会将请求发送至苹果,然后将其发送至银行。是的,由于它是在客户端发生的,因此可以欺骗它,但是您仍然需要以某种方式登录到Itunes帐户,因此这是第二安全性。

为清楚起见,您实际上并没有使用设备记住的密码登录具有Touch ID或Face ID的帐户。为了获得密码,它会记住您需要Touch ID或Face ID。