《Cryptographic Reverse Firewalls》密码学反式防火墙论文的部分翻译

《Cryptographic Reverse Firewalls》 translation

Posted by ChloeClockc on March 16, 2019

原文链接

https://eprint.iacr.org/2014/758.pdf 作者:Ilya Mironov,Noah Stephens-Davidowitz

部分翻译

摘要

最近爱德华·斯诺登的揭秘表明,用户的硬件和软件可能以各种各样方式被利用而攻击它自身(例如泄露她的隐私信息)。并且最近一系列的公告也显示广泛应用的密码学软件经常包含削弱其自身安全性的漏洞。这促使我们考虑以下(看似荒谬的)问题:当用户可能正使用着发生故障或被任意破坏了的机器时,我们如何保证用户的安全性?为此,我们引入密码学反式防火墙(RF)的概念。它是位于用户的计算机和外部网络之间的设备,可能修改用户在执行密码学协议过程中发送和接收的消息。 一个优秀的反式防火墙能做到以下三点:(1)维持功能,这样,如果用户的计算机工作正常,反式防火墙不会破坏正在执行的协议的正常功能。(2)它保留安全性,这样,无论用户电脑进行何种操作,反式防火墙的存在将提供与协议正确执行带来的同样的安全保证。(3)防止渗透,即不管用户机器进行了怎样的操作,反式防火墙的存在能防止机器向外界泄露信息。非常重要的是,我们没有将这个防火墙模型化为可信方。它不与用户共享任何秘密,并且在没有防火墙时,协议(当正确执行的时候)应该既安全又能实现功能。 我们对反式防火墙的安全性定义取决于所使用的协议的安全概念。我们的模型总结概括了许多以前的工作,并提供了用于构造在受损机器上运行也保持安全的密码学方案的通用框架。它也是对80年代和90年代曾受到过相当关注的一系列工作的一种摩登呈现。 通过构造一个各参与方都有安全反式防火墙的秘密函数计算协议,我们证明了这个定义是可以实现的。我们还设计了一个各参与方也都有安全反式防火墙的不经意传输协议,还有一种比已有构造都更高效也更安全的可重新随机化混淆电路。最后,我们给出了如何将任何协议转化为各方都有防渗透反式防火墙的协议的方法。(换句话说,我们给出了一种通用方法,防止被篡改的机器通过任何协议向窃听者泄漏信息。)

目录

第一章 介绍 1 第二章 密码学反式防火墙 9 2.1 密码学协议 9 2.2 讨论定义 13 第三章 不经意传输 15 第四章 未来工作的结论和方向 19  

第一章 介绍

