校正动态口令令牌温漂的方法和动态口令令牌的制作方法

文档序号:7516997阅读:350来源:国知局
专利名称:校正动态口令令牌温漂的方法和动态口令令牌的制作方法
技术领域
本发明属于信息安全领域,尤其涉及一种校正动态口令令牌温漂的方法和动态口 令令牌。
背景技术
实时时钟RTC (Real-Time Clock)是一个由晶体控制精度的,向主系统提供 B⑶(Binary-Coded Decimal)码表示的时间和日期的器件,RTC的基本功能是保持跟踪 时间和日期等信息,晶体振荡器在固定频率中能够提供较高的精度,大多数的RTC采用 32. 768KHZ的晶体,晶体振荡器输出经过分频后会产生1HZ的基准来刷新时间和日期。RTC 的精度主要取决于晶体振荡器的精度。在以时间作为动态因子的动态口令令牌中,对动态口令令牌的时间的漂移要求为 每年不得超过2分钟,即要小于5ppm,而产生时间漂移的原因在于动态口令令牌内部的频 率为32. 768KHz的时钟晶体,该时钟晶体在温度变化时,晶体的晶振频率将会呈现抛物线 趋势的变化,而23ppm的温漂大约每月会产生1分钟的时钟误差或者更大的时钟误差,因 此,需对动态口令令牌由于温漂产生的时钟误差进行校正。

