System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据安全,尤其涉及一种安全签名方法和装置。
技术介绍
1、实际应用中,可以采用sm2门限签名算法(sm2是国家密码管理局发布的一种椭圆曲线公钥密码算法)实现签名操作。在sm2门限签名算法中,首先需要找到可信第三方,由该可信第三方生成签名私钥,并由该可信第三方保管签名私钥。可信第三方会根据设定方法将完整的签名私钥分割成n份,将分割得到的不同签名私钥分量分发给n个不同设备,每个设备只能得到相应的签名私钥分量。
2、在需要签名时,可以在上述n个设备中按照设定规则选取至少t个设备,其中,t为设定门限。该至少t个设备可以持各自拥有的签名私钥分量协同完成签名操作,而少于t个设备的协同则不能完成签名操作。由于完整的签名私钥并不存储于n个设备中的任何一个单独的设备,如果攻击者想要破译完整的签名私钥,则需要破译至少t个设备中的签名私钥分量,才可恢复出完整的签名私钥,这样的操作难度大,以此实现了签名私钥的保护工作。
3、而由于采用上述方案的前提是需要可信第三方生成签名私钥,那么该可信第三方实际是知道完整的签名私钥的,如果攻击者直接攻击可信第三方,那么签名私钥将会受到极大威胁。因此,亟需一种新的解决方案来保证签名私钥的安全性,进而提高签名操作的可靠性。
技术实现思路
1、本专利技术实施例提供一种安全签名方法和装置,用以实现提高签名私钥的安全性,提高签名操作的可靠性。
2、第一方面,本专利技术实施例提供一种安全签名方法,应用于签名系统,所述签名系统包括第一
3、所述方法包括:
4、对于所述第一设备中的目标设备,所述目标设备随机选取第一秘密值,将所述第一秘密值拆分为数量与所述第一设备中包括的设备数量相等的多个秘密份额,将不同秘密份额秘密分享给所述第一设备中的不同设备,其中,所述目标设备为所述第一设备中的任一设备;
5、所述目标设备接收并存储所述第一设备中的其他设备秘密分享的多个秘密值中相应的秘密份额,其中,所述其他设备为所述第一设备中除所述目标设备以外的设备;
6、所述第二设备基于本地已存储的所述多个秘密值中相应的秘密份额,对签名私钥进行恢复,并基于所述签名私钥计算相应的公钥;
7、所述第二设备基于所述签名私钥以及所述公钥,执行分布式签名操作。
8、可选地,所述将所述第一秘密值拆分为数量与所述第一设备中包括的设备数量相等的多个秘密份额,包括:
9、构造t阶多项式,其中,所述t为设定门限,所述第二设备中包括的设备数量至少为t个;
10、基于所述t阶多项式,将所述第一秘密值拆分为数量与所述第一设备中包括的设备数量相等的多个秘密份额。
11、可选地,在所述目标设备接收并存储所述第一设备中的其他设备秘密分享的多个秘密值中相应的秘密份额之后,所述方法还包括:
12、所述目标设备将本地已存储的所述多个秘密值中的秘密份额进行求和操作,得到签名私钥分量,并将所述签名私钥分量共享给所述第一设备中的设备;
13、所述目标设备根据所述签名私钥分量,确定相应的公钥分量,并将所述公钥分量共享给所述第一设备中的设备;
14、所述对签名私钥进行恢复,并基于所述签名私钥计算相应的公钥,包括:
15、对所述第一设备中所有的设备各自计算出的签名私钥分量进行求和操作,以恢复得到签名私钥;
16、对所述第一设备中所有的设备各自计算出的公钥分量进行求和操作,以得到与所述签名私钥对应的公钥。
17、可选地,所述第二设备基于所述签名私钥以及所述公钥,执行分布式签名操作,包括:
18、对于所述第二设备中的第三设备,所述第三设备随机选取第二秘密值,将所述第二秘密值拆分为数量与所述第二设备中包括的设备数量相等的多个秘密份额,将不同秘密份额秘密分享给所述第二设备中的不同设备,其中,所述第三设备为所述第二设备中的任一设备;
19、所述第三设备接收并存储所述第二设备中的其他设备秘密分享的多个秘密值中相应的秘密份额,其中,所述其他设备为所述第二设备中除所述目标设备以外的设备;
20、所述第三设备将本地已存储的所述多个秘密值中的秘密份额进行求和操作,得到目标私钥分量;
21、基于所述第二设备中各设备计算出的目标私钥分量,执行签名操作。
22、可选地,所述基于所述第二设备中各设备计算出的目标私钥分量,执行签名操作,包括:
23、所述第二设备中的各设备执行2t阶无可信中心秘密分享操作,其中,所述2t阶无可信中心秘密分享操作中分享的秘密为0,所述第二设备中的每个设备获得的秘密份额为第一分量,所述t为设定门限,所述第二设备中包括的设备数量至少为t个;
24、基于与所述第三设备对应的所述第一分量、所述目标私钥分量以及所述签名私钥分量,确定所述第三设备对应的第二分量;
25、基于所述第一分量以及所述第二分量,确定所述第三设备对应的第三分量;
26、基于所述第二设备中各设备各自对应的第三分量,执行签名操作。
27、可选地,所述基于所述第二设备中各设备各自对应的第三分量,执行签名操作,包括:
28、生成随机数k,在所述第二设备中执行所述随机数k的t阶无可信中心秘密分享操作,其中,所述第二设备中的各设备获得的秘密份额为第四分量;
29、基于所述第四分量,确定第五分量;
30、基于所述第二设备中的各设备各自对应的第三分量、第四分量以及第五分量,生成签名结果。
31、第二方面,本专利技术实施例提供一种安全签名装置,设置于签名系统,所述签名系统包括第一设备以及第二设备,所述第一设备包括所述第二设备,所述第二设备为实际参与签名过程的设备,所述第一设备中包括的设备数量与所述第二设备中包括的设备数量满足预设数量关系;
32、所述装置包括:
33、秘密分享模块,用于对于所述第一设备中的目标设备,随机选取第一秘密值,将所述第一秘密值拆分为数量与所述第一设备中包括的设备数量相等的多个秘密份额,将不同秘密份额秘密分享给所述第一设备中的不同设备,其中,所述目标设备为所述第一设备中的任一设备;
34、接收模块,用于接收并存储所述第一设备中的其他设备秘密分享的多个秘密值中相应的秘密份额,其中,所述其他设备为所述第一设备中除所述目标设备以外的设备;
35、恢复模块,用于基于本地已存储的所述多个秘密值中相应的秘密份额,对签名私钥进行恢复,并基于所述签名私钥计算相应的公钥;
36、签名模块,用于基于所述签名私钥以及所述公钥,执行分布式签名操作。
37、可选地,所述秘密分享模块,用于:
38、构造t阶多项式,其中,所述t为设定门限本文档来自技高网...
【技术保护点】
1.一种安全签名方法,其特征在于,应用于签名系统,所述签名系统包括第一设备以及第二设备,所述第一设备包括所述第二设备,所述第二设备为实际参与签名过程的设备,所述第一设备中包括的设备数量与所述第二设备中包括的设备数量满足预设数量关系;
2.根据权利要求1所述的方法,其特征在于,所述将所述第一秘密值拆分为数量与所述第一设备中包括的设备数量相等的多个秘密份额,包括:
3.根据权利要求1所述的方法,其特征在于,在所述目标设备接收并存储所述第一设备中的其他设备秘密分享的多个秘密值中相应的秘密份额之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述第二设备基于所述签名私钥以及所述公钥,执行分布式签名操作,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二设备中各设备计算出的目标私钥分量,执行签名操作,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述第二设备中各设备各自对应的第三分量,执行签名操作,包括:
7.一种安全签名装置,其特征在于,设置于签名系统,所述签名系统包括第一
8.根据权利要求7所述的装置,其特征在于,所述秘密分享模块,用于:
9.根据权利要求7所述的装置,其特征在于,所述装置还包括共享模块,所述共享模块,用于将本地已存储的所述多个秘密值中的秘密份额进行求和操作,得到签名私钥分量,并将所述签名私钥分量共享给所述第一设备中的设备;根据所述签名私钥分量,确定相应的公钥分量,并将所述公钥分量共享给所述第一设备中的设备;
10.根据权利要求7所述的装置,其特征在于,所述签名模块,用于:
...【技术特征摘要】
1.一种安全签名方法,其特征在于,应用于签名系统,所述签名系统包括第一设备以及第二设备,所述第一设备包括所述第二设备,所述第二设备为实际参与签名过程的设备,所述第一设备中包括的设备数量与所述第二设备中包括的设备数量满足预设数量关系;
2.根据权利要求1所述的方法,其特征在于,所述将所述第一秘密值拆分为数量与所述第一设备中包括的设备数量相等的多个秘密份额,包括:
3.根据权利要求1所述的方法,其特征在于,在所述目标设备接收并存储所述第一设备中的其他设备秘密分享的多个秘密值中相应的秘密份额之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述第二设备基于所述签名私钥以及所述公钥,执行分布式签名操作,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二设备中各设备计算出的目标私钥分量,执行签名操作,包括:
6.根据权...
【专利技术属性】
技术研发人员:秦体红,邓祥瑞,
申请(专利权)人:北京信安世纪科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。