口令认证的缺点(双因素身份认证动态口令技术原理及优势)(1)

双因素认证技术如今已经广泛应用于C端用户和B端用户,双因素认证类型包含动态口令、生物识别、U盘证书等,由于动态口令的全场景兼容性和使用的便捷性,应用最为广泛,最常见的就是短信验证码,短信验证码就是动态口令的一种。

动态口令除了有短信验证码,还有硬件令牌、软件令牌(APP令牌、微信/企微小程序令牌、钉钉小程序令牌、飞书小程序令牌、H5令牌)等,其中硬件令牌和软件令牌技术原理一样,短信验证码属于消息令牌,消息令牌的技术原理会有所不同,接下来就详细剖析下这两类令牌的技术原理。

硬件令牌和软件令牌

这类令牌通常每60s自动变换1次,令牌端根据加密算法、唯一识别号和当前时间三种要素自动生成6位随机数字(也可以是4位),在服务端,也有同样的加密算法、唯一识别号和时间,以此生成同样的动态口令,验证通过;

口令认证的缺点(双因素身份认证动态口令技术原理及优势)(2)

消息令牌

因为消息令牌需要短信网关,认证逻辑和原理有所不同,需要借助做过的实际案例描述(详细案例可搜索“中科恒伦双因素认证助力青岛双瑞云桌面登录保护”)

部署架构

注:CKEY SERVER指中科恒伦双因素认证系统;

口令认证的缺点(双因素身份认证动态口令技术原理及优势)(3)

1.Netscaler通过Radius协议访问CKEY 1812端口完成对接;

2.Netscaler通过LDAP协议访问AD同步账号;

3.CKEY通过LDAP协议访问AD 389端口同步账号和对应的手机号;

4.CKEY调用短信网关接口发送短信;

访问流程

口令认证的缺点(双因素身份认证动态口令技术原理及优势)(4)

1.用户输入用户名、静态密码访问Netscaler;

2.Netscaler将用户名、静态密码转发至CKEY做认证;

3.CKEY将用户名、静态密码转发至AD做认证;

4.AD返回认证结果,同时CKEY生成动态码并向短信网关发送一条指令:请将该动态码发送至指定手机号(此处指定手机号是指该账号对应的手机号,AD同步获得);

5.短信网关收到指令并执行发送;

6.用户的手机号收到短信验证码,输入登录;

7.Netscaler将短信验证码转发至CKEY;

8.CKEY验证动态码正确与否,然后将验证结果和AD的验证结果反馈至Netscaler;

9.Netscaler根据反馈结果允许/禁止用户登录,当且仅当静态密码和动态口令都验证正确的情况下才允许用户登录,否则登录失败;

稍微总结下:

消息令牌是先向服务端申请动态口令,然后服务端生成后通过第三方服务发给用户端,最后再发给服务端申请认证!

而硬件/软件令牌是用户端自己生成动态口令,直接发给服务端认证,这是两者核心认证逻辑的区别;

动态口令本身的优势点是非常多的,如:

1、通常情况下动态口令是6位数,每1位由“0-9”10个数字组成,所以每个动态口令有100万种变化可能;

2、中科恒伦双因素身份认证系统后台可以设置错误尝试次数,比如3次,当错误超过3次,就会锁定当前账号(默认3分钟后自动解锁),此时服务端拒绝验证动态口令,此时被暴力破解的几率是3/100万;

3、正常动态码1分钟变换1次,所以等3分钟自动解锁后,动态口令已经变成了新的,前面的3次尝试无效,需要从头开始尝试,所以整体被暴力破解几率维持在3/100万;

4、另外默认情况下同一个动态口令只能使用1次,再次使用是无效的,比如我要登录一个系统,拿出或收到动态口令输入系统登录,此时却不小心被其他人看到了动态口令,他拿着我的动态口令去登录我的账号是无法登录的,这就有效杜绝被偷窥风险;

硬件令牌、软件令牌、消息令牌优劣各有千秋硬件令牌优劣:

口令认证的缺点(双因素身份认证动态口令技术原理及优势)(5)

1、完全独立存在,安全性最高;

2、防爆防拆防破解,结实耐用;

3、可随身携带,适用于任何场景(部分严格的机房不让带手机,也没有信号,只有硬件令牌适合);

唯一的缺点就是贵一些!

软件令牌优劣:

口令认证的缺点(双因素身份认证动态口令技术原理及优势)(6)

1、移动端软件,随身携带;

2、动态码实时离线生成,不受网络信号限制,随时用随时看;

3、纯软件,性价比高!

劣势有二:

1、受手机本身的影响,如果没电就无法使用;

2、部分不让带手机的场合无法使用;

消息令牌优劣:

口令认证的缺点(双因素身份认证动态口令技术原理及优势)(7)

1、用户无感知使用,使用上最为方便;

劣势也比较明显:

1、同样受手机本身的影响,如果没电无法使用;

2、受手机信号的影响,信号不好无法使用;

3、安全性相对硬件/软件令牌低一些,因为有密码传输,有被拦截的风险;

所以综合来看,硬件令牌适用于安全级别更高的场景,如内部机房、核心系统或高要求的保密单位等,软件令牌适用于普通企业员工日常办公使用,消息令牌适用于C端互联网用户使用。

另外多说一句,国产化大环境下,动态口令算法一定选择SM3!

,