最近爱德华·斯诺登的揭秘表明,强大的攻击者为获取秘密信息会走得很远。譬如,美国国家安全局在公共加密标准中预留了后门,并且在硬件交付给消费者的过程中拦截了硬件,以便对其进行篡改。同时,在密码学协议的广泛使用的实现中已经发现了多个严重的缺陷,使许多用户容易受到简单但致命的攻击。现代密码实现的极端复杂性使得专家(更不用说一般用户)难以检测到这样的漏洞,即使它们被无意引入。蓄意在硬件和软件中植入漏洞的攻击者使得检测更加困难,他们会使用密码学方法来掩盖痕迹。 因此,面对通信平台内部被破坏这样一个令人沮丧的(但相当真实的)的可能性,我们考虑以下看似矛盾的问题:当对手可以任意篡改受害者的计算机时,我们可以设计出具有有意义的安全性的密码学协议吗? 为了解决这个问题,我们提出一个存在主动篡改敌手情况下的强且具有一般性的安全性概念,并展示如何实现这个模型中的强大密码学原型。当然,如果在某种协议中,爱丽丝的计算机简单地选择将她的发给鲍勃第一条消息用她的秘密商业计划替换,那么我们也不能希望在没有某种帮助的情况下能保证她的安全性。与网络安全的比拟相反,我们提出并研究密码学反式防火墙的功能–一个保护加密方案和协议免受内部攻击的实体。非正式地说,密码学反式防火墙是由位于爱丽丝和外部之间的第三方比如由爱丽丝雇主雇用的安全承包商所运行的机器,并且防止爱丽丝的计算机在发送和接收消息通过潜在地修改来危害用户安全。与典型防火墙相反,反式防火墙的重点在于体系内部,特别地,反式防火墙的一个重要目标是防止外渗攻击。我们的主要贡献是提出反式防火墙的定义和能给加密协议带来的额外安全级别。 更具体地说,我们定义了反式防火墙的三个期望属性。首先,反式防火墙应该维持正常功能。也就是说,如果爱丽丝的计算机运行正常,那么反式防火墙不应该破坏协议的底层功能。其次,反向防火墙应该保留安全性。 也就是说,如果没有反式防火墙存在的协议在爱丽丝的计算机表现正常时提供了哪些安全防护,那么无论计算机有怎样的操作,具有反式防火墙的协议应该提供相同的保障。最后,反式火墙应该阻止渗透。 直观地说如果不能通过防火墙进行篡改达到信息泄露的目的,那么就达到了要求。 我们将定义的大部分讨论推迟到进行正式介绍的第二节。但是,我们强调反式防火墙不被模型化为可信的第三方,我们不仅仅依赖它来保证安全。如果用户的协议实现是正确的,那么协议没有防火墙也该是正常安全运行的。换句话说,我们要求防火墙保留安全性而不是提供安全性。此外,反式防火墙只能访问爱丽丝的传入和传出消息和公共参数而不是爱丽丝的状态或输入或共享的秘密。实际上,我们对反向防火墙的信任不比对通信介质多。我们还要求防火墙是“可堆叠的”,使得一方可以具有任意多的防火墙。即使只是其中一个防火墙正确运用,或者用户的实现是正确的,那么安全性就得到保证。 注意,我们的安全定义是相当苛刻的,因为它假想敌人就存在于我们的电脑里。例如,考虑一种安全的硬币翻转协议,其中爱丽丝希望与鲍勃的公平硬币达成一致。非正式地说,如果鲍勃不能单独抛弃所得到的硬币,则协议对于没有反式防火墙标准设置中的爱丽丝是安全的。在我们的环境中,我们想象双方共同努力偏向硬币翻转对鲍勃有利的情况。鲍勃一直是对立的,在我们的环境中,鲍勃也可能篡改了爱丽丝的电脑,所以它是真正的对鲍勃有利。防御这种攻击的唯一手段是反式防火墙,它可以修改爱丽丝发送和接收的消息,但是还必须保证在爱丽丝鲍勃都可信时不会破坏协议。同时还得保证不会触及特权隐私信息。 尽管有这种优势,我们显示在这个模型中的安全性是需要非常强的原型来实现的。实际上,我们构建了一个在这个模型中是安全的两轮秘密函数计算协议(第四部分)。特别地,该协议中的每一方都具有相应的安全反式防火墙。换句话说,我们展示了一个相对简单的协议,允许爱丽丝和鲍勃联合安全地访问任何回路,它具有显著的属性,这就是为什么反式防火墙可以保证爱丽丝的安全,即使在鲍勃已篡改她的计算机的情况下,反之亦然。这立即表明,在这个模型中可以安全地实现非常大规模的双方原型。这个协议的主要成分是一个不经意传输协议,它本身有一个保护每一方安全的反式防火墙和姚式混淆电路的可重新随机化版本[NP01,AIR01]。我们的不经意传输协议是Naor- Pinkas /Aiello-Ishai-Reingold协议的修改版本。我们的可重新随机化混淆电路比金特里等人的结构有效得多,并且它实现了一个更强的可重组性的概念。 最后,在第5部分中,我们展示了一个通用的结构,可以将任何协议转换为具有相同功能的带抗渗透反式防火墙的协议。换句话说,我们提供了一种通用的方法来防止被篡改的机器通过任何协议泄漏信息给窃听者。因此,对于爱丽丝主要担心消极窃听者的重要特殊情况,我们表明任何多方功能都可以在模型中实现。 我们的协议完全描述了基本的群体操作,我们避免在构建中使用“重型机械”,如非互动零知识证明。特别是,这意味着我们的协议相对简单和有效,并且我们结构的安全性来自相对较弱的复杂性理论假设(即决定性DiffieHellman假设的微小变种)。

1.1相关工作

