双向区块链制造技术

技术编号:27040986 阅读:31 留言:0更新日期:2021-01-12 11:25
描述了一种使用区块链技术和多方计算(MFC)来改善数据认证的系统。所述系统确保了从一个或更多个服务器发送到分布式客户端的分布式数据的真实性,所述系统初始化MFC协议以确保用于对新数据元素进行签名的密钥的保密性。利用区块链技术来确保所述新数据元素的正确性和完整性。使用双向区块链,使得前向区块链存储要由所述分布式客户端接收的所述新数据元素,并且反向区块链存储由所述分布式客户端用来验证所述前向区块链中存储的所述新数据元素的真实性的公钥。利用所述公钥对所述新数据元素进行签名导致先前的公钥过期。

【技术实现步骤摘要】
【国外来华专利技术】双向区块链相关申请的交叉引用本申请是2018年7月27日在美国提交的题为“BidirectionalBlockchain”的美国临时申请No.62/711,355的非临时申请,其全部内容通过引用并入本文。专利技术背景(1)
本专利技术涉及用于改善数据认证的系统,更具体地,涉及使用区块链技术和多方计算来改善数据认证的系统。(2)
技术介绍
安全的多方计算(MPC)是密码学的一个子领域,其目的是为各方创建在其输入上共同计算函数同时将这些输入保密的方法。与传统的密码学任务不同,此模型中的攻击者控制实际参与者。区块链是被分成一系列区块的数据的集合。每个区块都以密码方式链接到前一区块,使得在不编辑所有后续区块的情况下无法编辑一个区块。检查数据完整性涉及计算数据上的密码校验和,流行的方法是对数据应用密码散列函数(诸如,函数SHA128、SHA256或SHA512)。除了数据完整性之外,检查数据的真实性(authenticity)还涉及使用诸如RSA(Rivest-Shamir-Adleman)之类的公钥签名方案来验证数据上的签名。为了生成签名,数据生成器使用其私钥对数据进行签名,而接收方使用数据生成器的已知公钥来验证签名。基于签名的认证的一个主要缺点是,如果攻击者窃取或破解了私钥,则攻击者可以伪造数据,直到密钥被撤消或过期为止。因此,存在对这样的系统的持续需求,该系统要求每次对新软件进行签名时都使用新的公钥/私钥对,使得密钥有效且攻击者可以破解密钥以便伪造数据的时间窗很小。
技术实现思路
r>本专利技术涉及一种用于改善数据认证的系统,更具体地,涉及一种使用区块链技术和多方计算来改善数据认证的系统。所述系统包括:编码有可执行指令的非暂时性计算机可读介质以及一个或更多个处理器,使得当执行所述可执行指令时,所述一个或更多个处理器执行多个操作。所述系统确保从一个或更多个服务器发送到分布式客户端的一组分布式数据的真实性,其中,在确保一组分布式数据的真实性时,所述系统初始化多个多方(MPC)协议以确保用于对新数据元素进行签名的密钥的保密性。利用区块链技术来确保所述新数据元素的正确性和完整性,其中,使用包括前向区块链和反向区块链的双向区块链,使得所述前向区块链存储要由所述分布式客户端接收的所述新数据元素,而所述反向区块链存储由所述分布式客户端用来验证所述前向区块链中存储的所述新数据元素的真实性的公钥,其中,利用所述公钥对所述新数据元素进行签名导致先前的公钥过期。在另一方面,所述多个MPC协议包括:Initialize协议,其中,生成公钥/私钥对列表,构建包括反向数据区块的所述反向区块链,并且包括公钥和私钥的所述公钥/私钥对列表以及所述反向数据区块以分布式方式被存储在一组MPC服务器当中;GenerateBlock协议,该协议允许签名服务器生成新的前向数据区块并将所述新的前向数据区块分发到一组区块链节点,其中,所述一组区块链节点验证所述新的前向数据区块,并且如果所述新的前向数据区块得到验证,则所述一组区块链节点将所述新的前向数据区块中继到所述分布式客户端;以及VerifyBlock协议,其中,所述分布式客户端使用新的公钥来验证所述新的前向数据区块的真实性,并且如果确定所述新的前向数据区块是真实的,则所述分布式客户端存储所述反向数据区块和所述新的前向数据区块中的至少一者。在另一方面,遵循所述Initialize协议,擦除所有生成的数据。在另一方面,所述前向区块链包括数据区块,在所述前向区块链中,第一数据区块之后的各个数据区块包含前一数据区块的散列摘要,并且其中,所述反向区块链包括数据区块,在所述反向区块链中,最后数据区块之前的各个数据区块包含下一数据区块的散列摘要。在另一方面,所述一组MPC服务器向所述签名服务器揭露所述反向数据区块和一个或更多个私钥。最后,本专利技术还包括一种计算机程序产品和计算机实现的方法。所述计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可读指令,所述计算机可读指令可通过具有一个或更多个处理器的计算机执行,使得在执行所述指令时,所述一个或更多个处理器执行本文列出的操作。另选地,所述计算机实现的方法包括使计算机执行这种指令并且执行所得操作的动作。附图说明根据下面结合参照附图对本专利技术各个方面的详细描述,本专利技术的目的、特征以及优点将显而易见,附图中:图1是描绘根据本公开的一些实施方式的用于改善数据认证的系统的组件的框图;图2是根据本公开的一些实施方式的计算机程序产品的例示图;图3是根据本公开的一些实施方式的基本区块链结构的例示图;图4是根据本公开的一些实施方式的双向区块链的基本结构的例示图;图5是根据本公开的一些实施方式的用于数据认证的Initialize协议的流程图的例示图;图6是根据本公开的一些实施方式的用于数据认证的GenerateBlock协议的流程图的例示图;图7A是根据本公开的一些实施方式的用于数据认证的VerifyBlock协议的第一部分的流程图的例示图;以及图7B是根据本公开的一些实施方式的用于数据认证的VerifyBlock协议的第二部分的流程图的例示图。具体实施方式本专利技术涉及一种用于改善数据认证的系统,更具体地,涉及一种使用区块链技术和多方计算来改善数据认证的系统。呈现以下描述以使本领域普通技术人员能够进行和使用本专利技术并将其并入特定应用的背景中。对于本领域技术人员来说显然可以有各种改动以及不同应用方面的多种用途,并且本文限定的一般原理可以被应用于广泛的方面。因此,本专利技术不旨在限于所呈现的方面,而是涵盖与本文所公开原理和新颖特征相一致的最广范围。在下面的详细描述中,阐述了许多具体细节,以便提供对本专利技术的更透彻理解。然而,本领域技术人员应当明白,本专利技术可以在不必受限于这些具体细节的情况下来实践。在其它情况下,公知结构和设备按框图形式而不是按细节示出,以免妨碍对本专利技术的理解。也请读者留意与本说明书同时提交的所有文件和文档,这些文件和文档与本说明书一起开放以供公众查阅,所有这些文件和文档的内容通过引用并入于此。本说明书中公开的所有特征(包括任何所附权利要求、摘要以及附图)可以由用于相同、等同或相似目的的另选特征来代替,除非另有明确说明。因此,除非另有明确说明,所公开的各个特征仅仅是一系列的等同或相似特征中的一个例子。此外,权利要求中的未明确陈述用于执行特定功能的“装置”或用于执行特定功能的“步骤”的任何要素不被解释为在35U.S.C.第112节第6款中指定的“装置”或“步骤”条款。具体地,在本文的权利要求中使用“…的步骤”或“…的动作”不旨在援引35U.S.C.第112节第6款的规定。在详细描述本专利技术之前,首先提供了引用的参考文献列表。接下来,提供了对本专利技术各个主要方面的描述。最后,提供本专利技术各个实施方式的具体细节,以使得能够理解具体方面。(1)所并入的参考文献列表贯穿本申请引用且并入以下参考文献。为了清楚和方便起见,这些参考文本文档来自技高网...

