首页> 中国专利> 通过验证授权时间来验证用户授权证书的方法及系统

通过验证授权时间来验证用户授权证书的方法及系统

摘要

本发明提供一种通过验证授权时间来验证用户授权证书的方法及系统。其中方法包括:用户端获取其自身的硬件标识、固件标识和硬盘上电计时时间,并加密后传送至服务端;服务端制作验证证书,根据硬盘上电计时时间生成有效授权时间,将硬件标识、固件标识和有效授权时间写入验证证书并作数字签名,使用硬件标识和固件标识加密验证证书,传送至用户端;用户端接收验证证书,使用硬件标识和固件标识进行解密,获得验证证书;根据有效授权时间判断验证证书是否有效。其使用固件标识、硬件标识对验证证书内进行加密解密,克服证书被伪造、证书中信息被篡改的缺陷,采用硬盘上电计时时间克服由于系统时间被修改无法判别证书是否合法有效的缺陷。

著录项

  • 公开/公告号CN105553668A

    专利类型发明专利

  • 公开/公告日2016-05-04

    原文格式PDF

  • 申请/专利权人 北京飞杰信息技术有限公司;

    申请/专利号CN201510962225.X

  • 发明设计人 陈杰;沈伟亮;

    申请日2015-12-21

  • 分类号H04L9/32;

  • 代理机构广州华进联合专利商标代理有限公司;

  • 代理人郑小粤

  • 地址 100192 北京市海淀区学清路8号(科技财富中心)A座2层

  • 入库时间 2023-12-18 15:50:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-04

    授权

    授权

  • 2016-06-01

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20151221

    实质审查的生效

  • 2016-05-04

    公开

    公开

说明书

技术领域

本发明涉及通信安全领域,特别是涉及一种通过验证授权时间来验证用户授权证书的方法及系统。

背景技术

传统的验证用户授权证书的方法是用户端用公钥加密信息,然后将信息传送至服务端,服务端用私钥签名证书后,发送给用户端,用户端使用公钥解密证书,并通过用户端的系统时间判断该证书是否有效。

并且,用户端在使用公钥解密证书得到信息后,可以在利用自己的公钥私钥重新制作证书,取代用户端原有的证书和公钥,此时用户端无法判断用户端原有的证书和公钥是否被伪造的证书和公钥取代,证书的有效时间也有可能被修改,因此无法判别证书是否合法有效。

发明内容

鉴于此,有必要针对无法判别证书中的授权时间是否合法有效的问题,提供一种通过验证授权时间来验证用户授权证书的方法及系统,避免了当验证证书有效时间阶段,所需要的时间是错误的情形,保证了验证证书的授权时间能够被正确判别。

为达到发明目的,提供一种通过验证授权时间来验证用户授权证书的方法,所述方法包括:

用户端获取其自身的硬件标识、固件标识和硬盘上电计时时间,并将所述硬件标识、所述固件标识和所述硬盘上电计时时间加密后传送至服务端;

通过所述服务端制作验证证书,根据所述硬盘上电计时时间生成有效授权时间,将所述硬件标识、所述固件标识和所述有效授权时间写入所述验证证书,并作数字签名,使用所述硬件标识和所述固件标识加密所述验证证书,将加密后的所述验证证书传送至所述用户端;

通过所述用户端接收加密后的所述验证证书,并使用所述硬件标识和所述固件标识进行解密,获得所述验证证书;

获取所述验证证书中的所述有效授权时间,其中,所述有效授权时间为硬盘上电计时时间和预设授权时间之和;

获取当前的硬盘上电计时时间;

判断所述当前的硬盘上电计时时间是否超出所述有效授权时间;

若是,则确定所述验证证书授权失效;

若否,则确定所述验证证书授权有效。

在其中一个实施例中,所述用户端获取其自身的硬件标识、固件标识和硬盘上电计时时间,并将所述硬件标识、所述固件标识和所述硬盘上电计时时间加密后传送至服务端的步骤包括:

获取用户端的所述硬件标识、所述固件标识和所述硬盘上电计时时间;

使用公钥对所述硬件标识、所述固件标识和所述硬盘上电计时时间进行加密;

将加密后的所述硬件标识、所述固件标识和所述硬盘上电计时时间传送至所述服务端。

