System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于区块链的安全多方计算融合方法及系统技术方案_技高网

基于区块链的安全多方计算融合方法及系统技术方案

技术编号:40035929 阅读:8 留言:0更新日期:2024-01-16 18:58
本发明专利技术公开了一种基于区块链的安全多方计算融合方法及系统,基于区块链的安全多方计算融合方法包括服务信息记录、量化操作、秘密共享和数据加密、神经网络服务和服务结果等步骤。本发明专利技术可应用于不同企业和用户与服务器之间进行神经网络服务,可以很好地保护服务器的模型安全以及用户的隐私数据,同时也保障了服务环境和服务结果的公正可靠性;整个协议使用了同态加密技术、安全多方计算的秘密共享和混淆电路协议以及联盟链技术,通过同态加密技术对数据进行加密,在神经网络中,线性部分使用秘密共享,在非线性部分使用混淆电路进行两方或多方协作计算,同时提出了一种高效的转换方法,提高了推理效率。

【技术实现步骤摘要】

本专利技术涉及一种基于区块链的安全多方计算融合方法及系统,属于区块链与隐私保护。


技术介绍

1、近年来,随着隐私泄露事件的频频发生,人们对于隐私保护的意识不断加强,出于对数据泄露的担忧,许多公司以及用户逐渐形成了数据孤岛。不同公司和企业之间数据共享变得困难,数据的流通性进一步减弱。不仅造成了数据出现碎片化的特点,造成了数据的冗余和浪费,还阻碍了大数据和云计算的发展。

2、如何保障用户数据的隐私安全,提供一个公正可信的数据流通环境,进一步挖掘数据生产要素的价值,已成为研究和实践领域的重要问题,也不断涌出大量解决方法。其中,对于数据存储安全,区块链加密技术被广泛认可为一种主要的解决方案。可以将数据从采集、交易、流通等每一步进行加密并记录在区块链节点上,保障数据使用合法合规以及数据存储安全。但是传统加密方法只能对数据进行加解密操作,实际在使用数据进行计算时还是以明文形式,无法保障数据在计算时的隐私安全。对于数据的安全计算,安全多方计算因其具有较高安全性而被广泛研究,通常以混淆电路和秘密共享技术为主,可以在无可信第三方的情况下,各参与方将数据进行加密进行交互计算,各参与方无法获取其他参与方的信息。但是安全多方计算存在较大的通信开销,难以适用于实际场景。

3、因此亟需提出一种保护数据隐私方案。在不同企业和实体之间保障数据存储以及计算安全,实现数据安全共享。


技术实现思路

1、为了保障数据的流通和存储安全,在公正可信的环境下保障用户的隐私安全,本专利技术提供一种基于区块链的安全多方计算融合方法及系统,重点针对双方或多方进行神经网络服务,使用联盟链保障服务环境公正可信以及服务结果的不可篡改性、使用安全多方计算中的混淆电路和秘密共享以及一些同态加密技术保障服务中双方或多方的隐私安全。

2、为解决上述技术问题,本专利技术所采用的技术方案如下:

3、一种基于区块链的安全多方计算融合方法,包括如下步骤:

4、1)服务信息记录:服务开始时,用户和服务器分别将自己的信息以及所要进行的服务信息发送给联盟链的组织管理员,由组织管理员将接受到的信息进行上链记录,保障服务环境;

5、2)量化操作:服务器对所持有的模型进行量化操作;用户根据自己所选的服务,对自己的数据进行标准化或归一化等处理,之后对数据进行量化操作;

6、3)秘密共享和数据加密包括:

7、3.1)秘密共享:用户对数据进行量化操作的处理之后,进行秘密共享,将共享值分发给服务器和用户,服务器共享值为0,用户共享值为全部数据;

8、3.2)加密:用户对数据进行秘密共享后,对自己的数据进行bfv同态加密,发送给服务器,服务器将自己的共享值和用户的加密数据进行bfv同态加密明文密文加法操作,得到用户全部数据的密文数据;本方案选取bfv作为同态加密方案,可以更好的适用于量化后的模型参数和数据。

