龙空技术网

基于区块链可审计的私有数据共享体系结构分析

MarsBit 279

前言:

如今咱们对“私有密码算法”都比较看重,你们都想要剖析一些“私有密码算法”的相关内容。那么小编也在网摘上收集了一些关于“私有密码算法””的相关文章,希望各位老铁们能喜欢,我们一起来了解一下吧!

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。

小编:记得关注哦

来源:巴比特

原文标题:基于区块链可审计的私有数据共享体系结构分析

Analysis of Architectural Variants for Auditable Blockchain-based Private Data Sharing 基于区块链的可审计私有数据共享体系结构变体分析

许多应用程序的设计依赖于昂贵的可信第三方审计员。工业应用联邦多学科优化(federated multi-disciplinary optimization,MDO)是一个很好的例子,其中不同的组织为复杂的工程设计工作做出贡献。尽管区块链和分布式账本技术(DLT)在减少对此类中介的依赖方面具有强大的潜力,但设计解决方案所涉及的体系结构复杂性令人望而生畏。

本文在保证数据访问操作的可审计性、不可否认性和共享数据的可用性的同时,分析了分布式私有数据共享的体系结构。分析的体系结构侧重于实现:(i)机密数据交换,(ii)对共享数据的访问管理,(iii)数据访问的可审计性,以及(iv)数据验证或冲突解决。我们系统地列举在以下级别的体系结构决策:存储、文件访问控制、数据加密方法和私有数据的可审计机制。

这项工作的主要贡献是全面概述了分布式私有加密数据的体系结构,以及在性能、存储开销、可审计信任和安全性方面所涉及的权衡。这些发现在上述涉及联邦多学科优化(MDO)的行业案例中得到了验证。

1 介绍和激励案例

Noesis解决方案的激励性应用案例涉及在地理上分布的、甚至隶属于不同组织的工程团队之间的多学科优化(MDO)过程。联邦MDO过程涉及飞机部件设计的优化,这是安全和高度机密的。图1说明了飞机的物理方面是如何相互依赖的,并且必须在不同组织之间的迭代、多学科过程中进行优化,每个组织都精通各自的学科,如结构稳定性或空气动力学。例如,根据当前推进系统的设计,对发动机物理结构的外部进行了优化。这种过程被称为多学科优化(MDO)过程。如图2所示,在MDO过程中,必须将一个任务的结果作为输入数据共享到后续任务的优化过程中。

由于这些飞机部件设计的安全性质,以及出现问题时可能产生的实际严重后果,这些组织要求在不可否认性和记录数据交换、咨询或修改过程中采取的每项行动方面提供保证。当前的解决方案广泛依赖于第三方审计员,他们提供服务,以验证传输数据和已建立的数据来源记录(这意味着历史和数据沿袭)的有效性。这些审核员对于确定当事方何时有过错,或者在他们没有履行合同义务时提供证据,例如管理时间窗口以提供优化结果,都是至关重要的。

涉及可信第三方的数据共享方案并不那么理想,只要原因有三:(i)对第三方的依赖可能代价高昂,(ii)手动验证需要将机密数据暴露给可信第三方,以及(iii)由于手动操作,总体效率较低。

为了避免可信的第三方,分布式共享账本(DLT)技术和智能合约(在区块链上部署和执行的程序)提供了解决不可抵赖性的方案,方法是维护操作的防篡改日志,并在创建审计日志后启用共识驱动的验证。此外,共享数据可以由分布式的逻辑自主管理,从而通过跨区块链节点本身或云存储平台的自动复制来确保数据可用性。这种分散存储系统被认为是区块链技术的一种可行的商业应用。一些现有的实现已经实现了其中的一些目标,如Filecoin、Storj、Siacoin和NuCypher KMS。

此外,本案例中企业要求考虑安全性和信任管理等要求,共享数据的保密级别会使问题复杂化,现有工作的重点是在不受信任的存储平台上验证数据完整性,以及在保持机密性和隐私的同时进行外部数据审核。

然而,设计一个合适的基于分布式账本的解决方案所涉及的体系结构复杂性是巨大的,并且必须在存储、文件访问控制、数据加密方式和私有数据的可审计性机制方面做出许多权衡决策。

