基于认证秘密分享的多方协同签名方法及系统

文档序号:36654613发布日期:2024-01-06 23:41阅读:22来源:国知局
基于认证秘密分享的多方协同签名方法及系统

本发明涉及信息安全,尤其涉及一种基于认证秘密分享的多方协同签名方法及系统。


背景技术:

1、随着网络技术的飞速发展以及网上活动的日益频繁,信息安全成为一个非常突出的问题,而数字签名技术在保证数据的完整性、可靠性和不可抵赖性等方面起着极为重要的作用。

2、数字签名被广泛应用于保护电子文件的完整性和可信性。然而,在某些情况下,文档需要由多个人签名才能得到确认。例如,在一些金融交易或法律文件中,需要多个签名者对同一份文件进行签名才能使该文件有效。此外,在某些情况下,文档的签署可能需要分散在多个地理位置或组织之间。具体的,在金融市场中,多个公司可以共同发布一些市场数据以供投资者和分析师使用。这些市场数据可能包括股票价格、交易量、收益率、市盈率等等。这些数据关系着经济市场的健康发展,如果发布了伪造的市场数据,投资者和分析师可能会基于错误的信息做出投资决策,导致市场失真。这可能会引起市场波动和不确定性,从而影响市场的稳定性和健康发展。所以说发布数据的公司需要对数据共同负责,在这种情况下,协同签名技术可以提供一种可行的解决方案,通过对消息进行协同签名以保证数据的完整性、机密性、可追溯性、不可否认性。

3、协同签名是一种特殊的数字签名技术,支持多个签名者对同一文档进行签名。在传统的数字签名方案中,数字签名行为只能由单个签名者实施,而协同签名技术则可以在多个签名者之间共享签名权力。协同签名技术的出现,使得多个签名者可以安全、高效地对同一文档进行签名,从而提高了签署文件的效率和准确性。它为签署文件提供了更灵活、更安全的方式,使得签署过程更加透明和可靠。在实际签名过程中,无法保证参与签名的公司都是诚实的,其中某些公司可能会对试图发布有利于自己的数据,亦或者某些公司的终端被攻击,从而表现出对修改自己的份额,欺骗其他参与方套取其他参与方密钥等恶意行为,这些都会给签名带来安全隐患,因此需要一种能够对签名进行验证的抗恶意行为的协同签名方案。

4、针对国产密码算法的椭圆曲线公钥密码算法(sm2),目前已有支持多方协同的sm2签名方案被相继提出,但它们大都存在某些缺陷,如签名者需要进行多次密钥协商,在线阶段引入零知识证明或大量公钥操作导致签名效率低,协同签名者数量受到限制,需要专门的安全硬件等等。因此,如何在签名方数量不受限制的前提下保证签名过程的安全性实现更为高效的协同签名,成为现有技术亟待解决的问题。


技术实现思路

1、针对现有技术存在的不足,本发明的目的是提供一种基于认证秘密分享的多方协同签名方法及系统,通过向签名方分配数据,能够让多个签名参与方当且仅当共同提供各自的私钥时方可进行协同签名且不用考虑参与方数量,打破了现有的sm2签名系统参与方数量受限或者需要专门的安全硬件的限制,与此同时能够对签名结果进行验证,防止恶意参与方篡改数据,能够实现高效的协同签名。

2、为了实现上述目的,本发明是通过如下的技术方案来实现:

3、本发明第一方面提供了一种基于认证秘密分享的多方协同签名方法,包括以下步骤:

4、根据欲签名消息确定协同签名的参与方;

5、利用数据分配方法对参与方进行预处理,得到全局密钥和密钥消息认证码;

6、各参与方随机生成各自的签名私钥,所有参与方利用各自的签名私钥进行安全计算生成联合公钥,利用联合公钥生成欲签名消息的签名;

7、利用全局密钥对签名进行密钥消息认证码验证,验证通过后确定生成的签名为多方协同的签名结果。

8、进一步的,利用数据分配方法对参与方进行预处理的具体步骤为:

9、给定一组验证私钥集合,将验证私钥随机分配给各个参与方;

10、对每个参与方随机进行全局密钥加法份额分配,所有的全局密钥加法份额相加构成加法份额;

