越来越多的信息系统基于安全的考虑加入了多因素认证的功能,实现多因素认证有多种方案,OTP就是其中一种实现相对简单便捷的方案。本文概要介绍了OTP的概念、原理和实现步骤。
一、什么是OTP
OTP:One Time Password,又称一次性口令、一次性密码、动态密码、单次有效密码。
OTP基于专门的算法每隔一定的时间间隔生成一个不可预测的随机数字组合。
OTP的密码有效期仅在一次会话或者交易过程中,因此不容易受到重放攻击。
OTP一般分为计次使用和计时使用两种,计次使用的OTP产出后,可在不限时间内使用;
计时使用的OTP则可设置密码有效时间,从30秒到两分钟不等,而OTP在进行认证之后即废弃不用,下次认证必须使用新的密码,降低了不经授权访问限制资源可能性。
获取一次性密码的方法一般有以下几种:
1、手机短信:这种方式非常普及,可用于信息系统登录,交易时二次验证,信息系统密码遗失时的找回验证等,因为手机的普及,这种方式非常普及,但对于中间人攻击抵抗性低。
2、手机令牌:手机上的APP,软件生成动态密码,用户在信息系统中输入后在服务端完成验证。也可以直接通过与服务端的交互更便捷完成验证过程。这种方式如果移动设备有系统漏洞,存在密钥泄露风险。更换手机时,也需要完成令牌的转移或在新手机上重新生成令牌。
3、硬件令牌:在网银业务中比较普遍,比如银行的U盾,在设定的大额交易场景下,需要使用硬件令牌生成动态口令完成身份确认。由于单独的硬件需要电池,存在寿命问题,令牌遗失一般也需要去营业网点注销后再重新申领。
4、纸张&#