在其中一个实施例中,所述通过所述服务端制作验证证书,根据所述硬盘上电计时时间生成有效授权时间,将所述硬件标识、所述固件标识和所述有效授权时间写入所述验证证书,并作数字签名,使用所述硬件标识和所述固件标识加密所述验证证书,将加密后的所述验证证书传送至所述用户端的步骤包括:

使用所述服务端的私钥对传送至所述服务端的加密后的所述硬件标识、所述固件标识和所述硬盘上电计时时间进行解密,获得所述硬件标识、所述固件标识和所述硬盘上电计时时间;

根据所述硬盘上电计时时间和所述服务端的预设授权时间获得所述有效授权时间,并将所述硬件标识、所述固件标识和所述有效授权时间写入所述验证证书中;

使用所述服务端的私钥对所述验证证书进行数字签名,并使用所述硬件标识和所述固件标识对数字签名后的验证证书进行加密;

将加密后的验证证书传送给所述用户端。

在其中一个实施例中,所述通过所述用户端接收加密后的所述验证证书,并使用所述硬件标识和所述固件标识进行解密,获得所述验证证书的步骤包括:

通过所述用户端接收加密后的所述验证证书,并使用所述硬件标识和所述固件标识进行解密,获得数字签名后的所述验证证书;

使用公钥解密数字签名的所述验证证书,获得所述验证证书中的所述有效授权时间。

本发明还提供一种过验证授权时间来验证用户授权证书的系统,所述系统包括:

获取传送模块,用于用户端获取其自身的硬件标识、固件标识和硬盘上电计时时间,并将所述硬件标识、所述固件标识和所述硬盘上电计时时间加密后传送至服务端;

制作加密模块,用于通过所述服务端制作验证证书,根据所述硬盘上电计时时间生成有效授权时间,将所述硬件标识、所述固件标识和所述有效授权时间写入所述验证证书,并作数字签名,使用所述硬件标识和所述固件标识加密所述验证证书,将加密后的所述验证证书传送至所述用户端;

解密获得模块,用于通过所述用户端接收加密后的所述验证证书,并使用所述硬件标识和所述固件标识进行解密,获得所述验证证书;

第一获取模块,用于获取所述验证证书中的所述有效授权时间,其中,所述有效授权时间为硬盘上电计时时间和预设授权时间之和;

第二获取模块,用于获取当前的硬盘上电计时时间;

判断模块,用于判断所述当前的硬盘上电计时时间是否超出所述有效授权时间;若是,则确定所述验证证书授权失效;若否,则确定所述验证证书授权有效。

在其中一个实施例中,所述获取传送模块包括:

获取单元,用于获取用户端的所述硬件标识、所述固件标识和所述硬盘上电计时时间;

第一加密单元,用于使用公钥对所述硬件标识、所述固件标识和所述硬盘上电计时时间进行加密;

第一传送单元,用于将加密后的所述硬件标识、所述固件标识和所述硬盘上电计时时间传送至所述服务端。

在其中一个实施例中,所述制作加密模块包括:

第一解密单元,用于使用所述服务端的私钥对所述验证证书进行解密,获得所述硬件标识、所述固件标识和所述硬盘上电计时时间;

写入单元,用于根据所述硬盘上电计时时间和所述服务端的预设授权时间获得所述有效授权时间,并将所述硬件标识、所述固件标识和所述有效授权时间写入所述验证证书中;

第二加密单元,用于使用所述服务端的私钥对所述验证证书进行数字签名,并使用所述硬件标识和所述固件标识对数字签名后的验证证书进行加密;

第二传送单元,用于将加密后的验证证书传送给所述用户端。

在其中一个实施例中,所述解密获得模块包括:

第二解密单元,用于通过所述用户端接收加密后的所述验证证书,并使用所述硬件标识和所述固件标识进行解密,获得数字签名后的所述验证证书;

解密数字签名单元,用于使用公钥解密数字签名后的所述验证证书,获得所述验证证书中的所述有效授权时间。

本发明的有益效果包括:

上述通过验证授权时间来验证用户授权证书的方法方法及系统,使用用户端上传的固件标识、硬件标识对验证证书内的信息进行加密解密,充分保证验证证书中信息的安全,由于用户端的固件标识、硬件标识不能被取代或难以被他人用其他方式所轻易获知,因此有效的克服了传统技术中验证证书被伪造的缺陷,避免了验证证书中信息被篡改的疑虑。同时,验证证书中的有效授权时间是根据硬盘上电计时时间获得的,由于硬盘上电计时时间无法人为进行修改,因此,能够有效的克服传统技术中由于系统时间被修改时无法判别有效授权时间是否合法的缺陷。

