基于密钥生成的并行签名系统和方法技术方案

技术编号:27137699 阅读:15 留言:0更新日期:2021-01-25 21:03
本申请公开了一种基于密钥生成的并行签名系统和方法,涉及加密技术,系统包括:根密钥管理模块,用于响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,以及响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理;可拓展签名模块,用于向所述根私钥模块请求私钥派生以及请求销毁,并向签名请求网关发送公钥证书进行注册,根据签名请求网关的签名请求,基于私钥和所述随机数对签名请求中的数据进行签名;签名请求网关,用于接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名。本方案可以提高系统效率和安全性。本方案可以提高系统效率和安全性。本方案可以提高系统效率和安全性。

【技术实现步骤摘要】
基于密钥生成的并行签名系统和方法


[0001]本申请涉及加密技术,特别是一种基于密钥生成的并行签名系统和方法。

技术介绍

[0002]数字货币是新一代货币,它与现有的流通币等价。发行机构会以发行货币的方式发行产生加密字符串,这些加密字符串便是代表有面额的真实货币。用户可以在钱包中真实存储和管理这些货币。同时发行机构会运营数字货币登记中心,记录货币在流转过程中的所有权转换关系。数字货币登记中心采用公钥相关联的字符串标记货币的所有权。用户在使用货币时,需要利用自己的私钥对交易进行签名,数字货币登记中心会根据货币的编号与对应的公钥对交易本身进行验证,在确定货币所有者的身份后,进行货币所有权的转换,将对应的货币所有权标记为新的公钥。本质上,数字货币的交易支付过程即是货币所有权的转移过程。由于现有数字货币是基于公钥密码学签名实现具体功能的系统,系统中进行数字签名的性能会成为整个系统的重要性能瓶颈点。而现有的数字签名算法流程依赖于系统所管理的私钥,出于安全性考虑,私钥需要被妥善保管,甚至需要被放置于专有的密码学硬件中,因此如何对现有的签名模式进行平衡,实现安全性与性能的平衡。
[0003]通用的对私钥进行管理的方案是使用TEE或者SE芯片来完成。通用的TEE方案允许用户随意导入导出私钥,其实现原理是将固定的内存区域与CPU寄存器组进行保护,防止违规访问。这种方案可以一定程度上保证安全性,同时其运算资源也并不是那么宝贵,可以不仅仅运行密钥相关的代码。而SE中的计算资源则较为宝贵,往往导入SE中的私钥是不允许随意导出的,同时SE的计算资源也比较宝贵,性能不高,但在高安全性要求的场景下往往需要使用SE来进行,这种场景同时又可能会有高性能的场景需求,因此需要在这种情况下去平衡性能与安全性。
[0004]公钥基础设施是一种基于数字签名实现的数字证书体系,通过CA的签名认证来保证分发的公钥的安全性。这种只要保证根公钥的安全性即可保证整个公钥树下所有公钥的可信任性。本质上,数字证书是一种将公钥与认证信息进行绑定的一种数据结构,通过这种模式,数字证书可以形成链式的数据认证模式,保证用户公钥的安全性。
[0005]综上所述,现有密码学的每一个数字签名都需要私钥的参与,这导致了根私钥有泄露的风险。考虑到高安全性的需求,私钥放置于硬件中会受到安全保护硬件的性能限制,这种性能限制难以直接突破。由于私钥的敏感性,将私钥并行部署时势必会对私钥的隐秘性造成威胁,而单纯的密码加密服务会成为系统的性能瓶颈。

技术实现思路

