对智能手机用户进行身份验证的好方法是什么?

信息安全 验证 密码 手机 生物识别 令牌
2021-08-12 03:16:54

什么是对智能手机用户进行身份验证的好方法?好的,我的意思是它既安全又对用户友好。密码似乎不是最合适的,因为密码需要很长才能安全,但很难在智能手机上输入长密码。我已经开始考虑的一些想法是生物特征测量(例如可能是面部识别)和/或令牌。我对这个问题感兴趣,对手机进行身份验证。正如评论中所指出的,我最初的问题太宽泛了,所以我在这里将另一部分拆分为另一个问题:使用智能手机对用户进行网站和应用程序身份验证的好方法是什么?

4个回答

查看解锁手机的身份验证方法。在我的 Galaxy S4 上,有:

  • 刷卡(没有安全性)
  • 人脸解锁(低安全性)
  • 面部和语音(低安全性)
  • 模式(中等安全性)
  • PIN(中到高)
  • 密码(高)

从个人经验来看,人脸解锁有点难。你必须训练它,然后你必须把你的脸贴在正确的光线下,上面什么都没有,才能解锁你的手机。还要考虑残疾人或受伤的人——在事故中被烧伤的人将被锁定在他们的设备之外!也有研究用图片打败识别引擎,这很容易做到,因为任何人都可以看到你的脸。

你说的密码很难输入。微小的电话键盘使大写字母变得非常困难。

但是,从用户的角度来看,我发现最简单的两种身份验证方法是 PIN 和模式。图案可以从丝网油(漂白剂)中提取,从而削弱它。

随机排列数字的大型数字键盘是可用性和安全性之间的良好折衷。在别针上放置一个最小长度(如 10),您将能够获得与密码相当的安全性。

您没有提到它用于哪种服务,但作为用户,对我来说,手机上最不刺激的身份验证方法是 SSO。无论如何,我已经登录了 Google 和 Facebook,所以通常只需按“是”,我们就完成了。

如果您有用户的手机号码(并且如果用户在注册期间确认此手机号码可以接收短信),您可以使用此功能启用短信两步验证。使用用户名和密码成功验证后,再执行一步。通过使用 API 向 Twilio 或 Plivo 等 SMS 网关提供商发送短信(这需要花钱,但在美国,SMS 网关提供商的价格往往非常低)。您发送给他们的短信将包含您为他们创建的随机生成的整数,长度可能为 6 到 8 位。让用户在表单字段中输入这个整数并用它来验证他们。为了让用户更容易输入,您可以配置表单域以在他们的屏幕上显示拨号键盘,

<input type="text" name="smstoken" id="smstoken" pattern="[0-9]" autocomplete="off">

一旦他们提交了带有他们在短信中收到的正确整数的表单,他们就完全通过了身份验证。这种形式的两步身份验证确保用户不仅知道某些信息(他们的正确用户名和密码),而且还知道某些信息(通过短信实时接收的随机数),从而提高应用程序的安全性。

确保您事先充分告知用户,他的移动提供商可能会向他收取费用以接收短信。

您最好的选择可能是使用Ohnana 的回答中提到的标准方法以及使用 U2F 的强大的第二因素身份验证。

如果我没记错规范,Yubico 的 YubiKey NEO 允许安全的 TLS 通道第二因素身份验证,甚至通过 NFC。您正在使用硬件安全模块,因此结合使用不方便的强密码将是验证用户是否是他们声称的身份的一种非常强大的方法。

更疯狂的是为 Android 编写一个 GPG 智能卡驱动程序,该驱动程序将使用上述 YubiKey NEO 中的 OpenPGP 小程序来进行服务器/电话发起的一次性挑战,用户必须输入他们智能卡的密钥才能按顺序解密、签名并从服务器/电话返回质询。不过,你需要一个 USB 加密狗,因为如果我没记错的话,GPG 没有 NFC 协议。

天空是极限。确保手机使用强不方便的密码进行加密,如果超过 5 次错误登录尝试,则将其关机。