一种动态令牌的工作方法

文档序号:7892901阅读:354来源:国知局
专利名称:一种动态令牌的工作方法
技术领域
本发明涉及信息安全领域,特别涉及一种动态令牌的工作方法。
背景技术
在现有技术中,动态令牌(One-time Password, OTP)是ー种安全便捷的帐号防盗技术,根据专门的算法生成ー个不可预测的随机数字组合,每个ロ令只能使用一次,用户进行认证时候,除输入账号和静态密码之外,必须要求输入动态密码,只有通过系统验证,才可以正常登录或者交易,从而有效保证用户身份的合法性和唯一性。动态令牌最大的优点在于,用户每次使用的ロ令都不相同,使得不法分子无法仿冒合法用户的身份。动态ロ令认证技术被认为是目前能够最有效解决用户的身份认证方式之一,可以有效防范黑客木马盗窃用户账户ロ令、假网站等多种网络问题,导致用户的财产或者资料丢失的损失。目前被广泛运用在网银、网游、电信运营商、电子政务、企业等领域。发明人在实现本发明的过程中,发现由于目前的动态令牌显示密码都是6位或者 8位,当盗窃者得到了种子或者多个密码后进行反推有破解的风险,且动态令牌容易丢失或被盗用。

发明内容
鉴于现有技术的不足,为了有效的防止动态令牌被盗用、动态令牌丢失、种子文件丢失以及群举的可能,本发明提出了一种动态令牌的工作方法。本发明采用的技术方案如下一种动态令牌的工作方法,其特征在干,当所述动态令牌检测到其按键标志被置位后包括步骤A :清除按键标志,扫描按键,判断被按下的按键的类型,若为电源键则执行步骤B,若为删除键则执行步骤D,若为第一数字键组中的任意按键则执行步骤E,若为第二数字键组中的任意按键则执行步骤F,若为确认键则执行步骤G ;步骤B :检查开机标志,当所述开机标志被置位吋,将所述开机标志复位,进入休眠状态;当所述开机标志未被置位时,将所述开机标志置位,执行步骤C ;步骤C :检查锁定标志,若所述锁定标志被置位则将状态标识置为第一预设值,执行步骤L ;若所述锁定标志未被置位则将所述状态标识置为第二预设值,执行步骤L ;步骤D :检查所述开机标志,当所述开机标志被置位吋,删除数据缓存区末端的一个单元数据,显示相应数字,执行步骤L ;当所述开机标志未被置位时,进入休眠状态;步骤E :检查所述开机标志,当所述开机标志被置位时,保存相应数据到所述数据缓存区,并显示相应数字,执行步骤L ;当所述开机标志未被置位时,进入休眠状态;步骤F :检查所述开机标志,当所述开机标志被置位且所述状态标识为第三预设值时,判断所述被按下的按键被连续按下的时间是否超过预设时长,是则将所述状态标识置为第五预设值,执行步骤し否则直接执行步骤L ;当所述开机标志被置位且所述状态标识不为第三预设值时,保存相应的数据到所述数据缓存区,并显示相应数字,执行步骤L ;当所述开机标志未被置位时,进入休眠状态;步骤G :检查所述开机标志,当所述开机标志被置位时,检查所述状态标识,若所述状态标识为第一预设值则执行步骤H,若为第二预设值则执行步骤I,若为第三预设值则执行步骤J,若为第五预设值则执行步骤K ;当所述开机标志未被置位时,进入休眠状态;步骤H :计算生成解锁码验证码,并判断所述数据缓存区中的数据与计算生成的解锁码验证码是否一致,是则将所述锁定标志复位,将所述状态标识置为第五预设值,清除所述数据缓存区中的数据,执行步骤L ;否则清除所述数据缓存区中的数据,返回执行步骤 C ;步骤I :判断所述数据缓存区中的数据与所述动态令牌内部当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,清除所述数据缓存区中的数据,执行步骤 L ;否则清除所述数据缓存区中的数据,将所述锁定标志置位,返回执行步骤C ;步骤J :计算生成动态ロ令,显示与所述动态ロ令相对应的内容,执行步骤L ;步骤K :判断所述数据缓存区中的数据是否符合预设条件,是则用所述数据缓存区中的数据替换所述动态令牌内部当前存储的开机密码,清除所述数据缓存区中的数据, 将所述状态标识置为第三预设值,执行步骤L ;否则清除所述数据缓存区中的数据,执行步骤L;步骤L :判断在预定时间内是否检测到所述按键标志被置位,是则返回执行步骤 A ;否则将所述开机标志复位,进入休眠状态。或者,一种动态令牌的工作方法,其特征在干,当所述动态令牌检测到其按键标志被置位后包括步骤a:清除按键标志、扫描按键,判断被按下的按键的类型,若为电源键则执行步骤b,若为删除键则执行步骤d,若为第一数字键组中的任意按键则执行步骤e,若为第二数字键组中的任意按键则执行步骤f,若为确认键则执行步骤g ;步骤b :检查开机标志,当所述开机标志被置位吋,将所述开机标志复位,进入休眠状态;当所述开机标志未被置位时,将所述开机标志置位,执行步骤c ;步骤c :检查锁定标志,若所述锁定标志被置位则将状态标识置为第一预设值,执行步骤I ;若所述锁定标志未被置位则将所述状态标识置为第二预设值,执行步骤I ;步骤d :检查所述开机标志,当所述开机标志被置位吋,检查状态标识,删除相应缓存区末端的ー个单元数据,显示相应数字,执行步骤I ;当所述开机标志未被置位时,进入休眠状态;步骤e :检查所述开机标志,当所述开机标志被置位吋,检查状态标识,保存相应数据到相应缓存区,并显示相应数字,执行步骤I ;当所述开机标志未被置位时,进入休眠状态;
步骤f :检查所述开机标志,当所述开机标志被置位且所述状态标识为第三预设值时,判断所述被按下的按键被连续按下的时间是否超过预设时长,是则将所述 状态标识置为第五预设值,执行步骤1,否则直接执行步骤I;当所述开机标志被置位且所述状态标识不为第三预设值时,检查状态标识,保存相应数据到相应缓存区,并显示相应数字,执行步骤I;当所述开机标志未被置位时,进入休眠状态;步骤g :检查所述开机标志,当所述开机标志被置位时,检查所述状态标识,若所述状态标识为第一预设值则执行步骤h,若为第二预设值则执行步骤i,若为第三预设值则执行步骤j,若为第五预设值则执行步骤k ;当所述开机标志未被置位时,进入休眠状态;步骤h:计算生成解锁码验证码,并判断解锁码数据缓存区中的数据与计算生成的解锁码验证码是否一致,是则将所述锁定标志复位,将所述状态标识置为第五预设值,清除所述解锁码缓存区中的数据,执行步骤I ;否则清除所述解锁码缓存区中的数据,返回执行步骤C ;步骤i :判断开机密码缓存区中的数据与所述动态令牌内部当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,清除所述开机密码缓存区中的数据,执行步骤I ;否则清除所述开机密码缓存区中的数据,将所述锁定标志置位,返回执行步骤C ;步骤j :计算生成动态口令,显示与所述动态口令相对应的内容,执行步骤I ;步骤k:判断新开机密码缓存区中的数据是否符合预设条件,是则用所述新开机密码缓存区中的数据替换所述动态令牌内部当前存储的开机密码,清除所述新开机密码缓存区中的数据,将所述状态标识置为第三预设值,执行步骤I ;否则清除所述新开机密码缓存区中的数据,执行步骤I ;步骤I :判断在预定时间内是否检测到所述按键标志被置位,是则返回执行步骤A ;否则将所述开机标志复位,进入休眠状态。本发明的有益效果在于可有效的防止动态令牌被盗用、防范动态令牌丢失或种子丢失后对用户造成损失,以及降低群举成功的概率。