在本节中从最直接可比较的和最近的文献开始,我们给出了相关先前工作的总结。考虑到处理各种内部攻击和缓解策略模式的现有工作规模和范围,重点是我们的工作与现有技术之间的相似性和差异,而不是对所有以前方法的全面审查。 算法替代攻击。受到强大对手颠覆加密算法实现的潜在威胁,Bellare,Paterson和Rogaway最近提出了对称加密方案对算法替代攻击(ASA)的韧性概念的形式化[BPR14a]。他们观察到,对称加密的现代标准主要依赖于发送者选择的随机性来达到可接受的安全级别。由于这些标准不包括用于确保在加密阶段中使用的随机性是无偏差的机制,因此它们能有效地启用通信信道,其中损坏的实现可以使用该信道向外部方泄露信息。 Bellare et al 定义了算法替代攻击安全的一般框架,确定两个对抗目标 - 避免检测和进行监控。他们在此框架中针对对称密钥加密进行了几次算法替换攻击,表明广泛部署的安全通信协议(如SSL / TLS,IPsec和SSH)容易受到这些攻击。 在积极防御方面,Bellare et al 倡导使用具有唯一密文的有状态确定性加密方案作为计数器-算法替代攻击措施。他们基于编码加密范例构造可证明的算法替代攻击弹性加密方案,并且证明通过顺序地选择其随机数,可以将满足自然非退化条件的所有基于随机数的方案转换为具有唯一密文的有状态方案。 我们的工作在几个方面扩展了Bellare et al的成果。 首先,我们包含在任意两个和多方协议的解决方案,而不是对称密钥加密。第二,我们将目标从开发具有算法替代攻击抗性的原始设计转移到构建反式防火墙就绪的协议。Bellare et al 只能在不破坏加密方案(我们术语中的“功能保持对手”)的功能的情况下实现安全。通过使未损坏的更强的假设反式可用性防火墙,我们能够实现更强大的安全保障,如针对该功能突破篡改实现安全性。 我们的结果和技术可以看作是互补的。而Bellare et al 为抑制加密原型中的“选择自由”提供了强有力的证据,我们证明了附加的随机性可以由某些协议中的中间体注入,以实现更宽范围原型的更强安全保证。 无冲突协议和间接无冲突协议。非正式地说,Lepinski,Micali和shelat认为,如果当事方不能通过协议[LMs05]彼此传送关于他们的私人输入信息,多方协议是无冲突的。例如,用于扑克游戏的无冲突协议允许各方玩扑克牌,但是它不允许他们在持有手牌期间将关于他们牌的信息传达给其他玩家。 这个概念类似于我们对防渗出的定义,因为它不允许通过协议进行潜意识的沟通,但这两个概念是没法互相比较的的。一方面,Lepinski等人的定义 比我们严格得多,因为它不允许使用第三方反向防火墙来防止潜意识的沟通。另一方面,它又宽松得多,因为它规定了什么具体的信息不允许沟通。实际上,它们的结构涉及在各方被给予输入之前进行的建立阶段,并且作者观察到该建立阶段可以用作潜意识信道。因此,在我们的模型中,他们的协议是完全不安全的。 他们的结构还需要强大的物理假设来确保可验证的决定论。 为了避免设置阶段和物理假设的需要,Alwen,shelat和Visconti介绍了无冲突协议的间接模型[AsV08]。在此模型中,各方之间的所有通信都通过媒介调解器进行路由传输。直观地来看,调解器以与反式防火墙相同的方式重新随机化各方的消息。然而,调解器比反式防火墙更强大,因为(1)它拦截所有各方的消息,(2)它能够以任何顺序与各方交换消息。相反,我们的防火墙以在线方式修改单方发送和接收的消息,我们要求协议在没有防火墙的情况下也能工作。因为Alwen et al给予调解器这个附加权力,他们必须明确地将对调解器的安全性模型化为协议的单独属性。相反,我们免费获得了“对抗防火墙”的安全性,这是底层协议安全性的自然结果。他们的安全定义也更强大,因为它包括一个强大的安全多方计算的概念。虽然我们的安全保护概念允许这样的安全,一般我们故意不要求它这样。 潜意识信道和可转换协议。一系列工作探讨各种密码体制中潜意识信道的想法 (例如,[Sim84,Sim85、 BD91、 Des90、 Des94、 BDI + 96,BBS98])。Simmons [Sim84]通过展示各种签名和认证方案中的潜意识信道来介绍这个概念。这项工作的基本主题是一个故事,两个囚犯,爱丽丝和鲍勃希望通过监狱长认可的方式进行交流(例如,在未受伤害的前提下爱丽丝希望告诉鲍勃一些经过身份验证的方式)。监狱长希望从这种沟通中删除任何潜意识的信息(例如,以防止爱丽丝将逃生计划告诉鲍勃)。这个故事中监狱长非常像我们的反式防火墙,如同无潜意识信道与渗透抗性的概念密切相关。因为工作设计各种定义,结果和应用程序太广泛,我们关注一小部分最相关的–可转换协议。 直观地说,如果爱丽丝和鲍勃之间的监狱长可以重新随机化双方的消息使得(1)双方都不能意识到监狱长的存在(2)任何一方都不可以区分不可信方与中间监狱长的互动和与可信方之间的互动,那么协议是可转换的。Okamoto and Ohta为零知识证明(基于无潜意识信道零知识证明的早期定义)提供了第一个可转换性定义,并且Burmester et al等人表明NP中的所有语言都有可转换性的零知识证明 [BD91,BDI + 99]。这些简单优雅的构造为NP中的所有语言提供反式防火墙的零知识证明。 Blaze, Bleumer, and Strauss展示了如何推广和加强可转换能力的定义,以适用于任何双方加密协议[BBS98]。事实上,他们有先见之明的定义接近我们的防渗透反式防火墙协议概念。我们强调他们和我们的三个主要区别。 1.在我们的术语来看,布雷兹等人只考虑防渗透和不安全防护。在一些应用中(例如,零知识证明),这两个属性是等价的,但是在许多重要的应用中(例如我们在后续中考虑的那些应用),这两个属性是非常不同的(有关这两个属性之间区别的进一步讨论,请参见第2.3节)。 2.布雷兹等隐式假设任何不可信的证明者版本仍然提供有效证明。(用我们的话来说,被篡改的证明者必须“保持功能”。)这个假设对零知识证明的提供者是很有必要的,但是总的来说我们能够也应该在这方面有更好的做法。 3.他们只考虑包含双方和一个监管的同步协议。我们考虑异步多方协议,其中每一方可以具有它自己的防火墙。通过将监管者分成多个防火墙并远离同步模型,我们的定义变得更加强大,因为我们的防火墙没有在查看所有来自一轮发送的消息的决定如何修改它们的机会。(实际上,布雷兹等人提供了一个简单的可转换密钥协商协议的例子,然而这个协议在我们的模型中是不安全的,因为它的通信同步模型对其安全性至关重要)。我们还发现更多的模块化模型在我们的现代背景中更自然,这其中不同方可能具有不同的安全需求。 可转换协议也在许多更微妙的方面不同于具有反式防火墙的协议。例如,布雷兹等人要求任何一方都不能察觉监管者。 在续集中提出的协议实现了这种“透明度”的概念,但我们故意不要求它作为我们定义的一部分。 简而言之,可转换协议和无潜意识信道建立在一个故事之前,这个故事发生在激发我们工作的担心之前。我们更现代的故事是爱丽丝和鲍勃担心他们的电脑已经损坏,这自然引出我们更一般的定义。 安全潜意识窃取信息. Yong发现了一个重要的对加密方案的内部威胁,他们称为潜意识窃取信息攻击[YY96]。潜意识窃取信息攻击的目标是泄露秘密给在被害人计算机上种下了恶意实现加密系统的对手。攻击是不对称的 - 被破坏的实现可以携带攻击者的公钥,但是为了从潜意识信道读取信息私钥是必要的。只要系统作为黑盒被访问,安全的潜意识窃取信息攻击是不可检测的,并且虽然可以识别是否有一个逆向实现 ,但这只能暴露出攻击者的公钥。特别地,如果多个系统运行相同的受损软件,则一个这样系统成功的逆向工程工作将不会有助于破坏其他系统的安全性。 美国国家标准局(现已撤销)的双椭圆曲线检测随机位发生器是一个潜在的潜意识窃取信息后门。 我们对抗的模式里是不那么严格的潜意识窃取信息攻击者。我们考虑对手可能不担心被检测到,而且并不担忧分裂密钥解决方案的可能性。 可重新随机化的混淆电路。Gentry,Halevi和Vaikuntanathan构建了一个可重新随机化的姚氏混淆电路,以建立一个“信息超链接”同态加密方案。他们的设置相当优雅,它的安全是基于比我们稍微弱的假设之上。但是它不能在我们的情境中运作。 非正式地,当可信构建时它们的电路是可重新随机化的,但是不可信构造电路的重新组合可以容易地与新的混淆电路区分开。在这个情境中,我们认为混淆电路是由被破坏的算法构造的,这是致命缺陷。 因此,我们构建新的混淆计划来实现更强大意义上的重组。 我们的方案(在第4节中提出)也基本上比Gentry等人更有效。在它们的电路中单个门的尺寸是O(λ2)组元素,其中λ是安全参数,而我们的门仅需要恒定数量的组元素。因此,我们的可重新随机化的混淆电路方案也意味着显着更有效的信息超链接同态加密实现。 组合器。 针对加密原型的不可信实现的替代防御是以某种方式组合相同原型的多个实现,使得如果初始原型的适当大子集是安全的,则组合原型是安全的。 这个想法在文献中是很常见的,它由Harnik等人形式化,他们表明许多原型具有优雅强大的组合器。 组合器能够解决一个与反式防火墙稍微不同的问题。防火墙保证安全性是在用户的系统被随意破坏时,而组合器只有当用户已经访问了至少一个安全执行的原语时才提供安全。直观地说,当相同原语的多个实现存在(1)可能具有错误或(2)依赖于不同的未经证实的假设时,组合器是适用的。相反,反式防火墙即使在我们的实现被故意破坏时也能工作。