附图说明

图1为一个实施例中的通过验证授权时间来验证用户授权证书的方法的流程示意

图2为一个实施例中的通过验证授权时间来验证用户授权证书的系统的结构示意

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明通过验证授权时间来验证用户授权证书的方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

在一个实施例中,如图1所示,提供了一种通过验证授权时间来验证用户授权证书的方法,该方法包括以下步骤:

S100,获取用户端的硬件标识、固件标识和硬盘上电计时时间,并将硬件标识、固件标识和硬盘上电计时时间加密后传送至服务端。

S200,通过服务端制作验证证书,根据硬盘上电计时时间生成有效授权时间,将硬件标识、固件标识和有效授权时间写入验证证书,并作数字签名,使用硬件标识和固件标识加密验证证书,将加密后的验证证书传送至用户端。

S300,通过用户端接收加密后的验证证书,并使用硬件标识和固件标识进行解密,获得验证证书。

S400,获取验证证书中的有效授权时间,其中,有效授权时间为硬盘上电计时时间和预设授权时间之和。

S500,获取当前的硬盘上电计时时间。

S600,判断当前的硬盘上电计时时间是否超出有效授权时间;若是,则执行步骤S610,若否,则执行步骤S620。

步骤S610,确定验证证书授权失效。

步骤S620,确定验证证书授权有效。

传统的通过验证授权时间来验证用户授权证书的方法仅使用服务端的公钥私钥获得验证证书,由于验证证书直接放在档案系统,验证证书容易被伪造,有心人可以直接透过公钥解密得到验证证书的信息,并将此信息透过自己的公钥制作伪造的验证证书。

并且验证证书中的有效授权时间容易被更改,传统做法中的得到验证证书中的有效授权时间与系统时间进行比较后来验证用户授权证书是否合法,用户端可随意篡改系统时间,使得验证证书中的有效授权时间与系统时间进行比较,由于无法获知此系统时间是否被篡改,因此,无法判别验证证书是否合法。传统做法中,大多数验证证书中的有效授权时间是使用NTP(NetworkTimeProtocol,网络时间协议)或用户端产品本身的RTC(Real-TimeClock,实时时钟)作为时间参考的,其中NTP的缺点在于必须透过网络获取时间,在无网络的情况下,无法获取正确的参数时间,也就无法与验证证书中的有效授权时间比较,更无法判别验证证书是否合法。RTC的缺点在于起始时间是由使用者进行设定的,在无网络的情况下,只能靠设定者设定,无法判断是否为正确的参数时间,同理,也就无法将设定者设定的起始时间与验证证书中的有效授权时间比较,更无法判别验证证书是否合法。

而本实施例中通过放在档案系統的验证证书利用自身的固件ID,硬件ID作加密保護,从而防止验证证书容易被伪造,所述服务端传给用户端的验证证书,会放置在档案系统,以防断电时消失,如果有人尝试直接用公钥解密,由于此时验证证书还没经过固件ID,硬件ID解密,因此此时解密会失败。

本实施例中,首先上传用户端的硬件标识(如硬件ID),固件标识(如FirmwareID)和硬盘上电计时时间至服务端,通过服务端的软件制作验证证书,根据用户端上传的硬盘上电计时时间生成有效授权时间,并将硬件标识、固件标识和有效授权时间写入验证证书中然后使用硬件标识和固件标识对验证证书进行加密,并作数字签名后传送给用户端的档案系统,用户端接收后将验证证书复制一份到内存,在内存做验证的动作。由于硬件标识和固件标识是一种全世界唯一的编码,且只要硬件标识和固件标识没有泄露,则只有上传硬件标识和固件标识的用户端才能解密该验证证书,获得验证证书中的有效授权时间,使用固件标识和硬件标识能够有效的解决传统技术中用户端的公钥被取代,证书被伪造的缺陷,利用硬件标识和固件标识的独特性使服务端直接作为第三方保证公私钥不被伪造,验证证书不被伪造。并且,上述有效授权时间是根据硬盘上电计时时间获得的,硬盘上电计时时间(POH,Power-OnHours)是硬盘S.M.A.R.T.(Self-Monitoring,AnalysisandReportingTechnology,自我监测、分析及报告技术)信息中的一个参数,表示的是硬盘通电状态的总计时间,该参数只能随磁盘的通电时间而递增,无法人为进行修改,因此,能够有效的克服传统技术中由于系统时间被修改时无法判别有效授权时间是否合法的缺陷。

