用于可验证秘密共享的系统和异步协议的制作方法

文档序号:23396157发布日期:2020-12-22 14:04阅读:136来源:国知局
用于可验证秘密共享的系统和异步协议的制作方法

政府权益

本发明是在美国政府合同编号hshqdc-13-c-b0026的政府支持下完成的。政府拥有本发明的某些权益。

相关申请的交叉引用

本申请要求于2018年6月5日提交的u.s.62/680,931的权益并且是其非临时专利申请,u.s.62/680,931的全部内容通过引用并入于此。

发明背景

(1)技术领域

本发明涉及一种安全协议,并且更具体地,涉及用于服务器之间的可验证秘密共享(secretsharing)的系统和异步协议。

(2)

背景技术:

秘密共享是一种加密方法,通过该加密方法可以将信息(例如,数据)安全且稳固地存储在分布式实体组之间。信息(称为秘密)以使得个体实体无法根据秘密的一部分(称为份额(share))重构或无法根据秘密的一部分来发现该秘密的方式而被存储。秘密共享协议是一系列步骤,该一系列步骤使得服务器(或实体)(称为分发方(dealer))能够在一组服务器之间分发一个或多个秘密的份额。

已经创建了一些技术,试图要求服务器之间的秘密共享,以便验证访问并减少破坏。choudhury等人和patra等人的协议旨在通过使服务器向彼此发送接收到的份额以验证份额是否一致来检查份额分发的一致性(参见所并入的参考文献的列表,参考文献1和2)。该技术的问题在于广播的数量非常大,从而导致高的计算成本。

因此,仍然需要一种协议,该协议通过减少数据广播的量来有效地检查份额分发的一致性。



技术实现要素:

本公开提供了一种用于多个服务器之间的可验证秘密共享的系统。所述系统包括多个服务器,所述多个服务器包括分发方服务器以及一个或更多个接收方服务器。各个服务器具有存储器以及一个或更多个处理器,所述存储器是编码有可执行指令的非暂时性计算机可读介质,使得在执行所述指令以及启动用于可验证秘密共享的异步协议时,所述多个服务器执行包括以下项的多个操作:

由所述分发方服务器构造二元多项式,所述二元多项式在给定点处对秘密s进行求值;

由所述分发方服务器构造哈希树,其中将所述二元多项式上的个体点作为叶;

由所述分发方服务器向一个或更多个接收方服务器广播以下项:(1)哈希树数据,(2)所述哈希树的根以及(3)所述秘密的份额;

由各个接收方服务器检查所述哈希树数据是正确的,并且检查所述份额是具有所提供的根的所述哈希树中的叶,使得如果接收方服务器集合确认所述份额是具有所提供的根的所述哈希树中的叶,则由所述接收方服务器广播ok;

由所述分发方服务器向所述多个服务器广播所述接收方服务器集合的标识;

由所述多个服务器中的各个服务器确定该服务器是否是所广播的接收方服务器集合中的服务器,使得:

如果是,则将所述份额传输至不在所广播的接收方服务器集合中的服务器;或者

如果不是,则接收份额,直到从所广播的接收方服务器集合接收到阈值数量的份额,并根据所述份额对一元多项式进行插值;

由所述多个服务器中的各个服务器对一元多项式进行求值,以识别零系数,所述零系数是秘密s的份额;以及

由所述多个服务器中的一个或更多个服务器重构秘密s。

在另一方面,各个服务器被嵌入载具(例如,无人机(uav)等)内,使得所述多个服务器共同形成载具(例如,uav等)网络。

在又一方面,所述秘密是由所述载具或uav或所述载具网络中的载具中的至少一个载具拍摄的图像。

最后,本发明还包括计算机程序产品和计算机实现的方法。所述计算机程序产品包括在非暂时性计算机可读介质上存储的计算机可读指令,所述计算机可读指令能够由具有一个或更多个处理器的计算机执行,使得在执行所述指令时,所述一个或更多个处理器执行本文列出的操作。另选地,计算机实现的方法包括使具有相关联的处理器的计算机或服务器执行这种指令并且执行所得到的操作的动作。

附图说明

结合参考以下附图,本发明的目的、特征以及优点将从本发明的各个方面的以下详细描述变得显而易见,其中:

