一种认证及校准时间的方法

文档序号:7859434阅读:262来源:国知局
专利名称:一种认证及校准时间的方法
技术领域
本发明涉及信息安全领域,特别涉及一种认证及校准时间的方法。
背景技术
时间型OTP (One Time Password,一次性动态口令)以时间做为动态因子,时间的精准程度是一个重要的指标。对于OTP内部频率为32. 768KHZ的时钟晶体来说,一般要求时间漂移每年不得超 过两分钟,但由于引起时间型OTP时间偏移的因素很多,包括令牌时钟不准、用户延迟输入、网络传输过程中的滞后、用户恶意校准等;在现有技术中,一般都采用“根据系统时间与内部时钟时间的偏移量进行校准”的方法。但是采用该方法不能防止恶意的时间校准,容易造成认证失败。综上所述,现有的时间校准方法,容易因多因素引起的时间漂移,从而导致认证失败,特别是对于恶意校准时间就增大了安全风险的可能性。

发明内容
本发明提供了一种认证及校准时间的方法,为了防止硬件令牌被恶意校准,降低认证失败的可能性,提高认证的安全性。为达到上述目的,本发明实施例采用的技术方案如下一种认证及校准时间的方法,具体包括①、校准装置接收客户端发送的第一动态口令和用户标识,根据当前服务器时间计算当前时间因子并确定第一时间因子;②、所述校准装置根据用户标识获取相应的种子,再生成第二动态口令组,将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤④;如果匹配不成功则执行步骤③;③、所述校准装置根据当前时间因子和第一预设值确定第二时间因子,生成第三动态口令组,将所述第三动态口令组中的第三动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤④;如果匹配不成功则提示错误信息,返回步骤①;④、所述校准装置记录当前认证成功的时间和当前时间偏移值,获取上次校准时间,根据所述当前认证成功时间和所述上次校准时间得到第一时间差,判断所述第一时间差是否小于第二预设值,是则执行步骤⑤,否则返回认证成功信息;⑤、所述装置获取基准时间偏移值以及与其对应的时间,判断所述当前时间偏移值是否属于所述基准时间偏移值确定的偏移区间,是则执行步骤⑥;否则返回返回认证成功信息;⑥、所述校准装置更新所述基准时间偏移值,根据所述基准时间偏移值和与其对应的时间计算基准偏移,获取上次认证成功的时间偏移值和与其对应的时间,根据所述上次认证成功的时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移量,判断所述单位偏移量是否属于所述基准偏移确定的区间,是则执行步骤⑦;否则返回认证成功信息;⑦、所述校准装置根据当前时间偏移值更新时钟偏移量,将本次校准时间保存至第一存储位置,将当前时间偏移值和当前认证成功时间保存至第三存储位置并替换其内容,并返回认证成功信息。所述根据当前服务器时间计算当前时间因子并确定第一时间因子,具体包括所述当前服务器时间减去预设起始时间,得到的差值加上所述时钟偏移量再整除时钟周期,得到所述当前时间因子;所述第一时间因子包括所述当前时间因子及前后一个时钟周期的时间因子。
所述生成第二动态口令组,具体为所述校准装置根据所述种子和所述第一时间因子生成第二动态口令组。所述将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,具体包括所述校准装置获取所述第一时间因子中的一个时间因子,根据所述当前第一时间因子、所述种子生成所述第二动态口令组中的一个第二动态口令;所述校准装置判断当前第二动态口令是否与所述第一动态口令相符,如果相符则确定认证成功;如果不相符则返回获取下一个所述第一时间因子;或者,所述校准装置获取全部所述第一时间因子,根据所述第一时间因子、所述种子生成所述第二动态口令组;所述校准装置获取所述第二动态口令组中的一个第二动态口令与所述第一动态口令匹配,如果当前第二动态口令与所述第一动态口令相符,则确定认证成功;如果当前第二动态口令与所述第一动态口令不相符,则从所述第二动态口令组中获取下一个第二动态口令。所述第二时间因子,具体包括同步窗口大小之内且在认证窗口之外的所有时间因子。所述生成第三动态口令组,具体为所述校准装置根据所述种子和所述第二时间因子生成第三动态口令组。所述将所述第三动态口令组中的第三动态口令与所述第一动态口令进行匹配,具体包括所述校准装置获取所述第二时间因子中的一个时间因子,根据所述当前第二时间因子、所述种子生成所述第三动态口令组中的一个第三的动态口令;所述校准装置判断当前第三动态口令是否与所述第一动态口令相符,如果相符则确定认证成功;如果不相符则返回获取下一个所述第二时间因子;或者,所述校准装置获取全部所述第二时间因子,根据所述第二时间因子、所述种子生成所述第三动态口令组;所述校准装置获取所述第三动态口令组中的一个第三动态口令与所述第一动态口令匹配,如果当前第三动态口令与所述第一动态口令相符,则确定认证成功;如果当前第三动态口令与所述第一动态口令不相符,则从所述第三动态口令组中获取下一个第二动态口令。所述第二预设值,具体为预设校准周期,表示进行一次时间校准所需的最小时间。所述基准时间偏移值以及与其对应的时间具体包括第一基准时间偏移值为负向最大偏移值,与其对应的时间为第一时间;第二基准时间偏移值为负向最小偏移值,与其对应的时间为第二时间,第三基准时间偏移值为正向最小偏移值,与其对应的时间为第三时间,第四基准时间偏移值为正向最大偏移值,与其对应的时间为第四时间。
所述判断所述当前时间偏移值是否属于所述基准时间偏移值确定的偏移区间,具体为所述校准装置判断所述当前时间偏移值是否不小于第一基准时间偏移值且不大于第二基准时间偏移值或不小于第三基准时间偏移值且不大于第四基准时间偏移值。所述校准装置更新所述基准时间偏移值,具体包括SI :所述校准装置比较当前时间偏移值与所述基准时间偏移的大小;若当前时间偏移值小于第一基准时间偏移值则执行步骤S2 ;S2 :将当前时间偏移值替换所述第一基准时间偏移值;若当前时间偏移值大于第二基准时间偏移值且小于0,则执行步骤S3 ;S3 :将当前时间偏移值替换所述第二基准时间偏移值;若当前时间偏移值大于O且小于第三基准时间偏移值,则执行步骤S4 ;S4 :将当前时间偏移值替换所述第三基准时间偏移值;若当前时间偏移值大于第四基准时间偏移值,则执行步骤S5 ;S5 :将当前时间偏移值替换所述第四基准时间偏移值。所述根据所述基准时间偏移值和与其对应的时间计算基准偏移,具体包括所述装置将所述第一基准时间偏移值和第四基准时间偏移值的差值与第一时间和第四时间的差值相除得到第一基准偏移;所述装置将所述第二基准时间偏移值和第四基准时间偏移值的差值与第二时间和第三时间的差值相除得到第二基准偏移。所述根据上次认证成功的时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移值,具体包括所述校准装置将当前时间偏移值减去所述上次认证成功的时间偏移值得到第一差值,将本次认证成功时间减去上次认证成功的时间得到第二差值,将第一差值除以第二差值得到所述单位偏移量。所述判断所述单位偏移量是否属于所述基准偏移确定的区间,具体包括所述校准装置比较第一基准偏移和第二基准偏移的大小,若所述第一基准偏移大于第二基准偏移,则判断所述单位偏移量是否不大于所述第一基准偏移且不小于所述第二基准偏移,是则执行步骤⑦;否则结束本次操作;若所述第一基准偏移小于第二基准偏移,则判断所述单位偏移量是否不大于所述第二基准偏移且不小于所述第一基准偏移,是则执行步骤⑦;否则结束本次操作。另一种认证及校准时间的方法,具体包括
①、校准装置接收客户端发送的第一动态口令和用户标识,根据当前服务器时间计算当前时间因子并确定第一时间因子;②、所述校准装置获取所述用户标识相应的种子,生成第二动态口令组,将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤
④;如果匹配不成功则执行步骤③;③、所述校准装置根据当前时间因子和第一预设值确定第二时间因子,生成第三动态口令组,将所述第三动态口 令组中的第三动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤④;如果匹配不成功则提示错误信息,返回步骤①;④、所述校准装置记录当前认证成功的时间和当前时间偏移值,获取上次校准时间,根据所述当前认证成功时间和所述上次校准时间得到第一时间差,判断所述第一时间差是否小于第二预设值,是则执行步骤⑤,否则返回认证成功信息;⑤、所述校准装置获取单位基准偏移和偏移率,根据上次认证成功时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移量;⑥、判断所述单位偏移量是否属于所述基准偏移和所述偏移率确定的区间,是则根据当前时间偏移值更新时钟偏移量,将本次校准时间保存至第一存储位置并替换其中的内容,将当前时间偏移值和当前认证成功时间保存至第三存储位置并替换其中的内容,返回认证成功信息;否则返回认证成功信息。所述根据当前服务器时间计算当前时间因子并确定第一时间因子,具体包括所述当前服务器时间减去预设起始时间,得到的差值加上所述时钟偏移量,再整除时钟周期。所述生成第二动态口令组,具体为所述校准装置根据所述种子和所述第一时间因子生成第二动态口令组。所述将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,具体包括所述校准装置获取所述第一时间因子中的一个时间因子,根据所述当前第一时间因子、所述种子生成所述第二动态口令组中的一个第二动态口令;所述校准装置判断当前第二动态口令是否与所述第一动态口令相符,如果相符则确定认证成功;如果不相符则返回获取下一个所述第一时间因子;或者,所述校准装置获取全部所述第一时间因子,根据所述第一时间因子、所述种子生成所述第二动态口令组;所述校准装置获取所述第二动态口令组中的一个第二动态口令与所述第一动态口令匹配,如果当前第二动态口令与所述第一动态口令相符,则确定认证成功;如果当前第二动态口令与所述第一动态口令不相符,则从所述第二动态口令组中获取下一个第二动态口令。所述第二时间因子,具体包括同步窗口大小之内且在认证窗口之外的所有时间因子。所述生成第三动态口令,具体为所述校准装置根据所述种子和所述第二时间因子生成第三动态口令。所述将所述第三动态口令与所述第一动态口令进行匹配,具体包括
所述校准装置获取所述第二时间因子中的一个时间因子,根据所述当前第二时间因子、所述种子生成所述第三动态口令;所述校准装置判断当前第三动态口令是否与所述第一动态口令相符,如果相符则确定认证成功;如果不相符则返回获取下一个所述第二时间因子;或者,所述校准装置获取全部所述第二时间因子,根据所述第二时间因子、所述种子生成全部所述第三动态口令;所述校准装置将所述第三动态口令与所述第一动态口令一一匹配,如果所述第三动态口令与所述第一动态口令相符,则确定认证成功;如果所述第三动态口令与所述第一动态口令不相符,则获取下一个第三动态口令,执行步骤S2。 所述第二预设值,具体为预设校准周期,表示进行一次时间校准所需的最小时间。所述根据上次认证成功时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移量,具体包括将当前时间偏移值减去上次认证成功时间偏移值得到第三数据,将当前认证时间减去上次认证时间得到第四数据,将所述第三数据除以第四数据得到所述单位偏移量。所述基准偏移和所述基准偏移率确定的第一区间,具体为所述校准装置将所述基准偏移减去所述基准偏移与所述偏移率的乘积得到第一数据,将所述基准偏移加上所述基准偏移与所述偏移率的乘积得到第二数据,确定大于等于第一数据小于等于第二数据的数据属于第一区间;所述判断所述单位偏移量是否属于所述基准偏移和所述偏移率确定的区间,具体包括判断所述单位偏移量是否不小于第一数据且不大于第二数据。本发明的有益效果为通过本发明提供的一种认证及校准时间的方法,能够有效的防止硬件令牌被恶意校准降低认证失败的可能性,提高认证安全。