在实际的使用过程中,硬盘上电计时时间会随着用户端的使用而不断变大,设计有效授权时间为上传至服务端的硬盘上电计时时间和预设授权时间之和,能够充分保证用户端的权限,不至于验证证书刚下发到用户端就失效。验证证书一般只在一段时间内有效,通过当前的硬盘上电时间和有效授权时间的比较,以保证验证证书的实时性。由于硬盘上电计时时间只能在硬盘通电时自动变动,不能人为进行改变,因此,可以有效的避免系统时间被更改而无法正确判别授权时间的疑虑,也避免了验证证书内有效授权时间被篡改的缺陷。

例如:用户端透过IPMI(IntelligentPlatformManagementInterface,智能平台管理接口)获取硬盘此时的硬盘上电计时时间POH=20hr,发送给服务端后,服务端授权给用户2天的试用时间(预设授权时间),即服务端生成的有效授权时间为20hr+2*24hr=68hr,并将有效授权时间68hr写入验证证书中,当用户端获得验证证书后,获取验证证书中的有效授权时间68hr,再获得当前的硬盘上电计时时间,若当前的硬盘上电时间(如70hr)超出有效授权时间68hr,则认定该验证证书中的有效授权时间过期,此时验证证书授权失效。由于硬盘上电计时时间只能随着硬盘的通电时间递增,不能人为进行修改,也不受其他参数因素的影响,因此可以避免当验证证书在有效授权时间时,所需要的时间是错误的情形。

其中,硬件标识包括CPU序号和硬盘序号。具体的,固件标识是指为用户端所使用的Firmware中定义的序号。如:用户端1使用的Firmware中定义ID=09d892-cx1F,则用户端1的固件标识为09d892-cx1F,用户端2所使用的Firmware中定义ID=0x9g3mK92,则用户端2的固件标识为x9g3mK92。

值得说明的是,上述过程中的硬件标识、固件标识和硬盘上电计时时间等信息不显示在人机界面上,用户无法获得硬件标识、固件标识和硬盘上电计时时间等信息,可以确保硬件标识、固件标识和硬盘上电计时时间信息的安全可靠。

在一个实施例中,步骤S100包括:

S110,获取用户端的硬件标识、固件标识和硬盘上电计时时间。

S120,使用公钥对硬件标识、所述固件标识和硬盘上电计时时间进行加密。

S130,将加密后的硬件标识、固件标识和硬盘上电计时时间传送至服务端。

本实施例中,使用服务端的公钥上传用户端的硬件标识、固件标识和硬盘上电计时时间,则只有服务端才能获得用户端的硬件标识、固件标识和硬盘上电计时时间,其他用户端是无法获得上传用户端的硬件标识、固件标识和硬盘上电计时时间信息的,确保用户端的硬件标识、固件标识和硬盘上电计时时间等信息的安全性。

在一个实施例中,步骤S200包括:

S210,使用服务端的私钥对验证证书进行解密,获得硬件标识、固件标识和硬盘上电计时时间。

S220,根据硬盘上电计时时间和服务端的预设授权时间获得有效授权时间,并将硬件标识、固件标识和有效授权时间写入验证证书中。

S230,使用服务端的私钥对验证证书进行数字签名,并使用硬件标识和固件标识对数字签名后的验证证书进行加密。

S240,将加密后的验证证书传送给用户端。

由前述实施例可知,在上传用户端的硬件标识、固件标识和硬盘上电计时时间时使用了服务端的公钥,因此服务端接收使用其公钥加密后的硬件标识、固件标识和硬盘上电计时时间后,需要使用其私钥进行相应的解密,以获得用户端的硬件标识、固件标识和硬盘上电计时时间等信息。根据硬盘上电计时时间及服务端的预设授权时间获得有效授权时间,并将硬件标识、固件标识和有效授权时间写入验证证书中,然后在使用服务端的私钥对该验证证书进行加密,生成该验证证书的数字签名,这样在用户端接收验证证书后,能够根据数字签名判别该验证证书的合法性(即该验证证书是由服务端发送的,并且该验证证书内的信息是完整的)。最后再使用硬件标识和固件标识对数字签名后的验证证书进行加密,以保证只有上传硬件标识和固件标识的用户端能获得验证证书。

