信息安全越来越重要,而身份验证是其中最基本的一项,我们该如何确认身份?如何优化身份认证方式?

主流身份认证方式

你知道的

根据你知道的信息来验证身份,这是最普遍的身份认证方式,比如使用用户名和密码登录系统。

你拥有的

根据你拥有的东西来验证身份,比如通过门禁卡开门,通过手机获取短信验证码登录等。

你固有的

是指根据生物特征验证身份,比如手机上的指纹解锁,人脸识别等。

你认识谁

是指根据你的社交关系来验证身份,比如微信上通过好友找回密码等。

以上四种身份认证方式,第一种和第二种应用得最为广泛,易用性较高,但安全性较低。第一种认证方式,只要信息被别人知道了,任何人都可以认证成功。第二种方式,只要设备被别人拿到,同样任何人都可以认证成功。相对来说,第三种和第四种方式安全性更高一些。

MFA

MFA即Multi-factor authentication,译作多因子认证、多因素认证等,是一种计算机访问控制方法,用户需要通过两种以上的认证方式后,才可以使用相关资源。多因子认证可以大大提高帐号的安全性。

因为许多认证方式不能普及,如PC上使用指纹、人脸识别等的实现成本较大,使用社交关系又比较烦锁,所以最常用的多因子认证是结合静态密码和动态密码的认证方式。

静态密码

静态密码即由用户输入用户名和密码,因为用户设定的密码不会随意改变,相对来说是静止不变的,所以称为静态密码。静态密码依据你知道的信息来进入认证,是最普遍的身份认证方式。

为保证安全性,对静态密码常有一些要求,大致如下:

  • 长度要求:8位以上。
  • 复杂度要求:大写字母、小写字母、数字、特殊字符,至少3种以上的组合。
  • 定期更换要求:最多90天要更换密码。
  • 重用限制要求:修改密码时不能与近期使用过的5个密码相同。

动态密码

动态密码英文简称OTP(One-time Password),是根据一定的算法生成的随机字符组合,通常为6位数字。主流的动态密码有短信密码、硬件令牌、手机令牌,是基于你拥有的东西来进行认证。动态密码是一种安全便捷的认证方式,用户无需定期修改密码,安全省心。

短信密码

短信密码通常也叫短信验证码,是由认证服务生成6位随机动态密码,并以短信的方式发送到用户的手机上,用户使用此动态验证码进行身份认证。

硬件令牌

基于时间同步的硬件令牌应用广泛,它30到60秒变换一次动态口令,无需与服务器通信。

手机令牌

手机令牌同硬件令牌类似,只是使用手机APP来生成和显示动态密码。

动态令牌的实现

基于时间同步的动态令牌最为普遍,实现起来也比较简单,大致通过以下几个步骤:

  1. 通过种子密钥为需要动态密码的帐号生成相关密钥。
  2. 帐号密钥在服务端需与帐号关联保存起来,同时要分发给动态口令生成器,如果是手机APP,可通过二维码扫描来获取。
  3. 手机APP将当前时间缀精确到30秒后,使用帐号密钥计算动态口令。
  4. 当用户登录时,服务端根据帐号关联的密钥及服务端的当前时间缀精确到30秒后计算动态口令,并与用户输入进行比较。
  5. 比较动态口令时,为孩子服务器与客户端的时间误差,通常前后多计算几组动态口令进行比较。