图I为本发明实施例一提供的一种认证及校准时间的方法流程图;图2为本发明实施例一步骤111的详细流程图;图3为本发明实施例二提供的一种认证及校准时间的方法流程具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了能够防止恶意校准时间,提高校准时间的安全性,本发明提供了一种认证及校准时间的方法。下面将结合附图对本发明实施例作进一步描述。实施例一
参见图1,本发明实施例一提供了一种认证及校准时间的方法,具体步骤如下步骤101 :所述校准装置接收客户端发送的第一动态口令和用户名;步骤102 :所述校准装置根据当前服务器时间计算当前时间因子F,并根据当前时间因子F确定第一时间因子;本实施例中计算当前时间因子F具体为当前服务器时间T减去预设起始时间TO再整除时钟周期;例如,预设起始时间TO为(2012-7-1-00:00:00),当前服务器时间T为(2012-7-5-14:00:15),时钟周期60秒,得到当前时间因子F为6605 ;其中,所述第一时间因子包括当前时间因子及前后一个时钟周期的时间因子,例如当前时间因子F为6605,所述第一时间因子包括6604、6605和6606 ; 优选地,本实施例中,时钟周期为60 ;步骤103 :所述校准装置获取与用户名对应的令牌标识,根据所述令牌标识获取对应的种子,根据所述种子和第一时间因子在认证窗口中生成第二动态口令组;在本实施例中所述令牌标识可以为令牌序列号,所述种子预先存储在装置内;步骤104 :所述校准装置将所述第二动态口令组中的第二动态口令与第一动态口令进行匹配,如果匹配成功则执行步骤107 ;如果匹配不成功则执行步骤105 ;具体地,本实施例中第一时间因具体为子(F-1),F,(F+1);所述校准装置将所述第二动态口令组中的第二动态口令与第一动态口令进行匹配具体为所述校准装置获取所述第一时间因子中的一个时间因子,根据所述当前第一时间因子、所述种子生成所述第二动态口令组中的一个第二动态口令;所述校准装置判断当前第二动态口令是否与所述第一动态口令相等,如果相同则表示匹配成功,如果不相同则返回重新获取第一时间因子中的下一个时间因子;需要说明的是,所述第二动态口令组中的第二动态口令与第一动态口令进行匹配还可以为所述校准装置获取全部第一时间因子,根据所述第一时间因子、所述种子生成所述第二动态口令组;所述校准装置获取所述第二动态口令组中的一个第二动态口令与所述第一动态口令匹配,如果当前第二的动态口令与所述第一动态口令相同则表示匹配成功,如果不相同则返回重新获取一个第二动态口令;步骤105 :所述校准装置根据当前时间因子和第一预设值确定第二时间因子,根据所述种子和第二时间因子在同步窗口中生成第三动态口令组;本实施例中所述第一预设值为同步窗口的大小;优选地,本实施例中第一预设值为10 ;本实施例中所述第二时间因子为同步窗口之内认证窗口之外的时间因子,具体包括(F-2)、 (F-3)、 (F-4)、 (F-5)、 (F-6)、 (F+2) 、 (F+3) 、 (F+4)、 (F+5) 、 (F+6);步骤106 :所述校准装置将所述第三动态口令组中的第三动态口令与第一动态口令进行匹配,如果匹配成功则执行步骤107 ;如果匹配不成功则返回错误信息并结束;所述校准装置将所述第三动态口令组中的第三动态口令与第一动态口令进行匹配具体为所述校准装置获取所述第二时间因子中的一个时间因子,根据所述当前第二时间因子、所述种子生成所述第三动态口令组中的一个第三动态口令;所述校准装置判断当前第三动态口令是否与所述第一动态口令相等,如果相同则表示匹配成功,如果不相同则返回重新获取第二时间因子中的下一个时间因子;
需要说明的是,所述第三动态口令组中的第三动态口令与第一动态口令进行匹配还可以为所述校准装置获取全部第二时间因子,根据所述第二时间因子、所述种子生成所述第三动态口令组;所述校准装置获取所述第三动态口令组中的一个第三动态口令与所述第一动态口令匹配,如果当前第三的动态口令与所述第一动态口令相同则表示匹配成功,如果不相同则返回重新获取一个第三动态口令;步骤107 :所述校准装置记录认证成功的时间和当前时间偏移值;本实施例中,所述时间偏移值指在当前时间因子之外认证成功,令牌内部时钟与认证服务器产生的时间偏差;例如,与第一时间因子(F-I)相对应的第二动态口令与第一动态口令认证成功,则记录当前时间偏移值为-I ;步骤108 :所述校准装置从第一存储位置获取上次校准时间,判断所述 上次校准时间是否为初始值,是则执行步骤110 ;否则执行步骤109 ;步骤109 :所述校准装置将当前认证成功时间减去上次校准时间得到第一时间差,再判断所述第一时间差是否不小于第二预设值,是则执行步骤110 ;否则返回认证成功信息结束本次操作;本实施例中,所述第二预设值指预设校准周期,表示进行一次时间校准所需的最小时间值;步骤110 :所述校准装置从第二存储位置获取基准时间偏移值以及与其对应的时间;具体地,本实施例中所述基准时间偏移值是将认证成功的时间偏移值记录,通过统计多次得到一个负向最大偏移值,将其记为第一基准时间偏移值P1,得到一个负向最小偏移值,将其记为第二基准时间偏移值P2,得到一个正向最小偏移值,将其记为第三基准时间偏移值P3,得到一个正向最大偏移值,将其记为第四基准时间偏移值P4 ;并将并将基准时间偏移值相应的时间分别记为第一时间Tl、第二时间T2、第三时间T3和第四时间T4 ;步骤111 :所述校准装置判断当前时间偏移值P是否不小于第一基准时间偏移值Pl且不大于第二基准时间偏移值P2或不小于第三基准时间偏移值P3且不大于第四基准时间偏移值P4,是则执行步骤113 ;否则执行步骤112 ;步骤112 :所述校准装置更新所述基准时间偏移值,返回认证成功信息并返回步骤 101 ;本实施例中,如图2所示,更新所述基准时间偏移值具体包括A :所述校准装置比较当前时间偏移值P与所述基准时间偏移值的大小;若当前时间偏移值P小于第一基准时间偏移值Pl,则执行步骤B ;B :将当前时间偏移值P替换第一基准时间偏移值Pl ;若当前时间偏移值P大于第二基准时间偏移值P2且小于0,则执行步骤C ;C :将当前时间偏移值P替换第二基准时间偏移值P2 ;若当前时间偏移值P大于O且小于第三基准时间偏移值P3,则执行步骤D ;D :将当前时间偏移值P替换第三基准时间偏移值P3 ;若当前时间偏移值P大于第四基准时间偏移值P4,则执行步骤E ;E :将当前时间偏移值P替换第四基准时间偏移值P4 ;步骤113 :所述校准装置根据基准时间偏移值和与其对应的时间计算基准偏移;
本实施例中基准偏移包括第一基准偏移和第二基准偏移,具体地当前第一基准时间偏移值Pl和当前第四基准时间偏移值P4的差值与第一时间Tl和第四时间T4的差值相除得到第一基准偏移K1,当前第二基准时间偏移值P2和当前第三基准时间偏移值P3的差值与第二时间T2和第三时间T3的差值相除得到第二基准偏移K2 ;步骤114 :所述校准装置获取上次认证成功的时 间偏移值P’和与其对应的时间T’,计算当前时间偏移值P和上次认证成功的时间偏移值P’的差值,记为第一差值,计算上次认证成功的时间T和本次认证成功的时间T’的差值,记为第二差值,将第一差值除以第二差值得到单位偏移量K;其中,所述校准装置从第三存储位置获取上次认证成功的时间偏移值P’和与其对应的时间T’ ;步骤115 :判断所述单位偏移量K是否不大于所述第一基准偏移Kl且不小于所述第二基准偏移K2,是则执行步骤116 ;否则返回认证成功信息结束本次操作;步骤116 :所述校准装置将所述第一校准值乘以单位偏移量K得到第一乘积,根据第一乘积更新时钟偏移量,将本次校准时间保存至第一存储位置,将当前时间偏移值P和当前认证成功时间值T分别存储至第三存储位置并替换上次认证成功时间偏移值P’和与其对应的时间T’,返回认证成功信息结束本次操作;本发明实施例一通过设置四个基准时间偏移值的方法实现时间校准,在本发明其他实施例中还可以使用一个基准时间偏移值的方法实现时间校准,具体流程见实施例二。实施例二参见图3,本发明实施例二提供了一种校准时间的方法,具体步骤如下步骤201 :所述校准装置接收客户端发送的第一动态口令和用户名;步骤202 :所述校准装置根据当前服务器时间计算当前时间因子F,并根据当前时间因子F确定第一时间因子;本实施例中计算当前时间因子F具体为当前服务器时间T减去预设起始时间TO再整除时钟周期;例如,预设起始时间TO为(2012-7-1-00:00:00),当前服务器时间T为(2012-7-5-14:00:15),时钟周期60秒,得到当前时间因子F为6605 ;其中,所述第一时间因子包括当前时间因子及前后一个时钟周期的时间因子,例如当前时间因子F为6605,所述第一时间因子包括6604、6605和6606 ;优选地,本实施例中,时钟周期为60 ;步骤203 :所述校准装置获取与用户名对应的令牌标识,根据所述令牌标识获取所述种子,根据所述种子和第一时间因子在认证窗口中生成第二动态口令组;在本实施例中所述令牌标识可以为令牌序列号,所述种子预先存储在装置内;步骤204 :所述校准装置将所述第二动态口令组中的第二动态口令与第一动态口令进行匹配,如果匹配成功则执行步骤207 ;如果匹配不成功则执行步骤205 ;具体地,本实施例中第一时间因子具体为(F-1),F,(F+1);所述校准装置将所述第二动态口令组中的第二动态口令与第一动态口令进行匹配具体为所述校准装置获取所述第一时间因子中的一个时间因子,根据所述当前第一时间因子、所述种子生成所述第二动态口令组中的一个第二动态口令;所述校准装置判断当前第二动态口令是否与所述第一动态口令相等,如果相同则表示匹配成功,如果不相同则返回重新获取第一时间因子中的下一个时间因子;需要说明的是,所述第二动态口令组中的第二动态口令与第一动态口令进行匹配还可以为所述校准装置获取全部第一时间因子,根据所述第一时间因子、所述种子生成所述第二动态口令组;所述校准装置获取所述第二动态口令组中的一个第二动态口令与所述第一动态口令匹配,如果当前第二的动态口令与所述第一动态口令相同则表示匹配成功,如果不相同则返回重新获取一个第二动态口令;步骤205 :所述校准装置根据当前时间因子和第一预设值确定第二时间因子,根据所述种子和第二时间因子在同步窗口中生成第三动态口令组;本实施例中所述第一预设值为同步窗口的大小;优选地,本实施例中第一预设值为10 ;
本实施例中所述第二时间因子为同步窗口之内认证窗口之外的时间因子,具体包括(F-2)、 (F-3)、 (F-4)、 (F-5)、 (F-6)、 (F+2) 、 (F+3) 、 (F+4)、 (F+5) 、 (F+6);步骤206 :所述校准装置将所述第三动态口令组中的第三动态口令与第一动态口令进行匹配,如果匹配成功则执行步骤207 ;如果匹配不成功则返回错误信息并结束,并返回步骤202 ;所述校准装置将所述第三动态口令组中的第三动态口令与第一动态口令进行匹配具体为所述校准装置获取所述第二时间因子中的一个时间因子,根据所述当前第二时间因子、所述种子生成所述第三动态口令组中的一个第三动态口令;所述校准装置判断当前第三动态口令是否与所述第一动态口令相等,如果相同则表示匹配成功,如果不相同则返回重新获取第二时间因子中的下一个时间因子;需要说明的是,所述第三动态口令组中的第三动态口令与第一动态口令进行匹配还可以为所述校准装置获取全部第二时间因子,根据所述第二时间因子、所述种子生成所述第三动态口令组;所述校准装置获取所述第三动态口令组中的一个第三动态口令与所述第一动态口令匹配,如果当前第三的动态口令与所述第一动态口令相同则表示匹配成功,如果不相同则返回重新获取一个第三动态口令;步骤207 :所述校准装置记录认证成功的时间和当前时间偏移值;本实施例中,所述时间偏移值指在当前时间因子之外认证成功,令牌内部时钟与认证服务器产生的时间偏差;例如,与第一时间因子(F-I)相对应的第二动态口令与第一动态口令认证成功,则记录当前时间偏移值为-I ;步骤208 :所述校准装置从第一存储位置获取上次校准时间,判断所述上次校准时间是否为初始值,是则执行步骤210 ;否则执行步骤209 ;步骤209 :所述校准装置将当前认证成功时间减去上次校准时间得到第一时间差,判断所述第一时间差是否不小于第二预设值,是则执行步骤210 ;否则返回认证成功信息结束本次操作;本实施例中,所述第二预设值指预设校准周期,表示进行一次时间校准所需的最小时间值;步骤210 :所述校准装置从第二存储位置获取单位基准偏移k和偏移率P,将单位基准偏移K减去单位基准偏移K与偏移率P相乘得到的乘积,得到第一数值,将单位基准偏移K加上单位基准偏移K与偏移率P相乘的乘积,得到第二数值;
本实施例中,单位基准偏移K表示;所述偏移率P为允许偏移的最大值;本实施例中所述基准偏移量是将多次认证成功时刻令牌内部时钟的时间与服务器时间的偏移值以及认证成功时对应的时间进行统计并计算得到的;计算方法包括平均值方法,方差方法,但不限于上述方法;步骤211 :所述校准装置从第三存储位置获取上次认证成功时间和对应的时间偏移值,将当前时间偏移值减去上次认证成功时间偏移值得到第三数值,将当前认证时间减去上次认证时间得到第四数值,第三数值与第四数值相除得到单位偏移K’ ;步骤212 :判断所述单位偏移是否不小于第一数值且不大于第二数值;,是则执行步骤213 ;否则返回认证成功信息结束本次操作;步骤213 :将本次认证时间减去上次校准时间得到第二时间差值,将第二差值乘以单位偏移K得到第五数值,根据第五数值更新时钟偏移值; 本实施例中,更新时钟偏移值具体包括步骤214:将本次校准时间保存至第一存储位置,将当前时间偏移值P和本次认证成功时间T保存至第三存储位置并替换第三存储位置的内容,返回认证成功信息结束本次操作;本实施例中,可以先计算单位偏移再计算第一数值、第二数值,步骤209-步骤210可以相应的替换为步骤209’ -步骤210’ 步骤209’ 所述校准装置从第三存储位置获取上次认证成功时间和对应的时间偏移值,将当前时间偏移值减去上次认证成功时间偏移值得到第三数值,将当前认证时间减去上次认证时间得到第四数值,第三数值与第四数值相除得到单位偏移K’ ;步骤210’ 所述校准装置从第二存储位置获取单位基准偏移k和偏移率P,将单位基准偏移K减去单位基准偏移K与偏移率P相乘得到的乘积,得到第一数值,将单位基准偏移K加上单位基准偏移K与偏移率P相乘的乘积,得到第二数值;本实施例中,单位基准偏移K表示;所述偏移率P为允许偏移的最大值;本实施例中所述基准偏移量是将多次认证成功时刻令牌内部始终的时间与服务器时间的偏移值以及认证成功时对应的时间进行统计并计算得到的;计算方法包括平均值方法,方差方法,但不限于上述方法;以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种认证及校准时间的方法,其特征在于,具体包括 ①、校准装置接收客户端发送的第一动态口令和用户标识,根据当前服务器时间计算当前时间因子并确定第一时间因子; ②、所述校准装置根据用户标识获取相应的种子,再生成第二动态口令组,将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤④;如果匹配不成功则执行步骤③; ③、所述校准装置根据当前时间因子和第一预设值确定第二时间因子,生成第三动态口令组,将所述第三动态口令组中的第三动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤④;如果匹配不成功则返回错误信息并结束; ④、所述校准装置记录当前认证成功的时间和当前时间偏移值,获取上次校准时间并判断是否为初始时间值,若为初始时间值则执行步骤⑤;若不为所述初始时间值则根据所述当前认证成功时间和所述上次校准时间得到第一时间差,判断所述第一时间差是否不小于第二预设值,是则执行步骤⑤,否则返回认证成功信息; ⑤、所述装置获取基准时间偏移值以及与其对应的时间,判断所述当前时间偏移值是否属于所述基准时间偏移值确定的偏移区间,是则执行步骤⑥;否则所述校准装置更新所述基准时间偏移值,返回认证成功信息; ⑥、所述校准装置根据所述基准时间偏移值和与其对应的时间计算基准偏移,获取上次认证成功的时间偏移值和与其对应的时间,根据所述上次认证成功的时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移量,判断所述单位偏移量是否属于所述基准偏移确定的区间,是则执行步骤⑦;否则返回认证成功信息; ⑦、所述校准装置根据当前时间偏移值更新时钟偏移量,将本次校准时间保存至第一存储位置,用当前时间偏移值和当前认证成功时间更新第三存储位置的内容,并返回认证成功信息。
2.如权利要求I所述的方法,其特征在于,所述根据当前服务器时间计算当前时间因子并确定第一时间因子,具体包括 所述当前服务器时间减去预设起始时间,得到的差值加上所述时钟偏移量再整除时钟周期,得到所述当前时间因子; 所述第一时间因子包括所述当前时间因子及前后一个时钟周期的时间因子。
3.如权利要求I所述的方法,其特征在于,所述生成第二动态口令组,具体为 所述校准装置根据所述种子和所述第一时间因子生成第二动态口令组。
4.如权利要求I所述的方法,其特征在于,所述将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,具体包括 SI:所述校准装置获取所述第一时间因子中的一个时间因子,根据所述当前第一时间因子、所述种子生成所述第二动态口令组中的一个第二动态口令; S2:所述校准装置判断当前第二动态口令是否与所述第一动态口令相符,如果相符则确定匹配成功;如果不相符则返回步骤SI获取下一个所述第一时间因子; 或者, Si:所述校准装置获取全部所述第一时间因子,根据所述第一时间因子、所述种子生成所述第二动态口令组;S2 :所述校准装置获取所述第二动态口令组中的一个第二动态口令与所述第一动态口令匹配,如果当前第二动态口令与所述第一动态口令相符,则确定匹配成功;如果当前第二动态口令与所述第一动态口令不相符,则执行步骤S2从所述第二动态口令组中获取下一个第二动态口令。
5.如权利要求I所述的方法,其特征在于,所述第二时间因子,具体包括同步窗口大小之内且在认证窗口之外的所有时间因子。
6.如权利要求I所述的方法,其特征在于,所述生成第三动态口令组,具体为 所述校准装置根据所述种子和所述第二时间因子生成第三动态口令组。
7.如权利要求I所述的方法,其特征在于,所述将所述第三动态口令组中的第三动态口令与所述第一动态口令进行匹配,具体包括 Si:所述校准装置获取所述第二时间因子中的一个时间因子,根据所述当前第二时间因子、所述种子生成所述第三动态口令组中的一个第三的动态口令; S2:所述校准装置判断当前第三动态口令是否与所述第一动态口令相符,如果相符则确定匹配成功;如果不相符则返回步骤SI获取下一个所述第二时间因子; 或者, Si:所述校准装置获取全部所述第二时间因子,根据所述第二时间因子、所述种子生成所述第三动态口令组; S2 :所述校准装置获取所述第三动态口令组中的一个第三动态口令与所述第一动态口令匹配,如果当前第三动态口令与所述第一动态口令相符,则确定匹配成功;如果当前第三动态口令与所述第一动态口令不相符,则执行步骤S2从所述第三动态口令组中获取下一个动态口令。
8.如权利要求I所述的方法,其特征在于,所述第二预设值,具体为 预设校准周期,表示进行一次时间校准所需的最小时间值。
9.如权利要求I所述的方法,其特征在于,所述基准时间偏移值以及与其对应的时间具体包括 第一基准时间偏移值为负向最大偏移值,与其对应的时间为第一时间;第二基准时间偏移值为负向最小偏移值,与其对应的时间为第二时间,第三基准时间偏移值为正向最小偏移值,与其对应的时间为第三时间,第四基准时间偏移值为正向最大偏移值,与其对应的时间为第四时间。
10.如权利要求9所述的方法,其特征在于,所述判断所述当前时间偏移值是否属于所述基准时间偏移值确定的偏移区间,具体为 所述校准装置判断所述当前时间偏移值是否不小于第一基准时间偏移值且不大于第二基准时间偏移值或不小于第三基准时间偏移值且不大于第四基准时间偏移值。
11.如权利要求I所述的方法,其特征在于,所述校准装置更新所述基准时间偏移值,具体包括 Si:所述校准装置比较当前时间偏移值与所述基准时间偏移的大小; 若当前时间偏移值小于第一基准时间偏移值则执行步骤S2 ; S2:将当前时间偏移值替换所述第一基准时间偏移值; 若当前时间偏移值大于第二基准时间偏移值且小于0,则执行步骤S3 ;53:将当前时间偏移值替换所述第二基准时间偏移值; 若当前时间偏移值大于O且小于第三基准时间偏移值,则执行步骤S4 ; 54:将当前时间偏移值替换所述第三基准时间偏移值; 若当前时间偏移值大于第四基准时间偏移值,则执行步骤S5 ; 55:将当前时间偏移值替换所述第四基准时间偏移值。
12.如权利要求I所述的方法,其特征在于,所述根据所述基准时间偏移值和与其对应的时间计算基准偏移,具体包括 所述装置将当前第一基准时间偏移值和当前第四基准时间偏移值的差值与第一时间和第四时间的差值相除得到第一基准偏移;所述装置将当前第二基准时间偏移值和当前第三基准时间偏移值的差值与第二时间和第三时间的差值相除得到第二基准偏移。
13.如权利要求I所述的方法,其特征在于,所述根据上次认证成功的时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移值,具体包括 所述校准装置将当前时间偏移值减去所述上次认证成功的时间偏移值得到第一差值,将本次认证成功时间减去上次认证成功的时间得到第二差值,将第一差值除以第二差值得到所述单位偏移量。
14.如权利要求I所述的方法,其特征在于,所述判断所述单位偏移量是否属于所述基准偏移确定的区间,具体包括 所述校准装置比较第一基准偏移和第二基准偏移的大小, 若所述第一基准偏移大于第二基准偏移,则判断所述单位偏移量是否不大于所述第一基准偏移且不小于所述第二基准偏移,是则执行步骤⑦;否则结束本次操作; 若所述第一基准偏移小于第二基准偏移,则判断所述单位偏移量是否不大于所述第二基准偏移且不小于所述第一基准偏移,是则执行步骤⑦;否则结束本次操作。
15.一种认证及校准时间的方法,其特征在于,具体包括 ①、校准装置接收客户端发送的第一动态口令和用户标识,根据当前服务器时间计算当前时间因子并确定第一时间因子; ②、所述校准装置获取所述用户标识相应的种子,生成第二动态口令组,将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤④;如果匹配不成功则执行步骤③; ③、所述校准装置根据当前时间因子和第一预设值确定第二时间因子,生成第三动态口令组,将所述第三动态口令组中的第三动态口令与所述第一动态口令进行匹配,如果匹配成功则执行步骤④;如果匹配不成功则返回错误信息并结束; ④、所述校准装置记录当前认证成功的时间和当前时间偏移值,获取上次校准时间并判断是否为初始时间值,若为初始时间值则执行步骤⑤;若不为所述初始时间值则根据所述当前认证成功时间和所述上次校准时间得到第一时间差,判断所述第一时间差是否不小于第二预设值,是则执行步骤⑤,否则返回认证成功信息; ⑤、所述校准装置获取单位基准偏移和偏移率,根据上次认证成功时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移量; ⑥、判断所述单位偏移量是否属于所述基准偏移和所述偏移率确定的区间,是则根据当前时间偏移值更新时钟偏移量,将本次校准时间保存至第一存储位置并替换其中的内容,用当前时间偏移值和当前认证成功时间更新第三存储位置的内容,返回认证成功信息;否则返回认证成功信息。
16.如权利要求15所述的方法,其特征在于,所述根据当前服务器时间计算当前时间因子并确定第一时间因子,具体包括 所述当前服务器时间减去预设起始时间,得到的差值加上所述时钟偏移量,再整除时钟周期。
17.如权利要求15所述的方法,其特征在于,所述生成第二动态口令组,具体为 所述校准装置根据所述种子和所述第一时间因子生成第二动态口令组。
18.如权利要求15所述的方法,其特征在于,所述将所述第二动态口令组中的第二动态口令与所述第一动态口令进行匹配,具体包括 51:所述校准装置获取所述第一时间因子中的一个时间因子,根据所述当前第一时间因子、所述种子生成所述第二动态口令组中的一个第二动态口令; S2:所述校准装置判断当前第二动态口令是否与所述第一动态口令相符,如果相符则确定匹配成功;如果不相符则返回步骤SI获取下一个所述第一时间因子; 或者, Si:所述校准装置获取全部所述第一时间因子,根据所述第一时间因子、所述种子生成所述第二动态口令组; 52:所述校准装置获取所述第二动态口令组中的一个第二动态口令与所述第一动态口令匹配,如果当前第二动态口令与所述第一动态口令相符,则确定匹配成功;如果当前第二动态口令与所述第一动态口令不相符,则执行步骤S2从所述第二动态口令组中获取下一个第二动态口令。
19.如权利要求15所述的方法,其特征在于,所述第二时间因子,具体包括 同步窗口大小之内且在认证窗口之外的所有时间因子。
20.如权利要求15所述的方法,其特征在于,所述生成第三动态口令,具体为 所述校准装置根据所述种子和所述第二时间因子生成第三动态口令。
21.如权利要求15所述的方法,其特征在于,所述将所述第三动态口令与所述第一动态口令进行匹配,具体包括 51:所述校准装置获取所述第二时间因子中的一个时间因子,根据所述当前第二时间因子、所述种子生成所述第三动态口令; 52:所述校准装置判断当前第三动态口令是否与所述第一动态口令相符,如果相符则确定匹配成功;如果不相符则返回步骤S2获取下一个所述第二时间因子; 或者, Si:所述校准装置获取全部所述第二时间因子,根据所述第二时间因子、所述种子生成全部所述第三动态口令; S2:所述校准装置将所述第三动态口令与所述第一动态口令一一匹配,如果所述第三动态口令与所述第一动态口令相符,则确定匹配成功;如果所述第三动态口令与所述第一动态口令不相符,则获取下一个动态口令,执行步骤S2。
22.如权利要求15所述的方法,其特征在于,所述第二预设值,具体为 预设校准周期,表示进行一次时间校准所需的最小时间值。
23.如权利要求15所述的方法,其特征在于,所述根据上次认证成功时间偏移值和与其对应的时间以及当前时间偏移值和与其对应的时间计算单位偏移量,具体包括 将当前时间偏移值减去上次认证成功时间偏移值得到第三数据,将当前认证时间减去上次认证时间得到第四数据,将所述第三数据除以第四数据得到所述单位偏移量。
24.如权利要求15所述的方法,其特征在于,所述基准偏移和所述基准偏移率确定的第一区间,具体为 所述校准装置将所述基准偏移减去所述基准偏移与所述偏移率的乘积得到第一数据,将所述基准偏移加上所述基准偏移与所述偏移率的乘积得到第二数据,确定大于等于第一数据小于等于第二数据的数据属于第一区间; 所述判断所述单位偏移量是否属于所述基准偏移和所述偏移率确定的区间,具体包括 判断所述单位偏移量是否不小于第一数据且不大于第二数据。
全文摘要
本发明公开了一种认证及校准时间的方法,属于信息安全领域。该方法包括以下步骤接收客户端发送的口令及相关信息,获取相关信息并生成动态口令进行匹配,再根据预存的预设时间判断是否符合预设条件,若符合根据基准时间偏移值计算偏移率判断当是否满足校准条件,若符合则校准时间偏移值返回认证成功信息,若不符合则直接返回认证成功信息。本发明通过设置预设时间进行判断是否进行校准,能够有效的防止硬件令牌被恶意校准降低认证失败的可能性,提高认证安全。
文档编号H04L9/32GK102868529SQ20121032004
公开日2013年1月9日 申请日期2012年8月31日 优先权日2012年8月31日
发明者陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1