在不存储用户生物特征的情况下使用 Touch ID 或 Face ID

Using Touch ID or Face ID without storing user biometrics

如果这个主题不适合 Whosebug,我提前道歉(我请版主在适当的地方移动它)。谢谢。

我想知道应用程序如何使用 Touch ID 或 Face ID 来验证身份而不将生物特征数据存储到他们的服务器中。

没有Touch/Face ID的身份验证(这里过于简单化)

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

在用户允许应用程序使用他们的 Touch/Face ID 后...

使用 Touch/Face ID 进行身份验证

  1. 用户登录他们的银行应用程序。
  2. 他们使用 Touch/Face ID
  3. 进行验证

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

我读到生物识别数据存储在 phone 上的安全芯片中,并且未存储在任何服务器上。

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

谢谢。

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

例如,您的设备已登录到与您的银行帐户关联的 Itunes 帐户。为了执行操作,设备将以 Touch Id/Face Id 的形式请求身份验证,一旦匹配(使用安全芯片),设备会将请求发送给苹果,苹果会将请求发送给银行.是的,它可能会被愚弄,因为它发生在客户端,但您仍然需要以某种方式登录到您的 Itunes 帐户,因此它是第二道安全线。

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

典型的流程是:

首次登录:

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

在后续登录时:

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