第二章 密码学反式防火墙

我们现在提出密码学反式防火墙的一般定义,这个定义可以应用于一大类原型。这需要我们首先以适合我们的目的的(非常一般的)方式定义加密协议。然而我们注意到,能以更简单的术语描述续集中提出的具体方案。 因此,这种普遍性水不够理解本文的其余部分。

2.1 密码学协议

定义1 (密码学协议) 密码协议定义状态方之间的交互。 首先运行设置过程设置( ),其中λ是安全参数。它返回每个参与方的起始状态,我们称之为它们各自的输入 公共参数;和时间表消息。各方根据时间表相互发送消息。协议完成后,每一方运行其输出算法并返回结果。 我们用其参与各方和设置过程来标识协议,并且我们通过定义它们的算法P i =(receivePi,nextPi,outputPi)来识别各方。在协议运行期间发送所有消息的完整记录是抄本𝒯。 如果各方的相应输入和公共参数被设置为由I表示的值,则我们称协议的运行为具有输入I的运行。我们隐含地假定输入I满足某些有效性要求。 协议必须满足对特定输入I各方的输出设置约束功能性需求ℱ和对以特定输入I为条件消息分布施加约束的安全性需求𝒮.为了我们目标最方便的是分配每个安全要求𝒮给特定与𝒮相关的一方。对于P一方来说,我们说如果满足P的所有安全要求,则P的协议是安全的。例如,二分之一不经意传输协议是发送方爱丽丝和接收方鲍勃之间的协议。 爱丽丝的输入是一对消息m0,m1,而鲍勃的输入是一个比特b。如果鲍勃的输出是mb,协议是有效的。如果对任何合法消息m0,m1,不存在扮演爱丽丝角色的有效算法能在协议完成后以不可忽略的优势预测到b,那么协议对鲍勃来说是安全的。直觉上,如果没有有效的算法扮演Bob的角色可以“学习任何信息”而不只是m0或m1,则协议对于爱丽丝是安全的。 下面,我们列出一些在下一节中有用的术语和符号。 定义2(协议和参与方) 对于满足功能ℱ,输入I,参与方P,索引j和索引集J⊆{1,…,l}的协议P =(setup,(σ𝒫i)li = 1) 𝒯←P(I)表示将变量𝒯设置到通过输入I的P运行而获得的副本; PPj⇒P是在协议𝒫中用P替换Pj得到的协议; PJ⇒P是通过用𝒫的单个实现P替换所有{Pj}j∈J而获得的协议; 如果任何一方在任何时候发送特殊符号⊥作为消息,则协议立即结束,并且根据定义功能已经被破坏; 如果PPj⇒P满足ℱ,在各方的随机硬币过程中具有所有可忽略的概率,并且对于任何固定输入P建立过程,P维持𝒫中的Pj 的功能ℱ。