图1是描绘了根据本发明的各种实施方式的系统的部件的框图;

图2是具体实现本发明的一方面的计算机程序产品的例示图;

图3是描绘了针对分发方的处理流的流程图;以及

图4是描绘了针对接收方的处理流的流程图。

具体实施方式

本发明涉及一种安全协议,并且更具体地,涉及用于服务器之间的可验证秘密共享的系统和异步协议。呈现以下描述以使本领域普通技术人员能够作出和使用本发明并将其结合到特定应用的上下文中。多种修改以及不同应用中的多种用途对于本领域技术人员来说将是显而易见的,并且本文限定的总体原理可以应用于广泛方面。因此,本发明不旨在限于所呈现的各个方面,而是涵盖与本文所公开的原理和新颖特征相一致的最广范围。

在下面的详细说明中,阐述了许多具体细节,以便使得能够更加彻底地理解本发明。然而,本领域技术人员将明白,本发明可以在不限于这些具体细节的情况下实施。在其它情况下,公知结构和装置以框图形式示出而不被详细示出,以免模糊本发明。

读者应留意与本说明书同时提交的所有文件和文档,这些文件和文档与本说明书一起公开以供公众查阅,所有这些文件和文档的内容通过引用并入于此。本说明书(包括任何所附权利要求、摘要以及附图)中公开的所有特征可以由用于相同、等同或相似目的的替代特征来代替,除非另有明确说明。因此,除非另有明确说明,否则所公开的各个特征仅是典型系列的等同或相似特征的一个示例。

此外,权利要求中的未明确陈述用于执行特定功能的“装置”或用于执行特定功能的“步骤”的任何要素不被解释为在35u.s.c.第112节第6款中指定的“装置”或“步骤”条款。具体地,在本文的权利要求中使用“…的步骤”或“…的动作”不旨在援引35u.s.c.第112节第6款的规定。

在详细描述本发明之前,首先提供了引用参考文献的列表。接下来,提供了本发明各个主要方面的说明。随后,介绍部分为读者提供了对本发明的总体理解。最后,提供了本发明的各个实施方式的具体细节,以给出具体方面的理解。

(1)所并入的参考文献的列表

在本申请中引用了以下参考文献。为了清楚和方便起见,这些参考文献在此被列为读者的中心资源。下列参考文献通过引用并入于此,就像在此完全陈述一样。这些参考文献通过参考如下对应文献参考号而在本申请中加以引用:

1.ashishchoudhury,martinhirt,andarpitapatra.unconditionallysecureasynchronousmultipartycomputationwithlinearcommunicationcomplexity.cryptologyeprintarchive,report2012/517,2012.

2.arpitapatra,ashishchoudhary,andc.pandurangan.efficientasynchronousverifiablesecretsharingandmultipartycomputation.cryptologyeprintarchive,report2010/007,2010.

3.gabrielbracha.1984.anasynchronous[(n-1)/3]-resilientconsensusprotocol.inproceedingsofthethirdannualacmsymposiumonprinciplesofdistributedcomputing(podc′84).acm,newyork,ny,usa,154-162.doi:http://dx.doi.org/10.1145/800222.806743.

4.fipspub180-4,federalinformationprocessingstandardspublication,securehashstandard(shs),foundathttps://nvlpubs.nist.gov/nistpubs/fips/nist.fips.180-4.pdf

(2)主要方面

本发明的各个实施方式包括三个“主要”方面。第一方面是一种具有用于多个服务器之间的可验证秘密共享的协议的系统。该系统实质是服务器网络。多个服务器中的各个服务器作为通常采用计算机操作软件的形式或采用“硬编码”指令集的形式的计算机系统工作。该系统或计算机系统可以结合到提供不同功能的各种各样的装置中。第二主要方面是使用数据处理系统(计算机)运行的通常采用软件形式的方法。第三主要方面是计算机程序产品。所述计算机程序产品通常表示存储在诸如光学存储装置(例如,光盘(cd)或数字通用盘(dvd))或磁存储装置(诸如,软盘或磁带)的非暂时性计算机可读介质上的计算机可读指令。计算机可读介质的其它非限制性示例包括硬盘、只读存储器(rom)以及闪存型存储器。这些方面将在下文进行更详细说明。