在本文中,我们系统地研究了实现基于可审计区块链的私有数据共享的几种体系结构方法,例如在讨论的MDO过程中采用的方法。这项工作是基于对关键要求的广泛分析和对当前技术现状的深入审查。

本文的其余部分结构如下:第2节介绍了由Noesis解决方案引起的具有可访问性的机密数据共享问题,而第3节确定了功能性和非功能性需求。然后,第4、5和6节分别分析和讨论了区块链数据传输和存储、文件访问控制和数据验证的体系结构变体和权衡。第7节总结了所讨论的架构决策和权衡。

2 问题陈述在参与联邦MDO或协作的行业合作伙伴之间共享机密数据的同时,还伴随着巨大的管理流,其中涉及在每个步骤签署保密协议(NDAs)和合同,以分别保证知识产权和不可抵赖性。不可否认的要求适用于所有相关方交付和咨询的设计和结果。在最终产品出现故障的情况下,故障(如飞机设计)应可追溯到各个方面,而不允许任何形式的否认。

2.1 实践现状

参与方之间存在许多单独的解决方案,有支持使用签名的私钥共享数据,以确定数据来源的有效性。每家公司都有单独的信息系统存储数据副本,这导致数据的广泛分散化,进而阻碍了整体的可追溯性和访问管理。

此外,组织间的解决方案可能会导致任何一方在其最后声称不一致,例如没有接收或没有读取到文件。

在实践中,可信的第三方充当中介来验证访问日志,并确认存在争议数据的何时被访问或修改以及由谁访问或修改。

该方案不理想的原因有三:(i)对第三方的依赖可能代价高昂,需要所有相关方对第三方的信任程度;(ii)手动验证需要将机密数据暴露给可信的第三方,并导致复杂的管理开销,如需要起草法律合同等,以及(三)由于这些都是手动步骤,因此总体效率较低。

2.2 基于分类账的体系结构

分布式共享账本(DLT)有可能通过基于共识的完整性安全地建立事件的防篡改记录,而不会被拒绝。此外,区块链平台越来越多地采用分布式虚拟机(如以太坊虚拟机)中执行的逻辑,这些逻辑可用于协调各方之间的数据交换和访问。

所研究的区块链体系结构用作一个共享的分类账,用于跟踪和共享工程团队之间的信息,消除数据碎片,并实现故障跟踪。

在案例的背景下,这意味着参与发展目标进程的各方可以观察和核实各方何时履行了对彼此的义务。

在下一节中,我们概述所需的功能需求(如数据共享),以及与数据机密性、访问不可否认性、可用性和总体可伸缩性相关的重要非功能需求。

3 要求我们将方案目标缩小到功能性和非功能性需求,首先引出前者功能性需求:

F1 对共享私有数据的访问控制。数据应可在特定合约方之间共享,并仅对这些指定缔约方开放。F2 有可审计性的数据访问日志。必须报告对文件的任何操作,包括上载、下载、更改和可视化。审核日志只能在协作各方之间访问。F3 数据验证和冲突解决。确保文件传输或操作的正确,如果不正确,审计验证可以是外部的,也可以是自治的,理想情况下,同时保持数据机密性。

非功能性要求:

NF1 数据访问的不可抵赖性。重要的是,任何一方都不能反驳看到、共享、访问或修改了数据。这些不可抵赖性要求在履行后可用于支持双方之间的法律和签署的承诺(例如,参与MDO过程,或维护知识产权)。NF2 消除了散乱的中央系统和可信第三方,在这些系统中,跨境协作存储其数据,并保证共享数据的完整性和机密性。NF3 方案的可扩展性和可用性,例如通过链下的方式存储,其结果可以是大型的和异构的,通过复制实现可用性。

未列出的是在参与网络、交易或智能合约(例如 zkLedger和Monero)期间保护身份隐私的较低要求。

体系架构分析的结构如下:第4节讨论了在满足可伸缩性和可用性要求(NF3)的同时,使用或不使用存储(F1、NF2)进行区块链数据传输的架构。第5节讨论身份和文件访问控制(F1),而第6节讨论数据访问可听性(F2,NF1)和数据验证(F3)。

4 区块链数据交换架构我们在第4.1节讨论区块链数据交换(NF2)的三种方法,然后在第4.2节讨论存储数据的分布式管理方法(例如确保可用性(NF3))。