2.2密码学反式防火墙

定义3 (密码学反式防火墙) 密码学反向防火墙是状态算法𝒲,其将输入作为状态和消息,并输出更新的状态和消息。 为了简单起见,我们不明确写出𝒲的状态。 对于P =(receive,next,output)和反式防火墙𝒲,组合方被定义为 𝒲◦ P := (receiveW◦P(σ,m) = receiveP(σ, 𝒲 (m)), (2-1) nextW◦P(σ) = 𝒲 (nextP(σ)), (2-2) outputW◦P(σ) = outputP(σ)) . (2-3) 当组合方参与协议时,𝒲的状态被初始化为公共参数ρ。 如果𝒲意图由P方组成,我们称其为P的反式防火墙。 直观地说,反式防火墙简单地修改爱丽丝的传入和传出消息。当内部实现是正确时爱丽丝当然不希望反式防火墙破坏她协议的功能。事实上我们想要的不只如此。爱丽丝的雇主可能希望部署多个反式防火墙,我们不希望这种“堆叠”的防火墙破坏功能。 下面的定义涉及这一点。 定义4(功能维持反式防火墙)对于任何反向防火墙𝒲和任何一方P,令𝒲1◦P = 𝒲◦P,对于k≥2,令𝒲k◦P = 𝒲◦(𝒲k-1◦P)(2-4)。 对于满足功能需求ℱ的协议P,我们说如果𝒲 k◦Pj对于任何多项式边界k≥1的P中的P维持功能F,则反向防火墙𝒲维持P中的Pj 功能ℱ。当ℱ,Pj和P无关,我们简单的说𝒲能够维持功能。 我们强调对反向防火墙感兴趣,是因为这些防火墙保持已经运行的协议的功能 - 没有防火墙的情况下不起作用的协议不那么有趣。我们还注意到,续集中描述的反向防火墙实际上实现了更强的属性。特别地,它们都是“透明的”,使得如果P是可信的实现那么𝒲◦P的行为与P的行为相同。并且,𝒲◦P是无论P怎样时都维持功能(而不仅仅是P是可信的时)。虽然这些属性对于许多应用程序似乎是可取的,但我们不希望把它从我们的防火墙定义中排除,例如将签名附加到它们发送的每个消息。 更有趣的是,我们想要反式防火墙来保护爱丽丝免受可能已经篡改她计算机的对手威胁。为此,我们要求防火墙保留底层协议的安全属性。因此,我们只对没有防火墙的情况下已经安全的协议感兴趣。由于此定义取决于底层协议的安全属性,因此它为此模型中任意加密原型的研究提供了一个通用框架。我们最强大的安全理念想象出一个完全对抗的算法取代了爱丽丝的协议实现,并要求即使在这个情况下仍然保持安全。我们较弱的概念只考虑维护功能的篡改实现。 定义5(安全保护反式防火墙)。对于协议P=(setup,(nextPi,receivePi, outputPi)li=1 )满足安全性要求𝒮和功能ℱ的输出和反式防火墙𝒲, 如果对于任何概率多项式,协议PJ⇒WoPA*满足𝒮,则𝒲有效保护P中的Pj安全性𝒮; 如果协议满足𝒮对于的任何概率多项式PA *保持功能性ℱ,则𝒲较弱地保护𝒫 中Pj的𝒮。 当𝒮,Pj,P和ℱ是无关的,我们简单地说,𝒲有效保护安全性或较弱保护安全性。 一种特别让我们担忧的攻击类型是夺取,其中爱丽丝损坏的计算机试图泄漏一些私人信息(例如,秘密业务计划)给具有控制其他方的一些对手。我们称这种对抗攻击的安全性叫做渗透抵抗能力,我们根据游戏LEAK(𝒫,Pj,J,λ)定义它,如图1所示。直观地,游戏LEAK要求对手区分方Pj的篡改实现和可信实现。因此,防过滤反式防火墙可以防止攻击者知道Alice的计算机是否已被攻破 - 更别说得知她的秘密业务计划。 在这里插入图片描述

