一种基于区块链的Musig2签名验证方法与流程

文档序号:36712466发布日期:2024-01-16 12:08阅读:14来源:国知局
一种基于区块链的Musig2签名验证方法与流程

本发明属于网络数据安全,具体涉及一种基于区块链的musig2签名验证方法。


背景技术:

1、从计算环境、数据存储量、用户量、隐私保护等层面来说,云中心系统的复杂度都是要比传统数据中心要高。随着系统复杂度的升高,系统的维护性的成本和脆弱性也在增高,这致使云存储数据面临很高的威胁,尤其是在多租户共享云存储资源。传统的数据完整性验证方案依赖第三方审计(tpa)减轻用户的计算开销,提高数据完整性验证方案的效率。然而,用户对tpa的依赖性过于严重,存在潜在威胁。例如,在用户不知情的情况下,tpa从重复审计的数据中提取原始数据,造成用户数据泄露;还可能与云服务提供商勾结,合谋欺骗用户或伪造证据。区块链的开放验证和防篡改功能使其具备成为可信第三方的能力,因为链上的代码公开透明,区块链不支持删除操作,当每一次的验证结果上链存储后,攻击者很难对记录验证结果的区块内容进行修改,也无法将区块直接从链上删除。

2、虽然近几年基于区块链的数据完整性验证方案层出不穷,利用智能合约完成验证工作的方案比比皆是,但考虑到实际应用层面,在整个方案算法不变的情况下,单一地将tpa直接替换为区块链的做法是不可取的。现有的大多数方案存在计算开销过大和响应时间过长的问题,无法应用于实际生产环境,其主要原因就是区块链上不适合做复杂运算,许多复杂运算必须下沉到链下。下沉到链下的计算又必须考虑云服务商的可信度和用户可承载的最大计算强度。因此,针对传统数据完整性验证方案的tpa信任成本和现有的基于区块链的数据完整性验证方案计算开销大的问题,提出了一种基于区块链的musig2签名验证方法。


技术实现思路

1、本发明所要解决的技术问题便是针对上述现有技术的不足,提供一种基于区块链的musig2签名验证方法,它能够替代传统的第三方可信审计机构,且能够确保验证结果的可信性,同时其验证效率高。

2、本发明所采用的技术方案是:一种基于区块链的musig2签名验证方法,包括以下步骤:

3、s1:数据拥有者在本地生成一个对称密钥,并加密外包文件为密文;

4、s2:数据拥有者计算s1中的密文的哈希值,并将密文以及密文对应的哈希值发送至云服务器;

5、s3:云服务器接收步骤s2的密文以及密文对应的哈希值后,采用与数据拥有者相同的哈希值计算方法计算接收密文的哈希值,判断数据的完整性;

6、s4:云服务器随机选择整数群里的一个随机数作为私钥,然后根据私钥生成对应的公钥;

7、s5:当步骤s3判断数据为完整时,云服务器根据s4生成聚合密钥,根据聚合密钥和密文哈希值生成挑战哈希值、承诺值和响应值,最后根据承诺值和响应值生成密文的musig2签名值,并将挑战哈希值、musig2签名值、聚合密钥和文件的元信息上传至区块链存储;

8、s6:云服务器收到数据拥有者的完整性校验请求后,针对目标文档生成对应的校验哈希值,并从区块链上读取对应的musig2签名值和聚合密钥,根据校验哈希值、musig2签名值和聚合密钥计算校验挑战哈希值,并将聚合密钥和得到的校验哈希值发送至智能合约进行校验,校验成功则数据完整性良好。

9、作为优选,步骤s2中密文的哈希值计算包括两种,当密文大小不超过256kb时,密文的哈希值h(c)=base64(h(c));当密文大小超过256kb时,将密文按256kb的大小进行分组,并计算每个分组的哈希值,将每个分组的哈希值集合当作merkle树构建算法的输入,得到最终的merkle root值,密文的哈希值h(c)=base64(merkle root)。

10、作为优选,步骤s5中聚合密钥的生成步骤包括:

11、(1)云服务器cspi(i∈[1,n])运行密钥生成算法,得到对应的私钥ski和公钥pki;

12、(2)cspi广播自己的pki,并计算ai=h(l,pki),其中l={pk1,pk2...,pkn}表示公钥集,最后计算聚合公钥

13、作为优选,所述musig2签名值的生成包括:

14、(1)云服务器cspi(i∈[1,n])在整数群里随机生成随机值ri,j←zp,j∈[1,v]以及计算nonces值并广播各自v个nonces值(ri,1,...,ri,v)和随机值(ri,1,...,ri,v);

15、(2)cspi收集到其它csp发来的nonces值,计算得到(r1,r2,...,rv);

16、(3)cspi(i∈[1,n])根据密文哈希值h(c)和聚合密钥先计算一个标量接着计算共用的nonces值挑战哈希值和响应值最后由指定的云服务器生成响应值并生成密文c的musig2签名值σ=(r,s)存于区块链中

17、作为优选,数据拥有者通过区块链中的审计交易记录,可获取密文的完整性状态。

18、本发明的有益效果在于:本发明引入区块链作为第三方审计机构,利用智能合约和区块链实现数据完整性的校验,同时可在一定程度上规范云服务提供商的行为;在整个校验过程中,用户仅需要和云服务器进行有限次数的互动,即可完成数据完整性的验证工作,不仅提高了验证效率,降低了区块链节点的存储开销和计算开销,还能够确保验证结果的可信性。此外,在创建交易的过程中攻击者不会探测到任何数据信息,同时也难以对区块链上的数据进行篡改。



技术特征:

1.一种基于区块链的musig2签名验证方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种基于区块链的musig2签名验证方法,其特征在于:步骤s2中密文的哈希值计算包括两种,当密文大小不超过256kb时,密文的哈希值h(c)=base64(h(c));当密文大小超过256kb时,将密文按256kb的大小进行分组,并计算每个分组的哈希值,将每个分组的哈希值集合当作merkle树构建算法的输入,得到最终的merkle root值,密文的哈希值h(c)=base64(merkle root)。

3.根据权利要求1所述的一种基于区块链的musig2签名验证方法,其特征在于:步骤s5中聚合密钥的生成步骤包括:

4.根据权利要求3所述的一种基于区块链的musig2签名验证方法,其特征在于:所述musig2签名值的生成包括:

5.根据权利要求1所述的一种基于区块链的musig2签名验证方法,其特征在于:数据拥有者通过区块链中的审计交易记录,可获取密文的完整性状态。


技术总结
本发明公开了一种基于区块链的Musig2签名验证方法,包括以下步骤:数据拥有者在本地生成一个对称密钥,并加密外包文件为密文;计算密文的哈希值,并发送至云服务器;云服务器随机选择整数群里的一个随机数作为私钥,并生成对应的公钥;云服务器接收密文以及密文对应的哈希值后,判断数据的完整性;当数据完整时,云服务器生成聚合密钥、挑战哈希值、承诺值、响应值和Musig2签名值,并将它们和文件的元信息上传至区块链存储;云服务器收到数据拥有者的完整性校验请求后,完成校验。本发明引入区块链作为第三方审计机构,利用智能合约和区块链实现数据完整性的校验,同时可在一定程度上规范云服务提供商的行为。

技术研发人员:崔艳鹏,胡建伟,马嘉伟
受保护的技术使用者:成都西电网络安全研究院
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1