第一个数据交换架构使用区块链来简单地协调和记录各方之间的链下文件传输。第二种和第三种方法分别使用对等(P2P)存储节点或集中式云存储平台通过区块链平台处理文件传输。每种方法在不可抵赖性(NF1)和可审计性(F2)数据访问的可信任日志记录方面,以及在性能、存储和网络通信开销(NF3)方面的权衡方面都面临着一定的挑战。

4.1 区块链数据共享架构

4.1.1 方法A:链下数据传输和链上记录。这种方法简单地使用区块链对数据交换进行防篡改记账,其中日志由参与链下交换过程的各方在外部创建。除了文件散列和参与方的数字签名之外,它不存储任何共享的数据,从而提供了一个采用成本最低的解决方案。使用共享账本作为握手协议的一部分来实现这一点,以启动双方之间的数据传输。

例子。图3(i)描绘了甲方向区块链上宣布其已准备好向乙方和丙方传输数据。甲方将文件散列与预期参与方列表一起永久地放置在区块链上,从而宣布其已准备好传输文件。接下来在图3(ii)中,乙方链上接受交易,链上交易被广播并永久存储在一个块中。接下来是(iii)数据从A链下传输到B链下,该文件使用甲方的密钥SKA签名,并可由乙方使用其公钥PKA进行验证。一旦乙方收到该文件,他或她可以将该文件与甲方在链上发布的哈希匹配(iv)并创建接收确认(v)。

数据传输可作弊。这种方法仍然存在两种情况,即双方都可能采取恶意行为作弊: • 乙方可以在不确认收到或声称数据不正确的情况下接收文件。 • 甲方可以发送垃圾数据。

在前一种情况下,传输文件的内容可以由受信任的第三方验证,因为该文件是使用的公钥签名的,并且还可以通过在链上建立会话密钥来验证。然而,这种方法暴露了共享文件(F3)潜在的机密性。Gazzoni等人,讨论过上述两种恶意行为场景,并提出一种使用第三方而不暴露数据的解决方案,该解决方案通过应用同态散列,后者在性能方面成本极高。

在没有可信第三方的情况下使用链下传输无法解决这些不可抵赖性挑战,因此,下面本文讨论了两种由区块链本身处理数据传输的替代方法。

4.1.2 方法B:数据链上转移和操作链上记录。区块链平台也可以自行协调数据传输,并将(待定)数据存储在区块链上托管。图4描述了这样一个架构。在图4(i)中,工程团队放置输入数据和文件以启动MDO过程,数据具有访问权限和应用程序特定的元数据。文件哈希与存储在区块链管理的存储节点上的完整内容的位置引用一起放在区块链上,这在Siacoin 或Storj 等中很常见。区块链应用程序通过复制和定期访问基于可恢复性证明(PoR)算法共识来确保数据可用性。

图4所示方法的优点是,通过区块链平台传输私有数据,能确保在实体之间文件传输,然后创建可信的数据日志。最终,如果传输的文件不正确,第三方或智能合约可以确认其有效性。此外,提交文件的一方将无法反驳这是共享的文件。

有限的数据摘要和恶意节点。在这个场景中,文件块散列及其各自的位置是公共的并记录在链上。因此,一方可以从存储节点自身收集所需的文件块。存储节点必须验证请求方是否确实具有适当的访问权限。然而,当文件被划分成相当少的块并在少数节点Nf中被分割时,并且节点的行为是恶意时,它们可以选择在数据访问时省略访问控制和日志创建。只有当一个文件被划分到足够大的存储节点集(例如Nf>(N/2))中,N是存储节点总数时,数据访问控制和日志创建才能可靠地实现。因此,不利的一面可能是,数据传输将涉及到大量节点的重要网络流量。

分布式区块链数据解码。一个解决方案允许通过节点间的一致性强制检索,从而实现最小的数据分区。例如,存储的文件块由所有者使用对称密钥在客户端加密。然后,该密钥由属于区块链网络的公钥加密。对称文件密钥只能在检索一致意见(收集解密所需的私钥共享,然后将这些密钥共享分发给请求方)之后才能解密。然后,请求方可以使用区块链提供的私钥共享来解密文件的对称密钥,类似于CALYPSO。每个参与方甚至每个文件都可以生成多个私钥共享和各自的公钥,以防止重复使用和破坏。