图表1

定义6(防渗透反式防火墙)。对于满足功能ℱ的协议𝒫和反防墙𝒲 ,如果对手𝒜得到游戏LEAK(𝒫,Pj,J,𝒲,λ)中的安全参数λ中不可忽略的优势几率不到万亿分之一,则𝒲对(𝒫,Pj,J)防渗透性强; 当Pj,𝒫和ℱ无关时,我们简单地说,𝒲分别对J 防渗透性强或弱。在J为空的特殊情况下,我们认为𝒲对于窃听者是抗渗的。 这引导我们来到最强的安全理念。 定义7(健全反式防火墙)。 如果加密反向防火墙𝒲对于𝒫中除了Pj之外的所有各方都能维持ℱ,强保护𝒮和强抗渗透性,它对于具有功能性要求ℱ安全需求𝒮的𝒫方中的Pj是健全的,我们经常简单地说,当Pj,𝒫ℱ和𝒮无关时,𝒲是健全的。

2.2 讨论定义

防渗透和安全防火墙之间的关系。对于许多自然的安全概念,抗渗性和安全保护是等同的。例如,反式防火墙当且仅当它对于窃听者有抗性时才能保留加密方案的语义安全性。然而,对于不保证隐私的安全概念,安全保护防火墙不一定抗渗透。例如,反式防火墙可以保护承诺方案的绑定属性,但是它仍然允许信息泄漏出受损的机器。即使当安全要求包含某种类型的隐私时,保护它的防火墙也可能不抗渗透。例如,确保计划的隐藏性在承诺阶段保证隐私,但它在开放阶段肯定不会阻止信息泄露。事实上,构建反式防火墙相当容易,这种防火墙有效地保护承诺方案的隐藏属性(只使用可重新定制的承诺方案),但是证明不可能在任何承诺计划中针对发送方到接收方构造强有效抗渗透的反式防火墙。(直观地,承诺方案的功能允许发送方向接收方传送消息。因此,不能希望反式防火墙保持功能性的同时,防止发送方向接收方泄漏信息)。 另一方面,首先,防渗透的反式防火墙总是保留安全性,因为根据定义,与由对抗选择电路组成的这种反防墙的交互与真实实现的交互是不可区分的。然而并不总是这样。 例如如果安全要求是基于模拟的或考虑有权访问数据库或计算方法无限的对手,则防渗的防火墙可能无法保留安全性。对抗选择电路组成的反式防火墙与用可信实现组成的反式防火墙墙是不可区分的。 面对对手维护功能。 直觉上,我们较弱的安全概念排除了“更显著”的对手,其篡改电路将被参与协议的可信方注意到,这具有不可忽略的概率。然而即使是我们最弱的对手也可能在攻击可信方中任意地占据一小部分时间。在安全定义的上下文中,这种区别可能是非常重要的,这允许协议中的其他方的破坏。例如,考虑一个不经意传输协议,其中鲍勃的第一个消息在一些大集合上是均匀随机的(如第3部分中的情况)。在该协议中的爱丽丝的篡改实现可以通过例如将爱丽丝的输入的逻辑异或到其对鲍勃的回应破译来响应一个特定消息。这样的实现仍然可以维持功能性,因为当鲍勃行为可信时这个事件很少发生。但是,不经意传输的安全定义要求扮演鲍勃角色的对手不应该能够接触到输入的逻辑异或。 因此,任何反向防火墙,即使在这样的模型中弱化保护爱丽丝安全的版本也必须以某种方式解决这个问题。在第3节中,我们通过为爱丽丝构建一个防火墙来解决这个问题,该防火墙只对防止篡改实现起作用,该实施始终使用防止鲍勃对爱丽丝渗透的防火墙来保持功能。 我们期望这种方法在未来的工作中有用。 时间和调度问题。 我们的模型没有明确说明消息的时间。在实践中,消息定时是一个自然的途径,并且篡改的实现当然可以使用它来泄漏信息并损害爱丽丝的安全性。因此,现实世界中的任何反防墙必须考虑到这一点(例如,固定它接收消息和它响应爱丽丝之间的时间)。如上面的讨论所示,在一些情况下,防火墙可能需要控制输出和输入消息的定时。在具有两方以上的协议中,这个问题自然变得更加复杂。在这种情况下,协议设计者应该考虑来自多方的消息的相对定时以及爱丽丝从各方接收消息的顺序。  

