CN115065463B - 一种隐私保护的神经网络预测系统 - Google Patents
一种隐私保护的神经网络预测系统 Download PDFInfo
- Publication number
- CN115065463B CN115065463B CN202210656199.8A CN202210656199A CN115065463B CN 115065463 B CN115065463 B CN 115065463B CN 202210656199 A CN202210656199 A CN 202210656199A CN 115065463 B CN115065463 B CN 115065463B
- Authority
- CN
- China
- Prior art keywords
- client
- server
- layer
- seed
- party
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 22
- 238000003062 neural network model Methods 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 230000003993 interaction Effects 0.000 claims abstract description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 24
- 238000011156 evaluation Methods 0.000 claims description 18
- 238000013209 evaluation strategy Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 2
- 230000006870 function Effects 0.000 description 51
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 241000499489 Castor canadensis Species 0.000 description 1
- 235000011779 Menyanthes trifoliata Nutrition 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011976 chest X-ray Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种隐私保护的神经网络预测系统,属于信息安全技术领域。本发明包括客户端、服务端和第三方;在神经网络模型预测的离线阶段,客户端、服务端和第三方通过协商完成模型参数的分享;在线预测阶段,客户端将输入数据的分享值发送给服务端;客户端和服务端利用安全计算协议共同执行具有隐私保护的神经网络预测,服务端将得到的预测结果的分享返回给客户端,客户端重构得到预测结果。在通信方面,本发明仅需一轮通信交互,且降低了现有方案的通信开销数据量,以使得本发明的通信效率显著提高,本发明中所有的计算都是基于环而不是域。本发明还重新定制了离线阶段的协议,不仅提高了离线阶段的效率而且仅需轻量级的秘密分享操作。
Description
技术领域
本发明属于信息安全技术领域,具体属于一种隐私保护的神经网络预测系统
背景技术
随着深度学习技术的发展,神经网络预测技术被应用于越来越多的领域,例如图像分类、医疗诊断和语言助手等,许多互联网公司开放了在线预测服务来帮助完善这些应用,例如谷歌的ML Engine、微软的Azure ML Studio以及亚马逊的SageMaker等。然而,现有的基于深度学习的预测系统正面临着极为严重隐私问题。一方面,用户要向服务提供者发送包含隐私信息的输入数据,这有可能导致用户的隐私信息泄露;另一方面,如果使用替代方案——服务提供者将神经网络模型发送给用户,这又容易损伤服务提供者的权益。
为了解决上述隐私问题,研究者们提出了许多基于同态加密或安全两方计算的解决方案,这些方案保证了服务提供方无法获知用户的隐私信息,同时用户也无法从服务提供方得到除预测结果外的任何信息。这些解决方案虽然能够保证隐私安全,但是所需的计算开销和通信开销都很大。
发明内容
本发明提供了一种隐私保护的神经网络预测系统,以期在不牺牲模型准确率的前提下,做到隐私保护和保障协议高效性。
本发明采用的技术方案为:
一种隐私保护的神经网络预测系统,该系统包括客户端、服务端和第三方;
客户端、服务端和第三方均部署有相同的伪随机数生成器;
所述服务端部署有用于指定预测任务的神经网络模型,所述神经网络模型的网络层包括两类:线性层和非线性层;
客户端向服务端发起任务预测请求,服务端向客户端返回用于当前任务预测的神经网络模型的层次结构以及每层的网络层类型;
在神经网络模型预测的离线阶段,客户端、服务端和第三方对神经网络模型的模型参数W进行分享:
客户端、服务端和第三方三者之间两两生成伪随机数种子,得到客户端与服务端之间的种子seedcs,客户端与第三方之间的种子seedc,以及服务端与第三方之间的种子seeds;
基于客户端、服务端和第三方之间的通信交互获取模型参数W的分享值:
1)若当前网络层为线性层,执行下述处理:
客户端和第三方分别将当前的种子seedc输入到伪随机数生成器中,生成伪随机数a;并按照约定的更新策略对种子seedc进行更新,再将种子seedc输入到伪随机数生成器中,生成伪随机数[ab]0;客户端和第三方每一次将种子seedc输入到伪随机数生成器中后,均按照约定的更新策略对种子seedc进行更新;
服务端和第三方分别将当前的种子seeds输入到伪随机数生成器中,生成伪随机数b,服务端和第三方每一次将种子seeds输入到伪随机数生成器中后,均按照约定的更新策略对种子seeds进行更新;
第三方计算当前线性层的乘积分享参数[ab]1=ab-[ab]0并发送给服务端,即每一层线性层都分别对应一个[ab]1;
客户端和服务端分别将当前的种子seedcs输入到伪随机数生成器中,生成伪随机数r′,客户端和服务端每一次将种子seedcs输入到伪随机数生成器中后,均按照约定的更新策略对种子seedcs进行更新;
服务端将W-b发送给客户端,客户端在本地计算参数[Wr]0=(W-b)r-[ab]0modN,服务端在本地计算[Wr]1=br′-[ab]1;
即在客户端,神经网络模型的每一线性层都分别对应一个[Wr]0;在服务端,神经网络模型的每一线性层都分别对应一个[Wr]1;
2)若当前网络层为非线性层,执行下述处理:
第三方根据约定的函数秘密分享策略生成密钥对(k0,k1),并将密钥k0发送给客户端,密钥k1发送给服务端;
其中,函数秘密分享策略包括两部分:概率多项式时间的密钥生成策略、多项式时间的评估策略,密钥生成策略用于生成密钥对(k0,k1),评估策略用于对输入进行评估;
在神经网络模型预测的在线阶段,客户端和服务端基于离线阶段的模型参数W分享结果共同执行神经网络模型的前向推理运算:
客户端基于配置的秘密分享算法将待预测数据x分为两部分x=[x]0+[x]1modN,客户端发送[x]1到服务端;
神经网络模型的每一层的前向推理运算包括:
I)对线性层,前向推理运算包括:
II)对非线性层,前向推理运算包括:
当前向推理运算到神经网络模型的最后一层(输出层)时,服务端将最后一层的输出[y]1返回给客户端;客户端基于收到的最后一层的输出[y]1和本端当前计算得到最后一层输出[y]0得到最终的预测结果:y=[y]0+[y]1。
进一步的,第三方基于约定的函数秘密分享策略Gena,b生成密钥对(k0,k1)具体为:
进一步的,客户端和服务端分别通过约定的函数秘密分享策略中的评估策略得到当前层的输出,具体为:
(1)客户端和服务端分别基于约定的算法计算当前层的模型参数的分享ω0,p和ω1,p,其中下标p∈{0,1};
其中,Evala,b′()表示多项式时间的评估函数;
本发明提供的技术方案至少带来如下有益效果:
本发明既能有效的保护客户端数据的隐私,又能有效的保护服务端的网络模型参数信息,且计算效率高效;基于本发明的非线性层协议(非线性层的数据交互)显著降低了通信开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种隐私保护的神经网络预测系统的系统原理示意图;
图6是本发明实施例中,离线阶段的处理过程示意图;
图7是本发明实施例中,在线阶段的处理过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了解决基于神经网络的在线预测服务的隐私保护,Mishra等人提出了Delphi框架——把整个预测的过程分为了与输入无关的离线阶段、与输入有关的在线阶段,将密码协议引入了神经网络模型中,并通过设计一些算法尽可能地将在线阶段中比较耗时的密码操作转移到离线阶段中。以使得在线阶段的执行效率能极大的提升。但是,Delphi框架中仍存在一个问题——非线性层的开销比线性层的开销大几个数量级。这是因为基于混淆电路计算一个函数需要将其分解成一个二进制门电路,并以密文形式逐位处理。例如,采用了Delphi框架后,Resnet32模型的训练过程中激活函数ReLU操作占整个在线阶段执行时间的93%。虽然最近的工作中已经出现了一些对ReLU的优化方案,但是这些方案要么是无法直接拆解为在线阶段和离线阶段,要么是需要更多轮次的通信或特殊的秘密分享原语。
本发明实施例的发明目的在于:增强神经网络预测系统,以期在不牺牲模型准确率的前提下,做到隐私保护和保障协议高效性。具体来说,本发明实施例的目标如下:
1)隐私保护。用户端的输入包含敏感信息,服务端的模型是一种重要的财产,在预测过程中它们都不应该泄露。
2)高效评估。所提出的方案增加的计算和通信开销应该适中而不能太高,这在实时场景或资源有限的情况下尤为重要。
3)预测准确率。与不具备隐私保护的预测任务相比,所设置的协议(安全计算协议)不应该牺牲预测的准确性,尤其是当其应用于医疗等关键场景时。
如图1所示,本发明实施例提供的一种隐私保护的神经网络预测系统的系统模型包括客户端和服务端(也称服务端),其中,服务端持有一个神经网络模型M以及模型参数ω,客户端持有隐私数据样本x(如图像数据、文本数据、音频数据等)。客户端的目标是得到以隐私数据作为输入对应的模型预测输出,即:M(ω,x),同时不让服务端从此过程中获知任何有关客户端输入的信息。例如,某个病人持有自己的X光胸片图,借助本发明,他就可以在不泄露胸片图的情况下得到预测的结果,即是否患病。
如图1所示,本发明的预测流程可以概况为三个步骤:
1)客户端将输入数据x的分享值发送给服务端;
2)客户端和服务端利用安全计算协议共同执行具有隐私保护的神经网络预测;
3)服务端将得到的预测结果的分享返回给客户端,客户端进行重构得到预测结果。
图1中,FBeaver表示用于生成乘法三元组的函数,FFSS表示函数秘密分享,“#cb4f$9z”表示预测结果的分享,Conv表示卷积层,ReLU表示激活函数、Pooling表示池化层、FC表示全连接层。
本发明实施例中设置的密码协议所涉及的基础算法如下:
1)秘密分享:本发明实施例中采用了轻量级的基于环的加法秘密分享。Share(x)代表分享算法,以n位的数值x为输入,输出两个随机值[x0],x1],且在环上满足x=[x0]+[x1]。Recon([x0],[x1])代表重构算法,以[x0],x1]为输入,输出x=[x0]+[x1]modN。加法秘密分享的安全性保障在于只给出[x0],x1]中的一个,无法重构出原始数据x。
2)函数秘密分享(FSS):函数秘密分享是一种高效的算法,它把一个函数f分解为两个分享函数f0,f1且对于任意x满足f0(x)+f1(x)=f(x),这样一来,原始函数f就可以很好地隐藏起来而不容易泄露。一个两方的函数秘密分享方案由G□□,Eval两部分组成,这两种算法主要功能如下:
基于已有的工作,在进行一定转换后,函数秘密分享方案可以对输入的分享值进行评估。构建一个函数秘密分享方案的关键在于偏移函数fr(x)=f(x-r),其中,r是在环中选取的一个随机数,并且以秘密分享的形式为两方共同持有。持有输入x的分享值的各方首先以加掩码的方式公开输入x+r,而后以x+r作为fr(x)的输入计算函数秘密共享方案的密钥对,而这也就相当于以x作为f(x)的输入生成密钥对,即:fr(x+r)=f(x)。
3)伪随机数生成器:伪随机数生成器的输入是一个平均采样的随机种子和一个安全参数κ,输出一长串伪随机数。伪随机数生成器的安全性保障在于只要随机种子不泄露,那么生成器的输出和均匀分布在多项式时间内是无法区分的。本发明实施例中使用伪随机数生成器可以保证两方无需通信交互就能生成相同的伪随机数。
基于上述技术,本发明实施例中,为非线性操作构造了以下协议:
1)比较协议:本发明实施例中比较操作是一种基础的操作,经常被非线性函数所调用,如ReLU、Maxpool的实现都会用到比较操作。假设比较操作函数为:
本发明实施例中,由两部分组成(如图2和图3所示)。算法生成密钥对(k0,k1),其中k0,k1各代表着一颗二叉树,二叉树叶子结点的标签由输入x∈{0,1}n所决定,叶子结点的数量为2n。其中,{0,1}n表示由0和1构成的长度为n的字符串。称从根结点到x标定的叶子结点的路径为评估路径,称代表a的评估路径为特殊路径。二叉树上每一个结点都包含一个元组(sp,vp,tp),其中p∈(0,1)表示参与方编号,sp是伪随机数生成器的随机种子,vp是在环中的输出,tp是控制位。算法以根结点的种子作为初始种子计算输入x对应的评估路径上所有结点的标签。
1)对比较函数中的的输入数据数据a({0,1}n),n表示a的字节长度,将a拆解为n个1比特长度的数值a0,……,an∈{0,1}n,两个参与方分别对根结点(编号为0)的随机种子进行初始化对控制位分别进行初始化将Va初始化为0,其中,图2中的表示实数域。下标“0”和“1”用于区分两个参与方,随机种子和控制位的上标用于表示结点编号;
4)若xi=0,计算V←V+(-1)p·[vL+t(i-1)·Vcw]并设定当前结点i的左子节点为下一个结点,否则计算V←V+(-1)p·[vR+t(i-1)·Vcw]并设定当前结点i的右子节点为下一个结点;
5)最后,计算V←V+(-1)p·[s(n)+t(n)·CW(n+1)]。
(sp,vp,tp)——p∈(0,1)表示参与方编号,sp是伪随机数生成器的随机种子,vp是在环中的输出,tp是控制位。二叉树中每一个结点都对应一个这样的元组,如表示参与方p的结点i所对应的三元组。此外,sp,vp,tp的上标L或R表示当前结点的左子结点或右子结点。
CW——校正字符串,CW的上标用于表示其所属的结点编号。
kp——算法执行后参与方p获得的密钥。
V,Va,Vcw——用于记录和计算输出结果。
需要说明的是,本发明实施例中,比较协议需保持以下条件始终成立:
(a)对于任意不在特殊路径上的结点,它持有的两个随机种子相同;
(b)对于任意一个在特殊路径上的结点,它的两个控制位不同且它的两个随机种子是无法区分的;
为了满足上述条件,生成一系列校正字符串CW,当执行过程中生成输入x对应的评估路径时,如果生成的评估路径偏离了特殊路径,那么评估路径上第一个不在特殊路径上的结点j持有的两个随机种子s0,s1是相同的。此外,如果结点j在特殊路径的右边,即:x>a,那么从根结点到结点j的所有v0+v1的总和为0,否则总和为b。
ReLU协议:ReLU是深度学习模型中最常用的激活函数。在整数环中,ReLU的表述如下:
由于在函数秘密分享方案下ReLU的计算基于输入的分享值,那么就需要设置一个偏移函数ReLUr(x)=ReLU(x-r),使得当输入x+r时,输出的结果正好是ReLU(x),即:ReLUr(x+r)=ReLU(x)。这样一来,ReLUr(x)可以表述为:
这种方案的出错概率为而通常|x|<<N,例如,当N为一个32位长的整数时,选取的x仅为12位长的整数,出错概率仅为百万分之一。此外,神经网络预测过程中对错误的容忍度很高。评估结果也同样证实了此方案对模型准确率的影响可以忽略不计。
基于上述思想,本发明实施例为ReLUr函数设置了一个高效的函数秘密分享协议,其由两部分组成(如图4和5所示)。该函数秘密分享协议中用到了两个小技巧:(a)协议中实际需要用到的函数是利用已有的函数进行转换即可;(b)协议中实际需要的输出是一个多项式(如偏移函数g(x)=c-r),那么可以令b=(ω0,ω1)=(1,-r)表示多项式f(x)=x-r,令b=(ω0,ω1)=(0,0)表示f(x)=0。这样一来,协议双方就可以通过在本地计算[ω0](x+r)+[ω1]得到ReLU(x)的分享值。
3)分别构造密钥kp=k′p||rp||bp,p=0,1。
1)拆解密钥kp=k′p||rp||bp,参与方A和B相互发送cp+rp(p=0,1),重构出c+r;
3)计算yp=ω0,p(x+r)+ω1,p。
a,b,b′,r——算法的固有参数,用于生成多项式。
(ω0,ω1)——模型参数的分享,用于输出时重构多项式。
k′p,kp——k′p表示参与方p的密钥的一部分,kp表示参与方p的整个密钥。
x+r——函数的实际输入。
yp——参与方p得到的输出。
3)Maxpool协议:基础的Maxpool算法用于计算d个数x1,x2,……,xd中的最大值。本发明实施例中基于函数秘密分享设置了一个Maxpool协议,协议参与方将d个数排列成深度为logd的二叉树,递归地进行两两比较。比较方式可表述为:max([xi],xj])=ReLU([xi],-[xj])+[xj]。xi和xj表示被比较的两个对象。
本发明实施例将模型预测分为了离线阶段和在线阶段两部分,主要目标在于减少在线阶段的开销,尤其是非线性层的开销。
离线阶段的流程如图6所示,主要分为以下三部分:
1)初始化:引入一个第三方,客户端、服务端、第三方三者两两之间生成伪随机数种子,得到三个种子seedcs,seedc,seeds。
2)线性层:主要目的在于计算W、r的分享值,其中W是服务端所持有的模型的参数,r是由客户端选取的随机数。线性层的具体操作流程如下:
第三方生成乘法三元组(Beaver三元组)a,b,ab)。具体来说,客户端和第三方利用seedc共同生成a,[ab]0,服务端和第三方利用seeds共同生成b,最后,第三方计算出[ab]1=ab-[ab]0并发送给服务端。
客户端和服务端利用seedcs共同生成r′,客户端计算r=r′-amodN,服务端将W-b发送给客户端。最后,客户端和服务端分别在本地计算[Wr]0=(W-b)r-[ab]0modN,[Wr]1=br′-[ab]1。
3)非线性层:第三方利用函数秘密分享方案生成密钥对,并将密钥分配给客户端和服务端。以ReLU函数的计算为例,Maxpool的计算方式也类似。具体操作流程如下:
在线阶段的流程如图7所示,主要分为以下两部分:
1)线性层:离线阶段生成的W,r,x的分享值始终保持不变。具体操作流程如下:
客户端发送[x]0-rmodN到服务端,同时令[y]0=[Wr]0。
服务端计算x-r=[x]0-r+[x]1modN,计算[y]1=[Wr]1+W(x-r)modN。
2)非线性层:以ReLU函数的计算为例,具体操作流程如下:
客户端发送[x]0+[r]0modN到服务端,服务端发送[x]1+[r]1modN到客户端,这样一来,双方都能计算出x+rmodN。即:x+r=[x]0+[r]0+[x]1+[r]1modN,然后双方同时通过算法,以x+rmodN为输入,分别得到[y]0,y]1,即ReLU(x)的分享值。
需要说明的是,图7的非线性层的r不同于线性层的r,非线性层的r满足:r=[r]0+[r]1modN。
本发明实施例提供的一种隐私保护的神经网络预测系统是一种高效的、隐私保护的神经网络预测系统,与已有的Delphi类似,本发明实施例建立在预处理范式基础之上,但与Delphi相比,本发明实施例的在线阶段的效率获得了巨大的提升。本发明实施例提供的隐私保护的神经网络预测系统的有效效果至少包括:
1)分利用密码技术(函数秘密分享)为非线性层设置了高效的密码协议,并使用深度学习独有的优化方法对其进行了完善。本发明实施例对ReLU做了细微修改,将比较函数的调用次数从两次减少到了一次,并在理论上证明了这种修改在神经网络评估中带来的误差可以忽略不计。与通用方案中最高效的函数秘密分享方案相比,本发明实施例在线阶段的执行时间仅为它的一半。在通信方面,本发明实施例仅需一轮通信交互,其中每一方在在线阶段仅发送n比特数据(n为秘密分享环的大小),与之相比,Delphi方案的通信开销为κn比特(κ为安全参数),也就是说,本发明实施例的通信效率提高了倍,例如一般取κ=128,那么通信效率就提高了64倍。
2)对于线性层的评估,本发明实施例在线阶段的开销与Delphi方案相同,但值得注意的是,本发明实施例中所有的计算都是基于环而不是域,这与在CPU上进行的32位或64位计算是天然契合的。
综合,与现有的基于Delphi框架的方案相比,本发明实施例在线阶段的执行时间降低到了和通信开销降低到了此外,本发明实施例还重新定制了离线阶段的协议,这不仅提高了离线阶段的效率而且仅需轻量级的秘密分享操作。最后,本发明是一个模块化的系统,任何优化技术都可以直接集成到离线阶段中,且不会影响到在线过程。将本发明实施例应用在DenseNet-121上安全地实施了ImageNet规模的推理,可在48秒内完成0.51GB的通信。相比之下,唯一已知的考虑ImageNet规模任务的两方方案需要大约8分钟,并产生超过35GB的通信开销。上述仿真应用表明,与现有的基于Delphi框架的方案相比,本发明实施例在效率上获得了巨大的提升。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (5)
1.一种隐私保护的神经网络预测系统,其特征在于,包括客户端、服务端和第三方;客户端、服务端和第三方均部署有相同的伪随机数生成器;所述服务端部署有用于指定预测任务的神经网络模型,所述神经网络模型的网络层类型包括两类:线性层和非线性层;
客户端向服务端发起任务预测请求,服务端向客户端返回用于当前任务预测的神经网络模型的层次结构以及每层的网络层类型;
在神经网络模型预测的离线阶段,客户端、服务端和第三方对神经网络模型的模型参数W进行分享,包括下列步骤:
步骤A1,客户端、服务端和第三方三者之间两两生成伪随机数种子,得到客户端与服务端之间的种子seedcs,客户端与第三方之间的种子seedc,以及服务端与第三方之间的种子seeds;
步骤A2,基于客户端、服务端和第三方之间的通信交互获取模型参数W的分享值,包括:
A2-1)若当前网络层为线性层,执行下述处理:
客户端和第三方分别将当前的种子seedc输入到伪随机数生成器中,生成伪随机数a;并按照约定的更新策略对种子seedc进行更新,再将种子seedc输入到伪随机数生成器中,生成伪随机数[ab]0;客户端和第三方每一次将种子seedc输入到伪随机数生成器中后,均按照约定的更新策略对种子seedc进行更新;
服务端和第三方分别将当前的种子seeds输入到伪随机数生成器中,生成伪随机数b,服务端和第三方每一次将种子seeds输入到伪随机数生成器中后,均按照约定的更新策略对种子seeds进行更新;
第三方计算当前线性层的乘积分享参数[ab]1=ab-[ab]0并发送给服务端,即每一层线性层都分别对应一个[ab]1;
客户端和服务端分别将当前的种子seedcs输入到伪随机数生成器中,生成伪随机数r′,客户端和服务端每一次将种子seedcs输入到伪随机数生成器中后,均按照约定的更新策略对种子seedcs进行更新;
服务端将W-b发送给客户端,客户端在本地计算参数[Wr]0=(W-b)r-[ab]0mod N,服务端在本地计算[Wr]1=br′-[ab]1;
即在客户端,神经网络模型的每一线性层都分别对应一个[Wr]0;在服务端,神经网络模型的每一线性层都分别对应一个[Wr]1;
A2-2)若当前网络层为非线性层,执行下述处理:
第三方根据约定的函数秘密分享策略生成密钥对(k0,k1),并将密钥k0发送给客户端,密钥k1发送给服务端;
其中,函数秘密分享策略包括两部分:概率多项式时间的密钥生成策略、多项式时间的评估策略,密钥生成策略用于生成密钥对(k0,k1),评估策略用于对输入进行评估;
在神经网络模型预测的在线阶段,客户端和服务端基于离线阶段的模型参数W分享结果共同执行神经网络模型的前向推理运算,包括下列步骤:
步骤B1,客户端基于配置的秘密分享算法将待预测数据x分为两部分x=[x]0+[x]1modN,客户端发送[x]1到服务端;
步骤B2,神经网络模型的每一层的前向推理运算包括:
B2-I)对线性层,前向推理运算包括:
B2-II)对非线性层,前向推理运算包括:
步骤B3,当前向推理运算到神经网络模型的最后一层时,服务端将最后一层的输出[y]1返回给客户端;客户端基于收到的最后一层的输出[y]1和本端当前计算得到最后一层输出[y]0得到最终的预测结果:y=[y]0+[y]1。
4.如权利要求1所述的隐私保护的神经网络预测系统,其特征在于,按照约定的更新策略对种子进行更新为:当种子输入到伪随机数生成器中后,将该种子的值自增1。
5.如权利要求1至4任一项所述的隐私保护的神经网络预测系统,其特征在于,待预测数据x为图像数据。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210656199.8A CN115065463B (zh) | 2022-06-10 | 2022-06-10 | 一种隐私保护的神经网络预测系统 |
PCT/CN2023/083561 WO2023236628A1 (zh) | 2022-06-10 | 2023-03-24 | 一种隐私保护的神经网络预测系统 |
US18/472,644 US20240013034A1 (en) | 2022-06-10 | 2023-09-22 | Neural network prediction system for privacy preservation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210656199.8A CN115065463B (zh) | 2022-06-10 | 2022-06-10 | 一种隐私保护的神经网络预测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115065463A CN115065463A (zh) | 2022-09-16 |
CN115065463B true CN115065463B (zh) | 2023-04-07 |
Family
ID=83200914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210656199.8A Active CN115065463B (zh) | 2022-06-10 | 2022-06-10 | 一种隐私保护的神经网络预测系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240013034A1 (zh) |
CN (1) | CN115065463B (zh) |
WO (1) | WO2023236628A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065463B (zh) * | 2022-06-10 | 2023-04-07 | 电子科技大学 | 一种隐私保护的神经网络预测系统 |
CN116663064B (zh) * | 2023-07-25 | 2023-10-20 | 武汉大学 | 一种隐私保护神经网络预测方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3602422B1 (en) * | 2017-03-22 | 2022-03-16 | Visa International Service Association | Privacy-preserving machine learning |
US11436471B2 (en) * | 2017-10-13 | 2022-09-06 | Panasonic Intellectual Property Corporation Of America | Prediction model sharing method and prediction model sharing system |
WO2019231481A1 (en) * | 2018-05-29 | 2019-12-05 | Visa International Service Association | Privacy-preserving machine learning in the three-server model |
CN109194507B (zh) * | 2018-08-24 | 2022-02-18 | 曲阜师范大学 | 非交互式的保护隐私神经网络预测方法 |
CN109684855B (zh) * | 2018-12-17 | 2020-07-10 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
CN111324870B (zh) * | 2020-01-22 | 2022-10-11 | 武汉大学 | 一种基于安全双方计算的外包卷积神经网络隐私保护系统 |
CN112395643B (zh) * | 2020-11-23 | 2023-06-20 | 中国人民大学 | 一种神经网络的数据隐私保护方法及系统 |
CN113869499A (zh) * | 2021-10-15 | 2021-12-31 | 浙江大学 | 一种高效的不经意神经网络转化方法 |
CN115065463B (zh) * | 2022-06-10 | 2023-04-07 | 电子科技大学 | 一种隐私保护的神经网络预测系统 |
-
2022
- 2022-06-10 CN CN202210656199.8A patent/CN115065463B/zh active Active
-
2023
- 2023-03-24 WO PCT/CN2023/083561 patent/WO2023236628A1/zh unknown
- 2023-09-22 US US18/472,644 patent/US20240013034A1/en active Pending
Non-Patent Citations (1)
Title |
---|
王启正 ; 高玲 ; .一种处理隐私保护数据的神经网络.密码学报.2019,(02),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115065463A (zh) | 2022-09-16 |
US20240013034A1 (en) | 2024-01-11 |
WO2023236628A1 (zh) | 2023-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chaudhari et al. | Trident: Efficient 4pc framework for privacy preserving machine learning | |
CN112383396B (zh) | 一种联邦学习模型训练方法及系统 | |
CN115065463B (zh) | 一种隐私保护的神经网络预测系统 | |
CN112910631B (zh) | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 | |
Barni et al. | A privacy-preserving protocol for neural-network-based computation | |
Chandran et al. | {SIMC}:{ML} inference secure against malicious clients at {Semi-Honest} cost | |
CN111460478B (zh) | 一种面向协同深度学习模型训练的隐私保护方法 | |
JP2004279526A (ja) | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム | |
Mouchet | Multiparty homomorphic encryption: From theory to practice | |
CN111291411B (zh) | 基于卷积神经网络的安全视频异常检测系统及方法 | |
CN113408001B (zh) | 多方安全确定最值的方法、装置、设备及存储介质 | |
CN116667996A (zh) | 一种基于混合同态加密的可验证联邦学习方法 | |
CN117291258A (zh) | 一种基于函数秘密共享的神经网络训练推理方法和系统 | |
CN117592527A (zh) | 基于函数秘密共享的隐私保护神经网络训练方法及装置 | |
US20240178989A1 (en) | Polynomial representation of nn for communication-less smpc and method of performing statistical information-theoretical secure (sits) distributed communication-less smpc (dclsmpc) of a distributed unknown finite state machine (dufsm) | |
Zhong et al. | MPC-based privacy-preserving serverless federated learning | |
Bienstock et al. | On linear communication complexity for (maximally) fluid MPC | |
Sharma et al. | Privacy-preserving deep learning with SPDZ | |
CN117077162A (zh) | 基于Transformer网络模型的隐私推理方法、系统、介质及电子设备 | |
CN117131942A (zh) | 一种具有隐私性保护的图注意力网络推理方法及系统 | |
CN113591160B (zh) | 一种基于对称密码的状态数字签名方法及系统 | |
Zhong et al. | Dual-Server Based Lightweight Privacy-Preserving Federated Learning | |
Nazemi et al. | ACCESS-FL: Agile Communication and Computation for Efficient Secure Aggregation in Stable Federated Learning Networks | |
Tang et al. | Improvements on “multi-party quantum key agreement protocol with bell states and single particles” | |
CN115499135B (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 | ||
GR01 | Patent grant |