拓扑隐藏计算的边界探索

探索拓扑隐藏计算的边界

摘要

拓扑隐藏计算(THC)是一种在不完整的通信图上进行的多方计算,能够保持底层图拓扑的隐私。近年来的一系列研究 [Moran、Orlov 和 Richelson TCC’15,希尔特等人 CRYPTO’16,阿卡维亚与莫兰 EUROCRYPT’17,阿卡维亚等人 CRYPTO’17], 已经构建了可在半诚实设置下安全计算任意函数的THC协议。此外,Moran 等人指出,在停机故障设置下,实现对拓扑可忽略泄露的THC是不可能的。

在本文中,我们进一步探索了拓扑隐藏计算(THC)的可行性边界。我们证明,即使针对半诚实攻击者,在小规模(4节点)图上的拓扑隐藏广播也意味着不经意传输的存在;相比之下,如果允许暴露拓扑,则无条件存在平凡的广播协议。我们加强了Moran 等人提出的下界,识别并扩展了在停机故障设置中必须对底层图拓扑产生的泄露量与参与方数量及通信轮复杂度之间的关系:任何泄露δ比特信息以用于 δ ∈(0, 1]的n参与方协议,必须具有Ω(n/δ)轮次。

然后,我们提出了针对由失效停止型对手控制多数不诚实参与者的 n 个节点上的无限制图的、具有接近最优的泄露率的拓扑隐藏计算协议。这些构成了首个通用停故障拓扑隐藏计算协议。具体而言,对于此设定,我们展示了:
– 一种最多泄露一个比特且需要 O(n²) 轮次的拓扑隐藏计算协议。
– 一种最多泄露 δ 比特的 THC 协议,其中 δ 为任意小的不可忽略函数,且需要 O(n³/δ) 轮次。

这些协议还实现了半诚实模型下的完全安全性(无任何泄露)。我们的协议基于单向函数和一种(无状态的)安全硬件盒原语。这提供了一个理论上的可行性结果,在标准模型中使用通用混淆候选方案提供了一种启发式解决方案,并通过诸如Intel SGX之类的通用硬件为拓扑隐藏计算提供了潜在的实用化途径。有趣的是,即使借助此类硬件,证明其安全性仍需要复杂的模拟技术。

1 引言

安全多方计算(MPC)是密码学中的一个基础研究领域。自20世纪80年代开创性成果以来[8,18,33,56],,该领域发展成为一个丰富且仍在蓬勃发展的研究方向,证明了在多种场景下,互不信任的参与方可以安全地计算其输入的任意函数。文献中已研究了各种对抗模型、计算假设、复杂性度量和执行环境。然而,直到最近,几乎整个MPC文献都假定参与者通过完全图连接完全图,使得任意两个参与方可相互通信。

最近,Moran 等人 [52] 开始研究 拓扑隐藏计算(THC)。THC 针对的是网络通信图可能不完整、且网络拓扑本身是需要隐藏的敏感信息的场景。在此类场景中,目标是让各参与方仅通过观察其直接邻域,即可安全地计算任意函数(这些函数可能依赖于他们的秘密输入和/或底层的秘密通信图)。特别是,该计算过程不应泄露任何关于图拓扑的信息,除非这些信息已由输出所隐含。

拓扑隐藏计算在理论上具有重要意义,同时也受到现实场景的推动,在这些场景中,人们希望保持底层通信图的私密性。这些场景包括社交网络、ISP网络、车联网通信、无线和自组织传感器网络以及其他物联网网络。在这些应用领域中,存在许多关注网络图隐私性的实例,例如diaspora*项目[1],,其旨在提供一个以隐私为重要目标的分布式社交网络;又如文献[16,54]试图揭示ISP内部网络拓扑,尽管ISP希望隐藏这些信息;以及文献[25,45]致力于保护传感器网络路由中的位置隐私等。

现有的拓扑隐藏计算构造方案很少,且主要集中在半诚实攻击者模型中,在该模型下攻击者会遵循规定的协议。特别是对于半诚实模型,Moran 等人 [52] 的工作实现了针对具有对数直径的网络图的拓扑隐藏计算,其中直径是关于参与方数量的

基于不经意传输(OT)和公钥加密(PKE)的假设。1希尔特等人[42]改进了这些结果,依赖于DDH假设,但仍要求图具有对数直径。阿卡维亚和莫兰[3] 实现了其他类型图的拓扑隐藏计算,特别是小周长图。最近,阿卡维亚等人[2] 进一步将其扩展为基于DDH的通用图的拓扑隐藏计算。

在故障停止模型中,攻击者可能在任意时刻中止,但除此之外会遵循协议,目前已知的唯一构造来自[52],,其中他们实现了对非常有限的腐败和中止模式的拓扑隐藏计算:不允许攻击者腐败任何一个诚实方的完整邻域(即使是较小的邻域),也不允许其采用会断开图连接的中止模式。该结果伴随着一个下界证明,表明在故障停止模型中拓扑隐藏计算是不可能的(该证明利用了通过中止来断开图连接的攻击者)。

在本文中,我们进一步探索了拓扑隐藏计算(THC)的可行性边界。在半诚实模型中,我们研究了实现THC所需的最小计算假设;在故障停止模型中,我们研究了必要泄露的下界和上界。我们所有的上界都针对具有任意腐败模式(包括多数不诚实)的任意图的THC。在停机故障设置中的安全性概念是“带中止的安全”,即允许攻击者在收到协议输出后中止诚实方。

1.1 我们的结果

我们经常通过拓扑隐藏广播(THB)这一特例来描述我们的结果,其中一方将输入广播给所有其他参与方。我们注意到,我们的所有结果既适用于THB,也适用于THC(针对任意功能)。通常情况下,可以使用标准技术将THB用于实现任意函数的THC;特别是对于我们的上界协议,这些协议可以很容易地修改为直接实现任意功能的THC,而非广播。

下界。 我们首先探讨在半诚实模型中实现THB所需的最小假设是什么。我们的答案是,至少需要不经意传输(OT)(即使对于小图也是如此)。具体而言,我们证明了:

定理(非正式): 如果存在一个针对半诚实对手实现拓扑隐藏广播的四方协议,则存在一个实现不经意传输的协议。

需要注意的是,在没有拓扑隐藏要求的情况下,实现广播是平凡的:在半诚实情况下可以无条件实现,以及在带中止的安全性下实现停机故障情况。实际上,该平凡协议(有时称为“泛洪”)包括在足够多的轮次(与图的直径相同数量的轮次)内,传播从邻居在上一轮收到的所有信息,并在出现任何不一致时中止。

我们之前提到了[52],的研究结果,他们证明了在故障停止模型中实现拓扑隐藏计算是不可能的,因为任何故障停止模型中的协议都必然存在一定的非可忽略的泄露。接下来,我们改进了他们的攻击方法,以刻画(并放大)协议的泄露量,该泄露量是参与方数量量nn和通信轮次r的函数。我们通过泄露预言机来建模协议的泄露,该预言机作用于各参与方的输入(包括图拓扑),并在理想世界模拟器可用时进行评估,并称一个协议具有(δ,L)‐泄露,如果模拟器仅以概率 L访问 δ其随机性。2

特别是,我们展示了以下内容:

定理(非正式): 对于任意泄露预言机 L(即使该预言机完全揭示所有输入),存在 r-轮次、n-参与方 THB 且具有 (δ,L)-泄露,意味着 δ ∈Ω(n/r)。

即使所有参与方都能以任意功能作为预言机进行访问(如下文所述的安全硬件盒假设的情况),该定理仍然成立。这改进了以这种方式分析时对应于 δ ∈Ω(1/r)的[52],界。

上界。 我们首先注意到,对[52]中的构造进行修改后,可以仅使用不经意传输(OT)实现半诚实设定下对数直径图的拓扑隐藏计算(THC),而无需像原始工作那样同时使用OT和PKE。这一结果与我们之前的下界相匹配,表明在低直径图的情况下,当且仅当存在不经意传输时,才能实现拓扑隐藏计算。

我们的主要上界结果是在停机腐败、多数不诚实设定下,针对任意图结构和腐败方的拓扑隐藏计算构造,并且(由于泄露是必要的)具有几乎无泄露。我们有两种版本的方案。第一种方案需要O(n²)轮次(其中n是参与方数量的上界),最多泄露一比特关于图拓扑的信息(即,在给定单输出比特泄露预言机 L的情况下可模拟)。所泄露的这一比特信息是关于某个特定参与方在计算的某一时刻是否已中止。该信息可能依赖于图拓扑。

然后,我们将上述方案扩展到一个具有任意小的逆多项式泄露 δ 的随机化方案,轮次为 O(n³/δ);更具体地说,针对单比特输出预言机 L 实现 (δ,L)‐泄露。此处来自 L 的泄露还包括关于某个指定参与方是否在计算的某一特定时刻中止的信息。然而,粗略而言,该协议的设计使得该比特仅当攻击者选择在某个特定的“幸运”轮次(随机选定并在协议执行期间保持隐藏)获取此信息时,才依赖于图拓扑,因此这种情况发生的概率很低。

我们还指出,我们方案的一个更简单版本在半诚实模型下(针对任意图和任意腐败模式)实现了完全安全性(无任何泄露)。此外,我们利用更强的假设,在半诚实模型下实现了接近最优的轮数复杂度——该协议在O(diam(G)) 轮次内运行(其中 diam(G) 是通信图G 直径的上界),并可直接计算任意功能(任何广播协议至少需要 diam(G) 轮次)

轮次,否则信息可能无法到达图中的所有节点)。相比之下,之前唯一适用于一般图的拓扑隐藏计算协议[2]需要 Ω(n³) 轮次才能完成一次广播;而计算更复杂的功能则需要在此基础上再叠加一层多‐party计算。

我们的方案依赖于单向函数(OWF)的存在性,以及一种 securehardware box,它是一个无状态的“黑盒”或预言机,内部包含一个在协议开始前分发给每个参与方的固定秘密程序。接下来我们将讨论这一基本假设的含义及其影响,但首先我们总结一下我们的主要上界结果:

定理(非正式): 如果单向函数存在,并且给定一个安全硬件盒,对于任意 n-节点图G和多项式时间可计算函数f,
–存在一个针对多项式时间失效停止型对手的高效拓扑隐藏计算协议,用于计算f,该协议最多仅泄露关于G的一比特信息,并且需要O(n²)轮次。
– 对于任意逆多项式 δ,存在一个针对多项式时间失效停止型对手的高效拓扑隐藏计算协议,用于计算f,该协议最多仅泄露 δ比特关于G的信息,并且需要 O(n³/δ)轮次。

我们注意到,第一个结果给出了一个 n参与方、r轮次的协议,其泄露量为(O(n²/r), L),而我们的下界结果表明(o(n/r),L)‐泄露是不可能实现的。缩小这一差距被留作一个引人入胜的开放问题。

关于安全硬件盒假设

安全硬件盒是一种具有固定、无状态秘密程序的预言机。这类似于卡茨 [46] 为实现可组合安全的多方计算而引入的 防篡改硬件令牌 概念,并已在多种场景下的后续研究中被广泛使用,包括使用有状态和无状态令牌的情况(参见 [15,20,37] 及其中引用的文献)。

硬件盒类似于无状态令牌,但在假设强度方面两者无法比较。一方面,硬件盒更弱,因为我们假设硬件盒的设置是诚实的(由一个不需要知道图的拓扑结构、但需要生成密钥并嵌入正确程序的参与方完成),而硬件令牌通常允许被恶意生成(尽管此前也考虑过由诚实方式生成的安全硬件的其他概念,例如 [19,43])。另一方面,硬件盒更优,因为与使用令牌的协议不同,它在协议执行过程中不需要被传递,且各参与方无需将自己的程序嵌入到硬件盒中:在协议开始之前,所有硬件盒中都写入了同一个程序。

与之前在UC框架下使用安全硬件的情况(我们知道某些设置假设对安全性是必要的)不同,我们没有理由相信实现拓扑隐藏计算(THC)需要强设置(更不用说硬件预言机)。然而,我们认为即使存在安全硬件预言机,设计THC协议的许多核心问题依然存在。例如,在此设定下,泄露的下界仍然成立。特别是,我们的硬件假设并未使问题的解决变得平凡(事实上,在某些方面证明变得更加困难,因为即使是半诚实对手也可能“恶意地”查询预言机)。我们希望,在构建该协议以及证明其正确性过程中所使用的新颖技术,最终将有助于构造出一个协议

在标准模型中。我们注意到,这种范式在密码学中很常见:协议首先通过使用一个有用的“硬件”预言机来构建,然后寻找方法将硬件假设替换为更标准的假设。例如普遍存在的“随机预言机”,以及与我们的假设更为相似的硬件假设,比如最初用于构造可验证数据方案(PCD方案)的签名卡假设[19]。(签名卡包含一个固定程序和一个密钥,可以看作是我们安全硬件假设的一个具体实例。)

因此,可以将我们的上界结果视为向标准模型中的协议迈出的一步。同时,我们将该假设表述为“安全硬件”是刻意为之,而物理硬件最终可能成为实现拓扑隐藏计算协议最实用的方法。由于我们的功能是固定的、无状态的,并且对所有参与方都相同,因此我们的安全硬件盒可以通过多种物理实现方式实例化,包括正在商品化硬件中广泛普及的通用“可信执行环境”(例如,ARM(TrustZone)和英特尔(SGX)都在其CPU中实现了各自的版本)。本文的完整版本讨论了通过使用SGX安全硬件实现拓扑隐藏计算的一种潜在实用方法。

未来方向

我们的工作留下了许多有趣的方向有待进一步探索,例如以下方向。
– 在诚实多数情况下获得更优的构造。
– 在故障停止模型中基于标准密码学假设实现拓扑隐藏计算(THC)。特别是,能否仅从不经意传输(OT)出发实现THC,以匹配我们的下界?
– 在停机故障设置下,THC的结果在某些方面让人联想到最优公平掷币的结果。特别是,在这两种情况下,如果不允许任何泄露或偏置,则存在不可能性结果,并且都有关于泄露量与轮数之间权衡的下界和上界(参见[22–24,51])。探索THC与公平掷币之间是否存在形式化联系,以及这种联系是否能为THC带来更紧的界,将是非常有意义的。
– 针对恶意敌手安全的THC是一个显而易见的开放问题,据我们所知,此前尚无工作对此进行研究。我们的结果能否扩展到实现恶意环境下的安全性?更一般地,安全硬件盒是否有助于实现恶意安全的THC?

1.2 技术概述

我们的上界协议的出发点与先前的THB构造[3,42,52]所基于的出发点相同:考虑一种平凡泛洪协议,该协议通过反复将广播的比特传播给所有邻居,直到传达至所有人,从而实现广播,但不提供拓扑隐藏。该协议的一个问题是,节点接收到的消息会泄露大量关于图的拓扑结构的信息(例如,到广播者的距离)。先前的研究通过加密来缓解这一问题。

通信,并且要求所有节点在每一轮中都发送一个比特:广播节点发送其比特,其他节点发送0;每个节点将所有输入比特进行或操作,然后在下一轮将其转发给邻居。然而,这引出了如何解密该比特以获得最终结果的问题。先前的研究在解决此问题的技术上有所不同(使用嵌套MPC、同态加密,或受混洗网络或洋葱路由启发的方法来实现渐进式解密等),而不同的技术意味着对支持该解决方案的允许图拓扑(或腐败模式)有不同的限制。

我们同样从尝试实现泛洪这一起点开始。然后使用安全硬件盒,其中包含一个相关的密钥,使其能够处理加密输入(从图的不同部分传播的部分转录),并在下一轮次中生成进一步传播的加密输出,同时在最后解密输出。然而,由于停机故障设置以及硬件盒本身的存在,我们面临一些新的技术挑战。

首先,停机故障设置带来了重大挑战(实际上可以证明这必然导致某些泄露)。直观上,攻击者的中止行为将影响诚实方的行为(例如,如果一个诚实方在其直接邻域内因中止而被隔离,则他们将无法通信,不得不中止而不是产生输出;诚实方的中止行为反过来可能向攻击者提供有关图拓扑的信息)。硬件盒将有助于检查部分转录的一致性,并帮助诚实方管理在协议结束时何时以及如何披露其中止输出的计划。

第二个困难来源在于攻击者可以随意使用安全硬件盒。即使在故障停止(或甚至是半诚实)的设定下,这也使得攻击者的行为可能具有恶意行为。事实上,由于每个参与者都有自己的硬件盒,且该硬件盒是无状态的,攻击者可以在不同的部分转录、中止或非中止行为等情况下,向这些硬件盒输入任意输入来运行它们,从而试图获取有关图拓扑的信息。这带来了一系列挑战,使得安全性证明变得更为复杂且相当微妙。

我们方案的概述

回顾一下,信息泄露的核心来源是各参与方是否中止的值,这些值由攻击者引起的停机故障中止所决定。我们构造的第一个想法是通过确保对于任何停机故障中止策略,仅有一个参与方的是否中止的值依赖于图拓扑,从而将泄露量限制为一个单比特。这是通过为每个参与方指定一个特殊的“阈值轮次”Ti实现的:如果参与方Pi在第Ti轮之前得知图中某处发生了中止,则他在协议结束时输出中止;而如果他在该轮次之后才得知中止,则他将输出正确的比特值。通过充分分离这些阈值轮次,并利用中止消息会在n轮内传播到所有节点(与图拓扑无关)这一事实,我们可以保证任何给定的中止结构将以依赖于拓扑的方式,仅在一个单一参与方的阈值轮次之前或之后到达。

请注意,在上述情况下,如果阈值轮次 Ti 是已知的,则存在一种对抗策略,确实会泄露关于拓扑的一个完整比特。为了获得任意

少量泄露 δ,我们通过将每个参与方的“区域”扩展为包含O(n/δ)个可能的阈值轮次来修改上述协议。每个参与方的真实阈值在协议执行期间被(伪)随机确定,并且对参与方自身也是隐藏的(他们只能从各自的安全硬件盒中看到加密状态向量)。因此,攻击者成功对任意单个参与方的阈值轮次发起信息泄露攻击的概率将下降 δ/n倍;由于该攻击可以通过跨多个参与方的区域进行放大,整体获胜概率将与 δ相当。需要注意的是,基于我们的泄露下界,为了减少泄露而增加轮次是预料之中的。

我们解决方案中更为微妙且复杂的部分在于模拟策略,特别是针对对抗方对硬件盒进行任意本地查询时的输出模拟。从高层角度来看,模拟器将维护一组与查询序列相对应的图结构(其中先前盒子查询的输出作为后续盒子查询输入的一部分),并识别出必须向泄露预言机发出查询的一组特定条件。详见下文的详细描述。

模拟策略概述

模拟几乎完全由对硬件盒的查询应答构成。由于来自硬件盒的中间输出是加密的,主要难点在于确定如何应答对应于协议最后一轮的查询:即输出 ⊥(中止);广播比特;或其他内容,具体取决于关于图的部分泄露信息以及仅有的被攻破方的局部邻域信息。

模拟器使用一种数据结构来跟踪对硬件盒的查询与先前查询输出之间的关系。在现实世界中,这种关系由认证加密方案的不可伪造性保证。模拟器可以利用该数据结构来判断某个查询是否部分“衍生”自诚实方(已模拟)的消息,并且还可以确定连接到期望输出节点的非诚实方所使用的初始化。

其中一个主要难点在于,即使是半诚实对手也可以以恶意方式在其硬件盒上进行本地查询:将新的初始化与诚实记录的片段以新颖的方式组合,或以多种不同的模式中止。证明的大部分内容都致力于说明所有这些情况都可以被模拟。

在此过程中利用的一个关键事实是,如果协议给出了任何输出,那么所有诚实节点在第n轮次(图的最大直径)都必须具有包含图、输入、会话密钥等完整信息的加密状态。因此,如果将这样的诚实状态以显著偏离真实协议评估的方式与其它状态混合,则真实的硬件盒将不会给出明文输出。

一个额外的复杂之处在于,根据模型要求,硬件盒需要处理各种中止序列。此外,在特定中止时机之后接收到的输出类型本身就会泄露有关拓扑的信息。然而,模拟器必须在不发起额外泄露查询的情况下决定输出行为。在这里,诚实消息本质上会将攻击者“锁定”在与真实协议评估中的中止“一致”的中止行为上。(例如,攻击者可以通过假装某个节点的所有邻居均已中止,从而在该节点的输出已得到保证后对该节点进行“快进”。)

诚实消息还有助于重放攻击,因为它们使得模拟器只需考虑腐败节点的连通组。如果在现实世界中两个节点被诚实节点隔开,那么当协议以局部一致方式进行重放时(除中止情况外),其中一个节点不会向另一个节点传递新的中止信息。(如果协议不是局部一致的,则该查询的任何后代都不会产生明文输出。)

最后,如果某个查询没有任何诚实的祖先,模拟器可以基于其已知的所有初始化信息轻松地模拟输出。

简而言之,证明中的难点源于输出依赖于拓扑和中止结构,而失效停止型对手可以在协议完成后利用其盒子实质上模拟协议的恶意执行,以试图获得更多的拓扑泄露信息。然而,模拟器最多只能查询一次泄露预言机。因此,在协议评估过程中,其查询泄露预言机的具体时机非常关键:如果查询过早,攻击者可以通过中止其他节点以无法模拟的方式改变输出行为;如果查询过晚,则攻击者可以快进以无法模拟的方式获取输出。此外,对于所有重放攻击场景,必须知晓输出行为,而在此类场景中模拟器仅拥有不完全的初始化信息(使用了诚实记录的部分内容)。因此,我们不得不考虑复杂的 一致性条件 ,以将攻击者约束到特定的评估过程(除中止外),并证明这些条件在仍然允许攻击者利用硬件主动actively攻击协议的前提下,能够有效约束攻击者。

1.3 相关工作

我们已经在上文讨论了计算设置下拓扑隐藏计算的前期工作[3,42,52],这些工作与我们的研究最为相关。

拓扑隐藏计算早前也在信息论设定下被欣克尔曼和雅科比 [41] 研究过。他们给出了一个不可能性结果,证明任何信息论的THC协议都会向对手泄露信息(大致而言,当图中两个非邻居节点进行通信时,某个参与方将能够得知自己位于它们之间的路径上)。他们还提供了一个上界结果,实现了泄露网络路由表但不泄露图的其他任何信息的信息论THC。

还有其他一些研究方向与不完整网络上的通信相关,但这些研究处于不同的背景下,并非以隐藏拓扑为目标。例如,有一系列工作研究了在(已知的)不完整网络上实现可靠通信的可行性(参见[4,5,7,10,14,26–28,48])。最近的一些研究则在少数场景下探讨了受限交互模式下的安全计算,其动机在于提升效率、延迟、可扩展性、可用性或安全性。例如[6,11,13,36,38,39]。其中一些工作利用了参与方可使用的完全图中的秘密通信子图作为实现其目标的工具(例如[11,13]使用这一思路来实现通信局部性)。

早期将隐藏通信图选为已知更大图的子图的应用,出现在匿名通信和防御流量分析的背景下。其中尤为突出的是混洗网络和洋葱

路由技术([17,53,55]以及许多后续工作),这些也启发了一些近期的拓扑隐藏计算技术。在密码学中,关于使用安全硬件的研究有着悠久的历史,其形式多样,有的假设诚实生成、状态、完全防篡改等,有的则不作此类假设。这一研究方向可以追溯到oblivious RAM的概念([34]及许多后续工作)。卡茨 [46]在UC 安全计算的背景下引入了硬件令牌的概念,该概念已被广泛应用于后续诸多研究中(例如 [15,20,37] 及其他大量工作)。硬件令牌的一些变体由可信设置诚实生成,包括签名卡 [43],、可信智能卡 [40], 以及所谓的非本地盒 [9]。后者类似于全局硬件盒,由可信方诚实生成,并接收多个参与方的输入并产生输出 (与我们所定义的本地化硬件盒不同)。其他变体和放松条件还包括防篡改封条 [50],、一次性程序 [35],,以及允许一定程度篡改的一系列研究工作( [31,44]及后续研究)。最后,还有一系列研究利用其他物理工具来安全地执行密码学任务,包括[29,30,32]。

2 预备知识

2.1 安全硬件

我们将安全硬件盒建模为一个理想预言机,该预言机由一个无状态程序Π进行参数化。预言机查询 O(Π)(x)返回值Π(x)。我们的定义比标准的安全硬件令牌定义简单得多,因为所有参与方都可以访问相同的程序,并且它是无状态的——无需更复杂的功能来跟踪令牌的“物理位置”或其内部状态。

2.2 拓扑隐藏计算

[52]的工作提出了拓扑隐藏的两种形式化概念:一种是基于模拟的定义,另一种是较弱的基于不可区分性的定义。本文主要关注如下所述的基于模拟的定义。然而,我们的一些下界结果也适用于基于不可区分性的概念。

的定义在 [52] ‐混合模型中成立,适用于 Fgraph 功能(如图1所示),该功能从一个特殊的“图参与方”Pgraph接收网络图作为输入,并向其他每个参与方返回其邻居的描述。然后它处理参与方之间的通信,充当“理想信道”功能,使邻居能够彼此通信,而无需通过环境进行通信。

示意图0

由于 Fgraph向所有被攻破方提供图的局部信息,任何理想世界对手也必须能够访问这些信息(无论我们试图实现何种功能)。为了体现这一点,我们定义功能 FgraphInfo,它与 Fgraph相同,但仅包含初始化阶段。对于任意功能 F,我们定义一个“组合”功能(FgraphInfo||F),将 Fgraph的初始化阶段添加到 F中。现在我们可以在UC框架下定义拓扑隐藏MPC:

定义1(拓扑隐藏(基于模拟))。 我们称一个协议 Π在 Fgraph-混合模型中安全地实现了功能 F隐藏拓扑,如果它安全地实现了(FgraphInf o||F)。

请注意,此定义还可以涵盖实现依赖于图的功能的协议(例如,在具有相同输入的两个节点之间找到最短路径,或计算图中的三角形数量)。

2.3 THC的扩展定义

我们将拓扑隐藏计算的模拟定义扩展到半诚实模型之外,涵盖崩溃停止型腐败,并形式化了协议泄露程度的度量。

带有泄露的拓扑隐藏

我们考虑一种具有部分信息泄露的弱化拓扑隐藏概念。这通过允许理想世界模拟器访问一个反应式功能泄露预言机 L 来建模,其中协议所泄露的信息类型/数量由泄露预言机 L 的选择来刻画。例如,我们会说一个协议“泄露了”

如果在模拟过程中,对于某个最多输出1比特的预言机 L,该系统是拓扑隐藏的,那么它关于拓扑“仅泄露单个比特”信息。3

定义2(带 L-泄露的拓扑隐藏)。 我们说一个协议Π在 Fgraph-混合模型中安全地实现了功能 F以 L-泄露的方式隐藏拓扑,如果它在 Fgraph-混合模型中实现了(FgraphInf o||F ||L), 其中 L被视为一个理想的(可能是响应式的)功能,仅向被破坏方输出。

需要注意的是,上述功能(FgraphInfo||F ||L)在[12],的意义上并不是一个“良好形成的”功能,因为该功能的输出依赖于被破坏方的集合。然而,这种依赖仅限于向被破坏方提供的额外信息,因此不会引发[12]中提到的简单不可能性结果(实际上,它比(FgraphInfo||F)更容易安全实现)。该定义也可直接扩展到不同对抗模型下的拓扑隐藏,只需将 Fgraph替换为相应的功能(例如,对失效停止型对手使用 Fgraph-failstop;见下文)。

在分析下界以及考虑泄露的分数比特时,有时采用以下受限的(δ,L)‐泄露概念会更为方便,其中概率为 δ ∈[0, 1]。粗略地说,一个(δ,L)‐泄露模拟器仅被限制为以随机硬币选择的概率 δ使用泄露预言机 L。注意,这一概念与预言机 Lδ的 Lδ‐泄露密切相关,该预言机在内部掷硬币并以概率 δ决定是否响应L的输出。然而有趣的是,这两种概念并不等价:在本文的完整版本中,我们展示了存在某些 F、 δ ∈[0, 1]、预言机 L和协议Π的选择,使得Π是一个(δ,L)‐泄露安全协议,但不是 Lδ‐泄露安全的。就我们的目的而言,(δ,L)‐泄露将更为方便。

定义3(具有(δ,L)-泄露的拓扑隐藏)。 设 δ ∈[0, 1]和 L为一个泄露预言机功能。我们称协议Π在 Fgraph混合模型中安全地实现了功能 F,且具有(δ,L)-泄露的拓扑隐藏,如果它在满足以下性质的 Fgraph混合模型中实现了(FgraphInf o||F ||L):对于任意对抗性环境 Z,关于模拟器 S的随机硬币,以概率(1 − δ)成立,使得 S不会对 L进行任何调用。

在本文的完整版本中,我们证明了这种(δ,L)‐泄露的概念提供了可组合性的一种自然形式。

故障停止模型中的拓扑隐藏

我们现在定义攻击者必须遵循协议(如半诚实情况下)但可能导致节点失败时的安全性。考虑图 Fgraph-failstop 2中给出的功能 Fgraph ,它在半诚实模型中相当于。由于 Fgraph-failstop的初始化阶段(以及理想世界对应部分)与 Fgraph 的相同,我们将其记为相同的 F graphInfo。与之前一样,通信阶段由对 Fgraph-failstop的重复调用组成。通信阶段中的故障输入表示使某个节点失败,因此应仅由对抗方调用 (不属于正常协议操作的一部分)。

隐藏拓扑的可中止安全性

与标准的(非拓扑隐藏)多‐party计算一样,在允许主动攻击者的情况下,我们将安全定义放宽为可中止安全性。然而,在隐藏拓扑环境中存在一些特定问题,使得我们的可中止安全性定义略有不同。

在基于模拟的安全性向中止安全性的标准扩展中,我们向理想功能添加一个特殊的abort命令;当理想世界中的模拟器调用该命令时,所有诚实方的输出都将被替换为 ⊥。当通信图是完全的时,向任何协议添加此额外功能都是平凡的:如果一个诚实方从任意参与方收到一条abort消息,它将输出 ⊥(由于诚实方永远不会发送abort,这允许攻击者中止任意诚实方,但不会以其他方式改变协议)。

在隐藏拓扑环境中,仅此额外功能本身可能就已经太强而无法实现,因为根据中止发生的时间,“信号”可能没有足够时间到达所有诚实方。(事实上,这本质上就是[52]以及我们在第3.2节中泄露下界结果的核心所在。) 因此,当我们为拓扑隐藏计算定义中止安全性时,我们对理想功能进行扩展,增加一个更为复杂的 abort命令:该命令现在接收一个参与方列表作为输入(即 “中止向量”);只有这些参与方的输出会被替换为 ⊥,而其余参与方将照常输出。

注意,在UC模型中,环境会看到所有参与方的输出,包括诚实方。因此,为了安全地实现带中止功能的功能,模拟器必须确保模拟转录与诚实方的输出在真实世界和理想世界中是不可区分的。在拓扑隐藏的情况下,这意味着中止方集合也必须是不可区分的。由于在协议执行过程中一个参与方是否中止取决于图的拓扑结构,因此

为了确定中止向量,模拟器可能需要泄露预言机的帮助(在我们的情况下,这实际上是泄露预言机的唯一用途)。