第三章 不经意传输

Naor和Pinkas和Aiello,Ishai和Reingold独立开发了非常类似的不经意传输协议,其安全性立即降低到判定性假设 [NP01,AIR01]。我们提出了一个适合我们设置的协议版本。 具体地,爱丽丝的输入是在一些秩为p的组G中的一对元素(m0,m1),其中DDH是困难的,并且鲍勃的输入是位b。爱丽丝和鲍勃然后参与图所示的协议。

在这里插入图片描述 图表2

命题1. 如果判定性假设在G中是困难的,图2所示的协议对于双方是正确和安全的。 证明。 正确性来自于事实uyb= grbxy+sby= (h/gb)rbdsb。鲍勃的安全性直接来自于G中的判定性假设。 为了证明爱丽丝的安全性,我们注意到如果对于一些x,y∈Zp,(g,c,d,h)≠(g,gx,gy,gxy + b),则(ub,eb)是随机的。 事实上,请注意 因此,ub和eb均匀且独立地分布,除非logg h-b = xy。 这允许我们为任何对手B扮演鲍勃的角色实现在输入b访问上如下表现的理想功能ℱ的(低效的)模拟器𝒮𝔅构造。

在这里插入图片描述 应当清楚的是模拟器的“消息”(ui,ei)1i = 0与在真实协议𝔅中从爱丽丝接收的消息具有相同的分布,并且结果如下。 我们在Naor-Pinkas / Aiello-Ishai-Reingold协议的变体中为双方提供反式防火墙,并显示它们是安全的。爱丽丝的防火墙本身有效防止泄漏给窃听者。 为了弱化它的安全性,它必须由鲍勃的防火墙组成。