这两种方法都有各自的优缺点,或者我们提出一种使用集中存储的解决方案。

4.1.3 方法C:管理云存储平台的区块链。使用区块链节点进行数据存储和复制的另一种方法,如图4所示,数据本身可以存储在集中式云存储平台上,如图5所示。在这种情况下,区块链应用程序必须确保文件可能在多个云平台上复制,以确保可用性(即多云存储)。中心化云存储平台本质上比区块链管理的P2P存储节点更可用,因此需要更少的文件复制,从而最小化存储开销。

在处理数据访问日志挑战时,云存储平台可能具有足够的信任度,可以为区块链应用程序合并此类数据访问和审核日志创建。然而,如前所述,区块链平台还可以强制实施其自身的文件访问控制,要求对解密进行检索共识。

4.1.4 汇总数据交换方法。我们展示了使用区块链实现数据交换的三种方法,表1给出了每种方法的访问不可抵赖性权衡,而表2给出了存储和网络考虑。第一种方法A只是使用区块链应用程序来协调和记录数据传输。然而,如图所示,在确保数据实际上是从链下发送或接收的方面存在重大挑战。

或者,为了解决这些不可否认性问题,数据可以通过方法B以去中心化的方式存储在由区块链操作的存储节点上,或者通过方法C由区块链管理的集中式存储平台上。将数据存储在一个分散的P2P存储系统中可能需要大量的网络流量,以在足够多的节点集合之间建立一致的检索,从而实现可信的访问日志记录。或者,当需要一致性来解码文件时,所涉及的网络通信量更少,从而允许更少的分布式文件块,尽管仍然为了可用性而复制。后一种方法C通过信任一些云存储平台来解决这个障碍,这些云存储平台本质上是高可用的,从而减少了存储开销。

4.2 存储的分散管理

不仅可以使用区块链共享文件,还可以记录有关正在进行的特定应用程序(如MDO)进程、相关方以及在相应进程中交换的结果的交易历史。通常,链上存储的数据是小键值对,例如日志记录、访问权限或可执行智能合约。

为了实现可伸缩性(NF3),最好将大文件保存在链下,文件散列及其位置存储在链上,以验证文件完整性并保持可用性。实际上,Siacoin、Storj和Filecoin允许用户以加密和复制的方式使用区块链存储文件。与BitTorrent 协议类似,文件被分成多个段,并创建该段的哈希。文件块散列存储在区块链上,而实际块以加密格式存储在多个节点上。这些节点可以是区块链网络本身的存储节点,或者例如P2P文件系统,例如IPFS。然而,与Filecoin等区块链存储解决方案不同的是,在IPFS中存储文件并没有经济激励,后者用数字货币奖励数据主机。文件托管参与者通常需要在链上的托管帐户中锁定货币,当参与者丢失文件块副本时,该帐户将受到程罚。这个托管协议可以阻止托管参与者突然离开P2P存储网络。

区块链存储解决方案积极应用可恢复性证明(PoR)一致性算法,以确保跨存储节点复制的文件块的可用性。如果复制副本消失,则会及时将其复制到可用的存储平台。PoR算法不要求传输整个文件,并扩展到可证明数据占有(PDP)算法,该算法对部分数据进行采样,并证明不受信任的存储节点持有数据。在下一节中,我们将讨论有关身份管理和文件访问控制的实现挑战和策略。

5 文件访问控制除了存储体系结构,还有几个体系结构决策来实现(分散的)数据访问控制。这种访问控制机制允许共享私有数据(F1)和获得数据访问操作的可审计性(NF1,F2)。例如,并不是每个公司都应该有权访问共享数据,因为这些可能是机密的,并且对单个参与者的业务至关重要。在可审计性方面,我们需要文件访问控制,否则数据可以直接检索,因为文件散列和位置是在链上公开记录的。

5.1 保密数据共享

从目前的情况来看,Siacoin、Storj和Filecoin等现代区块链存储平台不允许多方共享私人文件。但是,共享访问可以通过交换用于加密文件的对称密钥来实现。在实践中应用的一种简单的私有数据共享方法使用其各自的公钥为每个实体加密一次数据或会话密钥。这些身份通常是公共密钥本身,例如比特币和以太坊。

