System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于信息安全、多重签名,主要涉及一种基于sm9和密钥隔离的身份基多重签名方法及系统。
技术介绍
1、多重签名技术允许多个用户共同生成一个数字签名,从而代表一个群体或多个参与者的共识。多重签名技术在需要多方共同确认或授权的场景中尤为重要。例如,在信息技术迅猛发展和互联网普及应用的时代,电子合同作为一种新型的合同形式,逐渐成为电子政务、电子商务、金融服务等多个领域中常见的合同方式。随着越来越多的商业和行政活动转移到数字平台上,确保电子合同的可靠性和合法性成为一项重要的挑战。在签署电子合同的过程中,通常需要多个参与者的签名以达成共识,如企业决策中的股东大会决议、跨国交易中的多方协议签署等。这些场景对多重签名的安全性和效率提出了高要求,多重签名机制因此得到广泛应用。
2、当前多重签名方案的安全性主要依赖于签名密钥的安全保存。然而,随着越来越多的签名过程部署在不安全的设备上,密钥泄露的风险逐渐增加。一旦签名密钥泄露,恶意攻击者可以利用泄露的密钥伪造签名,从而冒充用户进行非法交易或篡改文件内容。在电子合同中,密钥泄露会导致签署的文件和数据不再可信,甚至可能出现虚假的文件或交易。这不仅破坏了文件的完整性和真实性,还可能导致错误的决策和执行。
3、在pki(公钥基础设施)中,证书管理面临多重挑战。首先,随着用户数量增加,证书的颁发、验证、更新和撤销变得复杂,增加了管理负担。其次,证书的信任问题突出,如果ca(证书认证中心)信任链的任何环节被攻破,会导致签名的安全性受损。此外,证书撤销和更新管理复杂且实时性差,传
4、sm9数字签名算法利用用户的身份信息(如电子邮件地址、姓名等)作为公钥,实现了数字签名功能。与传统公钥基础设施(pki)不同,它不需要用户通过证书颁发机构(ca)来获取公钥证书,用户的公钥直接由其身份进行直接给出。这种密码系统在加密和签名的实现上更加简便,并且能够减少证书管理复杂性。sm9签名算法基于双线性对理论,具有安全性高、签名生成和验证效率高的特点,广泛应用于需要身份认证和数据完整性保证的场景。
5、密钥隔离技术是一种提高密码系统安全性的策略,旨在确保密钥在其整个生命周期中始终处于隔离状态,安全更新,防止密钥泄露或篡改。主要思想是将密钥分为两部分,临时密钥和辅助密钥。临时密钥由用户保存,辅助密钥存放在物理安全设备协助器helper上。用户在当前时间段处理数据时,签名密钥由辅助密钥更新生成,保证了当前时间段的密钥泄露不会推导出之前和之后的密钥。
6、如何设计一种基于sm9和密钥隔离的身份基多重签名对于拓展国产密码算法、抵抗密钥泄露、增强电子交易的高效性和保障电子合同签署的安全性有重要意义。
技术实现思路
1、本专利技术旨在至少在一定程度上解决相关技术中存在的技术问题之一。
2、本专利技术的一个目的在于提供基于sm9和密钥隔离的身份基多重签名系统,实现基于sm9签名的多重签名方案,同时解决多重签名中密钥泄露带来的不安全问题。
3、本专利技术的另一个目的在于提供利用上述系统实施基于sm9和密钥隔离的身份基多重签名方法,拓展sm9应用场景,保证多重签名抗密钥泄露性,提高系统整体安全性。
4、为了达到上述的目的,本专利技术一方面提供一种基于sm9和密钥隔离的身份基多重签名系统,包括:
5、密钥生成中心,用于为签名用户生成初始密钥信息,为协助器生成辅助密钥;
6、协助器,用于为签名用户端生成密钥更新信息,帮助签名用户端完成临时密钥的更新;
7、智能合约模块,为运行在区块链上,并按照预设的规则和条件自执行合约的程序模块;所述智能合约模块发布签名要求,并接受来自不同签名用户的签名,验证签名,并将多个签名聚合为一个多重签名;
8、签名用户端,为供待对数据进行签名的签名者使用的登录端口,各签名用户根据不同的身份信息登录系统,通过各自更新的临时密钥对待签名数据进行签名,共同形成多重签名以证明签名数据的合法。
9、本专利技术进一步优选地技术方案为,该系统还包括:
10、数据拥有端,为拥有并发布签名数据的数据拥有者使用的端口,用于定义签名数据的访问权限和签名策略;
11、签名验证端,为验证多重签名合法性的签名验证者使用的端口。
12、本专利技术还提供一种利用上述系统实施基于sm9和密钥隔离的身份基多重签名方法,包括如下步骤;
13、s1、通过密钥生成中心生成并公开系统公共参数;
14、s2、密钥生成中心根据系统公共参数和签名用户端采集的各签名用户身份信息,生成各个签名用户的初始签名密钥,发送给签名用户端;密钥生成中心同时生成更新各签名用户密钥的秘密值,发送给协助器;
15、s3、协助器根据签名用户的身份信息和当前时间段,生成该签名用户的密钥更新信息,并发送给该签名用户,签名用户端根据该密钥更新信息,将初始签名密钥或上一时间段的临时签名密钥,更新为当前时间段的临时签名密钥;
16、s4、智能合约模块制作待签名数据并广播给每个待签名用户,各待签名用户根据步骤s3的方法更新临时签名密钥,进行签名,再发送回智能合约模块;
17、s5、智能合约模块收集到各签名用户发送的签名后,根据系统公共参数验证签名用户的签名,若有不合法签名,重新制作待签名件并广播给每个待签名用户,若收到的签名均合法,智能合约模块将全部签名聚合为多重签名。
18、本专利技术进一步优选地技术方案为,步骤s1所述通过密钥生成中心生成并公开系统公共参数;具体方法为:
19、s11、设g1,g2和gt分别为阶数是素数n的两个循环加法群和一个循环乘法群,双线性映射e:g1×g2→gt,为从g1×g2到gt的双线性对;p1为群g1的生成元,p2为群g2的生成元;
20、生成三个密码哈希函数分别为:密码哈希函数h1(z,n):密码哈希函数h2(z,n):和密码哈希函数h3(z):{0,1}*→g1;
21、公开系统公共参数集params={n,g1,g2,gt,p1,p2,e,h1(z,n),h2(z,n),h3(z)};
22、s12、密钥生成中心选取两个随机数k,kh∈[1,n-1]作为签名主私钥和协助器的私钥,计算ppub-s=[k]p2作为签名主公钥,phpk=[kh]p2作为协助器公钥;
23、s13、密钥生成中心计算群gt中的元素g=e(p1,ppub-s),并公开元素g。
24、作为优选,步骤s2所述密钥生成中心根据系统公共参数和签名用户端采集的各签名用户身份信息,生成各个签名用户的初始签名密钥,发送给签名用户端;密钥生成中心同时生成更新各签名用户密钥的秘密值,发送给协助器;具体方法为:
25、s21本文档来自技高网...
【技术保护点】
1.一种基于SM9和密钥隔离的身份基多重签名系统,其特征在于,包括:
2.根据权利要求1所述的基于SM9和密钥隔离的身份基多重签名系统,其特征在于,该系统还包括:
3.一种利用权利要求1的系统实施基于SM9和密钥隔离的身份基多重签名方法,其特征在于,包括如下步骤;
4.根据权利要求3所述的方法,其特征在于,步骤S1所述通过密钥生成中心生成并公开系统公共参数;具体方法为:
5.根据权利要求4所述的方法,其特征在于,步骤S2所述密钥生成中心根据系统公共参数和签名用户端采集的各签名用户身份信息,生成各个签名用户的初始签名密钥,发送给签名用户端;密钥生成中心同时生成更新各签名用户密钥的秘密值,发送给协助器;具体方法为:
6.根据权利要求5所述的方法,其特征在于,步骤S3所述协助器根据签名用户的身份信息和当前时间段,生成该签名用户的密钥更新信息,并发送给该签名用户,签名用户端根据该密钥更新信息,将初始签名密钥或上一时间段的临时签名密钥,更新为当前时间段的临时签名密钥;具体方法为:
7.根据权利要求6所述的方法,其特征在
8.根据权利要求7所述的方法,其特征在于,步骤S5所述智能合约模块收集到各签名用户发送的签名后,根据系统公共参数验证签名用户的签名,若有不合法签名,重新制作待签名件并广播给每个待签名用户,若收到的签名均合法,智能合约模块将全部签名聚合为多重签名;具体方法为:
9.根据权利要求8所述的方法,其特征在于,步骤S4中智能合约模块制作待签名数据由数据拥有端发布;该数据拥有端为拥有并发布签名数据的数据拥有者使用的端口,用于定义签名数据的访问权限和签名策略;
10.根据权利要求9所述的方法,其特征在于,步骤S5中,智能合约模块获得多重签名信息后,将多重签名信息通过安全信道发送给签名验证端,该签名验证端为验证多重签名合法性的签名验证者使用的端口;
...【技术特征摘要】
1.一种基于sm9和密钥隔离的身份基多重签名系统,其特征在于,包括:
2.根据权利要求1所述的基于sm9和密钥隔离的身份基多重签名系统,其特征在于,该系统还包括:
3.一种利用权利要求1的系统实施基于sm9和密钥隔离的身份基多重签名方法,其特征在于,包括如下步骤;
4.根据权利要求3所述的方法,其特征在于,步骤s1所述通过密钥生成中心生成并公开系统公共参数;具体方法为:
5.根据权利要求4所述的方法,其特征在于,步骤s2所述密钥生成中心根据系统公共参数和签名用户端采集的各签名用户身份信息,生成各个签名用户的初始签名密钥,发送给签名用户端;密钥生成中心同时生成更新各签名用户密钥的秘密值,发送给协助器;具体方法为:
6.根据权利要求5所述的方法,其特征在于,步骤s3所述协助器根据签名用户的身份信息和当前时间段,生成该签名用户的密钥更新信息,并发送给该签名用户,签名用户端根据该密钥更新信息,将初始签名密钥或上一时间段的临时签名密钥,更新为当前时间段的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。