秘密函数计算

我们现在基于第3部分的不经意协议和姚式混淆电路的可重新随机化版本构建秘密函数计算方案。我们假设读者熟悉混淆电路和类似类型的结构。我们的关键技术工具是基于ElGamal加密的可重新随机化的混淆电路,可能具有独立的令人感兴趣之处。

用于强大抗渗出性能的通用结构

我们现在表明,任何协议都可以转换为具有反式防火墙的协议,用于每一方对抗窃听渗透。所得到的协议将在每方最多增加一个附加(广播)消息。对于我们在本文中考虑的所有原型,得到的协议也将满足与原始协议相同的安全要求。我们不能说生成的协议将总是满足对任意原语的相同安全性要求,因为安全性要求是相当普遍的概念。例如,安全要求可以具体地要求协议不具有防渗出的反式防火墙。 为了实现这一点,关键思想是使用可重新排序并具有可重新随机化密钥的公钥加密方案。即反式防火墙应能够将任何公共密钥转换为均匀随机一致的公开密钥,使得它也可以将在所得到的密钥下加密的消息转换成在原始密钥下加密的消息。 即如果一些协议具有保护爱丽丝安全性但不抗渗透的反式防火墙,则我们不一定能应用上述转换并获得具有反式防火墙的协议,让其既保留安全性又抗渗透,因为如果消息被加密不可能让有效的防火墙在消息上计算任意函数。如果消息在语义安全的方案下被加密,即使是诸如等同测试(例如,测试消息是否是某个特定元素)的非常简单的操作也不能有效地完成。因此,一般来说,可能需要在有效防止渗透的防火墙和保护安全性的防火墙之间进行选择。  

第四章 未来工作的结论和方向

爱德华·斯诺登[PLS13,BBG13,Gre14]的启示突出了复杂对手提出的不同类型的威胁 - 潜在劫持用户自己的软件或硬件用于颠覆目的。 参与密码学协议的受损机器可能(可能选择性地)不能保护安全性或启用隐蔽通信信道,诸如测试,审计或监控的标准解决方案通常不能确保安全性,因为攻击者可以使用密码学方法来掩藏踪迹(由于现代协议的复杂性和通信中随机性的普遍使用)。 为了抵御内部攻击的威胁,我们提出了密码学反式防火墙的概念,其作用是支持一些底层加密方案的安全性。 我们讨论反式防火墙(维持功能,保留安全性和防止渗透)和两种类型的篡改(任意篡改和功能维护篡改)的几个理想属性。 我们定义的一般性提供了一个框架,用于研究广泛原型的内部攻击和对策。 我们的主要技术贡献是基于可重新随机化姚式混淆电路和不经意传输的秘密函数计算协议,承认双方的反式防火墙。以即使在用户的计算机已经被攻破时仍保持安全的方式来实例化这个非常强的原型,显示了反式防火墙作为用于防止内部攻击工具的能力。 此外,我们的可重新随机化混淆电路比Gentry等人提出的计划更有效率,更能抵御更强的攻击。 [GHV10](虽然我们依赖稍强的数理论假设)。 我们还表明,任何协议都可以很容易地转换为一个协议和保护每一方的防渗透反式防火墙。这提供了一种通用的方法来防止被篡改的机器通过任何协议泄漏信息给窃听者。 我们总结出一个在新强调的防御内部攻击研究中令人振奋未来方向的列表: 对于未来工作最明显的方向就是在这个框架中更多原型的实例化。虽然这项工作包括秘密函数计算评估的实例化,仍有更多的研究要做。例如我们可以实现更强的双方计算安全概念吗? (我们证明了一个相对受限制的秘密函数计算评估的安全概念。)我们如何有效地(以及在什么假设下)在这个模型中实例化更简单的原型?在多方案件中我们能做些什么? 对于PFE不是隐含的其他原型(如认证的密钥协议)呢? 我们希望未来的反式防火墙工作能够开发出具有安全反式防火墙的可组合,高效,模块化协议的全面集合。 “圣杯”将能完全表现反式防火墙的功能和安全属性。 更一般地说,我们希望看到一个系统的应对蓄意内部攻击的研究防御机制。对抗的攻击真正目标包括软件库,硬件平台,通信通道,标准,协议,熵源,系统参数和常数的选择。