一种密钥组合计算管理方法、装置及设备制造方法及图纸

技术编号:29023497 阅读:22 留言:0更新日期:2021-06-26 05:24
本申请提供一种密钥组合计算管理方法、装置及设备,该方法包括:客户端基于随机数、基点和所有ECC公钥生成临时公钥,基于临时公钥对随机生成的对称密钥进行加密,得到对称密钥的密文,基于基点和随机数生成字符串;客户端向服务端发送数据请求,数据请求包括密文和字符串;服务端将字符串发送给第一个密钥管理实体,第一个密钥管理实体基于字符串和ECC私钥生成临时子密钥;最后一个密钥管理实体基于上一个密钥管理实体发送的临时子密钥和ECC私钥生成与临时公钥对应的临时私钥;服务端基于临时私钥对密文进行解密,得到对称密钥,基于对称密钥对目标数据进行加密,得到加密后数据。通过本申请的技术方案,提高安全等级,保证ECC私钥的安全性。私钥的安全性。私钥的安全性。

【技术实现步骤摘要】
一种密钥组合计算管理方法、装置及设备


[0001]本申请涉及数据安全
,尤其是涉及一种密钥组合计算管理方法、装置及设备。

技术介绍

[0002]非对称加密算法是一种密钥保密方法,非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥),公钥与私钥是一对,如果用公钥对数据进行加密,则需要使用该公钥对应的私钥进行解密。由于加密和解密是使用两个不同密钥,因此,采用公钥与私钥的这种算法称为非对称加密算法。
[0003]非对称加密算法实现数据交换的基本过程是:第一方生成一对密钥(即公钥和私钥),并将公钥公开,第二方获知公钥,使用公钥对数据进行加密后发送给第一方,第一方使用私钥对加密后数据进行解密。另一方面,第一方使用私钥对数据进行签名后发送给第二方,第二方使用公钥对数据进行验签。
[0004]在密钥管理系统中,通常使用非对称加密算法实现数据交换,第一方生成公钥和私钥后,公钥和私钥不再发生变化,第一方与第二方之间的所有数据交换过程均使用该公钥和私钥进行加密和解密。但是,一旦私钥泄漏,则所有数据交换过程均会由于私钥泄漏而导致安全性降低,无法保证数据交换的安全性。

技术实现思路

[0005]本申请提供一种密钥组合计算管理方法,服务端包括至少两个密钥管理实体,所述至少两个密钥管理实体按照顺序连接,每个密钥管理实体单独管理椭圆曲线密码ECC密钥对,所述ECC密钥对包括ECC私钥和ECC公钥,客户端存储有所有密钥管理实体的ECC公钥,所述方法包括:客户端基于随机数r、椭圆曲线上的基点G和所有密钥管理实体的ECC公钥生成临时公钥P,基于临时公钥P对随机生成的对称密钥k进行加密,得到对称密钥k的密文c,并基于所述基点G和随机数r生成字符串R;客户端向服务端发送数据请求,所述数据请求包括密文c和字符串R;服务端将字符串R发送给第一个密钥管理实体,第一个密钥管理实体基于字符串R和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密钥管理实体;针对第一个密钥管理实体和最后一个密钥管理实体之外的每个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密钥管理实体;针对最后一个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥和本密钥管理实体的ECC私钥生成与所述临时公钥P对应的临时私钥v;服务端基于所述临时私钥v对密文c进行解密,得到所述对称密钥k,基于所述对称密钥k对目标数据进行加密,得到加密后数据,并向客户端发送数据响应,所述数据响应包
括所述加密后数据,以使客户端接收到所述数据响应后,基于所述对称密钥k对所述加密后数据进行解密,得到所述目标数据。
[0006]示例性的,所述客户端采用如下公式生成临时公钥P:P=H(r*pk1)
·
G+z;所述客户端采用如下公式生成字符串R:R=r
·
G;第一个密钥管理实体采用如下公式生成临时子密钥v1:v1=H(R
·
s1);第一个密钥管理实体和最后一个密钥管理实体之外的每个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥与本密钥管理实体的ECC私钥之和,生成临时子密钥;最后一个密钥管理实体基于上一个密钥管理实体发送的临时子密钥与本密钥管理实体的ECC私钥之和,生成所述临时私钥v;其中,H表示将椭圆曲线上的点序列化为比特串,pk1表示第一个密钥管理实体的ECC公钥,z表示第一个密钥管理实体之外的所有密钥管理实体的ECC公钥之和,s1表示第一个密钥管理实体的ECC私钥;
·
表示椭圆曲线上的点乘操作,+表示椭圆曲线上的点加操作。
[0007]示例性的,所述客户端管理设备私钥和设备公钥,第一个密钥管理实体存储有所述设备公钥,所述方法还包括:所述客户端基于所述设备私钥对所述密文c和所述字符串R进行签名,得到第一签名值,所述数据请求还包括所述第一签名值;所述服务端还将所述第一签名值发送给第一个密钥管理实体;第一个密钥管理实体基于所述设备公钥和所述第一签名值进行验签操作;若验签通过,则执行基于字符串R和本密钥管理实体的ECC私钥生成临时子密钥的操作。
[0008]示例性的,所述服务端基于所述对称密钥k对目标数据进行加密,得到加密后数据之后,所述方法还包括:所述服务端基于所述临时私钥v对所述加密后数据进行签名,得到第二签名值,所述数据响应还包括所述第二签名值;所述客户端接收到所述数据响应后,基于所述临时公钥P和所述第二签名值进行验签操作;若验签通过,则执行基于所述对称密钥k对所述加密后数据进行解密,得到所述目标数据的操作。
[0009]在一种可能的实施方式中,针对待发送的多个数据请求,为每个数据请求随机生成对称密钥k,且不同数据请求对应的对称密钥k不同;为每个数据请求随机生成随机数r,且不同数据请求对应的随机数r不同;为每个数据请求生成临时公钥P,且不同数据请求对应的临时公钥P不同。
[0010]示例性的,所述至少两个密钥管理实体部署在同一物理设备或者不同物理设备;每个密钥管理实体通过指定存储介质存储本密钥管理实体的ECC密钥对,不同密钥管理实体的用于存储本密钥管理实体的ECC密钥对的存储区域不同。
[0011]本申请提供一种密钥组合计算管理方法,服务端包括至少两个密钥管理实体,所述至少两个密钥管理实体按照顺序连接,每个密钥管理实体单独管理椭圆曲线密码ECC密钥对,ECC密钥对包括ECC私钥和ECC公钥,客户端存储有所有密钥管理实体的ECC公钥,所述方法应用于服务端,该方法包括:接收客户端发送的数据请求,所述数据请求包括密文c和字符串R;其中,所述密文c是客户端基于临时公钥P对随机生成的对称密钥k进行加密后得到,所述临时公钥P是客户端基于随机数r、椭圆曲线上的基点G和所有密钥管理实体的ECC公钥生成,所述字符串R是
客户端基于所述基点G和随机数r生成;将字符串R发送给第一个密钥管理实体,第一个密钥管理实体基于字符串R和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密钥管理实体;针对第一个密钥管理实体和最后一个密钥管理实体之外的每个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密钥管理实体;针对最后一个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥和本密钥管理实体的ECC私钥生成与所述临时公钥P对应的临时私钥v;基于所述临时私钥v对密文c进行解密,得到所述对称密钥k,基于所述对称密钥k对目标数据进行加密,得到加密后数据,并向客户端发送数据响应,所述数据响应包括所述加密后数据,以使客户端接收到所述数据响应后,基于所述对称密钥k对所述加密后数据进行解密,得到所述目标数据。
[0012]本申请提供一种密钥组合计算管理方法,服务端包括至少两个密钥管理实体,所述至少两个密钥管理实体按照顺序连接,每个密钥管理实体单独管理椭圆曲线密码ECC密钥对,ECC密钥对包括ECC私钥和ECC公钥本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密钥组合计算管理方法,其特征在于,服务端包括至少两个密钥管理实体,所述至少两个密钥管理实体按照顺序连接,每个密钥管理实体单独管理椭圆曲线密码ECC密钥对,所述ECC密钥对包括ECC私钥和ECC公钥,客户端存储有所有密钥管理实体的ECC公钥,所述方法包括:客户端基于随机数r、椭圆曲线上的基点G和所有密钥管理实体的ECC公钥生成临时公钥P,基于临时公钥P对随机生成的对称密钥k进行加密,得到对称密钥k的密文c,并基于所述基点G和随机数r生成字符串R;客户端向服务端发送数据请求,所述数据请求包括密文c和字符串R;服务端将字符串R发送给第一个密钥管理实体,第一个密钥管理实体基于字符串R和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密钥管理实体;针对第一个密钥管理实体和最后一个密钥管理实体之外的每个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密钥管理实体;针对最后一个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥和本密钥管理实体的ECC私钥生成与所述临时公钥P对应的临时私钥v;服务端基于所述临时私钥v对密文c进行解密,得到所述对称密钥k,基于所述对称密钥k对目标数据进行加密,得到加密后数据,并向客户端发送数据响应,所述数据响应包括所述加密后数据,以使客户端接收到所述数据响应后,基于所述对称密钥k对所述加密后数据进行解密,得到所述目标数据。2.根据权利要求1所述的方法,其特征在于,所述客户端采用如下公式生成临时公钥P:P=H(r*pk1)
·
G+z;所述客户端采用如下公式生成字符串R:R=r
·
G;第一个密钥管理实体采用如下公式生成临时子密钥v1:v1=H(R
·
s1);第一个密钥管理实体和最后一个密钥管理实体之外的每个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥与本密钥管理实体的ECC私钥之和,生成临时子密钥;最后一个密钥管理实体基于上一个密钥管理实体发送的临时子密钥与本密钥管理实体的ECC私钥之和,生成所述临时私钥v;其中,H表示将椭圆曲线上的点序列化为比特串,pk1表示第一个密钥管理实体的ECC公钥,z表示第一个密钥管理实体之外的所有密钥管理实体的ECC公钥之和,s1表示第一个密钥管理实体的ECC私钥;
·
表示椭圆曲线上的点乘操作,+表示椭圆曲线上的点加操作。3.根据权利要求1所述的方法,其特征在于,所述客户端管理设备私钥和设备公钥,所述第一个密钥管理实体存储有所述设备公钥,所述方法还包括:所述客户端基于所述设备私钥对所述密文c和所述字符串R进行签名,得到第一签名值,所述数据请求还包括所述第一签名值;所述服务端还将所述第一签名值发送给第一个密钥管理实体;第一个密钥管理实体基于所述设备公钥和所述第一签名值进行验签操作;若验签通过,则执行基于字符串R和本密钥管理实体的ECC私钥生成临时子密钥的操作。4.根据权利要求1所述的方法,其特征在于,所述服务端基于所述对称密钥k对目标数据进行加密,得到加密后数据之后,所述方法还包括:
所述服务端基于所述临时私钥v对所述加密后数据进行签名,得到第二签名值,所述数据响应还包括所述第二签名值;所述客户端接收到所述数据响应后,基于所述临时公钥P和所述第二签名值进行验签操作;若验签通过,则执行基于所述对称密钥k对所述加密后数据进行解密,得到所述目标数据的操作。5.根据权利要求1

