基于多方安全计算的隐私签名方法和计算机系统技术方案

技术编号:33064207 阅读:23 留言:0更新日期:2022-04-15 09:53
本申请涉及一种基于多方安全计算的隐私签名方法、计算机系统和区块链系统。其中,该方法包括:参与签名的多个节点分别选取各节点的隐私数据,基于多方安全计算生成公钥以及各节点的私钥;多个节点中第一节点使用第一节点的私钥对消息签名,得到第一节点的签名碎片,并将第一节点的签名碎片发送给多个节点中的第二节点;第二节点对签名碎片的正确性验证后,向多个节点发起公钥以及各节点的私钥的重新生成;多个节点重新生成公钥以及各节点的私钥,分别使用各节点的私钥对消息签名,得到各节点的签名碎片,并将各节点的签名碎片发送给第二节点;第二节点根据各节点的签名碎片,生成消息的签名。通过本申请提高了隐私签名的安全性。全性。全性。

【技术实现步骤摘要】
基于多方安全计算的隐私签名方法和计算机系统


[0001]本申请涉及信息安全领域,尤其是涉及一种基于多方安全计算的隐私签名方法、计算机系统和区块链系统。

技术介绍

[0002]隐私计算(Privacy Computing)是一种由两个或多个参与方联合计算的技术和系统,参与方在不泄露各自数据的前提下通过协作对他们的数据进行联合机器学习和联合分析。多方安全计算(Secure Multi

Party Computation,简称为MPC)为隐私计算的其中一种实现方式,它的核心思想是设计特殊的加密算法和协议,基于密码学原理实现在无可信第三方的情况下,在多个参与方输入的隐私数据之上直接进行计算。
[0003]虽然基于MPC的隐私签名方法能够保护签名各方的隐私信息不被其他任何一方知道,但是由于MPC采用分布式的方式进行签名,签名各方分布在网络的不同位置,且为了防止签名各方的私钥泄露,签名各方的私钥基于秘密分享算法按照固定时间刷新。因此,当签名各方中任何一方存在不在线、网络传输故障或密钥刷新延迟等问题,都会导致签名失败。而如果长期不刷新签名各方的私钥,一旦签名各方的私钥被泄露则将导致签名被伪造。

技术实现思路

