双因素身份认证动态口令技术原理及优势

宁可枝头抱香死,何曾吹落北风中。这篇文章主要讲述双因素身份认证动态口令技术原理及优势相关的知识,希望能为你提供帮助。

双因素认证技术如今已经广泛应用于C端用户和B端用户,双因素认证类型包含动态口令、生物识别、U盘证书等,由于动态口令的全场景兼容性和使用的便捷性,应用最为广泛,最常见的就是短信验证码,短信验证码就是动态口令的一种。
动态口令除了有短信验证码,还有硬件令牌、软件令牌(APP令牌、微信/企微小程序令牌、钉钉小程序令牌、飞书小程序令牌、H5令牌)等,其中硬件令牌和软件令牌技术原理一样,短信验证码属于消息令牌,消息令牌的技术原理会有所不同,接下来就详细剖析下这两类令牌的技术原理。
硬件令牌和软件令牌这类令牌通常每60s自动变换1次,令牌端根据加密算法、唯一识别号和当前时间三种要素自动生成6位随机数字(也可以是4位),在服务端,也有同样的加密算法、唯一识别号和时间,以此生成同样的动态口令,验证通过;

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

1.Netscaler通过Radius协议访问CKEY  1812端口完成对接;
2.Netscaler通过LDAP协议访问AD同步账号;
3.CKEY通过LDAP协议访问AD  389端口同步账号和对应的手机号;
4.CKEY调用短信网关接口发送短信;
访问流程
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次,再次使用是无效的,比如我要登录一个系统,拿出或收到动态口令输入系统登录,此时却不小心被其他人看到了动态口令,他拿着我的动态口令去登录我的账号是无法登录的,这就有效杜绝被偷窥风险;
硬件令牌、软件令牌、消息令牌优劣各有千秋硬件令牌优劣:
1、完全独立存在,安全性最高;
2、防爆防拆,结实耐用;
3、可随身携带,适用于任何场景(部分严格的机房不让带手机,也没有信号,只有硬件令牌适合);
唯一的缺点就是贵一些!
软件令牌优劣:
1、移动端软件,随身携带;
2、动态码实时离线生成,不受网络信号限制,随时用随时看;
3、纯软件,性价比高!
劣势有二:
1、受手机本身的影响,如果没电就无法使用;
2、部分不让带手机的场合无法使用;
消息令牌优劣:
1、用户无感知使用,使用上最为方便;
劣势也比较明显:
1、同样受手机本身的影响,如果没电无法使用;
2、受手机信号的影响,信号不好无法使用;
3、安全性相对硬件/软件令牌低一些,因为有密码传输,有被拦截的风险;
所以综合来看,硬件令牌适用于安全级别更高的场景,如内部机房、核心系统或高要求的保密单位等,软件令牌适用于普通企业员工日常办公使用,消息令牌适用于C端互联网用户使用。
另外多说一句,国产化大环境下,动态口令算法一定选择SM3!

    推荐阅读