CN104518878A - 一种动态令牌的有效期的控制方法 - Google Patents
一种动态令牌的有效期的控制方法 Download PDFInfo
- Publication number
- CN104518878A CN104518878A CN201410759319.2A CN201410759319A CN104518878A CN 104518878 A CN104518878 A CN 104518878A CN 201410759319 A CN201410759319 A CN 201410759319A CN 104518878 A CN104518878 A CN 104518878A
- Authority
- CN
- China
- Prior art keywords
- validity
- dynamic token
- term
- dynamic
- mark
- 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.)
- Granted
Links
Landscapes
- Electric Clocks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种动态令牌的有效期的控制方法,属于信息安全领域。所述方法包括动态令牌从休眠模式被唤醒后,若通讯唤醒标志被置位,则接收上位机发送的命令,将命令中的动态令牌有效期写入动态令牌,复位通讯唤醒标志,若预设唤醒标志被置位,则检查动态令牌的有效期和生成并显示动态口令,复位预设唤醒标志。所述方法还包括:当动态令牌检测到通讯中断时,进入通讯中断,置位通讯唤醒标志后中断返回;当动态令牌检测到预设中断时,进入预设中断,置位预设唤醒标志后中断返回。本发明的有益效果在于:能够提供有效的有效期检查和预警机制,解决因提供给客户的动态令牌有效期与后台实际的动态令牌有效期不一致而给用户带来的困扰。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种动态令牌的有效期的控制方法。
背景技术
在现有技术中,动态令牌(One-time Password,OTP)是一种安全便捷的账号防盗技术,根据专门的算法生成一个不可预测的随机数字组合作为口令,每个口令只能使用一次,用户进行认证时候,除输入账号和静态密码之外,必须要求输入动态密码,只有通过系统验证,才可以正常登录或者交易,从而有效保证用户身份的合法性和唯一性。动态令牌最大的优点在于,用户每次使用的口令都不相同,使得不法分子无法仿冒合法用户的身份。动态口令认证技术被认为是目前能够最有效解决用户的身份认证方式之一,可以有效防范黑客木马盗窃用户账户口令、假网站等多种网络问题导致的用户的财产或者资料的损失。目前被广泛运用在网银、网游、电信运营商、电子政务、企业等领域。
发明人在实现本发明的过程中发现,动态令牌大多具有有效期,但动态令牌的有效期一般由后台进行控制,用户不能直接获知,有些动态令牌的表面虽然印有令牌的有效期,但由于动态令牌的实际有效期是由后台控制的,因此会出现动态令牌表面印刷的有效期与该动态令牌在后台的实际有效期不一致的情况。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种动态令牌的有效期的控制方法。
本发明方法是通过下述技术方案实现的:
一种动态令牌的有效期的控制方法,包括动态令牌从休眠模式被唤醒后,执行以下步骤:
步骤S1、判断通讯唤醒标志是否被置位,是则执行步骤S2,否则执行步骤S3;
步骤S2、接收上位机发送的数据,若接收到的数据为下载有效期命令,则获取所述下载有效期命令中的动态令牌有效期,并存储获取到的动态令牌有效期,复位所述通讯唤醒标志,执行步骤S3,否则复位所述通讯唤醒标志,执行步骤S3;
步骤S3、判断第一唤醒标志是否被置位,是则执行步骤S4,否则执行步骤S5;
步骤S4、判断动态令牌是否失效,是则提示动态令牌失效,复位所述第一唤醒标志,执行步骤S5;否则判断是否到达动态令牌有效期,若到达则标识动态令牌失效,复位所述第一唤醒标志,执行步骤S5,若未到达则复位所述第一唤醒标志,执行步骤S5;
步骤S5、判断第二唤醒标志是否被置位,是则执行步骤S6,否则所述动态令牌重新进入休眠模式;
步骤S6、判断动态令牌是否失效,是则提示动态令牌失效,复位所述第二唤醒标志,所述动态令牌重新进入休眠模式;否则生成并显示动态口令,复位所述第二唤醒标志,所述动态令牌重新进入休眠模式;
所述方法还包括:当所述动态令牌检测到通讯中断时,进入通讯中断,置位所述通讯唤醒标志,中断返回;当所述动态令牌检测到第一预设中断时,进入第一预设中断,置位所述第一唤醒标志,中断返回;当所述动态令牌检测到第二预设中断时,进入第二预设中断,置位所述第二唤醒标志,中断返回。
上述第一预设中断为按键中断或实时时钟中断或硬时钟中断。
上述第二预设中断为按键中断或实时时钟中断或硬时钟中断。
上述获取所述下载有效期命令中的动态令牌有效期之后,所述存储获取到的动态令牌有效期之前,还包括:判断所述下载有效期命令中的动态令牌有效期是否为预设格式,是则执行所述存储获取到的动态令牌有效期,否则将获取到的动态令牌有效期转换为所述预设格式,存储转换后的动态令牌有效期。
上述步骤S2中,还包括:若接收到的数据为读取有效期命令,则读取所述动态令牌内存储的动态令牌有效期,并将读取到的动态令牌有效期返回给所述上位机,复位所述通讯唤醒标志,执行步骤S3。更进一步地,读取所述动态令牌内存储的动态令牌有效期之后,所述将读取到的动态令牌有效期返回给所述上位机之前,还包括:判断读取到的动态令牌有效期是否为所述读取有效期命令指定的格式,是则执行所述将所述读取到的动态令牌有效期返回给所述上位机,否则将所述读取到的动态令牌有效期转换为所述读取有效期命令指定的格式,向所述上位机返回转换后的动态令牌有效期。
上述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断当前时间因子是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期;或者包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断国际协调时间与当前时间因子的和是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期;或者包括:获取所述动态令牌中的动态令牌有效期和硬时钟的当前时间,判断硬时钟的当前时间是否大于国际协调时间与动态令牌有效期的和,是则到达动态令牌有效期,否则没有到达动态令牌有效期;或者包括:判断硬时钟的当前时间是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
上述步骤S4中,当判断出未到达动态令牌有效期时,还包括:计算动态令牌的剩余有效期,以及当所述动态令牌的剩余有效期小于预设期限时提示动态令牌剩余有效期。
一种动态令牌的有效期的控制方法,或者包括动态令牌从休眠模式被唤醒后,执行以下步骤:
步骤A1、判断通讯唤醒标志是否被置位,是则执行步骤A2,否则执行步骤A3;
步骤A2、接收上位机发送的数据,若接收到的数据为下载有效期命令,则获取所述下载有效期命令中的动态令牌有效期,并存储获取到的动态令牌有效期,复位所述通讯唤醒标志,执行步骤A3,否则复位所述通讯唤醒标志,执行步骤A3;
步骤A3、判断预设唤醒标志是否被置位,是则执行步骤A4,否则所述动态令牌重新进入休眠模式;
步骤A4、判断动态令牌是否失效,是则提示动态令牌失效,复位所述预设唤醒标志,所述动态令牌重新进入休眠模式;否则判断是否到达动态令牌有效期,若到达则标识动态令牌失效,复位所述预设唤醒标志,所述动态令牌重新进入休眠模式,若未到达则生成并显示动态口令,复位所述预设唤醒标志,所述动态令牌重新进入休眠模式;
所述方法还包括:当所述动态令牌检测到通讯中断时,进入通讯中断,置位所述通讯唤醒标志,中断返回;当所述动态令牌检测到预设中断时,进入预设中断,置位所述预设唤醒标志,中断返回。
上述预设中断为按键中断或实时时钟中断或硬时钟中断。
上述获取所述下载有效期命令中的动态令牌有效期之后,所述存储获取到的动态令牌有效期之前,还包括:获取所述下载有效期命令中的动态令牌有效期,判断所述下载有效期命令中的动态令牌有效期是否为预设格式,是则执行所述存储获取到的动态令牌有效期,否则将获取到的动态令牌有效期转换为所述预设格式,存储转换后的动态令牌有效期。
上述步骤A2中,还包括:若接收到的数据为读取有效期命令,则读取所述动态令牌内存储的动态令牌有效期,并将读取到的动态令牌有效期返回给所述上位机,复位所述通讯唤醒标志,执行步骤A3。更近一步地,读取所述动态令牌内存储的动态令牌有效期之后,所述将读取到的动态令牌有效期返回给所述上位机之前,还包括:判断读取到的动态令牌有效期是否为所述读取有效期命令指定的格式,是则执行所述将所述读取到的动态令牌有效期返回给所述上位机,否则将所述读取到的动态令牌有效期转换为所述读取有效期命令指定的格式,向所述上位机返回转换后的动态令牌有效期。
所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断当前时间因子是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期;或者包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断国际协调时间与当前时间因子的和是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期;或者包括:获取所述动态令牌中的动态令牌有效期和硬时钟的当前时间,判断硬时钟的当前时间是否大于国际协调时间与动态令牌有效期的和,是则到达动态令牌有效期,否则没有到达动态令牌有效期;或者包括:获取所述动态令牌中的动态令牌有效期和硬时钟的当前时间,判断硬时钟的当前时间是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
上述步骤A4中,当判断出未到达动态令牌有效期时,还包括:计算动态令牌的剩余有效期,以及当所述动态令牌的剩余有效期小于预设期限时提示动态令牌剩余有效期。
本发明方法的有益效果在于,使用本发明提供的方法,能够为动态令牌提供有效的有效期检查和预警机制,解决因提供给客户的动态令牌有效期与后台实际的动态令牌有效期不一致而给用户带来的困扰。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种动态令牌的有效期的控制方法的主循环流程图;
图2为本发明实施例二提供的一种动态令牌的有效期的控制方法的主循环流程图;
图3为本发明实施例三提供的一种动态令牌的有效期的控制方法的主循环流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种动态令牌的有效期的控制方法,所述方法包括:动态令牌上电后进行初始化,开启通讯中断和实时时钟中断,然后进入休眠模式;当动态令牌处于休眠模式时,若检测到中断,则被唤醒;当动态令牌从休眠模式被唤醒后执行主循环流程;无论动态令牌处于休眠模式还是已经被唤醒:若检测到通讯中断,则进入通讯中断,置位通讯唤醒标志,中断返回,若检测到实时时钟中断,则进入实时时钟中断,执行实时时钟中断流程,实时时钟中断流程结束后,中断返回。本实施例中,通讯中断在动态令牌与上位机通讯的管脚有数据传入时被触发,实时时钟中断每秒被触发。
本实施例中,实时时钟中断流程具体包括:
步骤A1-1:更新时间参数,判断更新后的时间参数是否等于预设值,是则执行步骤A1-2,否则执行步骤A1-3;
本实施例中,时间参数的初始值为X,动态令牌更新时间参数为其当前值加上Y,预设值为X+30Y或X+60Y,其中X为任意数值,Y为任意非零数值。
步骤A1-2:更新时间因子,置位生成口令标志,执行步骤A1-3;
本实施例中,动态令牌更新时间因子为其当前值加1。
步骤A1-3:置位实时时钟唤醒标志,实时时钟中断流程结束。
本实施例中,主循环流程如图1所示,具体包括:
步骤A2-1:判断通讯唤醒标志是否被置位,是则执行步骤A2-2,否则执行步骤A2-13;
步骤A2-2:接收上位机发送的数据,判断接收到的数据是否合法,是则执行步骤A2-3,否则执行步骤A2-11;
本实施例中,接收上位机发送的数据,判断接收到的数据是否合法具体包括:将通讯IO设为输入,接收数据头,若数据头不为第一预设数据则接收到的数据不合法;若数据头为第一预设数据则继续接收数据长度,并按照数据长度接收剩余数据,接收完剩余数据后根据校验位判断接收到的数据是否正确,若正确则接收到的数据合法,若不正确则接收到的数据不合法;
本实施例中,优选地,数据头为一个字节,第一预设数据为0xAA。
步骤A2-3:判断接收到的数据的类型,若为下载有效期命令则执行步骤A2-4,若为读取有效期命令则执行步骤A2-8,否则执行步骤A2-11;
本实施例中,判断接收到的数据的类型具体包括:检查接收到的数据的第一预设字节,若第一预设字节为第二预设数据则接收到的数据为下载有效期命令,若第一预设字节为第三预设数据则接收到的数据为读取有效期命令;
本实施例中,优选地,接收到的数据的第一预设字节为接收到的数据的第三个字节;第二预设数据为0x40;第三预设数据为0x41。
步骤A2-4:获取下载有效期命令中的动态令牌有效期,判断下载有效期命令中的动态令牌有效期的格式,若为截止日期格式则执行步骤A2-5,若为时间因子格式则执行步骤A2-6,否则执行步骤A2-11;
本实施例中,判断下载有效期命令中的动态令牌有效期的格式,具体包括:检查下载有效期命令的第二预设字节,若为第四预设数据则下载有效期命令中的动态令牌有效期为时间因子格式,若下载有效期命令的第二预设字节为第五预设数据,则下载有效期命令中的有效期为截止日期格式;
本实施例中,优选地,下载有效期命令的第二预设字节为下载有效期命令的第四个字节;第四预设数据为0x01;第五预设数据为0x00。
步骤A2-5:将获取到的动态令牌有效期转换为时间因子格式,存储转换后的动态令牌有效期,执行步骤A2-7;
本实施例中,将获取到的动态令牌有效期转换为时间因子格式,具体包括:计算获取到的动态令牌有效期相对于UTC时间(Universal Time Coordinated,国际协调时间--1970年1月1日0时0分0秒)所经过的分钟数,计算结果作为转换后的动态令牌有效期。
步骤A2-6:存储获取到的动态令牌有效期,执行步骤A2-7;
步骤A2-7:向上位机返回有效期下载成功的响应,执行步骤A2-12;
步骤A2-8:读取动态令牌中存储的动态令牌有效期,检查读取有效期命令中指定的要读取的动态令牌有效期的格式,若为时间因子格式则执行步骤A2-9,若为截止日期格式则执行步骤A2-10,否则执行步骤A2-11;
本实施例中,检查读取有效期命令中指定的要读取的动态令牌有效期的格式,具体包括:检查读取有效期命令的第三预设字节,若读取有效期命令的第三预设字节为第六预设数据,则读取有效期命令中指定的要读取的动态令牌有效期的格式为时间因子格式,若读取有效期命令的第三预设字节为第七预设数据,则读取有效期命令中指定的要读取的动态令牌有效期的格式为截止日期格式;
本实施例中,优选地,读取有效期命令的第三预设字节为读取有效期命令的第四个字节;第六预设数据为0x01;第七预设数据为0x00。
步骤A2-9:将读取到的动态令牌有效期返回给上位机,执行步骤A2-12;
步骤A2-10:将读取到的动态令牌有效期转换为截止日期格式,向上位机返回转换后的动态令牌有效期,执行步骤A2-12;
本实施例中,将读取到的动态令牌有效期转换为截止日期格式,具体包括:计算读取到的动态令牌有效期与UTC时间的和,将计算结果作转换后的动态令牌有效期。
步骤A2-11:向上位机返回通讯失败的响应,执行步骤A2-12;
步骤A2-12:复位通讯唤醒标志,执行步骤A2-13;
步骤A2-13:判断实时时钟唤醒标志是否被置位,是则执行步骤A2-14,否则进入休眠模式,等待被唤醒;
步骤A2-14:检查动态令牌失效标志是否被置位,是则执行步骤A2-15,否则执行步骤A2-16;
步骤A2-15:输出提示动态令牌失效的信息,执行步骤A2-20;
步骤A2-16:判断当前时间因子是否大于动态令牌有效期,是则执行步骤A2-17,否则执行步骤A2-18;
本实施例中,设定动态令牌有效期的存储格式为时间因子格式,若设定动态令牌有效期的存储格式为截止日期格式,则步骤A2-16替换为:判断UTC时间与当前时间因子的和是否大于动态令牌有效期,是则执行步骤A2-17,否则执行步骤A2-18。
步骤A2-17:置位动态令牌失效标志,执行步骤A2-20;
步骤A2-18:判断生成口令标志是否被置位,是则执行步骤A2-19,否则执行步骤A2-20;
步骤A2-19:根据时间因子生成动态口令,输出生成的动态口令,复位生成口令标志,执行步骤A2-20;
本发明的所有实施例中,输出生成的动态口令可以是:显示生成的动态口令,或播放生成的动态口令等。
步骤A2-20:复位实时时钟唤醒标志,进入休眠模式,等待被唤醒。
上述方案中,动态令牌每秒进行一次有效期检查,进一步地,可以通过设置延长有效期检查的时间间隔,如30秒或60秒等,具体方法为:在实时时钟中断流程中,当时间参数达到预设的有效期检查的时间间隔时,置位有效期检查标志;相应地,主循环流程中,执行步骤A2-16之前,检查有效期检查标志,若有效期检查标志置位,则执行步骤A2-16,并复位有效期检查标志,若有效期检查标志未置位,则跳过步骤A-16和步骤A-17,直接执行步骤A-18。更进一步地,如果生成口令的时间间隔与有效期检查的时间间隔相同,则可省略有效期检查标志和生成口令标志中的一个,以及省略检查相应标志的步骤。相对于每秒都进行有效期检查,通过设置适当延长有效期检查的时间间隔能够降低动态令牌的功耗。
上述方案中,只有当动态令牌到达有效期时才提示动态令牌已失效,进一步地,还可以在动态令牌即将失效时,如提前30天等,做相应提示,具体方法包括:在步骤A2-16中,当判断出当前时间因子不大于动态令牌有效期时,根据动态令牌有效期与当前时间因子计算动态令牌的剩余有效期,以及当动态令牌的剩余有效期小于预设期限时提示动态令牌剩余有效期。
本实施例中,通讯中断的优先级高于实时时钟中断的优先级。
实施例二
本发明实施例二提供一种动态令牌的有效期的控制方法,所述方法包括:动态令牌上电后进行初始化,开启通讯中断和按键中断,然后进入休眠模式;当动态令牌处于休眠模式时,若检测到中断,则被唤醒;当动态令牌从休眠模式被唤醒后执行主循环流程;无论动态令牌处于休眠模式还是已经被唤醒:若检测到通讯中断,则进入通讯中断,置位通讯唤醒标志,中断返回,若检测到预设中断,则进入预设中断,置位预设唤醒标志,中断返回。本实施例中,通讯中断在动态令牌与上位机通讯的管脚有数据传入时被触发,预设中断为按键中断或者为硬时钟中断,如果是按键中断,按键中断在动态令牌的按键被按下时被触发,如果是硬时钟中断,硬时钟中断的触发时间间隔可以设定,如30秒或60秒等。
本实施例中,主循环流程如图2所示,具体包括:
步骤B1-1:判断通讯唤醒标志是否被置位,是则执行步骤B1-2,否则执行步骤B1-13;
步骤B1-2:接收上位机发送的数据,判断接收到的数据是否合法,是则执行步骤B1-3,否则执行步骤B1-11;
本实施例中,接收上位机发送的数据,判断接收到的数据是否合法具体包括:将通讯IO设为输入,接收数据头,若数据头不为第一预设数据则接收到的数据不合法;若数据头为第一预设数据则继续接收数据长度,并按照数据长度接收剩余数据,接收完剩余数据后根据校验位判断接收到的数据是否正确,若正确则接收到的数据合法,若不正确则接收到的数据不合法;
本实施例中,优选地,数据头为一个字节,第一预设数据为0xAA。
步骤B1-3:判断接收到的数据的类型,若为下载有效期命令则执行步骤B1-4,若为读取有效期命令则执行步骤B1-8,否则执行步骤B1-11;
本实施例中,判断接收到的数据的类型具体包括:检查接收到的数据的第一预设字节,若第一预设字节为第二预设数据则接收到的数据为下载有效期命令,若第一预设字节为第三预设数据则接收到的数据为读取有效期命令;
本实施例中,优选地,接收到的数据的第一预设字节为接收到的数据的第三个字节;第二预设数据为0x40;第三预设数据为0x41。
步骤B1-4:获取下载有效期命令中的动态令牌有效期,判断下载有效期命令中的动态令牌有效期的格式,若为截止日期格式则执行步骤B1-5,若为时间因子格式则执行步骤B1-6,否则执行步骤B1-11;
本实施例中,判断下载有效期命令中的动态令牌有效期的格式,具体包括:检查下载有效期命令的第二预设字节,若为第四预设数据则下载有效期命令中的动态令牌有效期为时间因子格式,若下载有效期命令的第二预设字节为第五预设数据,则下载有效期命令中的有效期为截止日期格式;
本实施例中,优选地,下载有效期命令的第二预设字节为下载有效期命令的第四个字节;第四预设数据为0x01;第五预设数据为0x00。
步骤B1-5:存储获取到的动态令牌有效期,执行步骤B1-7;
步骤B1-6:将获取到的动态令牌有效期转换为截止日期格式,存储换换后的动态令牌有效期,执行步骤B1-7;
本实施例中,将获取到的动态令牌有效期转换为截止日期格式,具体包括:计算获取到的动态令牌有效期与UTC时间(Universal Time Coordinated,国际协调时间--1970年1月1日0时0分0秒)的和,计算结果作为转换后的动态令牌有效期。
步骤B1-7:向上位机返回有效期下载成功的响应,执行步骤B1-12;
步骤B1-8:读取动态令牌中存储的动态令牌有效期,检查读取有效期命令中指定的要读取的动态令牌有效期的格式,若为时间因子格式则执行步骤B1-9,若为截止日期格式则执行步骤B1-10,否则执行步骤B1-11;
本实施例中,检查读取有效期命令中指定的要读取的动态令牌有效期的格式,具体包括:检查读取有效期命令的第三预设字节,若读取有效期命令的第三预设字节为第六预设数据,则读取有效期命令中指定的要读取的动态令牌有效期的格式为时间因子格式,若读取有效期命令的第三预设字节为第七预设数据,则读取有效期命令中指定的要读取的动态令牌有效期的格式为截止日期格式;
本实施例中,优选地,读取有效期命令的第三预设字节为读取有效期命令的第四个字节;第六预设数据为0x01;第七预设数据为0x00。
步骤B1-9:将读取到的动态令牌有效期转换为时间因子格式,向上位机返回转换后的动态令牌有效期,执行步骤B1-12;
本实施例中,将读取到的动态令牌有效期转换为时间因子格式,具体包括:计算读取到的动态令牌有效期与UTC时间的差,将计算结果作转换后的动态令牌有效期。
步骤B1-10:将读取到的动态令牌有效期返回给上位机,执行步骤B1-12;
步骤B1-11:向上位机返回通讯失败的响应,执行步骤B1-12;
步骤B1-12:复位通讯唤醒标志,执行步骤B1-13;
步骤B1-13:判断预设唤醒标志是否被置位,是则执行步骤B1-14,否则进入休眠模式,等待被唤醒;
本实施例中,当预设中断为按键中断时,预设唤醒标志具体为按键唤醒标志,当预设中断为硬时钟中断时,预设唤醒标志具体为硬时钟唤醒标志。
步骤B1-14:检查动态令牌失效标志是否被置位,是则执行步骤B1-15,否则执行步骤B1-16;
步骤B1-15:输出提示动态令牌失效的信息,执行步骤B1-19;
步骤B1-16:判断硬时钟的当前时间是否大于动态令牌有效期,是则执行步骤B1-17,否则执行步骤B1-18;
本实施例中,设定动态令牌有效期的存储格式为截止日期格式,若设定动态令牌有效期的存储格式为时间因子格式,则步骤B1-16替换为:判断硬时钟的当前时间是否大于UTC时间与动态令牌有效期的和,是则执行步骤B1-17,否则执行步骤B1-18。
步骤B1-17:置位动态令牌失效标志,执行步骤B1-19;
步骤B1-18:根据硬时钟的当前时间生成动态口令,输出生成的动态口令,执行步骤B1-19;
步骤B1-19:复位预设唤醒标志,进入休眠模式,等待被唤醒。
本实施例中,当预设中断为按键中断时,预设唤醒标志具体为按键唤醒标志,当预设中断为硬时钟中断时,预设唤醒标志具体为硬时钟唤醒标志。
上述方案中,只有当动态令牌到达有效期时才提示动态令牌已失效,进一步地,还可以在动态令牌即将失效时,如提前30天等,做相应提示,具体方法包括:在步骤B1-16中,当判断出硬时钟的当前时间不大于动态令牌有效期时,还包括计算动态令牌有效期与硬时钟的当前时间的差,计算结果作为动态令牌的剩余有效期,以及当动态令牌的剩余有效期小于预设期限时提示动态令牌剩余有效期。
本实施例中,通讯中断的优先级高于预设中断的优先级。
实施例三
本发明实施例三提供一种动态令牌的有效期的控制方法,所述方法包括:动态令牌上电后进行初始化,开启通讯中断、实时时钟中断和按键中断,然后进入休眠模式;当动态令牌处于休眠模式时,若检测到中断,则被唤醒;当动态令牌从休眠模式被唤醒后执行主循环流程;无论动态令牌处于休眠模式还是已经被唤醒:若检测到通讯中断,则进入通讯中断,置位通讯唤醒标志,中断返回,若检测到按键中断,则进入按键中断,置位按键唤醒标志,中断返回,若检测到实时时钟中断,则进入实时时钟中断,执行实时时钟中断流程,实时时钟中断流程结束后,中断返回。本实施例中,通讯中断在动态令牌与上位机通讯的管脚有数据传入时被触发,实时时钟中断每秒被触发,按键中断在动态令牌的按键被按下时被触发。
本实施例中,实时时钟中断流程具体包括:
步骤C1-1:更新时间参数,判断更新后的时间参数是否等于预设值,是则执行步骤C1-2,否则执行步骤C1-3;
本实施例中,时间参数的初始值为X,动态令牌更新时间参数为其当前值加上Y,预设值为X+30Y或X+60Y,其中X为任意数值,Y为任意非零数值。
步骤C1-2:更新时间因子,执行步骤C1-3;
本实施例中,动态令牌更新时间因子为其当前值加1。
步骤C1-3:置位实时时钟唤醒标志,实时时钟中断流程结束。
本实施例中,主循环流程如图3所示,具体包括:
步骤C2-1:判断通讯唤醒标志是否被置位,是则执行步骤C2-2,否则执行步骤C2-13;
步骤C2-2:接收上位机发送的数据,判断接收到的数据是否合法,是则执行步骤C2-3,否则执行步骤C2-11;
本实施例中,接收上位机发送的数据,判断接收到的数据是否合法具体包括:将通讯IO设为输入,接收数据头,若数据头不为第一预设数据则接收到的数据不合法;若数据头为第一预设数据则继续接收数据长度,并按照数据长度接收剩余数据,接收完剩余数据后根据校验位判断接收到的数据是否正确,若正确则接收到的数据合法,若不正确则接收到的数据不合法;
本实施例中,优选地,数据头为一个字节,第一预设数据为0xAA。
步骤C2-3:判断接收到的数据的类型,若为下载有效期命令则执行步骤C2-4,若为读取有效期命令则执行步骤C2-8,否则执行步骤C2-11;
本实施例中,判断接收到的数据的类型具体包括:检查接收到的数据的第一预设字节,若第一预设字节为第二预设数据则接收到的数据为下载有效期命令,若第一预设字节为第三预设数据则接收到的数据为读取有效期命令;
本实施例中,优选地,接收到的数据的第一预设字节为接收到的数据的第三个字节;第二预设数据为0x40;第三预设数据为0x41。
步骤C2-4:获取下载有效期命令中的动态令牌有效期,判断下载有效期命令中的动态令牌有效期的格式,若为截止日期格式则执行步骤C2-5,若为时间因子格式则执行步骤C2-6,否则执行步骤C2-11;
本实施例中,判断下载有效期命令中的动态令牌有效期的格式,具体包括:检查下载有效期命令的第二预设字节,若为第四预设数据则下载有效期命令中的动态令牌有效期为时间因子格式,若下载有效期命令的第二预设字节为第五预设数据,则下载有效期命令中的有效期为截止日期格式;
本实施例中,优选地,下载有效期命令的第二预设字节为下载有效期命令的第四个字节;第四预设数据为0x01;第五预设数据为0x00。
步骤C2-5:将获取到的动态令牌有效期转换为时间因子格式,存储转换后的动态令牌有效期,执行步骤C2-7;
本实施例中,将获取到的动态令牌有效期转换为时间因子格式,具体包括:计算获取到的动态令牌有效期相对于UTC时间(Universal Time Coordinated,国际协调时间--1970年1月1日0时0分0秒)所经过的分钟数,计算结果作为转换后的动态令牌有效期。
步骤C2-6:存储获取到的动态令牌有效期,执行步骤C2-7;
步骤C2-7:向上位机返回有效期下载成功的响应,执行步骤C2-12;
步骤C2-8:读取动态令牌中存储的动态令牌有效期,检查读取有效期命令中指定的要读取的动态令牌有效期的格式,若为时间因子格式则执行步骤C2-9,若为截止日期格式则执行步骤C2-10,否则执行步骤C2-11;
本实施例中,检查读取有效期命令中指定的要读取的动态令牌有效期的格式,具体包括:检查读取有效期命令的第三预设字节,若读取有效期命令的第三预设字节为第六预设数据,则读取有效期命令中指定的要读取的动态令牌有效期的格式为时间因子格式,若读取有效期命令的第三预设字节为第七预设数据,则读取有效期命令中指定的要读取的动态令牌有效期的格式为截止日期格式;
本实施例中,优选地,读取有效期命令的第三预设字节为读取有效期命令的第四个字节;第六预设数据为0x01;第七预设数据为0x00。
步骤C2-9:将读取到的动态令牌有效期返回给上位机,执行步骤C2-12;
步骤C2-10:将读取到的动态令牌有效期转换为截止日期格式,向上位机返回转换后的动态令牌有效期,执行步骤C2-12;
本实施例中,将读取到的动态令牌有效期转换为截止日期格式,具体包括:计算读取到的动态令牌有效期与UTC时间的和,将计算结果作为转换后的动态令牌有效期。
步骤C2-11:向上位机返回通讯失败的响应,执行步骤C2-12;
步骤C2-12:复位通讯唤醒标志,执行步骤C2-13;
步骤C2-13:判断按键唤醒标志是否被置位,是则执行步骤C2-14,否则执行步骤C2-18;
步骤C2-14:检查动态令牌失效标志是否被置位,是则执行步骤C2-15,否则执行步骤C2-16;
步骤C2-15:输出提示动态令牌失效的信息,执行步骤C2-17;
步骤C2-16:根据时间因子生成动态口令,输出生成的动态口令,执行步骤C2-17;
步骤C2-17:复位按键唤醒标志,执行步骤C2-18;
步骤C2-18:判断实时时钟唤醒标志是否被置位,是则执行步骤C2-19,否则进入休眠模式,等待被唤醒;
步骤C2-19:检查动态令牌失效标志是否被置位,是则执行步骤C2-20,否则执行步骤C2-21;
步骤C2-20:输出提示动态令牌失效的信息,执行步骤C2-23;
步骤C2-21:判断当前时间因子是否大于动态令牌有效期,是则执行步骤C2-22,否则执行步骤C2-23;
本实施例中,设定动态令牌有效期的存储格式为时间因子格式,若设定动态令牌有效期的存储格式为截止日期格式,则步骤C2-21替换为:判断UTC时间与当前时间因子的和是否大于动态令牌有效期,是则执行步骤C2-22,否则执行步骤C2-23。
步骤C2-22:置位动态令牌失效标志,执行步骤C2-23;
步骤C2-23:复位实时时钟唤醒标志,进入休眠模式,等待被唤醒。
上述方案中,动态令牌每秒进行一次有效期检查,进一步地,可以通过设置延长有效期检查的时间间隔,如30秒或60秒等,具体方法为:在实时时钟中断流程中,当时间参数达到预设的有效期检查的时间间隔时,置位有效期检查标志;相应地,主循环流程中,执行步骤C2-21之前,检查有效期检查标志,若有效期检查标志置位,则执行步骤C2-21,若有效期检查标志未置位,则跳过步骤C2-21和步骤C2-22,直接执行步骤C2-23。相对于每秒都进行有效期检查,通过设置适当延长有效期检查的时间间隔能够降低动态令牌的功耗。
上述方案中,只有当动态令牌到达有效期时才提示动态令牌已失效,进一步地,还可以在动态令牌即将失效时,如提前30天等,做相应提示,具体方法包括:在步骤C2-21中,当判断出当前时间因子不大于动态令牌有效期时,根据动态令牌有效期与当前时间因子计算动态令牌的剩余有效期,以及当动态令牌的剩余有效期小于预设期限时提示动态令牌剩余有效期。
本实施例中,中断优先级从高到低依次为:通讯中断、按键中断、实时时钟中断。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (23)
1.一种动态令牌的有效期的控制方法,其特征在于,包括动态令牌从休眠模式被唤醒后,执行以下步骤:
步骤S1、判断通讯唤醒标志是否被置位,是则执行步骤S2,否则执行步骤S3;
步骤S2、接收上位机发送的数据,若接收到的数据为下载有效期命令,则获取所述下载有效期命令中的动态令牌有效期,并存储获取到的动态令牌有效期,复位所述通讯唤醒标志,执行步骤S3,否则复位所述通讯唤醒标志,执行步骤S3;
步骤S3、判断第一唤醒标志是否被置位,是则执行步骤S4,否则执行步骤S5;
步骤S4、判断动态令牌是否失效,是则提示动态令牌失效,复位所述第一唤醒标志,执行步骤S5;否则判断是否到达动态令牌有效期,若到达则标识动态令牌失效,复位所述第一唤醒标志,执行步骤S5,若未到达则复位所述第一唤醒标志,执行步骤S5;
步骤S5、判断第二唤醒标志是否被置位,是则执行步骤S6,否则所述动态令牌重新进入休眠模式;
步骤S6、判断动态令牌是否失效,是则提示动态令牌失效,复位所述第二唤醒标志,所述动态令牌重新进入休眠模式;否则生成并显示动态口令,复位所述第二唤醒标志,所述动态令牌重新进入休眠模式;
所述方法还包括:当所述动态令牌检测到通讯中断时,进入通讯中断,置位所述通讯唤醒标志,中断返回;当所述动态令牌检测到第一预设中断时,进入第一预设中断,置位所述第一唤醒标志,中断返回;当所述动态令牌检测到第二预设中断时,进入第二预设中断,置位所述第二唤醒标志,中断返回。
2.如权利要求1所述的方法,其特征在于,所述第一预设中断为按键中断或实时时钟中断或硬时钟中断。
3.如权利要求1所述的方法,其特征在于,所述第二预设中断为按键中断或实时时钟中断或硬时钟中断。
4.如权利要求1所述的方法,其特征在于,所述获取所述下载有效期命令中的动态令牌有效期之后,所述存储获取到的动态令牌有效期之前,还包括:判断所述下载有效期命令中的动态令牌有效期是否为预设格式,是则执行所述存储获取到的动态令牌有效期,否则将获取到的动态令牌有效期转换为所述预设格式,存储转换后的动态令牌有效期。
5.如权利要求1所述的方法,其特征在于,所述步骤S2中,还包括:若接收到的数据为读取有效期命令,则读取所述动态令牌内存储的动态令牌有效期,并将读取到的动态令牌有效期返回给所述上位机,复位所述通讯唤醒标志,执行步骤S3。
6.如权利要求5所述的方法,其特征在于,所述读取所述动态令牌内存储的动态令牌有效期之后,所述将读取到的动态令牌有效期返回给所述上位机之前,还包括:判断读取到的动态令牌有效期是否为所述读取有效期命令指定的格式,是则执行所述将所述读取到的动态令牌有效期返回给所述上位机,否则将所述读取到的动态令牌有效期转换为所述读取有效期命令指定的格式,向所述上位机返回转换后的动态令牌有效期。
7.如权利要求1所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断当前时间因子是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
8.如权利要求1所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断国际协调时间与当前时间因子的和是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
9.如权利要求7或8所述的方法,其特征在于,还包括:当所述动态令牌检测到实时时钟中断时,进入实时时钟中断,更新时间参数,判断更新后的时间参数是否达到预设值,若达到预设值,则更新时间因子,中断返回,若未达到预设值,则中断返回。
10.如权利要求1所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和硬时钟的当前时间,判断硬时钟的当前时间是否大于国际协调时间与动态令牌有效期的和,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
11.如权利要求1所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:判断硬时钟的当前时间是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
12.如权利要求1所述的方法,其特征在于,所述步骤S4中,当判断出未到达动态令牌有效期时,还包括:计算动态令牌的剩余有效期,以及当所述动态令牌的剩余有效期小于预设期限时提示动态令牌剩余有效期。
13.一种动态令牌的有效期的控制方法,其特征在于,包括动态令牌从休眠模式被唤醒后,执行以下步骤:
步骤A1、判断通讯唤醒标志是否被置位,是则执行步骤A2,否则执行步骤A3;
步骤A2、接收上位机发送的数据,若接收到的数据为下载有效期命令,则获取所述下载有效期命令中的动态令牌有效期,并存储获取到的动态令牌有效期,复位所述通讯唤醒标志,执行步骤A3,否则复位所述通讯唤醒标志,执行步骤A3;
步骤A3、判断预设唤醒标志是否被置位,是则执行步骤A4,否则所述动态令牌重新进入休眠模式;
步骤A4、判断动态令牌是否失效,是则提示动态令牌失效,复位所述预设唤醒标志,所述动态令牌重新进入休眠模式;否则判断是否到达动态令牌有效期,若到达则标识动态令牌失效,复位所述预设唤醒标志,所述动态令牌重新进入休眠模式,若未到达则生成并显示动态口令,复位所述预设唤醒标志,所述动态令牌重新进入休眠模式;
所述方法还包括:当所述动态令牌检测到通讯中断时,进入通讯中断,置位所述通讯唤醒标志,中断返回;当所述动态令牌检测到预设中断时,进入预设中断,置位所述预设唤醒标志,中断返回。
14.如权利要求13所述的方法,其特征在于,所述预设中断为按键中断或实时时钟中断或硬时钟中断。
15.如权利要求13所述的方法,其特征在于,所述获取所述下载有效期命令中的动态令牌有效期之后,所述存储获取到的动态令牌有效期之前,还包括:获取所述下载有效期命令中的动态令牌有效期,判断所述下载有效期命令中的动态令牌有效期是否为预设格式,是则执行所述存储获取到的动态令牌有效期,否则将获取到的动态令牌有效期转换为所述预设格式,存储转换后的动态令牌有效期。
16.如权利要求13所述的方法,其特征在于,所述步骤A2中,还包括:若接收到的数据为读取有效期命令,则读取所述动态令牌内存储的动态令牌有效期,并将读取到的动态令牌有效期返回给所述上位机,复位所述通讯唤醒标志,执行步骤A3。
17.如权利要求16所述的方法,其特征在于,所述读取所述动态令牌内存储的动态令牌有效期之后,所述将读取到的动态令牌有效期返回给所述上位机之前,还包括:判断读取到的动态令牌有效期是否为所述读取有效期命令指定的格式,是则执行所述将所述读取到的动态令牌有效期返回给所述上位机,否则将所述读取到的动态令牌有效期转换为所述读取有效期命令指定的格式,向所述上位机返回转换后的动态令牌有效期。
18.如权利要求13所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断当前时间因子是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
19.如权利要求13所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和当前时间因子,判断国际协调时间与当前时间因子的和是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
20.如权利要求18或19所述的方法,其特征在于,还包括:当所述动态令牌检测到实时时钟中断时,进入实时时钟中断,更新时间参数,判断更新后的时间参数是否达到预设值,若达到预设值,则更新时间因子,中断返回,若未达到预设值,则中断返回。
21.如权利要求13所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和硬时钟的当前时间,判断硬时钟的当前时间是否大于国际协调时间与动态令牌有效期的和,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
22.如权利要求13所述的方法,其特征在于,所述判断是否到达动态令牌有效期,具体包括:获取所述动态令牌中的动态令牌有效期和硬时钟的当前时间,判断硬时钟的当前时间是否大于动态令牌有效期,是则到达动态令牌有效期,否则没有到达动态令牌有效期。
23.如权利要求13所述的方法,其特征在于,所述步骤A4中,当判断出未到达动态令牌有效期时,还包括:计算动态令牌的剩余有效期,以及当所述动态令牌的剩余有效期小于预设期限时提示动态令牌剩余有效期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410759319.2A CN104518878B (zh) | 2014-12-11 | 2014-12-11 | 一种动态令牌的有效期的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410759319.2A CN104518878B (zh) | 2014-12-11 | 2014-12-11 | 一种动态令牌的有效期的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104518878A true CN104518878A (zh) | 2015-04-15 |
CN104518878B CN104518878B (zh) | 2018-01-12 |
Family
ID=52793656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410759319.2A Active CN104518878B (zh) | 2014-12-11 | 2014-12-11 | 一种动态令牌的有效期的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104518878B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810029A (zh) * | 2018-07-23 | 2018-11-13 | 珠海宏桥高科技有限公司 | 一种微服务架构服务间鉴权系统及优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783731A (zh) * | 2009-12-28 | 2010-07-21 | 北京飞天诚信科技有限公司 | 动态口令的显示方法及动态令牌 |
CN101785243A (zh) * | 2007-08-31 | 2010-07-21 | 微软公司 | 可传递受限安全令牌 |
WO2012071078A1 (en) * | 2010-11-23 | 2012-05-31 | X-Card Holdings, Llc | One-time password card for secure transactions |
-
2014
- 2014-12-11 CN CN201410759319.2A patent/CN104518878B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101785243A (zh) * | 2007-08-31 | 2010-07-21 | 微软公司 | 可传递受限安全令牌 |
CN101783731A (zh) * | 2009-12-28 | 2010-07-21 | 北京飞天诚信科技有限公司 | 动态口令的显示方法及动态令牌 |
WO2012071078A1 (en) * | 2010-11-23 | 2012-05-31 | X-Card Holdings, Llc | One-time password card for secure transactions |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810029A (zh) * | 2018-07-23 | 2018-11-13 | 珠海宏桥高科技有限公司 | 一种微服务架构服务间鉴权系统及优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104518878B (zh) | 2018-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103312517B (zh) | 一种双用途设备共用显示屏和按键的实现方法 | |
CN104392157B (zh) | 密码锁屏方法及装置 | |
US8458483B1 (en) | Techniques for message-passing using shared memory of an RF tag | |
US10069821B2 (en) | Operating method for one-time password with updatable seed | |
CN104727658B (zh) | 智能锁、智能钥匙及其控制方法及装置 | |
US10255421B2 (en) | Working method for multi-seed one-time password | |
CN102663280B (zh) | 一种身份认证装置及系统 | |
US9450949B2 (en) | Method for computer access control by means of mobile end device | |
CN101500232A (zh) | 实现动态身份认证的方法及系统 | |
CN102929674A (zh) | 电子装置以及开机方法 | |
CN104916010A (zh) | 移动设备的控制系统和穿戴式控制设备 | |
CN103391195B (zh) | 一种动态令牌的工作方法 | |
CN102377569A (zh) | 一种动态令牌解锁方法及系统 | |
CN104539430A (zh) | 一种基于卡片的动态口令生成方法及设备 | |
CN103366110A (zh) | 通过外接设备给电子装置加密解密的系统、电子装置及外接设备 | |
CN109039595B (zh) | 一种降低物联网终端临时密码下发时延的方法、装置和服务器 | |
CN104518878A (zh) | 一种动态令牌的有效期的控制方法 | |
US9781104B2 (en) | Working method of dynamic token | |
KR101367498B1 (ko) | 오티피 카드와 오티피를 생성하는 방법 | |
CN106951768B (zh) | 指纹解锁时效性控制方法、装置、移动终端及存储介质 | |
CN106406499A (zh) | 一种基于终端系统的对齐唤醒方法及装置 | |
CN104484933A (zh) | 电子密码锁 | |
CN102315944A (zh) | 种子密钥分次注入的动态令牌、动态密码认证系统及方法 | |
CN105282145A (zh) | 一种多数据中心用户访问控制的方法及系统 | |
CN101377804A (zh) | 一种实现开机保护的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |