一种基于联盟链的多方联合安全计算方法和装置制造方法及图纸

技术编号:32231882 阅读:21 留言:0更新日期:2022-02-09 17:36
本发明专利技术提供了一种基于联盟链的多方联合安全计算方法和装置。本发明专利技术通过引入第三方可信机构隐藏查询方信息,保护查询方信息安全,通过使用前缀和数据检索条件混淆查询内容,并使用哈希散列技术隐藏查询的具体内容,保护查询方查询内容信息安全;通过使用区块链技术记录各方提供的密文数据,可接入监管机构实现监管,通过采用多种安全加密技术对数据或者查询信息进行加密处理,数据交互过程全程为数据密文,保障数据安全。保障数据安全。保障数据安全。

【技术实现步骤摘要】
一种基于联盟链的多方联合安全计算方法和装置


[0001]本申请涉及区块链技术和隐私计算
,具体涉及一种基于联盟链的多方联合安全计算方法和装置。

技术介绍

[0002]在数据越来越重要,数据监管越来越趋严的数字化时代,如何实现数据的安全共享,保障个人和企业数据隐私,符合相关法律法规越发显得重要且紧迫。多方安全计算(SMPC)、联邦学习等新兴前沿技术为数据安全使用提供了可行的解决方案,隐私计算是在实现保护数据拥有者权益安全及数据隐私的前提下,实现数据流通及数据价值深度挖掘的一类重要方法。目前,市面上已经出现了许多开源的或商业的隐私计算平台,但当前的隐私计算技术还存在以下问题:
[0003](1)隐私计算网络是一个松散的点对点网络,无中心化的管理组织,对监管不友好,其计算方式实际上是点对点的两方计算,当数据共享参与方超过两方甚至多方时,比较难实现真正的多方联合计算;
[0004](2)目前的多方安全计算都需要参与方先将数据导入私有化部署的隐私计算平台,虽然实现了不出本地,但在安全属性要求较高的领域,如:金融,国防等,没有实现数据不出库,并且数据的定期同步也增加了使用方的运维负担;
[0005](3)计算过程不透明,多方安全计算所使用的加密算法,如同态加密,不经意传输等算法目前还没有国家标准,其安全性还没得到国家认可;
[0006](4)计算模型不够灵活,使用方所能使用的模型全依赖于厂商所提供的内置功能,用户无法根据自己的业务场景灵活定制。
[0007]上述隐私计算技术还存在缺陷均是迫切需要解决的技术问题。

技术实现思路

[0008]为了解决上述技术问题,本专利技术提供了一种基于联盟链的多方联合安全计算方法和装置。本专利技术通过引入第三方可信机构隐藏查询方信息,保护查询方信息安全,通过使用前缀和数据检索条件混淆查询内容,并使用哈希散列技术隐藏查询的具体内容,保护查询方查询内容信息安全;通过使用区块链技术记录各方提供的密文数据,可接入监管机构实现监管,通过采用多种安全加密技术对数据或者查询信息进行加密处理,数据交互过程全程为数据密文,保障数据安全。
[0009]本专利技术所采用的技术方案如下:
[0010]一种基于联盟链的多方联合安全计算方法,该方法包括如下步骤:
[0011]步骤1、对实施多方联合安全计算的联盟链进行初始化操作;
[0012]步骤2、向所述联盟链发送查询任务请求,所述查询任务请求经过区块链网络共识上链后,通过合约事件机制推送给同态密钥服务中心HKMC进行处理,重新构造查询任务请求,并提交至区块链网络;
[0013]步骤3、通过合约事件机制将重新构造的查询任务请求推送给所述多个参与方中的每一个,由所述多个参与方对重新构造的查询任务请求进行处理,将处理得到的响应结果提交至区块链网络中;
[0014]步骤4、当智能合约收集到所有或满足指定条件的响应结果后,触发生成事件消息并通知HKMC,HKMC对收到的所述事件消息进行处理以获得聚合结果;
[0015]步骤5、HKMC对所述聚合结果进行处理以获得执行结果,将所述执行结果上传至区块链网络,并通过合约事件消息机制通知任务发起方,由所述任务发起方使用自身私钥解密接收到的加密消息ER,获得任务最终的明文执行结果PR。
[0016]进一步的,在步骤1中所述进行初始化操作包括以下子步骤:
[0017]步骤101、联合安全计算的多个参与方共同商定任务计算模型,并通过智能合约代码实现所述任务计算模型中的多个合约方法;
[0018]步骤102、所述多个参与方对所述合约方法进行审计,将审计通过后的所述合约方法安装部署在联盟链中;
[0019]步骤103、所述多个参与方中的每一个实现一套联盟链下的安全计算服务;
[0020]步骤104、在联盟链中部署同态密钥服务中心HKMC,所述同态密钥服务中心由可信的第三方提供。
[0021]进一步的,步骤101中所述多个合约方法包括:创建任务合约方法CreateTask、分发任务合约方法DistributeTask、提交处理结果合约方法SubmitResult、获取聚合结果合约方法GetAggregateResult、上传任务最终执行结果合约方法UploadTaskResult。
[0022]进一步的,在步骤2中,所述向所述联盟链发送查询任务请求包括:
[0023]所述多个参与方中的任务发起方通过调用所述创建任务合约方法CreateTask将查询任务请求提交至联盟链网络;
[0024]所述查询任务请求中携带有交易参数R1,所述交易参数R1包括ReqID、Task、HashCipher、Condition、Sign、PK;
[0025]其中,ReqID为任务标识,用于串联任务的全流程步骤;HashCipher=Enc(PKhkmc,IDHash),IDHash为被查询主体的标识的哈希散列值,Task用于表明任务类型;Condition用于表明任务的数据检索条件;Sign为任务发起方对所述查询任务请求的数字签名;PK为任务发起方的公钥。
[0026]进一步的,在步骤2中,所述同态密钥服务中心HKMC进行处理包括:
[0027]HKMC使用HKMC私钥解密HashCipher以获得IDHash,并通过字符串截取操作计算前缀Prefix
Hash