Zyskind等人的工作,描述了一个分散的数据管理系统,该系统共享对区块链节点托管的数据的访问。无论何时共享数据,访问权限都会记录在特定方的链上。此外,文件的会话密钥也可以公开记录,但是可以使用许可方的公钥进行加密。数据检索是在一方将其数字签名发送到网络后才允许的,网络随后可以创建审核日志,并在允许的情况下提供数据,或者共享对称密钥的访问。Shafagh等人,实现了一种策略,即在为目标方重新加密代理后共享私有云数据。本质上,数据所有者可以基于另一方的公钥生成重新加密密钥,这使得在重新加密后,用于数据所有者的加密文件可以被另一方解密,而不公开私钥。

5.2 基于许可和身份的数据访问控制

考虑到应用程序的企业级别及其保密性要求(F1),理想情况下,区块链平台是许可的及基于权限的,如HyperLedger,而不是无需许可的开放平台,如比特币和以太坊。

身份管理。只有授权指定的身份才能加入和参与区块链网络,在我们的案例中,区块链网络可以在链下进行协调,参与企业协作。理想情况下,数据只应在区块链上对访问数据或参与策略的人可见。

基于权限的访问。除了存储的数据外,还必须有一个基于权限的访问控制机制来管理数据访问。这些权限可以表示为表示性策略,或者只是每个标识的读写权限列表。这些权限以及访问控制逻辑可以以互补的方式在链上和链下处理。

5.2.1 链下加密。通过使用其公钥加密附加的文件副本,可以授予参与方文件访问权限。当事方通过删除其各自的加密文件副本被删除,但是当事方一旦有权访问该文件,它可能有自己的本地副本。链下方法的一个潜在问题是,它需要信任加密数据的人,以符合已发布元数据的权限。此外,创建其他副本会产生存储开销,但是可以为所有参与方加密单个文件,或者理想情况下只加密对称会话密钥。此外,链下加密本身不会在没有创建审核日志的情况下阻止数据访问。

5.2.2 链上文件访问控制。有两种方法可以实现去中心化的文件访问控制:一种是在Nf分区中使用分散的存储并对文件进行充分的分段,另一种是要求区块链解密以读取文件。在第一种方法中,只有当文件的所有Nf片段都可以从Nf * Nr节点(其中Nr是复制因子)中检索时,才能检索该文件。协商一致后,被协商的节点可以生成记录在链上的数据访问日志。在第二种方法中,链上解密可以通过通过分布式密钥生成(DKG)通过属于区块链本身的公共私钥进行加密来实现。私钥可以分割成密钥共享并在节点之间分发,这可以通过使用可公开验证的秘密共享(PVSS)方案来验证共享实际上是正确的在文件上载时,使用区块链的公钥对文件或其对称密钥进行加密。解密后的数据可以在权限协商一致后进行检索,在协商一致后,如果请求检索的一方确实具有基于权限的访问权限,则节点将向其提供足够数量的n/m私钥共享。这种方法在CALYPSO中得到了应用,CALYPSO是一个用于共享可审计加密数据的区块链。根据Nf*Nr与节点数N之间的比率,或者类似于所需密钥数Nk和总节点数N,可以在网络性能和信任级别之间进行权衡。

5.3 动态文件访问权限

当参与方随着时间的推移离开或加入文件访问组(或策略)时,访问权限也会发生更改,需要更新链上列出的权限,并在需要时更改任何原始加密文件或会话密钥,以防止未经授权的访问。最好的做法是使用所有者或参与方的共享密钥对文件进行客户端加密,以防止在恶意网络串通的情况下由网络进行不必要的访问,但这也会在一定程度上阻碍动态文件访问。

5.3.1 新成员进入。假设一个新的参与方被授予访问给定文件的权限,我们可以更新权限,并且可以使用参与方的公钥(需要网络通信来更新文件)对文件或其会话密钥进行重新加密。但是,我们也可以通过代理重新加密保持现有文件不变;我们可以共享数据所有者的公钥加密文件,方法是让所有者基于其私钥和新成员的公钥生成重新加密密钥,从而允许新成员对最初用于例如a的文件进行解密。当授予新成员即时访问权限时,参与方通过使用其原始重新加密密钥来保留数据访问权限。代理重新加密密钥优选由区块链网络链上持有,以便在稍后的时间点容易地撤销访问。