定义4(停故障拓扑隐藏)。 我们称一个协议 Π在 Fgraph-f ailstop-混合模型中安全地实现了功能 F对失效停止型对手隐藏拓扑,如果它在允许中止的情况下实现了( Fgraph回Inf o想||F一)。下,针对失效停止型对手的通用拓扑隐藏计算是不可能的[52];因此我们考虑针对失效停止型对手具有在(δ,L)-泄露情况下的拓扑隐藏概念

定义5(具有泄露的停故障拓扑隐藏)。 我们称一个协议 Π在Fgraph-f ailstop-混合模型中可中止地实现功能 F,且对失效停止型对手实现(δ,L)-泄露下的拓扑隐藏,如果其满足如下性质:对于任意对抗性环境 Z,以模拟器 S的随机硬币的 概率(1 − δ)成立, S不会对 L进行任何调用。

3 下界

我们首先探讨拓扑隐藏计算协议可行性的下界。在这方面,我们提出了两个结果。首先,我们证明拓扑隐藏本质上是一个非平凡的密码学概念,即即使对于半诚实攻击者以及在不考虑拓扑隐藏时可轻松实现的简单广播目标而言,拓扑隐藏协议的存在也意味着不经意传输的存在。

然后我们转向故障停止模型,并针对实现广播的任何协议,就轮次和参与方数量的函数,给出了必须泄露的信息量的下界。这改进了[52],中的下界,后者仅表明会发生非可忽略泄露。

这两个结果仅依赖于广播协议在“合法”场景下的正确性保证,即单个广播者发送有效消息的情况。我们不对参与方提供无效输入集时协议的行为做任何假设。(特别是,在我们的下界分析中无需考虑这种行为。)

更正式地说,我们的下界适用于实现任何满足以下单广播者正确性性质的功能 F的 THC协议:

定义6(单广播者正确性)。 如果对于任意输入向量(b1,…,bn) ∈{0, 1, ⊥} n, 其中仅有一个输入 b := bi为非-⊥,该理想 n方 功能 F将把 b 输出给 Pi 所在连通分量内的所有参与方(而其他所有参与方无输出),则称其满足单广播者正确性。

3.1 半诚实拓扑隐藏广播蕴含不经意传输

考虑在给定的通信图上进行广播任务。如果参与方是半诚实的,且不要求拓扑隐藏,则该协议是平凡的:在每一轮中

每个参与方只需将广播值传递给各自的邻居;在n轮次内,所有参与方都保证能获知该值。然而,此类协议会泄露有关图结构的信息。例如,一个参与方接收到广播比特的轮次,恰好就是该参与方到广播者的距离。从表面上看,尚不清楚是否可以无条件

探索拓扑隐藏计算的边界

3 下界(续)

3.1 半诚实拓扑隐藏广播蕴含不经意传输(续)

考虑在给定的通信图上进行广播任务。如果参与方是半诚实的,且不要求拓扑隐藏,则该协议是平凡的:在每一轮中每个参与方只需将广播值传递给各自的邻居;在n轮次内,所有参与方都保证能获知该值。然而,此类协议会泄露有关图结构的信息。例如,一个参与方接收到广播比特的轮次,恰好就是该参与方到广播者的距离。从表面上看,尚不清楚是否可以无条件地调整此方法,或通过诸如对称密钥加密等工具加以改进,以隐藏拓扑信息。

我们证明了这种方案是不可能实现的。具体而言,我们表明,即使是半诚实拓扑隐藏广播(THB)也意味着存在不经意传输。即使对于基于不可区分性(IND-CTA)的拓扑隐藏安全性[52]这一较弱的安全定义也成立,因此直接对基于模拟的定义得出相同的下界。如上所述,我们的下界适用于任何满足单广播者正确性的功能的协议。

定理1(THB蕴含OT)。 如果存在一个n方协议,针对半诚实对手实现IND-CTA拓扑隐藏,且适用于任意具有单广播者正确性的功能F,则存在一个实现不经意传输的协议。

我们注意到,由于接下来的协议和证明对于IND‐CTA拓扑隐藏广播协议都是黑盒的,因此该证明在存在安全硬件的情况下仍然成立。

证明。 我们给出了一个半诚实安全双参与方计算OR功能的协议,该协议基于一个针对 n= 4个参与方的半诚实拓扑隐藏广播协议。这暗示了不经意传输[21,47,49]的存在性。

首先,注意到在半诚实模型中,任何长度消息(甚至单个比特)的拓扑隐藏广播通过顺序重复可直接推出任意长度消息的拓扑隐藏广播。

在安全OR计算协议中,两个参与方A、B分别以输入xA、xB ∈{0, 1}开始,并必须输出(xA ∨xB)。在我们的构造中,每个参与方A、B将在一个4参与方拓扑隐藏广播协议 Psh-broadcast的执行中模拟两个参与方,用于长度为 λ的消息:即A模拟PA0、PA1,而B模拟PB0、PB1,其中PA0、PB0作为邻居相连,PA1、PB1也类似地为邻居。参与方A、B各自仅当其协议输入比特xA、xB ∈{0, 1}为1时,才会在其自身的一对参与方之间模拟一条边。更正式地,该安全双参与方OR协议如图3所示。

我们现在为安全的两方计算协议展示一个模拟器。该模拟器接收输入安全参数 1λ、被腐蚀方C的输入xC(其中C ∈{A, B})、最终输出b ∈{0, 1}(等于xC与(秘密的)诚实参与方输入比特的或运算结果),以及辅助输入z。作为其输出, SA(1λ, xC,b,z) 模拟了 POR与攻击者 A交互的一次执行过程,同时模拟了未被攻破方C′ ≠ C ∈{A,B}的角色,但在模拟中使用输入b代替(未知的)输入x。C′

用viewPOR A(1 λ,(xA, xB),z)表示攻击者 A在协议 POR中,输入为xA,xB且辅助输入为z时的(实际)视图。

声明。 对于每个 xA,xB ∈{0, 1},非均匀多项式时间对手 A 和辅助输入 z,均有
(xA, xB, b, viewP OR A(1 λ ,(xA, xB), z)) ≈ (xA, xB, b,SA(1 λ , xC, b, z)).

证明。 首先注意到 POR的输出正确性成立,原因如下。根据 Psh-broadcast的单广播者正确性(注意确实存在单一广播者),在模拟执行中,广播者PA0所在连通分量内的所有参与方将输出字符串R。特别是,这包括PB0:即,out0B= R。相反,任何不在PA0的连通分量中的参与方,在模拟THB协议中的视图对于R的选择是信息论上独立的,因此其以可忽略的概率输出R。这意味着outA1和out1B等于R当且仅当在某个D ∈{A、B}下,x0D与x1D之间存在一条边:即,当且仅当(xA ∨xB) = 1。

在b= 0的情况下,模拟是完美的。在b= 1的情况下,上述现实世界和理想世界分布的不可区分性直接由 Psh-broadcast的选择拓扑攻击下不可区分性( IND‐CTA)安全性得出。具体而言,模拟对应于在图G上执行 Psh-broadcast,其中两个未被腐化的参与方PC′0,PC′1,之间存在一条边;而根据诚实输入xC′,的取值不同,现实分布对应于在该图G或去除了该边的图G′上的执行。因此,任何成功的区分器都将破坏挑战图G、G′的IND‐CTA安全性。

3.2 故障停止模型中信息泄露的下界

的工作[52]表明,在存在失效停止腐败方的情况下,任何广播协议都必然会对图拓扑产生非可忽略泄露。在下文中,我们扩展了这一下界,量化并放大了所泄露信息的量。

大致上,我们证明了任何实现带中止的广播的协议必然会在图拓扑上泄露Ω(n/R)比特的信息,其中n是参与方数量,R是协议的交互轮数。更正式地说,我们展示了一种攻击,能够以Ω(n/R)的优势成功区分两种不同的诚实参与方图结构。这尤其排除了对于任意泄露预言机 L,存在 δ ∈ o(n/R)的(δ,L)‐泄露拓扑隐藏的可能性。我们将此与我们在第4.2节中的协议构造进行比较,该构造在此模型下对单输出比特 L实现了(δ,L)‐泄露且 δ ∈ O(n2/R)。我们留下了一个引人入胜的问题,即如何填补这一差距。