发明内容
本发明提供了一种校正动态口令令牌温漂的方法,技术方案如下一种校正动态口令令牌温漂的方法,其中,所述动态口令令牌根据时间值及动态 因子的变化时间步长得到动态因子,根据所述动态因子生成并显示动态口令,所述方法包 括动态口令令牌以第一预设时间为间隔来检测所述动态口令令牌当前所处环境的
温度;所述动态口令令牌根据所述检测到的温度查找数据表,得到所述检查到的温度对 应的特征值;所述动态口令令牌以第二预设时间为间隔,根据所述特征值对所述动态口令令牌 内的当前时间值进行校正。所述第一预设时间是自定义的,所述动态口令令牌通过定时器定时的方式或轮询 标志位的方式来实现以第一预设时间为间隔检测所述动态口令令牌当前所处环境的温度。所述动态口令令牌根据所述检测到的温度查找数据表,得到所述检查到的温度对 应的特征值包括所述动态口令令牌根据所述检测到的温度查找数据表,并判断是否能够查找得到 所述检测到的温度对应的特征值,如果不能查找得到,则根据所述检测到的温度及所述数据表计算所述检测到的温 度对应的特征值。根据所述检测到的温度及所述数据表计算所述检测到的温度对应的特征值包
6括所述动态口令令牌根据所述检测到的温度查找所述数据表,得到第一温度和第二 温度及所述第一温度和第二温度对应的第一特征值和第二特征值,所述动态口令令牌根据 查找得到的上述数据及所述检测到的温度按照第一预设公式计算所述检测到的温度对应 的特征值;其中,所述第一预设公式为 所述数据表是预先存储在所述动态口令令牌内部的;所述数据表中的数据为所述动态口令令牌内晶体振荡器所采用的晶体在不同温 度下的晶振频率、晶体在不同温度下的频率稳定度或晶体在不同温度下的第一预设时间内 的时间偏差;则,所述检测到的温度对应的特征值为晶振频率、频率稳定度或第一预设时间内的时 间偏差。当所述特征值为第一预设时间的时间偏差时,所述动态口令令牌以第二预设时间 为间隔,根据所述特征值对当前时间值进行校正的方法包括所述动态口令令牌在第二预设时间到时,将当前第一预设时间内的时间偏差与之 前第二预设时间到时得到的第一预设时间内的时间偏差进行累加计算,得到所述动态口令 令牌的当前累计时间偏差;所述动态口令令牌判断所述当前累计时间偏差是小于、等于、大于预定值的哪一 种,如果是小于,则返回到动态口令令牌以第一预设时间为间隔来检测所述动态口令 令牌当前所处环境的温度的步骤;如果是等于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时 间值,并将当前累计时间偏差清零;如果是大于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时 间值,并将当前累计时间偏差中多于所述预定值的部分作为下次进行累加计算时的基数。当所述特征值为晶振频率时,所述动态口令令牌以第二预设时间为间隔,根据所 述特征值对所述动态口令令牌的当前时间值进行校正的方法还包括所述动态口令令牌根据所述晶振频率及晶振标准频率计算得到所述环境温度下 的晶振频率偏差;所述动态口令令牌将所述计算得到的晶振频率偏差转换为时间值,所述转换得到 的时间值为当前1秒内的时间偏差。所述动态口令令牌根据所述当前1秒内的时间偏差按照第二预设公式计算得到 所述第一预设时间内的时间偏差;所述动态口令令牌在第二预设时间到时,将当前计算得到的第一预设时间内的时 间偏差与之前第二预设时间到时得到的第一预设时间内的时间偏差进行累加计算,得到所 述动态口令令牌的当前累计时间偏差;
所述动态口令令牌判断所述当前累计时间偏差是小于、等于、大于预定值的哪一 种,如果是小于,则返回到动态口令令牌以第一预设时间为间隔来检测所述动态口令 令牌当前所处环境的温度的步骤;如果是等于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时 间值,并将当前累计时间偏差清零;如果是大于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时 间值,并将所述累计时间偏差中多于所述预定值的部分作为下次进行累计计算时的基数。 所述第二预设公式具体为
第一预设时间间隔内的时间偏差(i+第一预设时间)。
晶振标准频率当所述特征值为频率稳定度时,所述动态口令令牌以第二预设时间为间隔,根据 所述特征值对当前时间值进行校正的方法还包括所述动态口令令牌将所述频率稳定度转换为时间值,所述转换得到的时间值为当 前1秒内的时间偏差。所述动态口令令牌根据所述当前1秒内的时间偏差按照第三预设公式计算得到 所述第一预设时间内的时间偏差;所述动态口令令牌在第二预设时间到时,将当前计算得到的第一预设时间内的时 间偏差与之前第二预设时间到时得到的第一时间间隔内的时间偏差进行累加计算,得到所 述动态口令令牌的当前累计时间偏差;所述动态口令令牌判读所述当前累计时间偏差是小于、等于、大于预定值的哪一 种,如果是小于,则返回到动态口令令牌以第一预设时间为间隔来检测所述动态口令 令牌当前所处环境的温度的步骤;如果是等于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时 间值,并将当前累计时间偏差清零;如果是大于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时 间值,并将所述累计时间偏差中多于所述预定值的部分作为下次进行累加计算时的基数。所述第三预设公式具体为第一预设时间间隔=频率稳定度*(1+第一预设时 间)*1(T6。所述第一预设时间和所述第二预设时间是相同的。所述动态口令令牌以第二预设时间为间隔,根据所述特征值对所述动态口令令牌 内的当前时间值进行校正的方法还包括在第二预设时间到时,所述动态口令令牌将所述特征值转换为调整值;所述动态口令令牌将所述调整值写入到时间调整寄存器;所述时间调整寄存器在所述第二预设时间到时根据所述调整值改变当前时钟脉 冲的时钟计数值,来对当前时间值进行校正;所述第二预设时间具体为1分钟。
8
一种动态口令令牌,所述动态口令令牌包括定时器模块,用于在第一预设时间到时开启检测模块检测所述动态口令令牌当前 所处环境的温度;检测模块,用于在所述定时器模块计时达到所述第一预设时间时,检测所述动态 口令令牌当前所处环境的温度,并触发查询模块进行数据查询;表存储模块,用于存储实时时钟晶体在不同温度下的特征值;查询模块,用于根据所述检测模块检测到的所述动态口令令牌当前所处环境的温 度在表存储模块中查找所述检测到的温度对应的特征值;校正模块,用于根据所述特征值对所述动态口令令牌内的当前时间值进行校正;触发模块,用于触发生成模块生成动态口令;生成模块,用于被所述触发模块触动后,提取所述动态口令令牌的当前时间值,并 根据所述提取的时间值及动态因子的变化时间步长来生成动态口令;显示模块,用于显示或关闭显示所述生成模块生成的所述动态口令。所述查询模块包括查询单元,用于根据所述检测模块检测到的温度在所述表存储模块中查找所述检 测到的温度对应的特征值,并判断是否能够查找得到所述特征值;第一计算单元,用于当所述查询单元的查询结果为不能时,计算所述检测到的温 度对应的特征值。所述校正模块包括第二计算单元,用于根据所述查询模块得到的特征值,计算所述动态口令令牌的 当前累计时间偏差;判断单元,用于判断第二计算单元计算得到的当前累计时间偏差是否达到预定 值;第一校正单元,用于当所述判断单元的判断结果为是时,将所述动态口令令牌的 当前时间值加上所述预定值,得到校正后的时间值。所述校正模块还包括转换单元,用于将所述查询模块得到的特征值转换为调整值;第二校正单元,用于根据所述调整值改变所述动态口令令牌的当前时钟脉冲的时 钟计数值,对当前时间值进行校正。所述检测到的温度对应的特征值包括晶振频率、频率稳定度或所述第一预设时间 内的时间偏差。有益效果以固定的时间间隔来监控动态口令令牌所处环境的温度,并根据晶体 随温度变化的特征值计算不同温度下的累计时间偏差,在固定时间间隔内根据所述时间偏 差对动态口令令牌温漂进行校正后,使得动态口令令牌在高、低温环境下的时钟偏差得到 有效的改善,改善效果明显。


图1是本发明实施例提供的32. 768KHZ晶体的温漂曲线图;图2是本发明实施例提供的一种校正动态口令令牌温漂的方法流程图3是本发明实施例提供的另一种校正动态口令令牌温漂的方法流程图;图4是本发明实施例提供的一种动态口令令牌。 图5是本发明实施例提供的一种动态口令令牌。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述实施例1本发明实施例提供了一种校正动态口令令牌温漂的方法,需要说明的是本发明 实施例提供的动态口令令牌内部存储有32. 768KHZ的晶体振荡器在不同温度下的特征值, 即晶振频率(如表1所示),其中,表1中的数据是经过反复试验得出的,进一步地,为了提 高试验精度,在进行试验的过程中,可以选择更密集的试验温度来测试晶体振荡器的晶振频率。表1 :32. 786KHZ晶体振荡器在不同温度下的晶振频率(单位HZ) 为了更直观的体现晶体振荡器的晶振频率随温度的变化趋势,我们将表1中的数 据以曲线图的形式展示(如图1所示),从图1中可以清楚的看到晶体振荡器的晶振频率会 受到温度变化的极大影响,因此动态口令令牌在提交客户使用时,必须要对动态口令令牌 的温漂进行校正,具体的校正方式如下101、动态口令令牌装载定时器,定时器的定时时间即第一预设时间,可以根据实 际情况进行设定,本实施例中按照定时时间为1小时来设置定时器;具体地,如果动态口令令牌所处环境的温差较大,定时器的定时时间设置为10分 钟或者更短的定时时间,如果动态口令令牌所处的环境温差较小,定时器的定时时间设置 为1小时或者更长的定时时间,这样在提高校正动态口令令牌温漂精度的同时又降低了动 态口令令牌的功耗,从而提高动态口令令牌的使用寿命。102、动态口令令牌在定时时间到时,检测当前所处环境的温度,并将检测到的温 度T记录下来,然后,重新装载定时器;具体地,动态口令令牌内设置有热敏电阻,动态口令令牌根据该热敏电阻来检测 动态口令令牌当前所处环境的温度。具体为该热敏电阻串接一个高精度的电阻,其中,该 高精度的电阻与电源和地相连,热敏电阻的阻值是根据动态口令令牌所处环境的温度的变化而变化的,因此,热敏电阻与高精度电阻相连接处的电压值也是根据动态口令令牌所处 环境的温度的变化而变化的,另外,动态口令令牌内的AD转换器是连接在热敏电阻与高精 度电阻相连接处的,当定时时间到,动态口令令牌检测当前所处环境的温度时启动AD转换 器,该AD转换器把热敏电阻端的电压值转换为数字信号,然后根据热敏电阻的温度系数和 AD转换器的基准电压计算出动态口令令牌当前所处环境的温度;本实施例中,动态口令令牌在定时时间到时,检测当前所处环境的温度,例如检测 到的温度T为22度,之后,重新装载定时器,对下一次动态口令令牌所处环境温度的检测进 行定时。进一步地,动态口令令牌可以通过查询标志位的方式来确定是否要检测当前所处 环境的温度,定时时间到时,动态口令令牌内的硬件电路将改变所述标志位,例如将标志位 由0改为1,动态口令令牌查询所述标志位,例如,当标志位为1时,动态口令令牌检测当前 所处环境的温度。103、动态口令令牌根据记录的温度T查找预先存储的数据表,并判断是否能够在 该数据表中查找得到温度T所对应的晶振频率f,如果能查到,执行106;如果不能查到,执行104 ;104、动态口令令牌根据记录的温度T查找预先存储的数据表得到该数据表中与 温度T接近的两个温度T1和T2 ;本实施例中,根据表1中所存储的数据可以知道,与T = 22度最为接近的两个温 度是T1 = 20度,T2 = 24度。105、动态口令令牌根据温度T1和T2在数据表中查找得到温度T1、T2下的晶振频 率n、f2,并根据Tl、T2、fl、f2计算晶体在温度T下所对应的晶振频率f ;具体地,根据Tl、T2、fl、f2计算晶体在温度T下所对应的晶振频率f的计算方式
T-Tl /-/I
是 本实施例中,根据查表1可以得到T1、T2对应的晶振频率fl和f2,分别记为a = (Tl,fl) = (20 度,32767. 5HZ)和 b= (T2,f2) = (24 度,32767. 95HZ)及 T = 22 度,将该 组数据代入上述公式得到f为32767. 95HZ ;本实施例中,如果在102中检测到的温度T = -20度,则在数据表中就可以查找到 晶体在-20度下的晶振频率为32765HZ。106、动态口令令牌计算晶体在温度T下的时间偏差AT ;具体地,动态口令令牌计算温度T下晶体振荡器的晶振频率偏差A f,并将计算得 到的晶振频率偏差Af转换为时间偏差At,需要说明的是,计算得到的时间偏差At是当 前1秒内的时间偏差,而温度T下的时间偏差A T还包括定时时间内的时间偏差,所以,温 度T下的时间偏差AT为当前1秒内的时间偏差At乘以定时时间再加上当前1秒内的时 间偏差,并将计算得到的温度T下的时间偏差AT存储在动态口令令牌的临时缓存中;具体地,A f、A t的计算方式为Af = f-标准晶振频率;At = Af/f (秒);
其中,标准晶振频率为常温(25度)下的晶体振荡器的晶振频率,本实施例中,由 于采用的是32. 768KHZ的晶体振荡器,则标准晶振频率为32. 768KHZ。本实施中, 贝丨」,温度T下的时间偏差AT = -1. 5*10、3601秒,即温度T下当前时间值和标准 时间值相比较慢了 1. 5*10-6*3601秒。107、动态口令令牌根据计算得到的时间偏差AT计算当前累计时间偏差T',并 将计算得到的当前累计时间偏差T'存储在动态口令令牌的临时缓存中;本实施例中,计算当前累计时间偏差T'的过程是一个累加计算的过程,将当前得 到的时间偏差AT与之前定时时间到时计算得到的时间偏差进行累加就得到当前累计时 间偏差T'。具体地,本次定时时间到时,计算得到的时间偏差AT为-1. 5*10、3601秒,在此 之前,已有两次开启定时,进行了温度的检测,计算得到的时间偏差分别为-0. 75*10_6*3600 秒和-1. 15*1(T6*3600 秒,则当前累计时间偏差为(-0. 75*10—*3601 秒)+ (-1. 15*10_6*3601 秒)+ (-1.5*10_6*3601秒),并将计算得到的当前累计时间偏差T'存储在临时缓存中,作为 下次计算当前累计时间偏差的基数。108、动态口令令牌判断当前缓存中的累计时间偏差T'是大于、等于还是小于预 定值,本实施例中预定值为1秒,如果是等于1秒,执行109;如果是大于1秒,则执行110 ;如果是小于1秒,则返回执行102 ;109、动态口令令牌对令牌的当前时间进行校正,并清空当前缓存,即将当前累计 时间偏差清零,返回执行102;具体地,动态口令令牌将当前时间加上1秒后得到校正后的时间,并清空缓存;110、动态口令令牌对令牌的当前时间进行校正,并将当前累计时间偏差T'减去 1秒后得到的时间值保存至临时缓存中,作为下次进行累加计算的基数,返回执行102。具体地,动态口令令牌将当前时间加上1秒后得到校正后的时间;109和110中均对动态口令令牌的当前时间加上1秒得到校正后的时间,原因如 下由温漂曲线图(图1)可以直观的看出,晶体的晶振频率在25度时最大,而其他温度下, 晶体的晶振频率都会变慢,也就是说晶体的实际频率是小于等于标准晶振频率的,在与标 准晶振频率相比,时钟晶体在1秒的时间里比标准震荡次数(32768)要少,偏差是Af,则时 钟晶体的实际震荡时间与标准的震荡时间的偏差是△ f/f (秒),即时钟晶体的实际震荡时 间比标准的震荡时间慢了 A f/f (秒),因此,只需当偏差A f/f (秒)累加到1秒的时候,对 动态口令令牌的当前时间加上ls,便达到了校正的目的。111、触发动态口令令牌,提取当前经过校正的时间值及动态因子的变化时间步 长,并根据所述时间值及变化时间步长计算得到动态因子;需要说明的是基于时间同步认证技术的动态口令令牌是把时间作为动态因子, 采用一定的口令生成算法对当前时间因子和静态因子进行计算,动态因子一般以60秒或 30秒作为变化时间步长。在每个动态令牌出厂时,就已经设定好了该令牌的动态因子的计算起始时间和动态因子的变化时间步长。例如出厂时设定动态因子的计算起始时间为 2010年1月1日0时0分0秒,动态因子的变化时间步长为60秒。动态因子的计算方式为(当前提取的时间值_计算起始时间)/动态因子的变化 时间步长;112、动态口令令牌根据计算得到的动态因子生成并显示动态口令;具体地,动态口令令牌根据计算得到的动态因子、预先存储的静态因子,根据预存 的动态口令生成算法计算得到动态口令并显示输出。上述实施例是由动态口令令牌的应用程序来实现对由于温漂而引起的晶体振荡 器的时间偏差的校正,该校正方法可以通过修改相应的应用程序来实现温漂的校正精度, 无需增加硬件芯片,实现方式灵活、简单、易于实现产品的升级,并有效的改善了动态口令 令牌在高低温环境下由于温漂而弓丨起的时间误差。在实际应用中,除了上述实现方式外,还可以在RTC内部集成一个数字化的时间 精度调整电路,动态口令令牌将计算得出的晶振频率偏差Af写入到该时间精度调整电路 的调整电路寄存器中,该调整电路寄存器便可以根据该写入的晶振频率偏差Af 来实现由 于温漂而弓丨起的时间偏差的校正。按照上述所述,上述步骤中的106至110由步骤106'替换106'、动态口令令牌将温度T下的晶振频率f写入到RTC内部,RTC根据写入的 晶振频率f对当前的时间值进行校正;具体地,RTC内集成有数字化的时间精度调整电路,该调整电路将写入的晶振频率 f转换为调整值,并根据该调整值进行时钟走时的调整,具体的表现为改变1秒内的脉冲计 数;将写入的晶振频率f转换为调整值具体的转换方式为当晶振频率等于标准晶振频率时,是不需要改变1秒内的计数脉冲的,调整值为 0、+1、-64、-63或者为缺省值。当晶振频率小于标准晶振频率时,要减少1秒内的计数脉冲;调整值 由图1可以看出,在高低温环境下,晶体振荡器的晶振频率是小于等于标准晶振 频率的,所以本实施例中不再考虑晶振频率大于标准晶振频率的情况。具体地,数字时间调整电路根据调整值在每分钟内的第20秒时改变当前1秒内的 时钟脉冲的计数值,从而达到时钟走时调整;上述方法是通过动态口令令牌内部的集成高精度的数字时间精度调整电路来实 现对动态口令令牌温漂的校正,实现方式简单、校正精度比较高;可以有效的改善动态口令 令牌在高低温环境中由于温漂而弓丨起的时间误差。本实施例中,如果动态口令令牌采用其他晶体(如32KHZ的晶体),则动态口令令 牌内部只需存储相应晶体振荡器在不同温度下的晶振频率,具体的实现方式采用上述说明 即可。另外需要说明的是,实时时钟电路RTC通过秒计数确定时间和日期,当前时间和日期保存在一组寄存器中,32. 768KHZ的晶体振荡器经过分频后会产生1HZ的基准来刷新 时间和日期,秒计数的话计时精度为1秒,这样就会有很大的误差,所以本实施例中还可以 使用一种改进的计数方式来确定时间和日期,即采用秒浮点计数的方式来实现由于温漂而 产生的时间误差的校正,其中,浮点精度为10_6 ;则107至110就可以由以下过程来替换将 计算得到的时间偏差AT写入到电路寄存器中,该电路寄存器是浮点寄存器,在电路寄存 器中浮点精度的位置上会根据每次写入的时间偏差进行累加计算,当累加计算得到的数值 满一则自动进位,这样就改变了当前的RTC时钟计数,从而校正了由于温漂而产生的时钟 误差。现举例来说明秒浮点计数法来校正由于温漂而产生的时钟误差,如第一次定时 时间到时,将计算得到的计时偏差1.5*10_6写入到寄存器中,第二次定时时间到时,将计 算得到的计时偏差1.54*10_6写入到寄存器中,第三次定时时间到时,将计算得到的时间 偏差2.0*10_6写入到寄存器中,……,则寄存器浮点精度位置上的数值变化为L5W6,
1. 5*10_6+1. 54*10_6,1. 5*10_6+1. 54*10_6+2. 0*10_6,1. 5*10_6+1. 54*10_6+2. 0*10_6+......,
……,当浮点精度位置上数值大于等于1时,将会向秒的位置上自动进1,例如浮点位置 上的数值为100005*10_6时,当前RTC计数值会自动加1,而此时浮点精度位置上的数值 为0. 5*10_6,当下次定时开始,写入的时间偏差为3. 6*10_6,浮点精度位置上的数值变为 0. 5*10_6+3. 6*10_6,按照上述方式进行变化。实施例2本发明实施例提供了另一种校正动态口令令牌温漂的方法,需要说明的是本发 明实施例提供的动态口令令牌内部存储有32. 768KHZ晶体在不同温度下的特征值,即频率 稳定度(如表2所示),其中,表2中的数据是经过反复试验计算得出的,进一步地,为了提 高试验精度,在进行试验的过程中,可以选择更密集的试验温度来测试晶体的时间偏差。其中,频率稳定度是指在晶体振荡器的工作温度范围内晶振频率随着温度变化的 大小,一般用ppm来表示,其中,lppm = 1*10_6秒。具体地,lppm指温度每变化一度,晶体的晶振频率变化百万分之一,就是说频率的 误差=(1/1*106)*振荡器的标称频率;表2 32. 786KHZ晶体在不同温度下的频率稳定度(单位ppm) 为了更直观的体现晶体的晶振频率随温度的变化趋势,我们将表2中的数据以曲线图的形式展示(如图1所示),从图1中可以清楚的看到晶体的晶振频率会受到温度变化 的极大影响,因此动态口令令牌在提交客户使用时,必须要对动态口令令牌的温漂进行校 正,具体的校正方式如下201、动态口令令牌装载定时器,定时器的定时时间即第一预设时间,可以根据实 际情况进行设定,本实施例中按照定时时间为30分钟来设置定时器;具体地,如果动态口令令牌所处环境的温差较大,定时器的定时时间设置为10分 钟或者更短的定时时间,如果动态口令令牌所处的环境温差较小,定时器的定时时间设置 为1小时或者更长的定时时间,这样在提高校正温漂精度的同时又降低了动态口令令牌的 功耗,从而提高动态口令令牌的使用寿命。202、动态口令令牌在定时时间到时,检测当前所处环境的温度,并将检测到的温 度T记录下来,然后,重新装载定时器;需要说明的是,动态口令令牌内设置有热敏电阻,动态口令令牌根据该热敏电阻 来检测动态口令令牌所处环境的温度。具体为该热敏电阻串接一个高精度的电阻,该高精 度的电阻与电源和地相连,热敏电阻的阻值是根据动态口令令牌所处环境的温度的变化而 变化的,因此,热敏电阻与高精度电阻相连接处的电压值也是根据动态口令令牌所处环境 的温度的变化而变化的,另外,动态口令令牌内的AD转换器是连接在热敏电阻与高精度电 阻相连接处的,当定时时间到,动态口令令牌检测当前所处环境的温度时,动态口令令牌启 动AD转换器,把热敏电阻端的电压值转换为数字信号,然后根据热敏电阻的温度系数和AD 的基准电压,计算出当前环境的温度;本实施例中,动态口令令牌在定时时间到时,检测当前所处环境的温度,例如检测 到的温度T为32度,之后,重新装载定时器,对下一次动态口令令牌所处环境温度的检测进 行定时;进一步地,动态口令令牌可以通过查询标志位的方式来确定是否要检测当前所处 环境的温度,定时时间到时,动态口令令牌内的硬件电路将改变所述标志位,例如将标志位 由0改为1,动态口令令牌查询所述标志位,例如,当标志位为1时,动态口令令牌检测当前 所处环境的温度。203、动态口令令牌根据记录的温度T查找预先存储的数据表,并判断是否能够在 该数据表中查找到温度T下的频率稳定度At,如果能查到,将查找得到的频率稳定度At保存在动态口令令牌内部的缓存中并 执行206 ;如果不能查到,执行204 ;204、动态口令令牌根据记录的温度T查找数据表中与温度T接近的两个温度T1 禾口 T2 ;本实施例中,根据表2存储的数据可以知道,与32度最为接近的两个温度是T1 = 31. 5 度,T2 = 33. 2 度;205、动态口令令牌根据查找得到的温度T1和T2得到频率T1、T2下的频率稳定度 A tl、A t2,并根据Tl、T2、A tl、A t2计算晶体在温度T下所对应的频率稳定度A t ;根据Tl、T2、A tl、A t2计算晶体在温度T下所对应的频率稳定度A t的具体计 本实施例中,查找数据表2可以得到T1对应的频率稳定度Atl和T2对应的 频率稳定度 A t2,记为 a = (Tl, A tl) = (31. 5 °,_2. 15ppm)和 b = (T2, A t2)= (33. 2°,-3. 65ppm)及T = 32°,将该组数据代入上述公式得到A t为_1. 52ppm ;如果202中检测到的温度T = -20度,则在数据表中就可以查找到晶体在-20度 下的时间偏差为_95ppm。206、动态口令令牌计算温度T下的时间偏差AT;具体地,动态口令令牌根据频率稳定度At计算温度T下的时间偏差AT,具体计 算方式如下将频率稳定度按照百万分之一秒转换为时间值,该时间值是当前1秒内的时 间偏差,而当前时间偏差还包括定时时间内的时间偏差,所以温度T下的时间偏差A T为所 述时间值乘以定时时间再加上当前1秒内的时间偏差,并将计算得到的时间偏差AT存储 至临时缓存;本实施例中,温度T下的时间偏差AT = -1. 52*10_6*1801秒。207、动态口令令牌计算当前累计时间偏差T';本实施例中,计算当前累计时间偏差T'的过程是一个累加计算的过程,即动态口 令令牌将当前得到的时间偏差AT与之前定时时间到时计算得到的时间偏差进行累加就 得到当前累计时间偏差T'。具体地,本次定时时间到时,计算得到的时间偏差A T为-1. 52*10_6*1801 秒,而在此之前,已有两次开启定时进行了温度的检测,计算得到的时间偏差分别 为-0. 75*10_6*1801 秒和-1. 15*10_6*1801 秒,则当前累计时间偏差为(-0. 75*10_6*1801 秒)+ (-1. 15*10-6_1秒)+ (_1. 5*10、1801秒),并将计算得到的当前累计时间偏差T' 存储在临时缓存中,作为下次计算当前累计时间偏差的基数。208、动态口令令牌判断当前缓存中的累计时间偏差是大于、等于还是小于预定 值,本实例中预定值为1秒,如果是等于1秒,执行209 ;如果是大于1秒,则执行210 ;如果是小于1秒,则返回执行202 ;209、动态口令令牌对令牌的当前时间进行校正,并清空当前缓存,即将当前累计 时间偏差清零,返回执行202;具体地,动态口令令牌将当前时间加上1秒得到校正后的时间,并清空缓存中的 时间偏差;210、动态口令令牌对令牌的当前时间进行校正,保存的当前累计时间偏差T'减 去1秒后得到的时间值至临时缓存中,以便在下次定时时间到作为累加计算的基数,返回 执行202。具体地,动态口令令牌将当前时间加上1秒后得到校正后的时间;209和210中均对动态口令令牌的当前时间加上1秒得到校正后的时间,原因如 下由温漂曲线图(图1)可以直观的看出,晶体的频率稳定度在25度时为0,即晶振频率不 存在偏差,而其他温度下,晶体的频率稳定度都会出现不同程度的变化,且数值都是负的,说明,晶体振荡器在当前1秒内,与标准时间值相比要慢,偏差是At*10_6秒,因此,只需当 偏差At*10_6秒累加到1秒的时候,对动态口令令牌的当前时间加上ls,便达到了校正的 目的。211、触发动态令牌,提出当前经过校正的时间值及动态因子的变化时间步长,并 根据所述时间值及变化时间步长计算得到动态因子;需要说明的是基于时间同步认证技术的动态口令令牌是把时间作为动态因子, 采用一定的口令生成算法对当前时间因子和静态因子进行计算,动态因子一般以60秒或 30秒作为变化时间步长。在每个动态令牌出厂时,就已经设定好了该令牌的动态因子的 计算起始时间和动态因子的变化时间步长。例如出厂时设定动态因子的计算起始时间为 2010年1月1日0时0分0秒,动态因子的变化时间步长为60秒。动态因子的计算方式为(当前提取的时间值-计算起始时间)/动态因子的变化 时间步长;212、动态口令令牌根据计算得到的动态因子得到动态口令并显示输出;具体地,动态口令令牌根据计算得到的动态因子及预先存储的静态因子,并根据 预先存储的动态口令生成算法,计算得到动态口令并显示输出;上述实施例是由动态口令令牌的应用程序来实现对由于温漂而引起的晶体振荡 器的时间偏差的校正,该校正方法可以通过修改相应的应用程序来实现温漂的校正精度, 无需增加硬件芯片,实现方式灵活、简单、易于实现产品的升级,并有效的改善了动态口令 令牌在高低温环境下由于温漂而弓丨起的时间误差。在实际应用中,除了上述实现方式外,还可以在RTC内部集成一个数字化的时间 精度调整电路,动态口令令牌将查找得到的频率稳定度At写入到该时间精度调整电路的 调整电路寄存器中,该调整电路寄存器便可以根据该写入的频率稳定度At来实现由于温 漂而引起的时间偏差的校正。按照上述所述,上述步骤中的206至210由步骤206'替换206'、动态口令令牌将频率稳定度A t写入到RTC内部,RTC根据写入的频率稳 定度At对当前的时间值进行校正;具体地,RTC内部集成了数字化的时间精度调整电路,该时间精度调整电路将时间 偏差At写入到调整电路寄存器中,该调整电路寄存器根据时间偏差At来有效的调整时 钟计时的精度。具体地,数字时间调整电路根据写入的频率稳定度在每1分钟内的第20秒时改变 当前1秒内的时钟脉冲的时钟计数值,从而达到时钟走时调整;本实施例中,如果动态口令令牌采用其他晶体(如32KHZ的晶体),则动态口令令 牌内部只需存储相应晶体振荡器在不同温度下的晶振频率,具体的实现方式采用上述说明 即可。实施例3本发明实施例提供了一种校正动态口令令牌温漂的方法,需要说明的是本发明 实施例提供的动态口令令牌内部存储有32. 768KHZ的晶体振荡器在不同温度下的特征值, 即时间偏差(如表3所示),其中,表3中的数据是经过反复试验得出的,进一步地,为了提 高试验精度,在进行试验的过程中,可以选择更密集的试验温度来测试晶体振荡器的晶振频率。需要说明的是,时间偏差具体是指,在定时器定时时间到时,动态口令令牌的在定 时期间内的时间偏差。表3 32. 786KHZ晶体振荡器在不同温度下的晶振频率(单位P s) 301、动态口令令牌装载定时器,定时器的定时时间,即第一预设值可以根据实际 情况进行设定,本实施例中按照定时时间为30分钟来设置定时器;具体地,如果动态口令令牌所处环境的温差较大,定时器的定时时间设置为10分 钟或者更短的定时时间,如果动态口令令牌所处的环境温差较小,定时器的定时时间设置 为1小时或者更长的定时时间,这样在提高校正动态口令令牌温漂精度的同时又降低了动 态口令令牌的功耗,从而提高动态口令令牌的使用寿命。302、动态口令令牌在定时时间到时,检测当前所处环境的温度,并将检测到的温 度T记录下来,然后,重新装载定时器;具体地,动态口令令牌内设置有热敏电阻,动态口令令牌根据该热敏电阻来检测 动态口令令牌当前所处环境的温度。具体为该热敏电阻串接一个高精度的电阻,其中,该 高精度的电阻与电源和地相连,热敏电阻的阻值是根据动态口令令牌所处环境的温度的变 化而变化的,因此,热敏电阻与高精度电阻相连接处的电压值也是根据动态口令令牌所处 环境的温度的变化而变化的,另外,动态口令令牌内的AD转换器是连接在热敏电阻与高精 度电阻相连接处的,当定时时间到,动态口令令牌检测当前所处环境的温度时启动AD转换 器,该AD转换器把热敏电阻端的电压值转换为数字信号,然后根据热敏电阻的温度系数和 AD转换器的基准电压计算出动态口令令牌当前所处环境的温度;本实施例中,动态口令令牌在定时时间到时,检测当前所处环境的温度,例如检测 到的温度T为22度,之后,重新装载定时器,对下一次动态口令令牌所处环境温度的检测进 行定时。进一步地,动态口令令牌可以通过查询标志位的方式来确定是否要检测当前所处 环境的温度,第一预设时间到时,动态口令令牌内的硬件电路将改变所述标志位,例如将标 志位由0改为1,动态口令令牌查询所述标志位,例如,当标志位为1时,动态口令令牌检测 当前所处环境的温度。303、动态口令令牌根据记录的温度T查找预先存储的数据表,并判断是否能够在 该数据表中查找得到温度T所对应的时间偏差AT,
如果能查到,执行106;如果不能查到,执行104 ;304、动态口令令牌根据记录的温度T查找预先存储的数据表得到该数据表中与 温度T接近的两个温度T1和T2 ;本实施例中,根据表1中所存储的数据可以知道,与T = 22度最为接近的两个温 度是T1 = 20度,T2 = 24度。305、动态口令令牌根据温度T1和T2在数据表中查找得到温度T1、T2下的时间偏 差ATI、八12,并根据11、12、ATI、A T2计算晶体在温度T下所对应的时间偏差AT;具体地,根据Tl、T2、A Tl、A T2计算晶体在温度T下所对应的时间偏差A T的计 本实施例中,根据查表可以得到Tl、T2对应的晶振频率ATI和AT2,分别记为a =(Tl, ATI) = (20 度,-45 ii s)禾口 b = (T2, A T2) = (24 度,-22.8 ii s)及 T = 22 度,将 该组数据代入上述公式得到A T为-22. 8us;本实施例中,如果在302中检测到的温度T = -20度,则在数据表中就可以查找到 晶体在-20度下的时间偏差为-2850 u s。306、动态口令令牌根据时间偏差AT计算当前累计时间偏差T',并将计算得到 的当前累计时间偏差T'存储在动态口令令牌的临时缓存中;本实施例中,计算累计时间偏差T'的过程是一个累加计算的过程,即动态口令令 牌将当前得到的时间偏差AT与之前当时时间到时计算得到的时间偏差进行累加就得到 当前累计时间偏差T'。具体地,本次定时时间到时,计算得到的时间偏差AT为-22. 8*10_6秒,而在此之 前,已有两次开启定时进行了温度的检测,计算得到的时间偏差分别为0秒和_45*10_6秒, 则当前累计时间偏差为(-22. 8*10_6秒)+ (0秒)+ (-45*10_6秒),并将计算得到的当前累计 时间偏差T'存储在临时缓存中,作为下次计算当前累计时间偏差的基数。307、动态口令令牌判断当前缓存中的累计时间偏差T'是大于、等于还是小于预 定值,本实施例中预定值为1秒,如果是等于1秒,执行308 ;如果是大于1秒,则执行309 ;如果是小于1秒,则返回执行302 ;308、动态口令令牌对令牌的当前时间进行校正,并清空当前缓存,即将当前累计 时间偏差清零,返回执行302;具体地,动态口令令牌将当前时间加上1秒后得到校正后的时间,并清空缓存中;309、动态口令令牌对令牌的当前时间进行校正,并将当前累计时间T减去1秒后 得到的时间值保存至临时缓存中,以便在动态口令令牌再次定时时间到时,作为累加计算 的基数,返回执行302。具体地,动态口令令牌将当前时间加上1秒后得到校正后的时间;308和309中均对动态口令令牌的当前时间加上1秒得到校正后的时间,原因如 下由表3中的数据可以看出,出去再室温(25度)的情况下是没有时间偏差的,在其他温度下,RTC晶体都存在时间误差,且误差与标准时间相比均是要慢于标准时间值的,因此,只 需当偏差Af/f(秒)累加到1秒的时候,对动态口令令牌的当前时间加上ls,便达到了校 正的目的。310、触发动态口令令牌,提取当前经过校正的时间值及动态因子的变化时间步 长,并根据所述时间值及变化时间步长计算得到动态因子;需要说明的是基于时间同步认证技术的动态口令令牌是把时间作为动态因子, 采用一定的口令生成算法对当前时间因子和静态因子进行计算,动态因子一般以60秒或 30秒作为变化时间步长。在每个动态令牌出厂时,就已经设定好了该令牌的动态因子的 计算起始时间和动态因子的变化时间步长。例如出厂时设定动态因子的计算起始时间为 2010年1月1日0时0分0秒,动态因子的变化时间步长为60秒。动态因子的计算方式为(当前提取的时间值_计算起始时间)/动态因子的变化 时间步长;311、动态口令令牌根据计算得到的动态因子生成并显示动态口令;具体地,动态口令令牌根据计算得到的动态因子、预先存储的静态因子,根据预存 的动态口令生成算法计算得到动态口令并显示输出。上述实施例是由动态口令令牌的应用程序来实现对由于温漂而引起的晶体振荡 器的时间偏差的校正,该校正方法可以通过修改相应的应用程序来实现温漂的校正精度, 无需增加硬件芯片,实现方式灵活、简单、易于实现产品的升级,并有效的改善了动态口令 令牌在高低温环境下由于温漂而弓丨起的时间误差。实施例4一种动态口令令牌400,该动态口令令牌包括定时器模块401、检测模块402、查询 模块403、表存储模块404、校正模块405、触发模块406、生成模块407、显示模块408 ;定时器模块401用于定时开启检测模块402检测动态口令令牌400当前所处环境 的温度;本实施例中定时器模块401的定时开启时间可以根据实际情况进行设置,例如定 时器设置为每10分钟或1个小时开启一次,如果动态口令令牌所处环境的温差较大,可以 选择较短的定时开启时间,如果动态口令令牌所处环境的温差不是很大,可以选择较长的 定时开启时间;这样可以在提高校正温漂精度的同时提高动态口令令牌的工作效率。检测模块402主要用于在定时器模块401的定时时间到时,检测动态口令令牌400 当前所处环境的温度,并触动查询模块403根据检测到的当前所处环境温度去查询表存储 模块404 ;查询模块403用于根据检测模块402检测到的动态口令令牌400当前所处环境的 温度,查找表存储模块404中动态口令令牌400当前所处环境温度下的特征值;表存储模块404存储有RTC晶体在不同温度下的特征值;具体地,所述特征值包括RTC晶体在不同温度下的晶振频率或RTC晶体在不同温 度下的频率稳定度或不同温度下的时间偏差。校正模块405用于根据查询模块403查询得到的特征值对动态口令令牌400的当 前时间进行校正。触发模块406用于开启生成模块407,具体为触发按键、按钮或开关;
生成模块407用于根据当前经过校正后的时间值生成动态口令,具体包括动态因 子生成单元、动态口令生成单元;动态因子生成单元主要用于根据提取的校正模块406校正后得到的当前时间值 来生成动态因子;动态口令生成单元用于根据动态因子生成单元生成的动态因子来生成动态口 令;显示模块408,用于在动态口令生成后显示或关闭显示生成的动态口令;具体地,所述查询模块403还包括查询单元,用于根据所述检测得到的当前环境温度在表存储模块中查找得到所述 环境温度下相应的特征值,并判断是否能够查找得到所述特征值;第一计算单元,用于当所述查询单元的判断结果为不能时,根据表存储模块中的 数据及检测到的温度计算所述环境温度下的特征值。具体地,校正模块405包括第二计算单元,用于根据查询模块403查找得到的特征值,计算当前累计时间偏 差;当所述特征值为RTC晶体在不同温度下的晶振频率时,所述第二计算模块还用于 计算晶振频率偏差,以及将晶振频率偏差转换为时间偏差的运算;判断单元,用于判断第二计算单元405累加计算得到的累计时间偏差的值是否达 到预定值,第一校正单元,当判断单元的判断结果是是时,根据该预定值对动态口令令牌400 的当前时间进行校正;具体地,所述校正模块405还包括转换单元,用于将查询模块403查询得到的特征值根据预定的方式进行转换得到 调整值;第二校正单元,用于根据转换单元转换得到的调整值来改变时钟脉冲的时钟计数 值,从而对当前时间值进行校正。本实施例中,预定值是预先设定的1秒;以上所述仅是本发明的较佳实施例,并不用于限制本发明,凡在本发明的精神和 原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
2权利要求
一种校正动态口令令牌温漂的方法,其中,所述动态口令令牌根据时间值及动态因子的变化时间步长得到动态因子,根据所述动态因子生成并显示动态口令,其特征在于,所述方法包括动态口令令牌以第一预设时间为间隔来检测所述动态口令令牌当前所处环境的温度;所述动态口令令牌根据所述检测到的温度查找数据表,得到所述检查到的温度对应的特征值;所述动态口令令牌以第二预设时间为间隔,根据所述特征值对所述动态口令令牌内的当前时间值进行校正。
2.根据权利要求1所述的方法,其特征在于,所述第一预设时间是自定义的,所述动态 口令令牌通过定时器定时的方式或轮询标志位的方式来实现以第一预设时间为间隔检测 所述动态口令令牌当前所处环境的温度。
3.根据权利要求1所述的方法,其特征在于,所述动态口令令牌根据所述检测到的温 度查找数据表,得到所述检查到的温度对应的特征值包括所述动态口令令牌根据所述检测到的温度查找数据表,并判断是否能够查找得到所述 检测到的温度对应的特征值,如果不能查找得到,则根据所述检测到的温度及所述数据表计算所述检测到的温度对 应的特征值。
4.根据权利要求3所述的方法,其特征在于,根据所述检测到的温度及所述数据表计 算所述检测到的温度对应的特征值包括所述动态口令令牌根据所述检测到的温度查找所述数据表,得到第一温度和第二温度 及所述第一温度和第二温度对应的第一特征值和第二特征值,所述动态口令令牌根据查找 得到的上述数据及所述检测到的温度按照第一预设公式计算所述检测到的温度对应的特 征值;其中, 所述第 一预设 公式为
5.根据权利要求1所述的方法,其特征在于,所述数据表是预先存储在所述动态口令 令牌内部的;所述数据表中的数据为所述动态口令令牌内晶体振荡器所采用的晶体在不同温度下 的晶振频率、晶体在不同温度下的频率稳定度或晶体在不同温度下的第一预设时间内的时 间偏差;则,所述检测到的温度对应的特征值为晶振频率、频率稳定度或第一预设时间内的时间偏差。
6.根据权利要求5所述的方法,其特征在于,当所述特征值为第一预设时间的时间偏 差时,所述动态口令令牌以第二预设时间为间隔,根据所述特征值对当前时间值进行校正 的方法包括所述动态口令令牌在第二预设时间到时,将当前第一预设时间内的时间偏差与之前第 二预设时间到时得到的第一预设时间内的时间偏差进行累加计算,得到所述动态口令令牌的当前累计时间偏差;所述动态口令令牌判断所述当前累计时间偏差是小于、等于、大于预定值的哪一种, 如果是小于,则返回到动态口令令牌以第一预设时间为间隔来检测所述动态口令令牌 当前所处环境的温度的步骤;如果是等于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时间值, 并将当前累计时间偏差清零;如果是大于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时间值, 并将当前累计时间偏差中多于所述预定值的部分作为下次进行累加计算时的基数。
7.根据权利要求5所述的方法,其特征在于,当所述特征值为晶振频率时,所述动态口 令令牌以第二预设时间为间隔,根据所述特征值对所述动态口令令牌的当前时间值进行校 正的方法还包括所述动态口令令牌根据所述晶振频率及晶振标准频率计算得到所述环境温度下的晶 振频率偏差;所述动态口令令牌将所述计算得到的晶振频率偏差转换为时间值,所述转换得到的时 间值为当前1秒内的时间偏差。所述动态口令令牌根据所述当前1秒内的时间偏差按照第二预设公式计算得到所述 第一预设时间内的时间偏差;所述动态口令令牌在第二预设时间到时,将当前计算得到的第一预设时间内的时间偏 差与之前第二预设时间到时得到的第一预设时间内的时间偏差进行累加计算,得到所述动 态口令令牌的当前累计时间偏差;所述动态口令令牌判断所述当前累计时间偏差是小于、等于、大于预定值的哪一种, 如果是小于,则返回到动态口令令牌以第一预设时间为间隔来检测所述动态口令令牌 当前所处环境的温度的步骤;如果是等于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时间值, 并将当前累计时间偏差清零;如果是大于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时间值, 并将所述累计时间偏差中多于所述预定值的部分作为下次进行累计计算时的基数。
8.根据权利要求7所述的方法,其特征在于,所述第二预设公式具体为
9.根据权利要求5所述的方法,其特征在于,当所述特征值为频率稳定度时,所述动态 口令令牌以第二预设时间为间隔,根据所述特征值对当前时间值进行校正的方法还包括所述动态口令令牌将所述频率稳定度转换为时间值,所述转换得到的时间值为当前1 秒内的时间偏差。所述动态口令令牌根据所述当前1秒内的时间偏差按照第三预设公式计算得到所述 第一预设时间内的时间偏差;所述动态口令令牌在第二预设时间到时,将当前计算得到的第一预设时间内的时间偏 差与之前第二预设时间到时得到的第一时间间隔内的时间偏差进行累加计算,得到所述动 态口令令牌的当前累计时间偏差;所述动态口令令牌判读所述当前累计时间偏差是小于、等于、大于预定值的哪一种, 如果是小于,则返回到动态口令令牌以第一预设时间为间隔来检测所述动态口令令牌 当前所处环境的温度的步骤;如果是等于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时间值, 并将当前累计时间偏差清零;如果是大于,所述动态口令令牌的当前时间值加上所述预定值,得到校正后的时间值, 并将所述累计时间偏差中多于所述预定值的部分作为下次进行累加计算时的基数。
10.根据权利要求9所述的方法,其特征在于,所述第三预设公式具体为第一预设时 间间隔=频率稳定度*α+第一预设时间)*10_6。
11.根据权利要求7至9所述的方法,其特征在于,所述第一预设时间和所述第二预设 时间是相同的。
12.根据权利要求1所述的方法,其特征在于,所述动态口令令牌以第二预设时间为间 隔,根据所述特征值对所述动态口令令牌内的当前时间值进行校正的方法还包括在第二预设时间到时,所述动态口令令牌将所述特征值转换为调整值; 所述动态口令令牌将所述调整值写入到时间调整寄存器;所述时间调整寄存器在所述第二预设时间到时根据所述调整值改变当前时钟脉冲的 时钟计数值,来对当前时间值进行校正;
13.根据权利要求12所述的方法,其特征在于,所述第二预设时间具体为1分钟。
14.一种动态口令令牌,其特征在于,所述动态口令令牌包括定时器模块,用于在第一预设时间到时开启检测模块检测所述动态口令令牌当前所处 环境的温度;检测模块,用于在所述定时器模块计时达到所述第一预设时间时,检测所述动态口令 令牌当前所处环境的温度,并触发查询模块进行数据查询;表存储模块,用于存储实时时钟晶体在不同温度下的特征值; 查询模块,用于根据所述检测模块检测到的所述动态口令令牌当前所处环境的温度在 表存储模块中查找所述检测到的温度对应的特征值;校正模块,用于根据所述特征值对所述动态口令令牌内的当前时间值进行校正; 触发模块,用于触发生成模块生成动态口令;生成模块,用于被所述触发模块触动后,提取所述动态口令令牌的当前时间值,并根据 所述提取的时间值及动态因子的变化时间步长来生成动态口令;显示模块,用于显示或关闭显示所述生成模块生成的所述动态口令。
15.根据权利要求14所述的动态口令令牌,其特征在于,所述查询模块包括查询单元,用于根据所述检测模块检测到的温度在所述表存储模块中查找所述检测到 的温度对应的特征值,并判断是否能够查找得到所述特征值;第一计算单元,用于当所述查询单元的查询结果为不能时,计算所述检测到的温度对 应的特征值。
16.根据权利要求14所述的动态口令令牌,其特征在于,所述校正模块包括第二计算单元,用于根据所述查询模块得到的特征值,计算所述动态口令令牌的当前 累计时间偏差;判断单元,用于判断第二计算单元计算得到的当前累计时间偏差是否达到预定值; 第一校正单元,用于当所述判断单元的判断结果为是时,将所述动态口令令牌的当前 时间值加上所述预定值,得到校正后的时间值。
17.根据权利要求14所述的动态口令令牌,其特征在于,所述校正模块还包括 转换单元,用于将所述查询模块得到的特征值转换为调整值;第二校正单元,用于根据所述调整值来改变所述动态口令令牌的当前时钟脉冲的时钟 计数值,对当前时间值进行校正。
18.根据权利要求14所述的动态口令令牌,其特征在于,所述检测到的温度对应的特 征值包括晶振频率、频率稳定度或所述第一预设时间内的时间偏差。
全文摘要
本发明公开了一种校正动态口令令牌温漂的方法和动态口令令牌,属于信息安全领域。所述方法包括动态口令令牌以第一预设时间为间隔来检测所述动态口令令牌当前所处环境的温度;所述动态口令令牌根据所述检测到的温度查找数据表,得到所述检查到的温度对应的特征值;所述动态口令令牌以第二预设时间为间隔根据所述特征值对所述动态口令令牌内的当前时间值进行校正。所述动态口令令牌包括定时器模块、检测模块、查找模块、表存储模块、校正模块、触发模块、生成模块和显示模块。本发明实现了动态口令令牌由于温漂而引起的时间误差的校正。
文档编号H03B5/04GK101854147SQ20101013741
公开日2010年10月6日 申请日期2010年3月29日 优先权日2010年3月29日
发明者于华章, 陆舟 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1