CN103209077B - 一种适用于动态令牌的解锁方法 - Google Patents
一种适用于动态令牌的解锁方法 Download PDFInfo
- Publication number
- CN103209077B CN103209077B CN201310129808.5A CN201310129808A CN103209077B CN 103209077 B CN103209077 B CN 103209077B CN 201310129808 A CN201310129808 A CN 201310129808A CN 103209077 B CN103209077 B CN 103209077B
- Authority
- CN
- China
- Prior art keywords
- password
- unlocking pin
- level
- unlocked
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Storage Device Security (AREA)
- Telephone Function (AREA)
Abstract
本发明公开一种适用于动态令牌的解锁方法,包括:如检测到确认键且系统状态为一级解锁状态时,根据当前时间因子和第一数据得到解锁时间因子,判断输入的解锁密码与根据解锁时间因子计算得到的多个动态口令是否匹配,如匹配则一级解锁成功,如不匹配则判断一级解锁失败次数是否等于第三预设值,是则将系统状态设为二级解锁状态,否则继续进行一级解锁;如检测到确认键且系统状态为二级解锁状态时,根据当前时间因子和第二数据得到解锁时间因子,判断输入的解锁密码与根据解锁时间因子计算得到的多个动态口令是否匹配,如匹配则二级解锁成功,如不匹配则二级解锁失败。该方法在一级解锁失败后,进行二级解锁,增加令牌使用的安全性和便利性。<!--1-->
Description
技术领域
本发明涉及密码学领域,特别涉及一种适用于动态令牌的解锁方法。
背景技术
随着电子商务和电子银行等科技的迅猛发展,互联网和移动通信也被越来越多的应用于金融交易和网上支付,对金融交易和网上支付的安全性提出了越来越高的要求。动态令牌就是为了增强金融交易和网上支付的安全性而应运产生的。
动态令牌在开机时,会要求输入开机密码(如PIN码),如果输入多次开机密码都不正确时,令牌会锁定,这时需要输入解锁密码来解锁,解锁后动态令牌才能继续使用。解锁密码是后台产生的,一般的解锁密码为动态令牌的当前动态口令,但是因为每个动态令牌在出厂时会与标准时间存在误差,即令牌显示的时间可能大于或者小于标准时间,假如以60秒为一个变化周期,假如令牌显示的时间与标准时间误差5分钟,这样为了验证解锁密码,令牌会取前后11个时间因子所对应的动态口令保存在令牌存储空间中,即11个时间因子为标准时间、标准时间+1、标准时间-1、标准时间+2、标准时间-2、…...,对应有11个解锁密码,而当令牌显示的时间与标准时间的误差较大的情况下,动态令牌解锁密码显然会使得令牌存储空间紧张,另外多次计算也会增加令牌的功耗。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种适用于动态令牌的解锁方法,其具有安全方便的特点。
一种适用于动态令牌的解锁方法,在动态令牌工作过程中当检测到唤醒标志且唤醒标志的类型为按键唤醒时,检测系统状态,如为关机状态则进行开机过程,如为检查密码状态则进行等待用户输入密码并检查密码的过程,如为解锁状态则按照所述解锁方法进行解锁过程,如为其他状态则根据系统状态执行相应操作,其中所述解锁状态包括一级解锁状态和二级解锁状态;
所述解锁方法包括:
步骤S1:检测按键的类型,如为删除键则执行步骤S2,如为数字键则执行步骤S3,如为确认键则执行步骤S5;
步骤S2:将解锁密码长度按照第一预设方法的逆方法进行变化,并清除解锁密码数据缓存区中最后存入的数据,执行步骤S4;
步骤S3:将数字键对应的数据存入所述解锁密码数据缓存区中,将所述解锁密码长度按照所述第一预设方法进行变化,执行步骤S4;
步骤S4:显示解锁界面,根据所述解锁密码长度更新输出的信息,清除按键唤醒标志,退出解锁过程;
步骤S5:判断系统状态是否为所述一级解锁状态,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤S6,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤S6;
步骤S6:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤S7,如无相同的则执行步骤S10;
步骤S7:将开机密码失败次数和一级解锁失败次数清零,复位一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,执行步骤S8;
步骤S8:判断所述系统状态是否为所述二级解锁状态,是则复位二级锁定标志,执行步骤S9,否则执行步骤S9;
步骤S9:将系统状态设为非解锁状态,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S10:判断所述系统状态是否为所述一级解锁状态,是则执行步骤S12,否则执行步骤S11;
步骤S11:显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S12:将所述一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤S13;
步骤S13:判断所述一级解锁失败次数是否等于第三预设值,是则执行步骤S14,否则显示一级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S14:将所述系统状态设为二级解锁状态,将所述二级锁定标志置位,显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
其中,上述方法中的所述步骤S5-步骤S14替换为步骤S5’-步骤S12’;
所述步骤S1中检测按键的类型为确认键时执行步骤S5’;
步骤S5’:判断所述系统状态是否为所述一级解锁状态,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤S6’,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤S10’;
步骤S6’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,分别用所述解锁密码数据缓存区中的解锁密码与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤S7’,如无相同的则执行步骤S8’;
步骤S7’:将开机密码失败次数和所述一级解锁失败次数清零,复位一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,将系统状态设为非解锁状态,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S8’:将所述一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤S9’;
步骤S9’:判断所述一级解锁失败次数是否等于第三预设值,是则将所述系统状态设为二级解锁状态,将二级锁定标志置位,显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;否则显示一级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S10’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤S11’,如无相同的无则执行步骤S12’;
步骤S11’:将开机密码失败次数和所述一级解锁失败次数清零,复位二级锁定标志和一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,将所述系统状态修改为非解锁状态,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S12’:显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
其中,所述将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,具体为:
步骤A1:将所述解锁时间因子按照第二预设方法的逆方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的所述时间型动态口令是否与所述解锁密码数据缓存区中的解锁密码相同,是则解锁成功,否则执行步骤A2;
步骤A2:将所述解锁时间因子按照第二预设方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的所述时间型动态口令是否与所述解锁密码数据缓存区中的解锁密码相同,是则解锁成功,否则执行步骤A3;
步骤A3:将所述解锁时间因子按照第二预设方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的所述时间型动态口令是否与所述解锁密码数据缓存区中的解锁密码相同,是则解锁成功,否则执行下一步。
其中,所述步骤S1和步骤S2之间包括:
步骤S20:判断所述解锁密码长度是否为第一预设值,是则显示解锁界面,退出解锁过程,否则执行步骤S2。
其中,所述步骤S1和步骤S3之间包括:
步骤S30:判断所述解锁密码长度是否小于第二预设值,是则执行步骤S3,否则执行步骤S4。
其中,所述开机过程包括:
步骤B1:判断按键类型是否为电源键,是则执行步骤B2,否则退出开机过程;
步骤B2:判断所述二级锁定标志是否置位,是则执行步骤B3,否则执行步骤B4;
步骤B3:显示二级解锁码输入界面,并将系统状态设为二级解锁状态,执行步骤B7;
步骤B4:判断所述一级锁定标志是否置位,是则执行步骤B5,否则执行步骤B6;
步骤B5:显示一级解锁码输入界面,并将系统状态设为一级解锁状态,执行步骤B7;
步骤B6:显示开机密码输入界面,并将系统状态设为检查密码状态,执行步骤B7;
步骤B7:清空所有数据缓存区,清除按键唤醒标志,退出开机过程。
其中,所述输入并检查密码的过程包括:
步骤C1:检测按键的类型,如为删除键则执行步骤C2,如为数字键则执行步骤C3,如为确认键则执行步骤C5,如为其他键则退出输入并检查密码的过程;
步骤C2:将开机密码长度按照第一预设方法的逆方法进行变化,并清除开机密码数据缓存区中最后存入的数据,执行步骤C4;
步骤C3:将数字键对应的数据存入所述开机密码数据缓存区中,将所述开机密码长度按照所述第一预设方法进行变化,执行步骤C4;
步骤C4:显示开机密码输入界面,根据所述开机密码长度更新输出的信息,清除按键唤醒标志,退出输入并检查密码的过程;
步骤C5:检查开机密码是否正确,是则执行步骤C6,否则执行步骤C10;
步骤C6:显示开机密码成功界面,将开机密码失败次数清零,执行步骤C7;
步骤C7:判断设置开机密码标志是否置位,是则执行步骤C8,否则执行步骤C9;所述动态令牌上电初始化时将设置开机密码标志置位;
步骤C8:显示新密码设定界面,将系统状态设为设定密码状态,执行步骤C13;
步骤C9:显示输入挑战码界面,将系统状态设为输入挑战码状态,执行步骤C13;
步骤C10:将开机密码失败次数按照第四预设方法进行变化,显示密码失败界面,执行步骤C11;
步骤C11:判断所述开机密码失败次数是否等于第六预设值,是则执行步骤C12,否则显示开机密码输入界面,执行步骤C13;
步骤C12:将系统状态设为一级解锁状态,置位一级锁定标志,且设置自动解锁计时器为第七预设值,显示一级解锁界面,执行步骤C13;
步骤C13:清空所述开机密码数据缓存区,清除按键唤醒标志,退出输入并检查密码的过程。
其中,所述步骤C1和步骤C2之间包括:
步骤C20:判断所述开机密码长度是否等于第四预设值,是则显示开机密码输入界面,退出输入并检查密码的过程,否则执行步骤C2。
其中,所述步骤C1和步骤C3之间包括:
步骤C30:判断所述开机密码长度是否小于第五预设值,是则执行步骤C3,否则执行步骤C4。
其中,所述根据当前时间因子和第一数据计算得到解锁时间因子,具体为:用当前时间因子对第一数据取商得到解锁时间因子;
所述根据当前时间因子和第二数据计算得到解锁时间因子,具体为:用当前时间因子对第二数据取商得到解锁时间因子。
其中,上述方法中的所述步骤S7-步骤S10、步骤S14分别替换为步骤s7-步骤s10、步骤s14;
步骤s7:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,复位一级锁定标志,显示解锁成功界面,执行步骤s8;
步骤s8:判断系统状态标志的值是否为第四数据,是则复位二级锁定标志,执行步骤s9,否则执行步骤s9;
步骤s9:修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s10:判断系统状态标志的值是否为第三数据,是则执行步骤S12,否则执行步骤S11;
步骤s14:将系统状态标志的值设为第四数据,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
其中,上述方法中的所述步骤S5至S6、s7至s10、S11至S13、s14替换为步骤s5’-步骤s12’;
所述步骤S1中检测按键的类型为确认键时执行步骤s5’;
步骤s5’:判断所述系统状态是否为一级解锁状态,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤s6’,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤s10’;
步骤s6’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤s7’,如无相同的则执行步骤s8’;
步骤s7’:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,显示解锁成功界面,修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s8’:将所述一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤s9’;
步骤s9’:判断一级解锁失败次数是否等于第三预设值,是则将系统状态标志的值设为第四数据,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;否则显示一级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s10’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤s11’,如无相同的则执行步骤s12’;
步骤s11’:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,显示解锁成功界面,修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s12’:显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
其中,所述输入并检查密码的过程包括:
步骤c1:检测按键的类型,如为删除键则执行步骤c2,如为数字键则执行步骤c3,如为确认键则执行步骤c5,如为其他键则退出输入并检查密码的过程;
步骤c2:将开机密码长度按照第一预设方法的逆方法进行变化,并清除开机密码数据缓存区中最后存入的数据,执行步骤c4;
步骤c3:将数字键对应的数据存入所述开机密码数据缓存区中,将所述开机密码长度按照所述第一预设方法进行变化,执行步骤c4;
步骤c4:显示开机密码输入界面,根据所述开机密码长度更新输出的信息,清除按键唤醒标志,退出输入并检查密码的过程;
步骤c5:检查开机密码是否正确,是则执行步骤c6,否则执行步骤c10;
步骤c6:显示开机密码成功界面,将开机密码失败次数清零,执行步骤c7;
步骤c7:判断系统状态标志的值是否为第六数据,是则执行步骤c8,否则执行步骤c9;
步骤c8:显示新密码设定界面,执行步骤c13;
步骤c9:显示输入挑战码界面,将系统状态标志的值设为第七数据,执行步骤c13;
步骤c10:将开机密码失败次数按照第四预设方法进行变化,显示密码失败界面,执行步骤c11;
步骤c11:判断所述开机密码失败次数是否等于第六预设值,是则执行步骤c12,否则显示开机密码输入界面,执行步骤c13;
步骤c12:将系统状态标志的值设为第三数据,且设置自动解锁计时器为第七预设值,显示一级解锁界面,执行步骤c13;
步骤c13:清空所述开机密码数据缓存区,清除按键唤醒标志,退出输入并检查密码的过程。
其中,所述步骤c1和步骤c2之间包括:
步骤c20:判断所述开机密码长度是否等于第四预设值,是则显示开机密码输入界面,退出输入并检查密码的过程,否则执行步骤c2。
其中,所述步骤c1和步骤c3之间包括:
步骤c30:判断所述开机密码长度是否小于第五预设值,是则执行步骤c3,否则执行步骤c4。
本发明与现有技术相比,具有以下优点:
本实施例中的技术方案可在解锁计时器的值到达预设时间时进行自动解锁,使用简单方便,而且在进行一级解锁失败多次后,会进入二级锁定,可继续进行二级解锁,增加了令牌使用的安全性和便利性。
附图说明
图1为实施例一提供的一种动态令牌的工作方法流程图;
图2为实施例二提供的当按键处理流程中系统状态为关机状态时进行开机过程的一种实现流程图;
图3为实施例三提供的当按键处理流程中系统状态为检查密码状态时进行输入密码并检查过程的一种实现流程图;
图4为实施例四提供的当按键处理流程中系统状态为解锁状态时进行解锁过程的一种实现流程图;
图5为实施例四提供的当按键处理流程中系统状态为解锁状态时进行解锁过程中检测到按键类型为确认键时进行相应操作的另一种实现流程图;
图6为实施例五提供的当按键处理流程中系统状态为检查密码状态时进行输入密码并检查过程的另一种实现流程图;
图7为实施例六提供的当按键处理流程中系统状态为解锁状态时进行解锁过程的另一种实现流程图;
图8为实施例六提供的当按键处理流程中系统状态为解锁状态时进行解锁过程中检测到按键类型为确认键时进行相应操作的再一种实现流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种动态令牌的工作方法,适用于挑战应答型动态令牌,工作流程如图1所示,包括:
步骤101:动态令牌上电,进行初始化;
本实施例中,动态令牌在进行初始化时包括对各种变量、计数器的初始化;
步骤102:当检测到唤醒标志时,判断唤醒标志的类型,如为按键唤醒则执行步骤103,如为RTC唤醒则执行步骤104,如为其他唤醒则根据唤醒标志执行相应操作;
步骤103:检测系统状态,如为关机状态则调用开机函数进行开机过程,如为检查密码状态则调用检查密码函数进行输入密码并检查的过程,如为解锁状态则调用解锁函数进行解锁过程,如为其他状态则根据系统状态执行相应操作;
在本实施例中,如系统处于解锁状态,有任何按键时都不进行其他操作,而是显示解锁界面来进行解锁操作,从而保证令牌的安全性;解锁状态包括一级解锁状态和二级解锁状态;
本实施例中的开机过程在实施例二中进行详述,输入密码并检查过程在实施例三和实施例五中进行详述,解锁过程在实施例四和实施例六中进行详述;
本实施例中检测系统状态可以通过系统状态标志位的数值或各个状态标志是否置位来实现,(1)通过系统状态标志位的值来检测系统状态,系统状态标志位的值如为0则表示系统状态为关机状态,如为1则表示系统状态为检查密码状态,如为2则表示系统状态为一级解锁状态,如为3则表示系统状态为二级解锁状态,如为4则表示系统状态为等待状态,如为5则表示系统状态为设定密码状态,如为6则表示系统状态为输入挑战码状态;(2)通过各个状态标志是否置位来检测系统状态,如关机标志置位则表示系统状态为关机状态,如检查密码标志置位则表示系统状态为检查密码状态,如一级解锁标志置位则表示系统状态为一级解锁状态,如二级解锁标志置位则表示系统状态为二级解锁状态,如等待标志置位则表示系统状态为等待状态,如设置开机密码标志置位则表示系统状态为设定密码状态,如输入挑战码标志置位则表示系统状态为输入挑战码状态;
步骤104:将无按键计数器按照预设规定变化,判断系统状态是否为等待状态,是则执行步骤105,否则执行步骤106;
优选的,本实施例中的预设规定为自加1;
本实施例中,等待状态即为屏幕显示OTP口令时的状态;动态令牌在上电时的系统状态初始化为关机状态;
本实施例中的无按键计数器的上电初始值为0,并在检查按键的过程中如检查到有效按键时将无按键计数器清零;
在本实施例中,判断系统状态是否为等待状态具体为:判断系统状态标志是否为4,或者判断判断等待标志是否置位,是则为等待状态,否则不为等待状态;
步骤105:显示进度条,执行步骤108;
本实施例中,进度条初始时有五个方格,每隔10秒消失一个;
步骤106:判断无按键计数器的值是否等于第一设定值,是则执行步骤107,否则执行步骤108;
优选的,本实施例中的第一设定值为60,当无按键计数器的计数值达到60时,令牌关机;
步骤107:将无按键计数器清零,执行令牌关机,执行步骤108;
本实施例中,执行令牌关机具体包括:关闭显示屏,将系统状态置为关机状态,同时清空数据缓存区中的通过键盘输入的相关输入数据,如开机密码,解锁密码,挑战码等;
步骤108:判断自动解锁计数器的值是否等于第二设定值,是则执行步骤111,否则执行步骤109;
步骤109:自动解锁计数器的值按照预设方法变化,并判断当前自动解锁计数器的值是否等于第二设定值,是则执行步骤110,否则执行步骤111;
在本实施例中,预设方法包括自减1或自加1;当预设方法为自减1,则本实施例中的第二设定值为0,自动解锁计数器在动态令牌上电时的初始值为0,此时实施例三中的第七预设值为43200;当预设方法为自加1,则本实施例中的第二设定值为43200,自动解锁计数器在动态令牌上电时的初始值为43200,此时实施例三中的第七预设值为0;
步骤110:将开机密码失败次数和一级解锁失败次数清零,执行步骤111;
如本实施例中是通过各个状态的标识是否置位来检测系统状态的,则步骤110还包括复位一级锁定标志;
步骤111:判断系统状态是否为二级解锁状态,是则执行步骤112,否则返回步骤102;
本实施例中,该步骤具体为:判断二级解锁标志是否置位或判断系统状态标志位的值是否为3,是则系统状态为二级解锁状态,否则不是;
步骤112:二级解锁的解锁图标闪烁,返回步骤102。
在本实施例中,步骤104-步骤107、步骤108-步骤110、步骤111-步骤112的执行顺序可以调换,即在步骤102中判断为RTC唤醒时还可以先执行108-110,在步骤108判断为是、步骤109判断为否和步骤110之后再执行其他步骤,或者先执行步骤111-步骤112,在步骤111判断为否和步骤112执行之后再执行其他步骤,具体实现过程在此不再赘述。
实施例二
本实施例二提供了当按键处理流程中系统状态为关机状态时进行开机过程的实现流程,如图2所示,包括:
步骤201:判断按键类型是否为电源键,是则执行步骤202,否则返回步骤102;
步骤202:判断二级锁定标志是否置位,是则执行步骤203,否则执行步骤204;
步骤203:显示二级解锁码输入界面,并将系统状态设为二级解锁状态,执行步骤207;
具体的,将系统状态设为二级解锁状态具体为将二级解锁标志置位;
步骤204:判断一级锁定标志是否置位,是则执行步骤205,否则执行步骤206;
步骤205:显示一级解锁码输入界面,并将系统状态设为一级解锁状态,执行步骤207;
具体的,将系统状态设为一级解锁状态具体为将一级解锁标志置位;
步骤206:显示开机密码输入界面,并将系统状态设为检查密码状态,执行步骤207;
具体的,将系统状态设为检查密码状态具体为将检查密码标志置位;
步骤207:清空所有的数据缓存区,清除按键唤醒标志,返回步骤102;
本实施例中的数据缓存区包括开机密码数据缓存区和解锁密码数据缓存区。
实施例三
本实施例三提供了当按键处理流程中系统状态为检查密码状态时进行输入密码并检查过程的一种实现流程,具体实现过程如图3所示,包括:
步骤301:检测按键的类型,如为删除键则执行步骤302,如为数字键则执行步骤303,如为确认键则执行步骤305,如为其他键则返回步骤102;
步骤302:将开机密码长度按照第一预设方法的逆方法进行变化,并清除开机密码数据缓存区中最后存入的数据,执行步骤304;
本实施例中,在步骤301和步骤302之间包括:判断开机密码长度是否为第四预设值,是则显示密码输入界面,返回步骤102,否则执行步骤302;
优选的,本实施例中的第四预设值为0;
本实施例中的第一预设方法为自加N,第一预设方法的逆方法为自减N,其中,N为正整数;优选的,本实施例中的N为1;
步骤303:将数字键对应的数据存入开机密码数据缓存区中,将开机密码长度按照第一预设方法进行变化,执行步骤304;
本实施例中在步骤301和步骤303之间包括:判断开机密码长度是否小于第五预设值,是则执行步骤303,否则执行步骤304;
具体的,本实施例中的第五预设值为6;
步骤304:显示密码输入界面,根据所述开机密码长度更新输出的信息,清除按键唤醒标志,返回步骤102;
优选的,在本实施例中,根据开机密码长度输出相应长度的星号或者其他符号,如开机密码长度为6,则通过LCD输出******;
步骤305:检查开机密码是否正确,是则执行步骤306,否则执行步骤310;
具体的,本实施例中,判断输入的开机密码是否与预先设置的开机密码相同,是则正确,否则不正确;
步骤306:显示密码成功界面,将开机密码失败次数清零,执行步骤307;
优选的,在步骤306中可延迟预设时长后再执行步骤307;本实施例中的预设时长为1秒;
步骤307:判断设置开机密码标志是否置位,是则执行步骤308,否则执行步骤309;
设置开机密码标志在动态令牌上电初始化时被置位;
步骤308:显示新密码设定界面,将系统状态设为设定密码状态,执行步骤313;
步骤309:显示输入挑战码界面,并将系统状态设为输入挑战码状态,执行步骤313;
步骤310:将开机密码失败次数按照第四预设方法进行变化,显示密码失败界面,执行步骤311;
本实施例中的第四预设方法为自加N,第四预设方法的逆方法为自减N,其中,N为正整数;优选的,本实施例中的N为1;
本实施例在该步骤中可延时预设时长再执行步骤311,优选的预设时长为1秒;
步骤311:判断开机密码失败次数是否等于第六预设值,是则执行步骤312,否则显示密码输入界面,执行步骤313;
具体的,本实施例中的第六预设值为6,即允许用户最多输入6次密码,当第6次输入开机密码仍错误时,则进入锁定状态;
步骤312:将系统状态设为一级解锁状态,置位一级锁定标志,且设置自动解锁计时器为第七预设值,显示一级解锁界面,执行步骤313;
具体的,本实施例中的第七预设值根据实施例一中步骤109的预设方法设为43200或者0;
步骤313:清空开机密码数据缓存区,清除按键唤醒标志,返回步骤102。
在本实施例在检查密码状态时如输入开机密码预设次数后都不正确则会进入一级锁定状态,需要进行一级解锁后动态令牌才能继续使用。
实施例四
本实施例四提供了当按键处理流程中系统状态为解锁状态时进行解锁过程的一种实现流程,如图4所示,包括:
步骤401:检测按键的类型,如为删除键,则执行步骤402,如为数字键则执行步骤403,如为确认键则执行步骤405,如为其他键则返回步骤102;
步骤402:将解锁密码长度按照第一预设方法的逆方法进行变化,并清除解锁密码数据缓存区中最后存入的数据,执行步骤404;
具体的,本实施例的中第一预设方法为自加N,则第一预设方法的逆方法为自减N,N的取值为正整数,优选的,本实施例中的N取值为1;
在本实施例中的步骤401和步骤402之间可包括:判断解锁密码长度是否为第一预设值,是则显示解锁界面,返回步骤102,否则执行步骤402;
优选的,本实施例中的第一预设值为0;
步骤403:将数字键对应的数据存入解锁密码数据缓存区中,将解锁密码长度按照第一预设方法进行变化,执行步骤404;
具体的,本实施例的中第一预设方法为自加N,则第一预设方法的逆方法为自减N,N的取值为正整数,优选的,本实施例中的N取值为1;
本实施例中在步骤401和步骤403之间还可以包括:判断解锁密码长度是否小于第二预设值,是则执行步骤403,否则执行步骤404;
具体的,本实施例中的第二预设值为8;
步骤404:显示解锁界面,根据所述解锁密码长度更新输出的信息,清除按键唤醒标志,返回步骤102;
在本实施例中,根据解锁密码长度输出相应长度的星号或者其他符号,如解锁密码长度为8,则通过LCD输出********;
步骤405:判断一级解锁标志是否置位,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤406,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤406;
优选的,本实施例中计算得到解锁时间因子具体为:用当前时间因子对第二数据(或第一数据)取商得到解锁时间因子;
本实施例中的一级解锁码的有效时间最短为2小时,最长为4小时;优选的,本实施例中的第一数据为2个小时(120分钟);则步骤405中用当前时间因子对120取商得到解锁时间因子;
本实施例中的二级解锁码的有效时间最短为0.5小时,最长为1小时;优选的,本实施例中的第二数据为0.5小时(30分钟);则在步骤405中用当前时间因子对30取商得到解锁时间因子;
优选的,本实施例中的当前时间因子是Unix时间的分钟数;
步骤406:将解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用解锁密码数据缓存区中的解锁密码分别与多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤407,如无相同的则执行步骤410;
具体的,步骤406包括:
步骤406-1:将解锁时间因子按照第二预设方法的逆方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的时间型动态口令是否与解锁密码数据缓存区中的解锁密码相同,是则解锁成功,执行步骤407,否则执行步骤406-2;
步骤406-2:将解锁时间因子按照第二预设方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的时间型动态口令是否与解锁密码数据缓存区中的解锁密码相同,是则解锁成功,执行步骤407,否则执行步骤406-3;
步骤406-3:将解锁时间因子按照第二预设方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的时间型动态口令是否与解锁密码数据缓存区中的解锁密码相同,是则解锁成功,执行步骤407,否则执行410;
步骤407:将开机密码失败次数和一级解锁失败次数清零,复位一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,执行步骤408;
步骤408:判断系统状态是否为二级解锁状态,是则复位二级锁定标志,执行步骤409,否则执行步骤409;
优选的,本实施例中可以延时预设时长后再执行步骤409;
本实施例中,判断系统状态是否为二级解锁状态具体为:判断二级解锁标志是否置位,是则系统状态为二级解锁状态,否则系统状态不为二级解锁状态;
步骤409:将系统状态设为非解锁状态,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
步骤410:判断系统状态是否为一级解锁状态,是则执行步骤412,否则执行步骤411;
步骤411:显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
优选的,在该步骤411中可以先显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面;
步骤412:将一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤413;
具体的,本实施例的中第三预设方法为自加N,N的取值为正整数,优选的,本实施例中的N取值为1;
在本实施例中,步骤412可以在延时预设时长后再执行步骤413;
步骤413:判断一级解锁失败次数是否等于第三预设值,是则执行步骤414,否则显示一级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
具体的,本实施例中的第三预设值为6,当一级解锁失败次数等于6时则进入二级锁定状态;
步骤414:将系统状态设为二级解锁状态,将二级锁定标志置位,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102。
在本实施例在进行一级解锁过程中如一级解锁失败预设次数(如6次)后则会进入二级锁定状态,需要进行二级解锁后动态令牌才能继续使用。
本实施例中当按键处理流程中系统状态为一级解锁状态或二级解锁状态时进行解锁操作过程中如接收到确认键时进行操作可有另一种实现方式,即图4中的步骤405-步骤414替换步骤405’-步骤412’,在步骤401中检测到按键类型为确认键时执行步骤405’,具体实现方式参照图5;
步骤405’:判断系统状态是否为一级解锁状态,是则根据当前时间因子对第一数据计算得到解锁时间因子,执行步骤406’,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤410’;
该步骤中计算解锁时间因子的方法与步骤405中的方法相同,在此不再赘述;
步骤406’:将解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用解锁密码数据缓存区中的解锁密码分别与多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤407’,如无相同的则执行步骤408’;
该步骤的具体实现过程与步骤406的实现方法相同,在此不再赘述;
步骤407’:将开机密码失败次数和一级解锁失败次数清零,复位一级锁定标志,恢复默认开机密码,显示解锁成功界面,将系统状态设为非解锁状态,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
步骤408’:将一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤409’;
优选的,在该步骤中延时预设时长后再执行步骤409’;
具体的,本实施例的中第三预设方法为自加N,N的取值为正整数,优选的,本实施例中的N取值为1;
步骤409’:判断一级解锁失败次数是否等于第三预设值,是则将系统状态设为二级解锁状态,将二级锁定标志置位,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;否则显示一级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
步骤410’:将解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用解锁密码数据缓存区中的解锁密码分别与多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤411’,如无相同的则执行步骤412’;
该步骤的具体实现过程与步骤406的实现方法相同,在此不再赘述;
步骤411’:将开机密码失败次数和一级解锁失败次数清零,复位二级锁定标志和一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,将系统状态修改为非解锁状态,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
步骤412’:显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
在本实施例中的非解锁状态为关机状态或检查密码状态或设定密码状态。
本实施例中的解锁码分一级解锁码和二级解锁码,一级解锁码有效时间具体为两小时,二级解锁码有效时间具体为半小时,在解锁计时器的计时到达预设时间进行自动解锁,使用简单方便,而且在进行一级解锁不成功后,可继续进行二级解锁,增加令牌使用的安全性。
实施例五
本实施例五提供了当按键处理流程中系统状态为检查密码状态时进行输入密码并检查过程的另一种实现流程,如图6所示,包括:
步骤601:检测按键的类型,如为删除键则执行步骤602,如为数字键则执行步骤603,如为确认键则执行步骤605,如为其他键则返回步骤102;
步骤602:将开机密码长度按照第一预设方法的逆方法进行变化,并清除开机密码数据缓存区中最后存入的数据,执行步骤604;
本实施例中,在步骤601和步骤602之间包括:判断开机密码长度是否为第四预设值,是则显示密码输入界面,返回步骤102,否则执行步骤602;
优选的,本实施例中的第四预设值为0;
本实施例中的第一预设方法为自加N,第一预设方法的逆方法为自减N,其中,N为正整数;优选的,本实施例中的N为1;
步骤603:将数字键对应的数据存入开机密码数据缓存区中,将开机密码长度按照第一预设方法进行变化,执行步骤604;
本实施例中在步骤601和步骤603之间包括:判断开机密码长度是否小于第五预设值,是则执行步骤603,否则执行步骤604;
具体的,本实施例中的第五预设值为6;
步骤604:显示密码输入界面,根据所述开机密码长度更新输出的信息,清除按键唤醒标志,返回步骤102;
优选的,在本实施例中,根据开机密码长度输出相应长度的星号或者其他符号,如开机密码长度为6,则通过LCD输出******;
步骤605:检查开机密码是否正确,是则执行步骤606,否则执行步骤610;
具体的,本实施例中,判断输入的开机密码是否与预先设置的开机密码相同,是则正确,否则不正确;
步骤606:显示密码成功界面,将开机密码失败次数清零,执行步骤607;
优选的,在步骤606中可延迟预设时长后再执行步骤607;本实施例中的预设时长为1秒;
步骤607:判断系统状态标志的值是否为5,是则执行步骤608,否则执行步骤609;
本实施例中,系统状态标志在上电初始化时设为5;
步骤608:显示新密码设定界面,执行步骤613;
步骤609:显示输入挑战码界面,并将系统状态标志的值设为6,执行步骤613;
步骤610:开机密码失败次数按照第四预设方法进行变化,显示密码失败界面,执行步骤611;
本实施例中的第四预设方法为自加N,第四预设方法的逆方法为自减N,其中,N为正整数;优选的,本实施例中的N为1;
本实施例在该步骤中可延时预设时长再执行步骤611,优选的预设时长为1秒;
步骤611:判断开机密码失败次数是否等于第六预设值,是则执行步骤612,否则显示密码输入界面,执行步骤613;
具体的,本实施例中的第六预设值为6,即允许用户最多输入6次密码,当第6次输入开机密码错误时,则进入锁定状态;
步骤612:将系统状态标志的值设为2,且设置自动解锁计时器为第七预设值,显示一级解锁界面,执行步骤613;
具体的,本实施例中的第七预设值根据实施例一中步骤109的预设方法设为43200或者0;
步骤613:清空开机密码数据缓存区,清除按键唤醒标志,返回步骤102。
在本实施例在检查密码状态时如输入开机密码预设次数后都不正确则会进入一级锁定状态,需要进行一级解锁后动态令牌才能继续使用。
实施例六
本实施例六提供了当按键处理流程中系统状态为解锁状态时进行解锁过程的另一种实现流程,如图7所示,包括:
步骤701:检测按键的类型,如为删除键,是则执行步骤702,如为数字键则执行步骤703,如为确认键则执行步骤705,如为其他键则返回步骤102;
步骤702:将解锁密码长度按照第一预设方法的逆方法进行变化,并清除解锁密码数据缓存区中最后存入的数据,执行步骤704;
具体的,本实施例的中第一预设方法为自加N,则第一预设方法的逆方法为自减N,N的取值为正整数,优选的,本实施例中的N取值为1;
在本实施例中的步骤701和步骤702之间可包括:判断解锁密码长度是否为第一预设值,是则显示解锁界面,返回步骤102,否则执行步骤702;
优选的,本实施例中的第一预设值为0;
步骤703:将数字键对应的数据存入解锁密码数据缓存区中,将解锁密码长度按照第一预设方法进行变化,执行步骤704;
具体的,本实施例的中第一预设方法为自加N,则第一预设方法的逆方法为自减N,N的取值为正整数,优选的,本实施例中的N取值为1;
本实施例中在步骤701和步骤703之间还可以包括:判断解锁密码长度是否小于第二预设值,是则执行步骤703,否则执行步骤704;
具体的,本实施例中的第二预设值为8;
步骤704:显示解锁界面,根据所述解锁密码长度更新输出的信息,清除按键唤醒标志,返回步骤102;
在本实施例中,根据解锁密码长度输出相应长度的星号或者其他符号,如解锁密码长度为8,则通过LCD输出********;
步骤705:判断系统状态标志的值是否为2,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤706,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤706;
优选的,本实施例中计算得到解锁时间因子具体为:用当前时间因子对第二数据(或第一数据)取商得到解锁时间因子;
本实施例中的一级解锁码的有效时间最短为2小时,最长为4小时;优选的,本实施例中的第一数据为2个小时,则步骤705中用当前时间因子对120取商得到解锁码因子;
本实施例中的二级解锁码的有效时间最短为0.5小时,最长为1小时;优选的,本实施例中的第二数据为0.5小时,则在步骤705中用当前时间因子对30取商得到解锁时间因子;
优选的,本实施例中的当前时间因子是Unix时间的分钟数;
步骤706:将解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用解锁密码数据缓存区中的解锁密码分别与多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤707,如无相同的则执行步骤710;
本实施例中,该步骤的实现过程与步骤406相同,在此不再赘述;
步骤707:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,复位一级锁定标志,显示解锁成功界面,执行步骤708;
步骤708:判断系统状态标志的值是否为3,是则复位二级锁定标志,执行步骤709,否则执行步骤709;
优选的,本实施例中可以延时预设时长后再执行步骤709;
步骤709:修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
在本实施例中,可将系统状态标志的值修改为0或1或4或5,优选的,本实施例中将系统状态标志的值修改为5;
步骤710:判断系统状态标志的值是否为2,是则执行步骤712,否则执行步骤711;
步骤711:显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
优选的,在该步骤711中可以先显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面;
步骤712:将一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤713;
具体的,本实施例的中第三预设方法为自加N,N的取值为正整数,优选的,本实施例中的N取值为1;
在本实施例中,步骤412可以在延时预设时长后再执行步骤413;
步骤713:判断一级解锁失败次数是否等于第三预设值,是则执行步骤714,否则显示一级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
具体的,本实施例中的第三预设值为6,当一级解锁失败次数等于6时则进入二级锁定状态;
步骤714:将系统状态标志的值设为3,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102。
在本实施例在进行一级解锁过程中如一级解锁失败预设次数(如6次)后则会进入二级锁定状态,需要进行二级解锁后动态令牌才能继续使用。
本实施例中当按键处理流程中系统状态为一级解锁状态或二级解锁状态时进行解锁操作过程中如接收到确认键时进行操作可有另一种实现方式,即图7中的步骤705-步骤714替换步骤705’-步骤712’,在步骤701中检测到按键类型为确认键时执行步骤705’,具体实现方式参照图8;
步骤705’:判断系统状态标志的值是否为2,是则根据当前时间因子对第一数据计算得到解锁时间因子,执行步骤706’,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤710’;
该步骤中计算解锁时间因子的方法与步骤405中的方法相同,在此不再赘述;
步骤706’:将解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用解锁密码数据缓存区中的解锁密码分别与多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤707’,如无相同的则执行步骤708’;
该步骤的具体实现过程与步骤406的实现方法相同,在此不再赘述;
步骤707’:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,显示解锁成功界面,修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
在本实施例中,可将系统状态标志的值修改为0或1或4或5,优选的,本实施例中将系统状态标志的值修改为5;
步骤708’:将一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤709’;
优选的,在该步骤中延时预设时长后再执行步骤709’;
具体的,本实施例的中第三预设方法为自加N,N的取值为正整数,优选的,本实施例中的N取值为1;
步骤709’:判断一级解锁失败次数是否等于第三预设值,是则将系统状态标志的值设为3,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;否则显示一级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
步骤710’:将解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用解锁密码数据缓存区中的解锁密码分别与多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤711’,如无相同的则执行步骤712’;
该步骤的具体实现过程与步骤406的实现方法相同,在此不再赘述;
步骤711’:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,显示解锁成功界面,修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102;
具体地,可将系统状态标志的值修改为0或1或4或5,优选的,本实施例中将系统状态标志的值修改为5;
步骤712’:显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,返回步骤102。
本实施例中的解锁码分一级解锁码和二级解锁码,一级解锁码有效时间具体为两小时,二级解锁码有效时间具体为半小时,在解锁计时器的计时到达预设时间进行自动解锁,使用简单方便,而且在进行一级解锁不成功后,可继续进行二级解锁,增加令牌使用的安全性。
本发明所有实施例中的按键唤醒标志也可以在步骤103中进行清除。本发明实施例中的动态令牌当检测到用户按键触发信息时则进入按键中断,动态令牌将按键唤醒标志置位,退出中断,继续进行工作。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (15)
1.一种适用于动态令牌的解锁方法,其特征在于,在动态令牌工作过程中当检测到唤醒标志且唤醒标志的类型为按键唤醒时,检测系统状态,如为关机状态则进行开机过程,如为检查密码状态则进行等待用户输入密码并检查密码的过程,如为解锁状态则按照所述解锁方法进行解锁过程,如为其他状态则根据系统状态执行相应操作,其中所述解锁状态包括一级解锁状态和二级解锁状态;
所述解锁方法包括:
步骤S1:检测按键的类型,如为删除键则执行步骤S2,如为数字键则执行步骤S3,如为确认键则执行步骤S5;
步骤S2:将解锁密码长度按照第一预设方法的逆方法进行变化,并清除解锁密码数据缓存区中最后存入的数据,执行步骤S4;
步骤S3:将数字键对应的数据存入所述解锁密码数据缓存区中,将所述解锁密码长度按照所述第一预设方法进行变化,执行步骤S4;
步骤S4:显示解锁界面,根据所述解锁密码长度更新输出的信息,清除按键唤醒标志,退出解锁过程;
步骤S5:判断系统状态是否为所述一级解锁状态,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤S6,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤S6;
步骤S6:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤S7,如无相同的则执行步骤S10;
步骤S7:将开机密码失败次数和一级解锁失败次数清零,复位一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,执行步骤S8;
步骤S8:判断所述系统状态是否为所述二级解锁状态,是则复位二级锁定标志,执行步骤S9,否则执行步骤S9;
步骤S9:将系统状态设为非解锁状态,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S10:判断所述系统状态是否为所述一级解锁状态,是则执行步骤S12,否则执行步骤S11;
步骤S11:显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S12:将所述一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤S13;
步骤S13:判断所述一级解锁失败次数是否等于第三预设值,是则执行步骤S14,否则显示一级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S14:将所述系统状态设为二级解锁状态,将所述二级锁定标志置位,显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
2.如权利要求1所述的方法,其特征在于,所述步骤S5-步骤S14替换为步骤S5’-步骤S12’;
所述步骤S1中检测按键的类型为确认键时执行步骤S5’;
步骤S5’:判断所述系统状态是否为所述一级解锁状态,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤S6’,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤S10’;
步骤S6’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,分别用所述解锁密码数据缓存区中的解锁密码与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤S7’,如无相同的则执行步骤S8’;
步骤S7’:将开机密码失败次数和所述一级解锁失败次数清零,复位一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,将系统状态设为非解锁状态,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S8’:将所述一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤S9’;
步骤S9’:判断所述一级解锁失败次数是否等于第三预设值,是则将所述系统状态设为二级解锁状态,将二级锁定标志置位,显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;否则显示一级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S10’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤S11’,如无相同的无则执行步骤S12’;
步骤S11’:将开机密码失败次数和所述一级解锁失败次数清零,复位二级锁定标志和一级锁定标志,恢复默认开机密码,将设置开机密码标志置位,显示解锁成功界面,将所述系统状态修改为非解锁状态,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤S12’:显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
3.如权利要求1或2所述的方法,其特征在于,所述将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,具体为:
步骤A1:将所述解锁时间因子按照第二预设方法的逆方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的所述时间型动态口令是否与所述解锁密码数据缓存区中的解锁密码相同,是则解锁成功,否则执行步骤A2;
步骤A2:将所述解锁时间因子按照第二预设方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的所述时间型动态口令是否与所述解锁密码数据缓存区中的解锁密码相同,是则解锁成功,否则执行步骤A3;
步骤A3:将所述解锁时间因子按照第二预设方法进行变化,根据当前解锁时间因子生成时间型动态口令,判断得到的所述时间型动态口令是否与所述解锁密码数据缓存区中的解锁密码相同,是则解锁成功,否则执行下一步。
4.如权利要求1或2所述的方法,其特征在于,所述步骤S1和步骤S2之间包括:
步骤S20:判断所述解锁密码长度是否为第一预设值,是则显示解锁界面,退出解锁过程,否则执行步骤S2。
5.如权利要求4所述的方法,其特征在于,所述步骤S1和步骤S3之间包括:
步骤S30:判断所述解锁密码长度是否小于第二预设值,是则执行步骤S3,否则执行步骤S4。
6.如权利要求1或2所述的方法,其特征在于,所述开机过程包括:
步骤B1:判断按键类型是否为电源键,是则执行步骤B2,否则退出开机过程;
步骤B2:判断所述二级锁定标志是否置位,是则执行步骤B3,否则执行步骤B4;
步骤B3:显示二级解锁码输入界面,并将系统状态设为二级解锁状态,执行步骤B7;
步骤B4:判断所述一级锁定标志是否置位,是则执行步骤B5,否则执行步骤B6;
步骤B5:显示一级解锁码输入界面,并将系统状态设为一级解锁状态,执行步骤B7;
步骤B6:显示开机密码输入界面,并将系统状态设为检查密码状态,执行步骤B7;
步骤B7:清空所有数据缓存区,清除按键唤醒标志,退出开机过程。
7.如权利要求1或2所述的方法,其特征在于,所述进行等待用户输入密码并检查密码的过程包括:
步骤C1:检测按键的类型,如为删除键则执行步骤C2,如为数字键则执行步骤C3,如为确认键则执行步骤C5,如为其他键则退出输入并检查密码的过程;
步骤C2:将开机密码长度按照第一预设方法的逆方法进行变化,并清除开机密码数据缓存区中最后存入的数据,执行步骤C4;
步骤C3:将数字键对应的数据存入所述开机密码数据缓存区中,将所述开机密码长度按照所述第一预设方法进行变化,执行步骤C4;
步骤C4:显示开机密码输入界面,根据所述开机密码长度更新输出的信息,清除按键唤醒标志,退出输入并检查密码的过程;
步骤C5:检查开机密码是否正确,是则执行步骤C6,否则执行步骤C10;
步骤C6:显示开机密码成功界面,将开机密码失败次数清零,执行步骤C7;
步骤C7:判断设置开机密码标志是否置位,是则执行步骤C8,否则执行步骤C9;所述动态令牌上电初始化时将设置开机密码标志置位;
步骤C8:显示新密码设定界面,将系统状态设为设定密码状态,执行步骤C13;
步骤C9:显示输入挑战码界面,将系统状态设为输入挑战码状态,执行步骤C13;
步骤C10:将开机密码失败次数按照第四预设方法进行变化,显示密码失败界面,执行步骤C11;
步骤C11:判断所述开机密码失败次数是否等于第六预设值,是则执行步骤C12,否则显示开机密码输入界面,执行步骤C13;
步骤C12:将系统状态设为一级解锁状态,置位一级锁定标志,且设置自动解锁计时器为第七预设值,显示一级解锁界面,执行步骤C13;
步骤C13:清空所述开机密码数据缓存区,清除按键唤醒标志,退出输入并检查密码的过程。
8.如权利要求7所述的方法,其特征在于,所述步骤C1和步骤C2之间包括:
步骤C20:判断所述开机密码长度是否等于第四预设值,是则显示开机密码输入界面,退出输入并检查密码的过程,否则执行步骤C2。
9.如权利要求8所述的方法,其特征在于,所述步骤C1和步骤C3之间包括:
步骤C30:判断所述开机密码长度是否小于第五预设值,是则执行步骤C3,否则执行步骤C4。
10.如权利要求3所述的方法,其特征在于,所述根据当前时间因子和第一数据计算得到解锁时间因子,具体为:用当前时间因子对第一数据取商得到解锁时间因子;
所述根据当前时间因子和第二数据计算得到解锁时间因子,具体为:用当前时间因子对第二数据取商得到解锁时间因子。
11.如权利要求1所述的方法,其特征在于,所述步骤S7-步骤S10、步骤S14分别替换为步骤s7-步骤s10、步骤s14;
步骤s7:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,复位一级锁定标志,显示解锁成功界面,执行步骤s8;
步骤s8:判断系统状态标志的值是否为第四数据,是则复位二级锁定标志,执行步骤s9,否则执行步骤s9;
步骤s9:修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s10:判断系统状态标志的值是否为第三数据,是则执行步骤S12,否则执行步骤S11;
步骤s14:将系统状态标志的值设为第四数据,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
12.如权利要求11所述的方法,其特征在于,所述步骤S5至S6、s7至s10、S11至S13、s14替换为步骤s5’-步骤s12’;
所述步骤S1中检测按键的类型为确认键时执行步骤s5’;
步骤s5’:判断所述系统状态是否为一级解锁状态,是则根据当前时间因子和第一数据计算得到解锁时间因子,执行步骤s6’,否则根据当前时间因子和第二数据计算得到解锁时间因子,执行步骤s10’;
步骤s6’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤s7’,如无相同的则执行步骤s8’;
步骤s7’:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,显示解锁成功界面,修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s8’:将所述一级解锁失败次数按照第三预设方法进行变化,显示一级解锁失败界面,执行步骤s9’;
步骤s9’:判断一级解锁失败次数是否等于第三预设值,是则将系统状态标志的值设为第四数据,显示二级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;否则显示一级解锁码输入界面,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s10’:将所述解锁时间因子按照第二预设方法和第二预设方法的逆方法进行变化生成解锁时间因子窗口,根据所述解锁时间因子窗口中的解锁时间因子生成多个相应的时间型动态口令,用所述解锁密码数据缓存区中的解锁密码分别与所述多个时间型动态口令进行比较,如有相同的则解锁成功,执行步骤s11’,如无相同的则执行步骤s12’;
步骤s11’:将开机密码失败次数和一级解锁失败次数清零,恢复默认开机密码,显示解锁成功界面,修改系统状态标志的值,清空解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程;
步骤s12’:显示二级解锁失败界面,延时预设时长后显示二级解锁码输入界面,清空所述解锁密码数据缓存区,清除按键唤醒标志,退出解锁过程。
13.如权利要求11或12所述的方法,其特征在于,所述进行等待用户输入密码并检查密码的过程包括:
步骤c1:检测按键的类型,如为删除键则执行步骤c2,如为数字键则执行步骤c3,如为确认键则执行步骤c5,如为其他键则退出输入并检查密码的过程;
步骤c2:将开机密码长度按照第一预设方法的逆方法进行变化,并清除开机密码数据缓存区中最后存入的数据,执行步骤c4;
步骤c3:将数字键对应的数据存入所述开机密码数据缓存区中,将所述开机密码长度按照所述第一预设方法进行变化,执行步骤c4;
步骤c4:显示开机密码输入界面,根据所述开机密码长度更新输出的信息,清除按键唤醒标志,退出输入并检查密码的过程;
步骤c5:检查开机密码是否正确,是则执行步骤c6,否则执行步骤c10;
步骤c6:显示开机密码成功界面,将开机密码失败次数清零,执行步骤c7;
步骤c7:判断系统状态标志的值是否为第六数据,是则执行步骤c8,否则执行步骤c9;
步骤c8:显示新密码设定界面,执行步骤c13;
步骤c9:显示输入挑战码界面,将系统状态标志的值设为第七数据,执行步骤c13;
步骤c10:将开机密码失败次数按照第四预设方法进行变化,显示密码失败界面,执行步骤c11;
步骤c11:判断所述开机密码失败次数是否等于第六预设值,是则执行步骤c12,否则显示开机密码输入界面,执行步骤c13;
步骤c12:将系统状态标志的值设为第三数据,且设置自动解锁计时器为第七预设值,显示一级解锁界面,执行步骤c13;
步骤c13:清空所述开机密码数据缓存区,清除按键唤醒标志,退出输入并检查密码的过程。
14.如权利要求13所述的方法,其特征在于,所述步骤c1和步骤c2之间包括:
步骤c20:判断所述开机密码长度是否等于第四预设值,是则显示开机密码输入界面,退出输入并检查密码的过程,否则执行步骤c2。
15.如权利要求14所述的方法,其特征在于,所述步骤c1和步骤c3之间包括:
步骤c30:判断所述开机密码长度是否小于第五预设值,是则执行步骤c3,否则执行步骤c4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310129808.5A CN103209077B (zh) | 2013-04-15 | 2013-04-15 | 一种适用于动态令牌的解锁方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310129808.5A CN103209077B (zh) | 2013-04-15 | 2013-04-15 | 一种适用于动态令牌的解锁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103209077A CN103209077A (zh) | 2013-07-17 |
CN103209077B true CN103209077B (zh) | 2015-12-02 |
Family
ID=48756170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310129808.5A Active CN103209077B (zh) | 2013-04-15 | 2013-04-15 | 一种适用于动态令牌的解锁方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103209077B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965645A (zh) * | 2015-05-29 | 2015-10-07 | 小米科技有限责任公司 | 解锁的方法及装置 |
CN106529235A (zh) * | 2016-10-24 | 2017-03-22 | 深圳市金立通信设备有限公司 | 一种解锁方法及终端 |
CN106780860B (zh) * | 2016-11-21 | 2019-04-23 | 上海众人网络安全技术有限公司 | 一种挑战型车辆开锁/关锁的控制方法及系统 |
CN106951749A (zh) * | 2017-03-17 | 2017-07-14 | 上海与德科技有限公司 | 一种解锁的方法、装置及终端 |
CN107909469A (zh) * | 2017-11-21 | 2018-04-13 | 中国银行股份有限公司 | 银行交易密码锁的解锁方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377569A (zh) * | 2011-10-18 | 2012-03-14 | 上海众人网络安全技术有限公司 | 一种动态令牌解锁方法及系统 |
CN102611556A (zh) * | 2012-03-31 | 2012-07-25 | 飞天诚信科技股份有限公司 | 一种动态令牌的工作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008122130A1 (en) * | 2007-04-05 | 2008-10-16 | Absolute Software Corporation | Distribution channel loss protection for electronic devices |
-
2013
- 2013-04-15 CN CN201310129808.5A patent/CN103209077B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377569A (zh) * | 2011-10-18 | 2012-03-14 | 上海众人网络安全技术有限公司 | 一种动态令牌解锁方法及系统 |
CN102611556A (zh) * | 2012-03-31 | 2012-07-25 | 飞天诚信科技股份有限公司 | 一种动态令牌的工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103209077A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103209077B (zh) | 一种适用于动态令牌的解锁方法 | |
CN102843236B (zh) | 一种动态口令的生成及认证方法与系统 | |
US11216549B2 (en) | Security verification method and device | |
EP2857947B1 (en) | Terminal device and unlocking method thereof | |
CN102611556B (zh) | 一种动态令牌的工作方法 | |
CN103530582B (zh) | 一种移动终端的动态密码解锁方法及系统 | |
CN103064607A (zh) | 具有触摸屏的设备解锁的方法和系统 | |
CN101719826A (zh) | 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法 | |
US8661532B2 (en) | Method and apparatus for authenticating password | |
CN101819505A (zh) | 具有触控式屏幕的电子系统与其操作方法 | |
CN103136861A (zh) | 一种基于atm的用户操作探测方法及装置 | |
JP5867843B2 (ja) | 電子設備及びそれに使用するパスワードの検証方法 | |
CN102883026A (zh) | 一种移动终端实现开机保护的方法 | |
CN105426740A (zh) | 一种屏幕解锁方法及装置 | |
CN103391195B (zh) | 一种动态令牌的工作方法 | |
CN103457741B (zh) | 一种动态令牌的工作方法 | |
CN102982260B (zh) | 一种Linux操作系统及其安装序列号验证方法 | |
TWI545495B (zh) | 觸摸屏操作系統及方法 | |
CN102291400B (zh) | 一种带口令保护的智能卡及数据验证方法 | |
CN104615267B (zh) | 密码输入管理方法、系统及电子装置 | |
CN103220269B (zh) | 一种可更换电池的令牌及其系统的工作方法 | |
CN103065075A (zh) | 一种触摸屏移动终端的解锁方法 | |
CN104660786A (zh) | 一种移动终端、解锁密码的设置方法及解锁方法 | |
CN201440660U (zh) | 一种具有交易功能的动态令牌 | |
KR101265907B1 (ko) | 사용자 작동가능 스위치를 구비한 은행 타입의 카드 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |