一种多方数据安全计算方法、系统、装置及存储介质制造方法及图纸

技术编号:31638215 阅读:11 留言:0更新日期:2021-12-29 19:19
本申请公开了一种多方数据安全计算方法、系统、装置及计算机可读存储介质,将原始数据分解,并分配到不同的计算服务器,并在每个不同的计算服务器分别按照对应的单项式对拆分数据计算,并对计算结果添加服务器随机数,再由化解服务器对中间结果进行化解,得到简化后的第三中间结果,最后发送至需求终端,由需求终端进行最后的化解,得到最终计算结果,实现了参与计算的任意一方无需将原始数据提供给参与计算的其他方,解决了各参与方之间的信任问题,能够在原始数据不出本地的情况下完成多方数据的安全计算,不依赖于传输链路和计算环境的安全性,保障参与计算的数据的安全和不被泄露,计算过程原始明文数据不可见,保护用户隐私。隐私。隐私。

【技术实现步骤摘要】
一种多方数据安全计算方法、系统、装置及存储介质


[0001]本专利技术涉及信息安全领域,特别涉及一种多方数据安全计算方法、系统、装置及计算机可读存储介质。

技术介绍

[0002]多个数据源方(这里假定A和B)的数据在一起融合计算的时候,一种方法是A把数据给B,在B端完成计算,或B把数据给A,在A端完成计算。这种模式下,无论是A把数据给B,还是B把数据给A,都存在数据流出本地安全域的风险。同时A或者B都能看到对方传输过来的原始数据,可以把对方的数据再次拷贝,贩卖,既不安全,又可能泄露用户的隐私。
[0003]另一种方法是,找一个第三方C。A和B把数据都传给C,在C端完成数据计算。这种方法下,C可以同时获取A和B上传的原始数据,也存在数据和隐私泄露的风险。
[0004]现有的明文计算方式依赖于计算服务器作为可信第三方,需要假定服务器不会泄露用户隐私信息。参与计算的服务器存在多种数据泄露的途径,如可能存在外部的恶意攻击,内存监听,内部人员窃取等,无法保障用户原始信息不被泄露。也有通过TEE(Trusted Execution Environment,基于芯片的可信计算环境)来保障计算环境的安全,但这种方式依赖于专用硬件,专用硬件提高了硬件成本,提升了开发难度,同时也存在可被攻击的漏洞,如侧信道攻击。并不能从根本上保障用户原始数据不被窃取。
[0005]为此,需要一种更为安全的多方计算方法。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提供一种多方数据安全计算方法、系统、装置及计算机可读存储介质,更为安全。其具体方案如下:一种多方数据安全计算方法,包括:接收需求终端发送的所需计算的多项式;将所述多项式拆分为多个单项式,分别将每个单项式分配至相应的计算服务器;多个数据源终端分别按照预设的数据拆分规则对各自存储的原始数据进行拆分,得到与每个原始数据对应的第一拆分数据和第二拆分数据;每个数据源终端分别将相应的第一拆分数据和第二拆分数据发送至第一计算服务器和第二计算服务器;所述第一计算服务器根据分别与每个第一拆分数据对应的单项式对相应的第一拆分数据进行计算,得到多个第一中间数值,对每个第一中间数值添加对应的第一服务器随机数,得到多个第一中间结果;所述第二计算服务器根据所述数据拆分规则、每个第一中间结果和对应的第二中间数值进行计算,并对每个计算结果添加对应的第二服务器随机数,得到多个第二中间结果;其中,每个第二中间数值为每个第二拆分数据与对应的单项式进行计算得到的;化解服务器利用预设的化解计算方法、每个第二中间结果、每个第一服务器随机
数和每个第二拆分数据进行计算,得到化解后的第三中间结果;需求终端利用所述第三中间结果和每个第二服务器随机数进行求解,得到所述多项式的最终计算结果。
[0007]可选的,所述多个数据源终端分别按照预设的数据拆分规则对各自存储的原始数据进行拆分,得到与每个原始数据对应的第一拆分数据和第二拆分数据的过程,包括:多个数据源终端分别将各自存储的原始数据拆分为第一拆分数据与第二拆分数据的商,得到与每个原始数据对应的第一拆分数据和第二拆分数据;x1=x*x2;式中,x表示原始数据,x1表示第一拆分数据,x2表示第二拆分数据。
[0008]可选的,所述第二计算服务器根据所述数据拆分规则、每个第一中间结果和对应的第二中间数值进行计算,并对每个计算结果添加对应的第二服务器随机数,得到多个第二中间结果的过程,包括:所述第二计算服务器为每个第二拆分数据与对应的单项式进行计算得到多个第二中间数值;根据所述数据拆分规则将每个第一中间结果除以对应的第二中间数值,得到各自的计算结果;对每个计算结果添加不同的第二服务器随机数,得到多个第二中间结果。
[0009]可选的,所述化解服务器利用预设的化解计算方法、每个第二中间结果、每个第一服务器随机数和每个第二拆分数据进行计算,得到化解后的第三中间结果的过程,包括:第一子化解服务器利用每个第二中间结果按照所述化解计算方法减去第一服务器随机数与对应的第二中间数值的商,得到多个第三子中间结果;第二子化解服务器对多个第三子中间结果求和,得到所述第三中间结果。
[0010]本专利技术还公开了一种多方数据安全计算系统,包括:多项式接收模块,用于接收需求终端发送的所需计算的多项式;单项式分配模块,用于将所述多项式拆分为多个单项式,分别将每个单项式分配至相应的计算服务器;原始数据拆分模块,用于多个数据源终端分别按照预设的数据拆分规则对各自存储的原始数据进行拆分,得到与每个原始数据对应的第一拆分数据和第二拆分数据;拆分数据分发模块,用于每个数据源终端分别将相应的第一拆分数据和第二拆分数据发送至第一计算服务器和第二计算服务器;第一中间结果计算模块,用于所述第一计算服务器根据分别与每个第一拆分数据对应的单项式对相应的第一拆分数据进行计算,得到多个第一中间数值,对每个第一中间数值添加对应的第一服务器随机数,得到多个第一中间结果;第二中间结果计算模块,用于所述第二计算服务器根据所述数据拆分规则、每个第一中间结果和对应的第二中间数值进行计算,并对每个计算结果添加对应的第二服务器随机数,得到多个第二中间结果;其中,每个第二中间数值为每个第二拆分数据与对应的单项式进行计算得到的;第三中间结果计算模块,用于化解服务器利用预设的化解计算方法、每个第二中间结果、每个第一服务器随机数和每个第二拆分数据进行计算,得到化解后的第三中间结
果;最终结果计算模块,用于需求终端利用所述第三中间结果和每个第二服务器随机数进行求解,得到所述多项式的最终计算结果。
[0011]可选的,所述原始数据拆分模块,具体用于多个数据源终端分别将各自存储的原始数据拆分为第一拆分数据与第二拆分数据的商,得到与每个原始数据对应的第一拆分数据和第二拆分数据;x1=x*x2;式中,x表示原始数据,x1表示第一拆分数据,x2表示第二拆分数据。
[0012]可选的,所述第二中间结果计算模块,包括:第二中间数值计算单元,用于所述第二计算服务器为每个第二拆分数据与对应的单项式进行计算得到多个第二中间数值;第二计算单元,用于根据所述数据拆分规则将每个第一中间结果除以对应的第二中间数值,得到各自的计算结果;第二中间结果计算单元,用于对每个计算结果添加不同的第二服务器随机数,得到多个第二中间结果。
[0013]可选的,所述第三中间结果计算模块,包括:第三子中间结果计算单元,用于第一子化解服务器利用每个第二中间结果按照所述化解计算方法减去第一服务器随机数与对应的第二中间数值的商,得到多个第三子中间结果;第三中间结果计算单元,用于第二子化解服务器对多个第三子中间结果求和,得到所述第三中间结果。
[0014]本专利技术还公开了一种多方数据安全计算装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如前述的多方数据安全计算方法。
[0015]本专利技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的多方数据安全计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多方数据安全计算方法,其特征在于,包括:接收需求终端发送的所需计算的多项式;将所述多项式拆分为多个单项式,分别将每个单项式分配至相应的计算服务器;多个数据源终端分别按照预设的数据拆分规则对各自存储的原始数据进行拆分,得到与每个原始数据对应的第一拆分数据和第二拆分数据;每个数据源终端分别将相应的第一拆分数据和第二拆分数据发送至第一计算服务器和第二计算服务器;所述第一计算服务器根据分别与每个第一拆分数据对应的单项式对相应的第一拆分数据进行计算,得到多个第一中间数值,对每个第一中间数值添加对应的第一服务器随机数,得到多个第一中间结果;所述第二计算服务器根据所述数据拆分规则、每个第一中间结果和对应的第二中间数值进行计算,并对每个计算结果添加对应的第二服务器随机数,得到多个第二中间结果;其中,每个第二中间数值为每个第二拆分数据与对应的单项式进行计算得到的;化解服务器利用预设的化解计算方法、每个第二中间结果、每个第一服务器随机数和每个第二拆分数据进行计算,得到化解后的第三中间结果;需求终端利用所述第三中间结果和每个第二服务器随机数进行求解,得到所述多项式的最终计算结果。2.根据权利要求1所述的多方数据安全计算方法,其特征在于,所述多个数据源终端分别按照预设的数据拆分规则对各自存储的原始数据进行拆分,得到与每个原始数据对应的第一拆分数据和第二拆分数据的过程,包括:多个数据源终端分别将各自存储的原始数据拆分为第一拆分数据与第二拆分数据的商,得到与每个原始数据对应的第一拆分数据和第二拆分数据;x1=x*x2;式中,x表示原始数据,x1表示第一拆分数据,x2表示第二拆分数据。3.根据权利要求2所述的多方数据安全计算方法,其特征在于,所述第二计算服务器根据所述数据拆分规则、每个第一中间结果和对应的第二中间数值进行计算,并对每个计算结果添加对应的第二服务器随机数,得到多个第二中间结果的过程,包括:所述第二计算服务器为每个第二拆分数据与对应的单项式进行计算得到多个第二中间数值;根据所述数据拆分规则将每个第一中间结果除以对应的第二中间数值,得到各自的计算结果;对每个计算结果添加不同的第二服务器随机数,得到多个第二中间结果。4.根据权利要求3所述的多方数据安全计算方法,其特征在于,所述化解服务器利用预设的化解计算方法、每个第二中间结果、每个第一服务器随机数和每个第二拆分数据进行计算,得到化解后的第三中间结果的过程,包括:第一子化解服务器利用每个第二中间结果按照所述化解计算方法减去第一服务器随机数与对应的第二中间数值的商,得到多个第三子中间结果;第二子化解服务器对多个第三子中间结果求和,得到所述第三中间结果。5.一种多方数据安全计算系统,其特征在于,包括:
多项式接收模块,用于接收需求终端发送的所需计算的多项式;单项式分配模块,用于将所述多项式拆分为多个单项...

【专利技术属性】
技术研发人员:陶立峰邵俊杨扬范渊刘博
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1