一种可证明安全的可公开验证多级多秘密共享方法及系统
文献发布时间:2023-06-19 12:13:22
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种可证明安全的可公开验证多级多秘密共享方法及系统。
背景技术
秘密共享是一种先将秘密分割,后分开保存的密码技术,它的目的是阻止因秘密过于集中而容易被攻击者窃取,主要思想是将需要保密的数据以某种方式分割,分割后每一份由不同的参与者所管理,单一的参与者无法恢复秘密,只有特定的一组参与者合作才能恢复秘密。秘密共享技术根据一次可恢复秘密的数量又可将秘密共享分为单秘密共享和多秘密共享。随着信息数量的大量增加,信息的商业化和社会化更加得到人们的重视,因单秘密共享技术一次只能共享一个秘密,当需要共享多个秘密时,单秘密共享技术需要保存多个份额,效率较低。而在多秘密共享技术中,一次可恢复多个秘密,提高了方案的效率。且多秘密共享技术又可分为一般多秘密和多级多秘密共享方法,其中第一种是一个存取结构一次性恢复多个秘密;第二种是多个存取结构恢复多个秘密,且每个秘密是由其对应的每级存取结构来恢复,秘密之间是相互独立的,因此更为灵活和实用。
为了提高秘密共享技术的实用性和安全性,具有不同性能的秘密共享技术成为了学者们研究的热点。虽然已提出的秘密共享方法在不同程度上具备了多秘密、可更新、可验证及多用等基本特性,但主要是基于门限的秘密共享方法,由于基于门限的秘密共享中存取结构的特殊性,使得各参与者权力及地位完全平等一致,但在实际生活中,大多都要求各参与者之间拥有不同的权重及地位。因此,研究一般存取结构上具有较好性质且安全高效的多级多秘密共享在理论和实际中都有着重要的意义。
发明内容
本发明的目的在于提供一种可证明安全的可公开验证多级多秘密共享方法,其能够一次共享多个秘密,效率较单秘密共享更高效,该秘密共享方法的存取结构为一般存取结构,且一个存取结构对应恢复一个秘密,秘密之间相互独立,灵活实用。实现对公开信息的验证、份额多用、份额更新,无需安全信道等性能。
本发明的另一目的在于提供。一种可证明安全的可公开验证多级多秘密共享系统,其能够运行一种可证明安全的可公开验证多级多秘密共享方法。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种可证明安全的可公开验证多级多秘密共享方法,其包括根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化;通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额;将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额;根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构。
在本发明的一些实施例中,上述根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化包括:可信的分发者为D,参与者集合为P={P
在本发明的一些实施例中,上述还包括:分发者D构造对于目标向量e
在本发明的一些实施例中,上述通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额包括:时间周期为τ,初始状态时间周期τ=0。
在本发明的一些实施例中,上述还包括:根据秘密S
验证公开信息的有效性和正确性;若以上等式成立则表明分发者D公开的信息是正确有效的,无任何欺骗行为,此时各参与者可使用自己的私钥d
在本发明的一些实施例中,上述将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额包括:将共享秘密S
在本发明的一些实施例中,上述还包括:当共享秘密S
则参与者P
在本发明的一些实施例中,上述根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构包括:设参与恢复秘密的授权子集为
其中1≤i
授权子集A
验证参与者份额的正确性,若等式成立,则证明参与者出示的份额是正确的;
待授权子集A
计算秘密S
当τ=1,2…时,授权子集A
验证参与者发送的份额是否正确,若等式成立,则证明参与者初出示的份额是正确的;待授权子集A
计算秘密S
第二方面,本申请实施例提供。一种可证明安全的可公开验证多级多秘密共享系统,其包括初始化模块,用于根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化;秘密分发模块,用于通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额;份额更新模块,用于将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额;秘密重构模块,用于根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构。
在本发明的一些实施例中,上述包括:用于存储计算机指令的至少一个存储器;与上述存储器通讯的至少一个处理器,其中当上述至少一个处理器执行上述计算机指令时,上述至少一个处理器使上述系统执行:初始化模块、秘密分发模块、份额更新模块以及秘密重构模块。
第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如一种可证明安全的可公开验证多级多秘密共享方法中任一项的方法。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
为扩展多秘密共享应用范围,本发明在秘密分发阶段,方案中各参与者秘密份额由自己计算,分发者不需向参与者传送任何秘密信息,且每个参与者只需维护一个秘密份额即可实现对多个秘密的重构;利用双线性对的性质,任何人均可验证更新前后秘密份额的正确性及公开信息的有效性,从而有效防止分发者和参与者的欺诈;秘密重构阶段,利用安全多方计算计算构造伪份额,保证每个参与者的真实份额永远不会暴露,实现了份额的多用性;在秘密的每一次更新中,分发者只需公布更新的临时份额及其有关的公开信息,即可实现对参与者秘密份额的更新。最后在随机预言模型下对方案的正确性和安全性进行详细分析,分析表明,在计算Diffie-Hellman和双线性Diffie-Hellman问题及假设下,本文方案是可证明安全的。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种可证明安全的可公开验证多级多秘密共享方法步骤示意图;
图2为本发明实施例提供的一种可证明安全的可公开验证多级多秘密共享系统模块示意图;
图3为本发明实施例提供的一种电子设备;
图4为本发明实施例提供的多级多秘密共享方法秘密分发阶段的流程图;
图5为本发明实施例提供的多级多秘密共享方法份额更新阶段的流程图;
图6为本发明实施例提供的多级多秘密共享方法秘密重构阶段的流程图。
图标:10-初始化模块;20-秘密分发模块;30-份额更新模块;40-秘密重构模块;101-存储器;102-处理器;103-通信接口。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
实施例1
请参阅图1,图1为本发明实施例提供的一种可证明安全的可公开验证多级多秘密共享方法步骤示意图,其如下所示:
步骤S100,根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化;
在一些实施方式中,D是一个可信的分发者,参与者集合是P={P
D首先构造对于目标向量e
D随机选择
每个参与者P
步骤S110,通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额;
请参照图4,图4为本发明实施例提供的多级多秘密共享方法秘密分发阶段的流程图,其如下所示:
在一些实施方式中,以初始状态τ=0为例:
根据秘密S
基于单调张成方案分发者D计算临时秘密份额
分发者D利用系统公钥P
分发者D计算
若以上等式成立则表明分发者D公开的信息是正确有效的,无任何欺骗行为,此时各参与者可使用自己的私钥d
步骤S120,将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额;
请参照图5,图5为本发明实施例提供的多级多秘密共享方法份额更新阶段的流程图,其如下所示:
在一些实施方式中,当共享秘密S
基于单调张成方案D计算更新的临时秘密份额
任何人都可通过等式
若等式
则参与者P
步骤S130,根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构。
请参照图6,图6为本发明实施例提供的多多级多秘密共享方法秘密重构阶段的流程图,其如下所示:
在一些实施方式中,设参与恢复秘密的授权子集为
授权子集A
当τ=0时:
授权子集A
秘密恢复者收到参与者
待授权子集A
当τ=1,2…时:
授权子集A
秘密恢复者收到参与者
待授权子集A
等式来计算秘密S
实施例2
请参阅图2,图2为本发明实施例提供的一种可证明安全的可公开验证多级多秘密共享系统模块示意图,其如下所示:
初始化模块10,用于根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化;
秘密分发模块20,用于通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额;
份额更新模块30,用于将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额;
秘密重构模块40,根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构。
在一些实施方式中,在随机预言机模型下的正确性及安全性:
正确性:当τ=0时,
当τ=1,2…时:
由于当j=1,目标向量e
当j=2,…,m同理可得。
安全性:即使敌手A截获临时秘密份额
通过反证法,设CDH假设成立,假设方案中公开消息E
初始化:挑战者B构造模拟算法Π,生成系统公开参数及参与者私钥d
挑战阶段:敌手A在有限域κ上随机选取n个非零向量Μ
应答阶段:敌手A收到信息
通过以上可知敌手A在多项式时间内生成两对公开信息
对于给定的P
由等式
因此,在CDH假设下,公开信息应满足
在BDH假设下,除参与者之外,任何人在不知道参与者私钥d
通过反证法。假设BDH成立,敌手A在不知参与者私钥d
初始化:敌手A确定目标参与者P
询问阶段:敌手A询问挑战者B公钥T
挑战过程:敌手A发送两组信息L0,L
猜测阶段:敌手A输出自己猜测值σ',若σ'=σ,输出1,否则输出0。
由于等式
挑战者B由
假设攻击者得到个别不诚实参与者的秘密份额,攻击者通过计算得不到其它诚实参与者的秘密份额,同时攻击者也无法得到关于秘密S
由单调张成方案可知,除秘密分发者外,参与者和秘密恢复者都不知向量r的任何信息,由份额的计算过程可知,攻击者想要通过不诚实参与者的份额计算出诚实参与者的份额,必须先计算向量r的信息。
设攻击者勾结的不诚实参与者是P
因为{P
因此向量组{Μ
实施例3
如图3所示,本申请实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第一方面中任一项的方法。
还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是但不限于,随机存取存储器101(Random Access Memory,RAM),只读存储器101(Read Only Memory,ROM),可编程只读存储器101(ProgrammableRead-Only Memory,PROM),可擦除只读存储器101(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器101(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器102,包括中央处理器102(Central Processing Unit,CPU)、网络处理器102(Network Processor,NP)等;还可以是数字信号处理器102(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
另一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器101(ROM,Read-Only Memory)、随机存取存储器101(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请实施例提供一种可证明安全的可公开验证多级多秘密共享方法及系统。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
- 一种可证明安全的可公开验证多级多秘密共享方法及系统
- 一种云存储中基于部分授权的可证明安全数据持有性验证方法