密钥更新方法及系统与流程

文档序号:12729083阅读:1025来源:国知局
密钥更新方法及系统与流程

本发明涉及密钥更新方法及系统,更具体地,涉及不间断服务的密钥更新方法及系统。



背景技术:

目前,随着基于网络的应用的日益广泛以及不同领域的业务种类的日益丰富,在访问网络设备时基于密钥对用户进行鉴权变得越来越重要。

在现有的技术方案中,典型地基于如下机制对访问网络设备的用户进行鉴权:(1)授权服务器生成一对公钥和私钥,随之将私钥保留在授权服务器端并将公钥分发至多个网络设备;(2)授权服务器基于用户请求生成授权证书,所述授权证书包含经由所述私钥加密的签名;(3)当用户使用该授权证书访问所述多个网络设备中的一个时,该设备使用所述公钥解密所述签名以验证用户的身份是否合法。

然而,上述现有的技术方案存在如下问题:为了增强设备访问的安全性,常常会周期性地更新所述公钥和私钥对,并且在所述公钥和私钥对更新之后,更新之前生成的授权证书均会失效,并且旧的公钥无法验证使用新的私钥加密的签名,由此,在多个(例如成百上千)网络设备使用同一公钥的情况下,为了确保使用新的私钥签发的授权证书在所有网络设备中均能正常使用,必须确保所有网络设备的公钥均更新完成后才能使用新的私钥签发授权证书,然而,由于需要更新密钥的网络设备非常多,故必须中断一定时间的服务来更新所有网络设备的公钥,同时在更新过程中一些网络设备由于当时不能联网而导致更新失败时,必须将其标记为不可用状态,随后再通过离线人工更新或定期重试的方式来进行更新和修复。

因此,存在如下需求:提供能够在不间断服务的情况下更新设备公钥的密钥更新方法及系统。



技术实现要素:

为了解决上述现有技术方案所存在的问题,本发明提出了能够在不间断服务的情况下更新密钥的密钥更新方法及系统。

本发明的目的是通过以下技术方案实现的:

一种密钥更新方法,所述密钥更新方法包括下列步骤:

(A1)授权服务器周期性地生成一对公钥和私钥,并且每次生成新的公私钥对后将与公私钥对相关联的版本号加1;

(A2)在接收到来自用户的请求后,所述授权服务器生成授权证书以返回至所述用户,其中,所述授权证书至少包含经由当前有效的私钥加密的签名Signature、当前有效的公钥的版本号version、当前有效的公钥Public_key_code、以及使用版本号为(version-1)的私钥对版本号为version的公钥进行加密所得的数据Public_key_code_enc;

(A3)在用户使用所述授权证书访问多个网络设备中的一个目标网络设备时,该目标网络设备基于所述授权证书验证用户的身份是否合法并在该目标网络设备当前所使用的公钥的版本号与所述授权证书中的当前有效的公钥的版本号version不同的情况下自动地完成密钥更新操作。

在上面所公开的方案中,优选地,所述步骤(A1)进一步包括:在初始化阶段,所述授权服务器生成初始公私钥对,并将初始公钥和与其相关联的初始版本号分发至所述多个网络设备中的每一个,所述多个网络设备中的每一个随之将所述初始公钥作为当前所使用的公钥。

在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:基于预定的签名加密算法和/或摘要算法使用版本号为(version-1)的私钥对版本号为version的公钥进行加密以得到Public_key_code_enc。

在上面所公开的方案中,优选地,所述授权证书进一步包括访问者ID、设备ID和期满时间。

在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:以如下方式生成所述签名Signature:(1)基于预定的摘要算法计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要;(2)基于预定的签名加密算法使用版本号为version的私钥对所计算出的摘要加密以得到所述签名Signature。

在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:在接收到用户提供的所述授权证书后,所述目标网络设备检查所述授权证书中的当前有效的公钥的版本号version是否与其当前正在使用的公钥的版本号一致,并且如果不一致,则触发密钥更新操作,否则,以如下方式验证用户的身份是否合法:(1)基于预定的摘要算法计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要以获得第一摘要值;(2)利用当前正在使用的公钥解密所述授权证书中的签名Signature以获得第二摘要值;(3)比较所述第一摘要值和第二摘要值,如果两者一致,则验证通过,否则,验证失败。