如上所述,本发明旨在一种包括在异步网络中执行秘密共享协议的多个服务器的系统。各个服务器作为计算机系统100工作,以执行如本文所述的操作。图1提供了描绘本发明的作为计算机系统100工作的服务器的示例的框图。计算机系统100被配置成执行与程序或算法相关联的计算、处理、操作和/或功能。在一个方面,本文讨论的某些处理和步骤被实现为存在于计算机可读存储器单元内并由计算机系统100的一个或更多个处理器执行的一系列指令(例如,软件程序)。在执行时,这些指令使计算机系统100执行特定动作并呈现特定行为,诸如本文所描述的。

计算机系统100可以包括被配置成传送信息的地址/数据总线102。另外,一个或更多个数据处理单元(诸如,处理器104(或多个处理器))与地址/数据总线102联接。处理器104被配置成处理信息和指令。在一个方面,处理器104是微处理器。另选地,处理器104可以是不同类型的处理器,诸如,并行处理器、专用集成电路(asic)、可编程逻辑阵列(pla)、复杂可编程逻辑器件(cpld)或现场可编程门阵列(fpga)。

计算机系统100被配置成利用一个或更多个数据存储单元。计算机系统100可以包括与地址/数据总线102联接的易失性存储器单元106(例如,随机存取存储器(“ram”)、静态ram、动态ram等),其中,易失性存储器单元106被配置成存储用于处理器104的信息和指令。计算机系统100还可以包括与地址/数据总线102联接的非易失性存储器单元108(例如,只读存储器(“rom”)、可编程rom(“prom”)、可擦除可编程rom(“eprom”)、电可擦除可编程rom(“eeprom”)、闪存存储器等),其中,非易失性存储器单元108被配置成存储用于处理器104的静态信息和指令。另选地,计算机系统100可以执行诸如在“云”计算中从在线数据存储单元取回的指令。在一个方面,计算机系统100还可以包括与地址/数据总线102联接的一个或更多个接口(诸如,接口110)。所述一个或更多个接口被配置成使得计算机系统100能够与其它电子装置和计算机系统接口连接。由所述一个或更多个接口实现的通信接口可以包括有线通信技术(例如,串行电缆、调制解调器、网络适配器等)和/或无线通信技术(例如,无线调制解调器、无线网络适配器等)。

在一个方面,计算机系统100可以包括与地址/数据总线102联接的输入装置112,其中,输入装置112被配置成将信息和命令选择传送至处理器100。根据一个方面,输入装置112是可以包括字母数字键和/或功能键的字母数字输入装置(诸如,键盘)。另选地,输入装置112可以是除字母数字输入装置之外的输入装置。在一个方面,计算机系统100可以包括与地址/数据总线102联接的光标控制装置114,其中,光标控制装置114被配置成将用户输入信息和/或命令选择传送至处理器100。在一个方面,光标控制装置114使用诸如鼠标、跟踪球、跟踪板、光学跟踪装置或触摸屏的装置来实现。尽管如此,但在一个方面,诸如响应于使用与输入装置112相关联的特殊键和键序列命令,光标控制装置114经由来自输入装置112的输入被引导和/或激活。在另选方面中,光标控制装置114被配置成由语音命令来引导或指导。

在一个方面,计算机系统100还可以包括与地址/数据总线102联接的一个或更多个可选计算机可用数据存储装置(诸如,存储装置116)。存储装置116被配置成存储信息和/或计算机可执行指令。在一个方面,存储装置116是诸如磁或光盘驱动器(例如,硬盘驱动器(“hdd”)、软盘、光盘只读存储器(“cd-rom”)、数字通用盘(“dvd”))的存储装置。依据一个方面,显示装置118与地址/数据总线102联接,其中,显示装置118被配置成显示视频和/或图形。在一个方面,显示装置118可以包括阴极射线管(“crt”)、液晶显示器(“lcd”)、场发射显示器(“fed”)、等离子体显示器或适于显示视频和/或图形图像以及用户可识别的字母数字字符的任何其它显示装置。