其中,公钥(PublicKey)与私钥(PrivateKey)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

值得说明的是,上述实施例中采用公钥和秘钥对验证证书进行加密解密时,可以采用不同的演算法,如:RSA(一种公钥加密算法,由RonRivest、AdiShamir和LeonardAdleman一起提出),aes(AdvancedEncryptionStandard,高级加密标准),des(DataEncryptionStandard,数据加密标准)等。其中,aes和des加密速度快,适合大量数据,RSA加密速度慢,只能处理少量数据,但优点是即使在不安全的网上公开,也能保证安全。

在一个实施例中,步骤S300包括:

S310,通过用户端接收加密后的验证证书,并使用硬件标识和固件标识进行解密,获得数字签证后的验证证书。

S320,使用公钥对数字签证的验证证书进行解密,获得验证证书中的有效授权时间。

在本实施例中,使用硬件标识、固件标识和服务端的公钥私钥对验证证书进行双重加密解密,而不是单纯的使用公钥私钥加密解密验证证书,充分保证验证证书中的信息安全可靠,也避免存放在档案系统时,可以直接用公钥解密的问题。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。

在一个实施例中,如图2所示,还提供了一种通过验证授权时间来验证用户授权证书的系统,该系统包括:获取传送模块100,用于用户端获取其自身的硬件标识、固件标识和硬盘上电计时时间,并将硬件标识、固件标识和硬盘上电计时时间加密后传送至服务端。制作加密模块200,用于通过所述服务端制作验证证书,根据硬盘上电计时时间生成有效授权时间,将硬件标识、固件标识和有效授权时间写入验证证书,并作数字签名,使用硬件标识和固件标识加密验证证书,将加密后的验证证书传送至用户端。解密获得模块300,用于通过所述用户端接收加密后的验证证书,并使用硬件标识和固件标识进行解密,获得验证证书。第一获取模块400,用于获取验证证书中的有效授权时间,其中,有效授权时间为硬盘上电计时时间和预设授权时间之和。第二获取模块500,用于获取当前的硬盘上电计时时间。判断模块600,用于确定当前的硬盘上电计时时间是否超出有效授权时间;若是,则确定验证证书授权失效;若否,则确定验证证书授权有效。

本实施例中的通过验证授权时间来验证用户授权证书的系统,使用用户端上传的固件标识、硬件标识对验证证书内的信息进行加密解密,充分保证验证证书中信息的安全,由于用户端的固件标识、硬件标识不能被取代,因此有效的克服了传统技术中验证证书被伪造的缺陷,避免了验证证书中信息被篡改的疑虑。同时,验证证书中的有效授权时间是根据硬盘上电计时时间获得的,由于硬盘上电计时时间无法人为进行修改,因此,能够有效的克服传统技术中由于系统时间被修改时无法判别有效授权时间是否合法的缺陷。

在一个实施例中,获取传送模块100包括:获取单元110,用于获取用户端的硬件标识、固件标识和硬盘上电计时时间。第一加密单元120,用于使用公钥对硬件标识、固件标识和所述硬盘上电计时时间进行加密。第一传送单元130,用于将加密后的所述硬件标识、所述标识和所述硬盘上电计时时间传送至服务端。

在一个实施例中,制作加密模块200包括:第一解密单元210,用于使用服务端的私钥对验证证书进行解密,获得硬件标识、固件标识和硬盘上电计时时间。写入单元220,用于根据硬盘上电计时时间和服务端的预设授权时间获得有效授权时间,并将硬件标识、固件标识和有效授权时间写入验证证书中。第二加密单元230,用于使用服务端的私钥对验证证书进行数字签名,并使用硬件标识和固件标识对数字签名后的验证证书进行加密。第二传送单元240,用于将加密后的验证证书传送给用户端。

在一个实施例中,解密获得模块300包括:第二解密单元310,用于通过用户端接收加密后的验证证书,并使用硬件标识和固件标识进行解密,获得数字签名后的验证证书。解密数字签名单元320,用于使用公钥解密数字签名的验证证书,获得验证证书中的有效授权时间。

由于此系统解决问题的原理与前述一种通过验证授权时间来验证用户授权证书的方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号