一种用于安全多方计算的隐私数据分发方法与流程

文档序号:25062544发布日期:2021-05-14 14:52阅读:108来源:国知局
一种用于安全多方计算的隐私数据分发方法与流程

1.本发明涉及区块链技术领域,尤其涉及一种用于安全多方计算的隐私数据分发方法。


背景技术:

2.安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
3.现有技术的安全多方计算中,经常需要对分别存储于a、b两方的两个数字x、y进行安全比较,例如计算逻辑表达式(x>y),或计算逻辑表达式(x<y), 结果以和共享形式存储于a、b两方。现有技术的交互次数过多,安全比较性能较差。
4.例如,申请号为cn201811462971.2,申请日为2018年12月03日的中国专利申请公开了一种区块链隐私数据传输方法及隐私数据传输系统,包括以下步骤:发送共识请求给各成员节点;对各成员节点进行违规性验证;对各成员节点进行违规性验证的步骤包括:发送共识请求给各成员节点之后,启动定时器;若在所述定时器超时之前获取到成员节点提供的验证信息,且对获取的验证信息验证通过,则确定预定时间内该成员节点未违规;若在所述定时器超时之前未获取到成员节点提供的验证信息,或者对获取的验证信息验证未通过,则确定预定时间内该成员节点违规;若预定时间内各成员节点均未违规,则控制各成员节点传输隐私数据给共识服务节点;若预定时间内任一成员节点违规,则控制各成员节点终止传输隐私数据;控制各成员节点传输隐私数据给共识服务节点的步骤包括:控制各成员节点根据所述共识请求将隐私数据划分为共识数据和非共识数据,并将所述共识数据和所述非共识数据分组进行哈希运算;控制各成员节点根据所述共识数据的哈希和所述非共识数据哈希分层构建认证树,将仅包含所述共识数据的哈希的认证树提供给所述共识服务节点。现有技术中的隐私数据传输虽然进行了一定程度上的加密,但是在通信过程中依然存在被人盗取的可能性,安全性较低。


技术实现要素:

