CN116975906A - 一种基于安全多方计算的岭回归隐私保护算法 - Google Patents

一种基于安全多方计算的岭回归隐私保护算法 Download PDF

Info

Publication number
CN116975906A
CN116975906A CN202310695421.XA CN202310695421A CN116975906A CN 116975906 A CN116975906 A CN 116975906A CN 202310695421 A CN202310695421 A CN 202310695421A CN 116975906 A CN116975906 A CN 116975906A
Authority
CN
China
Prior art keywords
data matrix
ridge
secret
participant
parameter
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.)
Pending
Application number
CN202310695421.XA
Other languages
English (en)
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.)
Guangzhou Jingyuan Safety Technology Co ltd
Guangzhou University
Original Assignee
Guangzhou Jingyuan Safety Technology Co ltd
Guangzhou University
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 Guangzhou Jingyuan Safety Technology Co ltd, Guangzhou University filed Critical Guangzhou Jingyuan Safety Technology Co ltd
Priority to CN202310695421.XA priority Critical patent/CN116975906A/zh
Publication of CN116975906A publication Critical patent/CN116975906A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于安全多方计算的岭回归隐私保护算法,涉及计算机软件技术。设置两个网络互联的参与方Sk;通过扩展不经意传输协议对参与方Sk进行运算分析,以生成乘法三元组;通过参与方Sk的数据集对备选岭参数进行十折交叉验证,以获取岭参数λ;对参与方Sk中待训练的数据进行盲化分块处理,以获取整数数据矩阵;并对参与方Sk的回归参数进行初始化;以乘法三元组、岭参数λ、整数数据矩阵和初始化后的回归参数作为训练参数,通过安全多方计算法进行岭回归训练,获取岭回归的模型参数向量秘密分块;参与方Sk之间将通过数据交互进行秘密重构处理。本发明较现有岭回归隐私保护方案,其运行效率更高,是一种高效的岭回归隐私保护方案。

Description