[0006]有鉴于此,本申请的目的在于:提供一种基于密钥生成的并行签名系统和方法,以在提升私钥安全性和系统效率。
[0007]第一方面,本申请实施例提供了:
[0008]一种基于密钥生成的并行签名系统,包括:
[0009]根密钥管理模块,用于响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,以及响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理;
[0010]可拓展签名模块,用于向所述根私钥模块请求私钥派生以及请求销毁,并向签名请求网关发送公钥证书进行注册,根据签名请求网关的签名请求,基于私钥和所述随机数对签名请求中的数据进行签名;
[0011]签名请求网关,用于接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。
[0012]在部分实施例中,所述响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,具体包括:
[0013]响应于可拓展模块的私钥派生请求,获取根私钥、根随机码、根公钥和所述私钥派生请求中所述可拓展签名模块的标志;
[0014]将所述根公钥、所述根随机码和所述可拓展签名模块的标志进行链接并进行哈希处理,得到第一哈希值;
[0015]取所述第一哈希值设定长度的高位作为第二哈希值,取所述第一哈希值设定长度的低位分别得到第三哈希值;
[0016]将第二哈希值和所述根私钥相加得到所述可拓展签名模块的私钥;
[0017]将所述第三哈希值作为所述可拓展签名模块的私钥的随机码;
[0018]根据所述可拓展签名模块的私钥得到可拓展签名模块的公钥。
[0019]在部分实施例中,所述根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,包括:
[0020]生成随机数k,且k属于区间[1,n-1],其中n为SM2算法中椭圆曲线元素的个数;
[0021]计算椭圆曲线点(x0,y0),其中(x0,y0)=kG,G为SM2算法所选取的椭圆曲线的生成元;
[0022]计算r值,其中,r=(h0+x0)mod(n),h0是需要签名的哈希值,mod余数运算,若r=0,则返回生成随机数k的步骤;
[0023]计算s=((1+x
A
)-1
*(k-r*x
A
))mod(n),若S=0,则返回生成随机数k的步骤;其中,x
A
是所述可拓展签名模块的私钥;
[0024]根据s和r得到签名。
[0025]在部分实施例中,所述可拓展签名模块向所述根私钥模块请求私钥派生时,包括:
[0026]所述可拓展签名模块生成一个唯一的标志;
[0027]所述可拓展签名模块向所述根密钥管理模块发送携带所述标志的私钥派生请求;
[0028]所述可拓展签名模块接收并保存所述根密钥管理模块返回的随机码和公钥证书。
[0029]在部分实施例中,所述签名网关通过以下方式验证可拓展签名模块的公钥证书:
[0030]从所述可拓展签名模块的公钥证书中读取所述可拓展签名模块的公钥Y1和随机码c1;
[0031]使用根公钥证书对所述可拓展签名模块的公钥证书进行验证,其中,验证过程包括:
[0032]读取根公钥证书的根公钥Y0;
[0033]当Y1=Y0+c1G时,通过验证。
[0034]在部分实施例中,所述响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理,包括:
[0035]接收所述可拓展签名模块的销毁请求;
[0036]读取所述可拓展签名模块的公钥证书;
[0037]根据所述可拓展签名模块的公钥证书确定是否有效的可拓展签名模块,当所述可拓展签名模块有效时,根据所述销毁请求生成吊销证书;
[0038]通过根私钥对所述吊销证书进行签名,将签名后的所述吊销证书返回给可拓展签名模块。
[0039]在部分实施例中,所述可拓展签名模块向所述根私钥模块请求销毁时,包括:
[0040]所述可拓展签名模块根据自身的标志和公钥证书生成销毁请求;
[0041]所述可拓展签名模块通过自身的私钥对所述销毁请求进行签名后,发送给根密钥管理模块;
[0042]接收根密钥管理模块返回本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于密钥生成的并行签名系统,其特征在于,包括:根密钥管理模块,用于响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,以及响应于所述可拓展签名模块的销毁请求,对所述可拓展签名模块进行销毁处理;可拓展签名模块,用于向所述根私钥模块请求私钥派生以及请求销毁,并向签名请求网关发送公钥证书进行注册,根据签名请求网关的签名请求,基于私钥和所述随机数对签名请求中的数据进行签名;签名请求网关,用于接收外部系统的签名请求,并根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,将所述可拓展签名模块签名后的数据返回到外部系统。2.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述响应可拓展签名模块的私钥派生请求,基于根密钥生成所述可拓展签名模块的私钥、公钥证书和随机码,具体包括:响应于可拓展模块的私钥派生请求,获取根私钥、根随机码、根公钥和所述私钥派生请求中所述可拓展签名模块的标志;将所述根公钥、所述根随机码和所述可拓展签名模块的标志进行链接并进行哈希处理,得到第一哈希值;取所述第一哈希值设定长度的高位作为第二哈希值,取所述第一哈希值设定长度的低位分别得到第三哈希值;将第二哈希值和所述根私钥相加得到所述可拓展签名模块的私钥;将所述第三哈希值作为所述可拓展签名模块的私钥的随机码;根据所述可拓展签名模块的私钥得到可拓展签名模块的公钥。3.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述根据签名请求选择一个可拓展签名模块对签名请求中的数据进行签名,包括:生成随机数k,且k属于区间[1,n-1],其中n为SM2算法中椭圆曲线元素的个数;计算椭圆曲线点(x0,y0),其中(x0,y0)=kG,G为SM2算法所选取的椭圆曲线的生成元;计算r值,其中,r=(h0+x0)mod(n),h0是需要签名的哈希值,mod余数运算,若r=0,则返回生成随机数k的步骤;计算s=((1+x
A
)-1
*(k-r*x
A
))mod(n),若S=0,则返回生成随机数k的步骤;其中,x
A
是所述可拓展签名模块的私钥;根据s和r得到签名。4.根据权利要求1所述的基于密钥生成的并行签名系统,其特征在于,所述可拓展签名模...

【专利技术属性】
技术研发人员:杜猛苏锐李胜李榕浩
申请(专利权)人:深圳华数云计算技术有限公司
类型:发明
国别省市:

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

1