5

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

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

没有 Touch/Face ID 的身份验证(此处过于简单)

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

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

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

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

......这里发生了什么?什么被发送到服务器进行验证?

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

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

谢谢你。

4

2 回答 2

4

典型的流程是:

首次登录:

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

在后续登录时:

  • 应用程序尝试检索存储的用户名/密码以触发生物特征认证
  • 应用程序使用存储的用户名和密码向服务器进行身份验证。
于 2018-12-13T07:05:09.963 回答
0

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

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

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

于 2018-12-13T07:03:56.140 回答