双因素身份认证动态口令技术原理及优势
Posted 中科恒伦ckey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双因素身份认证动态口令技术原理及优势相关的知识,希望对你有一定的参考价值。
双因素认证技术如今已经广泛应用于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!
以上是关于双因素身份认证动态口令技术原理及优势的主要内容,如果未能解决你的问题,请参考以下文章