预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN108712429A(43)申请公布日2018.10.26(21)申请号201810508966.4(22)申请日2018.05.24(71)申请人西安电子科技大学地址710071陕西省西安市雁塔区太白南路2号(72)发明人马文平陈岱(74)专利代理机构陕西电子工业专利中心61205代理人田文英王品华(51)Int.Cl.H04L29/06(2006.01)H04L9/30(2006.01)H04L29/08(2006.01)权利要求书3页说明书6页附图2页(54)发明名称基于区块链云外包计算数据的隐私保护方法(57)摘要本发明公开了一种基于区块链云外包计算数据的隐私保护方法,主要解决当前云外包计算过程中的数据隐私保护技术存在的高时间复杂度和可扩展性问题,其技术方案为:使用计算节点的日志信息构建区块链,并使用区块链技术来进行计算数据的安全存储验证;采用quorum技术,针对每一轮计算选取适当的计算节点集合来完成计算任务;采用基于门限秘密共享的安全多方计算方法分割和重构秘密信息。本发明克服了现有技术中计算网络缺乏可扩展性和安全性以及数据验证过程复杂度高的问题,在数据隐私得到有效保证的同时大大提高了计算网络的可扩展性和计算过程的高效性。CN108712429ACN108712429A权利要求书1/3页1.一种基于区块链云外包计算数据的隐私保护方法,其特征在于,生成参与计算方集合,生成数据区块并由数据区块构建区块链;该方法的具体步骤包括如下:(1)构建动态计算网络;随机选取m个云服务器节点,将所有的云服务器节点作为计算节点组成动态计算网络,其中,m的取值等于服务发起方的总数;(2)生成计算节点公私密钥对;利用ElGamal密钥生成算法,生成每个计算节点的公私密钥对,将公私密钥对中的公钥发送给服务发起方;(3)注册计算节点;(3a)动态计算网络外的计算节点,向动态计算网络发送注册请求和该计算节点的信息;(3b)动态计算网络在收到该动态计算网络外的计算节点发送的注册请求后,在动态计算网络中广播所接收的计算节点的信息;(3c)动态计算网络中的计算节点判断所接收的计算节点的信息是否在恶意节点集合中,若是,则判定该计算节点不合法,忽略所接收的计算节点的注册请求,否则,判定所接收的计算节点合法,执行步骤(3d);(3d)将合法的计算节点添加到动态计算网络中;(4)生成服务方集合:(4a)在服务发起方集合中随机选取n个服务发起方,将所选取的每个服务发起方作为服务方,将所有的服务方组成服务方集合,其中,m的取值等于服务发起方的总数,表示向上取整操作;(4b)服务发起方将生成的服务方集合的信息发送到动态计算网络中的每个计算节点;(4c)动态计算网络中的每个计算节点接收并保存服务方集合的信息;(5)存储数据:(5a)服务发起方向动态计算网络发送数据存储请求;(5b)从动态计算网络中任意选取等于服务方总数的多个计算节点,组成存储节点集合,将存储节点集合的信息发送给服务发起方;(5c)服务发起方将待计算数据提交至服务方;(5d)利用秘密分割方法,服务方将服务发起方提交的待计算数据分割为多个数据块,数据块的个数等于存储节点的总数;(5e)服务方使用存储节点集合中每个存储节点的公钥,分别对存储节点自身对应的分割后的数据块进行加密,将加密后的数据块发送至对应的存储节点;(5f)存储节点接收并保存加密后的数据块;(6)生成参与计算方集合:(6a)服务方发送计算请求、计算函数和自身信息给参与计算方;(6b)判定参与计算方接收的服务方的信息是否在服务方集合中,若是,则随机选取与存储节点总数相等的计算节点,组成参与计算方集合,否则,忽略接收到的计算请求;(7)生成数据区块:2CN108712429A权利要求书2/3页(7a)参与计算方分别从对应的存储节点复制数据块;(7b)每个参与计算方分别将复制数据块输入计算函数,将计算的时间戳、输入数据块、计算函数、计算函数的输出和参与计算方本身的信息组成日志信息;(7c)参与计算方在动态计算网络中广播日志信息;(7d)动态计算网络中的计算节点和参与计算方将接收的日志信息,按照日志信息中时间戳的先后顺序封装成数据区块;(7e)从参与计算方集合中随机选取一个参与计算方,在动态计算网络中广播所选参与计算方数据区块;(7f)计算节点判定接收到的数据区块与自己封装的数据区块是否相同,若是,则数据区块通过验证,执行步骤(7g),否则,数据区块未通过验证,执行步骤(7h);(7g)计算节点发送验证通过的信息给参与计算方;(7h)计算节点发送验证未通过的信息给参与计算方;(8)判定是否有多于计算节点总数一半的计算节点返回了验证通过信息,若是,则执行步骤(9),否则,执行