11、根据加法份额和验证私钥计算密钥消息认证码;

12、根据密钥消息认证码、加法份额和验证私钥得到全局密钥。

13、更进一步的,根据密钥消息认证码、加法份额和验证私钥得到全局密钥的计算公式为:

14、,

15、其中,为全局密钥,为第i个参与方的全局密钥加法份额,为第i个参与方的验证私钥,为第i个参与方的密钥消息认证码,,n为参与方个数。

16、进一步的,各参与方随机生成各自的签名私钥,所有参与方利用各自的签名私钥进行安全计算生成联合公钥的具体步骤为:

17、给定一组数值集合,从数值集合中随机生成每个参与方各自的签名私钥、第一随机数和第二随机数;

18、各参与方利用签名私钥、第一随机数和第二随机数计算各自的分享份额;

19、根据所有参与方的分享份额重建总分享份额;

20、采用部分打开的方式对总分享份额进行求逆计算,得到联合公钥。

21、更进一步的,所述部分打开的方式为只打开分享份额的数值部分,而不打开消息认证码部分。

22、更进一步的,各参与方利用签名私钥、第一随机数和第二随机数计算各自的分享份额的具体步骤为:

23、各参与方从预设的随机值对集合中为签名私钥、第一随机数和第二随机数选取对应的随机值对,分别记作签名私钥随机值对、第一随机数随机值对和第二随机数随机值对;

24、采用对应的随机值对对签名私钥、第一随机数和第二随机数进行盲化得到对应的盲化值,分别为签名私钥盲化值、第一随机数盲化值和第二随机数盲化值,并对所有盲化值进行广播;

25、各参与方利用各自持有的随机值对和接收到的盲化值进行计算,得到各自的分享份额。

26、更进一步的,所述预设的随机值对集合的生成过程为:

27、对每个参与方随机进行随机值分配,所有的随机值相加构成随机份额;

28、根据随机份额和验证私钥计算随机值消息认证码;

29、根据随机值消息认证码、随机份额和验证私钥得到第一随机值;

30、根据加法份额和随机份额计算得到第二随机值;

31、由第一随机值和第二随机值构成随机值对,所有参与方的随机值对构成随机值对集合。

32、进一步的,利用数据分配方法对参与方进行预处理的过程中还生成验证随机值密钥,利用全局密钥对签名进行密钥消息认证码验证时,通过打开全局密钥和验证随机值密钥结合承诺协议对签名进行密钥消息认证码验证。

33、本发明第二方面提供了一种基于认证秘密分享的多方协同签名系统,包括:

34、数据获取模块,被配置为根据欲签名消息确定协同签名的参与方;

35、预处理模块,被配置为利用数据分配方法对参与方进行预处理,得到全局密钥和密钥消息认证码;

36、在线处理模块,被配置为各参与方随机生成各自的签名私钥,所有参与方利用各自的签名私钥进行安全计算生成联合公钥,利用联合公钥生成欲签名消息的签名;

37、验证模块,被配置为利用全局密钥对签名进行密钥消息认证码验证,验证通过后确定生成的签名为多方协同的签名结果。

38、进一步的,预处理模块中,采用半诚实服务器对参与方进行数据分配。

39、以上一个或多个技术方案存在以下有益效果:

40、本发明公开了一种基于认证秘密分享的多方协同签名方法及系统,分为预处理阶段和在线阶段两个阶段,预处理阶段独立于在线阶段,在不知道签名参与方在线阶段的计算内容时就可以运行预处理阶段为在线阶段准备所需要的数据。在在线阶段中各个参与方生成自己的私钥,所有参与方利用自己的私钥进行安全计算生成联合公钥,并利用此公钥生成消息的签名信息。本发明能够实现多个用户协同签名,且保障抵抗恶意敌手的安全性。相比其他现有技术,本发明采用秘密分享、消息认证码(mac)与sm2签名算法结合的方式,并在离线阶段进行数据准备工作,减少了在线阶段复杂的零知识证明,在线阶段只需要简单的线性操作,大大减少了在线的计算复杂度和通信复杂度,签名过程更高效,使得签名方数量的限制不受限制,也不需要专门的安全硬件,具有更灵活的优势,能够适合绝大多数的签名场景。

41、本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1