一种采用时钟来控制密钥有效期的方法

文档序号:7820139阅读:374来源:国知局
一种采用时钟来控制密钥有效期的方法
【专利摘要】本发明公开了一种采用时钟来控制密钥有效期的方法,在USBKey内增加硬件时钟计数器用于USBKey独立计时,避免了USBKey在不联网的线下使用场景时,蓄意改变系统时间或使用虚拟机设定时间导致USBKey的有效期就无法判断了的情况发生,同时在USBKey内增加可充电电池,可充电电池在USBKey与USB主设备断开时为USBKey的时钟计数器和时钟晶振供电,确保USBKey的独立计时功能。本发明无需USB主设备提供系统时间,避免了蓄意延长USBKey使用期限情况的出现。
【专利说明】一种采用时钟来控制密钥有效期的方法

【技术领域】
[0001]本发明涉及一种控制密钥有效期的方法,适用于金融、交通、商业、酒店、旅游、航空或者其他可以使用密钥的领域。

【背景技术】
[0002]随着经济的不断发展,对密钥管理方面的需求越来越多,一般情况下,密钥保存在密钥载体中,例如USBKey,简称U盾。一个密钥系统需要控制密钥的有效期,定期更新密钥。如果不定期更新密钥,密钥有可能会被暴力破解,或者被别有用心的人仿冒,另外也难于管理密钥的使用。
[0003]USBKey的有效期检查通常在连接PC或其他USB主设备后读取USB主设备的系统时间,比如PC的时间,或者联网读取网络的系统时间,与USBKey内部的截至时间比较,判断是否逾期,如果逾期则需要重新申请USBKey证书,以防止蓄意暴力破解。这种方法虽然简单,但如果USBKey在不联网的线下使用场景时,使用者蓄意改变系统时间或使用虚拟机设定时间,USBKey的有效期就无法判断了。


【发明内容】