[0004]本申请提供一种基于多方安全计算的隐私签名方法、计算机系统和区块链系统,以至少解决无可信第三方的隐私签名的私钥长期不刷新导致的安全性低的问题。
[0005]第一方面,本申请实施例提供了一种基于多方安全计算的隐私签名方法,包括:步骤1,参与签名的多个节点分别选取各节点的隐私数据,基于多方安全计算生成公钥以及各节点的私钥;步骤2,所述多个节点中第一节点使用所述第一节点的私钥对消息签名,得到所述第一节点的签名碎片,并将所述第一节点的签名碎片发送给所述多个节点中的第二节点;步骤3,所述第二节点对所述签名碎片的正确性进行验证,在所述签名碎片正确的情况下,向所述多个节点发起公钥以及各节点的私钥的重新生成;步骤4,所述多个节点重新生成公钥以及各节点的私钥,分别使用各节点的私钥对所述消息签名,得到各节点的签名碎片,并将所述各节点的签名碎片发送给所述第二节点;步骤5,所述第二节点根据所述各节点的签名碎片,生成所述消息的签名。
[0006]在其中的一些实施例中,步骤1中生成的公钥以及各节点的私钥设置有第一生存周期,当所述第一生存周期到达时,执行步骤1以重新生成公钥以及各节点的私钥,且重新生成的公钥以及各节点的私钥仍设置有所述第一生存周期。
[0007]在其中的一些实施例中,步骤4中重新生成的公钥以及各节点的私钥设置有第二生存周期,当所述第二生存周期到达时,返回执行步骤1,其中,所述第二生存周期大于所述第一生存周期。
[0008]在其中的一些实施例中,所述步骤4中重新生成的公钥以及各节点的私钥未设置
生存周期。
[0009]在其中的一些实施例中,所述多个节点中的第三节点设置有签名代理,所述步骤4还包括:所述第三节点判断所述消息是否满足预设规则,在所述消息满足预设规则的情况下,使用所述第三节点的私钥自动对所述消息签名,得到所述第三节点的签名碎片。
[0010]在其中的一些实施例中,在步骤4中所述第一节点重新生成私钥时选取的隐私数据与步骤1中所述第一节点生成私钥时选取的隐私数据不相同。
[0011]第二方面,本申请实施例提供了一种计算机系统,包括分布在通信网络中的多个节点,其中,所述多个节点基于第一方面所述的基于多方安全计算的隐私签名方法以获得签名和公钥。
[0012]第三方面,本申请实施例提供了一种区块链系统,包括:区块链、智能合约模块,以及如第二方面所述的计算机系统,其中,所述计算机系统,用于生成消息的签名和公钥,并将所述签名和公钥传输到所述区块链上;所述智能合约模块,用于根据所述公钥对所述消息的签名进行验证,并在验证通过的情况下,执行与所述消息对应的智能合约。
[0013]综上所述,本申请实施例提供的基于多方安全计算的隐私签名方法、计算机系统和区块链系统,提高了无可信第三方的隐私签名的安全性。
附图说明
[0014]图1是本申请实施例提供的基于多方安全计算的隐私签名方法的流程图。
[0015]图2是本申请实施例提供的计算机系统的结构示意图。
[0016]图3是本实施例提供的区块链系统的结构示意图。
具体实施方式
[0017]为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
[0018]为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。然而,本领域的普通技术人员应该明白,可以在没有这些细节的情况下实施本申请。在一些情形下,为了避免不必要的描述使本申请的各方面变得晦涩难懂,对已经在较高的层次上描述了众所周知的方法、过程、系统、组件和/或电路将不作过多赘述。对于本领域的普通技术人员来说,显然可以对本申请所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与本申请所要求保护的范围一致的最广泛范围。
[0019]除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属
具备一般技能的人所理解的一般含义。本申请所使用的术语仅出于描述特定实施例的目的,而不旨在于对本申请的限制。如本申请所使用的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或
模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。
[0020]在本申请中所涉及的“多个”是指两个或两个以上。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
[0021]本申请所涉及的术语“系统”、“引擎”、“单元”、“模块”和/或“块”是一种用于按级别区分不同级别的不同组件、元件、零件、部件、装配件、或功能的一种方法。这些术语可以被其他能够达到相同目的的表达替换。通常,本申请涉及的“模块”、“单元”或“块”是指硬件或者固件中体现的逻辑或软件指令的集合。本申请描述的“模块”、“单元”或“块”可以作为软件和/或硬件实现,并且在作为软件实现的情形下,他们可以被存储在任何类型的非易失性计算机可读存储介质或存储设备中。
[0022]在一些实施例中,软件模块/单元/块可以被编译并被链接到可执行程序中。将意识到,软件模块可以是可从其他模块/单元/块或从其自身调用的,和/或可以响应于检测到的事件或中断而被调用。配置为在计算设备上本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多方安全计算的隐私签名方法,其特征在于包括:步骤1,参与签名的多个节点分别选取各节点的隐私数据,基于多方安全计算生成公钥以及各节点的私钥;步骤2,所述多个节点中第一节点使用所述第一节点的私钥对消息签名,得到所述第一节点的签名碎片,并将所述第一节点的签名碎片发送给所述多个节点中的第二节点;步骤3,所述第二节点对所述签名碎片的正确性进行验证,在所述签名碎片正确的情况下,向所述多个节点发起公钥以及各节点的私钥的重新生成;步骤4,所述多个节点重新生成公钥以及各节点的私钥,分别使用各节点的私钥对所述消息签名,得到各节点的签名碎片,并将所述各节点的签名碎片发送给所述第二节点;步骤5,所述第二节点根据所述各节点的签名碎片,生成所述消息的签名。2.根据权利要求1所述的方法,其特征在于,步骤1中生成的公钥以及各节点的私钥设置有第一生存周期,当所述第一生存周期到达时,执行步骤1以重新生成公钥以及各节点的私钥,且重新生成的公钥以及各节点的私钥仍设置有所述第一生存周期。3.根据权利要求2所述的方法,其特征在于,步骤4中重新生成的公钥以及各节点的私钥设置有第二生存周期,当所述第二生存周期到达时,返回执行...

【专利技术属性】
技术研发人员:杨海波李浩天
申请(专利权)人:杭州字节方舟科技有限公司
类型:发明
国别省市:

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

1