CN112769742A - Spdz系列协议中的消息验证方法、装置及存储介质 - Google Patents

Spdz系列协议中的消息验证方法、装置及存储介质 Download PDF

Info

Publication number
CN112769742A
CN112769742A CN201911077852.XA CN201911077852A CN112769742A CN 112769742 A CN112769742 A CN 112769742A CN 201911077852 A CN201911077852 A CN 201911077852A CN 112769742 A CN112769742 A CN 112769742A
Authority
CN
China
Prior art keywords
data
mac
participant
protocol
private data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911077852.XA
Other languages
English (en)
Other versions
CN112769742B (zh
Inventor
李艳斌
戴永恒
吴韧韬
王鹏达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Diankeyun Beijing Technology Co ltd
Original Assignee
Diankeyun Beijing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Diankeyun Beijing Technology Co ltd filed Critical Diankeyun Beijing Technology Co ltd
Priority to CN201911077852.XA priority Critical patent/CN112769742B/zh
Publication of CN112769742A publication Critical patent/CN112769742A/zh
Application granted granted Critical
Publication of CN112769742B publication Critical patent/CN112769742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明提供一种SPDZ系列协议中的消息验证方法、装置及存储介质,该方法包括以下步骤:各个数据参与方通过广播接收预定参与方基于多个私有数据经掩码操作计算出的多个随机化数据;各个参与方生成与多个私有数据对应的多个MAC分片;一个参与方分别以多个随机化数据中的单个随机化数据和单个私有数据对应的MAC分片为输入,对输入的数据进行MAC验证,并基于MAC验证结果来确定不合法数据和/或攻击者。

Description

SPDZ系列协议中的消息验证方法、装置及存储介质
技术领域
本发明涉及信息安全技术领域,尤其涉及一种SPDZ系列协议中的消息验证方法、装置及存储介质。
背景技术
安全多方计算(Secure Multi-Party Computation,MPC)的一般概念是在n个参与方 P1,P2,…,Pi,…Pn之间,协同计算一个公开函数f(x1,x2,…,xi,…xn),其中xi是Pi的私有数据。这项技术在云、大数据和人工智能等领域有着非常重要的应用。目前针对MPC协议的研究表明它的安全性和性能已经满足了工业产品化的初步要求。其中,SPDZ系列协议是针对算术电路的著名的MPC协议之一,包含SPDZ、MASCOT、SPDZ2k等。
现有技术中,为了高效且安全地完成多方协同计算的功能,SPDZ系列协议包含两个阶段:预处理阶段和在线阶段。其中,预处理阶段独立于待计算的函数及其输入,为在线阶段的计算准备数据材料,这使得在线阶段能快速地完成协同函数计算。SPDZ系列协议的在线阶段的设计是相似的,而预处理阶段可以通过不经意传输协议或同态加密实现。不论SPDZ系列协议的哪种阶段,都包含MAC(消息验证码,MessageAuthentication code)技术来识别攻击行为,但是SPDZ系列协议中采用的MAC技术并不能识别出具体攻击者身份或者不合法数据。
也即,这一系列协议虽然能够在协议执行过程中识别出攻击行为或不合法数据传输行为的发生,但却识别不出谁是不合法数据。只要攻击行为或不合法数据一出现,协议即刻终止。这就导致合法的参与方不知道协议终止的原因。除此之外,在实际部署协议时,不合法数据也许不是来源于攻击者,而是传输中的错误,这种情况下的协议终止也导致了性能损失。
如何准确识别出不合法数据本身,从而提高传输性能,这是一个有待解决的问题。
发明内容
鉴于此,本发明实施例提供了一种SPDZ系列协议中的消息验证方法和验证装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本发明的技术方案如下:
根据本发明的一方面,提供一种SPDZ系列协议中的消息验证方法,该方法包括以下步骤:
各个数据参与方通过广播接收预定参与方基于多项私有数据经掩码操作计算出的多个随机化数据;
各个参与方生成与多个私有数据对应的多个MAC分片;
由一个参与方分别以多个随机化数据中的单个随机化数据和每个私有数据对应的 MAC分片为输入,对输入的数据进行MAC验证,并基于MAC验证结果来确定不合法数据和/或攻击者。
在本发明一些实施例中,所述方法还包括:在数据分片的打开运算阶段,对打开的多个私有数据进行MAC验证,该步骤包括:在数据分片的打开运算阶段,对打开的多个私有数据进行MAC验证,该步骤包括:各参与方抽取与打开的多个私有数据对应的多个掩码值,并基于掩码值和打开的多个私有数据产生经掩码的多个随机化数据;各参与方分别以多个随机化数据中的每个随机化数据和对应的MAC分片为输入,对输入的数据进行 MAC验证,并基于MAC验证结果来确定不合法数据。
在本发明一些实施例中,所述方法还包括:对于在线计算阶段打开的多个密文值,分别进行MAC验证;对于在线计算阶段的输出值,进行MAC验证。
在本发明一些实施例中,所述方法还包括:将当前验证MAC验证结果通知参与方;基于各个参与方的反馈结果确定是否出参与方中剔除攻击者。
在本发明一些实施例中,所述方法还包括:在线计算阶段的输出值进行MAC验证时,如果输出错误符号,则确定输出值是不合法数据,并询问各个参与方协议是否终止协议。
在本发明一些实施例中,基于MAC验证结果来确定不合法数据和攻击者包括:如果针对所有私有数据,均检测到不合法数据,则确定所述预定参与方为攻击者;如果针对预定数量以下的私有数据检测到不合法数据,则确定该不合法数据为传输错误导致的不合法数据。
在本发明一些实施例中,所述多个随机化数据是基于如下条件计算出的:
Figure BDA0002263041840000021
其中,r0,rh为掩码值。
在本发明一些实施例中,多个参与方生成与多个私有数据对应的多个MAC分片的步骤包括:
Figure BDA0002263041840000022
其中,r0,rh为掩码值,
Figure BDA0002263041840000023
为MAC分片,i=1,2,…,n;n为参与方的数目。
本发明的另一方面,还提供一种SPDZ系列协议中的消息验证装置,该装置包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如前所述方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述方法的步骤。
本发明提供的SPDZ系列协议中基于MAC技术的消息验证方法和装置,能够识别出攻击者身份和不合法数据,从而能够迫使攻击者按照规定步骤执行协议,并使得合法的参与方能够基于对攻击者或不合法数据的识别记过决定是否在剔除攻击者或者不合法数据后继续执行协议,这大大提高了系统安全性和系统性能。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为现有的SPDZ系列协议中各模块之间的调用关系。
图2为本发明一实施例的分片元素输入过程中消息验证方法的流程示意图。
图3为本发明一实施例的分片元素打开过程中消息验证方法的流程示意图。
图4为本发明一实施例的输出过程中消息验证方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
现有SPDZ系列协议采用有限域上的加法秘密共享方案和信息理论安全的MAC技术来共同保证抵抗积极敌手的安全性。为了保护私有数据
Figure BDA0002263041840000041
不泄漏给除了本身数据拥有者之外的其他参与方并同时验证其合法性,私有数据x具有数据结构:
[x]=(x(1),…,x(n),m(1),…,m(n)(1),…,Δ(n)) (1)。
其中,中括号“[]”表示中括号内的元素基于有限域上加法的分片数据结构,参与方Pi持有随机分片x(i)、随机MAC分片m(i)和固定密钥分片Δ(i),使得MAC关系m=x·Δ成立,其中在有限域
Figure BDA0002263041840000043
上x=∑ix(i),m=∑im(i),Δ=∑iΔ(i),1≤i≤n,n为参与方的数量。在SPDZ系列协议中,用于创建这种分片的数据结构的模块是Π[·],在此称为分片创建模块。除了该模块外,为完成安全计算,SPDZ系列协议同时包含如下面的表1所示的其他模块,表1中给出了各模块的名称,同时给出了各模块的功能的简单说明。
表1.模块:
Figure BDA0002263041840000042
这些模块中,Π[·]和ΠOnline模块涉及MAC技术,而ΠTriple与ΠInputTuple模块须调用Π[·]模块,也即,ΠTriple与ΠInputTuple模块在调用时也涉及MAC技术,ΠTriple与ΠInputTuple模块是在预处理阶段由预处理模块(ΠPrep模块)调用的,各模块的调用关系如图1所示。
由于现有的SPDZ系列协议中采用的MAC技术是针对大量数据的线性组合,在用MAC技术识别出存在攻击或不合法数据时,并不能识别出谁是不合法数据,由此,本发明提供了一种新的用于识别不合法数据本身的、适用于SPDZ系列协议的MAC技术,来代替原来的只能识别攻击或不合法行为是否发生的MAC技术,使数据协同计算中的合法参与者能够识别哪个数据为不合法数据。
在本发明实施例中,对涉及MAC技术的Π[·]模块的操作流程(协议执行过程)以及ΠOnline模块的操作流程(协议执行过程)进行了改进,通过对掩码后的私有数据分别执行MAC验证来识别不合法数据。
下面将从基于数据结构的基础MAC验证技术(ΠMACCheck模块)开始,结合各个模块的相关SPDZ系列协议的协议执行过程来描述本发明的实现方式。
(一)协议1:有关基础MAC验证
用于基础MAC验证的模块:ΠMACCheck模块
ΠMACCheck模块的输入:打开的值(此处例如用y表示)和Pi的MAC分片m(i)。其中, y的分片y(i)是由各个参与方Pi进行广播。
有关基础MAC验证的协议执行过程如下:
(1)各参与方Pi计算σ(i)=m(i)-y·Δ(i)
其中,Δ(i)是各参与方Pi在后面将要描述的Π[·]模块的初始化过程中抽取的固定密钥分片。
y应满足MAC关系m=y·Δ,因此在MAC验证过程中进行以下检测。
(2)一个参与方可调用ΠMACCheck模块,判断σ(1)+…+σ(n)是否等于0。
如果σ(1)+…+σ(n)=0,则验证通过,继续后续的流程。
如果σ(1)+…+σ(n)≠0,则表示各参与方中存在攻击方或y为不合法数据,输出错误符⊥并终止SPDZ协议流程。
调用ΠMACCheck模块进行验证的参与方可以使多个参与方中的任一个。
在本发明实施例中,对协议1的执行过程没有改进,由于后面的过程涉及协议1的执行,因此在此仅给出简单介绍但并不进行详细描述。
(二)协议2:有关分片数据结构创建
用于创建分片数据结构[·]的模块:Π[·]模块;
在现有SPDZ系列协议中,Π[·]模块采用的MAC技术是对一方所有数据的线性运算结果进行验证。本发明实施例中对Π[·]模块采用MAC技术进行验证的过程进行改进,如下面所详细描述。
基于协议2的规定,Π[·]模块用于对有限域
Figure BDA0002263041840000068
上的私有数据进行加法分片和认证,并允许这些分片上的在线(online)运算和打开(open)运算。此外,私有数据进行加法分片和认证前,还具有初始化步骤,该初始化步骤为:各参与方Pi抽取固定分片
Figure BDA0002263041840000069
初始化用于设置固定密钥,由于固定密钥的分片由各参与方抽取使用,在各参与方的计算过程中不再发生变动,因此该初始化只需调用一次即可。
Π[·]模块执行时,Π[·]模块的输入如下:参与方Pj的输入是(Input,id1,…,idl,x1,…,xl,Pj), Pj之外的其他参与方的输入是(Input,id1,…,idl,Pj);
其中,私有数据x1,…,xl为私有数据,id1,…,idl为用于表示要生成的分片数据x1,…,xl的身份标识号(ID号)。
在本发明实施例中,在向各参与方输入数据后,生成数据分片并对参与方Pj和生成的数据分片进行验证的步骤包括:
(1)参与方Pj抽取
Figure BDA0002263041840000061
该x0是在生成分片
Figure BDA0002263041840000062
前额外抽取的数据,抽取x0的目的是为了提高数据信息的安全性,由于该步骤同现有技术,因此不再赘述。
(2)针对h=0,…,l,参与方Pj生成随机加法分片
Figure BDA0002263041840000063
并发送
Figure BDA0002263041840000064
到各个参与方Pi
其中,i=1,2,…,n;n为参与方的数目。
(3)针对h=0,…,l,利用不经意传输协议或同态加密完成MAC分片
Figure BDA0002263041840000065
的计算,从而得到私有数据结构[xh]。
本步骤中,由于已经在初始化步骤中得到了固定密钥分片Δ(i),并在本步骤中得到了 MAC分片
Figure BDA0002263041840000066
便可基于前面提到的私有数据表达式(1)来得到私有数据结构[xh]。
即,
Figure BDA0002263041840000067
如上步骤(1)-(3)为生成数据分片的过程。生成数据分片后,将继续基于下面的步骤进行MAC验证。
(4)各参与方抽取
Figure BDA0002263041840000071
其中,r0,r1,…,rl为掩码值,掩码值可通过调用元组输入模块(ΠInputTuple模块)随机抽取产生。
(5)参与方Pj计算并广播经掩码操作后的随机化数据
Figure BDA0002263041840000072
更具体地,在本步骤中,参与方Pj计算并广播:
Figure BDA0002263041840000073
Figure BDA0002263041840000074
……
Figure BDA0002263041840000075
即,参与方Pj进行如上l次计算。
相比而言,在现有技术中,参与方通常计算并广播的是以下数据:yj=r0x0+r1x1+…+rhxh,即基于所有数据进行线性运算,而本发明实施例中,并基于各个私有数据分别进行加掩码计算后进行广播。
(6)各参与方Pi计算各个私有数据对应的MAC分片
Figure BDA0002263041840000076
在本步骤中,每一参与方Pi均进行以下计算:
Figure BDA0002263041840000077
Figure BDA0002263041840000078
……
Figure BDA0002263041840000079
也即,对于每一参与方,都进行如上l次计算。
相比而言,在现有技术中,参与方Pi进行的计算为:
Figure BDA00022630418400000710
Figure BDA00022630418400000711
而并非基于各个数据分别进行计算。
(7)由一个参与方Pi基于广播的加掩码后的随机化数据和计算的MAC分片执行ΠMACCheck模块,即进行MAC验证,以
Figure BDA00022630418400000712
与一组
Figure BDA00022630418400000713
作为输入。
本步骤中,某个参与方Pi,分别以如下l组数据中的每一组作为输入来同步执行l次 MAC验证:
Figure BDA00022630418400000714
与一组
Figure BDA00022630418400000715
(即
Figure BDA00022630418400000716
);
Figure BDA00022630418400000717
与一组
Figure BDA00022630418400000718
(即
Figure BDA00022630418400000719
);
……
Figure BDA00022630418400000720
与一组
Figure BDA00022630418400000721
(即
Figure BDA00022630418400000722
)。
针对每一组输入数据得到一个验证结果,共l个验证结果。
(8)如果验证都通过,则各参与方在id1,…,idl下标下存储数据分片与MAC分片。
如果对某一具体j值与具体某一h值对应的输入数据,ΠMACCheck模块输出错误符号⊥,则可判断存在的不合法数据Pj的私有数据xh,Pj则有可能是攻击者。在这种情况下,还可以分两种情况:(1)如果针对l个私有数据,l次ΠMACCheck验证结果中大部分或全部输出错误符号⊥(判断存在的不合法数据),因为
Figure BDA0002263041840000081
是Pj生成的,可以确定Pj为攻击者;(2)如果l个的ΠMACCheck验证结果中预定数量以下的结果或小部分结果为输出错误符号⊥,则可以确定对应的不合法数据为传输错误。
例如,如果MAC验证过程中,l个私有数据对应的l组
Figure BDA0002263041840000082
作为输入导致的MAC检测结果均为存在非法数据(即均输出了错误符号⊥),则可判断所有xh均为不合法数据,且Pj为攻击者。
如果MAC验证过程中,ΠMACCheck模块仅针对h为2时输入的
Figure BDA0002263041840000083
Figure BDA0002263041840000084
这组数据输出了错误符号⊥,则可判断x2为不合法数据,该不合法数据是由传输错误因此,可通过请求重传来解决问题,而无需终止协议。
在本发明一些实施例中,如果基于ΠMACCheck模块输出结果确定存在不合法数据并可能存在攻击者,可通过预定参与方询问除攻击者之外的参与方,以基于其他参与方的反馈来决定是否将攻击者从参与方中剔除。例如,如果其他参与方反馈的结果显示,此攻击者在预定时间段内多次出现类似情况,则向该参与者发出警告,并可在预定时间内出现不合法数据的情况多余预定次数时,将该攻击者从参与方中剔除。如果其他参与方的反馈结果显示,攻击者在预定时间内出现错误的情况比较少,则可初步认定为不合法数据来源于传输中的错误,此时可要求出现传输错误的参与者重发数据,而无需终止协议。
在本发明另选实施例中,如果基于ΠMACCheck模块输出结果确定存在不合法数据,还可以向攻击者发送警告信息,并在警告预定次数后采取合理措施,如剔除攻击者,从而迫使攻击者成为合法参与方。
协议2下的线性计算:
所有分片验证通过之后,本协议下的线性计算过程如下:
线性计算:输入(LinComb,id,id1,…,idt,c1,…,ct,c),各参与方提取下标id1,…,idt对应的分片和MAC分片
Figure BDA0002263041840000085
(j=1,…,t,i=1,…,n),计算:
Figure BDA0002263041840000086
其中,t小于等于l,c1,…,ct线性运算元素。
随后将[y]新的分片与MAC分片存储在下标id中。
由于该线性计算部分不属于本发明的改进部分,在此不进行详细描述。
协议2下的打开运算:
打开运算:输入(Open,id)
各参与方Pi提取并广播私有数据x的分片数据x(i)
打开
Figure BDA0002263041840000091
并输出x。
对计算的打开的值进行MAC验证的步骤如下:
验证:输入(Check,id1,…,idt,x1,…,xt),其中t为作为输入的私有数据数。
(1)各参与方抽取
Figure BDA0002263041840000092
其中,r1,…,rt为掩码值,掩码值可通过随机抽取产生。
(2)各参与方Pi对于h=1,…,t,计算随机化数据yh=rh·xh,和私有数据对应的MAC分片
Figure BDA0002263041840000093
其中
Figure BDA0002263041840000094
表示Pi的存储在下标idh的MAC分片。
在本步骤中,各参与方Pi计算:
y1=r1·x1
Figure BDA0002263041840000095
y2=r2·x2
Figure BDA0002263041840000096
……
yt=rt·xt
Figure BDA0002263041840000097
也即,参与方Pi进行如上t次计算。
(3)调用ΠMACCheck,yh与一组m(yh)(i)(h=1,…t)作为输入,来进行MAC验证。
本步骤中,对于参与方Pi,分别以如下t组数据中的每一组作为输入来执行t次MAC验证:
y1与一组m(y1)(i)(即,m(y1)(1),…,m(y1)(i),…,m(y1)(n));
y2与一组m(y2)(i)(即,m(y2)(1),…,m(y2)(i),…,m(y2)(n));
……
yt与一组m(yt)(i)(即,m(yl)(1),…,m(yl)(i),…,m(yl)(n))。
(4)如果验证通过,则协议继续;如果对某一具体h值对应的输入数据,ΠMACCheck输出错误符号⊥,则不合法数据是xh,由此可以准确地确定谁是不合法数据。
如果针对某一具体的h值(对应于私有数据xh),对应的ΠMACCheck验证结果为输出错误符号⊥,则可以确定xh为传输错误,请求重传即可,无需终止协议,从而提高了系统性能。
(三)协议三:安全计算
用于安全计算的模块:ΠOnline模块
在SPDZ系列协议中,ΠOnline模块采用的MAC技术与Π[·]模块中的类似,是对计算过程中所有打开的值的线形运算进行验证。
ΠOnline模块中涉及到Beaver三元组([a],[b],[c]),它是在预处理阶段生成的,满足 c=a·b。
协议三具有初始化步骤,即:各个参与方调用预处理模块(ΠPrep模块)生成Beaver三元组([a],[b],[c])和掩码值(ri,[ri])。该初始化过程与现有技术相同,在此不赘述。
除此之外,本发明实施例中,本协议还规定了,如果ΠPrep输出了攻击者身份或不合法数据,询问除攻击者之外的参与方。这样可以迫使攻击者按照合法的步骤执行协议,即迫使攻击者成为合法参与方。
本协议三的执行如下:
(1)输入:对拥有的私有数据xi,Pi取一可用掩码值(ri,[ri])
(2)广播密文ε=xi-ri
(3)计算数据分片[x]=[ri]+ε。
(4)加法计算步骤:输入([x],[y]),本地计算[x+y]=[x]+[y]。
(5)乘法计算步骤:输入([x],[y])
(I)取一Beaver三元组([a],[b],[c]),计算[∈]=[x]-[a],[ρ]=[y]-[b],打开[∈]与[ρ]分别得到∈和ρ。
(II)[y]=[c]+∈·[b]+ρ·[a]+∈·ρ。
在本发明实施例中,ΠOnline模块执行的前述操作同现有技术,不做详细描述。并且,上面给出的符号仅为了给出计算形式,本发明并不限于此。
(6)输出:步骤(5)中计算出的[y]
在本发实施例中,对计算过程中所有打开的值的线形运算进行验证的具体实现如下:
针对每一打开的值,调用ΠMACCheck模块进行验证。
函数f(x1,x2,…,xn)由多个加法与乘法组成,其中每次乘法计算需要打开并广播值∈和ρ。不失一般性,假设在计算[y]的过程中,打开了s个值:μ12,…,μs(这s个值包括每次乘法中打开并广播的∈和ρ),则对μk(k=1,2,…,s),调用ΠMACCheck模块进行MAC验证。
如果验证成功,协议继续;
如果对k,输出错误符号⊥,则μk是不合法数据,于是可由其中一个参与方询问其他各个参与方协议是否终止。这样避免了一出现不合法数据就终止协议。
(2)打开输出值[y]并调用ΠMACCheck模块进行验证。如果验证成功,协议输出最终结果;如果输出错误符号⊥,则y是不合法数据,可由其中一个参与方询问其他各个参与方协议是否终止。这样避免了一出现不合法数据就终止协议。
基于本发明的如上协议执行过程可知,如图2所示,在涉及数据分片的阶段,本发明提供的SPDZ系列协议中的消息验证方法包括如下步骤:
步骤S110,各个数据参与方Pi通过广播接收预定参与方Pj基于多个私有数据(xh)经掩码操作计算出的多个随机化数据
Figure BDA0002263041840000111
步骤S120,各个参与方生成与多个私有数据对应的多个MAC分片
Figure BDA0002263041840000112
步骤S130,由一个参与方分别以多个随机化数据中的每个随机化数据
Figure BDA0002263041840000113
和每个私有数据对应的MAC分片为输入,对输入的数据进行MAC验证,并基于MAC验证结果来确定不合法数据和攻击者。
本实施例中提供的适用于SPDZ系列协议的MAC技术,使数据协同计算中的合法参与者不仅能够识别攻击者身份,还能识别那个数据为不合法数据。
作为示例,各个数据参与方接收的预定参与方基于多组分片数据经掩码操作计算出并进行广播的多个私有数据是基于如下条件计算出的:
Figure BDA0002263041840000114
其中,r0,rh为掩码值。
作为示例,多个参与方计算与多个私有数据对应的多个MAC分片的步骤包括:
Figure BDA0002263041840000115
其中,r0,rh为掩码值,
Figure BDA0002263041840000116
为MAC分片,i=1,2,…,n;n为参与方的数目。
作为示例,基于对单个私有数据和对应的MAC分片的MAC验证结果来确定不合法数据和攻击者包括:如果针对所有的或大不部分私有数据,均检测到不合法数据,则确定所述预定参与方Pj为攻击者;如果针对预定数量(如1或2等,并不限于此)以下的参与方检测到不合法数据,则确定所述不合法数据为传输错误导致的不合法数据。
作为示例,针对传输错误导致的不合法数据,对应的参与方向数据发送方请求重传数据。
在另一实施例中,本发明的SPDZ系列协议中的消息验证方法还包括:在私有数据的打开运算阶段,对打开的多个私有数据进行MAC验证。如图3所示,该MAC验证步骤包括:
步骤S210,各参与方抽取与打开的多个私有数据(x1,…,xt)对应的多个掩码值,并基于掩码值和打开的多个私有数据产生经掩码的多个私有数据(y1,y2,…,yt)。
步骤S220,各参与方分别以经掩码的多个私有数据(y1,y2,…,yt)中的单个私有数据和对应的MAC分片为输入,对输入的数据进行MAC验证,并基于对单个私有数据和对应的MAC分片的MAC验证结果来确定不合法数据。
在另一实施例中,如图4所示,所述方法还包括:
步骤S310,对于在线计算阶段打开的多个密文值,分别进行MAC验证。
如果验证成功,协议继续;如果验证失败,可由其中一个参与方询问其他各个参与方协议是否终止
步骤S320,对于在线计算阶段的输出值,进行MAC验证。
如果验证成功,协议输出最终结果;如果验证失败,可由其中一个参与方询问其他各个参与方协议是否终止。
综上所述,本发明设计了一种适用于SPDZ系列协议的MAC技术,使数据协同计算中的合法参与者不仅能够识别攻击者身份,还能识别那个数据为不合法数据。
1.如果协议执行中存在攻击者和他采用的不合法数据,由于能够准确识别,则本发明可以迫使攻击者按照合法的步骤执行协议,即促使攻击者成为了合法参与方。
2.如果检测到的不合法数据来源于其他错误,比如网络传输导致的,则本发明有助于在移除该错误后继续完成协议,而不是立即终止协议,这提高了系统性能。
因此,本发明中的MAC技术避免了协议在一检测到攻击就直接终止的性能损失。
相应地,本发明还提供一种SPDZ系列协议中的消息验证装置,该装置包括处理器和存储器,存储器中用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如前所述方法的步骤。
在本公开的一些实施例中,上述乘法计算装置除了包括处理器和存储器之外,还可包括收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号,从而实现前述方法步骤。
本公开还涉及存储介质,其上可以存储有计算机程序代码,当程序代码被执行时可以实现本发明的方法的各种实施例,该存储介质可以是有形存储介质,诸如光盘、U盘、软盘、硬盘等。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除 ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种SPDZ系列协议中的消息验证方法,其特征在于,该方法包括以下步骤:
各个数据参与方通过广播接收预定参与方基于多个私有数据经掩码操作计算出的多个随机化数据;
各个参与方生成与多个私有数据对应的多个MAC分片;
由一个参与方分别以多个随机化数据中的每个随机化数据和每个私有数据对应的MAC分片为输入,对输入的数据进行MAC验证,并基于MAC验证结果来确定不合法数据和/或攻击者。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在数据分片的打开运算阶段,对打开的多个私有数据进行MAC验证,该步骤包括:
各参与方抽取与打开的多个私有数据对应的多个掩码值,并基于掩码值和打开的多个私有数据产生经掩码的多个随机化数据;
各参与方分别以多个随机化数据中的每个随机化数据和打开的每个私有数据对应的MAC分片为输入,对输入的数据进行MAC验证,并基于MAC验证结果来确定不合法数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于在线计算阶段打开的多个密文值,分别进行MAC验证;以及
对于在线计算阶段的输出值,进行MAC验证。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
将当前验证MAC验证结果通知参与方;并且
基于各个参与方的反馈结果确定是否出参与方中剔除攻击者。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在线计算阶段的输出值进行MAC验证时,如果输出错误符号,则确定输出值是不合法数据,并询问各个参与方协议是否终止协议。
6.根据权利要求5所述的方法,其特征在于,基于MAC验证结果来确定不合法数据和攻击者包括:
如果针对所有的或大不部分私有数据,均检测到不合法数据,则确定所述预定参与方Pj为攻击者;如果针对预定数量以下的私有数据检测到不合法数据,则确定所述不合法数据为传输错误导致的不合法数据。
7.根据权利要求1所述的方法,其特征在于:所述多个随机化数据是基于如下条件计算出的:
Figure FDA0002263041830000021
其中,r0,rn为掩码值。
8.根据权利要求7所述的方法,其特征在于:
多个参与方生成与多个私有数据对应的多个MAC分片的步骤包括:
基于如下条件表达式生成与多个私有数据对应的多个MAC分片:
Figure FDA0002263041830000022
其中,r0,rh为掩码值,
Figure FDA0002263041830000023
为MAC分片,i=1,2,…,n;n为参与方的数目。
9.一种SPDZ系列协议中的乘法计算装置,该装置包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现权利要求1-8中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
CN201911077852.XA 2019-11-06 2019-11-06 Spdz系列协议中的消息验证方法、装置及存储介质 Active CN112769742B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911077852.XA CN112769742B (zh) 2019-11-06 2019-11-06 Spdz系列协议中的消息验证方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911077852.XA CN112769742B (zh) 2019-11-06 2019-11-06 Spdz系列协议中的消息验证方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112769742A true CN112769742A (zh) 2021-05-07
CN112769742B CN112769742B (zh) 2024-06-14

Family

ID=75692813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911077852.XA Active CN112769742B (zh) 2019-11-06 2019-11-06 Spdz系列协议中的消息验证方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112769742B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017033442A1 (ja) * 2015-08-26 2017-03-02 日本電気株式会社 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体
CN107076762A (zh) * 2014-09-10 2017-08-18 豪夫迈·罗氏有限公司 免疫原性突变体肽筛选平台
WO2017180652A1 (en) * 2016-04-11 2017-10-19 Applied Proteomics, Inc. Mass spectrometric data analysis workflow
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
CN109194478A (zh) * 2018-11-19 2019-01-11 武汉大学 一种非对称环境下多方联合生成sm9数字签名的方法
WO2019101243A2 (en) * 2019-03-18 2019-05-31 Alibaba Group Holding Limited Preventing misrepresentation of input data by participants in a secure multi-party computation
WO2019115697A1 (en) * 2017-12-14 2019-06-20 Robert Bosch Gmbh Method for faster secure multiparty inner product with spdz
CN109936457A (zh) * 2019-02-20 2019-06-25 深圳前海微众银行股份有限公司 区块链多方见证方法、装置、设备及计算机可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
CN107076762A (zh) * 2014-09-10 2017-08-18 豪夫迈·罗氏有限公司 免疫原性突变体肽筛选平台
WO2017033442A1 (ja) * 2015-08-26 2017-03-02 日本電気株式会社 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体
WO2017180652A1 (en) * 2016-04-11 2017-10-19 Applied Proteomics, Inc. Mass spectrometric data analysis workflow
CN109416926A (zh) * 2016-04-11 2019-03-01 迪森德克斯公司 质谱数据分析工作流程
WO2019115697A1 (en) * 2017-12-14 2019-06-20 Robert Bosch Gmbh Method for faster secure multiparty inner product with spdz
CN109194478A (zh) * 2018-11-19 2019-01-11 武汉大学 一种非对称环境下多方联合生成sm9数字签名的方法
CN109936457A (zh) * 2019-02-20 2019-06-25 深圳前海微众银行股份有限公司 区块链多方见证方法、装置、设备及计算机可读存储介质
WO2019101243A2 (en) * 2019-03-18 2019-05-31 Alibaba Group Holding Limited Preventing misrepresentation of input data by participants in a secure multi-party computation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
X. J. KANG: "Double image encryption based on the random fractional transform", 《IET INTERNATIONAL RADAR CONFERENCE 2015》 *
董义明: "改进遗传算法的MapReduce并行化研究", 《电脑知识与技术》 *

Also Published As

Publication number Publication date
CN112769742B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
CN109714167B (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
CN109905247B (zh) 基于区块链的数字签名方法、装置、设备及存储介质
EP2346207A1 (en) A method for authenticating a trusted platform based on the tri-element peer authentication (tepa)
CN111064579A (zh) 基于区块链的安全多方计算方法、系统、及存储介质
CN110555933A (zh) 电子投票方法、装置、设备及计算机存储介质
CN104901809B (zh) 基于口令和智能卡的远程认证协议方法
Hsieh et al. Exploiting hash functions to intensify the remote user authentication scheme
CN112084234A (zh) 数据获取方法、装置、设备和介质
CN115564434A (zh) 一种基于零知识证明的区块链可监管隐私保护方法
WO2000062503A2 (en) Apparatus and method for authenticating messages in a multicast
CN113672890A (zh) 身份认证方法、装置、电子设备及计算机存储介质
CN108206795B (zh) 基于置信传递的频率选择性衰落信道的盲认证方法和系统
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
CN110661816B (zh) 一种基于区块链的跨域认证方法与电子设备
KR102085466B1 (ko) 엔티티의 신원의 유효성을 검증하기 위한 방법 및 장치
CN112769742A (zh) Spdz系列协议中的消息验证方法、装置及存储介质
CN114598454B (zh) 密钥生成及身份认证方法、装置、设备及计算机存储介质
CN105635157A (zh) 一种口令更新的方法
CN114944921A (zh) 登录认证方法、装置、电子设备及存储介质
CN109981289B (zh) 隐式证书下的椭圆曲线数字签名算法的批认证方法
CN114443304A (zh) 云计算平台的安全认证方法、装置和计算机可读存储介质
CN113162759A (zh) 基于恶意mascot协议的安全数据共享计算方法及系统
KR102104733B1 (ko) 엔티티의 신원의 유효성을 검증하기 위한 다중-ttp-기반의 방법 및 장치
CN115277240B (zh) 一种物联网设备的认证方法及装置
CN111144893B (zh) 一种基于区块链的粮食交易检测系统、方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant