并行安全多方计算协议应用研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

并行安全多方计算协议应用研究

摘要:安全多方计算蕴含了对任何密码协议问题在原则上的实现方案,它能在原则上告诉我们哪些问题是可以解决的,哪些问题是不可能解决的。首先介绍了并行安全多方计算(SPMC)的相关工具和概念知识;接着通过模拟改进后的密码学就餐问题显示SPMC的实际应用,并在此基础上构建了SPMC的协议;最后通过“直和”方法对其安全性进行了验证分析,提出了值得进一步探讨的SPMC问题以及SPMC协议的改进研究。

关键词:并行;安全多方计算;线性密钥共享体制

0引言

随着网络技术的不断发展,网络安全中的多方计算变得越来越普遍,极大地改变了计算的含义及计算的方式。计算可能发生于相互信任的参与者之间,此时问题是很容易解决的;也有可能存在于部分信任的合作者之间,甚至存在于竞争者之间,此时问题的计算也随之复杂起来。这些参与者们特别担心的是在完成该计算的过程中,有可能出现他们各自输入的信息被他人获悉或者被泄露的情况,也就是要确保自己数据的安全性与秘密性。由此提出了安全多方计算(SMC,secure multiparty computation)协议的问题。

简单来说,SMC问题可以用数学的形式描述为:有n个参与者P-1,P-2,…,P-n,通过一种安全的方式来共同计算一个函数,这里的安全是指输入输出信息的保密性与输出结果的正确性。具体来

讲,每个参与者P-i,有一个自己的秘密输入信息x-i,n个参与者要共同计算一个函数f(x-1,x-2,…,x-n)=(Y-1,Y-2,…,Y-n),使得计算结束时每个参与者P-i只能得到Y-i,除此之外得不到其它地方的任何信息。

对于并行安全多方计算(SPMC,secure parallel multiparty computation)的概念提出时间并不长,实际上,SPMC是作为SMC 的一个拓展的概念。一般情况下,SMC是针对一个特定的函数进行计算的,而对于SPMC来说,是指同时安全多方计算了多个函数,并且每个函数对应的攻击者结构是不同的。

1预备知识

SPMC协议的设计,需要一些基本的工具以及概念知识。

1.1密钥共享

为了描述一般密钥共享方式,引入存取结构的概念。

定义1:存取结构AS(access structure)。设P={P-1,…,P-n}是n个参与者集合,用AS来命名P上的一个存取结构,也就是AS 是由P上的一些子集组成的一个非空子集合,即AS2+p,而且满足单调性质:如果同时满足A∈AS和BP,而且AB,那么有B∈AS。

通常研究SPMC问题利用的是线性多密钥共享体制(LMSSS),那么线性密钥共享体制是一个必需的理论知识。

定义2:线性密钥共享体制(LSSS,linear secret sharing scheme)。令P={P-1,…,P-n}为参与者集合,其AS是P上一个存取结构。令集合S为主密钥空间,R为随机输入集合,集合S-i为子密钥空间,

分配函数为Π:S×R→S-1×…×S-n,那么对存取结构AS的密钥共享体制的实现是:将一个主密钥s∈S通过分配函数Π在参与者P-1,…,P-n之间实行共享,也即Π(s,r)=(s-1,…,s-n),其中r∈R,每个子密钥s-i为对应参与者P-i所掌握,1≤i≤n,满足下列条件:①重构要求:即分配函数是线性的,对于A∈AS,集合A 中的成员可以恢复主密钥s,即H(S|Π(S,R)|-A)=0,这里H(·)为信息熵或熵函数,Π(S,R)|-A为在集合A条件下的分配函数;

②安全性要求:对于BAS,从集合B中选择任何成员得不到主密钥s 的任何信息,即H(S|Π(S,R)|-B)=H(S)。

在1≤i≤n条件下,如果|S|=|S-i|,该密钥共享体制就是完美的密钥共享体制。令K为某个有限域,如果主密钥空间S=K,随机输入集合R和子密钥空间S-i都是K上的有限维子线性空间,当分配函数Π是线性时,就得到了我们所定义的情况了。

1.2攻击者

在SMC协议中,我们可以将攻击者(adversary)理解为一个有破坏协议安全性或正确性的企图成员,比如说一个电脑黑客。简单地来说,被攻击者收买或者腐败的参与者中的一些子集组成的集合称之为攻击者结构Λ(adversary structure)。其一个极大攻击者结构为Λ-m={B∈Λ|ABAΛ},而且由单调性质可知Λ和Λ-m是彼此唯一确定的。例如(t,n)门限攻击者结构Λ={AP‖A|≤t},其对应的极大攻击者结构为Λ-m={AP‖A|=t}。

1.3通信复杂性

SMC协议的复杂性度量也就是通信复杂性。通信复杂性度量有两种方式,一种是轮复杂性(round complexity),是指执行协议时通信的次数。另一种是协议执行中发送的bit总数,也就是信息传输量。这两种通信复杂性有时候要综合考虑,轮数少但发送的bit数未必少,反之亦然。

1.4安全性定义

在处理SPMC安全性的要求时,采取以往不同的思想和路径,即所要证明的现实协议与理想模型是具有相同的安全性来推出。

比如,比较图1(理想模型)和图2(现实协议)各自处理过程。图1中添加了一个完全可信的第三方T,在理想模型中的攻击者可以与现实协议进行同样的攻击,但他无法入侵T。可想而知,理想模型是我们所期望达到的最安全的模型。但是在现实情况下,这个完全可信的第三方T并不一定存在,因此想要安全地共同计算某一个函数f,就需要设计复杂的协议,一般的现实协议都是通过多轮参与者之间的信息交互来完成的,而攻击者在每轮的交互后都能从被收买者处获得一些信息。

2并行安全多方计算应用前面我们已经知道并行安全多方计算(SPMC)是指同时安全多方计算多个函数,并且每个函数针对的攻击者结构不同。正如LSSS是设计SMC协议的一个重要工具,为此推广提出了LMSSS是设计SPMC协议的一个重要工具。本节首先通过模拟实际SPMC应用问题,然后对SPMC协议的构造与一般的“直和”方法进行比较,也就是安全性得到满足。

相关文档
最新文档