5.本发明主要解决现有的技术中隐私数据在传输过程中安全低的问题;提供一种用于安全多方计算的隐私数据分发方法,对隐私数据进行真假数据传输加密,即使出现数据丢失也不会造成隐私数据的丢失,使得隐私数据在传输过程中无法被人盗取,提高隐私数据的安全性。
6.本发明的上述技术问题主要是通过下述技术方案得以解决的:一种用于安全多方计算的隐私数据分发方法,包括以下步骤:代理服务器收到多方计算请求后,将请求分发到安全多方计算的参与节点,参与节点包括数据发送方和数据接收方,数据接收方发起数据接收请求后,数据接收方向数据发送方发送二进制码;数据发送方接收到二进制码,根据二进制码中“1”的数量对数据包进行拆分处理,形成若干个真数据包;数据发送方根据二进制
码中“0”的数量进行假数据包补充,将真数据包和假数据包根据二进制码的顺序进行先后发送;数据接收方获得所有真数据包和假数据包后根据二进制码剔除假数据包,并将真数据包进行数据还原,得到数据发送方发送的隐私数据。
7.设置真数据包和假数据包,以一定的二进制规则进行发送,提高安全性。
8.作为优选,在参与节点中,预先将安全多方计算方法编译为布尔电路,通过布尔电路生成的加密电路对数据发送方分发的数据包进行加密处理,具体过程包括以下步骤:数据接收方根据服务器的分发请求向数据发送方发送连接邀请,数据发送方接收连接邀请并返回回调,数据接收方收到回调,与数据发送方建立长连接;数据发送方随机生成加密密钥,对布尔电路的进行加密,生成加密电路;数据发送方将加密电路发送给数据接收方;数据接收方经过ot传输选择经过二进制码进行标记的加密数据,通过加密电路解密得到真数据包或假数据包;经过多次ot传输、加密电路解密和二进制码解密后得到完整的隐私数据。
9.根据安全多方计算本身具有的数据安全性,对ot传输加入改进,使得隐私数据能通过安全多方计算进行传递。
10.作为优选,所述的参与节点中还设置有寄存器,所述数据接收方对寄存器具有写入功能,所述数据发送方对寄存器具有读取功能,所述服务器对寄存器具有数据删除功能,所述数据接收方将二进制码写入寄存器,所述数据发送方通过寄存器读取二进制码。
11.通过寄存器作为数据中转站,方便存在多个数据接收方时能清楚的与数据发送方进行信息交互。
12.作为优选,所述的数据接收方包括若干个数据接收装置,其中b1与寄存器的通信优先级最高,b
n
与寄存器的通信优先级最低,所述寄存器存储第一个写入寄存器的二进制码,若两个或两个以上的所述数据接收装置b
i
同时发起数据接收请求时,寄存器存储通信优先级高的数据接收装置b
i
的二进制码。
13.当存在多个数据接收方时或数据接收方存在多个数据接收装置时,设置数据接收的优先级,防止数据接收出现混乱。
14.作为优选,所述的数据发送方对数据包进行拆分处理的方法包括以下步骤:a)设置若干个链下辅助计算节点,所述链下辅助计算节点用于辅助数据发送方计算哈希值;b) 数据发送方接收到数据接收方发送的二进制码,获取二进制码的长度,使与二进制码的长度数目相等的链下辅助计算节点进入待机状态,根据二进制码中“1”的数量对数据包进行拆分处理,形成若干个真数据包,链下辅助计算节点计算真数据包的哈希值;c) 根据二进制码中“0”的数量进行假数据包补充,使得真数据包的数量加上假数据包的数量与二进制码的长度相等,链下辅助计算节点计算假数据包的哈希值。
15.通过设置链下辅助计算节点进行哈希值运算,加快运算速度的同时提高运算效率。
16.作为优选,所述的数据接收方接收到隐私数据后对隐私数据进行存储的方法为:采用分盘存储的方式,具体包括以下步骤:s1)设置m个存储盘,对m个存储盘从1到m进行先后顺序划分,数据接收方接收到隐私数据后,将隐私数据分成m个数据包,记为数据集;
s2)将数字m转化为二进制,得到二进制码p
i
,将二进制码p
i
的长度进行补充,使二进制码p
i
的长度与m相等;s3)将数据包拆分成数据块和,将二进制码p
i
与m个数据包进行一一对应,获取二进制码p
i
中“1”的位置,将对应二进制码p
i
中“1”的位置的数据包拆分为数据块和,将数据块和数据块进行调换,数据块和形成新的数据包,数据块与下一个对应二进制码p
i
中“1”的位置的数据包进行数据块调换,直到最后一个对应二进制码p
i
中“1”的位置的数据包进行数据块调换,调换后多出的数据块与数据块组成新的数据包;s4)将调换之后的m个数据包按顺序存储到m个存储盘中。
17.采用分盘存储的方式对接收的隐私数据进行存储,提高数据存储的安全性。
18.本发明的有益效果是:将隐私数据设置成若干个真数据包,再从中插入假数据包,同时,将两者进行混合后根据设置的二进制码规则进行数据传输,在数据传输过程中,若某个数据包被盗取了,盗取者无法识别该数据包为真数据包还是假数据包,即使是全部的数据都被盗取,没有二进制规则,也无法还原,提高了隐私数据在数据传输过程中的安全性。
附图说明
19.图1是本发明实施例的隐私数据分发方法的流程图。
具体实施方式
20.下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
21.实施例:一种用于安全多方计算的隐私数据分发方法,如图1所示,包括以下步骤:代理服务器收到多方计算请求后,将请求分发到安全多方计算的参与节点,参与节点包括数据发送方和数据接收方,数据接收方发起数据接收请求后,数据接收方向数据发送方发送二进制码;在参与节点中,预先将安全多方计算方法编译为布尔电路,通过布尔电路生成的加密电路对数据发送方分发的数据包进行加密处理,具体过程包括以下步骤:数据接收方根据服务器的分发请求向数据发送方发送连接邀请,数据发送方接收连接邀请并返回回调,数据接收方收到回调,与数据发送方建立长连接;数据发送方随机生成加密密钥,对布尔电路的进行加密,生成加密电路;数据发送方将加密电路发送给数据接收方;数据接收方经过ot传输选择经过二进制码进行标记的加密数据,通过加密电路解密得到真数据包或假数据包;经过多次ot传输、加密电路解密和二进制码解密后得到完整的隐私数据。
22.在安全多方计算中,主要应用到加密电路和ot传输,而ot传输的特点在于交易双方数据接收方都不知道数据发送方发送了什么数据,数据发送方也不知道数据接收方接收了什么数据,而本发明为了使数据接收方能正确接收发送的数据,在ot传输中,利用二进制码进行标记,使得数据接收方能正确接收数据,而对于其他人或想要盗取信息的人,则无法进行分辨,进一步提高隐私数据在数据传输中的安全性。
23.参与节点中还设置有寄存器,所述数据接收方对寄存器具有写入功能,所述数据发送方对寄存器具有读取功能,所述服务器对寄存器具有数据删除功能,所述数据接收方将二进制码写入寄存器,所述数据发送方通过寄存器读取二进制码。
24.数据接收方包括若干个数据接收装置,其中b1与寄存器的通信优先级最高,b
n
与寄存器的通信优先级最低,寄存器存储第一个写入寄存器的二进制码,若两个或两个以上的所述数据接收装置b
i
同时发起数据接收请求时,寄存器存储通信优先级高的数据接收装置b
i
的二进制码。
25.数据发送方接收到二进制码,根据二进制码中“1”的数量对数据包进行拆分处理,形成若干个真数据包;数据发送方对数据包进行拆分处理的方法包括以下步骤:a)设置若干个链下辅助计算节点,所述链下辅助计算节点用于辅助数据发送方计算哈希值;b) 数据发送方接收到数据接收方发送的二进制码,获取二进制码的长度,使与二进制码的长度数目相等的链下辅助计算节点进入待机状态,根据二进制码中“1”的数量对数据包进行拆分处理,形成若干个真数据包,链下辅助计算节点计算真数据包的哈希值;c) 根据二进制码中“0”的数量进行假数据包补充,使得真数据包的数量加上假数据包的数量与二进制码的长度相等,链下辅助计算节点计算假数据包的哈希值。
26.数据发送方根据二进制码中“0”的数量进行假数据包补充,将真数据包和假数据包根据二进制码的顺序进行先后发送。
27.数据接收方获得所有真数据包和假数据包后根据二进制码剔除假数据包,并将真数据包进行数据还原,得到数据发送方发送的隐私数据;数据接收方接收到隐私数据后对隐私数据进行存储的方法为:采用分盘存储的方式,具体包括以下步骤:s1)设置m个存储盘,对m个存储盘从1到m进行先后顺序划分,数据接收方接收到隐私数据后,将隐私数据分成m个数据包,记为数据集;s2)将数字m转化为二进制,得到二进制码p
i
,将二进制码p
i
的长度进行补充,使二进制码p
i
的长度与m相等;s3)将数据包拆分成数据块和,将二进制码p
i
与m个数据包进行一一对应,获取二进制码p
i
中“1”的位置,将对应二进制码p
i
中“1”的位置的数据包拆分为数据块和,将数据块和数据块进行调换,数据块和形成新的数据包,数据块与下一个对应二进制码p
i
中“1”的位置的数据包进行数据块调换,直到最后一个对应二进制码p
i
中“1”的位置的数据包进行数据块调换,调换后多出的数据块与数据块组成新的数据包;s4)将调换之后的m个数据包按顺序存储到m个存储盘中。
28.在具体应用中,存在数据发送方a和数据接收方b,数据接收方b设置数据接收装置b1、数据接收装置b2和数据接收装置b3,当数据接收装置b1和数据接收装置b2同时发出数据接收请求时,数据接收装置b1和数据接收装置b2同时向寄存器写入二进制码,而由于数据接收装置b1的通信优先级高,则寄存器只能存入数据接收装置b1的二进制数据,当数据发送方a进行数据发送后,数据接收装置b1经过ot传输可获得正确的经过二进制码进行标记的数据,而数据接收装置b2不清楚自己的二进制码没有被采用,会从ot传输中选择获取数据,当数据发送方a将所有数据发送完后,数据接收装置b1可根据二进制码进行数据还原,而数据接收装置b2则无法进行数据还原,此时,数据接收装置b2可再次提出数据接收请求,重新接
收数据,解决了当存在某一区块链节点同时处理多个数据问题时,导致数据混乱的问题。
29.数据接收装置b1接收到数据后,设置5个存储盘进行分盘存储,将还原后的数据包重新拆分成5份,分别记为t1、t2、t3、t4和t5,得到二进制数0101,将二进制数长度补充为01010,将数据包拆分成数据块和,根据二进制码01010将数据包拆分成数据块和以及数据包拆分成数据块和,将和组合形成新的数据块t
2j
,将数据块和组成数据块,将数据块组成数据块,将数据块存入第一个存储盘中,将数据块t
2j
存入第二个存储盘中,将数据块t3存入第三个存储盘中,将数据块存入第四个存储盘中,将数据块t5存入第五个存储盘中。
30.本发明将隐私数据设置成若干个真数据包,再从中插入假数据包,同时,将两者进行混合后根据设置的二进制码规则进行数据传输,在数据传输过程中,若某个数据包被盗取了,盗取者无法识别该数据包为真数据包还是假数据包,即使是全部的数据都被盗取,没有二进制规则,也无法还原,提高了隐私数据在数据传输过程中的安全性,设置分盘存储,隐私数据在存储过程中具有更高的安全性。
31.以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1