为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例二提供的一种动态令牌的工作方法的流程图;图2为图I中步骤102至步骤117的流程图;图3为图I中步骤118至步骤126的流程图;图4为图I中步骤127至步骤138的流程图;图5为图I中步骤139至步骤171的流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一为了有效地防止动态令牌被盗用、动态令牌丢失、种子文件丢失以及群举的可能, 本发明实施例提供了一种动态令牌的工作方法,其中,所述动态令牌通常情况下处于休眠状态,当有按键被按下时被唤醒,将按键标志置位,当电源键被连续按下超过预设时长,或在预定时间内没有按键输入时重新进入休眠状态,同时将状态标识恢复为默认值、保存当前可用密码重试次数以及锁定标志的当前状态。当检测到所述按键标志被置位,且动态令牌未完成初始化吋,所述动态令牌根据被按下的按键的类型检测液晶屏和键盘是否可用;当检测到所述按键标志被置位,且动态令牌已经完成初始化时,动态令牌执行以下操作步骤SI :清除按键标志,扫描按键,判断被按下的按键的类型,若为电源键则执行步骤S2,若为删除键则执行步骤S4,若为第一数字键组中的任意按键则执行步骤S5,若为第二数字键组中的任意按键则执行步骤S6,若为确认键则执行步骤S9 ;具体地,按键可以是按钮、触摸键、微型开关、光电开关、感应式开关等不同形式;其中,所述电源键、所述删除键以及所述确认键可以是独立按键,也可以任意两者共用同一按键,还可以是第一数字键组中的任意按键相应地,当电源键为第一数字键组中的任意按键时,在本步骤中,当判断出被按下的按键为第一数字键组中的任意按键时,判断是否为第一预设按键,是则判断按键被按下的时间是否超过预设时长,且当超过预设时长时执行步骤S2,当未超过预设时长时执行步骤S5 ;否则执行步骤S5 ;当删除键为第一数字键组中的任意键时,在本步骤中,当判断出被按下的按键为第一数字键组中的任意按键时判断是否为第二预设按键,是则判断按键被按下的时间是否超过预设时长,且当超过预设时长时执行步骤S4,当未超过预设时长时执行步骤S5 ;否则执行步骤S5 ;当确认键为第一数字键组中的任意键时,在本步骤中,当判断出被按下的按键为第一数字键组中的任意按键时判断是否为第三预设按键,是则判断按键被按下的时间是否超过预设时长,且当超过预设时长时执行步骤S9,当未超过预设时长时执行步骤S5 ;否则执行步骤S5 ;当电源键和删除键共用ー个按键时,在本步骤中,当判断出被按下的按键为电源键时判断按键被按下的时间是否超过预设时长,是则执行步骤S2,否则执行步骤S4 ;当确认键和电源键共用ー个按键时,在本步骤中,当判断出被按下的按键为确认键时判断按键被按下的时间是否超过预设时长,是则执行步骤S2,否则执行步骤S9 ;当确认键和删除键共用ー个按键时,在本步骤中,当判断出被按下的按键为确认键时判断按键被按下的时间是否超过预设时长,是则执行步骤S4,否则执行步骤S9。优选地,在本实施例中,为防止静电等干扰和按键本身的抖动弓I起的按键标志被置位,当令牌检测到按键标志被置位后还包括按键消抖处理,具体为当检测到按键标志被置位后判断按键被按下的时间是否超过预设时间,是则执行步骤SI,否则清除按键标志,进入休眠状态,继续等待按键标志被置位,其中检测按键被按下的时间的办法可为多种,在此不做限定;优选地,在本实施例中,所述预设时间为20毫秒;还可以采用硬件电路实现按键消抖处理,具体可根据RS触发器的特性实现。步骤S2 :检查开机标志,当所述开机标志被置位时,将所述开机标志复位,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤SI ;当所述开机标志未被置位吋, 将所述开机标志置位,顺序执行下一歩;步骤S3 :检查锁定标志,当所述锁定标志被置位时,显示提示动态令牌已锁定的信息,将状态标识置为第一预设值,显示提示输入解锁码的信息,执行步骤S15 ;当所述锁定标志未被置位吋,将所述状态标识置为第二预设值,显示提示输入开机密码的信息,执行步骤S15 ;步骤S4 :检查所述开机标志,当所述开机标志被置位时,删除数据缓存区末端的 ー个单元数据,显示相应数字,执行步骤S15,若所述数据缓存区中没有数据,则直接执行步骤S15 ;当所述开机标志未被置位时,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤SI ;其中,在所述数据缓存区中用ー个单元数据表示ー个数字,所述ー个単元数据为经过编码的或未经编码的;所述显示相应数字具体包括显示所述数据缓存区中全部単元数据所对应的数字,显示的相应数字为数据明文或符号“-”或先显示固定时间数据明文后用符号“-”代替所述数据明文,当所述状态标识的不同预设值对应不同的显示方式时,具体根据所述状态标识的当前值选择显示方式。步骤S5 :检查所述开机标志,当所述开机标志被置位吋,保存相应数据到数据缓存区,并显示相应数字,执行步骤S15;当所述开机标志未被置位时,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤SI ;其中,所述保存相应数据到数据缓存区具体包括根据所述状态标识判断所述数据缓存区中単元数据的个数是否已超过预设个数,是则保存最先或最后的预设个数的単元数据, 否则保存全部単元数据。步骤S6 :检查所述开机标志,当所述开机标志被置位吋,顺序执行下一歩,当所述开机标志未被置位时,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤SI ;步骤S7 :检查所述状态标识,当所述状态标识为第三预设值吋,顺序执行下一歩, 否则保存相应数据到数据缓存区,并显示相应数字,执行步骤S15 ;步骤S8 :判断所述按键被连续按下的时间是否超过预设时长,是则将所述状态标识置为第五预设值,显示提示重新设定开机密码的信息,执行步骤S15 ;否则直接执行步骤 S15 ;
步骤S9 :检查所述开机标志,当所述开机标志被置位时,顺序执行下一步,当所述开机标志未被置位时,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤Si ;步骤SlO :检查所述状 态标识,当所述状态标识为第一预设值时执行步骤S11,当所述状态标识为第二预设值时执行步骤S12,当所述状态标识为第三预设值时执行步骤S13,当所述状态标识为第五预设值时执行步骤S14 ;步骤Sll :计算生成解锁码验证码,并判断所述数据缓存区中的数据与计算生成的解锁码验证码是否一致,是则将所述锁定标志复位,将所述状态标识置为第五预设值,显示提示用户重新设定开机密码的信息,清除数据缓存区中的数据,执行步骤S15 ;否则清除所述数据缓存区中的数据,返回执行步骤S3 ;步骤S12 :判断所述数据缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,清除数据缓存区中的数据,执行步骤S15 ;否则将所述锁定标志置位,清除数据缓存区中的数据,返回执行步骤S3 ;优选地,所述动态令牌中可设置有可用密码重试次数;相应地当所述锁定标志未被置位时,判断所述数据缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,并将所述可用密码重试次数置为初始值,清除数据缓存区中的数据,执行步骤S15 ;否则清除数据缓存区中的数据,计算所述可用密码重试次数减1,结果作为当前可用密码重试次数,判断当前可用密码重试次数是否为0,是则将所述锁定标志置位,返回执行步骤S3,否则直接返回执行步骤S3。步骤S13 :计算生成动态口令,显示与所述动态口令相对应的内容,执行步骤S15。步骤S14 :判断数据缓存区中的数据是否符合预设条件,是则用所述数据缓冲区中的数据替换当前所述令牌内部存储的开机密码,将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,清除数据缓存区中的数据,执行步骤S15 ;否则清除数据缓存区中的数据,执行步骤S15;步骤S15 :判断在预定时间内是否检测到所述按键标志被置位,是则执行步骤SI,否则,将所述开机标志复位,进入休眠状态,且当重新检测到所述按键标志被置位后执行步骤SI。优选地,所述步骤SlO中还可以包括当所述状态标识为第四预设值时执行步骤S16 ;当所述状态标识为第六预设值时执行步骤S17 ;当所述状态标识为第七预设值时执行步骤S18 ;其中所述步骤S16、步骤S17、步骤S18具体为步骤S16 :判断所述数据缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第五预设值,显示提示重新设定开机密码的信息,清除所述数据缓存区中的数据,执行步骤S15 ;否则清除所述数据缓存区中的数据,执行步骤S15 ;相应地,步骤S8中当判断出所述被按下的按键被连续按下的时间是超过预设时长时包括将所述状态标识置为第四预设值,显示提示输入当前开机密码的信息,执行步骤S15。步骤S17 :判断所述数据缓存区中的数据与新开机密码是否一致,是则用所述新开机密码替换当前所述动态令牌内部存储的开机密码,将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,清除所述数据缓存区中的数据,执行步骤S15 ;否则将所述状态标识置为第五预设值,显示提示重新设定开机密码的信息,清除所述数据缓存区中的数据,执行步骤S15;相应地,步骤S14中当判断出所述数据缓存区中的数据符合预设条件吋,将所述数据缓存区中的数据存储为新开机密码,将所述状态标识置为第六预设值,显示提示确认重新设定的开机密码的信息,清除所述数据缓存区中的数据,执行步骤S15。步骤S18 :将所述状态标识置为第三预设值,执行步骤S15。相应地,所述步骤S13中所述计算生成动态ロ令后还包括将所述状态标识置为第七预设值,判断在所述动态ロ令失效前是否检测到所述按键标识被置位,是则返回执行步骤SI,否则当所述动态ロ令失效时将所述状态标识置为第三预设值,执行步骤S15。实施例ニ为了有效地防止动态令牌被盗用、动态令牌丢失、种子文件丢失以及群举的可能, 本发明实施例以电源键和删除键共用一个按键、数字按键I 9作为第一数字键组、数字键0作为第二数字键组为例提供了一种实施例一中提供的一种动态令牌的具体实现方法, 其中,所述动态令牌通常情况下处于休眠状态,当有按键被按下时被唤醒,并将按键标志置位,当电源键被连续按下超过预设时长,或在预定时间内没有按键输入时重新进入休眠状态,同时将状态标识恢复为默认值、保存当前可用密码重试次数以及锁定标志的当前状态。 參见图I、图2、图3、图4和图5,当检测到按键标志被置位后,动态令牌执行以下操作步骤101 :清除按键标志,扫描键盘,判断被按下的按键的类型,若为电源键则执行步骤102,若为数字键I 9中的任意键则执行步骤118,若为数字键0则执行步骤127, 若为OK键则执行步骤139 ;步骤102 :判断设备是否初始化,是则执行步骤106,否则顺序执行下一歩;具体地,设备初始化的过程即为向动态令牌中写入用户信息的过程。步骤103 :液晶屏自检;步骤104 :判断预定时间内是否检测到按键标志被置位,是则返回执行步骤101, 否则顺序执行下一歩;步骤105 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤106 :检查开机标志是否被置位,是则顺序执行下一歩,否则执行步骤110 ;步骤107 :判断电源键被按下的时间是否超过预设时长,是则顺序执行下一歩,否则执行步骤109 ;优选地,本实施例中,所述预设时长为2秒。步骤108 :将开机标志复位,进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤109 :删除数据缓存区末端的ー个单元数据,显示相应数字,执行步骤116,若所述数据缓存区中没有数据,则跳过本步骤直接执行步骤116 ;其中,在所述数据缓存区中用ー个单元数据表示ー个数字,所述ー个字节数据为经过编码的或未经编码的,所述显示相应数字具体为显示数据缓存区中所有単元数据所对应的数字。步骤110 :判断电源键被按下的时间是否超过预设时长,是则顺序执行下一歩,否则执行步骤112 ;步骤111 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤112 :将开机标志置位;步骤113 :检查锁定标志是否被置位,是则顺序执行下一歩,否则执行步骤115 ;步骤114 :将状态标识置为第一预设值,显示输入解锁码界面,执行步骤116 ;步骤115 :将状态标识置为第二预设值,显示输入开机密码界面;步骤116 :判断预定时间内是否检测到按键标志被置位,是则返回执行步骤101, 否则顺序执行下一歩;步骤117 :将开机标志复位,进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤118 :判断设备是否初始化,是则执行步骤122,否则顺序执行下一歩;步骤119 :显示相应数字;步骤120 :判断预定时间内是否检测到按键标志被置位,是则返回执行步骤101, 否则顺序执行下一歩;步骤121 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤122 :检查开机标志是否被置位,是则执行步骤124,否则顺序执行下一歩;步骤123 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤124 :保存相应的数据到数据缓存区,并显示相应的数字;优选地,在本实施例中,当所述状态标识为第二预设值或第四预设值或第五预设值或第六预设值时,判断数据缓存区中単元数据的个数是否已超过6个,是则保存最先或最后的6个单元数据,否则保存全部単元数据;当所述状态标识为第一预设值时,判断数据缓存区中単元数据的个数是否超过8个,是则保存最先或最后8个单元数据,否则保存全部单元数据;所述显示相应数字具体为显示数据缓存区中全部単元数据对应的数字;其中,所述显示相应数字时可以显示明文也可以用“-”或“*”等符号代替,或先显示一段时间明文后,用“-”或“*”等符号替换明文,当不同状态标识采用不同显示方式吋, 根据所述状态标识选择显示方式。步骤125 :判断预定时间内是否检测到按键标志被置位,是则返回执行步骤101, 否则顺序执行下一歩;步骤126 :将开机标志复位,进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤127 :判断设备是否初始化,是则执行步骤131,否则顺序执行下一歩;步骤128:显示数字0;步骤129 :判断预定时间内是否检测到按键标志被置位,是则返回执行步骤101, 否则顺序执行下一歩;步骤130 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤131 :检查开机标志是否被置位,是则执行步骤133,否则顺序执行下一歩;步骤132 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤133 :检查状态标识,若所述状态标识为第三预设值则执行步骤135,否则顺
16序执行下一步; 步骤134 :保存相应的数据到数据缓存区,并显示相应的数字,执行步骤137 ;具体地,本步骤的具体方法与步骤I 24相同,在此不再赘述。步骤135 :判断数字键O被按下的时间是否超过预设时长,是则顺序执行下一步,否则执行步骤137 ;步骤136 :将状态标识置为第四预设值,显示修改开机密码界面,执行步骤137 ;步骤137 :判断预定时间内是否检测到按键标志被置位,是则返回执行步骤101,否则顺序执行下一步;步骤138 :将开机标志复位,进入休眠状态,且当重新检测到按键标志被置位时执行步骤101 ;步骤139 :判断设备是否初始化,是则执行步骤143,否则顺序执行下一步;步骤140 :显示预设信息;具体的,在本实施例中,所述预设信息为“成功”。步骤141 :判断预定时间内是否检测到按键标志被置位,是则执行步骤101,否则顺序执行下一步;步骤142 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤143 :检查开机标志是否被置位,是则执行步骤145,否则顺序执行下一步;步骤144 :进入休眠状态,且当重新检测到按键标志被置位后执行步骤101 ;步骤145 :检查状态标识,若所述状态标识为第三预设值,则执行步骤146,若所述状态标识为第二预设值,则执行步骤149,若所述状态标识为第一预设值,则执行步骤151 ;若所述状态标识为第四预设值,则执行步骤157,若所述状态标识为第五预设值,则执行步骤160,若所述状态标识为第六预设值,则执行步骤163,若所述状态标识为第七预设值,则执行步骤166 ;步骤146 :计算生成动态口令,将状态标识置为第七预设值,显示与所述动态口令相对应的内容;具体地,在本实施例中,所述动态令牌计算生成6位的动态口令,所述计算生成动态口令可以为根据时间因子(或事件因子)和预先存储在所述动态令牌中的静态因子生成动态口令,或根据时间因子(或事件因子)、数据缓存区中的数据和预先存储在所述动态令牌中的静态因子生成动态口令,在此不做限定;优选地,在本实施例中,所述显示相应数据具体为显示所述动态口令的前4位,后2位用符号代替;进一步地,还可以显示时间条,用于表示当前动态口令剩余的有效时间。步骤147 :判断在所述动态口令有效时是否检测到按键标志被置位,是则返回执行步骤101,否则当所述动态口令失效时顺序执行下一步步骤148 :将状态标识设为第三预设值,显示信息界面,执行步骤167 ;步骤149 :计算生成解锁码验证码,并判断数据缓存区中的数据是否与所述解锁码验证码一致,是则顺序执行下一步,否则执行步骤155 ;具体地,所述动态令牌根据静态因子和时间因子(或事件因子),或根据静态因子、时间因子(或事件因子)和数据缓存区中的数据,采用预设算法计算生成三个8位解锁码验证码,所述三个解锁码验证码分别对应当前时间因子的前一个时间因子,当前时间因子,当前时间因子的后一个时间因子或当前事件因子、后一个相邻事件因子、后一个间隔的事件因子;进ー步地,所述数据缓存区中的相应数字是否与所述解锁码验证码一致具体为与所述动态令牌计算生成的三个解锁码验证码中的任意ー个相同。步骤150 :清除数据缓存区中的数据,将锁定标志复位,将状态标识置为第五预设值,显示设定新开机密码界面,执行步骤167 ;步骤151 :判断数据缓存区中的数据是否与所述动态令牌中存储的开机密码ー 致,是则执行步骤156,否则顺序执行下一歩;步骤152 :清除数据缓存区中的数据,计算当前密码重试次数减1,结果作为可用密码重试次数;具体地,在本实施例中,如果是第一次执行本步骤,所述当前密码重试次数的初始值为6,否则所述当前密码重试次数是上一次执行本步骤时计算得到的可用密码重试次数。步骤153 :判断所述可用密码重试次数是否为0,是则将锁定标志置位,顺序执行步骤154,否则直接执行步骤154 ;步骤154 :提示开机密码错误以及可用密码重试次数,顺序执行步骤155 ;步骤155 :清除数据缓存区中的数据,返回执行步骤113 ;步骤156 :清除数据缓存区中的数据,将状态标识置为第三预设值,显示信息界面,执行步骤167 ;步骤157 :判断数据缓存区中的数据是否与所述动态令牌中存储的开机密码ー 致,是则顺序执行下一歩,否则执行步骤159 ;步骤158 :清除数据缓存区中的数据,将状态标识置为第五预设值,显示设定新开机密码界面,执行步骤167 ;步骤159 :清除数据缓存区中的数据,提示开机密码错误,执行步骤167 ;步骤160 :判断数据缓存区中的数据是否符合预设条件,是则顺序执行下一歩,否则执行步骤162 ;优选地,在本实施例中,所述数据缓存区中的数据满足预设条件具体为所述数据缓存区中的数据对应6位0 9的数字。步骤161 :清除数据缓存区中的数据,将用户输入的数据存储为P1,将状态标识置为第六预设值,显示确认新开机密码界面,执行步骤167 ;步骤162 :清除数据缓存区中的数据,提示修改开机密码失败,执行步骤167 ;步骤163 :判断数据缓存区中的数据是否与Pl相同,是则执行步骤165,否则顺序执行下一歩;步骤164 :清除数据缓存区中的数据,提示修改开机密码失败,将状态标识置为第五预设值,显示设定新开机密码界面,执行步骤167 ;步骤165 :清除数据缓存区中的数据,用所述Pl替换动态令牌内部存储的开机密码,将状态标识置为第三预设值,显示信息界面,执行步骤167 ;步骤166 :将状态标识置为第三预设值,显示信息界面;步骤167 :判断在预定时间内是否检测到按键标志被置位,是则返回执行步骤101,否则顺序执行下一步;步骤168 :将开机标志复位,进入休眠状态,且当重新检测到按键标志被置位后执行步骤101。实施例三 为了有效地防止动态令牌被盗用、动态令牌丢失、种子文件丢失以及群举的可能,本发明实施例提供了另一种动态令牌的工作方法,其中,所述动态令牌通常情况下处于休眠状态,当有按键被按下时被唤醒,将按键标志置位,当电源键被连续按下超过预设时长,或在预定时间内没有按键输入时重新进入休眠状态,同时将状态标识恢复为默认值、保存当前可用密码重试次数以及锁定标志的当前状态。当检测到所述按键标志被置位,且动态令牌未完成初始化时,所述动态令牌根据被按下的按键的类型检测液晶屏和键盘是否可用;当检测到所述按键标志被置位,且动态令牌已经完成初始化时,动态令牌执行以下操作步骤201 :清除按键标志,扫描按键,判断被按下的按键的类型,若为电源键则执行步骤202,若为删除键则执行步骤203,若为数字键则执行步骤204,若为确认键则执行步骤 206 ;优选地,在本实施例中,为防止静电等干扰和按键本身的抖动弓I起的按键标志被置位,当令牌检测到按键标志被置位后还包括按键消抖处理,具体为当检测到按键标志被置位后判断按键被按下的时间是否超过预设时间,是则执行步骤SI,否则清除按键标志,进入休眠状态,继续等待按键标志被置位,其中检测按键被按下的时间的办法可为多种,在此不做限定;优选地,在本实施例中,所述预设时间为20毫秒。还可以采用硬件电路实现按键消抖处理,具体可根据RS触发器的特性实现。步骤202 :检查开机标志,当所述开机标志被置位时,将所述开机标志复位,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤201 ;当所述开机标志未被置位时,将所述开机标志置位,执行步骤203 ;步骤203 :检查锁定标志是否被置位,是则显示提示动态令牌已锁定的信息,将状态标识置为第一预设值,显示提示输入解锁码的信息,执行步骤212 ;否则将所述状态标识置为第二预设值,显示提示输入开机密码的信息,执行步骤212 ;步骤204 :检查所述开机标志,当所述开机标志被置位时,检查状态标识,删除相应缓存区末端的一个单元数据,显示相应数字,执行步骤212,若所述相应缓存区中没有数据,则直接执行步骤212;当所述开机标志未被置位时,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤201 ;具体地,所述检查状态标识,删除相应缓存区末端的一个单元数据包括检查状态标识,若为第一预设值则删除解锁码缓冲区末端的一个单元数据;若为第二预设值或第四预设值则删除开机密码缓存区末端的一个单元数据;若为第五预设值则删除新开机密码缓存区末端的一个单元数据;若为第六预设值则删除确认新开机密码缓存区末端的一个单元数据;若为其它则不做处理;,在所述数据缓存区中用ー个单元数据表示ー个数字,所述ー个単元数据为经过编码的或未经编码的;所述显示相应数字具体包括显示所述数据缓存区中全部単元数据所对应的数字,显示的相应数字为数据明文或符号“-”或先显示固定时间数据明文后用符号“-”代替所述数据明文,当所述状态标识的不同预设值对应不同的显示方式时,具体根据所述状态标识的当前值选择显示方式。步骤205 :检查所述开机标志,当所述开机标志被置位吋,检查状态标识,根据按键的键值保存相应数据到相应缓存区,执行步骤212 ;当所述开机标志未被置位时,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤201 ;具体地,所述检查状态标识,根据按键的键值保存相应数据到相应缓存区包括检查状态标识,若为第一预设值则保存相应数据到解锁码缓存区;若为第二或第四预设值则保存相应数据到开机密码缓存区;若为第五预设值则保存相应数据到新开机密码缓存区; 若为第六预设值则保存相应数据到确认新开机密码缓存区;若为其它则不做处理;其中,所述保存相应数据到相应数据缓存区具体包括根据所述状态标识判断相应缓存区中単元数据的个数是否已超过预设个数,是则保存最先或最后的预设个数的単元数据,否则保存全部単元数据。步骤206 :检查所述开机标志,当所述开机标志被置位吋,检查所述状态标识,当所述状态标识为第三预设值时判断所述按键被连续按下的时间是否超过预设时长,是则将所述状态标识置为第五预设值,显示提示重新设定开机密码的信息,执行步骤212,否则直接执行步骤212,当所述状态标识不为第三预设值时保存相应数据到相应缓存区,并显示相应数字,执行步骤212 ;当所述开机标志未被置位吋,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤211 ;具体地,所述当所述状态标识不为第三预设值时保存相应数据到相应缓存区包括若为第一预设值则保存相应数据到解锁码缓存区;若为第二或第四预设值则保存相应数据到开机密码缓存区;若为第五预设值则保存相应数据到新开机密码缓存区;若为第六预设值则保存相应数据到确认新开机密码缓存区;若为其它则不做处理。步骤207 :检查所述开机标志,当所述开机标志被置位吋,检查所述状态标识,当所述状态标识为第一预设值时执行步骤208,当所述状态标识为第二预设值时执行步骤 209,当所述状态标识为第三预设值时执行步骤210 ;当所述状态标识为第五预设值时执行步骤211 ;当所述开机标志未被置位时,进入休眠状态,当重新检测到所述按键标志被置位后执行步骤201 ;步骤208 :计算生成解锁码验证码,并判断解锁码缓存区中的数据与计算生成的解锁码验证码是否一致,是则将所述锁定标志复位,将所述状态标识置为第五预设值,显示提示用户重新设定开机密码的信息,清除解锁码缓存区中的数据,执行步骤212 ;否则清除解锁码缓存区中的数据,返回执行步骤203 ;具体地,所述计算生成解锁码验证码的方法与实施例ニ中计算生成解锁码验证码的方法相同,在此不再赘述。步骤209 :判断所述开机密码缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,清除开机密码缓存区中的数据,执行步骤212 ;否则将所述锁定标志置位,清除开机密码缓存区中的数据,返回执行步骤203;优选地,所述动态令牌中可设置有可用密码重试次数;相应地当所述锁定标志未被置位时,判断所述开机密码缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,并将所述可用密码重试次数置为初始值,清除开机密码缓存区中的数据,执行步骤212 ;否则清除开机密码缓存区中的数据,计算所述可用密码重试次数减 1,结果作为当前可用密码重试次数,判断当前可用密码重试次数是否为0,是则将所述锁定标志置位,返回执行步骤203,否则直接返回执行步骤203。步骤210 :计算生成动态ロ令,显示与所述动态ロ令相对应的内容,执行步骤212 ;具体地,所述计算生成动态ロ令的方法与实施例ニ中计算生成动态ロ令的方法相同,在此不再赘述。步骤211 :判断新开机密码缓存区中的数据是否符合预设条件,是则用所述新开机密码缓存区中的数据替换当前所述令牌内部存储的开机密码,将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,清除新开机密码缓存区中的数据,执行步骤212; 否则清除新开机密码缓存区中的数据,执行步骤212 ;步骤212 :判断在预定时间内是否检测到所述按键标志被置位,是则执行步骤 201,否则,将所述开机标志复位,进入休眠状态,且当重新检测到所述按键标志被置位后执行步骤201。优选地,所述步骤207中还可以包括当所述状态标识为第四预设值时执行步骤 213 ;当所述状态标识为第六预设值时执行步骤214 ;当所述状态标识为第七预设值时执行步骤215 ;其中所述步骤213、步骤214、步骤215具体为步骤213 :判断开机密码缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第五预设值,显示提示重新设定开机密码的信息,清除开机密码缓存区中的数据,执行步骤212 ;否则清除开机密码缓存区中的数据,执行步骤212 ;相应地,步骤206中当判断出所述被按下的按键被连续按下的时间是超过预设时长时包括将所述状态标识置为第四预设值,显示提示输入当前开机密码的信息,执行步骤 212。步骤214:判断确认开机密码缓存区中的数据与新开机密码是否一致,是则用所述新开机密码替换当前所述动态令牌内部存储的开机密码,将所述状态标识置为第三预设值,显示提示已进入信息界面的信息,清除确认开机密码缓存区中的数据,执行步骤212 ; 否则将所述状态标识置为第五预设值,显示提示重新设定开机密码的信息,清除确认开机密码缓存区中的数据,执行步骤212 ;相应地,步骤211中当判断出新开机密码缓存区中的数据符合预设条件时,将新开机密码缓存区中的数据存储为新开机密码,将所述状态标识置为第六预设值,显示提示确认重新设定的开机密码的信息,清除新开机密码缓存区中的数据,执行步骤212。步骤215 :将所述状态标识置为第三预设值,执行步骤212。相应地,所述步骤210中所述计算生成动态ロ令后还包括将所述状态标识置为第七预设值,判断在所述动态ロ令失效前是否检测到所述按键标识被置位,是则返回执行步骤201,否则当所述动态口令失效时将所述状态标识置为第三预设值,执行步骤212。具体地,在本实施例中,所述解锁码缓存区和开机码缓存区使用同一个存储区域。此外也可以有其他的缓存区共享方式,如解锁码缓存区和新开机码缓存区共用一个存储区域等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此 ,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种动态令牌的工作方法,其特征在于,当所述动态令牌检测到其按键标志被置位后包括 步骤A :清除按键标志,扫描按键,判断被按下的按键的类型,若为电源键则执行步骤B,若为删除键则执行步骤D,若为第一数字键组中的任意按键则执行步骤E,若为第二数字键组中的任意按键则执行步骤F,若为确认键则执行步骤G ; 步骤B :检查开机标志,当所述开机标志被置位时,将所述开机标志复位,进入休眠状态;当所述开机标志未被置位时,将所述开机标志置位,执行步骤C ; 步骤C :检查锁定标志,若所述锁定标志被置位则将状态标识置为第一预设值,执行步骤L ;若所述锁定标志未被置位则将所述状态标识置为第二预设值,执行步骤L ; 步骤D :检查所述开机标志,当所述开机标志被置位时,删除数据缓存区末端的一个单元数据,显示相应数字,执行步骤L ;当所述开机标志未被置位时,进入休眠状态; 步骤E :检查所述开机标志,当所述开机标志被置位时,保存相应数据到所述数据缓存区,并显示相应数字,执行步骤L ;当所述开机标志未被置位时,进入休眠状态; 步骤F :检查所述开机标志, 当所述开机标志被置位且所述状态标识为第三预设值时,判断所述被按下的按键被连续按下的时间是否超过预设时长,是则将所述状态标识置为第五预设值,执行步骤L,否则直接执行步骤L ; 当所述开机标志被置位且所述状态标识不为第三预设值时,保存相应的数据到所述数据缓存区,并显示相应数字,执行步骤L ; 当所述开机标志未被置位时,进入休眠状态; 步骤G :检查所述开机标志, 当所述开机标志被置位时,检查所述状态标识,若所述状态标识为第一预设值则执行步骤H,若为第二预设值则执行步骤I,若为第三预设值则执行步骤J,若为第五预设值则执行步骤K ; 当所述开机标志未被置位时,进入休眠状态; 步骤H :计算生成解锁码验证码,并判断所述数据缓存区中的数据与计算生成的解锁码验证码是否一致,是则将所述锁定标志复位,将所述状态标识置为第五预设值,清除所述数据缓存区中的数据,执行步骤L ;否则清除所述数据缓存区中的数据,返回执行步骤C ;步骤I :判断所述数据缓存区中的数据与所述动态令牌内部当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,清除所述数据缓存区中的数据,执行步骤L ;否则清除所述数据缓存区中的数据,将所述锁定标志置位,返回执行步骤C ; 步骤J :计算生成动态口令,显示与所述动态口令相对应的内容,执行步骤L ;步骤K :判断所述数据缓存区中的数据是否符合预设条件,是则用所述数据缓存区中的数据替换所述动态令牌内部当前存储的开机密码,清除所述数据缓存区中的数据,将所述状态标识置为第三预设值,执行步骤L ;否则清除所述数据缓存区中的数据,执行步骤L ;步骤L :判断在预定时间内是否检测到所述按键标志被置位,是则返回执行步骤A ;否则将所述开机标志复位,进入休眠状态。
2.根据权利要求I所述的方法,其特征在于,当所述动态令牌检测到其按键标志被置位后还包括判断所述动态令牌是否已完成初始化,是则执行步骤A,否则所述动态令牌根据被按下的按键的类型检测液晶屏和按键是否可用。
3.根据权利要求I所述的方法,其特征在干,当所述动态令牌判断出被按下的按键为所述电源键后还包括判断所述电源键被连续按下的时间是否超过了预设时长,是则执行步骤B,否则认定被按下的按键为所述删除键,执行步骤D。
4.根据权利要求I所述的方法,其特征在于,所述动态令牌中设置有可用密码重试次数,相应地所述步骤I中当判断出所述数据缓存区中的数据与所述动态令牌内部当前存储的开机密码一致时还包括将所述可用密码重试次数置为初始值;当判断出所述数据缓存区中的数据与所述动态令牌内部当前存储的开机密码不一致时具体包括清除所述数据缓存区中的数据,计算所述可用密码重试次数减1,结果作为当前可用密码重试次数,判断当前可用密码重试次数是否为0,是则将所述锁定标志置位,执行步骤L,否则直接执行步骤し
5.根据权利要求4所述的方法,其特征在干,当所述动态令牌进入休眠状态时,将所述状态标识恢复为默认值,保存当前可用密码重试次数以及所述锁定标志的状态,且当重新检测到所述按键标志被置位时执行步骤A。
6.根据权利要求5所述的方法,其特征在于,在所述步骤D中,当所述开机标志被置位时,若所述数据缓存区中没有数据,则直接执行步骤L。
7.根据权利要求6所述的方法,其特征在于,在所述数据缓存区中用一个单元数据表示ー个数字,所述ー个単元数据为经过编码的或未经编码的;所述保存相应数据到数据缓存区具体包括根据所述状态标识判断所述数据缓存区中単元数据的个数是否已超过预设个数,是则保存最先或最后的预设个数的単元数据,否则保存全部単元数据;所述显示相应数字具体包括显示所述数据缓存区中全部単元数据所对应的数字,显示的相应数字为数据明文或符号“-”或先显示固定时间数据明文后用符号“-”代替所述数据明文,当所述状态标识的不同预设值对应不同的显示方式时,具体根据所述状态标识的当前值选择显示方式。
8.根据权利要求I所述的方法,其特征在干,所述计算生成解锁码验证码具体包括所述动态令牌根据其内部的静态因子和动态因子,或根据所述数据缓存区中的数据及其内部的静态因子和动态因子,采用预设算法计算生成一个或多个预设位长的解锁码验证码,其中所述动态因子为时间因子或事件因子;当生成ー个解锁码验证码时,所述动态因子为当前动态因子;当生成多个解锁码验证码时,所述动态因子为以当前动态因子为中点或为起点的多个动态因子;判断所述数据缓存区中的数据与计算生成的解锁码验证码是否一致具体为判断所述数据缓存区中的数据是否与所述ー个解锁码验证码相同或是否与所述多个解锁码验证码中的任意ー个相同。
9.根据权利要求I所述的方法,其特征在干,所述计算生成动态ロ令具体包括所述动态令牌根据动态因子和预先存储在所述动态令牌中的静态因子,或根据动态因子、所述数据缓存区中的数据和预先存储在所述动态令牌中的静态因子生成长度为6位的动态ロ令,其中,所述动态因子为时间因子或事件因子;所述显示与所述动态ロ令相对应的内容具体为显示所述动态ロ令的前4位,其后2位用符号“-”代替。
10.根据权利要求I所述的方法,其特征在于,所述步骤G中还包括当所述状态标识为第四预设值时执行步骤M,其中所述步骤M具体包括判断所述数据缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第五预设值,清除所述数据缓存区中的数据,执行步骤L ;否则清除所述数据缓存区中的数据,执行步骤L ;相应地,步骤F中当判断出所述被按下的按键被连续按下的时间超过预设时长时包括将所述状态标识置为第四预设值,执行步骤し
11.根据权利要求I所述的方法,其特征在于,所述步骤G中还包括当所述状态标识为第六预设值时执行步骤N,其中所述步骤N具体包括判断所述数据缓存区中的数据与新开机密码是否一致,是则用所述新开机密码替换当前所述动态令牌内部存储的开机密码,将所述状态标识置为第三预设值,清除所述数据缓存区中的数据,执行步骤L ;否则清除所述数据缓存区中的数据,将所述状态标识置为第五预设值,执行步骤L ;相应地,步骤K中当判断出所述数据缓存区中的数据符合预设条件吋,将所述数据缓存区中的数据存储为新开机密码,将所述状态标识置为第六预设值,清除所述数据缓存区中的数据,执行步骤し
12.根据权利要求I所述的方法,其特征在于,所述步骤G中还包括当所述状态标识为第七预设值时执行步骤0,其中所述步骤0具体包括将所述状态标识置为第三预设值, 执行步骤L ;相应地,所述步骤J中所述计算生成动态ロ令后还包括将所述状态标识置为第七预设值,判断在所述动态ロ令失效前是否检测到所述按键标识被置位,是则返回执行步骤A, 否则当所述动态ロ令失效时将所述状态标识置为第三预设值,执行步骤し
13.根据权利要求10、11、12任ー权利要求所述的方法,其特征在干,当所述动态令牌检测到所述锁定标志被置位时还包括显示提示动态令牌已锁定的信息;所述将所述状态标识置为第一预设值时还包括显示提示输入解锁码的信息;所述将所述状态标识置为第二预设值时还包括显示提示输入开机密码的信息;所述将所述状态标识置为第三预设值时还包括显示提示已进入信息界面的信息;所述将所述状态标识置为第四预设值时还包括显示提示输入当前开机密码的信息;所述将所述状态标识置为第五预设值时还包括显示提示重新设定开机密码的信息;所述将所述状态标识置为第六预设值时还包括显示提示确认重新设定的开机密码的信息。
14.根据权利要求I所述的方法,其特征在干,当所述动态令牌检测到按键标志被置位后还包括按键消抖处理,具体为当检测到按键标志被置位后判断按键被按下的时间是否超过预设时间,是则执行步骤 A,否则清除按键标志,进入休眠状态,继续等待按键标志被置位。
15.一种动态令牌的工作方法,其特征在干,当所述动态令牌检测到其按键标志被置位后包括 步骤a:清除按键标志、扫描按键,判断被按下的按键的类型,若为电源键则执行步骤b,若为删除键则执行步骤d,若为第一数字键组中的任意按键则执行步骤e,若为第二数字键组中的任意按键则执行步骤f,若为确认键则执行步骤g ; 步骤b :检查开机标志,当所述开机标志被置位时,将所述开机标志复位,进入休眠状态;当所述开机标志未被置位时,将所述开机标志置位,执行步骤c ; 步骤C :检查锁定标志,若所述锁定标志被置位则将状态标识置为第一预设值,执行步骤I ;若所述锁定标志未被置位则将所述状态标识置为第二预设值,执行步骤I ; 步骤d :检查所述开机标志,当所述开机标志被置位时,检查状态标识,删除相应缓存区末端的一个单元数据,显示相应数字,执行步骤I ;当所述开机标志未被置位时,进入休眠状态; 步骤e :检查所述开机标志,当所述开机标志被置位时,检查状态标识,保存相应数据到相应缓存区,并显示相应数字,执行步骤I ;当所述开机标志未被置位时,进入休眠状态; 步骤f :检查所述开机标志, 当所述开机标志被置位且所述状态标识为第三预设值时,判断所述被按下的按键被连续按下的时间是否超过预设时长,是则将所述状态标识置为第五预设值,执行步骤1,否则直接执行步骤I ; 当所述开机标志被置位且所述状态标识不为第三预设值时,检查状态标识,保存相应数据到相应缓存区,并显示相应数字,执行步骤I ; 当所述开机标志未被置位时,进入休眠状态; 步骤g :检查所述开机标志, 当所述开机标志被置位时,检查所述状态标识,若所述状态标识为第一预设值则执行步骤h,若为第二预设值则执行步骤i,若为第三预设值则执行步骤j,若为第五预设值则执行步骤k ; 当所述开机标志未被置位时,进入休眠状态; 步骤h :计算生成解锁码验证码,并判断解锁码数据缓存区中的数据与计算生成的解锁码验证码是否一致,是则将所述锁定标志复位,将所述状态标识置为第五预设值,清除所述解锁码缓存区中的数据,执行步骤I ;否则清除所述解锁码缓存区中的数据,返回执行步骤c; 步骤i :判断开机密码缓存区中的数据与所述动态令牌内部当前存储的开机密码是否一致,是则将所述状态标识置为第三预设值,清除所述开机密码缓存区中的数据,执行步骤I ;否则清除所述开机密码缓存区中的数据,将所述锁定标志置位,返回执行步骤c ; 步骤j :计算生成动态口令,显示与所述动态口令相对应的内容,执行步骤I ; 步骤k :判断新开机密码缓存区中的数据是否符合预设条件,是则用所述新开机密码缓存区中的数据替换所述动态令牌内部当前存储的开机密码,清除所述新开机密码缓存区中的数据,将所述状态标识置为第三预设值,执行步骤I ;否则清除所述新开机密码缓存区中的数据,执行步骤I ; 步骤I :判断在预定时间内是否检测到所述按键标志被置位,是则返回执行步骤A ;否则将所述开机标志复位,进入休眠状态。
16.根据权利要求15所述的方法,其特征在于,当所述动态令牌检测到其按键标志被置位后还包括判断所述动态令牌是否已完成初始化,是则执行步骤a,否则所述动态令牌根据被按下的按键的类型检测液晶屏和按键是否可用。
17.根据权利要求15所述的方法,其特征在于,当所述动态令牌判断出被按下的按键为所述电源键后还包括判断所述电源键被连续按下的时间是否超过了预设时长,是则执行步骤b,否则认定被按下的按键为所述删除键,执行步骤e。
18.根据权利要求15所述的方法,其特征在于,所述动态令牌中设置有可用密码重试次数,相应地所述步骤i中 当判断出所述开机密码缓存区中的数据与所述动态令牌内部当前存储的开机密码一致时还包括将所述可用密码重试次数置为初始值; 判断出所述开机密码缓存区中的数据与所述动态令牌内部当前存储的开机密码不一致时具体包括清除所述开机密码缓存区中的数据,计算所述可用密码重试次数减1,结果作为当前可用密码重试次数,判断当前可用密码重试次数是否为O,是则将所述锁定标志置位,执行步骤1,否则直接执行步骤I。
19.根据权利要求18所述的方法,其特征在于,当所述动态令牌进入休眠状态时,将所述状态标识恢复为默认值,保存当前可用密码重试次数以及所述锁定标志的状态,且当重新检测到所述按键标志被置位时执行步骤a。
20.根据权利要求19所述的方法,其特征在于,在所述步骤d中, 当所述开机标志被置位时,若所述相应缓存区中没有数据,则直接执行步骤I ; 所述检查状态标识,删除相应缓存区末端的一个单元数据包括检查状态标识,若为第一预设值则删除解锁码缓冲区末端的一个单元数据;若为第二预设值或第四预设值则删除开机密码缓存区末端的一个单元数据;若为第五预设值则删除新开机密码缓存区末端的一个单元数据;若为第六预设值则删除确认新开机密码缓存区末端的一个单元数据;若为其它则不做处理。
21.根据权利要求20所述的方法,其特征在于, 在所述相应缓存区中用一个单元数据表示一个数字,所述一个单元数据为经过编码的或未经编码的; 所述检查状态标识,保存相应数据到相应缓存区包括检查状态标识,若为第一预设值则保存相应数据到解锁码缓存区;若为第二或第四预设值则保存相应数据到开机密码缓存区;若为第五预设值则保存相应数据到新开机密码缓存区;若为第六预设值则保存相应数据到确认新开机密码缓存区;若为其它则不做处理; 所述保存相应数据到相应缓存区具体包括根据所述状态标识判断所述相应缓存区中单元数据的个数是否已超过预设个数,是则保存最先或最后的预设个数的单元数据,否则保存全部单元数据; 所述显示相应数字具体包括显示所述数据缓存区中全部单元数据所对应的数字,显示的相应数字为数据明文或符号或先显示固定时间数据明文后用符号替代所述数据明文,当所述状态标识的不同预设值对应不同的显示方式时,具体根据所述状态标识的当前值选择显示方式。
22.根据权利要求15所述的方法,其特征在于,所述当所述状态标识不为第三预设值时保存相应数据到相应缓存区包括若为第一预设值则保存相应数据到解锁码缓存区;若为第二或第四预设值则保存相应数据到开机密码缓存区;若为第五预设值则保存相应数据到新开机密码缓存区;若为第六预设值则保存相应数据到确认新开机密码缓存区;若为其它则不做处理。
23.根据权利要求15所述的方法,其特征在于,所述步骤g中还包括当所述状态标识为第四预设值时执行步骤m,其中所述步骤m具体包括判断所述开机密码缓存区中的数据与所述动态令牌当前存储的开机密码是否一致,是则将所述状态标识置为第五预设值,清除所述开机密码缓存区中的数据,执行步骤I ;否则清除所述开机密码缓存区中的数据,执行步骤I ; 相应地,步骤f中当判断出所述被按下的按键被连续按下的时间是超过预设时长时包括将所述状态标识置为第四预设值,执行步骤I。
24.根据权利要求15所述的方法,其特征在于,所述步骤g中还包括当所述状态标识为第六预设值时执行步骤n,其中所述步骤η具体包括 判断所述确认开机密码缓存区中的数据与新开机密码是否一致,是则用所述新开机密码替换当前所述动态令牌内部存储的开机密码,将所述状态标识置为第三预设值,清除所述确认开机密码缓存区中的数据,执行步骤I ;否则清除所述确认开机密码缓存区中的数据,将所述状态标识置为第五预设值,执行步骤I ; 相应地,步骤k中当判断出所述新开机密码缓存区中的数据符合预设条件时,将所述新开机密码缓存区中的数据存储为新开机密码,将所述状态标识置为第六预设值,清除所述新开机密码缓存区中的数据,执行步骤I。
25.根据权利要求15所述的方法,其特征在于,所述步骤g中还包括当所述状态标识为第七预设值时执行步骤O,其中所述步骤ο具体包括将所述状态标识置为第三预设值,执行步骤I ; 相应地,所述步骤j中所述计算生成动态口令后还包括将所述状态标识置为第七预设值,判断在所述动态口令失效前是否检测到所述按键标识被置位,是则返回执行步骤a,否则当所述动态口令失效时将所述状态标识置为第三预设值,执行步骤I。
26.根据权利要求23、24、25任一权利要求所述的方法,其特征在于, 当所述动态令牌检测到所述锁定标志被置位时还包括显示提示动态令牌已锁定的信息; 所述将所述状态标识置为第一预设值时还包括显示提示输入解锁码的信息; 所述将所述状态标识置为第二预设值时还包括显示提示输入开机密码的信息; 所述将所述状态标识置为第三预设值时还包括显示提示已进入信息界面的信息; 所述将所述状态标识置为第四预设值时还包括显示提示输入当前开机密码的信息; 所述将所述状态标识置为第五预设值时还包括显示提示重新设定开机密码的信息; 所述将所述状态标识置为第六预设值时还包括显示提示确认重新设定的开机密码的信息。
27.根据权利要求15所述的方法,其特征在于,当所述动态令牌检测到按键标志被置位后还包括按键消抖处理,具体为 当检测到按键标志被置位后判断按键被按下的时间是否超过预设时间,是则执行步骤.a,否则清除按键标志,进入休眠状态,继续等待按键标志被置位。
全文摘要
本发明公开一种动态令牌的工作方法,包括当动态令牌检测到有效按键时,判断被按下的按键的类型,若为开机键则检测当前开机标志是否被置位,是则将其复位,否则将其置位并检查锁定标志是否被置位,是则进入输入解锁码界面,否则进入信息界面;若为删除键则删除数据缓存区末端的数据;若为数字键且所述动态令牌未处于信息界面则存储相应数据至数据缓存区;若所述动态令牌处于信息界面则判断按键被按下时间是否超过预定时长,是则进入修改开机密码界面,否则存储相应数据至数据缓存区;若为确认键且所述动态令牌未处于信息界面则判断数据缓存区中的数据是否正确或是否符合要求,若所述动态令牌处于信息界面则生成动态口令并显示相应内容。
文档编号H04L9/32GK102611556SQ201210094070
公开日2012年7月25日 申请日期2012年3月31日 优先权日2012年3月31日
发明者于华章, 陆舟 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1