5.3.2 访问撤销。在这种情况下,当使用代理重新加密时,网络必须忘记为访问方准备的重新加密密钥。或者,如果访问策略中的所有参与方都有一个重新加密密钥,则必须更新此密钥(不包括被吊销的参与方),此过程要求数据所有者联机。如果在Nf密钥管理节点上对密钥进行足够的分区以防止恶意的网络合谋,则可以强制删除密钥。此外,最好使用多个密钥对,最好是每个文件片段、文件使用一个密钥对,或者每个组使用一个密钥对。当用户的访问被撤销并且先前已获得未读文件的密钥或相应的加密对称文件密钥时,还必须适当地重新加密存储的数据。表3总结了文件访问控制方法及其在文件复制和片段与(代理)解密和分布式密钥管理的一致性之间的权衡。

5.3.3 足够的片段。与验证链上访问权限的N相比,当文件在节点Nf*Nr之间足够片段时,不需要应用用于访问不可抵赖性的链上文件解密。然后,可以使用会话密钥对文件进行加密,会话密钥由参与方的公钥加密,但是,当参与方加入或离开时,仍然需要更改密钥文件。

6 私有数据可审计性可审计性包括(a)可公开验证的数据正确性和(b)私有数据访问审计。公开验证是允许网络就正确性达成共识的一项要求,例如:(i)共享机密数据正确性,(ii)完整性审计,但也(iii)验证或执行特定于应用程序的操作的正确顺序。理想情况下,验证过程不会在评估期间暴露任何数据的机密属性。

在数据正确性方面,我们已经讨论了链下传输的情况,即乙方可以声称没有收到文件或不正确的文件,或者甲方实际上根本没有发送文件,因此可能存在恶意行为。在数据完整性审计方面,当未加密格式的机密文件与链上记录的散列不匹配时,文件块可能由于不受信任的节点而受到损害,甚至由发送方受到损害。

6.1 可审核性和日志创建

传统上,外部受信第三方被指派为审计员,以访问审计日志。但是,在这种情况下,我们也可以让协作用户获得对审计日志的访问权,可以使用私钥共享对其进行解密,以便以分散的方式管理审计日志访问控制。

6.1.1 数据访问可审计性。由区块链强制实施的文件访问控制允许在有人访问或更改区块链存储的数据时自动创建日志。在去中心化存储方法中,文件访问也可以由各个存储节点针对其各自的分区进行检查和记录。但是,后一种方法需要足够的分区来创建可信的数据访问日志。但是,由用于文件传输的区块链管理的云存储确实需要分散的文件访问控制,事实上,这是一种集中式存储,用于创建可信的审计日志。或者,当集中存储平台完全可信时,也可以允许它在链上生成审计日志。

6.1.2 公共数据完整性审计。典型的数据审计解决方案侧重于确保云存储平台保持托管文件的完整性。这些文件散列可以使用区块链以防篡改的方式存储。然而,公开验证加密的私有数据的正确性会带来一些挑战,例如当试图将其与链上记录的未加密文件的散列匹配时。

6.2 私有数据验证

在某些情况下,当发送方发送错误的文件并产生争议时,双方之间交换的数据可能不正确。在这种情况下,需要自动或外部解决方案。在最坏的情况下,协作过程会被简单地停止。然而,通常这是通过将机密共享数据的实际内容公开给可信的第三方(例如组管理器或可信的执行环境)来解决的。

6.2.1 通过共享数据访问进行验证。ProvChain是一个区块链应用程序,它存储数据对象上的操作历史以及这些操作的沿袭,通常称为数据来源记录。ProvChain允许审计员访问链上加密的元数据,以验证数据来源记录。

可信平台执行环境(例如Intel®SGX)还可以接收私钥和加密数据,从而允许可信执行环境验证链上记录的文件哈希。此文件哈希可以反映未加密或加密文件的哈希。后者总是可以在没有数据泄漏的情况下进行检查。可信执行环境还可以用于在数据访问上创建可信的审计日志,例如在不可信的云存储环境中。然而,这样的执行环境并不是完美无缺的,而且容易受到侧通道攻击。