本文所提出的计算机系统100是根据一个方面的示例计算环境。然而,计算机系统100的非限制性示例并不严格限于是计算机系统。例如,一个方面规定了计算机系统100表示可以根据本文所述各个方面使用的一种数据处理分析。此外,还可以实现其它计算系统。实际上,本技术的精神和范围不限于任何单个数据处理环境。因此,在一个方面,使用通过计算机执行的计算机可执行指令(诸如,程序模块)来控制或实现本技术的各个方面的一个或更多个操作。在一个实现方式中,这样的程序模块包括被配置成执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件和/或数据结构。另外,一个方面规定了通过利用一个或更多个分布式计算环境来实现本技术的一个或更多个方面,诸如,在分布式计算环境中,由通过通信网络链接的远程处理装置执行任务,或者诸如,在分布式计算环境中,各种程序模块位于包括存储器-存储装置的本地和远程计算机存储介质中。

图2描绘了具体实现本发明的计算机程序产品(即,存储装置)的例示图。计算机程序产品被描绘为软盘200或诸如cd或dvd的光盘202。然而,如先前提到的,计算机程序产品通常表示存储在任何兼容的非暂时性计算机可读介质上的计算机可读指令。关于本发明所使用的术语“指令”通常指示要在计算机上执行的一组操作,并且可以表示整个程序的片段或者个体可分离的软件模块。“指令”的非限制性示例包括计算机程序代码(源代码或目标代码)和“硬编码”电子器件(即,编码到计算机芯片中的计算机操作)。“指令”被存储在任何非暂时性计算机可读介质上,诸如存储在计算机的存储器中或软盘、cd-rom以及闪存驱动器上。在任一种情况下,这些指令被编码在非暂时性计算机可读介质上。

(3)介绍

本公开提供了用于在异步网络中的一些服务器之间进行一个或更多个秘密(例如,数据)的可验证秘密共享的系统和协议,在所述异步网络中,服务器可以访问计时器。该协议使用哈希树来验证份额分发是正确的。对秘密进行分配的服务器(称为“分发方”)将所有秘密份额存储在哈希树中,其中个体份额是“叶”,然后将哈希树的根广播到接收份额的所有服务器(“接收方”)。服务器验证其份额与哈希树相匹配,从而确保正确性。

相对于其它异步可验证秘密共享(avss)协议,该系统使用低的广播通信带宽。这通过以下方式来实现:使用哈希树来减少确保正确性所需的通信量,以及对来自于协议的多次并行调用的广播消息一起进行批处理。avss协议在多个服务器之间分发秘密数据的份额,使得对手不得不损坏(compromise)多个服务器以便取回或销毁数据。通过增加对手不得不损坏的服务器的数量,数据比传统存储方案更安全,在传统存储方案中,数据被存储在单个服务器上。因此,通过使用低广播带宽和多个服务器,该系统和协议提供了有效的秘密共享例程,这是对现有技术的显著改进。下面提供了另外的细节。

(4)各个实施方式的具体细节

如上所述,秘密共享是一种加密方法,通过该加密方法可以将信息(例如,数据)安全且稳固地存储在分布式实体组之间。信息(称为秘密)以使得个体实体无法根据秘密的一部分(称为份额)重构或无法根据秘密的一部分来发现该秘密的方式而被存储。秘密共享协议是一系列步骤,所述一系列步骤使得服务器(或实体)(称为分发方)能够在一组服务器之间分发一个或多个秘密的份额。该协议描述了如何将秘密分成多个份额并在一组服务器之间进行分配。另外,秘密共享协议通常具有阈值,并且大小大于该阈值的任何一组服务器都可以使用其份额来重构秘密。例如,假设服务器数量为5并且阈值为2。那么5个服务器中没有一对2个服务器可以重构秘密,但是5个服务器中的任何3个服务器可以使用其份额来重构秘密。因此,如果对手实体破坏了5个服务器中的2个服务器(例如,通过安装恶意软件),那么该对手无法学习任何秘密;此外,由于其它3个服务器可以重构秘密,因此对手也无法销毁信息。可以使用任何合适的重构协议(诸如,协议oem或batrecpubl(参见参考文献1))来执行秘密重构。

可验证秘密共享协议是一种秘密共享协议,其确保了分发方处理了某一秘密或某些秘密的有效份额。在不能保证可验证性的秘密共享协议中,分发方可以分发无意义并且无法被重构的份额(也许只是通过向其它服务器发送随机数据)。