该证明采用了一种增强版本的[52],攻击方法,要求攻击者仅控制4个参与方,并且只执行2次中止型故障。总体而言,参与方被排列成一条链,链的一端是广播者,中间有两个中止方,另外还有一个被腐蚀方,该被腐蚀方位于链上与广播者相同或相对的一侧。在攻击过程中,中间两个参与方之一在第i轮中中止,第二个中止方在接收到第一个中止方的中止消息后立即于第i+d轮中中止。因此,链一端的参与方仅观察到第i轮发生一次中止,而另一端的参与方则仅观察到第i+d轮发生中止。在[52]中表明,当一个参与方观察到中止发生在第i轮与第i+1轮时,其视图可被区分的优势为Ω(1/R),其中R表示轮数。

我们通过将两个中止方之间的距离分隔为Θ(n)而非距离1,从而改进了[52]。粗略地说,被腐蚀方在这两个位置的视图将与协议的第i轮或第i+Θ(n)轮中发生中止的情况一致(而在[52]中对应的是第i轮和第i+ 1轮),这可以证明产生的区分优势比在[52]中提高了 Θ(n)。

与第3.1节类似,我们的攻击不依赖于单个广播者范围之外的任何行为,因此适用于任何满足单广播者正确性的功能 F。此外,该证明仅要求协议是正确的,并且信息必须在网络拓扑上传播:即,在任何给定轮次中,每个节点只能向其相邻节点传输信息。因此,即使存在安全硬件(该硬件仅由本地持有,且不同参与方无法共同访问),该定理仍然成立。

定理2. 设 L为任意泄露预言机。则在中止失效模型中,不存在R轮n方协议能够安全地(允许中止)模拟广播,同时以拓扑隐藏且泄露量小于(δ,L)的方式实现,其中 δ ∈ o(n/R)。

证明。 设 P为任意一个如上所述实现带中止的广播的协议。我们构造一对图 G0,G1以及一种攻击策略 A,使得 A能够以优势 Ω(n/R)区分 P在G0与G1中的执行。然后我们证明这足以推出该定理。

两个图 G0,G1都是具有 n个节点的线图。在图 G0,中,参与方按顺序排列(即,Pi的邻居是 Pi − 1和 Pi+1 )。在图G1,中,参与方也按顺序排列,但有以下变化:参与方 P3,P4,P5(位于节点3、4、5 的 G0)现在分别位于节点 n−2、n−1和 n;相应地,参与方 Pn−2、Pn−1和 Pn(位于 n − 2、n − 1和 n的 G0)现在位于节点 3、4、5。

攻击者 A将攻破:位于位置1的参与方 P1(在两个图中始终位于位置1),我们将其记为 B广播者;参与方 P4(在G0中位于位置4,在n− 1中位于位置G1),我们将其记为 D“侦探”参与方;以及位于固定位置7,n − 4的参与方 P7和 Pn−4,我们将其记为 A1和 A2,即中止方。为了表示简便,在后续分析中,我们将 可能位于的位置4和n−1记为v,v′。我们进一步将中止方A1与A2之间的距离(n −4) −7记为m;注意,m ∈Θ(n)。

注意,在G0和G1中,所有被攻破方的邻居都是相同的(这是除了移动参与方P3,之外,还要移动未被腐化的参与方P3,P5,并保持相关被攻破方集合之间存在间隔的目的)。

我们定义两个事件:
Ei:=首次中止发生在第i轮次的事件,由A1或A2引起
Hv,b:=事件表示位于节点 v 的参与方输出正确的广播比特 b
(这取决于所运行的协议和图)

根据 P的(单广播者)正确性,对于每个广播比特b,必须满足Pr[Hv,b|ER]= 1:即,如果节点A1或A2在最后一轮中止,则中止消息不会传达到节点v,在此情况下,相应的参与方必须以与未发生中止时相同的方式(正确地)输出。

通过信息论论证,对于v′,必然存在某个b ∈{0, 1}的选择,使得Pr[Hv′,b|E1] ≤ 1/2成立。回顾一下,v′位于中止方的对端,相对于广播节点B而言。

结合以上两个陈述,成立 ∃b ∈{0, 1},使得我们有 Pr[Hv,b|ER]−Pr[Hv′,b|E1] ≥ 1/2。

通过错位相减法和鸽巢原理,必然存在某个介于m轮次与1之间的R轮次阶段,其包含至少(m/R)的该质量:
∃b ∈{0, 1},∃j ∗ ∈[⌊mR⌋] s.t.
⎧⎪⎨⎪⎩ Pr[Hv,b|Ej∗m]− Pr[Hv′,b|E(j∗−1)m] ≥ m / 2R,
or Pr[Hv′,b|Ej∗m]− Pr[Hv,b|E(j∗−1)m] ≥ m / 2R.
(1)

我们现在利用这些事实来描述一种攻击。

攻击。 考虑一个带有以下信息的非均匀 A攻击者b ∈{0, 1}和j ∗ ∈[⌊R/m⌋](来自公式(1)),以及当前处于两种情况中的上部还是下部(在这两种情况下, v和 v′的角色互换)。假设暂时处于第一种情况。 A操作如下:
1. 从 n个参与方中攻破参与方集合 {B,A1,A2,D}。
2. 如实执行协议 P,直至轮次 (j ∗ − 1)m。在此执行过程中,参与方 B以输入广播比特 b进行初始化,所有其他被模拟的参与方则以输入 ⊥ 初始化(即不进行广播)。
3. 在轮次 (j ∗ −1)m 时,中止参与方 A2。随后继续如实模拟所有其他被攻破的参与方,持续 m 轮次。
4. 在轮次 j ∗m 时,中止参与方 A1。
5. 继续如实模拟所有其他被攻破的参与方,直到协议结束。记“侦探”参与方 D 的协议输出为 outD。
6. A 输出 outD ⊕b。

如果我们处于公式(1)中情况2的设定,则攻击是相同的,只是在步骤2中A1和A2的角色互换。

声明。 A在图G0和图G1上对执行 P进行区分,其优势为Ω(n/R)。

证明。 该论证的结构与[52]类似。不妨假设我们处于等式(1)的情况1。(情况2以完全对称的方式处理。)回想一下,中止方A1,A2彼此之间的距离为m。这意味着A1在某个轮次 (j ∗−1)m中止,那么其左侧参与方的视图(特别是节点v= 4处的参与方)与事件E(j ∗−1)m中的视图相同。然而,有关此次中止的信息至少需要m轮次才能传递到A2右侧的参与方;因此,由于A2已经在该轮次j ∗m中止,A1的中止永远不会被A2右侧的参与方(特别是节点v′= m − 1处的参与方)观察到,这些参与方的视图将与事件Ej ∗m一致。

如果执行发生在G0,上,则D位于节点v,否则它位于节点v′。因此,攻击者 A 的优势恰好为 Pr[Hv,b|Ej∗m]−Pr[Hv′,b|E(j∗−1)m] ≥ m / 2R。

现在,假设 P以(δ,L)‐泄露安全地实现了 FshBC隐藏拓扑,其中针对某个泄露预言机 L。考虑由运行(δ,L)‐泄露模拟器 S所生成的分布 ⊥,但在 S的随机性表明其将查询泄露预言机的情况下中止并输出 ⊥。根据构造,对于任意固定的实输入(即诚实图), S′与正确模拟的分布 S(可访问泄露 L)之间的统计距离被 δ所限定。特别地,S′与 SL(G0 )和 SL(G1 )(分别表示对相应图G0,G1的泄露的预言机访问)的统计距离均在δ以内。根据协议所假设的(δ,L)‐泄露模拟安全性,对于b= 0,1, SL(Gb )在计算上不可区分于 P在Gb上执行时的攻击者视图。结合这些步骤,我们看到没有任何高效攻击者能够以显著优于 δ的优势区分 P在图G0和G1上的执行。

