协同密钥系统的协同密钥的保护、使用、解密方法及系统与流程

文档序号:35280535发布日期:2023-09-01 00:13阅读:70来源:国知局
协同密钥系统的协同密钥的保护、使用、解密方法及系统与流程

本披露一般涉及数据安全。更具体地,本披露涉及一种协同密钥系统的协同密钥的保护、使用、解密方法及协同密钥系统。


背景技术:

1、依据国家密码管理局对国密证书管理机制的标准《gm/t 0034-2014》,国密证书系统采用双证机制,其中签名证书用于数字签名,加密证书用于数据加密。

2、由于国密协同密钥签名及协同密钥解密是基于国密sm2算法实现,且针对软证书密钥易被拷贝这一问题或需要双方协同或多方用户进行签名或解密这一场景而推出的密钥运算方法,其保证了协同密钥分散在两方或多方,进而提升协同密钥运算的安全性,因此应用需求场景广泛。

3、但是在执行协同密钥拆分时,协同密钥系统内存中会产生完整私钥明文以及密钥分量私钥明文,这就导致了私钥存在泄漏风险。一旦有攻击者成功攻击系统,则攻击者就能够从系统内存中得到完整私钥明文,从而形成泄露风险。

4、有鉴于此,亟需提供一种协同密钥保护方案,以便对协同密钥系统中的协同密钥进行保护,防止其以明文形式完整地存在于系统内存中,从而提升协同密钥的安全性。


技术实现思路

1、为了至少解决如上所提到的一个或多个技术问题,本披露在多个方面中提出了协同密钥保护方案。

2、在第一方面中,本披露提供一种协同密钥系统的协同密钥的保护方法,协同密钥系统包括本端和对端,其中本端连接有密钥运算设备,保护方法包括在密钥运算设备执行:在进行协同密钥运算时,生成本端协同密钥数据;其中本端协同密钥数据中的私钥经密钥运算设备加密;接收本端转发的对端协同密钥运算数据;以及基于本端协同密钥数据和对端协同密钥运算数据生成本端协同密钥运算数据。

3、在一些实施例中,其中本端为服务端;本端协同密钥数据包括以下数据中的一个或多个:协同签名服务端密钥分量、第一临时密钥对公钥、第一随机密钥对、完整协同签名公钥、加密证书公钥和加密证书服务端密钥分量;对端协同密钥运算数据包括以下数据中的一个或多个:对端协同密钥数据和客户端协同签名分量;其中对端协同密钥数据包括以下数据中的一个或多个:协同签名客户端密钥分量、第二临时密钥对公钥和加密证书客户端密钥分量;以及本端协同密钥运算数据包括以下数据中的一个或多个:本端协同密钥数据和服务端协同签名分量。

4、在一些实施例中,本端协同密钥运算数据的生成步骤包括执行以下步骤中的一个或多个:根据协同签名服务端密钥分量中的私钥密文和协同签名客户端密钥分量中的公钥生成完整协同签名公钥;根据协同签名服务端密钥分量中的私钥密文、第一随机密钥对中的私钥密文和客户端协同签名分量生成服务端协同签名分量;以及根据加密证书私钥和第二临时密钥对公钥生成加密证书公钥、加密证书客户端密钥分量和加密证书服务端密钥分量;其中加密证书私钥基于第一临时密钥对公钥、服务端协同签名分量和客户端协同签名分量得到。

5、在一些实施例中,其中本端为客户端;本端协同密钥数据包括:协同签名客户端密钥分量、第二临时密钥对公钥、完整协同签名公钥、加密证书公钥和加密证书客户端密钥分量;对端协同密钥运算数据包括以下数据中的一个或多个:对端协同密钥数据和服务端协同签名分量;其中对端协同密钥数据包括以下数据中的一个或多个:协同签名服务端密钥分量、第一随机密钥对、第三临时密钥对公钥和加密证书服务端密钥分量;以及本端协同密钥运算数据包括以下数据中的一个或多个:本端协同密钥数据和客户端协同签名分量。