本公开的异步可验证秘密共享(avss)协议通过提供在异步网络中工作的可验证秘密共享协议来对现有技术进行改进。异步网络是一种不假定网络中的服务器具有同步时间观念(例如,通过拥有同步的时钟)的网络。avss协议在多个服务器之间分发秘密数据的份额,使得任何对手不得不损坏多个服务器以便取回或销毁数据。通过增加对手不得不损坏的服务器的数量,数据比传统存储方案更安全,在传统存储方案中,数据被存储在单个服务器上。

(4.1)准备工作

针对一组n个服务器(该n个服务器被标记p1、p2、…、pn)来描述该协议。在avss协议的单次执行中,存在一个服务器(被指定为“分发方”)持有秘密并且负责将秘密份额分发给其它服务器。然后,avss协议可以被并行执行n次,使得服务器中的各个服务器在所述执行中的一次执行中充当分发方,从而共享总共n个秘密。要被共享的一个或多个秘密是满足的有限域的元素。令α1、α2、...、αn是的不同的非零元素。应该将值s保密,并且值s确实是f的元素,但并非f的所有元素都是秘密的。具体地,值αi是所有服务器公开已知的。秘密s的份额是值f(αi,αj)。破坏阈值t是可以被破坏但仍保持协议安全性的服务器的最大数量。该协议要求t<n/4。因此,例如,如果n=9,则t可以是2。令[k]表示整数1、2、…、k的集合。此外,假定存在抗冲突哈希函数h,h的输出可以被描述为的元素。例如,sha-256可以用作合适的哈希函数(参见参考文献4)。

该协议假定各对服务器之间成对的点对点通信通道。网络是异步的,这意味着消息传输中存在可变的延迟,但是最终将接收所有消息。相比于许多异步协议,服务器可以访问本地计时器。计时器的存在允许服务器对消息一起进行批处理,与没有计时器的异步网络中的实现相比,这可以进一步降低通信复杂性。该协议要求服务器具有通过网络广播域元素的某种方式,使得当服务器广播域元素时,所有服务器都接收同一域元素。这可以使用物理广播信道或利用通过异步点对点信道实现广播的异步广播协议(诸如,gabrielbracha(参见文献参考3)所描述的协议)来完成。

(4.2)协议描述

下面提供了由多个服务器实现的协议步骤的概述(注意,服务器也被单独称为网络中的节点)。在步骤1中并且如图3所示,系统启动或以其它方式开始300协议。例如,用户使用所述系统选择要共享的秘密,这使服务器作为分发方工作,并且启动并继续协议以共享所选择的秘密。此后,分发方构造二元多项式302,该二元多项式302使用类似于choudhury等人所描述的过程(参见参考文献1)来在多项式上的给定点处对秘密求值。接下来,实施该协议的分发方构造哈希树304,该哈希树以多项式上的个体点作为叶。分发方使用choudhury等人描述的过程(参见参考文献1)向其它服务器发送份额,而且还广播哈希树306的根,并且发送哈希树306中的所有哈希值,需要所述所有哈希值,以确认接收方308的份额在哈希树306中。

在步骤2中并且如图4所示,一旦协议开始400,则接收方服务器等待,直到接收到来自分发方的份额和树数据402。在接收之后,各个接收方服务器通过检查接收到的数据是一致的(如choudhury等人的过程(参见参考文献1))并且还检查其份额是哈希树(该哈希树的根由分发方广播)中的叶,以确保从分发方接收到的数据是正确的404。检查哈希树的原因是,分发方应该将二元多项式上的各个点发送到两个服务器,因此,各对服务器都需要某种方式来确认它们接收到了相同的份额,并且分发方没有恶意地向不同服务器发送不同信息。在choudhury等人(参见参考文献1)中,通过使各对服务器(pi,pj)向彼此发送其共同份额并且然后广播一条说ok(pi,pj)的消息以使所有其它服务器都知道该对服务器意见一致(agree)来实现该确认。因此,各个服务器需要向各个其它服务器广播一个ok消息,这导致高的广播通信复杂性。在本发明中,通过使各个服务器仅检查其份额是否对应于哈希树,所述各个服务器可以在步骤2中向彼此广播单个ok消息406,以确认分发方发送了属于哈希树的份额。该过程足够了,因为各个服务器都接收到同一广播哈希树根,因此,如果两个服务器都确认其份额位于哈希树中,则由于哈希函数被假定为是抗冲突的(collision-resistant),因此所述两个服务器的份额必须相同。这是供本公开实现与choudhury等人相比的较低的广播通信复杂性的技术中的一种技术。

