【问题标题】:iOS/Android finger print - authentication server sideiOS/Android指纹-认证服务器端
【发布时间】:2017-12-10 09:41:52
【问题描述】:

我正试图围绕如何实现 iOS/Android 指纹来验证用户身份。

据我了解,触发指纹对话框只是一种额外的安全措施?

所以一个典型的入职流程是这样的:

  1. 用户下载应用。
  2. 用户注册/登录,并从服务器取回令牌。
  3. 在我们需要额外安全性的某些操作中,触发指纹对话。
  4. 如果指纹正常 - 使用步骤 2 中的令牌执行实际 REST 调用。

我错过了什么吗?

【问题讨论】:

  • 是的..你几乎是正确的。因为任何一种设备的指纹功能都不允许我们看到或读取“指纹”,而只是将给定的“指纹”与存储的“指纹”进行比较,并返回匹配与否的结果。
  • 感谢您的回答,@sandeep。这是否意味着指纹验证没有返回任何令牌或类似的东西需要发送到服务器?
  • 否 它不提供任何令牌,如果提供,它将破坏指纹安全的目的。正如你在帖子中所说。它只是一个额外的安全。但是您可以在您的应用程序中使用该额外的安全性,正如该用户在他的回答中所解释的那样。 stackoverflow.com/a/37115194/2026280

标签: android ios security fingerprint mobile-development


【解决方案1】:

请阅读以下博客之一(还有很多其他博客):

流程必须是:

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

【讨论】:

  • 服务器将如何验证这个令牌?如果我们无法进行任何身份验证,那么我们如何进行服务器端身份验证?
  • 我们如何从指纹的加密对象生成本地令牌?
  • 如果我下载应用程序并从手机-A 注册现在我尝试从手机-B 登录,令牌将相同...?
猜你喜欢
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 2017-08-10
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 2019-06-03
  • 2016-08-25
相关资源
最近更新 更多