基于秘密分享的安全模型预测方法和装置转让专利

申请号 : CN201910185759.4

文献号 : CN110032893A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林文珍殷山

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本发明提供了一种基于秘密分享的安全模型预测方法,包括:接收来自第三方的第一随机数集合;使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及使用所述共享计算预测结果进行模型预测。本发明能保护各方的私有数据不泄漏,并且确保了计算的准确性。

权利要求 :

1.一种基于秘密分享的安全模型预测方法,包括:接收来自第三方的第一随机数集合;

使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及使用所述共享计算预测结果进行模型预测。

2.如权利要求1所述的方法,其特征在于,所述生成共享计算预测结果包括:使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;

将所述中间模型向量发送给所述数据提供方并接收来自所述数据提供方的中间数据向量;

使用来自所述数据提供方的所述中间数据向量和所述第一随机数集合来生成中间数据值;

接收来自所述数据提供方的中间模型值;以及使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果,其中所述共享计算预测结果是所述中间模型值和所述经处理中间数据值的乘积。

3.如权利要求2所述的方法,其特征在于,进一步包括:使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。

4.如权利要求2所述的方法,其特征在于,进一步包括:使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。

5.如权利要求1所述的方法,其特征在于,所述模型预测使用逻辑回归模型和/或线性回归模型。

6.一种基于秘密分享的安全模型预测方法,包括:接收来自第三方的第二随机数集合;

使用所述第二随机数集合和数据向量来生成中间数据向量;

将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;

使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及将所述中间数据值提供给所述数据需求方以用于模型预测。

7.一种用于基于秘密分享的安全模型预测的装置,包括:接收模块,其被配置成接收来自第三方的第一随机数集合;

预测向量生成模块,其被配置成使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及模型预测模块,其被配置成使用所述共享计算预测结果进行模型预测。

8.如权利要求7所述的装置,其特征在于,所述接收模块被进一步配置成接收来自所述数据提供方的中间数据向量和中间模型值;

所述预测向量生成模块被进一步配置成:使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;

使用中间数据向量和所述第一随机数集合来生成中间数据值;以及使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果,其中所述共享计算预测结果是所述中间模型值和所述中间数据值的乘积;

所述装置进一步包括传送模块,其被配置成将所述中间模型向量发送给所述数据提供方。

9.如权利要求7所述的方法,其特征在于,所述预测向量生成模块被进一步配置成:使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。

10.如权利要求7所述的方法,其特征在于,所述预测向量生成模块被进一步配置成:使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。

11.如权利要求7所述的方法,其特征在于,所述模型预测使用逻辑回归模型和/或线性回归模型。

12.一种用于基于秘密分享的安全模型预测的装置,包括:接收模块,其被配置成接收来自第三方的第二随机数集合,以及接收来自数据需求方的中间模型向量;

预测向量生成模块,其被配置成使用所述第二随机数集合和数据向量来生成中间数据向量,以及使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及传送模块,其被配置成将所述中间数据向量发送给数据需求方,以及将所述中间数据值提供给所述数据需求方以用于模型预测。

13.一种基于秘密分享的安全模型预测装置,包括:处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:接收来自第三方的第一随机数集合;

使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及使用所述共享计算预测结果进行模型预测。

14.一种基于秘密分享的安全模型预测装置,包括:处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:接收来自第三方的第二随机数集合;

使用所述第二随机数集合和数据向量来生成中间数据向量;

将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;

使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及将所述中间数据值提供给所述数据需求方以用于模型预测。

说明书 :

基于秘密分享的安全模型预测方法和装置

技术领域

[0001] 本发明主要涉及多方数据合作,尤其涉及多方数据合作中的数据安全和模型安全。

背景技术