因此,结合声明3.2可得 δ必须以δ ∈Ω(n/R)为下界。

4 上界

在本节中,我们观察到不经意传输可推出小直径图上的半诚实拓扑隐藏计算,然后提出了两种利用安全硬件实现对失效停止型对手具有安全性的拓扑隐藏广播构造。

半诚实拓扑隐藏计算在小直径图上的构造是[52]中给出的协议的一个修改变体。

首个在中止情况下最多泄露一个比特的抗失败停止安全拓扑隐藏广播协议,通过利用一种分层结构实现,其中该协议被分解划分为与参与方相关的时期。如果在一个时期结束时通信网络仍然完好,相应的参与方将在协议结束时获得输出。如果网络不再完好,该参与方将无法接收到广播比特。在某个时期内中止可能会泄露关于中止参与方到该时期对应参与方之间距离的一些信息。但在下一个时期,所有参与方(或更准确地说,他们的安全硬件)都将知晓网络已被破坏,此后所有时期都不会再向其对应的参与方产生输出。

第二个协议是对第一个协议的简单修改,它将每个周期扩展为许多更小的时期。实际决定参与方输出的时期由安全硬件随机(且秘密地)选择。因此,除非首次中止发生在这个时期(泄露一个比特),否则所有参与方(即它们的安全硬件)将独立于网络拓扑,就网络已中断及其输出达成共识。因此,仅以与时期数量成反比的概率泄露一个比特。

4.1 不经意传输蕴含半诚实拓扑隐藏计算(针对小直径图)

对于小直径图的半诚实拓扑隐藏计算,实际上等价于不经意传输。这一点源于对[52]的基于多方计算的协议的一个微小修改。回顾一下,[52]的高层方法是一种递归构造:

– 在基础层,节点运行(不安全的)或与转发协议,不同之处在于每个节点都有一个公钥加密方案的密钥对,并且每个来自其邻居发往节点 i 的消息都使用 pki 进行加密。

– 递归步骤是用每个节点的局部邻域(该节点及其所有直接邻居)中的多‐ party计算协议替换每个节点,使得其内部状态仅在整个邻域共谋时才会被泄露。这些多‐party计算的通信模式均为星型。由于叶节点无法直接通信,它们必须通过中心传递消息。为了模拟私有信道,叶节点首先交换公钥加密的公钥(我们处于半诚实模型中,因此中间人攻击不相关),然后使用公钥加密方案对它们之间的消息进行加密。

注意,该多‐party计算模拟了节点的下一条消息函数。所有节点接收来自上一轮的状态的秘密共享作为输入,并输出更新后的状态的秘密共享。此外,中心节点的输入包含从其邻居在上一轮接收到的消息列表,其输出包含在此轮次发送给其邻居的消息列表。在多‐party计算执行结束时,中心节点将其消息发送给其邻居(这些邻居将在下一轮的多方计算执行中将其作为输入的一部分使用)。

这种结构是要求对基础层节点的消息进行加密的原因——多‐party计算无法向中心节点隐藏消息本身,因此如果消息未加密,隐私将遭到泄露。

我们将用密钥协商协议和对称加密方案替换公钥加密方案。由于OT的存在蕴含了这两种基本构件,因此得到的协议可以基于OT构建(我们注意到,这与不经意传输的构造不同)

从THB来看,该构造在不经意传输原语中不是黑箱的——递归步骤将需要对不经意传输进行非黑箱访问。

在基础步骤中,每个节点将与其所有邻居执行密钥协商协议,而不是使用公钥加密方案。此后,pi发送给直接邻居pj的消息将使用它们的共享密钥进行加密(采用对称加密方案)。这确保了对于无法访问pi或pj任一节点状态的攻击者而言,两者之间的消息与随机数据不可区分。

对于递归步骤,我们对叶节点执行相同的操作。也就是说,每一对叶节点 pi、pj 将使用中心节点传递消息,执行密钥协商协议。此后,在多‐party计算协议中它们之间的私有通道将通过使用共享密钥加密消息,并经由中心节点传递这些消息来模拟。

4.2 针对失效停止型对手的构造

本节提出的两种防故障停止协议均实现了广播的标准概念。先前考虑的广播功能是根据网络拓扑(特别是其连通分量)定义的。此后,我们将假设网络(在发生故障前)是完全连通的。

定义7 (FBC)。 理想n方广播功能 FBC根据每个参与方Pi输入的bi ∈{0, 1, ⊥},其输出行为定义如下:如果恰好有一个b:= bi是非-⊥,则 FBC向所有参与方输出b;否则,所有输出均为 ⊥。

泄露一比特的协议

我们提出了一种在存在一比特泄露的情况下,针对失效停止型对手和静态腐败具有安全性的拓扑隐藏广播协议。我们假设存在一个安全硬件盒和单向函数。我们还注意到,本文提出的协议在无任何泄露的情况下对半诚实攻击者也是安全的。

在下文中,我们将参与方视为网络所有节点集合 [n] 中对应的节点。

我们的协议有两个主要阶段:
1. 图收集 : 收集图、输入和别名的描述。此阶段运行的轮数与网络直径成正比。任何参与方在此阶段中若检测到中止,将在最后一轮中使该部分中止。
2. 一致性检查与中止隔离 :检查一致性并输出。该阶段包含若干个子阶段,对应于参与方的数量n。

每个子阶段运行的轮次与网络规模成正比。在子阶段 i 期间,参与方i如果所看到的首次中止发生在该子阶段或之后,则将不再中止。然而,参与方 {i+ 1、 i+ 2、⋯⋯、n} 中任意一方观察到的中止仍会导致该参与方在最后一轮中止。

其直观含义是,如果任何参与方在某个子阶段中止,则所有未中止的参与方都保证在下一个子阶段结束前知道发生了中止。

到子阶段n时,如果没有观察到中止,则所有诚实方都将正确输出,而不管后续的中止行为。

硬件盒除了初始化和最终输出外,将接收并输出参与方当前“状态”的认证加密形式。在第 i 轮之后,参与方 Pu 在会话密钥 ku 下的明文状态,记为 sui,包含以下信息:

– 参与方的别名:idu,一个在初始时选择的随机 λ长度字符串。
– 轮次数:iu。
– 当前对图的“知识”:Giu。
– 当前对输入的“知识”:mui=(mui1,, . . . , muin,)。
– 当前对会话密钥的“知识”:skui=(skui1,, . . . , skuin,)。
– 首次发生中止的轮次:aiu。
– 指示在之前轮次中是否有邻居已中止的标志:biu:=(biv1, . . . , bivd)。(此信息并非严格必要,但在证明安全性时较为方便。)
– 中止标志:α。

我们现在定义嵌入在硬件盒中的Cfs功能。如上所述,我们将网络位置(通常表示为u或v)视为[n]的元素。状态信息表示为字母表 Σ={0, 1,?⊥}上的向量。我们用ei(x)表示所有分量均为?的向量,其中第i个位置为x(向量的长度应根据上下文明确,除非另有说明)。如果该向量实际上是一个m×n矩阵,则我们用ei(x)表示所有行均为?n的向量,除了第i行包含x ∈ Σn。网络(图)以邻接矩阵表示,其中?表示未知部分, ⊥s表示错误或不一致。特别地,u的闭邻域N[u],是一个n× n矩阵,其第u行为u的邻接向量,其余位置为?。令H : 2Σm → Σm表示按分量“累积”算子,其中第i个输出符号,对于i ∈[m],,定义如下:

HiX:=
⎧⎪⎪⎪⎨⎪⎪⎪⎩
1 if ∃x ∈ X ∈[k]: xi= 1, and ∀y ∈ X: yi ∈{1,?}
0 if ∃x ∈ X: xi= 0, and ∀y ∈ X: xi ∈{0,?}
? if ∀x ∈ X: xi=?
⊥ otherwise

