理论教育 安全协议第2版:安全多方计算简介

安全协议第2版:安全多方计算简介

时间:2023-10-28 理论教育 版权反馈
【摘要】:在安全多方计算协议中,一群人可在一起用一种特殊的方法计算含有许多变量的任何函数。安全多方计算协议主要包括如下5个方面。攻击者所谓攻击者或敌手,就是在安全多方计算协议中,企图破坏协议安全性或正确性的人。半诚实模型的安全多方计算较恶意模型的安全多方计算要容易得多,大多数情况下,如果协议中有恶意行为,协议得不到正确结果。密码学家们已经给出了大量关于安全多方计算可行性的结论。

安全协议第2版:安全多方计算简介

在安全多方计算协议中,一群人可在一起用一种特殊的方法计算含有许多变量的任何函数。这一群人中的每个人都知道这个函数的值,但除了函数输出的东西外,没有人知道关于任何其他成员输入的任何信息。安全多方计算协议主要包括如下5个方面。

(1)参与者

安全多方计算协议参与者的行为决定了安全多方计算协议设计的难易程度,根据参与者在协议中的行为,我们将参与者分为三种类型。

•诚实参与者:在协议的执行过程中,诚实参与者完全按照协议的要求完成协议的各个步骤,同时对自己的所有输入、输出及中间结果保密。注意,诚实参与者可以根据自己的输入、输出及中间结果推导另外的参与者的信息。诚实参与者与半诚实参与者的区别仅在于诚实参与者不会被攻击者腐败。

•半诚实参与者:在协议的执行过程中,半诚实参与者完全按照协议的要求完成协议的各个步骤,同时可能将自己的所有输入、输出及中间结果泄露给攻击者。

•恶意参与者:在协议过程中,恶意参与者完全按照攻击者的意志执行协议的各个步骤,他不但将自己的所有输入、输出及中间结果泄露给攻击者,还可以根据攻击者的意图改变输入信息、中间结果信息,甚至终止协议。

(2)变量

全部的变量空间X包括协议执行过程中生成的所有变量,如输入、输出和本地数据(如共享)。协议在一次特定执行中每个变量都有一个特定的值。如本地变量,事实上是只有特定的参与者和参与者集合能看到的特定的值。用VIEWi表示参与者Pi的观察,参与者集合PI的观察VIEWI是指PI中所有参与者的观察的联合。看到一个变量和知道一个变量是不同的,如果变量x在参与者的观察中称参与者看到这个变量,如果参与者能够从他的观察值中计算出x称参与者知道这个变量。

(3)攻击者

所谓攻击者或敌手,就是在安全多方计算协议中,企图破坏协议安全性或正确性的人。攻击者可以腐败参与者的一个子集。我们可以将攻击者看成一个计算机黑客,他可以破坏或控制参与者的计算机。

根据攻击者腐败的参与者的不同类型,攻击者可以分为两类:被动攻击者和主动攻击者。

①被动攻击者:如果腐败者集合中的被腐败者都是半诚实参与者,即攻击者只能得到被腐败者的所有输入、输出及中间结果,那么称这个攻击者是被动攻击者,或称攻击者是被动的。被动攻击者不能改变被腐败者的输入及中间结果,也不能终止协议的运行。

②主动攻击者:如果腐败者集合中的被腐败者有恶意参与者,即攻击者不但能得到被腐败者的所有输入、输出及中间结果,还能指示被腐败者改变输入信息、中间结果信息,甚至终止协议的运行。那么称这个攻击者是主动攻击者,或称攻击者是主动的。

(4)网络条件

安全多方计算的参与者之间将通过一个网络相连,那么网络的状态和条件也将是我们的讨论对象。我们可以将网络分为同步网络和非同步网络两种情况进行讨论。

在一个同步网络中,所有的协议参与者都共享一个公共的、全局性的时钟。所有的信息将在某一个时钟周期内传送,而且所有协议的参与者都能在下一个时钟周期内得到传送给自己的信息。早期的多方计算协议都是在同步网络条件下讨论安全性的,但是同步网络不容易实现。(www.daowen.com)

在一个非同步的网络中,由于不存在这样一个全局性的时钟,信息从参与者处发送出去,可能要经过若干个时钟以后,接收者才能收到这个信息,而且接收到信息的顺序很有可能不是原发送信息的顺序。这种同步和不同步的性质可以看作是攻击者的能力,即攻击者可能拥有控制网络中传送信息的延迟时间的能力。由于非同步网络更接近于真正的网络环境,现在绝大多数安全多方计算协议都是在非同步网络条件下来讨论安全性的。

(5)通信信道

安全多方计算协议的各个参与者之间有通信信道相连,用来完成各自与外界的数据交换,针对协议的攻击者对于协议参与者之间通信信道的控制能力,我们可以把通信信道分为如下三个不同级别的安全等级。

①安全信道:对于这种通信信道攻击者没有任何控制能力,所有诚实参与者之间的通信信息不会被攻击者窃听,也不会被攻击者恶意篡改。

②非安全信道:也有文献称这种通信信道是认证的信道,顾名思义,通过这种信道传输的信息是要通过参与者之间相互认证的,攻击者只可以窃听任意协议参与者之间的通信,但是却不能篡改信息的内容。

③未认证的信道:攻击者对于这种通信信道有着完全的控制权,他不仅可以窃听所有协议参与者之间的通信信息,还可以任意篡改通信信息的内容,甚至伪装成诚实的参与者参与协议。

安全多方计算可以抽象概括成如下的数学模型:n个协议的参与者P1,…,Pn需要共同执行函数f(x1,…,xm)。其中Sinput={x1,…,xm}是函数的输入变量集,参与者Pi(i∈{1,…,n})提供函数的输入变量集SPi为Sinput的某子集,满足∪Pi SPi=Sinput,SPi∩SPj=∅(i≠j)。要求函数计算过程中,任意的参与者Pi(i∈{1,…,n})的输入SPi不被其他Pj(j≠1)知晓。

安全多方计算一般分为两种模型:半诚实模型与恶意模型。

•半诚实模型:如果所有参与者都是半诚实或诚实的,称此模型为半诚实模型。半诚实模型中的攻击者是被动的。

•恶意模型在:攻击者的腐败集中,有恶意参与者的模型称为恶意模型。即攻击者能完全控制腐败方的模型。恶意模型中的攻击者是主动的。

半诚实模型的安全多方计算较恶意模型的安全多方计算要容易得多,大多数情况下,如果协议中有恶意行为,协议得不到正确结果。要保证在恶意模型的计算中得到正确结果,需要使用较多的密码学技术。

密码学家们已经给出了大量关于安全多方计算可行性的结论。这些结论主要包括以下三点(n表示参与者总数,t表示腐败者总数)。

(1)如果t<n/3,那么在点对点网络中,任何函数的安全多方协议都是可获得的。这个协议是完全公平和保证输出传递的,并且在协议中不需要任何设置假设。

(2)如果t<n/2,假设参与者有权使用广播信道,那么任何函数的安全多方协议都是可获得的。这个协议是完全公平和保证输出传递的。

(3)如果t≥n/2,假设参与者有权使用广播信道,另外假设陷门置换也是存在的,那么任何函数的安全多方协议都是可获得的。这个协议是部分公平的,但是不能保证输出传递。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