[0002] 在数据分析、数据挖掘、经济预测等领域,模型可被用来分析、发现潜在的数据价值。但模型方所拥有的数据往往是不健全的,由此难以准确地刻画目标。为了得到更好的模型预测结果,通常模型方会与数据方进行数据合作,结合不同的数据或特征标签共同完成模型计算。
[0003] 在多方数据合作过程中,涉及到数据安全和模型安全等问题。一方面,数据方不想输出自己的价值数据给模型方,泄漏私有数据;另一方面,模型中包含的特征标签(也称为模型系数)等信息也是模型方的私有数据,具有重要的商业价值,因此也要保证数据合作中的模型安全问题。
[0004] 在现有技术中,存在三种多方数据合作的技术方案。第一种方案是数据方和模型方都将数据和模型放置在可信第三方,由第三方进行模型预测。但是其缺点是完全可信第三方难以实现,并且在数据和模型的传输过程中存在安全风险。第二种方案是模型方对模型系数进行同态加密,将经加密的模型部署到数据方,数据方使用私有数据进行模型预测,然后将计算结果返回模型方。但这种方案由于同态加密的计算限制,对于计算的类型有限制,并且同态加密比较复杂,计算时间较长。第三种方案是使用SGX(Software Guard Extension)硬件结合机器学习和密码学,使用差分隐私技术对训练好的模型作系数模糊。但使用差分隐私技术做模型系数模糊,模糊程度难以把握。对于需要得到精确计算结果的模型来说,会影响结果准确性。
[0005] 因此,在多方数据合作中期望一种既保护数据和模型安全、又能得到精确计算结果的秘密分享方案。

发明内容

[0006] 为解决上述技术问题,本发明提供了一种基于秘密分享的安全模型预测方法,包括:
[0007] 接收来自第三方的第一随机数集合;
[0008] 使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及
[0009] 使用所述共享计算预测结果进行模型预测。
[0010] 可选地,所述生成共享计算预测结果包括:
[0011] 使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;
[0012] 将所述中间模型向量发送给所述数据提供方并接收来自所述数据提供方的中间数据向量;
[0013] 使用来自所述数据提供方的所述中间数据向量和所述第一随机数集合来生成中间数据值;
[0014] 接收来自所述数据提供方的中间模型值;以及
[0015] 使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果。
[0016] 可选地,所述共享计算预测结果是所述中间模型值和所述中间数据值的乘积。
[0017] 可选地,所述方法进一步包括:
[0018] 使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及
[0019] 使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
[0020] 可选地,所述方法进一步包括:
[0021] 使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及
[0022] 使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
[0023] 可选地,所述模型预测使用逻辑回归模型和/或线性回归模型。
[0024] 本申请的实施例还提供了一种基于秘密分享的安全模型预测方法,包括:
[0025] 接收来自第三方的第二随机数集合;
[0026] 使用所述第二随机数集合和数据向量来生成中间数据向量;
[0027] 将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;
[0028] 使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及
[0029] 将所述中间数据值提供给所述数据需求方以用于模型预测。
[0030] 本申请的实施例进一步提供了一种用于基于秘密分享的安全模型预测的装置,包括:
[0031] 接收模块,其被配置成接收来自第三方的第一随机数集合;
[0032] 预测向量生成模块,其被配置成使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及
[0033] 模型预测模块,其被配置成使用所述共享计算预测结果进行模型预测。
[0034] 可选地,所述接收模块被进一步配置成接收来自所述数据提供方的中间数据向量和中间模型值;
[0035] 所述预测向量生成模块被进一步配置成:
[0036] 使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;
[0037] 使用中间数据向量和所述第一随机数集合来生成中间数据值;以及
[0038] 使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果;
[0039] 所述装置进一步包括传送模块,其被配置成将所述中间模型向量发送给所述数据提供方。
[0040] 可选地,所述共享计算预测结果是所述中间模型值和所述中间数据值的乘积。
[0041] 可选地,所述预测向量生成模块被进一步配置成:
[0042] 使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及
[0043] 使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
[0044] 可选地,所述预测向量生成模块被进一步配置成:
[0045] 使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及
[0046] 使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
[0047] 可选地,所述模型预测使用逻辑回归模型和/或线性回归模型。
[0048] 本申请的实施例还提供了一种用于基于秘密分享的安全模型预测的装置,包括:
[0049] 接收模块,其被配置成接收来自第三方的第二随机数集合,以及接收来自数据需求方的中间模型向量;
[0050] 预测向量生成模块,其被配置成使用所述第二随机数集合和数据向量来生成中间数据向量,以及使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及[0051] 传送模块,其被配置成将所述中间数据向量发送给数据需求方,以及将所述中间数据值提供给所述数据需求方以用于模型预测。
[0052] 本申请的实施例进一步提供了一种基于秘密分享的安全模型预测装置,包括:
[0053] 处理器;以及
[0054] 被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
[0055] 接收来自第三方的第一随机数集合;
[0056] 使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及
[0057] 使用所述共享计算预测结果进行模型预测。
[0058] 本申请的实施例进一步提供了一种基于秘密分享的安全模型预测装置,包括:
[0059] 处理器;以及
[0060] 被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
[0061] 接收来自第三方的第二随机数集合;
[0062] 使用所述第二随机数集合和数据向量来生成中间数据向量;
[0063] 将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;
[0064] 使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及将所述中间数据值提供给所述数据需求方以用于模型预测。
[0065] 本发明提供了一种安全的去中心的模型预测方法,达到了以下技术优点:
[0066] 1、数据不出各自边界,不需要可信第三方进行数据融合,也不需要将任何一方的数据部署或引入到其他方,即可完成模型预测。
[0067] 2、结合秘密分享,保护合作各方的数据隐私。使用数据拆分的方式进行各方计算,合作方不对另一方暴露自己的明文数据,只将各自拆分的不可识别数值做计算,得到最终的精准计算结果。