在步骤3至步骤5中,分发方确定已广播了ok消息的服务器的集合,然后将该集合广播给所有其它服务器。然后,该集合中的服务器向不在该集合中的服务器发送数据,以允许不在该集合中的服务器重构该集合中的服务器的份额。此后,所有服务器都使用choudhury等人的过程(参见参考文献1)来计算其最终输出份额。在以下逐步协议中更详细地描述步骤1至步骤5:

1.分发方pd执行以下操作以在一组n个服务器之间存储(共享)秘密s(注意,所述一组n个服务器中的各个服务器表示为服务器pi):

a.构造302:在上选择x的阶数为2t并且y的阶数为t的随机二元多项式f(x,y),使得f(0,0)=s。针对i∈[n],限定fi(x)=f(x,αi)并且gi(y)=f(αi,y)。

b.构造304:构造哈希树,其中针对i,j∈[n]的值f(αi,αj)作为叶。哈希树是二元的,但根除外,根具有n个子节点(children)。更具体地:

i.规定令rk,l表示k-1的l位二元表示的前l位(从最高阶位开始)。令运算符||表示连接(concatenation)。

ii.令m(ri,l,j)表示h(f(αi,αj)),并且针对各个l=1、…、l-1,如果存在某一k∈[n]使得rk,l+1=ri,l||1,则令m(ri,l,j)表示h(m(ri,l||0,j),m(ri,l||1,j)),否则令m(ri,l,j)表示h(m(ri,l||0,j))。

iii.限定m(j)=h(m0,j,m1,j)。

iv.限定m=h(m(1),m(2),...,m(n))。

c.广播306:向所有接收方服务器pi广播哈希树的根m。

d.发送份额和树数据308:针对每一个i∈[n],向服务器pi发送行多项式fi和列多项式gi。向各方pk发送所有份额f(αk,αi)和f(αi,αk)的空缺(openings)。更具体地:

i.针对各个i∈[n],向各方发送m(i)。

ii.针对各个位串v,向各个pk发送各个mv,k。

iii.针对各个l=0、…、l-1以及各个j∈[n],向各个pk发送m(ri,l||0,j))和m(rk,l||1,j))。

2.各个服务器pi执行以下操作:

a.检查数据404:检查在步骤1中从pd接收的数据是正确的。更具体地,检查以下内容:

i.接收到的多项式fi和gi的阶数分别是2t和t。

ii.fi(αi)=gi(αi)

iii.针对各个j∈[n],h(gi(αi))=m(ri,l,j)并且h(fj(αi))=m(ri,l,j)。

iv.哈希树中的所有其它接收到的节点(即,值m(·))是如步骤1所述的具有适当值的哈希(hashes)。

b.广播ok消息406:如果步骤2a中的每一个检查都通过了,则广播(ok,pd)。

(当针对多个分发方pd并行执行该协议时,可以批处理这些广播)。

3.等待310和广播312:一旦分发方pd接收到n-t个广播(ok,pd)310,则分发方广播312n-t个服务器的集合c,所述n-t个服务器广播了(ok,pd)。

4.等待408:一旦一方pi接收到由分发方广播的集合c,并且从c中的各方接收到广播(ok,pd),则执行以下步骤:

a.检查410和发送412:如果pi∈c410,则针对各个pi向pj发送412

其份额fi(αj)=gj(αi)。

b.检查410、等待414和插值416:如果410,则等待414,直到接收到限定阶数d的多项式的d+t+1个一致的份额(其中,d=t),并对该多项式gj进行插值416。

5.求值418。各方pi将输出gi(0)=f0(αi)=f(αi,0)作为s的份额,并终止秘密共享协议。