【技术保护点】
1.一种用于验证发送到分布式客户端的数据的真实性的系统,所述系统包括:/n编码有可执行指令的非暂时性计算机可读介质以及一个或更多个处理器,使得当执行所述可执行指令时,所述一个或更多个处理器执行以下操作:/n确保从一个或更多个服务器发送到所述分布式客户端的一组分布式数据的真实性,其中,在确保所述一组分布式数据的真实性时,所述一个或更多个处理器执行以下操作:/n初始化多个多方(MPC)协议以确保用于对新数据元素进行签名的密钥的保密性;以及/n利用区块链技术来确保所述新数据元素的正确性和完整性,其中,使用包括前向区块链和反向区块链的双向区块链,使得所述前向区块链存储要由所述分布式客户端接收的所述新数据元素,而所述反向区块链存储由所述分布式客户端用来验证所述前向区块链中存储的所述新数据元素的真实性的公钥,/n其中,利用所述公钥对所述新数据元素进行签名导致先前的公钥过期。/n

【技术特征摘要】
【国外来华专利技术】20180727 US 62/711,3551.一种用于验证发送到分布式客户端的数据的真实性的系统,所述系统包括:
编码有可执行指令的非暂时性计算机可读介质以及一个或更多个处理器,使得当执行所述可执行指令时,所述一个或更多个处理器执行以下操作:
确保从一个或更多个服务器发送到所述分布式客户端的一组分布式数据的真实性,其中,在确保所述一组分布式数据的真实性时,所述一个或更多个处理器执行以下操作:
初始化多个多方(MPC)协议以确保用于对新数据元素进行签名的密钥的保密性;以及
利用区块链技术来确保所述新数据元素的正确性和完整性,其中,使用包括前向区块链和反向区块链的双向区块链,使得所述前向区块链存储要由所述分布式客户端接收的所述新数据元素,而所述反向区块链存储由所述分布式客户端用来验证所述前向区块链中存储的所述新数据元素的真实性的公钥,
其中,利用所述公钥对所述新数据元素进行签名导致先前的公钥过期。