附图说明

[0068] 图1是根据本发明的各方面的基于秘密分享的多方数据合作系统的架构图。
[0069] 图2解说了根据本发明的各方面的一个数据需求方与一个数据提供方进行数据合作的示例。
[0070] 图3解说了根据本发明的各方面的一个数据需求方与两个数据提供方进行数据合作的示例。
[0071] 图4解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法。
[0072] 图5解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法。
[0073] 图6解说了根据本发明的各方面的由数据提供方执行的基于秘密分享的数据合作的示例方法。
[0074] 图7是根据本发明的各方面的数据需求方的框图。
[0075] 图8是根据本发明的各方面的数据提供方的框图。

具体实施方式

[0076] 为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
[0077] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
[0078] 图1是根据本发明的各方面的基于秘密分享的多方数据合作系统的架构图。
[0079] 如图1所示,本发明的基于秘密分享的多方数据合作系统包括数据需求方(也称为模型方)、数据提供方(也称为数据方)和第三方(公正第三方,例如,公正的司法机构或政府机关等)。
[0080] 数据需求方拥有模型,模型系数向量为W={ω1,ω2,……,ωn},数据提供方拥有数据向量X={x1,x2,…...,xn};第三方生成一系列随机数并分别分发给数据提供方和数据需求方。数据需求方使用模型系数和其获分配的随机数进行计算,数据提供方使用其拥有的数据和其获分配的随机数进行计算,数据需求方和数据提供方交换计算结果进行进一步处理,随后将结果汇总,得到模型预测结果。
[0081] 以下通过四个具体实施例来解说本发明的技术方案。
[0082] 实施例一
[0083] 参照图2,解说了根据本发明的各方面的一个数据需求方与一个数据提供方进行数据合作的一个实施例。
[0084] 在步骤201,第三方生成随机数集合R1和R2。
[0085] 例如,R1={a,c0},R2={b,c1},其中a和b是随机数向量,c0和c1是随机数,并且c=a×b,c=c0+c1。其中a×b是向量乘法。
[0086] 在步骤202,第三方将随机数集合R1和R2分别发送给数据需求方和数据提供方。
[0087] 在步骤203,数据需求方使用随机数集合R1和模型系数向量W={ω1,ω2,……,ωn}进行计算,得到中间模型向量e。例如,e=W-a。
[0088] 在步骤204,数据提供方使用随机数集合R2和数据向量X={x1,x2,…...,xn}进行计算,得到中间数据向量f。例如,f=X-b。
[0089] 在步骤205和206,数据需求方和数据提供方交换在步骤203和204中计算得到的结果。
[0090] 具体而言,数据需求方可在步骤205将计算结果e发送给数据提供方,并且数据提供方在步骤206将计算结果f发送给数据需求方。
[0091] 注意,虽然在图2中,步骤205在步骤206之前,但其次序可以交换,或者可以同时进行。
[0092] 在步骤207,数据需求方使用随机数集合R1和数据提供方在步骤206中提供的中间数据向量f进行计算,得到中间数据值z0。例如,z0=a×f+c0,其中a×f是向量乘法。
[0093] 在步骤208,数据提供方使用随机数集合R2和数据需求方在步骤205中提供的中间模型向量进行计算,得到中间模型值z1。例如,z1=e×X+c1,其中e×X是向量乘法。
[0094] 在步骤209,数据提供方将z1发送给数据需求方。
[0095] 在步骤210,数据需求方将z0和z1进行汇总,得到模型系数与数据之积W×X,其在本文也被称为共享计算预测结果。
[0096] 例如,z=z0+z1=a×f+c0+e×X+c1
[0097] =a×(X-b)+(W-a)×X+c
[0098] =a×X-a×b+W×X-a×X+a×b
[0099] =W×X
[0100] 在步骤211,使用步骤210中得到的共享计算预测结果来进行模型预测。
[0101] 例如,对于逻辑回归(Logistic Regression)模型,计算 其中ω、λ为模型系数,由模型方提供。x为计算所需的输入,属于数据提供方的私有数据。
[0102] 实施例二
[0103] 在图2解说的实施例中,数据需求方只提供了模型信息。在一些情形中,数据需求方既具有模型信息W,又具有数据信息X’。
[0104] 在这种情况下,步骤201-209与图2中解说的实施例相同,在此不再赘述。以下仅描述与图2的过程不同的地方。
[0105] 在步骤210,数据需求方计算附加中间数据值z0’。
[0106] z0’=W×X’。
[0107] 在步骤211,数据需求方将z0、z1和z0’汇总,得到共享计算预测结果:
[0108] z=z0+z1+z0’=W×X+W×X’。
[0109] 在步骤212,使用W×X+W×X’来进行模型预测。
[0110] 实施例三
[0111] 以上解说了一个数据需求方与一个数据提供方进行数据合作的实施例。在一些情形中,数据需求方可能在模型预测中需要来自多个数据提供方的数据,由此数据需求方需要与多个数据提供方进行数据合作。图3解说了一个数据需求方与两个数据提供方(数据提供方1和数据提供方2)进行数据合作的示例。
[0112] 在该实施例中,数据需求方具有模型WA={ωA1,ωA2,……,ωAn}和WB={ωB1,ωB2,……,ωBn},数据提供方1具有数据XA={xA1,xA2,…...,xAn},并且数据提供方2具有数据XB={xB1,xB2,…...,xBn}。在模型预测中需要共享计算预测结果WA×XA和WB×XB。
[0113] 在步骤301,第三方生成第一组随机数{R1、R2}和第二组随机数{R1’、R2’},其中第一组随机数用于数据需求方与数据提供方1的数据合作,而第二组随机数用于数据需求方与数据提供方2的数据合作。
[0114] 具体而言,R1={a,c0},R2={b,c1},其中c=a×b,c=c0+c1;R1’={a’,c0’},R2={b’,c1’},其中a、b和a’、b’是随机数向量,c0、c1和c0’、c1’是随机数,并且c’=a’×b’,c’=c0’+c1’。请注意,a×b和a’×b’是向量乘法。
[0115] 在步骤302,第三方将随机数集合R1和R1’提供给数据需求方,将R2提供给数据提供方1,将R2’提供给数据提供方2。
[0116] 在步骤303,数据需求方计算e和e’。
[0117] 具体而言,e=WA–a,e’=WB–a’。
[0118] 在步骤304和305,数据提供方1和数据提供方2分别计算f=XA–b和f’=XB–b’。
[0119] 在步骤306-308,数据需求方和数据提供方1、数据提供方2交换在步骤303-305中计算得到的结果。
[0120] 具体而言,数据需求方在步骤306将计算结果e发送给数据提供方1,在步骤307将计算结果e’发送给数据提供方2。
[0121] 数据提供方1在步骤308将计算结果f发送给数据需求方,在步骤309将计算结果f’发送给数据需求方。
[0122] 注意,图3中示出了步骤306-308的特定次序,但这些步骤的次序可以交换,或者可以同时进行。
[0123] 在步骤310,数据需求方使用随机数集合R1和数据提供方1在步骤308中提供的结算结果f进行计算,得到第一中间数据值z0。例如,z0=a×f+c0。
[0124] 数据需求方还使用随机数集合R1’和数据提供方2在步骤309中提供的结算结果f’进行计算,得到第二中间数据值z0’。例如,z0’=a’×f’+c0’。
[0125] 在步骤311,数据提供方1使用随机数集合R2和数据需求方在步骤306中提供的计算结果e进行计算,得到第一中间模型值z1。例如,z1=e×XA+c1。
[0126] 在步骤312,数据提供方2使用随机数集合R2’和数据需求方在步骤307中提供的计算结果e’进行计算,得到第二中间模型值z1’。例如,z1’=e’×XB+c1’。
[0127] 在步骤313和314,数据提供方1将z1发送给数据需求方,数据提供方2将z1’发送给数据需求方。
[0128] 在步骤315,数据需求方将z0和z1进行汇总,得到模型系数与数据之积WA×X,并且将z0’和z1’进行汇总,得到模型系数与数据之积WB×X。
[0129] 例如,z=z0+z1=a×f+c0+e×XA+c1
[0130] =a×(XA-b)+(WA-a)×XA+c
[0131] =a×XA-a×b+WA×XA-a×XA+a×b
[0132] =WA×XA
[0133] z’=z0’+z1’=a’×f+c0’+e’×XB+c1’
[0134] =a’×(XB-b)+(W-a)×XB+c’
[0135] =a×XB-a×b+WB×XB-a×XB+a×b
[0136] =WB×XB
[0137] 在步骤316,使用步骤315和316中的结果(也称为共享计算预测结果)来进行模型预测。
[0138] 在一种实施例中,模型WA和WB可以是相同的,换言之,数据需求方使用一个模型W=WA=WB和来自两个数据提供方的数据进行模型预测。
[0139] 请注意,图3中按照特定次序描述了一个数据需求方和两个数据提供方进行数据合作的过程,但是步骤的其它次序也是可能的。数据需求方和数据提供方1之间的数据合作的各步骤与数据需求方和数据提供方2之间的数据合作的各步骤是独立的,可以分别在不同时间完成。例如,数据需求方和数据提供方1之间的数据合作的步骤可以在数据需求方和数据提供方2之间的数据合作之前或之后完成,或者两个过程中的一些步骤可以是在时间上是交叉的。并且一些步骤可以进行拆分,例如步骤303中的计算e和e’可以分开进行。
[0140] 以上解说了一个数据需求方和两个数据提供方之间的数据合作,该过程也可适用于一个数据需求方和两个以上数据提供方之间的数据合作,其操作类似于图3中解说的过程。
[0141] 请注意,虽然本发明是以逻辑回归模型为例进行解说,但其它模型也可适用于本发明,诸如线性回归模型,y=ω×x+e,等等。进一步,以上描述了两种具体的随机数生成方法,但其它随机数生成方法也在本发明的范围内,本领域普通技术人员能够根据实际需要构想出合适的随机数生成方法。
[0142] 图4解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法的一个示例。
[0143] 参见图4,在步骤401,接收来自第三方的第一随机数集合。
[0144] 该步骤可以对应于以上参照图2描述的步骤201、202,和/或参照图3描述的步骤301、302。
[0145] 在步骤402,使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果。
[0146] 该步骤可以对应于以上参照图2描述的步骤203-210,和/或参照图3描述的步骤303-315。
[0147] 在步骤403,使用共享计算预测结果进行模型预测。
[0148] 该步骤可以对应于以上参照图2描述的步骤211,和/或参照图3描述的步骤303-316。
[0149] 图5解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法的一个示例。
[0150] 参见图5,在步骤501,接收来自第三方的第一随机数集合R1。
[0151] 具体而言,第三方可以生成随机数集合R={a,b,c0,c1},其中c=a×b,c=c0+c1,其中所述第一随机数集合R1为{a,c0},而R2={b,c1}被提供给数据提供方。
[0152] 在另一示例中,第三方可以生成随机数集合R={a,b,c0,c1},其中c=a0+a1,c=b0+b1,其中第一随机数集合R1={a,c0},而R2={b,c1}可被提供给数据提供方。
[0153] 在步骤502,使用模型系数向量W和第一随机数集合R1来生成中间模型向量e。例如,e=W–a。
[0154] 在步骤503,将中间模型向量e发送给数据提供方并接收来自数据提供方的中间数据向量f。
[0155] 在步骤504,使用中间数据向量f和所述第一随机数集合R1来生成中间数据值z0。
[0156] 在步骤505,接收来自数据提供方的中间模型值z1。
[0157] 在步骤506,使用中间模型值z1和中间数据值z0来生成共享计算预测结果。
[0158] 在步骤507,使用共享计算预测结果进行模型预测。
[0159] 图6解说了根据本发明的各方面的由数据提供方执行的基于秘密分享的数据合作的示例方法。
[0160] 在步骤601,接收来自第三方的第二随机数集合R2。
[0161] 在步骤602,使用第二随机数集合R2和数据向量X来生成中间数据向量f。
[0162] 在步骤603,将中间数据向量f发送给数据需求方并接收来自数据需求方的中间模型向量e。
[0163] 在步骤604,使用中间模型向量e和第二随机数集合R2来生成中间数据值z1。
[0164] 在步骤605,将中间数据值z1提供给所述数据需求方以用于模型预测。
[0165] 图7解说了根据本发明的各方面的数据需求方的框图。
[0166] 具体而言,数据需求方(模型方)可包括接收模块701、预测向量生成模块702、模型预测模块703、传送模块704、以及存储器705。其中存储器705存储模型系数。
[0167] 接收模块701可被配置成接收来自第三方的第一随机数集合,接收来自所述数据提供方的中间数据向量和/或中间模型值。
[0168] 预测向量生成模块702可被配置成使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果。
[0169] 具体而言,预测向量生成模块702可被配置成使用所述模型系数向量和第一随机数集合来生成中间模型向量;使用中间数据向量和第一随机数集合来生成中间数据值;以及使用中间模型值和中间数据值来生成共享计算预测结果。
[0170] 预测向量生成模块702还可被配置成使用模型系数向量和第一随机数集合来生成中间模型向量;使用来自数据提供方的中间数据向量和中间模型向量来生成共享计算预测结果。
[0171] 模型预测模块703可被配置成使用共享计算预测结果进行模型预测。
[0172] 传送模块704可被配置成将所述中间模型向量发送给所述数据提供方。
[0173] 图8解说了根据本发明的各方面的数据提供方的框图。
[0174] 具体而言,数据提供方可包括:接收模块803、预测向量生成模块802、传送模块803以及存储器804。其中存储器804可存储私有数据。
[0175] 接收模块801可被配置成接收来自第三方的第二随机数集合,以及接收来自数据需求方的中间模型向量。
[0176] 预测向量生成模块802可被配置成使用所述第二随机数集合和数据向量来生成中间数据向量,以及使用所述中间模型向量和所述第二随机数集合来生成中间数据值。
[0177] 传送模块803可被配置成将所述中间数据向量发送给数据需求方,以及将所述中间数据值提供给所述数据需求方以用于模型预测。
[0178] 与现有技术相比,本发明具有以下优点:
[0179] 1)能够保护各方的私有数据不泄漏。各方持有的数据不出自己的计算边界,各方在本地通过加密方式的交互,完成计算。虽然有公正第三方参与,但第三方只提供随机数的分发,不参与具体的计算过程。
[0180] 2)对接成本不高。纯软件方案,除基本的服务器等,没有其他额外的硬件要求,不会引入其他硬件安全漏洞,可在线完成计算。
[0181] 3)计算完全无损,不影响结果准确性。
[0182] 4)算法本身不受限。计算结果实时返回,可支持加、减、乘、除等四则运算,及其混合计算,不因算法而受限制。
[0183] 5)秘密分享的安全多方计算算法,不需要保留密钥等信息,即可通过中间拆分、转换、结果汇总等方式,得到最终结果。而在分发随机数的第三方公正的前提下,计算过程中的中间值无法回推出原始明文。
[0184] 本文结合附图阐述的说明描述了示例配置而不代表可被实现或者落在权利要求的范围内的所有示例。本文所使用的术语“示例性”意指“用作示例、实例或解说”,而并不意指“优于”或“胜过其他示例”。本详细描述包括具体细节以提供对所描述的技术的理解。然而,可以在没有这些具体细节的情况下实践这些技术。在一些实例中,众所周知的结构和设备以框图形式示出以避免模糊所描述的示例的概念。
[0185] 在附图中,类似组件或特征可具有相同的附图标记。此外,相同类型的各个组件可通过在附图标记后跟随短划线以及在类似组件之间进行区分的第二标记来加以区分。如果在说明书中仅使用第一附图标记,则该描述可应用于具有相同的第一附图标记的类似组件中的任何一个组件而不论第二附图标记如何。
[0186] 结合本文中的公开描述的各种解说性框以及模块可以用设计成执行本文中描述的功能的通用处理器、DSP、ASIC、FPGA或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可被实现为计算设备的组合(例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器,或者任何其他此类配置)。
[0187] 本文中所描述的功能可以在硬件、由处理器执行的软件、固件、或其任何组合中实现。如果在由处理器执行的软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。其他示例和实现落在本公开及所附权利要求的范围内。例如,由于软件的本质,以上描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或其任何组合来实现。实现功能的特征也可物理地位于各种位置,包括被分布以使得功能的各部分在不同的物理位置处实现。另外,如本文(包括权利要求中)所使用的,在项目列举(例如,以附有诸如“中的至少一个”或“中的一个或多个”之类的措辞的项目列举)中使用的“或”指示包含性列举,以使得例如A、B或C中的至少一个的列举意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。同样,如本文所使用的,短语“基于”不应被解读为引述封闭条件集。例如,被描述为“基于条件A”的示例性步骤可基于条件A和条件B两者而不脱离本公开的范围。换言之,如本文所使用的,短语“基于”应当以与短语“至少部分地基于”相同的方式来解读。
[0188] 计算机可读介质包括非瞬态计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。非瞬态存储介质可以是能被通用或专用计算机访问的任何可用介质。作为示例而非限定,非瞬态计算机可读介质可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、压缩盘(CD)ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来携带或存储指令或数据结构形式的期望程序代码手段且能被通用或专用计算机、或者通用或专用处理器访问的任何其他非瞬态介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来的,则该同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文所使用的盘(disk)和碟(disc)包括CD、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘常常磁性地再现数据而碟用激光来光学地再现数据。以上介质的组合也被包括在计算机可读介质的范围内。
[0189] 提供本文的描述是为了使得本领域技术人员能够制作或使用本公开。对本公开的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他变形而不会脱离本公开的范围。由此,本公开并非被限定于本文所描述的示例和设计,而是应被授予与本文所公开的原理和新颖特征相一致的最广范围。