6、在一些实施例中,本端协同密钥运算数据的生成步骤包括执行以下步骤中的一个或多个:根据协同签名客户端密钥分量中的私钥密文和协同签名服务端密钥分量中的公钥生成完整协同签名公钥;根据被签数据摘要值、协同签名客户端密钥分量中的私钥密文和第一随机密钥对中的公钥生成客户端协同签名分量;以及根据加密证书私钥和第三临时密钥对公钥生成加密证书公钥、加密证书客户端密钥分量和加密证书服务端密钥分量;其中加密证书私钥基于第二临时密钥对公钥、服务端协同签名分量和客户端协同签名分量得到。

7、在第二方面中,本披露提供一种协同密钥系统的协同密钥的使用方法,协同密钥系统包括本端和对端,其中本端连接有密钥运算设备,使用方法包括在密钥运算设备执行:在进行协同密钥运算时,生成本端协同密钥数据;其中本端协同密钥数据中的私钥经密钥运算设备加密;接收本端转发的对端协同密钥运算数据;基于本端协同密钥数据和对端协同密钥运算数据生成本端协同密钥运算数据。

8、在一些实施例中,若本端为服务端,则本端协同密钥运算数据包括服务端协同签名分量;本端协同密钥数据包括第二随机密钥对和协同签名服务端密钥分量;对端协同密钥运算数据包括客户端协同签名分量;本端协同密钥运算数据的生成步骤包括:根据协同签名服务端密钥分量中的私钥密文、第二随机密钥对中的私钥密文和客户端协同签名分量生成服务端协同签名分量;以及若本端为客户端,则本端协同密钥运算数据包括客户端协同签名分量;本端协同密钥数据包括协同签名客户端密钥分量;对端协同密钥运算数据包括对端协同密钥数据和服务端协同签名分量;其中对端协同密钥数据包括第二随机密钥对和协同签名服务端密钥分量;本端协同密钥运算数据的生成步骤包括:根据被签数据摘要值、协同签名客户端密钥分量中的私钥密文和第二随机密钥对中的公钥生成客户端协同签名分量;其中客户端协同签名分量用于结合第二随机密钥对中的私钥和协同签名服务端密钥分量中的私钥,以生成服务端协同签名分量。

9、在第三方面中,本披露提供一种协同密钥系统的协同密钥的解密方法,协同密钥系统包括服务端和客户端,其中服务端连接有密钥运算设备,解密方法包括在密钥运算设备执行:获取用户业务系统的用户数据密文;根据加密证书服务端密钥分量和用户数据密文进行解密,得到服务端协同解密分量;以及将服务端协同解密分量经由服务端发送至客户端,以供客户端基于服务端协同解密分量、用户数据密文与加密证书客户端密钥分量解密得到用户数据明文;其中加密证书服务端密钥分量和加密证书客户端密钥分量通过如第一方面的保护方法生成。

10、在第四方面中,本披露提供一种协同密钥系统的协同密钥的解密方法,协同密钥系统包括服务端和客户端,其中客户端连接有密钥运算设备,解密方法包括在密钥运算设备执行:接收服务端发出的服务端协同解密分量;其中服务端协同解密分量基于加密证书服务端密钥分量和用户业务系统的用户数据密文解密得到;以及根据服务端协同解密分量、用户数据密文与加密证书客户端密钥分量解密得到用户数据明文;其中加密证书服务端密钥分量和加密证书客户端密钥分量通过如第一方面的保护方法生成。

11、在第五方面中,本披露提供一种协同密钥系统包括:一个或多个密钥运算设备,其配置成执行如第一方面的保护方法,或执行如第二方面的使用方法,或执行如第三方面或第四方面的解密方法;一个或多个对端,以及一个或多个本端,其与一个或多个对端通信连接,且本端中的一个或多个连接有密钥运算设备。

12、通过如上所提供的协同密钥的保护方法,本披露实施例中的协同密钥系统在进行协同密钥运算时,始终存在一个连接有密钥运算设备的本端,该端的协同密钥数据中的私钥经该密钥运算设备加密生成,使该端的协同密钥数据中的私钥在密钥运算设备以外呈密文形式,该端的协同密钥运算则由与之连接的密钥运算设备完成,从而生成协同密钥运算数据。在该过程中,除密钥运算设备以外都无法获取到完整的密钥分量私钥明文,即协同密钥系统中的任一本端或对端都无法获取到完整的协同密钥数据中的私钥明文。有鉴于此,即使系统受到恶意攻击,攻击者也能无法得到完整的私钥明文,从而提升了协同密钥的安全性,降低了私钥泄露风险。

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