然后可以使用本领域技术人员已知的任何合适的技术来重构已经使用上述协议存储的秘密。作为非限制性示例,在各方pi获取了s的份额之后,可以使用如choudhury等人所描述的协议oem或batrecpubl(参见参考文献1)来重构秘密。协议oem将单个共享秘密重构到单个服务器或实体。另选地,协议batrecpubl公开地重构多个秘密,这意味着参与batrecpubl的所有服务器都会取回所述秘密。

(4.3)分析

为了测量广播复杂性(即,数据广播的量),注意,只有三个步骤可以发送广播:步骤1c、步骤2b和步骤3。步骤1c中的广播是单个域元素。由于域大小大于log2(n),因此各方的集合可以作为单个域元素被广播。因此,步骤3中的广播也是单个域元素,并且如果针对多个分发方并行执行协议,则可以将步骤2b中的ok消息组合在一起形成节点是ok的分发方的单个集合。由于各方都可以访问计时器,因此所述各方可以固定某一时间δ,并且每一个δ仅发送一次ok消息,对单个集合中的所有“ok”分发方一起批处理(作为非限制性示例,δ可以是500毫秒)。这样,在最佳情况下,广播的集合数可以是各发送方o(1)个域元素,但在最坏情况下仍可以是o(n)个域元素。因此,针对n次并行的avss协议执行,与现有技术中的o(n3)(诸如,choudhury等人(参见参考文献1))相比,存在o(n)或o(n2)个(分别在最佳情况或最坏情况下)域元素广播。因此,很明显,本公开的系统和协议相对于现有的安全协议提供了显著的技术改进,并且通过在工作时减少广播的必要性来改进服务器本身的功能。

(4.4)示例实现方式

本文所述的过程可以用于需要以高安全级别存储数据的任何应用。下面列出了特定应用的一些非限制性示例。

所述系统和协议可以用于以分布式方式在服务器之间安全地存储数据。由于所述协议对于存储任何类型的数据同样能很好地工作,因此具有广泛的潜在应用范围。例如,所述协议可以用于存储在无人机(uav)中收集和采集的现场数据(诸如,图像)。uav可以拍照并使用本公开中的avss协议来将图像的份额分配给其它uav。这样,如果对手捕获到不超过阈值数量的uav,则图像将不会被揭露。如果未被捕获,则剩余的uav在返回基地后可以将数据重构到某一服务器。重构意味着根据部分或全部份额来确定秘密。为了将秘密重构到某一指定服务器,持有份额的实体将这些份额发送给指定服务器,然后该指定服务器对份额进行插值,以确定多项式并对多项式进行求值以获得秘密。多个服务器重构是指所有服务器相互发送其份额,然后所有服务器都执行多项式插值和求值。

作为又一示例,所述协议可以用于在分布式服务器之间安全地存储来自载具的诊断数据。本发明可以用于确保从载具采集的诊断数据(诸如,汽油里程)的私密性。载具可以使用avss协议来将里程数据的份额分配给多个服务器,而不是将里程数据加载至单个服务器。如果对手损坏了不超过阈值数量的服务器,则驾驶员的里程数据仍将保持私密。当制造商或第三方需要使用诊断数据时,可以将数据重构到适当的服务器。

作为又一示例,在网络安全应用中,所述系统和协议可以用作监控层的一部分,以控制从客户端到对工作进行处理的服务器的提交的工作分配。例如,本发明可以用作系统的一部分,以在一组服务器之间分配客户端的秘密密钥的份额。然后,将密钥重构到被指派了工作的服务器。这样,只有所选择的服务器才能够看到客户端的秘密密钥,从而解密客户端的工作数据。服务器被允许按照使得在破坏阈值数量的服务器的情况下仍确保分配的完整性的方式来在所述服务器之间分配数据。

最后,虽然已经根据多个实施方式对本发明进行了说明,但本领域普通技术人员应当容易地认识到,本发明可以在其它环境中具有其它应用。应注意,可以有许多实施方式和实现方式。此外,所附权利要求绝不旨在将本发明的范围限于上述特定实施方式。另外,“用于…的装置”的任何用语旨在引发要素和权利要求的装置加功能的解读,而未特别使用“用于…的装置”用语的任何要素不应被解读为装置加功能要素,即使权利要求以其它方式包括了“装置”一词。此外,虽然已经按特定顺序陈述了特定方法步骤,但这些方法步骤可以按任何期望的顺序进行,并且落入本发明的范围内。

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