一种基于安全多方计算的岭回归隐私保护算法
技术领域
本发明涉及计算机软件技术,更具体地说,它涉及一种基于安全多方计算的岭回归隐私保护算法。
背景技术
机器学习主要做的研究,是如何依据已有数据构建算法模型,在面对经验数据时,算法能基于数据生成模型,而模型会基于新的同类型数据反映给我们需要的决策。常见的机器学习算法大致可以分为三种,它们分别是有监督学习、无监督学习和强化学习。针对包括线性回归、逻辑回归、支持向量机、决策树、神经网络、k-means聚类、贝叶斯分类、随机森林等不同的机器学习算法,已有研究人员设计了许多隐私保护方案。而这些隐私保护技术基本上基于以下几种类型。
其中一类是基于差分隐私的隐私保护技术。差分隐私技术利用随机噪声掩盖真实数据信息,拥有实现开销低的优点,依据随机噪声加入的时机可以将差分隐私扰动方法分为输入扰动、中间参数扰动、目标扰动、输出扰动等。Beaulieu-Jones[1]提出了一种基于差分隐私的机器学习梯度下降法来训练辅助分类器生成对抗网络的模型,为保护患者的个人数据同时分享临床研究数据提供了解决方案。Shokri[2]提出了一种分布式的选择随机梯度下降算法,该方案在模型训练过程中给梯度参数添加噪声,以达到防止隐私泄露的目的。Papernot[3]将一种新的噪声聚集机制Rényi差分隐私引入教师群体私有集成模型,该模型可用于图像分类,引入Rényi差分隐私后得到了更严格的差分隐私保护机制。但基于差分隐私的隐私保护技术没有使用加密技术,安全强度弱,且加入噪声也会在一定程度上减低最后训练的模型准确度,如何更精确地添加噪音、更严格地测量隐私损失,是研究差分隐私技术的重要关注点。
另一类是基于同态加密的隐私保护技术。同态加密[4]是一种允许直接对密文进行特定形式数学运算的技术,对结果密文解密后,可获取与无加密计算时同等的结果,介于它可在加密状态下计算的性质可以有效解决机器学习的隐私保护问题,并且同态加密相比差分隐私使用了加密技术,其安全性相比差分隐私技术要高。同态加密方案主要特点是对参与方间通信交互的需求少,但对计算力需求高。2009年Gentry[5]提出了全同态加密方案,该方案以理想格理论作为支撑,理论上该方案是使用同态加密解决机器学习隐私保护问题的理想方案,但该方案在现实中使用是困难的,因为伴随着全同态加密方案的是高昂的计算力要求。除此外同态加密还存在部分同态加密方案和类同态方案,有研究人员尝试通过部分同态加密方案实现机器学习的隐私化,如利用离散对数计算难题,Fang[6]创造了多元线性回归安全模型。Gilad-Bachrach[7]指出在神经网络层数较少或参与训练的数据量不高时,令样本以加密的形式参与模型训练是可行的。Xie[8]研究了同态加密处理过的样本在已训练神经网络模型上实行预测的方法,并且提及乘法同态加密技术在处理高阶多项式时存在数据误差会高速增长的缺点,使得受到多项式阶数的限制。Nikolaenko[9]提出了一种基于同态加密和混淆电路混合应用的水平分割数据隐私保护岭回归算法。
还有一类是基于安全多方计算的隐私保护技术。安全多方计算重点在于保护预测或训练过程的隐私性,其主要特点是本地计算开销小,在保障参与者数据秘密参与计算的同时,借用参与者间的大量通信替代高昂的计算开销。如今安全多方计算面对的难题是如何在参与方之间构造可靠又不失效率的计算协议。Gascón[10]的线性回归隐私保护方案建立在姚期智的混淆电路技术与内积运算协议的配合之上,但出于大规模运算门的限制,以混淆电路技术为核心的算法在实现时复杂度高,故此方案仍存在发展空间。Mohassel[11]实现了在两个半诚实服务器不共谋时,安全两方计算允许用户的隐私数据用于训练回归模型,Wu[12]利用量化函数将数据量化为定点数,从而提高了训练的数据精度,Patra[13]构筑的ABY2.0模型实现了在半诚实环境下,不同秘密共享方式的应用以及快速转换,Mohassel[14]在ABY框架的基础上继续改进,实现复制秘密共享的同时,使得框架获得在恶意敌手的参与下也能保证安全性的能力,其他涉及安全两方计算的还有魏立斐[15]、Agrawal[16]等人所建立的隐私保护回归模型。Wagh[17][18]考虑了三方服务器安全学习训练,同时其研究FALCON框架能容忍最多一个恶意参与方的加入。Chaudhari[19]和Byali[20]等人考虑了四方服务器的训练学习,基于三方或四方服务器的学习方案对比两方学习方案拥有更高的效率,但缺点是但参与方少于三或四个时则无法适用。
以下为上文中所涉及的公开技术/文献的出处。
[1]Beaulieu-Jones BK,Wu ZS,Williams C,Greene CS.Privacy-preservinggenerative deep neural networks support clinical data sharing.BioRxiv,2017,159756.[doi:10.1101/159756]
[2]Shokri R,Shmatikov V.Privacy-preserving deep learning.In:Proc.ofthe 22nd ACM SIGSAC Conf.on Computer and Communications Security.New York:ACM,2015.1310–1321.[doi:10.1145/2810103.2813687]
[3]Papernot N,Song S,Mironov I,Raghunathan A,Talwar K,ErlingssonScalable private learning with PATE.arXiv PreprintarXiv:180208908,2018.
[4]Hesamifard E,Takabi H,Ghasemi M,et al.Privacy-preserving machinelearning as a service[J].Proc.Priv.Enhancing Technol.,2018,2018(3):123-142.
[5]Gentry C.Fully homomorphic encryption using ideal lattices[C]//Proceedings of the Forty-first Annual ACM Symposium on Theory ofComputing.2009:169-178.
[6]Fang W,Zhou C,Yang B.Privacy preserving linear regression modelingof distributed databases[J].Optimization Letters,2013,7(4):807-818.
[7]Gilad-Bachrach R,Dowlin N,Laine K,et al.Cryptonets:Applying neuralnetworks to encrypted data with high throughput and accuracy[C]//International Conference on Machine Learning.2016:201-210.
[8]Xie P,Bilenko M,Finley T,et al.Crypto-nets:Neural networks overencrypted data[J].arXiv preprint arXiv:1412.6181,2014.
[9]Nikolaenko V,Weinsberg U,Ioannidis S,et al.Privacy-PreservingRidge Regression on Hundreds of Millions of Records[C]//Security and Privacy(SP),2013IEEE Symposium on.IEEE,2013.
[10]Gascón A,Schoppmann P,Balle B,et al.Privacy-preservingdistributed linear regression on high-dimensional data[J].Proceedings onPrivacy Enhancing Technologies,2017,2017(4):345-364.
[11]Mohassel P,Zhang Y.SecureML:A system for scalable privacy-preserving machinelearning[C]//2017 38th IEEE Symposium on Security andPrivacy.IEEE,2017:19-38.
[12]Wu S,Li G,Chen F,et al.Training and inference with integers indeep neural networks[J].
arXiv preprint arXiv:1802.04680,2018.
[13]Patra A,Schneider T,Suresh A,et al.ABY2.0:Improved Mixed-ProtocolSecure Two-PartyComputation[C]//USENIX Security Symposium.2021:2165-2182.
[14]Mohassel P,Rindal P.ABY3:A mixed protocol framework formachinelearning[C]//Proceedings of the 2018ACM SIGSAC conference on computerandcommunications security.2018:35-52.
[15]魏立斐,李梦思,张蕾,陈聪聪,陈玉娇,王勤.基于安全两方计算的隐私保护线性回归
算法[J].计算机工程与应用,2021,57(22):139-146.
[16]Agrawal N,Shahin Shamsabadi A,Kusner M J,et al.QUOTIENT:two-partysecure neuralnetwork training and prediction[C]//Proceedings of the 2019ACMSIGSAC Conference onComputer and Communications Security.2019:1231-1247.
[17]Wagh S,Gupta D,Chandran N.SecureNN:Efficient and private neuralnetwork training[J].
IACR Cryptology ePrint Archive,2018,2018:442.
[18]Wagh S,Tople S,Benhamouda F,et al.Falcon:Honest-MajorityMaliciously SecureFramework for Private Deep Learning[C]//Privacy EnhancingTechnologies.Sciendo,2021.[19]Rachuri R,Suresh A.Trident:Efficient 4PCFramework for Privacy Preserving MachineLearning[J].2019.
[20]Byali M,Chaudhari H,Patra A,et al.FLASH:Fast and Robust FrameworkforPrivacy-preserving Machine Learning[J].Proceedings on Privacy EnhancingTechnologies,2020,2020(2):459-480.
发明内容
本发明要解决的技术问题是针对现有技术的不足,提供一种基于安全多方计算的岭回归隐私保护算法,解决了线性回归存在的多重共线性和过拟合的问题。
本发明所述的一种基于安全多方计算的岭回归隐私保护算法,设置两个网络互联的参与方Sk;然后执行如下步骤,
三元组生成步骤,用于通过扩展不经意传输协议对参与方Sk进行运算分析,以生成乘法三元组;
岭参数选取步骤,用于通过所述参与方Sk的数据集对备选岭参数进行十折交叉验证,以获取岭参数λ;
数据处理步骤,用于对所述参与方Sk中待训练的数据进行盲化分块处理,以获取整数数据矩阵;并对所述参与方Sk的回归参数进行初始化,以获取初始参数向量秘密分块[W]k(d+1,1);
模型训练步骤,用于以乘法三元组、岭参数λ、整数数据矩阵和初始化后的回归参数作为训练参数,通过安全多方计算法进行岭回归训练,获取岭回归的模型参数向量秘密分块;
结果重构步骤,用于在所述模型训练步骤完成后,k个所述参与方Sk之间将通过数据交互进行秘密重构处理,以获取训练模型的模型回归参数w(d+1,1);
其中,k∈(1,2);d为样本特征数。
本发明的基于安全多方计算的岭回归隐私保护算法,能够在不泄露用户信息的条件下进行岭回归学习训练。设计中使用了秘密共享、不经意传输等安全多方计算技术,同时结合小批量梯度下降法和隐私保护条件下的岭参数选择方法,实现两方隐私保护岭回归学习技术。较现有岭回归隐私保护方案,其运行效率更高,是一种高效的岭回归隐私保护方案。
所述三元组生成步骤具体包括,
第一步、生成随机数Ai;生成随机数Bi
第二步、所述参数方S1通过扩展不经意传输协议与参数方S2交互得到秘密分块[Ci]1;所述参数方S2通过扩展不经意传输协议与参数方S1交互得到秘密分块[Ci]2
第三步、生成随机数[Ai]1;生成随机数[Bi]2
第四步、对所述随机数Ai与随机数[Ai]1进行差值运算,获取秘密分块[Ai]2,并将所述秘密分块[Ai]2,发送给参数方S2;对所述随机数Bi与随机数[Bi]2进行差值运算,获取秘密分块[Bi]1,并将所述秘密分块[Bi]1,发送给参数方S1
其中,i为1以上的自然数。
所述随机数Ai、随机数Bi与秘密分块[Ci]1、秘密分块[Ci]2之间的关系为,
[Ci]1+[Ci]2=AiBi
所述岭参数选取步骤,具体包括,
第一步、获取若干个备选岭参数,对所有所述的备选岭参数进行十折交叉验证,以获取均方误差最低的备选岭参数λ1、备选岭参数λ2、备选岭参数λ3
第二步、将所述备选岭参数λ1、备选岭参数λ2、备选岭参数λ3发送给参数方S2
第三步、采用所述参数方S2的数据集对备选岭参数λ1、备选岭参数λ2、备选岭参数λ3进行十折交叉验证,获取均方误差最低的备选岭参数作为岭参数λ;
第四步、将所述岭参数λ发送给参数方S1
若干个所述备选岭参数为,首项为1,公比为0.5的等比数列。
所述盲化分块处理,具体为,
第一步、在参与方S1中随机生成数据矩阵[x1]1(n1,d+1)、数据矩阵[y1]1(n1,1);
第二步、在参与方S2中随机生成数据矩阵[x2]1(n2,d+1)、数据矩阵[y2]1(n2,1);
第三步、计算数据矩阵[x1]2(n1,d+1)=x1(n1,d+1)-[x1]1(n1,d+1),数据矩阵[y1]2(n1,1)=y1(n1,1)-[y1]1(n1,1);
第四步、计算数据矩阵[x2]2(n2,d+1)=x2(n2,d+1)-[x2]1(n2,d+1),数据矩阵[y2]2(n2,1)=y2(n2,d+1)-[y2]1(n2,d+1);
第五步、将所述数据矩阵[x1]1(n1,d+1)、数据矩阵[y1]1(n1,1)发送给参与方S2
第六步、将所述数据矩阵[x2]1(n2,d+1)、数据矩阵[y2]1(n2,1)发送给参与方S1
第七步、将所述数据矩阵[x1]2(n1,d+1)、数据矩阵[x2]1(n2,d+1)合并为数据矩阵[x]1(n,d+1),将所述数据矩阵[y1]2(n1,1)、数据矩阵[y2]1(n2,1)合并为数据矩阵[y]1(n,1);
第八步、将所述数据矩阵[x2]2(n2,d+1)、数据矩阵[x1]1(n1,d+1)合并为数据矩阵[x]2(n,d+1),将所述数据矩阵[y2]2(n2,1)、数据矩阵[y1]1(n1,1)合并为数据矩阵[y]2(n,1);
第九步、对数据矩阵[x]1(n,d+1)、数据矩阵[y]1(n,1)进行精度处理,使其分别转化为整数矩阵[X]1(n,d+1)、整数矩阵[Y]1(n,1);
第十步、对数据矩阵[x]2(n,d+1)、数据矩阵[y]2(n,1)进行精度处理,使其分别转化为整数矩阵[X]2(n,d+1)、整数矩阵[Y]2(n,1);
其中,n、n1、n2均为1以上的自然数,且n=n1+n2;x1(n1,d+1)为参与方S1输入的用于训练的数据矩阵;x2(n2,d+1)为参与方S2输入的用于训练的数据矩阵;y1(n1,1)为参与方S1输入的用于训练的标签向量;y2(n2,1)为参与方S2输入的用于训练的标签向量。
对所述参与方Sk的回归参数进行初始化,具体为,
初始化参与方S1的回归参数,以生成长度为d+1的列向量,记为初始参数向量秘密分块[W]1(d+1,1)=(0,0,…,0);
初始化参与方S2的回归参数,以生成长度为d+1的列向量,记为初始参数向量秘密分块[W]2(d+1,1)=(0,0,…,0)。
所述模型训练步骤,具体包括,
第一步、所述参与方S1通过扩展不经意传输协议获取秘密分块[a]1(n,d+1);计算所述参与方S1中被盲化的待训练样本数据矩阵的秘密分块[E]1(n,d+1)=[X]1(n,d+1)-[a]1(n,d+1);
第二步、所述参与方S2通过扩展不经意传输协议获取秘密分块[a]2(n,d+1);计算所述参与方S2中被盲化的待训练样本数据矩阵的秘密分块[E]2(n,d+1)=[X]2(n,d+1)-[a]2(n,d+1);
第三步、通过秘密重构协议得到被盲化的待训练样本数据矩阵E(n,d+1)=[E]1(n,d+1)+[E]2(n,d+1);
第四步、在所述参与方S1中顺序选取若干数据矩阵,分别记为数据矩阵[Xt]1(|B|,d+1)、数据矩阵[Yt]1(|B|,1)、数据矩阵Et1(|B|,d+1)、数据矩阵[bt]1(d+1,1)、数据矩阵[ct]1(|B|,1)、数据矩阵[b’t]1(|B|,1)、数据矩阵[c’t]1(d+1,1);
第五步、在所述参与方S2中顺序选取若干数据矩阵,分别记为数据矩阵[Xt]2(|B|,d+1)、数据矩阵[Yt]2(|B|,1)、数据矩阵Et2(|B|,d+1)、数据矩阵[bt]2(d+1,1)、数据矩阵[ct]2(|B|,1)、数据矩阵[b’t]2(|B|,1)、数据矩阵[c’t]2(d+1,1);且所述数据矩阵Et2(|B|,d+1)与数据矩阵Et1(|B|,d+1)一致;
第六步、计算所述参与方S1中小批量被盲化的模型参数向量的秘密分块
[Ft]1(d+1,1)=[W]1(d+1,1)-[bt]1(d+1,1);
第七步、计算所述参与方S2中小批量被盲化的模型参数向量的秘密分块
[Ft]2(d+1,1)=[W]2(d+1,1)-[bt]2(d+1,1);
第八步、通过秘密重构协议得到小批量被盲化的模型参数向量Ft(d+1,1)=[Ft]1(d+1,1)+[Ft]2(d+1,1);
第九步、计算并截断所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次乘法计算的计算结果的秘密分块[Y预测t]1(|B|,1)=[Xt]1(|B|,d+1)×Ft(d+1,1)+Et1(|B|,d+1)×[W]1(d+1,1)+[ct]1(|B|,1);
第十步、计算并截断所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次乘法计算的计算结果的秘密分块[Y预测t]2(|B|,1)=[Xt]2×Ft(d+1,1)+Et2(|B|,d+1)×[W]2(d+1,1)+[ct]2(|B|,1)-Et2(|B|,d+1)×Ft(d+1,1);
第十一步、计算所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果[Errt]1(|B|,1)=[Y预测t]1(|B|,1)-[Yt]1(|B|,1);
第十二步、计算所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果[Errt]2(|B|,1)=[Y预测t]2(|B|,1)-[Yt]2(|B|,1);
第十三步、计算所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块[F’t]1(|B|,1)=[Errt]1(|B|,1)-[b’t]1(|B|,1);
第十四步、计算所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块[F’t]2(|B|,1)=[Errt]2-[b’t]2
第十五步、通过秘密重构协议得到岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块F’t(|B|,1)=[F’t]1(|B|,1)+[F’t]2(|B|,1);
第十六步、计算并截断所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第二次乘法计算的计算结果的秘密分块[g]1(d+1,1)=[Xt]1(|B|,d+1)T×F’t(|B|,1)+Et1(|B|,d+1)T×[Errt]1(|B|,1)+[c’t]1(d+1,1);
第十七步、计算并截断所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第二次乘法计算的计算结果的秘密分块[g]2(d+1,1)=[Xt]2(|B|,d+1)T×F’t(|B|,1)+Et2(|B|,d+1)T×[Errt]2(|B|,1)+[c’t]2(d+1,1)-Et2(|B|,d+1)T×F’t(|B|,1);
第十八步、更新所述参与方S1中的初始参数向量秘密分块
第十九步、更新所述参与方S2中的初始参数向量秘密分块
第二十步、对初始参数向量秘密分块[W]1(d+1,1)进行精度处理,使其转化为实数矩阵[w]1(d+1,1);
第二十一步、对初始参数向量秘密分块[W]2(d+1,1)进行精度处理,使其转化为实数矩阵[w]2(d+1,1);
其中,α为学习率;|B|为每批训练样本数;t∈(1,2,…,IT),IT为训练迭代次数。
所述结果重构步骤,具体为,
第一步、将所述实数矩阵[w]1(d+1,1)发送给参与方S2
第二步、以所述实数矩阵[w]1(d+1,1)和实数矩阵[w]2(d+1,1)执行秘密重构协议,获得回归参数向量w;
第三步、将所述回归参数向量w发送给参与方S1
有益效果
本发明的优点在于:本发明提出了一种基于安全多方计算的岭回归隐私保护算法,不需要引入额外的诚实参与方进行辅助,可以在参与方非共谋的条件下执行协议并得到正确的输出;而且岭回归作为一种改进的线性回归算法,可以解决线性回归中的数据共线性缺陷和过拟合问题。此外,本发明还具有和无隐私保护下的岭回归算法相似的准确度。较现有岭回归隐私保护方案,其运行效率更高,是一种高效的岭回归隐私保护方案。
附图说明
图1为本发明的隐私保护岭回归框架示意图;
图2为本发明的隐私保护下岭回归学习流程图;
图3为本发明的基于十折交叉验证的交互选取法示意图;
图4为本发明的离线阶段不同样本数的岭回归模型性能柱形图;
图5为本发明的在线阶段不同样本数的岭回归模型性能柱形图;
图6为本发明的离线阶段不同特征数的岭回归模型性能柱形图;
图7为本发明的在线阶段不同特征数的岭回归模型性能柱形图。
具体实施方式
下面结合实施例,对本发明作进一步的描述,但不构成对本发明的任何限制,任何人在本发明权利要求范围所做的有限次的修改,仍在本发明的权利要求范围内。
参阅图1-图7,本发明的一种基于安全多方计算的岭回归隐私保护算法,其通过两个半诚实不共谋的参与方Sk(k∈1,2),即参与方S1和参与方S2参与。为了共同训练岭回归模型,需要为模型训练做好三元组生成、参数选择、数据预处理等准备,再通过安全两方计算进行岭回归训练,取得岭回归模型参数的分块值,最后以重构的形式取得最终的训练结果。其流程具体由两个阶段组成,分别为离线阶段和在线阶段。在安全多方计算中,离线阶段特指无训练数据参与的阶段,在线阶段特指无训练数据参与的阶段,而不是以是否产生通信为标准。
本发明可以训练水平分割或垂直分割的数据,若参与方Sk拥有的数据以垂直分割的形式存在,则只需要更改数据预处理流程中的合并方式即可以同样的方法训练模型。
关于离线阶段,其主要为三元组生成步骤,用于通过扩展不经意传输协议对参与方Sk进行运算分析,以生成乘法三元组。
乘法三元组可用于实现秘密乘法运算。参与方Sk利用扩展不经意传输协议(即COT)生成秘密分块,如[a]k(n,d+1)、[b]k(d+1,IT)、[c]k(|B|,IT)、[b’]k(|B|,IT)、[c’]k(d+1,IT)。正式训练时每轮迭代从数据矩阵中取出的部分数据[at]k(|B|,d+1)、[bt]k(d+1,1)、[ct]k(|B|,1)、[b’t]k(|B|,1)、[c’t]k(d+1,1)满足at×bt=ct、at T×b’t=c’t,这两组乘法三元组分别用于盲化岭回归小批量梯度下降参数更新公式中的两次乘法。参与方Sk分别只取得分块值,无法获取对应分块之和。
上述的n为参与训练的数据样本数;d为样本特征数;|B|为每批训练样本数;IT为训练迭代次数;t∈(1,2,…,IT)。本发明的秘密分块是指满足[x]1+[x]2=x的数据矩阵[x]1、[x]2。T为矩阵倒置的运算符号。
本实施例中,三元组生成的具体步骤为,
第一步、在参与方S1中生成随机数Ai。具体的,对于参与方S1,使用伪随机数生成器PRG(Pseudorandom Generator)随机生成若干个随机整数,记第i个随机整数为Ai
本实施例中,i∈(1,2,…,n)。
第二步、在参与方S2中生成随机数Bi。具体的,对于参与方S2,使用伪随机数生成器PRG随机生成若干个随机整数,记第i个随机整数为Bi
关于伪随机数生成器PRG,其能够接受随机种子,然后将种子拓展,生成的数和服从均匀分布的随机数在计算上不可区分。
第三步、参数方S1通过扩展不经意传输协议与参数方S2交互得到秘密分块[Ci]1
第四步、参数方S2通过扩展不经意传输协议与参数方S1交互得到秘密分块[Ci]2
第五步、在参与方S1中生成随机数[Ai]1。具体的,对于参与方S1,使用伪随机数生成器PRG随机生成若干个随机整数,记第i个随机整数为[Ai]1
第六步、在参与方S2中生成随机数[Bi]2。具体的,对于参与方S2,使用伪随机数生成器PRG随机生成若干个随机整数,记第i个随机整数为[Bi]2
在本发明中,对于实数x或n维d列的矩阵x(n,d),所有以[x]1、[x]2或[x]1(n,d)、[x]2(n,d)形式存在的参数,均指代的是满足[x]1+[x]2=x或[x]1(n,d)+[x]2(n,d)=x(n,d)的秘密分块。例如,上述第一步和第五步中,Ai=[Ai]1+[Ai]2。基于此,可进行如下步骤。
第七步、对随机数Ai与随机数[Ai]1进行差值运算,获取秘密分块[Ai]2,并将秘密分块[Ai]2,发送给参数方S2。即[Ai]2=Ai-[Ai]1
第八步、对随机数Bi与随机数[Bi]2进行差值运算,获取秘密分块[Bi]1,并将秘密分块[Bi]1,发送给参数方S1。即[Bi]1=Bi-[Bi]2
即从上述三元组的生成流程可以得到,参数方S1的乘法三元组的秘密分块[Ai]1、[Bi]1、[Ci]1和参数方S2的乘法三元组的秘密分块[Ai]2、[Bi]2、[Ci]2。而且生成的乘法三元组满足Ci=[Ci]1+[Ci]2=AiBi,且参与方S1、S2各自持有的数据不足以推出Ci的值。在在线训练时才依据训练数据的样本总数,样本特征数等将乘法三元组组合成用于盲化乘法的矩阵形式,即生成三元组过程无需训练数据参与的。
对于本文中的秘密分块,假设参与方S1拥有数据x希望与参与方S2共享,参与方S1可随机生成[x]1,计算[x]2=x-[x]1,发送[x]2给参与方S2,即完成数据x的加法秘密共享。[x]1和[x]2的这种数据形式可以称为秘密分块,秘密分块可参与秘密加法或秘密乘法等秘密运算,也可以秘密重构的形式重构恢复数据。
针对上述三元组生成步骤中的扩展不经意传输协议。COT技术的特点是OT协议中参与方的两个输入间有固定的关系,可以节约发送方一半的通信量。要求出两个数X、Y的秘密乘积Z,若参与方S1在COT协助生成三元组协议中输入X(X=Xp-1Xp-2…X0;其中p为比特二进制数),参与方S2在该协议中输入Y(Y=Yp-1Yp-2…Y0;其中p为比特二进制数),则参与方S1可得到Z的秘密分块[Z]1,参与方S2可得到Z的秘密分块[Z]2,且二者均得不到其他输入方的输入信息。
具体可理解为:
对于j=0,1,...,p-1有,
第一步、在参与方S2中生成随机数并计算/>即/>存在固定关系。
第二步、参与方S2担任发送方,将输入OT算法。
第三步、参与方S1担任接收方,将比特Xj输入OT算法。
第四步、参与方S1得到OT算法输出
第五步、在参与方S1中,计算
第五步、在参与方S2中,计算
由上式可知,协议生成的[d]1和[d]2便是Z=XY的秘密分块[Z]1和[Z]2
关于在线阶段,其包括岭参数选取步骤、数据处理步骤、模型训练步骤以及结果重构步骤。
岭参数选取步骤,用于通过参与方Sk的数据集对备选岭参数进行十折交叉验证,以获取岭参数λ。
岭参数的选取,是岭回归能否正常发挥其处理共线性数据、防止训练模型过拟合作用的关键。在尽可能令更多数据参与岭参数选取的同时,减少参与方S1和S2间的通信交互,如图3所示,有以下岭参数的选取流程。
第一步、获取30个备选岭参数。30个备选岭参数为,首项为1,公比为0.5的等比数列。对所有的备选岭参数进行十折交叉验证,以获取均方误差最低的备选岭参数λ1、备选岭参数λ2、备选岭参数λ3
第二步、将备选岭参数λ1、备选岭参数λ2、备选岭参数λ3发送给参数方S2
第三步、采用参数方S2的数据集对备选岭参数λ1、备选岭参数λ2、备选岭参数λ3进行十折交叉验证,获取均方误差最低的备选岭参数作为岭参数λ。
第四步、将岭参数λ发送给参数方S1
该岭参数选取方法先令其中一位参与方缩小备选岭参数范围,再令另一位参与方选出最佳岭参数,整个通信过程中只产生了三个数字的比特信息量,在考虑了参与数据对岭参数选取影响的同时,使得参与方之间的所需的信息交互消耗最小化。
在上述步骤中,基于十折交叉验证的交互选取法岭参数择优的具体流程为,
参与方S1将数据集[X1、Y1]随机分为10份,记为[X1、Y1]m,m∈{1、2、....、10}。参与方S2将数据集[X2、Y2]随机分为10份,记为[X2、Y2]m,m∈{1、2、....、10}。对于M=1、2、....、30,有:
对于m=1、2、....、10,有:
第一步、选取[X1、Y1]m作为测试集,剩下的9份数据作为训练集。
第二步、以备选岭参数λM作为输入,执行小批量梯度下降法的岭回归算法得到模型向量参数W(m、M)
第三步、测试数据集[X1、Y1]m和模型向量参数W(m、M)通过均方误差公式计算得到MSE(m、M)。将10次计算得到的结果求均值,得MSEM
第四步、对比选出三个误差最小的备选岭参数作为数据集[X1、Y1]的较佳岭参数λ1、λ2、λ3
第五步、参与方S1和S2交互较佳岭参数λ1、λ2、λ3
第六步、参与方S2同法从较佳岭参数λ1、λ2、λ3中获得最佳岭参数λ。
第七步、参与方S1和S2交互最佳岭参数λ。
在正式训练前,对于参与训练数据的预处理和回归参数的初始化是必不可少的。为了保护参与方S1和S2待处理数据的隐私,在线训练阶段前,需要对两方的数据进行盲化分块处理。本文将以加法秘密共享的方式,完成对待训练数据的盲化分块处理。另外,由于本文秘密共享的参与数据必须为有限域上的整数,除了盲化,还需要对数据进行相应的精度操作。
具体的,盲化分块处理包括以下步骤。
第一步、在参与方S1中随机生成数据矩阵[x1]1(n1,d+1)、数据矩阵[y1]1(n1,1)。
第二步、在参与方S2中随机生成数据矩阵[x2]1(n2,d+1)、数据矩阵[y2]1(n2,1)。
第三步、计算数据矩阵[x1]2(n1,d+1)=x1(n1,d+1)-[x1]1(n1,d+1),数据矩阵[y1]2(n1,1)=y1(n1,1)-[y1]1(n1,1)。
第四步、计算数据矩阵[x2]2(n2,d+1)=x2(n2,d+1)-[x2]1(n2,d+1),数据矩阵[y2]2(n2,1)=y2(n2,1)-[y2]1(n2,1)。
第五步、将数据矩阵[x1]1(n1,d+1)、数据矩阵[y1]1(n1,1)发送给参与方S2
第六步、将数据矩阵[x2]1(n2,d+1)、数据矩阵[y2]1(n2,1)发送给参与方S1
第七步、将数据矩阵[x1]2(n1,d+1)、数据矩阵[x2]1(n2,d+1)合并为数据矩阵[x]1(n,d+1),将数据矩阵[y1]2(n1,1)、数据矩阵[y2]1(n2,1)合并为数据矩阵[y]1(n,1)。
第八步、将数据矩阵[x2]2(n2,d+1)、数据矩阵[x1]1(n1,d+1)合并为数据矩阵[x]2(n,d+1),将数据矩阵[y2]2(n2,1)、数据矩阵[y1]1(n1,1)合并为数据矩阵[y]2(n,1)。
第九步、对数据矩阵[x]1(n,d+1)、数据矩阵[y]1(n,1)进行精度处理,使其转化为整数矩阵[X]1(n,d+1)、整数矩阵[Y]1(n,1)。
第十步、对数据矩阵[x]2(n,d+1)、数据矩阵[y]2(n,1)进行精度处理,使其转化为整数矩阵[X]2(n,d+1)、整数矩阵[Y]2(n,1)。
其中,n、n1、n2均为1以上的自然数,且n=n1+n2;x1(n1,d+1)为参与方S1输入的用于训练的数据矩阵;x2(n2,d+1)为参与方S2输入的用于训练的数据矩阵;y1(n1,1)为参与方S1输入的用于训练的标签向量;y2(n2,1)为参与方S2输入的用于训练的标签向量。
对于回归参数的初始化,一般有使用随机数进行初始化或直接初始化为零两种。本文将使用直接将回归参数向量设置为零的初始化方式,该初始化过程参与方S1和S2间无需交互。
对参与方Sk的回归参数进行初始化的具体流程为,
初始化参与方S1的回归参数,以生成长度为d+1的列向量,记为初始参数向量秘密分块[W]1(d+1,1)=(0,0,…,0);
初始化参与方S2的回归参数,以生成长度为d+1的列向量,记为初始参数向量秘密分块[W]2(d+1,1)=(0,0,…,0)。
模型训练步骤,用于以乘法三元组、岭参数λ、整数数据矩阵和初始化后的回归参数作为训练参数,通过安全多方计算法进行岭回归训练,获取岭回归的模型参数向量秘密分块。
在该模型训练步骤中,其输入的训练参数具体有,参与方S1的:待训练数据秘密分块[X]1(n,d+1)、[Y]1(n,1),存储乘法三元组的秘密分块[a]1(n,d+1)、[b]1(d+1,IT)、[c]1(n,IT)、[b’]1(n,IT)、[c’]1(d+1,IT),初始参数向量秘密分块[W]1(d+1,1)。参与方S2的:待训练数据秘密分块[X]2(n,d+1)、[Y]2(n,1),存储乘法三元组的秘密分块[a]1(n,d+1)、[b]2(d+1,IT)、[c]2(n,IT)、[b’]2(n,IT)、[c’]2(d+1,IT),初始参数向量秘密分块[W]2(d+1,1)。还有学习率α,每批训练样本数|B|,训练迭代次数IT,t∈(1,2,…,IT)。
其具体流程为:
第一步、计算参与方S1中被盲化的待训练样本数据矩阵的秘密分块[E]1(n,d+1)=[X]1(n,d+1)-[a]1(n,d+1)。
第二步、计算参与方S2中被盲化的待训练样本数据矩阵的秘密分块[E]2(n,d+1)=[X]2(n,d+1)-[a]2(n,d+1)。
第三步、通过秘密重构协议得到被盲化的待训练样本数据矩阵E(n,d+1)=[E]1(n,d+1)+[E]2(n,d+1)。
第四步、在参与方S1中顺序选取若干数据矩阵,分别记为数据矩阵[Xt]1(|B|,d+1)、数据矩阵[Yt]1(|B|,1)、数据矩阵Et1(|B|,d+1)、数据矩阵[bt]1(d+1,1)、数据矩阵[ct]1(|B|,1)、数据矩阵[b’t]1(|B|,1)、数据矩阵[c’t]1(d+1,1)。
第五步、在参与方S2中顺序选取若干数据矩阵,分别记为数据矩阵[Xt]2(|B|,d+1)、数据矩阵[Yt]2(|B|,1)、数据矩阵Et2(|B|,d+1)、数据矩阵[bt]2(d+1,1)、数据矩阵[ct]2(|B|,1)、数据矩阵[b’t]2(|B|,1)、数据矩阵[c’t]2(d+1,1)。
在上述第四步、第五步中,其中的数据矩阵Et1(|B|,d+1)=Et2(|B|,d+1)。
第六步、计算参与方S1中小批量被盲化的模型参数向量的秘密分块[Ft]1(d+1,1)=[W]1(d+1,1)-[bt]1(d+1,1)。
第七步、计算参与方S2中小批量被盲化的模型参数向量的秘密分块[Ft]2(d+1,1)=[W]2(d+1,1)-[bt]2(d+1,1)。
第八步、通过秘密重构协议得到小批量被盲化的模型参数向量Ft(d+1,1)=[Ft]1(d+1,1)+[Ft]2(d+1,1)。
第九步、计算并截断参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次乘法计算的计算结果的秘密分块[Y预测t]1(|B|,1)=[Xt]1(|B|,d+1)×Ft(d+1,1)+Et1(|B|,d+1)×[W]1(d+1,1)+[ct]1(|B|,1)。
第十步、计算并截断参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次乘法计算的计算结果的秘密分块[Y预测t]2(|B|,1)=[Xt]2×Ft(d+1,1)+Et2(|B|,d+1)×[W]2(d+1,1)+[ct]2(|B|,1)-Et2(|B|,d+1)×Ft(d+1,1)。
第十一步、计算参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果[Errt]1(|B|,1)=[Y预测t]1(|B|,1)-[Yt]1(|B|,1)。
第十二步、计算参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果[Errt]2(|B|,1)=[Y预测t]2(|B|,1)-[Yt]2(|B|,1)。
第十三步、计算参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块[F’t]1(|B|,1)=[Errt]1(|B|,1)-[b’t]1(|B|,1)。
第十四步、计算参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块[F’t]2(|B|,1)=[Errt]2(|B|,1)-[b’t]2(|B|,1)。
第十五步、通过秘密重构协议得到岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块F’t(|B|,1)=[F’t]1(|B|,1)+[F’t]2(|B|,1)。
第十六步、计算并截断参与方S1中对应岭回归的小批量梯度下降法更新公式中第二次乘法计算的计算结果的秘密分块[g]1(d+1,1)=[Xt]1(|B|,d+1)T×F’t(|B|,d+1)+Et(|B|,d+1)T×[Errt]1(|B|,d+1)+[c’t]1(|B|,d+1)。
第十七步、计算并截断参与方S2中对应岭回归的小批量梯度下降法更新公式中第二次乘法计算的计算结果的秘密分块[g]2(d+1,1)=[Xt]2(|B|,d+1)T×F’t(|B|,1)+Et2(|B|,d+1)T×[Errt]2(|B|,1)+[c’t]2(d+1,1)-Et2(|B|,d+1)T×F’t(|B|,1)。
第十八步、更新参与方S1中的初始参数向量秘密分块
第十九步、更新参与方S2中的初始参数向量秘密分块
第二十步、对初始参数向量秘密分块[W]1(d+1,1)进行精度处理,使其转化为实数矩阵[w]1(d+1,1)。
第二十一步、对初始参数向量秘密分块[W]2(d+1,1)进行精度处理,使其转化为实数矩阵[w]2(d+1,1)。
以下针对在模型训练步骤中所出现的部分参数作进一步的详述/说明。在参与方Sk参与的在线训练协议中,E(n,d+1)为被盲化的待训练样本数据矩阵,[E]i(n,d+1)为其秘密分块;Et(|B|,d+1)为小批量被盲化的待训练数据矩阵,[Et]i(|B|,d+1)为其秘密分块;Ft(d+1,1)为小批量被盲化的模型参数向量,[Ft]i(d+1,1)为其秘密分块;Y预测t(|B|,1)对应岭回归的小批量梯度下降法更新公式中第一次乘法计算的计算结果,[Y预测t]i(|B|,1)为其秘密分块;Errt(|B|,1)对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果,[Errt]i(|B|,1)为其秘密分块;F’t(|B|,1)为Errt(|B|,1)的盲化向量,[F’t]i(|B|,1)为其秘密分块;g(d+1,1)对应岭回归的小批量梯度下降法更新公式中第二次乘法计算的计算结果,即梯度,[g]i(d+1,1)为其秘密分块。
关于模型训练步骤中的秘密重构协议。参与方S1和S2分别拥有秘密分块[x]1和[x]2,且满足x=[x]1+[x]2,参与方S1将秘密分块[x]1发送给另一个参与方S2,参与方S2计算x=[x]1+[x]2即可重构该数据。
关于模型训练步骤中的精度处理。本文秘密共享方案建立在数据在整数有限域Zq的基础之上,仅适合整数计算,但参与机器学习的数据通常都是包含小数的实数型数据。例如病人的体重数据被记录为64.23千克,体温数据被记录为37.6摄氏度,某种药物的给药计量被记录为0.24毫克等。故在进行安全多方计算下的岭回归训练前,需要对被训练的数据进行精度处理。
本文将结合Catrina等人在《金融密码与数据安全》的《固定点数安全计算》中提出的精度处理方案(Catrina O,Saxena A.Secure Computation with Fixed-Point Numbers[C]//Financial Cryptography and Data Security,14th International Conference,FC 2010,Tenerife,Canary Islands,January 25-28,2010,Revised SelectedPapers.Springer-Verlag,2010.)和Cho等人在《自然生物技术》的《使用多方计算进行安全的全基因组关联分析》中的研究(Cho H,Wu D J,Berger B.Secure genome-wideassociation analysis using multiparty computation[J].Nature biotechnology,2018,36(6):547-551.),完成本文的精度处理方案,通过放大再向下取整的方式进行整数化处理,如下式(1-1)所示,将实数x映射为有限域Zq上的元素X。
同时,通过如式(1-2)所示的方式,针对不同符号的待还原实数x,将有限域上的元素X小数化还原为实数x。
x=①X.2-f,若0≤X<2J-1
②-(q-X)·2-f,若q-2J-1≤X≤q-1 式(1-2)。
其中,f为保留的小数精度比特位,f越大则保留的小数部分的数据信息越多。J为符号型实数的总比特数,J足够大使得参与实验的所有的实数均可以落在范围[-2J-f-1,2J -f-1)中。该精度处理方式在面对加法和减法运算时,不会改变数据精度,但在面对乘法运算时,则会令小数位所占比特位数翻倍,需要通过右移f位进行截断处理。
结果重构步骤,用于在模型训练步骤完成后,k个参与方Sk之间将通过数据交互进行秘密重构处理,以获取训练模型的模型回归参数w(d+1,1)=[w]1(d+1,1)+[w]2(d+1,1),但各自拥有的数据xk(nk,d+1)、yk(nk,1)没有泄露给对方。
结果重构步骤的具体流程为,
第一步、将实数矩阵[w]1(d+1,1)发送给参与方S2
第二步、以实数矩阵[w]1(d+1,1)和实数矩阵[w]2(d+1,1)执行秘密重构协议,获得回归参数向量w。
第三步、将回归参数向量w发送给参与方S1
以下将介绍基于安全两方计算的隐私保护岭回归协议的正确性,以及在半诚实环境下的协议安全性。
首先,关于正确性。由于本文离线阶段使用的三元组生成算法与SecureML框架相同,离线阶段的协议的正确性基于SecureML框架中三元组生成算法的正确性。在线阶段中,隐私保护岭回归与SecureML框架中隐私保护线性回归的区别,在于岭回归改造在线性回归的更新公式下引入了岭参数的相关变量。岭回归参数更新公式中岭参数参与的乘法计算正确性,来源于秘密乘法运算中,秘密分块与常量乘积的重构值等同于秘密与常量的乘积,除此之外的隐私保护岭回归算法执行过程严格按照SecureML框架的隐私保护线性回归算法协议进行,满足数字、矩阵在加法和乘法操作的正确性。综上所述本协议的正确性是可以保证的。
其次,关于安全性。假设有两方安全计算的参与方S1、S2,同时存在一个半诚实敌手A,两个服务器之间不共谋,当一个参与方被敌手A控制,另外一个参与方则是诚实的。敌手A不会破坏协议的执行,但该它会保留对隐私的好奇心,尽可能地窃取其中的信息;其次,各参与方之间的通信信道是安全的,即消息在各方之间传输时,敌手没有办法窃取或者篡改其中的任何内容。
本文使用通用可组合(Universal Composition,简称UC)框架来定义模型安全性。UC框架使用仿真证明方法证明协议安全性。首先建立一个现实模型,该模型用于体现协议的现实执行过程,接着为实现安全需求,建立一个能反应该任务的理想功能函数,如果在现实中运行该协议,等效于执行模范该现实模型任务的理想功能函数,那么便可以认为协议达到了拟定的安全需求。
UC框架的安全性定义是测试现实协议和理想协议输出的不可区分性。定义REAL[Z,A,v,θ]表示现实协议完成情况下环境Z输出的单比特,里面包括攻击现实协议v的概率多项式时间敌手A,协议v的安全参数θ。定义一个两方安全机器学习中理想功能函数Fml,它表示服务器S1和S2计算模型(y1,y2,…,ym)=f(x1,x2,…,xm),其中f是可重复执行的函数,对于i={1,2,…,m},yi是函数模型输出,xi是函数模型输入。再定义IDEAL[Z,S,Fml,θ]表示测试环境Z中攻击理想协议Fml的概率多项式时间模拟器S的输出,θ为安全参数。如果对于任何攻击现实协议v的虚拟敌手A,都存在一个攻击理想协议Fml的模拟器S,那么在运行的环境Z中,有下式(1-3):
|Pr[REAL[Z,A,Π,0]=1]-Pr[DEAL[Z,S,Fml,0]=1]| 式(1-3)。
攻击理想协议的模拟器和攻击现实协议的敌手,均测试概率多项式时间环境下任一协议的输入,使得协议输出在上式的计算上面不可区分,则说明Π具有Fml要求的通用可组合安全性。
以下通过一命题对其安全性进行验证。
对于两个参与方执行岭回归安全两方计算协议,然后输出模型结果。在模型中,允许存在一个半诚实敌手并实现岭回归的理想功能函数Fml
假设有下面情形,存在模拟器S,将输入提交给理想协议Fml,并接收到协议的输出,即返回的模型参数系数向量。然后模拟器S代表诚实的参与方,发送一个Zq中的随机秘密与敌手A共享,代表盲化后的训练数据。在余下的协议中,诚实方产生与秘密共享过程相对应的随机三元组矩阵,和敌手A进行交互。最后,模拟器S迭代更新获得参数秘密分块部分,并重构得到现实协议中模型参数系数向量。
敌手对于现实和理想协议中模型参数系数向量输出的不可区分性,是基于秘密共享的安全性和离线阶段生成矩阵或向量的随机化性质。具体来说,除了重构模型系数外,现实和理想协议使用的数据均由均匀随机分布产生,故协议中所有发送、接收和重构的消息可视作相同的分布。为了隐藏原始数据,给训练数据矩阵添加一个伪随机矩阵,可称这个过程为盲化,该伪随机矩阵为盲化因子。在协议中,敌手A只能访问到盲化后的值,且没有办法知道盲化因子。由此依据通用可组合安全证明理论,基于安全两方计算的岭回归算法是安全的。
此外,为了表现基于本文介绍的隐私保护岭回归算法框架,本文采用了合成数据的数据集,并针对数据集设计实验,以验证基于安全多方计算的岭回归隐私保护框架性能。实验将重复五次,取五次实验结果的平均值进行记录。
关于实验环境。实验由个人计算机安装虚拟机完成,对于不同的参与方S1和S2,本文将采用不同的端口对其进行本地模拟,以便测试参与方间的通讯开销。
关于相关输入参数。本文的迭代次数将设置为满足遍历训练样本三次,每批次样本数设置为128,精度设置为14,岭参数由岭参数选取协议获取,学习率设置为0.25。
关于数据集描述。本文将采用如表1所示的数据集进行隐私保护岭回归训练中。使用合成数据集的原因是因为其数据集大小和特征数量更为可控,有利于分析本文框架的性能。取数据集的百分之八十作为训练集,取其余部分作为测试集,并做标准化处理。
表1 数据集概况记录表
合成数据集样本值矩阵X由标准高斯分布随机生成,d维列向量w的值均匀随机地在[0,1]间选取,n维列向量δ的值按均值为0,方差σ2为0.1的高斯分布生成,n维列向量Y通过Y=Xw+δ的方式计算取得。
关于实验结果及分析。
首先是评估本文的岭回归隐私保护框架系统是否能拥有和明文岭回归算法一致的准确度;接着会展示在不同样本数和特征数的数据输入下系统的运行时间与通信量。
由于精度处理的原因,在数据截断时必然会导致一部分数据信息的丢失,为了说明本框架能有效处理此问题,提出关于差异度Rmse的定义(差异度Rmse出自期刊《应用密码学和网络安全》),如式(1-4)所示,以反映本文框架训练的模型与明文状态相同条件下岭回归训练的模型之间的准确率差别。
其中,mse代表本文隐私保护算法框架下的训练均方误差,mse’代表明文算法下的训练均方误差,即计算所有测试数据的标签值与对应预测标签值的差值之和,再求其均值,Rmse的值越接近零,说明本框架的训练模型与明文训练的结果越相似。
参与方S1、S2将各自拥有的原本样本数为1000、10000、100000,特征数为10的合成样本数据集输入本文隐私保护算法框架,训练得到岭回归模型,同时也在同条件下进行明文岭回归训练,表2记录了测试结果。表中所有的差异度Rmse值均处于或小于10-4这一数量级,非常接近于零,可以认为本文的隐私保护算法框架拥有和明文状态下的算法训练结果之间差异很小,基本没有信息在隐私保护学习过程中丢失,拥有与明文状态相同条件下岭回归模型相当的准确度。
表2 差异度讨论实验结果记录表
关于框架性能。
参与方S1、S2将各自拥有的原本样本数为1000、10000、100000,特征数为10的合成样本数据集输入本文隐私保护算法框架,训练得到岭回归模型。
测试结果如图4、图5所示。可以看出本框架的运行时间和通信量随着样本数增加而增加的趋势。离线阶段三元组生成会产生比较高的通信开销,以训练样本数为100000,特征数为10的合成数据集为例,其训练离线阶段共需要1738MB的通信消耗,但由于三元组的生成不需要实际数据的参与,可以大量预先生成,该成本是可以接受的。
参与方S1、S2将各自拥有的原本样本数为10000,特征数为10、20、30、40的合成样本数据集输入本文隐私保护算法框架,训练得到岭回归模型。
测试结果如图6、图7所示。可以看出本框架的运行时间和通信量随着样本特征数增加而增加的趋势。在运行过程中,在线阶段产生的时间花费大部分在岭参数的选择部分,以训练样本数为10000,特征数为40的合成数据集为例,其训练的在线阶段若不包括岭参数选择,则仅需花费0.0348s。对岭参数进行择优选择是为了获取更好的模型,而一个模型被训练出来就可以投入多次预测,从长远收益来看,花费在岭参数选择步骤的时间是值得的。
以上所述的仅是本发明的优选实施方式,应当指出对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些都不会影响本发明实施的效果和专利的实用性。

Claims (10)

1.一种基于安全多方计算的岭回归隐私保护算法,其特征在于,设置两个网络互联的参与方Sk;然后执行如下步骤,
三元组生成步骤,用于通过扩展不经意传输协议对参与方Sk进行运算分析,以生成乘法三元组;
岭参数选取步骤,用于通过所述参与方Sk的数据集对备选岭参数进行十折交叉验证,以获取岭参数λ;
数据处理步骤,用于对所述参与方Sk中待训练的数据进行盲化分块处理,以获取整数数据矩阵;并对所述参与方Sk的回归参数进行初始化,以获取初始参数向量秘密分块[W]k(d+1,1);
模型训练步骤,用于以乘法三元组、岭参数λ、整数数据矩阵和初始化后的回归参数作为训练参数,通过安全多方计算法进行岭回归训练,获取岭回归的模型参数向量秘密分块;
结果重构步骤,用于在所述模型训练步骤完成后,两个所述参与方Sk之间将通过数据交互进行秘密重构处理,以获取训练模型的模型回归参数w(d+1,1);
其中,k∈(1,2);d为样本特征数。
2.根据权利要求1所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,所述三元组生成步骤具体包括,
第一步、生成随机数Ai;生成随机数Bi
第二步、所述参数方S1通过扩展不经意传输协议与参数方S2交互得到秘密分块[Ci]1;所述参数方S2通过扩展不经意传输协议与参数方S1交互得到秘密分块[Ci]2
第三步、生成随机数[Ai]1;生成随机数[Bi]2
第四步、对所述随机数Ai与随机数[Ai]1进行差值运算,获取秘密分块[Ai]2,并将所述秘密分块[Ai]2,发送给参数方S2;对所述随机数Bi与随机数[Bi]2进行差值运算,获取秘密分块[Bi]1,并将所述秘密分块[Bi]1,发送给参数方S1
其中,i为1以上的自然数。
3.根据权利要求2所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,所述随机数Ai、随机数Bi与秘密分块[Ci]1、秘密分块[Ci]2之间的关系为,
[Ci]1+[Ci]2=AiBi
4.根据权利要求1所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,所述岭参数选取步骤,具体包括,
第一步、获取若干个备选岭参数,对所有所述的备选岭参数进行十折交叉验证,以获取均方误差最低的备选岭参数λ1、备选岭参数λ2、备选岭参数λ3
第二步、将所述备选岭参数λ1、备选岭参数λ2、备选岭参数λ3发送给参数方S2
第三步、采用所述参数方S2的数据集对备选岭参数λ1、备选岭参数λ2、备选岭参数λ3进行十折交叉验证,获取均方误差最低的备选岭参数作为岭参数λ;
第四步、将所述岭参数λ发送给参数方S1
5.根据权利要求4所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,若干个所述备选岭参数为,首项为1,公比为0.5的等比数列。
6.根据权利要求1所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,所述盲化分块处理,具体为,
第一步、在参与方S1中随机生成数据矩阵[x1]1(n1,d+1)、数据矩阵[y1]1(n1,1);
第二步、在参与方S2中随机生成数据矩阵[x2]1(n2,d+1)、数据矩阵[y2]1(n2,1);
第三步、计算数据矩阵[x1]2(n1,d+1)=x1(n1,d+1)-[x1]1(n1,d+1),数据矩阵[y1]2(n1,1)=y1(n1,1)-[y1]1(n1,1);
第四步、计算数据矩阵[x2]2(n2,d+1)=x2(n2,d+1)-[x2]1(n2,d+1),数据矩阵[y2]2(n2,1)=y2(n2,1)-[y2]1(n2,1);
第五步、将所述数据矩阵[x1]1(n1,d+1)、数据矩阵[y1]1(n1,1)发送给参与方S2
第六步、将所述数据矩阵[x2]1(n2,d+1)、数据矩阵[y2]1(n2,1)发送给参与方S1
第七步、将所述数据矩阵[x1]2(n1,d+1)、数据矩阵[x2]1(n2,d+1)合并为数据矩阵[x]1(n,d+1),将所述数据矩阵[y1]2(n1,1)、数据矩阵[y2]1(n2,1)合并为数据矩阵[y]1(n,1);
第八步、将所述数据矩阵[x2]2(n2,d+1)、数据矩阵[x1]1(n1,d+1)合并为数据矩阵[x]2(n,d+1),将所述数据矩阵[y2]2(n2,1)、数据矩阵[y1]1(n1,1)合并为数据矩阵[y]2(n,1);
第九步、对数据矩阵[x]1(n,d+1)、数据矩阵[y]1(n,1)进行精度处理,使其分别转化为整数矩阵[X]1(n,d+1)、整数矩阵[Y]1(n,1);
第十步、对数据矩阵[x]2(n,d+1)、数据矩阵[y]2(n,1)进行精度处理,使其分别转化为整数矩阵[X]2(n,d+1)、整数矩阵[Y]2(n,1);
其中,n、n1、n2均为1以上的自然数,且n=n1+n2;x1(n1,d+1)为参与方S1输入的用于训练的数据矩阵;x2(n2,d+1)为参与方S2输入的用于训练的数据矩阵;y1(n1,1)为参与方S1输入的用于训练的标签向量;y2(n2,1)为参与方S2输入的用于训练的标签向量。
7.根据权利要求1所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,对所述参与方Sk的回归参数进行初始化,具体为,
初始化参与方S1的回归参数,以生成长度为d+1的列向量,记为初始参数向量秘密分块[W]1(d+1,1)=(0,0,…,0);
初始化参与方S2的回归参数,以生成长度为d+1的列向量,记为初始参数向量秘密分块[W]2(d+1,1)=(0,0,…,0)。
8.根据权利要求6所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,所述模型训练步骤,具体包括,
第一步、所述参与方S1通过扩展不经意传输协议获取秘密分块[a]1(n,d+1);计算所述参与方S1中被盲化的待训练样本数据矩阵的秘密分块[E]1(n,d+1)=[X]1(n,d+1)-[a]1(n,d+1);
第二步、所述参与方S2通过扩展不经意传输协议获取秘密分块[a]2(n,d+1);计算所述参与方S2中被盲化的待训练样本数据矩阵的秘密分块[E]2(n,d+1)=[X]2(n,d+1)-[a]2(n,d+1);
第三步、通过秘密重构协议得到被盲化的待训练样本数据矩阵E(n,d+1)=[E]1(n,d+1)+[E]2(n,d+1);
第四步、在所述参与方S1中顺序选取若干数据矩阵,分别记为数据矩阵[Xt]1(|B|,d+1)、数据矩阵[Yt]1(|B|,1)、数据矩阵Et1(|B|,d+1)、数据矩阵[bt]1(d+1,1)、数据矩阵[ct]1(|B|,1)、数据矩阵[b’t]1(|B|,1)、数据矩阵[c’t]1(d+1,1);
第五步、在所述参与方S2中顺序选取若干数据矩阵,分别记为数据矩阵[Xt]2(|B|,d+1)、数据矩阵[Yt]2(|B|,1)、数据矩阵Et2(|B|,d+1)、数据矩阵[bt]2(d+1,1)、数据矩阵[ct]2(|B|,1)、数据矩阵[b’t]2(|B|,1)、数据矩阵[c’t]2(d+1,1);
第六步、计算所述参与方S1中小批量被盲化的模型参数向量的秘密分块[Ft]1(d+1,1)=[W]1(d+1,1)-[bt]1(d+1,1);
第七步、计算所述参与方S2中小批量被盲化的模型参数向量的秘密分块[Ft]2(d+1,1)=[W]2(d+1,1)-[bt]2(d+1,1);
第八步、通过秘密重构协议得到小批量被盲化的模型参数向量Ft(d+1,1)=[Ft]1(d+1,1)+[Ft]2(d+1,1);
第九步、计算并截断所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次乘法计算的计算结果的秘密分块[Y预测t]1(|B|,1)=[Xt]1(|B|,d+1)×Ft(d+1,1)+Et1(|B|,d+1)×[W]1(d+1,1)+[ct]1(|B|,1);
第十步、计算并截断所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次乘法计算的计算结果的秘密分块[Y预测t]2(|B|,1)=[Xt]2×Ft(d+1,1)+Et2(|B|,d+1)×[W]2(d+1,1)+[ct]2(|B|,1)-Et2(|B|,d+1)×Ft(d+1,1);
第十一步、计算所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果[Errt]1(|B|,1)=[Y预测t]1(|B|,1)-[Yt]1(|B|,1);
第十二步、计算所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果[Errt]2(|B|,1)=[Y预测t]2(|B|,1)-[Yt]2(|B|,1);
第十三步、计算所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块[F’t]1(|B|,1)=[Errt]1(|B|,1)-[b’t]1(|B|,1);
第十四步、计算所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块[F’t]2(|B|,1)=[Errt]2(|B|,1)-[b’t]2(|B|,1);
第十五步、通过秘密重构协议得到岭回归的小批量梯度下降法更新公式中第一次减法运算的计算结果的盲化向量的秘密分块F’t(|B|,1)=[F’t]1(|B|,1)+[F’t]2(|B|,1);
第十六步、计算并截断所述参与方S1中对应岭回归的小批量梯度下降法更新公式中第二次乘法计算的计算结果的秘密分块[g]1(d+1,1)=[Xt]1(|B|,d+1)T×F’t(|B|,1)+Et1(|B|,d+1)T×[Errt]1(|B|,1)+[c’t]1(d+1,1);
第十七步、计算并截断所述参与方S2中对应岭回归的小批量梯度下降法更新公式中第二次乘法计算的计算结果的秘密分块[g]2(d+1,1)=[Xt]2(|B|,d+1)T×F’t(|B|,1)+Et2(|B|,d+1)T×[Errt]2(|B|,1)+[c’t]2(d+1,1)-Et2(|B|,d+1)T×F’t(|B|,1);
第十八步、更新所述参与方S1中的初始参数向量秘密分块
第十九步、更新所述参与方S2中的初始参数向量秘密分块
第二十步、对初始参数向量秘密分块[W]1(d+1,1)进行精度处理,使其转化为实数矩阵[w]1(d+1,1);
第二十一步、对初始参数向量秘密分块[W]2(d+1,1)进行精度处理,使其转化为实数矩阵[w]2(d+1,1);
其中,α为学习率;|B|为每批训练样本数;t∈(1,2,…,IT),IT为训练迭代次数。
9.根据权利要求8所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,所述数据矩阵Et2(|B|,d+1)与数据矩阵Et1(|B|,d+1)一致。
10.根据权利要求8所述的一种基于安全多方计算的岭回归隐私保护算法,其特征在于,所述结果重构步骤,具体为,
第一步、将所述实数矩阵[w]1(d+1,1)发送给参与方S2
第二步、以所述实数矩阵[w]1(d+1,1)和实数矩阵[w]2(d+1,1)执行秘密重构协议,获得回归参数向量w;
第三步、将所述回归参数向量w发送给参与方S1
CN202310695421.XA 2023-06-12 2023-06-12 一种基于安全多方计算的岭回归隐私保护算法 Pending CN116975906A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310695421.XA CN116975906A (zh) 2023-06-12 2023-06-12 一种基于安全多方计算的岭回归隐私保护算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310695421.XA CN116975906A (zh) 2023-06-12 2023-06-12 一种基于安全多方计算的岭回归隐私保护算法

Publications (1)

Publication Number Publication Date
CN116975906A true CN116975906A (zh) 2023-10-31

Family

ID=88480517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310695421.XA Pending CN116975906A (zh) 2023-06-12 2023-06-12 一种基于安全多方计算的岭回归隐私保护算法

Country Status (1)

Country Link
CN (1) CN116975906A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319086A (zh) * 2023-11-27 2023-12-29 北京信安世纪科技股份有限公司 不经意传输系统、方法、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319086A (zh) * 2023-11-27 2023-12-29 北京信安世纪科技股份有限公司 不经意传输系统、方法、电子设备及存储介质
CN117319086B (zh) * 2023-11-27 2024-02-09 北京信安世纪科技股份有限公司 不经意传输系统、方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Sav et al. POSEIDON: Privacy-preserving federated neural network learning
Zhu et al. From federated learning to federated neural architecture search: a survey
EP3646327B1 (en) Secure genome crowdsourcing for large-scale association studies
US20220092216A1 (en) Privacy-preserving machine learning in the three-server model
Wagh et al. Falcon: Honest-majority maliciously secure framework for private deep learning
Tran et al. An efficient approach for privacy preserving decentralized deep learning models based on secure multi-party computation
US11222138B2 (en) Privacy-preserving machine learning in the three-server model
Froelicher et al. Scalable privacy-preserving distributed learning
US20230325529A1 (en) System and method for privacy-preserving distributed training of neural network models on distributed datasets
Yang et al. A comprehensive survey on secure outsourced computation and its applications
EP4220464A1 (en) Privacy-preserving machine learning
Xu et al. Nn-emd: Efficiently training neural networks using encrypted multi-sourced datasets
CN117440103B (zh) 基于同态加密和空间优化的隐私数据处理方法及系统
CN116975906A (zh) 一种基于安全多方计算的岭回归隐私保护算法
Ibarrondo et al. Banners: Binarized neural networks with replicated secret sharing
Chen et al. Privacy-preserving SVM on outsourced genomic data via secure multi-party computation
Hao et al. Fastsecnet: An efficient cryptographic framework for private neural network inference
CN116595589B (zh) 基于秘密共享机制的分布式支持向量机训练方法及系统
Deng et al. Non-interactive and privacy-preserving neural network learning using functional encryption
Chang et al. Dynamic quantum fully homomorphic encryption scheme based on universal quantum circuit
Tang et al. IHVFL: a privacy-enhanced intention-hiding vertical federated learning framework for medical data
Panzade et al. FENet: Privacy-preserving neural network training with functional encryption
Namazi et al. Dynamic privacy-preserving genomic susceptibility testing
Xu et al. Privacy-preserving outsourcing decision tree evaluation from homomorphic encryption
Meng et al. Private two-party cluster analysis made formal & scalable

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