应用程序如何在后端执行重要操作之前正确验证 Face-id 或生物识别?

问题描述 投票:0回答:1

我有一个理论问题,移动应用程序应该如何处理某些任务之前需要的 Face-id 或生物识别。

假设银行应用程序要求在进行交易之前在 iPhone 上提供 Face ID。后端应该如何验证它?后端应该得到什么?某种令牌?您能为我提供任何相关的实施指南吗?

更新:我知道后端没有验证它。但这种情况下的安全标准是什么,重新验证用户身份?

android ios mobile biometrics face-id
1个回答
0
投票

身份验证

您可以查看 密码和 WebAuthn 标准,其中:

  • 发送到服务器的主要凭证是使用强非对称加密技术生成的数字签名。
  • FaceID 等的使用是次要身份验证因素,主要只是为了证明用户存在并帮助防止自动攻击。

API 访问

虽然数字签名证明用户已通过身份验证,但如果在身份验证后,应用程序还可以获得高权限业务区域的 API 凭据,那么它会很有用。

例如,使用 OAuth 2.0 的银行应用程序可能会像这样运行:

  • 应用程序使用
    scope=payments
    等参数触发重新身份验证。
  • 授权服务器提供密钥登录表单来验证用户身份。
  • 授权服务器发出具有所请求范围的访问令牌 - 以及可能代表用户身份验证强度的
    level_of_assurance
    声明。
  • API 就可以决定是否允许高权限操作。

总结

因此,您可能需要区分几个后端问题:

  • 服务器端验证以验证用户身份证明
  • 事后高权限资源访问
© www.soinside.com 2019 - 2024. All rights reserved.