2.根据权利要求1所述的系统,其中,所述多个MPC协议包括:
Initialize协议,其中,生成公钥/私钥对列表,构建包括反向数据区块的所述反向区块链,并且包括公钥和私钥的所述公钥/私钥对列表以及所述反向数据区块以分布式方式被存储在一组MPC服务器当中;
GenerateBlock协议,该GenerateBlock协议允许签名服务器生成新的前向数据区块并将所述新的前向数据区块分发到一组区块链节点,其中,所述一组区块链节点验证所述新的前向数据区块,并且如果所述新的前向数据区块得到验证,则所述一组区块链节点将所述新的前向数据区块中继到所述分布式客户端;以及
VerifyBlock协议,其中,所述分布式客户端使用新的公钥来验证所述新的前向数据区块的真实性,并且如果确定所述新的前向数据区块是真实的,则所述分布式客户端存储所述反向数据区块和所述新的前向数据区块中的至少一者。


3.根据权利要求2所述的系统,其中,遵循所述Initialize协议,擦除所有生成的数据。


4.根据权利要求1所述的系统,其中,所述前向区块链包括数据区块,在所述前向区块链中,第一数据区块之后的各个数据区块包含前一数据区块的散列摘要,并且其中,所述反向区块链包括数据区块,在所述反向区块链中,最后数据区块之前的各个数据区块包含下一数据区块的散列摘要。


5.根据权利要求2所述的系统,其中,所述一组MPC服务器向所述签名服务器揭露所述反向数据区块和一个或更多个私钥。


6.一种用于验证发送到分布式客户端的数据的真实性的计算机实现的方法,所述方法包括以下动作:
使一个或更多个处理器执行编码在非暂时性计算机可读介质上的指令,使得在执行所述指令时,所述一个或更多个处理器执行以下操作:
确保从一个或更多个服务器发送到所述分布式客户端的一组分布式数据的真实性,其中,在确保所述一组分布式数据的真实性时,所述一个或更多个处理器执行以下操作:
初始化多个多方(MPC)协议以确保用于对新数据元素进行签名的密钥的保密性;以及
利用区块链技术来确保所述新数据元素的正确性和完整性,其中,使用包括前向区块链和反向区块链的双向区块链,使得所述前向区块链存储要由所述分布式客户端接收的所述新数据元素,而所述反向区块链存储由所述分布式客户端用来验证所述前向区块链中存储的所述新数据元素的真实性的公钥,
其中,利用所述公钥对所述新数据元素进行签名导致先前的公钥过期。


7.根据权利要求6所述的方法,其中,所述多个MPC协议包括:
Initialize协议,其中,生成公钥/私钥对列表,构建包括反向数据区块的所述反向区块链,并且包括公钥和私钥的所述公钥/私钥对列表以及所述反向数据区块以分布式方式被存储在一组MP...

【专利技术属性】
技术研发人员:J·D·兰姆金斯H·J·金
申请(专利权)人:赫尔实验室有限公司
类型:发明
国别省市:美国;US

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

1