iOS/Android 指纹识别 - 认证服务器端

4
我正在努力理解如何实现iOS/Android指纹认证用户的过程。
据我所知,触发指纹对话框只是额外的安全措施?
因此,典型的引导流程如下:
1. 用户下载应用程序。 2. 用户注册/登录,并从服务器获取一个令牌。 3. 在需要额外安全性的某些操作上,触发指纹对话框。 4. 如果指纹正确,则使用步骤2中的令牌进行实际REST调用。
我有遗漏什么吗?

1
是的,你几乎是正确的。因为两种设备的指纹功能都不会让我们看到或读取“指纹”,而只是将给定的“指纹”与存储的“指纹”进行比较,并返回匹配或不匹配的结果。 - Sandeep R
感谢您的回答,@sandeep。这是否意味着指纹验证没有返回令牌或类似的东西需要发送到服务器? - fortysixandtwo
不,它不提供任何令牌。如果提供了令牌,那么指纹安全的目的就会被打败,正如您在帖子中所说的那样。它只是额外的安全措施。但是,您可以在应用程序中使用该额外的安全措施,就像这位用户在他的答案中所解释的那样。https://dev59.com/714b5IYBdhLWcg3whSBC#37115194 - Sandeep R
1个回答

3
请阅读以下其中一篇博客(还有许多其他博客):

流程如下:

  1. 用户必须已经在Android设置应用中注册指纹并选择使用指纹解锁设备。
  2. 用户下载应用程序。
  3. 用户使用指纹进行注册/登录。
  4. 应用程序生成本地令牌并将其存储在设备上的安全(安全元素)密钥库中。
  5. 将此本地应用程序令牌发送到服务器。
  6. 在需要额外安全性的某些操作时,触发指纹对话框。
  7. 如果指纹验证成功,则应用程序可以访问安全密钥库以获取令牌。 应用程序可以使用此令牌从步骤4开始执行REST调用。

服务器将如何验证此令牌?如果我们无法进行任何身份验证,那么我们如何进行服务器端身份验证? - Fenil
我们如何从指纹的加密对象生成本地令牌? - user2425109
如果我现在从手机A下载并注册了该应用程序,然后尝试从手机B登录,那么令牌将是相同的吗? - Yogesh Patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接