在上面所公开的方案中,优选地,所述密钥更新操作包括:(1)获取所述授权证书中的当前有效的公钥Public_key_code作为第一密钥,并利用所述目标网络设备当前正在使用的公钥解密所述授权证书中的Public_key_code_enc以得到第二密钥;(2)比较所述第一密钥和第二密钥,如果两者不一致,则验证失败,否则进入步骤(3);(3)存储所述授权证书中的当前有效的公钥的版本号version和当前有效的公钥Public_key_code,并将所述授权证书中的当前有效的公钥Public_key_code用作新的当前使用的公钥以完成密钥更新,随之利用所述新的当前使用的公钥以如下方式验证用户的身份是否合法:(a)基于预定的摘要算法计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要以获得第一摘要值;(b)利用所述新的当前使用的公钥解密所述授权证书中的签名Signature以获得第二摘要值;(c)比较所述第一摘要值和第二摘要值,如果两者一致,则验证通过,否则,验证失败。

在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:在所述密钥更新操作完成后,所述目标网络设备仍然保存旧版本的公钥及其版本号,并且在用户提供的授权证书是基于旧版本的公私钥对的授权证书时利用所保存的与之对应的旧版本的公钥验证该授权证书,随之在验证通过的情况下提醒用户向所述授权服务器申请基于最新版本的公私钥对生成的授权证书。

在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:在收到来自所述目标网络设备的所述提醒后,所述用户向所述授权服务器申请基于最新版本的公私钥对生成的授权证书以替换旧的授权证书。

本发明的目的也可以通过以下技术方案实现:

一种密钥更新系统,其包括:

授权服务器,所述授权服务器周期性地生成一对公钥和私钥,并且每次生成新的公私钥对后将与公私钥对相关联的版本号加1,以及在接收到来自用户的请求后生成授权证书以返回至所述用户,其中,所述授权证书至少包含经由当前有效的私钥加密的签名Signature、当前有效的公钥的版本号version、当前有效的公钥Public_key_code、以及使用版本号为(version-1)的私钥对版本号为version的公钥进行加密所得的数据Public_key_code_enc;

至少一个网络设备,所述至少一个网络设备中的任一个在接收到欲访问该网络设备的用户提供的所述授权证书后基于所述授权证书验证用户的身份是否合法并在该网络设备当前所使用的公钥的版本号与所述授权证书中的当前有效的公钥的版本号version不同的情况下自动地完成密钥更新操作。

本发明所公开的密钥更新方法及系统具有如下优点:由于能够在用户访问网络设备时自动地执行密钥更新操作,故无须中断服务并且无须针对暂时不能联网的设备实施离线人工更新或定期重试,由此显著地提高了密钥更新的效率和性能,从而增强了系统安全性。

附图说明

结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:

图1是根据本发明的实施例的密钥更新方法的流程图;

图2是根据本发明的实施例的密钥更新系统的示意性结构图。

具体实施方式

图1是根据本发明的实施例的密钥更新方法的流程图。如图1所示,本发明所公开的密钥更新方法包括下列步骤:(A1)授权服务器周期性地生成一对公钥和私钥,并且每次生成新的公私钥对后将与公私钥对相关联的版本号加1;(A2)在接收到来自用户的请求后,所述授权服务器生成授权证书以返回至所述用户,其中,所述授权证书至少包含经由当前有效的私钥加密的签名Signature、当前有效的公钥的版本号version、当前有效的公钥Public_key_code、以及使用版本号为(version-1)的私钥对版本号为version的公钥进行加密所得的数据Public_key_code_enc;(A3)在用户使用所述授权证书访问多个网络设备中的一个目标网络设备时,该目标网络设备基于所述授权证书验证用户的身份是否合法并在该目标网络设备当前所使用的公钥的版本号与所述授权证书中的当前有效的公钥的版本号version不同的情况下自动地完成密钥更新操作。

优选地,在本发明所公开的密钥更新方法中,所述步骤(A1)进一步包括:在初始化阶段,所述授权服务器生成初始公私钥对,并将初始公钥和与其相关联的初始版本号分发至所述多个网络设备中的每一个,所述多个网络设备中的每一个随之将所述初始公钥作为当前所使用的公钥。