[0004]基于上述需求,本发明提出了一种采用时钟来控制密钥有效期的方法,该方法无需USB主设备提供系统时间,避免了上述蓄意延长USBKey使用期限情况的出现。
[0005]本发明的技术方案如下:
[0006]一种采用时钟来控制密钥有效期的方法,包括以下步骤:
[0007]步骤一,当USBKey初始化下载证书时,将时钟计数器清零,并将USBKey的内部时间与网络时间调整一致;
[0008]步骤二,证书下载完成发放给用户之后,时钟计数器开始计时,每隔K秒,计数器加I ;
[0009]步骤三,在使用的时候,USBKey与PC或者其他有源终端连接,PMU切换供电方式,由外部给USBKey供电,同时,外部电源给USBKey内部的可充电电池充电;
[0010]步骤四,在正常工作的情况下,由于VCXO或TCXO本身的误差,会导致USBKey的系统时间与实际的系统时间有误差,这个误差可以根据VCXO或TCXO的精度,以及最大脱离网络系统或者PC的时间,计算出对应的最大误差;如果USBKey的时钟与PC或者网络时间比较后,两者的误差在上述计算的误差范围内,则USBKey的时钟需要根据网络系统或者PC的时间做校准;
[0011]步骤五,当应用软件使用USBKey进行数字签名或数据加、解密时,首先读取USBKey的时钟计数器内的当前计数,与PC或者其他有源终端的时间做比较,或者不与PC或者其他有源终端的时间做比较,而是只依据USBKey的自己的时钟,判断是否已逾期,如果逾期则锁定USBKey,并返回USBKey逾期,操作失败,反之则正常工作。
[0012]所述时钟计数器用于USBKey独立计时,位数为N,N可以取32位或64位,每隔K秒,计数器加1,X可以取1秒或1毫秒。
[0013]所述可充电电池可以使用锂电池;当口38X67连接口38主设备时,可充电电池利用^88 口电源进行充电;当…8X67与旧8主设备断开时,可充电电池为晶振时钟和时钟计数器供电,保证…81(67在没有…8主设备供电情况下的计时功能。
[0014]本发明的有益技术效果是:
[0015](1)每次连接到?或者其他有源终端使用的时候,由口38/串口 /音频口给…81(67的电池充电;在连接到或者其他有源终端的时候,由…8/串口 /音频口给…81(67的电池充电,其中的模块,用于做电源管理,控制充电或者放电(工作放电),同时在连接到
或者其他有源终端的时候,^881(67的工作电源切换到外部电源。
[0016](2)没有连接到和其他有源终端的时候,即不使用的时候,由口381(67内部的可充电池供电;在没有连接到和其他有源终端的时候,即不使用的时候,由控制,将工作电源切换到口38X67的内部充电电池,由口38X67内部的可充电池供电。
[0017](3)在有效期内的任何时候,…81(67里面的晶振都要工作,给…81(67的系统(⑶3)提供时钟参考;晶振工作输出参考时钟给计数器,由计数器计数产生口381(67的系统时间,系统的初始时间可以通过旧8或者几从;口设定好。
[0018](4)^881(67的时钟(⑶3的系统时间)由自身的晶振产生,在连接到或其他有源终端的时候,与或者网络时间比较后,如果在合理范围内,则做一下校准;由于^0X0或10X0本身的误差,会导致口381(67的系统时间与实际的系统时间有误差,这个误差可以根据乂以0或1以0的精度,以及最大脱离网络系统或者?的时间,计算出对应的最大误差;如果^881(67的时钟与或者网络时间比较后,两者的误差在上述计算的误差范围内,则口381(67的时钟((1)3的系统时间)需要根据网络系统或者的时间,做一下校准。

【专利附图】

【附图说明】
[0019]图1是本发明中的密钥载体中各个层面的关系图。
[0020]图2是本发明中的密钥载体的硬件层结构图。

【具体实施方式】
[0021]下面结合附图对本发明的【具体实施方式】做进一步说明。
[0022]密钥载体的内部各个层面的关系如图1所示。
[0023]1、应用层是指针对…81(67开发的各类应用,如网络登陆软件或者文件加密器等。
[0024]2、标准中间件层处于应用层和设备驱动之间,包括基于具有跨平台特性的91((:3(公钥密码标准)标准接口和II冊013平台的(加密服务提供商)接口,应用开发者无需移植,可方便使用。
[0025]3、硬件层包括硬件电路、固化在芯片里的芯片操作系统⑶
和设备端的1138驱动程序,硬件层与用户主机之间以1138标准协议通信。
[0026]密钥载体的硬件层结构图如图2所示。
[0027]图2中两个最突出的地方就是:
[0028]1、为…81(67增加一个时钟计数器,时钟计数器用于…81(67独立计时,位数为I?可以取32位或64位,每隔K秒,计数器加1,K可以取I秒或I毫秒。
[0029]2、为USBKey增加可充电电池,建议使用锂电池。当USBKey连接USB主设备时,可充电电池利用USB 口电源进行充电,当USBKey与USB主设备断开时,可充电电池为晶振时钟和时钟计数器供电,保证USBKey在没有USB主设备供电情况下的计时功能。
[0030]本发明中密钥载体的工作过程如下:
[0031]步骤一,当USBKey初始化下载证书时,通过USBKey初始化软件将时钟计数器清零,并将USBKey的内部时间与网络时间调整一致;
[0032]步骤二,证书下载完成发放给用户之后,时钟计数器开始计时,每隔K秒,计数器加1,κ可以是I秒,也可以是I毫秒;
[0033]步骤三,在使用的时候,USBKey与PC或者其他有源终端连接,PMU切换供电方式,由外部给USBKey供电,同时,外部电源给USBKey内部的可充电电池充电;
[0034]步骤四,在正常工作的情况下,由于VCXO或TCXO本身的误差,会导致USBKey的系统时间与实际的系统时间有误差,这个误差可以根据VCXO或TCXO的精度,以及最大脱离网络系统或者PC的时间,计算出对应的最大误差;如果USBKey的时钟与PC或者网络时间比较后,两者的误差在上述计算的误差范围内,则USBKey的时钟(COS的系统时间)需要根据网络系统或者PC的时间,做一下校准;
[0035]步骤五,当应用软件使用USBKey进行数字签名或数据加、解密时,首先读取USBKey的时钟计数器内的当前计数,与PC或者其他有源终端的时间做比较(或者不与PC或者其他有源终端的时间做比较,而是只依据USBKey的自己的时钟),判断是否已逾期,如果逾期则锁定USBKey,并返回USBKey逾期,操作失败,反之则正常工作。
[0036]本发明提出的这种方法,在USBKey内增加硬件时钟计数器用于USBKey独立计时,避免了 USBKey在不联网的线下使用场景时,蓄意改变系统时间或使用虚拟机设定时间导致USBKey的有效期就无法判断了的情况发生,同时在USBKey内增加可充电电池,可充电电池在USBKey与USB主设备断开时为USBKey的时钟计数器和时钟晶振供电,确保USBKey的独立计时功能。
[0037]以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
【权利要求】
1.一种采用时钟来控制密钥有效期的方法,其特征在于,包括以下步骤: 步骤一,当USBKey初始化下载证书时,将时钟计数器清零,并将USBKey的内部时间与网络时间调整一致; 步骤二,证书下载完成发放给用户之后,时钟计数器开始计时,每隔K秒,计数器加I ; 步骤三,在使用的时候,USBKey与PC或者其他有源终端连接,PMU切换供电方式,由外部给USBKey供电,同时,外部电源给USBKey内部的可充电电池充电; 步骤四,在正常工作的情况下,由于VCXO或TCXO本身的误差,会导致USBKey的系统时间与实际的系统时间有误差,这个误差可以根据VCXO或TCXO的精度,以及最大脱离网络系统或者PC的时间,计算出对应的最大误差;如果USBKey的时钟与PC或者网络时间比较后,两者的误差在上述计算的误差范围内,则USBKey的时钟需要根据网络系统或者PC的时间做校准; 步骤五,当应用软件使用USBKey进行数字签名或数据加、解密时,首先读取USBKey的时钟计数器内的当前计数,与PC或者其他有源终端的时间做比较,或者不与PC或者其他有源终端的时间做比较,而是只依据USBKey的自己的时钟,判断是否已逾期,如果逾期则锁定USBKey,并返回USBKey逾期,操作失败,反之则正常工作。
2.根据权利要求1所述的采用时钟来控制密钥有效期的方法,其特征在于:所述时钟计数器用于USBKey独立计时,位数为N,N可以取32位或64位,每隔K秒,计数器加1,K可以取I秒或I毫秒。
3.根据权利要求1所述的采用时钟来控制密钥有效期的方法,其特征在于:所述可充电电池可以使用锂电池;当USBKey连接USB主设备时,可充电电池利用USB 口电源进行充电;当USBKey与USB主设备断开时,可充电电池为晶振时钟和时钟计数器供电,保证USBKey在没有USB主设备供电情况下的计时功能。
【文档编号】H04L9/08GK104378200SQ201410665960
【公开日】2015年2月25日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】聂明 申请人:中城智慧科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1