4任一项所述的方法,其特征在于,针对待发送的多个数据请求,为每个数据请求随机生成对称密钥k,且不同数据请求对应的对称密钥k不同;为每个数据请求随机生成随机数r,且不同数据请求对应的随机数r不同;为每个数据请求生成临时公钥P,且不同数据请求对应的临时公钥P不同。6.根据权利要求1

4任一项所述的方法,其特征在于,所述至少两个密钥管理实体部署在同一物理设备或者不同物理设备;每个密钥管理实体通过指定存储介质存储本密钥管理实体的ECC密钥对,不同密钥管理实体的用于存储本密钥管理实体的ECC密钥对的存储区域不同。7.一种密钥组合计算管理方法,其特征在于,服务端包括至少两个密钥管理实体,所述至少两个密钥管理实体按照顺序连接,每个密钥管理实体单独管理椭圆曲线密码ECC密钥对,ECC密钥对包括ECC私钥和ECC公钥,客户端存储有所有密钥管理实体的ECC公钥,所述方法应用于服务端,该方法包括:接收客户端发送的数据请求,所述数据请求包括密文c和字符串R;其中,所述密文c是客户端基于临时公钥P对随机生成的对称密钥k进行加密后得到,所述临时公钥P是客户端基于随机数r、椭圆曲线上的基点G和所有密钥管理实体的ECC公钥生成,所述字符串R是客户端基于所述基点G和随机数r生成;将字符串R发送给第一个密钥管理实体,第一个密钥管理实体基于字符串R和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密钥管理实体;针对第一个密钥管理实体和最后一个密钥管理实体之外的每个密钥管理实体,基于上一个密钥管理实体发送的临时子密钥和本密钥管理实体的ECC私钥生成临时子密钥,将该临时子密钥发送给下一个密...

【专利技术属性】
技术研发人员:王滨陈思韩忠昕张君黄杰
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1