优选地,在本发明所公开的密钥更新方法中,所述步骤(A2)进一步包括:基于预定的签名加密算法(例如RSA算法)和/或摘要算法(例如MD5算法)使用版本号为(version-1)的私钥对版本号为version的公钥进行加密(即签名)以得到Public_key_code_enc。

优选地,在本发明所公开的密钥更新方法中,所述授权证书进一步包括访问者ID(标识符,其用于标识用户)、设备ID(标识符,其用于标识目标网络设备)和期满时间(其指示该授权证书的到期时间)。

优选地,在本发明所公开的密钥更新方法中,所述步骤(A2)进一步包括:以如下方式生成所述签名Signature:(1)基于预定的摘要算法(诸如Hash算法,例如MD5算法)计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要;(2)基于预定的签名加密算法(例如RSA算法)使用版本号为version的私钥对所计算出的摘要加密以得到所述签名Signature。

优选地,在本发明所公开的密钥更新方法中,所述步骤(A3)进一步包括:在接收到用户提供的所述授权证书后,所述目标网络设备检查所述授权证书中的当前有效的公钥的版本号version是否与其当前正在使用的公钥的版本号一致,并且如果不一致,则触发密钥更新操作,否则,以如下方式验证用户的身份是否合法:(1)基于预定的摘要算法计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要以获得第一摘要值;(2)利用当前正在使用的公钥解密所述授权证书中的签名Signature以获得第二摘要值;(3)比较所述第一摘要值和第二摘要值,如果两者一致,则验证通过,否则,验证失败。

优选地,在本发明所公开的密钥更新方法中,所述密钥更新操作包括:(1)获取所述授权证书中的当前有效的公钥Public_key_code(即version版本的公钥)作为第一密钥,并利用所述目标网络设备当前正在使用的公钥(即(version-1)版本的公钥)解密所述授权证书中的Public_key_code_enc以得到第二密钥;(2)比较所述第一密钥和第二密钥,如果两者不一致,则验证失败,否则进入步骤(3);(3)存储所述授权证书中的当前有效的公钥的版本号version和当前有效的公钥Public_key_code,并将所述授权证书中的当前有效的公钥Public_key_code(即version版本的公钥)用作新的当前使用的公钥以完成密钥更新,随之利用所述新的当前使用的公钥以如下方式验证用户的身份是否合法:(a)基于MD5算法计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要以获得第一MD5值;(b)利用所述新的当前使用的公钥解密所述授权证书中的签名Signature以获得第二MD5值;(c)比较所述第一MD5值和第二MD5值,如果两者一致,则验证通过,否则,验证失败。

优选地,在本发明所公开的密钥更新方法中,所述步骤(A3)进一步包括:在所述密钥更新操作完成后,所述目标网络设备仍然保存旧版本的公钥及其版本号(例如(version-1)版本的公钥和/或更早版本的公钥及其版本号),并且在用户提供的授权证书是基于旧版本的公私钥对的授权证书时利用所保存的与之对应的旧版本的公钥验证该授权证书,随之在验证通过的情况下提醒用户向所述授权服务器申请基于最新版本的公私钥对生成的授权证书。

优选地,在本发明所公开的密钥更新方法中,所述步骤(A3)进一步包括:在收到来自所述目标网络设备的所述提醒后,所述用户向所述授权服务器申请基于最新版本的公私钥对生成的授权证书以替换旧的授权证书。

由上可见,本发明所公开的密钥更新方法具有下列优点:由于能够在用户访问网络设备时自动地执行密钥更新操作,故无须中断服务并且无须针对暂时不能联网的设备实施离线人工更新或定期重试,由此显著地提高了密钥更新的效率和性能,从而增强了系统安全性。