9、4)神经网络服务:将得到的密文数据依次进行卷积操作、激活函数和全连接操作,得到推理结果;其中,卷积操作和全连接操作为线性计算部分,激活函数为非线性计算部分,线性计算部分使用同态加密和秘密共享方法进行计算,非线性计算部分使用混淆电路构造激活函数进行计算,线性计算部分计算结束后需要采用转换方法1转换至非线性计算部分,非线性计算部分计算结束后需要采用转换方法2转换至线性计算部分;

10、转换方法1为:服务器得到线性部分计算结果后,首先生成一个随机数,之后对计算结果进行秘密共享,服务器为随机数,用户为计算结果和随机数的和,用户对共享的数据执行同态解密操作,作为非线性部分的输入,转换操作完成;

11、转换方法2为:用户和服务器经过非线性部分计算,得到各自的计算结果,用户将结果进行同态加密,发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作,随机数进行抵消,得到完整的计算结果,作为线性部分的输入,转换操作完成;

12、5)服务结果:服务器得到推理结果后,进行两方面操作,一方面将推理结果以密文的形式发送给组织管理员进行上链操作,另一方面将推理结果发送给用户,用户进行同态解密操作,查看服务结果。

13、上述步骤4)中,神经网络服务主要分为两部分,以卷积操作和全连接操作为主的线性计算部分,以激活函数为主的非线性计算部分。本方案是一种混合方案,线性计算部分使用同态加密和秘密共享技术进行计算,非线性计算部分使用混淆电路构造激活函数进行计算,也即线性计算部分和非线性计算部分由于使用不同的技术保障数据隐私,专利技术人在二者衔接部分,设计了一种高效的转换方法,包括线性部分向非线性部分转换以及非线性部分向线性部分转换,在线性部分计算完毕后,使用上述特定的转换方法进行非线性部分的操作,同时,非线性部分计算完毕后,采用上述特定的转换方法转换执行下一层的线性部分,极大提高推理效率。

14、上述方案在神经网络服务中,保障了用户的数据安全以及服务器的模型安全,同时提高了服务效率。由于加密方案的选取以及混淆电路的特性,在整个方案开始之前服务器和用户要进行量化操作。

15、上述步骤2)中,服务器和用户均采用如下方法进行量化:神经网络中的参数由浮点数float32表示,量化时,将float32量化成int类型,选择无符号数,值域范围为[0,255];量化时,先通过权重参数矩阵找到最小值和最大值确定参数的比例和零点,权重参数每一个值记为m,比例和零点分别记为mscale和mzero_point,然后将权重参数的每一个值从float32转换为int8,具体过程为:

16、

17、

18、

19、

20、将浮点类型的模型参数量化为定点参数,可以有效降低模型的计算强度、参数大小和内存消耗。虽然引入了一些精度损失,但是在适配同态加密和混淆电路上,在效率方面有明显的提升。

21、上述步骤3.2)中,用户对对自己的数据进行bfv同态加密之前,首先要进行加密参数的设置以及密钥生成工作,具体流程如下:

22、3.2.1)参数选择:选择bfv同态加密方案,依托seal同态加密库,需要设置三个同态加密参数poly_modulus_degree(多项式模数),coeff_modulus(密文多项式模数)和plain_modulus(明文多项式模数);

23、3.2.2)密钥生成:将加密参数作为输入,使用密钥生成器对公钥、私钥、重线性化密钥等进行生成,使用公钥对数据进行同态加密,私钥保存在本地,用于解密服务器发来的结果。

24、上述步骤4)中,线性计算部分(卷积、全连接等操作),具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;

25、本方案中,模型的非线性计算部分特指的是激活函数,使用混淆电路对激活函数进行构造,进行非线性部分计算时,服务器本文档来自技高网...

【技术保护点】

1.一种基于区块链的安全多方计算融合方法,其特征在于:包括如下步骤:

