System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及安全,尤其涉及一种基于掩码技术的动态令牌认证方法及系统。
技术介绍
1、动态口令是根据预设算法生成一个不可预测的随机数字组合,一个密码使用一次有效,被广泛运用在网银、网游、电信运营商、电子政务、企业等应用领域,动态令牌是生成动态口令的终端。
2、现有技术中,动态令牌生成的动态口令通常为6-8位的数字组合,虽然该数字组合难以预测,但由于动态口令均为明文显示,一旦动态令牌被他人获取,只要获取者得知用户id即可通过认证及执行系列关键系统操作,对于一些重要场景,例如金融大额转账、企业税务操作、军工机密文件、航空航天、核领域数据管理等场合,动态令牌常用在核心系统,一旦丢失、失窃和外泄,其损失将是灾难性的,须尽快实现现有技术升级迭代,杜绝安全隐患。
技术实现思路
1、本申请实施例提供了一种基于掩码技术的动态令牌认证方法及系统,以解决动态令牌遗失、窃取或盗用带来的认证安全性差的技术问题。
2、第一方面,本申请提供一种基于掩码技术的动态令牌认证方法,包括:
3、获取用户基于动态令牌中的阵列表发送的认证请求;所述认证请求包括用户id及待认证密码;所述阵列表为以m×n个字符组成的字符串矩阵;
4、响应于所述认证请求,调取与所述用户id对应的动态令牌的偏移量;所述偏移量为服务器端与动态令牌基于相同的加密因子生成相同阵列表时的时间偏移值;
5、基于所述偏移量生成一组当前时刻的阵列表所需字符串以及若干组位于当前时刻之前及当前时刻之后的阵列
6、判断所述待认证密码是否为多个验证密码中的一个,若是,则认证成功。
7、在一些实施例中,调取与所述用户id对应的动态令牌的偏移量之后,所述方法还包括:
8、根据所述偏移量以及认证窗口的时间范围确定生成阵列表所需字符串的组数,其中,所述认证窗口的时间范围包括当前时刻对应的中心点时间,以及位于中心点两侧、且容纳第一偏移值的小窗口、容纳第二偏移值的中窗口和容纳第三偏移值的大窗口;所述第一偏移值小于第二偏移值、且第二偏移值小于第三偏移值;
9、阵列表所需字符串的组数c1=w×2+1,其中w为所述偏移量所在的窗口对应容纳的偏移值。
10、在一些实施例中,判断所述待认证密码是否为多个验证密码中的一个的步骤还包括:
11、若否,则获取所述偏移量所处的认证窗口;
12、当所述偏移量位于小窗口或中窗口时,执行时间校准;
13、保存执行时间校准后的新的偏移量,作为下一次认证时与所述用户id对应的动态令牌的偏移量。
14、在一些实施例中,当所述偏移量位于大窗口中时,生成用于提示动态令牌作废的信息发送用户。
15、在一些实施例中,位于当前时刻之前或当前时刻之后的阵列表所需字符串的组数为认证窗口中大窗口容纳的第三偏移值;其中,所述认证窗口的时间范围包括当前时刻对应的中心点时间,以及位于中心点两侧、且容纳第一偏移值的小窗口、容纳第二偏移值的中窗口和容纳第三偏移值的大窗口;所述第一偏移值小于第二偏移值、且第二偏移值小于第三偏移值。
16、在一些实施例中,判断所述待认证密码是否为多个验证密码中的一个的步骤还包括:
17、若是,则获取所述偏移量所处的认证窗口;
18、若当前偏移量所处的认证窗口与调取的与所述用户id对应的偏移量所处的认证窗口不同,则执行时间校准;
19、保存执行时间校准后的新的偏移量,作为下一次认证时与所述用户id对应的动态令牌的偏移量。
20、在一些实施例中,判断所述待认证密码是否为多个验证密码中的一个的步骤还包括:
21、若否,生成用于提示动态令牌作废的信息发送用户。
22、在一些实施例中,所述执行时间校准的步骤包括:
23、连续获取两次用户在不同时刻基于动态令牌输入的待认证密码;
24、生成用于校准的阵列表所需字符串,所述阵列表所需字符串的组数c2=b×2+1;其中b为第三偏移值;
25、判断两次待认证密码是否为用于校准的阵列表所需字符串对应的所有验证密码之中的相邻两个;
26、若是,则将相邻两个验证密码中时间靠前的验证密码对应的偏移量确定为新的偏移量。
27、在一些实施例中,所述方法还包括:
28、若否,则重新执行所述执行时间校准的步骤;
29、获取执行时间校准的次数,当次数大于预设阈值时,生成用于提示动态令牌作废的信息发送用户。
30、在一些实施例中,所述预设定位规则在动态令牌初始化时设定,或者,在认证成功后设定,设定方法包括:
31、获取用户输入的规则设定请求;所述规则设定请求中包括用户根据至少两个不同时刻对应的阵列表输入的密码组;
32、解析所有所述密码组,若所有密码组对应唯一的定位规则,则将解析出的定位规则确定为预设定位规则。
33、在一些实施例中,获取用户基于动态令牌中的阵列表发送的认证请求之前,所述方法还包括:
34、根据用户发送的切换指令,在动态令牌上显示至少两种不同样式的阵列表;所述不同样式的阵列表对应不同的用户身份或系统,所述用户身份包括管理员和普通用户。
35、第二方面,本申请还提供了一种用于执行第一方面所述方法的系统,包括:
36、用户模块,被配置为存储用户id及对应的动态令牌标识;
37、动态令牌模块,被配置为存储动态令牌的预设定位规则和偏移量;
38、定位规则设定模块,被配置为在动态令牌初始化时设定,或者,在认证成功后根据设定请求设定预设定位规则;
39、安全策略模块,被配置为设定生成阵列表的密码规则;所述密码规则包括字符类别、字符长度、图形密码长度及认证窗口的时间范围;
40、生成模块,被配置为根据认证请求生成符合认证窗口时间范围的阵列表所需字符串;
41、计算模块,被配置为解析用户输入的密码组,得到预设定位规则,以及根据预设定位规则解析得到验证密码;
42、对比模块,被配置为判断所述待认证密码是否为多个验证密码中的一个,若是,则认证成功,若否,则获取所述偏移量所处的认证窗口;当所述偏移量位于小窗口或中窗口时,执行时间校准;当所述偏移量位于大窗口中时,生成用于提示动态令牌作废的信息发送用户;
43、时间校准模块,被配置为连续获取两次用户在不同时刻基于动态令牌输入的待认证密码;生成用于校准的阵列表所需字符串,所述阵列表所需字符串的组数c2=b×2+1;其中b为第三偏移值;判断两次待认证密码是否为用于校准的阵列表所需字符串对应的所有验证密码之中的相邻两个;若是,则将相邻两个验证密码中时间靠前的验证密码对应的偏移量确定本文档来自技高网...
【技术保护点】
1.一种基于掩码技术的动态令牌认证方法,应用于服务器端,其特征在于,所述方法包括:
2.根据权利要求1所述的基于掩码技术的动态令牌认证方法,其特征在于,调取与所述用户ID对应的动态令牌的偏移量之后,所述方法还包括:
3.根据权利要求2所述的基于掩码技术的动态令牌认证方法,其特征在于,判断所述待认证密码是否为多个验证密码中的一个的步骤还包括:
4.根据权利要求1所述的基于掩码技术的动态令牌认证方法,其特征在于,位于当前时刻之前或当前时刻之后的阵列表所需字符串的组数为认证窗口中大窗口容纳的第三偏移值;其中,所述认证窗口的时间范围包括当前时刻对应的中心点时间,以及位于中心点两侧、且容纳第一偏移值的小窗口、容纳第二偏移值的中窗口和容纳第三偏移值的大窗口;所述第一偏移值小于第二偏移值、且第二偏移值小于第三偏移值。
5.根据权利要求4所述的基于掩码技术的动态令牌认证方法,其特征在于,判断所述待认证密码是否为多个验证密码中的一个的步骤还包括:
6.根据权利要求3或5所述的基于掩码技术的动态令牌认证方法,其特征在于,所述执行时间校准的步
7.根据权利要求6所述的基于掩码技术的动态令牌认证方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的基于掩码技术的动态令牌认证方法,其特征在于,所述预设定位规则在动态令牌初始化时设定,或者,在认证成功后设定,设定方法包括:
9.根据权利要求1所述的基于掩码技术的动态令牌认证方法,其特征在于,获取用户基于动态令牌中的阵列表发送的认证请求之前,所述方法还包括:
10.一种基于掩码技术的动态令牌认证系统,用于执行权利要求1至9中任意一项所述的方法,其特征在于,所述系统包括:
...【技术特征摘要】
1.一种基于掩码技术的动态令牌认证方法,应用于服务器端,其特征在于,所述方法包括:
2.根据权利要求1所述的基于掩码技术的动态令牌认证方法,其特征在于,调取与所述用户id对应的动态令牌的偏移量之后,所述方法还包括:
3.根据权利要求2所述的基于掩码技术的动态令牌认证方法,其特征在于,判断所述待认证密码是否为多个验证密码中的一个的步骤还包括:
4.根据权利要求1所述的基于掩码技术的动态令牌认证方法,其特征在于,位于当前时刻之前或当前时刻之后的阵列表所需字符串的组数为认证窗口中大窗口容纳的第三偏移值;其中,所述认证窗口的时间范围包括当前时刻对应的中心点时间,以及位于中心点两侧、且容纳第一偏移值的小窗口、容纳第二偏移值的中窗口和容纳第三偏移值的大窗口;所述第一偏移值小于第二偏移值、且第二偏移值小于第三偏移值。
5.根...
【专利技术属性】
技术研发人员:孙冠桦,刘恒玉,徐永胜,黄郡,
申请(专利权)人:大连秘阵科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。