图2是根据本发明的实施例的密钥更新系统的示意性结构图。如图2所示,本发明所公开的密钥更新系统包括授权服务器1和至少一个网络设备2,所述授权服务器1周期性地生成一对公钥和私钥,并且每次生成新的公私钥对后将与公私钥对相关联的版本号加1,以及在接收到来自用户的请求后生成授权证书以返回至所述用户,其中,所述授权证书至少包含经由当前有效的私钥加密的签名Signature、当前有效的公钥的版本号version、当前有效的公钥Public_key_code、以及使用版本号为(version-1)的私钥对版本号为version的公钥进行加密所得的数据Public_key_code_enc。所述至少一个网络设备2中的任一个在接收到欲访问该网络设备的用户提供的所述授权证书后基于所述授权证书验证用户的身份是否合法并在该网络设备当前所使用的公钥的版本号与所述授权证书中的当前有效的公钥的版本号version不同的情况下自动地完成密钥更新操作。

优选地,在本发明所公开的密钥更新系统中,所述授权服务器1在初始化阶段生成初始公私钥对,并将初始公钥和与其相关联的初始版本号分发至所述至少一个网络设备中的每一个,所述至少一个网络设备中的每一个随之将所述初始公钥作为当前所使用的公钥。

优选地,在本发明所公开的密钥更新系统中,所述授权服务器1基于RSA算法使用版本号为(version-1)的私钥对版本号为version的公钥进行加密以得到Public_key_code_enc。

优选地,在本发明所公开的密钥更新系统中,所述授权证书进一步包括访问者ID(标识符,其用于标识用户)、设备ID(标识符,其用于标识网络设备)和期满时间(其指示该授权证书的到期时间)。

优选地,在本发明所公开的密钥更新系统中,所述授权服务器1以如下方式生成所述签名Signature:(1)基于预定的摘要算法(诸如Hash算法,例如MD5算法)计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要;(2)基于预定的签名加密算法(例如RSA算法)使用版本号为version的私钥对所计算出的摘要加密以得到所述签名Signature。

优选地,在本发明所公开的密钥更新系统中,在接收到用户提供的所述授权证书后,所述网络设备2检查所述授权证书中的当前有效的公钥的版本号version是否与其当前正在使用的公钥的版本号一致,并且如果不一致,则触发密钥更新操作,否则,以如下方式验证用户的身份是否合法:(1)基于预定的摘要算法(例如MD5算法)计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要以获得第一摘要值;(2)利用当前正在使用的公钥解密所述授权证书中的签名Signature以获得第二摘要值;(3)比较所述第一摘要值和第二摘要值,如果两者一致,则验证通过,否则,验证失败。

优选地,在本发明所公开的密钥更新系统中,所述密钥更新操作包括:(1)获取所述授权证书中的当前有效的公钥Public_key_code(即version版本的公钥)作为第一密钥,并利用所述目标网络设备当前正在使用的公钥(即(version-1)版本的公钥)解密所述授权证书中的Public_key_code_enc以得到第二密钥;(2)比较所述第一密钥和第二密钥,如果两者不一致,则验证失败,否则进入步骤(3);(3)存储所述授权证书中的当前有效的公钥的版本号version和当前有效的公钥Public_key_code,并将所述授权证书中的当前有效的公钥Public_key_code(即version版本的公钥)用作新的当前使用的公钥以完成密钥更新,随之利用所述新的当前使用的公钥以如下方式验证用户的身份是否合法:(a)基于预定的摘要算法(例如MD5算法)计算由所述授权证书中的当前有效的公钥的版本号version、访问者ID、设备ID、期满时间构成的内容的摘要以获得第一摘要值;(b)利用所述新的当前使用的公钥解密所述授权证书中的签名Signature以获得第二摘要值;(c)比较所述第一摘要值和第二摘要值,如果两者一致,则验证通过,否则,验证失败。

优选地,在本发明所公开的密钥更新系统中,在所述密钥更新操作完成后,所述网络设备2仍然保存旧版本的公钥及其版本号(例如(version-1)版本的公钥和/或更早版本的公钥及其版本号),并且在用户提供的授权证书是基于旧版本的公私钥对的授权证书时利用所保存的与之对应的旧版本的公钥验证该授权证书,随之在验证通过的情况下提醒用户向所述授权服务器申请基于最新版本的公私钥对生成的授权证书。

由上可见,本发明所公开的密钥更新系统具有下列优点:由于能够在用户访问网络设备时自动地执行密钥更新操作,故无须中断服务并且无须针对暂时不能联网的设备实施离线人工更新或定期重试,由此显著地提高了密钥更新的效率和性能,从而增强了系统安全性。

尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1