[0028]HKMC生成同态加密会话密钥对{SK
会话
,PK
会话
},所述SK
会话
由HKMC临时保存;
[0029]重新构造查询任务请求,重新构造的查询任务请求中携带交易参数R2,所述交易参数R2包括ReqID、Task、Prefix
Hash
、Condition、Sign、PK
会话
;其中,Sign为使用HKMC身份密钥对所述交易参数R2进行签名后所获得的数字签名;
[0030]调用所述分发任务合约方法DistributeTask,将所述重新构造的查询任务请求提交至区块链网络。
[0031]进一步的,在步骤3中,所述由所述多个参与方对重新构造的查询任务请求进行处理包括:
[0032]通过验证所述交易参数R2中的签名以确保所述重新构造的查询任务请求来源于可信的第三方;
[0033]根据参数Task执行内部任务调度;
[0034]将参数Prefix
Hash
和Condition进行组合生成数据检索条件,根据生成的数据检索条件来执行数据检索,获得查询结果集合;其中,所述查询结果集合中包括数据元组{IDHash,Data};
[0035]利用同态加密算法,以PK
会话
为加密公钥加密数据元组中的Data以获得Cipherdata,并组成新的数据元组{IDHash,Cipherdata},并形成新的查询结果集合Result;
[0036]构造本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联盟链的多方联合安全计算方法,其特征在于,该方法包括如下步骤:步骤1、对实施多方联合安全计算的联盟链进行初始化操作;步骤2、向所述联盟链发送查询任务请求,所述查询任务请求经过区块链网络共识上链后,通过合约事件机制推送给同态密钥服务中心HKMC进行处理,重新构造查询任务请求,并提交至区块链网络;步骤3、通过合约事件机制将重新构造的查询任务请求推送给所述多个参与方中的每一个,由所述多个参与方对重新构造的查询任务请求进行处理,将处理得到的响应结果提交至区块链网络中;步骤4、当智能合约收集到所有或满足指定条件的响应结果后,触发生成事件消息并通知HKMC,HKMC对收到的所述事件消息进行处理以获得聚合结果;步骤5、HKMC对所述聚合结果进行处理以获得执行结果,将所述执行结果上传至区块链网络,并通过合约事件消息机制通知任务发起方,由所述任务发起方使用自身私钥解密接收到的加密消息ER,获得任务最终的明文执行结果PR。2.根据权利要求1所述的方法,其特征在于,在步骤1中所述进行初始化操作包括以下子步骤:步骤101、联合安全计算的多个参与方共同商定任务计算模型,并通过智能合约代码实现所述任务计算模型中的多个合约方法;步骤102、所述多个参与方对所述合约方法进行审计,将审计通过后的所述合约方法安装部署在联盟链中;步骤103、所述多个参与方中的每一个实现一套联盟链下的安全计算服务;步骤104、在联盟链中部署同态密钥服务中心HKMC,所述同态密钥服务中心由可信的第三方提供。3.根据权利要求2所述的方法,其特征在于,步骤101中所述多个合约方法包括:创建任务合约方法CreateTask、分发任务合约方法DistributeTask、提交处理结果合约方法SubmitResult、获取聚合结果合约方法GetAggregateResult、上传任务最终执行结果合约方法UploadTaskResult。4.根据权利要求3所述的方法,其特征在于,在步骤2中,所述向所述联盟链发送查询任务请求包括:所述多个参与方中的任务发起方通过调用所述创建任务合约方法CreateTask将查询任务请求提交至联盟链网络;所述查询任务请求中携带有交易参数R1,所述交易参数R1包括ReqID、Task、HashCipher、Condition、Sign、PK;其中,ReqID为任务标识,用于串联任务的全流程步骤;HashCipher=Enc(PKhkmc,IDHash),IDHash为被查询主体的标识的哈希散列值,Task用于表明任务类型;Condition用于表明任务的数据检索条件;Sign为任务发起方对所述查询任务请求的数字签名;PK为任务发起方的公钥。5.根据权利要求3或4所述的方法,其特征在于,在步骤2中,所述同态密钥服务中心HKMC进行处理包括:HKMC使用HKMC私钥解密HashCipher以获得IDHash,并通过字符串截取操作计算前缀
Prefix
Hash
;HKMC生成同态加密会话密钥对{SK
会话
,PK
会话
},所述SK
会话
由HKMC临时保存;重新构造查询任务请求,重新构造的查询任务请求中携带交易参数R2,所述交易参数R2包括ReqID...

【专利技术属性】
技术研发人员:龚生智陈序叶蔚万强马小峰
申请(专利权)人:苏州同济区块链研究院有限公司
类型:发明
国别省市:

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

1