最后,设 R= n(n+ 2)+ 1(最终轮数)(图4)。

设 L 表示关于网络拓扑泄露一位的高效泄露函数类。

定理3. 协议 Ffs-broadcast topology hiding 在静态腐败情况下,相对于 L泄露实现了广播。

备注1. 通过观察到泄露预言机仅在中止事件发生时由模拟器使用,该协议 Ffs-broadcast 对无泄露的概率多项式时间半诚实攻击者是安全的。

正确性。 假设没有发生中止,正确性可以通过对轮次进行归纳得出。经检查,在无中止的情况下,诚实评估时局部一致性检查将通过。显然,在第i轮结束时,加密广播消息将传达到所有与广播者距离不超过i的参与方。因此,在第n+ 1轮时,所有参与方都将收到该消息。类似地,在第n+ 1轮时,所有关于网络和别名的局部描述也将传达到所有参与方。此外,不会触发任何中止标志。因此,在最后一轮R中,全局一致性检查将通过,所有参与方都将接收到广播消息。

通过检查可以很容易地看出,如果评估是半诚实的且可能发生中止,则每个参与方将输出唯一的非‐⊥输入,或中止(图6)。

安全性。 我们首先粗略概述模拟及其有效性,完整版本中给出了安全性的证明。

关键在于,对内部状态的认证加密使得攻击者既无法伪造状态,也无法获取关于其内容的任何信息。由于模拟器可能对图拓扑掌握不完整信息,这使其能够发送虚假状态,并简单地以与真实协议一致的方式输出。此外,不可伪造性使模拟器能够完全掌握在查询盒子时所使用的任何初始信息,以及这些查询之间的关联方式(特别是它们是否一致)。

证明中的难点在于应对“重放”攻击,即攻击者以恶意方式将诚实节点的信息与其他初始化信息进行组合。会话密钥有助于防止攻击者以未被攻破方的身份,使用修改后的局部拓扑进行重放。此外,收集阶段意味着在第n轮之前,诚实节点已掌握执行过程中所使用的完整拓扑和初始化信息。因此,当这些信息之后与不完全匹配该执行过程的初始化信息结合时,此类恶意攻击者所能获得的唯一明文输出为 ⊥。综上所述,模拟器仅需在查询结构几乎完全匹配执行过程(最多存在一些局部中止)时提供输出。这意味着即使模拟器对网络拓扑的知识不完全,仍可提供与真实执行相同的输出。

模拟中的一个危险是,如果攻击者腐蚀了距离某个给定节点r范围内的所有节点,则其拥有的信息足以将该节点“快进”,以获取接下来r+ 1轮次的程序输出。此外,在某个节点的阈值轮次发生后,攻击者可以中止该节点的所有邻居,并自行迭代剩余的轮次以获得输出。然而,我们证明了模拟器将始终拥有足够的信息来欺骗此类攻击者。

对于每个参与方Pu,生成(n+ 2)n个0的随机加密。这些将构成就半诚实评估而言与查询一致的被攻破方向诚实方发送的消息,以及预言机的输出。

• 模拟预言机会将攻击者的所有查询记录在一个数据结构中,包括给出的输出以及它们之间的关联方式(我们将在完整版本中进行解释)。其思想是,“有效”的输入将在最后一轮之前返回更多关于0的加密。然后,模拟器将利用该数据结构,结合执行过程中使用的初始化查询和单比特泄露信息(假设执行过程中发生了中止,如下所述),确定适当的输出。我们将在完整版本中更详细地描述硬件盒程序的模拟过程

任版本何不是初始化输入或先前查询连接的查询将立即返回 ⊥。同样,任何对应于局部不一致拓扑或轮次数的先前查询组合也将如此处理。此外,在n轮次之后,任何导致不一致拓扑的查询(即所有查询的基本初始化及其所依赖的先前查询的组合无法形成单一的一致图)将在现实世界中被识别出来。因此,仅当所有查询(包括其祖先查询)都对应于一致图初始化时,模拟器才需要在最后一轮输出结果。

如果首次中止发生在第i轮次,模拟器将进行查询以确定参与方j=⌊i/n⌋+ 2在第 (j+ 2)n轮次之后的加密状态是否“见证”了该中止。如果是,则对应于参与方 P1, P2,…、Pj执行最后一轮的查询将返回广播消息,并向所有其他参与方返回中止。如果Pj在第(j+ 2)n轮次或之前“见证”了中止,则对应于Pj向黑箱程序最后一次输入的查询也将返回中止(所有其他“最后”查询的输出与之前的情况保持不变)。模拟器利用单比特泄露来判断中止是否及时到达了Pj。

当攻击者在协议进行过程中攻破一个参与方时,首先选择一个随机的sk。然后,固定预言机以生成对应于诚实初始化及其邻域预设消息的预定密文。

我们建议读者参考本文的完整版本,以获取关于模拟器和混合模型的完全描述。

任意低泄露协议

该协议仅对先前的协议进行了轻微修改。为了实现 δ泄露,每个参与方不再与单个子阶段相关联,而是与一个区域的n⌈1/δ⌉个子阶段序列相关联。在开始时,参与方提供随机性(可从会话密钥中提取),这将有助于选择这些子阶段中的一个作为真正的子阶段。因此,中止攻击者通过首次中止成功命中任意子‐子阶段的概率取决于图结构,为< 1/δ。

状态与之前相同,只是增加了一个参数t,用于编码阈值轮次。

该协议与之前相同,只是现在 R= n(n2⌈1/δ⌉+ 2) + 1。

我们现在定义Crand-fs功能。我们采用与先前的构造一致的符号,Cfs,除非另有说明(图7)。

定理4. 对于任意 δ= 1/poly(λ,n),当将协议 Ffs-broadcast 中的 Cfs 替换为 Crand-fs (δ) 时,该协议在静态腐败下以 (δ,L)泄露实现拓扑隐藏广播。

正确性。 此处的证明与前面的证明几乎完全相同。

安全性。 在此情况下,模拟器与之前的几乎相同,只是它由自身为每个位置选择随机阈值,并且仅在选定的块中首次发生实际中止时,才查询泄露预言机。此时,其查询方式与之前大致相同。对于所有其他节点,它根据阈值是否已经出现来输出结果。

)

或不。泄露预言机本身将表示与之前情况相同的功能。

由于阈值分布在模拟情况与实际情况中是计算不可区分的,攻击者将无法进行区分。由于先前构造中的许多引理在此仍然成立,我们将直接限定泄露预言机被调用的概率(从而也限定了泄露本身)。

模拟器。 与之前一样,模拟器首先为每个被破坏的组件生成一个非中止执行,这将构成来自诚实方消息的基础。此外,在本情况下,模拟器为每个参与方的区域均匀地选择一个阈值块。在选定阈值和执行后,对Crand-fs的模拟过程与先前协议完全相同。

引理1。 对于任意概率多项式时间攻击者,模拟器最多只需以 δ的概率查询泄露预言机。

证明。 回想一下,模拟器只需相对于至多一个参与方查询泄露预言机。

对于任意固定的网络位置,我们将该模拟器需要为该位置调用泄露预言机的概率限制在 δ/n以内。然后通过并界,模拟器需要为任意节点调用泄露预言机的概率。

在完整版本中,我们证明了由阈值节点引发的任何非中止查询图必须与非中止执行完全匹配。因此,为了获得非中止输出,攻击者必须在该节点的阈值轮次之前至少执行到r+ 1轮次。因此,在此时间之前发生的任何事件都不会泄露关于阈值轮次的信息(除了判断该轮次是否已经发生)。此外,当攻击者能够判断阈值是否位于其当前区块之后时,已来不及在节点的腐败半径之外执行一次不可模拟的中止。

如果首次中止发生在某个位置区域的第 i 个块中,则攻击者命中选定的块的概率为:
(1 − (i− 1)/(n/δ)) × (1/(n/δ − (i− 1))) = 1/(n/δ) = δ/n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值