2.如权利要求1所述的基于区块链的安全多方计算融合方法,其特征在于:步骤3.2)中,用户对对自己的数据进行同态加密之前,首先要进行加密参数的设置以及密钥生成工作,具体流程如下:

3.如权利要求1或2所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,线性计算部分,具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;非线性部分计算时,服务器和用户使用各自的数据进行两方协作计算。

4.如权利要求2所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,卷积操作:服务器将得到的密文数据在服务器进行卷积操作,卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,之后使用重线性化密钥对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最终服务器得到卷积操作的结果。

5.如权利要求4所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,激活函数:在做激活函数之前,服务器先生成随机数,之后将卷积操作的结果和随机数执行同态加密明文密文加法操作,发送给用户,用户对数据进行解密;然后,服务器持有随机数,用户持有数据加随机数,服务器不知道数据,用户也逆向推断不出模型参数,双方使用混淆电路进行激活函数的操作,最终双方都有一个结果,用户将结果进行同态加密后发送给服务器,服务器使用自己的数据和用户的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。

6.如权利要求5所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,全连接操作:用户和服务器经过激活函数,得到各自的计算结果,用户将结果进行同态加密,之后将加密的数据发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作消除里面的随机数,得到激活函数的正确结果,然后将此作为全连接操作的输入,执行全连接操作,和卷积操作相同,做同态加密明文密文乘法操作和同态加密明文密文加法操作,期间乘法操作后使用重线性化密钥进行维度和噪声约减,最后得到全连接操作结果。

7.一种基于区块链的安全多方计算融合系统,其特征在于:包括:组织管理员、用户和服务器;

8.如权利要求7所述的基于区块链的安全多方计算融合系统,其特征在于:神经网络服务阶段,线性计算部分,具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;非线性部分计算时,服务器和用户使用各自的数据进行两方协作计算。

9.如权利要求7或8所述的基于区块链的安全多方计算融合系统,其特征在于:神经网络服务阶段,卷积操作:服务器将得到的密文数据在卷积层进行卷积操作,卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,之后使用重线性化密钥对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最终服务器得到卷积操作的结果。

10.如权利要求7或8所述的基于区块链的安全多方计算融合系统,其特征在于:激活函数:在做激活函数之前,服务器先生成随机数,之后将卷积操作的结果和随机数执行同态加密明文密文加法操作,发送给用户,用户对数据进行解密;然后,服务器持有随机数,用户持有数据加随机数,服务器不知道数据,用户也逆向推断不出模型参数,双方使用混淆电路进行激活函数的操作,最终双方都有一个结果,用户将结果进行同态加密后发送给激活函数层,激活函数层使用自己的数据和用户的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。

...

【技术特征摘要】

1.一种基于区块链的安全多方计算融合方法,其特征在于:包括如下步骤:

2.如权利要求1所述的基于区块链的安全多方计算融合方法,其特征在于:步骤3.2)中,用户对对自己的数据进行同态加密之前,首先要进行加密参数的设置以及密钥生成工作,具体流程如下:

3.如权利要求1或2所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,线性计算部分,具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;非线性部分计算时,服务器和用户使用各自的数据进行两方协作计算。

4.如权利要求2所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,卷积操作:服务器将得到的密文数据在服务器进行卷积操作,卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,之后使用重线性化密钥对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最终服务器得到卷积操作的结果。

5.如权利要求4所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,激活函数:在做激活函数之前,服务器先生成随机数,之后将卷积操作的结果和随机数执行同态加密明文密文加法操作,发送给用户,用户对数据进行解密;然后,服务器持有随机数,用户持有数据加随机数,服务器不知道数据,用户也逆向推断不出模型参数,双方使用混淆电路进行激活函数的操作,最终双方都有一个结果,用户将结果进行同态加密后发送给服务器,服务器使用自己的数据和用户的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。

6.如权利要求5所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,全连接操作:用户和服务器经过激活函数,得到各自的计算结果,用户将结果进行同态加密,...

【专利技术属性】
技术研发人员:胡聪侯劲松
申请(专利权)人:国网安徽省电力有限公司信息通信分公司
类型:发明
国别省市:

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

1