6.2.2 在保持数据机密性的同时进行验证。表4中所示的最新技术允许在不影响其机密属性的情况下公开验证私有数据,例如通过同态散列和身份验证器,但是由于计算成本高,这仍然相当不切实际。其他解决方案应用部分同态加密(PHE)来验证应用程序工作流中加密的数字数据(例如元数据),而不公开私有内容。当代区块链解决方案,如zkleger和Monero,应用了PHE和零知识证明,以确保例如所用货币的输出小于或等于以前交易中收到的输入之和。这样的算法对于保存数字信息的加密数据有效地工作,而例如同态文件完整性验证是非常低效的,并且目前是不切实际的。或者,在我们的案例中,也可以简单地通过向参与协作的其他用户公开机密数据来验证私有数据的正确性,方法是公开甲方和乙方记录的会话密钥,并授予访问特定文件副本的权限。

6.3 交易和私有元数据验证

数据访问日志还提供了在执行操作时验证和控制操作序列的选项。这需要根据链的当前状态,在事务和操作的顺序上实现特定于应用程序的规则。例如,读取操作只能在文件实际存在的情况下执行,或者在MDO情况下,一方在不接收任何新输入数据的情况下不能上载输出数据两次,因为它变得不明确,现在打算将哪些数据作为下一个迭代步骤的输入。这种逻辑可以使用链上的智能契约来实现,该契约可以解释来自先前事务的元数据,以确定(i)MDO进程ID,和(ii)先前的MDO结果,从而确定整个进程状态。

这种特定于应用程序的规则可以在智能合约中实现,例如验证将输出链接到输入的元数据。这种元数据验证可以在智能合约中实现,以抢先检测网络的任何运行时错误。然而,元数据也可以加密,例如隐藏特定于应用程序的操作顺序。然后,这些智能合约可以应用同态加密来验证元数据,而无需公开数据内容和沿袭。

在加密元数据的情况下,Raziel和Hawk支持智能合约的安全多方执行,这允许在加密输入上执行代码,同时对这些输入保密。但是,计算成本会随着涉及节点的数量、算法的复杂性和所需的安全级别而增加,因此这种技术更适合于基于权限的分类账。

7 结论我们系统地讨论了设计一个分布式平台以管理私有加密数据的访问所涉及的主要架构决策和权衡。通过利用分布式账本技术(DLT)和智能合约,可以在数据可用性和一致性方面提供保证,并且通过采用基于共识的协议,可以创建不可否认的审计和访问日志。这种体系结构非常引人注目,因为它允许将有价值的文件(以加密的方式)的控制权移交给一个分散的平台,同时保持其机密性,管理文件访问,并最终消除审计过程中昂贵的可信第三方。

关于文件存储,我们主张要么是一个高度分散的P2P基础设施,要么是一个由区块链管理的更集中的部署(例如,基于多云存储)。由于没有访问不可抵赖性的要求,集中式存储系统在快速延迟和由于固有的高可用性而使数据重复或片段最小化方面是一个明显的优势。

我们已经确定了复杂的折衷方案,通过在P2P设置中分割文件或通过组合私钥共享来增加解密文件块所需的节点来避免网络合谋。随着各方离开并加入访问策略,这种分布式解密需要仔细的文件和密钥管理。此外,在P2P环境中,访问撤销后的文件删除不是立即的,节点是不稳定的,需要密钥刷新协议。

可审计性还适用于审计私有数据和事务的有效性,这涉及元数据,例如特定于应用程序的事务的顺序(例如,首先上载,下载)。我们的研究强调,私有数据验证可以通过使用第三方验证器、可信执行以及利用同态加密和零知识证明等技术来实现。然而,这些方法的性能和实际应用目前仅限于应用算法和加密数据。

我们的研究的主要贡献是系统地探索实现可审计性和分散的私有数据访问控制的方法,这在联邦协作中尤其重要。在今后的工作中,我们将通过实证评估进一步研究和量化这些权衡的性质。此外,我们还致力于开发解决方案,以便在重复数据、文件和密钥片段以及所达到的信任和性能级别之间动态地利用这些折衷。

标签: #私有密码算法