CN117370927A - 基于区块链的安全多方计算融合方法及系统 - Google Patents
基于区块链的安全多方计算融合方法及系统 Download PDFInfo
- Publication number
- CN117370927A CN117370927A CN202311336156.2A CN202311336156A CN117370927A CN 117370927 A CN117370927 A CN 117370927A CN 202311336156 A CN202311336156 A CN 202311336156A CN 117370927 A CN117370927 A CN 117370927A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- user
- calculation
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims abstract description 147
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000006243 chemical reaction Methods 0.000 claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 59
- 230000004913 activation Effects 0.000 claims description 57
- 238000013139 quantization Methods 0.000 claims description 29
- 230000008520 organization Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 9
- 230000004927 fusion Effects 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000008030 elimination Effects 0.000 claims description 5
- 238000003379 elimination reaction Methods 0.000 claims description 5
- 238000003062 neural network model Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 14
- 238000007667 floating Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 2
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002526 effect on cardiovascular system Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的安全多方计算融合方法及系统,基于区块链的安全多方计算融合方法包括服务信息记录、量化操作、秘密共享和数据加密、神经网络服务和服务结果等步骤。本发明可应用于不同企业和用户与服务器之间进行神经网络服务,可以很好地保护服务器的模型安全以及用户的隐私数据,同时也保障了服务环境和服务结果的公正可靠性;整个协议使用了同态加密技术、安全多方计算的秘密共享和混淆电路协议以及联盟链技术,通过同态加密技术对数据进行加密,在神经网络中,线性部分使用秘密共享,在非线性部分使用混淆电路进行两方或多方协作计算,同时提出了一种高效的转换方法,提高了推理效率。
Description
技术领域
本发明涉及一种基于区块链的安全多方计算融合方法及系统,属于区块链与隐私保护技术领域。
背景技术
近年来,随着隐私泄露事件的频频发生,人们对于隐私保护的意识不断加强,出于对数据泄露的担忧,许多公司以及用户逐渐形成了数据孤岛。不同公司和企业之间数据共享变得困难,数据的流通性进一步减弱。不仅造成了数据出现碎片化的特点,造成了数据的冗余和浪费,还阻碍了大数据和云计算的发展。
如何保障用户数据的隐私安全,提供一个公正可信的数据流通环境,进一步挖掘数据生产要素的价值,已成为研究和实践领域的重要问题,也不断涌出大量解决方法。其中,对于数据存储安全,区块链加密技术被广泛认可为一种主要的解决方案。可以将数据从采集、交易、流通等每一步进行加密并记录在区块链节点上,保障数据使用合法合规以及数据存储安全。但是传统加密方法只能对数据进行加解密操作,实际在使用数据进行计算时还是以明文形式,无法保障数据在计算时的隐私安全。对于数据的安全计算,安全多方计算因其具有较高安全性而被广泛研究,通常以混淆电路和秘密共享技术为主,可以在无可信第三方的情况下,各参与方将数据进行加密进行交互计算,各参与方无法获取其他参与方的信息。但是安全多方计算存在较大的通信开销,难以适用于实际场景。
因此亟需提出一种保护数据隐私方案。在不同企业和实体之间保障数据存储以及计算安全,实现数据安全共享。
发明内容
为了保障数据的流通和存储安全,在公正可信的环境下保障用户的隐私安全,本发明提供一种基于区块链的安全多方计算融合方法及系统,重点针对双方或多方进行神经网络服务,使用联盟链保障服务环境公正可信以及服务结果的不可篡改性、使用安全多方计算中的混淆电路和秘密共享以及一些同态加密技术保障服务中双方或多方的隐私安全。
为解决上述技术问题,本发明所采用的技术方案如下:
一种基于区块链的安全多方计算融合方法,包括如下步骤:
1)服务信息记录:服务开始时,用户和服务器分别将自己的信息以及所要进行的服务信息发送给联盟链的组织管理员,由组织管理员将接受到的信息进行上链记录,保障服务环境;
2)量化操作:服务器对所持有的模型进行量化操作;用户根据自己所选的服务,对自己的数据进行标准化或归一化等处理,之后对数据进行量化操作;
3)秘密共享和数据加密包括:
3.1)秘密共享:用户对数据进行量化操作的处理之后,进行秘密共享,将共享值分发给服务器和用户,服务器共享值为0,用户共享值为全部数据;
3.2)加密:用户对数据进行秘密共享后,对自己的数据进行BFV同态加密,发送给服务器,服务器将自己的共享值和用户的加密数据进行BFV同态加密明文密文加法操作,得到用户全部数据的密文数据;本方案选取BFV作为同态加密方案,可以更好的适用于量化后的模型参数和数据。
4)神经网络服务:将得到的密文数据依次进行卷积操作、激活函数和全连接操作,得到推理结果;其中,卷积操作和全连接操作为线性计算部分,激活函数为非线性计算部分,线性计算部分使用同态加密和秘密共享方法进行计算,非线性计算部分使用混淆电路构造激活函数进行计算,线性计算部分计算结束后需要采用转换方法1转换至非线性计算部分,非线性计算部分计算结束后需要采用转换方法2转换至线性计算部分;
转换方法1为:服务器得到线性部分计算结果后,首先生成一个随机数,之后对计算结果进行秘密共享,服务器为随机数,用户为计算结果和随机数的和,用户对共享的数据执行同态解密操作,作为非线性部分的输入,转换操作完成;
转换方法2为:用户和服务器经过非线性部分计算,得到各自的计算结果,用户将结果进行同态加密,发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作,随机数进行抵消,得到完整的计算结果,作为线性部分的输入,转换操作完成;
5)服务结果:服务器得到推理结果后,进行两方面操作,一方面将推理结果以密文的形式发送给组织管理员进行上链操作,另一方面将推理结果发送给用户,用户进行同态解密操作,查看服务结果。
上述步骤4)中,神经网络服务主要分为两部分,以卷积操作和全连接操作为主的线性计算部分,以激活函数为主的非线性计算部分。本方案是一种混合方案,线性计算部分使用同态加密和秘密共享技术进行计算,非线性计算部分使用混淆电路构造激活函数进行计算,也即线性计算部分和非线性计算部分由于使用不同的技术保障数据隐私,发明人在二者衔接部分,设计了一种高效的转换方法,包括线性部分向非线性部分转换以及非线性部分向线性部分转换,在线性部分计算完毕后,使用上述特定的转换方法进行非线性部分的操作,同时,非线性部分计算完毕后,采用上述特定的转换方法转换执行下一层的线性部分,极大提高推理效率。
上述方案在神经网络服务中,保障了用户的数据安全以及服务器的模型安全,同时提高了服务效率。由于加密方案的选取以及混淆电路的特性,在整个方案开始之前服务器和用户要进行量化操作。
上述步骤2)中,服务器和用户均采用如下方法进行量化:神经网络中的参数由浮点数Float32表示,量化时,将Float32量化成INT类型,选择无符号数,值域范围为[0,255];量化时,先通过权重参数矩阵找到最小值和最大值确定参数的比例和零点,权重参数每一个值记为m,比例和零点分别记为mscale和mzero_point,然后将权重参数的每一个值从Float32转换为INT8,具体过程为:
将浮点类型的模型参数量化为定点参数,可以有效降低模型的计算强度、参数大小和内存消耗。虽然引入了一些精度损失,但是在适配同态加密和混淆电路上,在效率方面有明显的提升。
上述步骤3.2)中,用户对对自己的数据进行BFV同态加密之前,首先要进行加密参数的设置以及密钥生成工作,具体流程如下:
3.2.1)参数选择:选择BFV同态加密方案,依托SEAL同态加密库,需要设置三个同态加密参数poly_modulus_degree(多项式模数),coeff_modulus(密文多项式模数)和plain_modulus(明文多项式模数);
3.2.2)密钥生成:将加密参数作为输入,使用密钥生成器对公钥、私钥、重线性化密钥等进行生成,使用公钥对数据进行同态加密,私钥保存在本地,用于解密服务器发来的结果。
上述步骤4)中,线性计算部分(卷积、全连接等操作),具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;
本方案中,模型的非线性计算部分特指的是激活函数,使用混淆电路对激活函数进行构造,进行非线性部分计算时,服务器和用户使用各自的数据进行两方协作计算。
上述步骤4)中,卷积操作:服务器将得到的密文数据在服务器进行卷积操作,卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,之后使用重线性化密钥对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最终服务器得到卷积操作的结果。
上述步骤4)中,激活函数:在做激活函数之前,服务器先生成随机数,之后将卷积操作的计算结果和随机数执行同态加密明文密文加法操作,发送给用户,用户对数据进行解密;然后,服务器持有随机数,用户持有数据加随机数,服务器不知道数据,用户也逆向推断不出模型参数,双方使用混淆电路进行激活函数的操作,最终双方都有一个结果,用户将结果进行同态加密后发送给服务器,服务器使用自己的数据和用户的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。
上述步骤4)中,全连接操作:用户和服务器经过激活函数,得到各自的计算结果,用户将结果进行同态加密,之后将加密的数据发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作消除里面的随机数,得到激活函数的正确结果(数据由一部分是进行同态加密的,所以服务器无法推断出用户的隐私数据),然后将此作为全连接操作的输入,执行全连接操作,和卷积操作相同,做同态加密明文密文乘法操作和同态加密明文密文加法操作,期间乘法操作后使用重线性化密钥进行维度和噪声约减,最后得到全连接操作结果。
一种基于区块链的安全多方计算融合系统,包括:组织管理员、用户和服务器;
组织管理员(Organization Administrator):组织管理员是在联盟链中具有上链权限的实体,用来将用户和服务器的各自的信息和所需的服务信息以及最后的推理结果进行记录和上链工作,保障服务环境以及服务结果的可靠;
用户:用户是需要神经网络服务的公司或个人,他们持有数据,但由于资源限制,无法在本地进行大规模神经网络服务,因此选择将此服务外包给云服务器;
服务器:服务器是自身拥有强大算力资源的云服务器,并且有许多优良的神经网络模型,可供不同需求的用户进行选择,为用户提供方便的神经网络服务;
服务开始时,用户和服务器分别将自己的信息以及所要进行的服务信息发送给联盟链的组织管理员,由组织管理员将接受到的信息进行上链记录,保障服务环境;
量化操作阶段,服务器对所持有的模型进行量化操作;用户根据自己所选的服务,对自己的数据进行标准化或归一化处理,之后对数据进行量化操作;
秘密共享阶段,用户对数据进行量化操作的处理之后,进行秘密共享,将共享值分发给服务器和用户,服务器共享值为0,用户共享值为全部数据;
加密阶段,用户对数据进行秘密共享后,对自己的数据进行BFV同态加密,发送给服务器,服务器将自己的共享值和用户的加密数据进行BFV同态加密明文密文加法操作,得到用户全部数据的密文数据;本方案选取BFV作为同态加密方案,可以更好的适用于量化后的模型参数和数据。
神经网络服务阶段,服务器拥有三层网络神经网络模型,包括卷积层、激活函数层和全连接层:服务器将得到的密文数据依次在卷积层进行卷积操作、在激活函数层进行激活函数和在全连接层进行全连接操作,得到推理结果;其中,卷积操作和全连接操作为线性计算部分,激活函数为非线性计算部分,线性计算部分使用同态加密和秘密共享方法进行计算,非线性计算部分使用混淆电路构造激活函数进行计算,线性计算部分计算结束后需要采用转换方法1转换至非线性计算部分,非线性计算部分计算结束后需要采用转换方法2转换至线性计算部分;
转换方法1为:服务器得到线性部分计算结果后,首先生成一个随机数,之后对计算结果进行秘密共享,服务器为随机数,用户为计算结果和随机数的和,用户对共享的数据执行同态解密操作,作为非线性部分的输入,转换操作完成;
转换方法2为:用户和服务器经过非线性部分计算,得到各自的计算结果,用户将结果进行同态加密,发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作,随机数进行抵消,得到完整的计算结果,作为线性部分的输入,转换操作完成;
在服务结果阶段,服务器得到推理结果后,进行两方面操作,一方面将推理结果以密文的形式发送给组织管理员进行上链操作,另一方面将推理结果发送给用户,用户进行同态解密操作,查看服务结果。
在这个系统中,以两方为例,首先用户和服务器将自己各自的信息以及本次服务记录发送给联盟链节点,记录本次服务信息。之后用户和服务器使用量化方法对自己持有的数据和模型进行量化,用户对自己的私有数据进行同态加密,在密文数据下进行两方神经网络交互服务。服务完成后,服务器将密文结果一方面发送给联盟链节点记录,一方面发送给用户。在整个服务中,保障了用户和服务器的隐私安全,同时也保障了服务环境和服务结果的公正可信。此外,在本系统中,提出了一种神经网络线性层与非线性层转换方法,加快了服务效率。
上述神经网络服务阶段,线性计算部分(卷积、全连接等操作),具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;
本方案中,模型的非线性计算部分特指的是激活函数,使用混淆电路对激活函数进行构造,进行非线性部分计算时,服务器和用户使用各自的数据进行两方协作计算。
上述神经网络服务阶段,卷积操作:服务器将得到的密文数据在卷积层进行卷积操作,卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,之后使用重线性化密钥对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最终服务器得到卷积操作的结果。
上述神经网络服务阶段,激活函数:在做激活函数之前,服务器先生成随机数,之后将卷积操作的计算结果和随机数执行同态加密明文密文加法操作,发送给用户,用户对数据进行解密;然后,服务器持有随机数,用户持有数据加随机数,服务器不知道数据,用户也逆向推断不出模型参数,双方使用混淆电路进行激活函数的操作,最终双方都有一个结果,用户将结果进行同态加密后发送给激活函数层,激活函数层使用自己的数据和用户的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。
上述神经网络服务阶段,全连接操作:用户和服务器经过激活函数,得到各自的计算结果,用户将结果进行同态加密,之后将加密的数据发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作消除里面的随机数,得到激活函数的正确结果(数据由一部分是进行同态加密的,所以服务器无法推断出用户的隐私数据),然后将此作为全连接层的输入,执行全连接操作,和卷积操作相同,做同态加密明文密文乘法操作和同态加密明文密文加法操作,期间乘法操作后使用重线性化密钥进行维度和噪声约减,最后得到全连接操作结果。
本发明公开了基于区块链的安全多方计算融合方法及系统,应用于不同企业和用户与服务器之间进行神经网络服务的场景,实现在双方或多方服务中对各自隐私安全的保证以及对服务环境的保障。
本发明未提及的技术均参照现有技术。
本发明技术方案,具有如下有益效果:
本发明基于区块链的安全多方计算融合方法及系统,可以很好的保护服务器的模型安全以及用户的隐私数据,同时也保障了服务环境和服务结果的公正可靠性;整个协议使用了同态加密技术、安全多方计算的秘密共享和混淆电路协议以及联盟链技术,通过同态加密技术对数据进行加密,在神经网络中,线性部分使用秘密共享,在非线性部分使用混淆电路进行两方或多方协作计算,同时提出了一种高效的转换方法,提高了推理效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于区块链的安全多方计算融合方法及系统对应的整体流程架构图;
图2为本发明实施例中基于区块链的安全多方计算融合方法及系统对应的具体模型流程图;
图3为本发明实施例中基于同态加密的参数设置格式;
具体实施方式
为了更好地理解本发明,下面结合实施例进一步阐明本发明的内容,但本发明的内容不仅仅局限于下面的实施例。
本发明实施例提供一种基于区块链的安全多方计算融合方法及系统,适用于不同用户或企业使用云服务器进行神经网络服务场景,实现在公正可信的环境下,用户使用神经网络服务而不泄露隐私。对本申请实例中,结合图1、图2、图3对本申请实施例记载的方案进行说明,假设在一个两方的场景下,用户有神经网络推理需求,用户拥有一个电力信息符合预测数据X,服务器拥有三层网络神经网络模型Model,包括一个卷积层,一个激活函数层和一个全连接层,期间涉及到的一些公式含义,以表格的形式展示在表1中,具体步骤如下:
表1
基于区块链的安全多方计算融合系统,包括:组织管理员、用户和服务器;
组织管理员:组织管理员是在联盟链中具有上链权限的实体,用来将用户和服务器的各自的信息和所需的服务信息以及最后的推理结果进行记录和上链工作,保障服务环境以及服务结果的可靠;
用户:用户是需要神经网络服务的公司或个人;
服务器:服务器是自身拥有强大算力资源的云服务器,可供不同需求的用户进行选择,为用户提供方便的神经网络服务;
基于区块链的安全多方计算融合方法,包括如下步骤:
1)服务信息记录:
用户在请求服务器此项服务之前,双方将各自的基本信息(包括时间、身份、企业名称等)以及服务信息(请求何种服务等)发送给组织管理员,由组织管理员将这些信息发布到联盟链上。
2)量化操作:
服务器对所持有的模型进行量化操作,用户根据自己所选的服务,对自己的数据进行标准化,归一化等处理,之后对数据进行量化操作。将浮点类型的模型参数量化为定点参数,可以有效降低模型的计算强度、参数大小和内存消耗。虽然引入了一些精度损失,但是在适配同态加密和混淆电路上,在效率方面有明显的提升,所以选择合理的量化方法对模型参数进行量化对于我们的方案是必要的。
示例性地,用户对人体心脑血管诊断的隐私数据进行处理,之后进行量化操作。服务器采用模型量化方法对训练好的模型进行量化,神经网络中的参数由浮点数Float32表示,量化时,将Float32量化成INT类型。选择无符号数,值域范围为[0,255]。量化时,先通过权重参数矩阵找到最小值和最大值确定参数的比例和零点。权重参数每一个值如果记为m,则比例和零点记为mscale和mzero_point。然后将权重参数的每一个值从Float32转换为INT8。具体过程为:
用户隐私数据的量化方式同上,量化虽然会引起误差,造成模型效率由微小差距,但是对模型进行量化之后,可以更好的执行后续同态加密操作以及混淆电路操作,并可以在电路上使用FPGA优化技术,加速混淆电路计算过程。
3)秘密共享和和数据加密:
3.1)秘密共享:
用户对数据进行相应的处理之后,进行秘密共享,将共享值分发给服务器和用户,服务器端共享值为0,用户端共享值为全部数据。
示例性地,用户对自己的数据X进行加性秘密共享,其中用户用C表示,服务器用S表示,秘密共享为Cxadd=X,Sxadd=0,分别代表用户通过秘密共享获得的数据以及服务器获得的数据。
3.2)同态加密:
本方案选取BFV作为同态加密方案,可以更好的适用于量化后的模型参数和数据。进行同态加密之前,首先要进行加密参数的设置以及密钥生成工作,具体流程如下:
3.2.1)参数选择。选择BFV同态加密方案,依托SEAL同态加密库。需要设置三个同态加密参数poly_modulus_degree(多项式模数),coeff_modulus(密文多项式模数)和plain_modulus(明文多项式模数)。BFV加密方案是基于RLWE(Ring Learning with Error)的有限级数同态加密方案,用户应该根据自己选取的神经网络模型的深度和复杂程度选取合适的参数,使得计算过程可以在噪声不超过最大界限的情况下完成神经网络推理并成功解密。
示例性地,poly_modulus_degree设置为4096,poly_modulus_degree设置为1024,coeff_modulus使用poly_modulus_degree去自动适应生成。
3.2.2)密钥生成。
将加密的参数作为输入,使用密钥生成器对公钥、私钥、重线性化密钥等进行生成。使用公钥对数据进行同态加密,私钥保存在本地,用于解密服务器发来的结果。对于私钥和公钥等密钥生成算法如下:
(1)私钥。设安全参数为λ,f(x)是循环多项式φm(x)=XN+1,设置多项式环R=Z[x]/(f(x))。对于随机元素m∈Rq和在R上的分布χ=χ(λ)。选择均匀随机元素s和一个噪声项e<-χ。其中q=q(λ)>=2。基于此RLWE方案,设置明文空间Rt,rt(q)=qmodt,我们得到q=Δ·t+rtq。
私钥生成:s<-χ,SK=s。
(2)公钥。SK=s,选定a<-Rq,e<-χ,有P1=PK[1]=([-(a·s+e]q,a)
(3)加密消息。对于一个消息m∈Rt,P2=PK[2]=a,P2=PK[2]=a。选取u,e1,e2<-χ,ct=([P1·u+e1+Δ·m]q,[P2·u+e2]q)。
3.3)用户隐私数据加密:
用户对自己的数据进行同态加密(使用公钥对数据进行同态加密,私钥保存在本地),发送给服务器。服务将自己的数据和用户的加密数据进行同态加密明文密文加法操作,得到用户全部数据的密文形式。
示例性的基于网络的大小,选取同态加密的参数多项式模数,密文多项式模数和明文多项式模数,基于此生成公钥PK和私钥SK以及重线性化密钥Relin以及用于旋转的密钥Gal。对私有数据进行加密,加密时,按照特定方法对数据按行或者其他方式进行加密,最后加密形成具有多个密文的矩阵
4)交互推理
4.1)卷积层操作。服务器使用加密的数据和量化的模型参数权重先进行同态加密明文密文乘法操作,之后使用重线性化技术对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最后得到计算结果。
对于卷积层加密数据计算。总体流程是卷积核权重W和加密数据Enc(X)进行相乘,最后加上偏置值B。对于密文的操作包含乘法,加法,旋转,重线性化等操作。
示例性地,服务器收到客户端的加密数据矩阵Zc和自己的Sxadd进行同态加密明文密文加法操作得到数据Z=Zc+Sxadd。并在服务器端进行卷积操作。其中,用户发送给服务器同态加密之后的数据,服务器得不到数据的任何信息。卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,然后在进行同态加密明文密文加法操作加上偏置值。在明文密文乘法操作之后,使用重线性化密钥对噪声以及规模进行约减,最终服务器得到卷积操作的结果Zconv。
4.2)在做激活函数之前,服务器先生成随机数,之后将上一层线性层的计算结果和随机数执行同态加密明文密文加法操作,发送给客户端。客户端对数据进行解密。然后,服务器持有随机数,客户端持有数据加随机数,服务器不知道数据,客户端也逆向推断不出模型参数。双方使用混淆电路技术进行激活函数的操作,最终双方都有一个结果。客户端将结果进行同态加密后发送给服务器,服务器使用自己的数据和客户端的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。
示例性地,在进行激活函数操作之前,服务器随机生成一个随机小整数r,之后计算同态加密明文密文加法操作Zconv+r,之后双方进行加法秘密共享操作,Sadd=r,Cadd=Zconv+r,客户端收到的结果进行同态解密操作Cadd=Dec(SK,Cadd),客户端收到卷积操作的结果加上一个随机数,所以解密之后仍然无法知道正确结果,因此无法逆向推断模型参数。之后服务器和客户端使用共享数据进行混淆电路实现的Relu激活函数的操作。Crelu=Relu(0,Cadd),Srelu=Relu(0,Sadd)。
5)全连接操作。全连接操作和卷积操作原理相同。
示例性地,客户端得到自己共享数据经过Relu函数结果之后,对数据进行同态加密操作Cfc-enc=Enc(PK,Crelu),之后将加密的数据发送给服务器,服务器用自己的结果和客户端的结果做同态加密明文密文加法操作消除里面的随机数r,得到经过Relu激活函数的正确结果Sfc=Cfc-enc+Srelu。数据由一部分是进行同态加密的,所以服务器无法推断出用户的隐私数据,然后执行全连接操作,和卷积操作相同,全连接层权重数据与激活函数层的输出结果Sfc做同态加密明文密文乘法与加法操作。,期间乘法操作后使用重线性化密钥进行维度和噪声约减,最后得到结果Sresult。
6)上链操作。服务器将推理结果发送给组织管理员,由组织管理员发布到区块链节点上进行内容存证。
示例性地,因为推理结果的内容很小,可能只是一个值,我们完全可以使用内容存证的方式进行上链操作。
7)用户查看结果。最终服务器将推理结果发送给用户,用户使用私钥对数据进行解密,拿到推理结果。
示例性地,服务器将推理的结果Sresult发送给客户端,客户端使用自己的密钥SK对结果执行同态解密操作,之后的到电力负荷预测结果。
Claims (10)
1.一种基于区块链的安全多方计算融合方法,其特征在于:包括如下步骤:
1)服务信息记录:服务开始时,用户和服务器分别将自己的信息以及所要进行的服务信息发送给联盟链的组织管理员,由组织管理员将接受到的信息进行上链记录;
2)量化操作:服务器对所持有的模型进行量化操作;用户根据自己所选的服务,对自己的数据进行标准化或归一化处理,之后对数据进行量化操作;
3)秘密共享和数据加密包括:
3.1)秘密共享:用户对数据进行量化操作的处理之后,进行秘密共享,将共享值分发给服务器和用户,服务器共享值为0,用户共享值为全部数据;
3.2)数据加密:用户对数据进行秘密共享后,对自己的数据进行同态加密,发送给服务器,服务器将自己的共享值和用户的加密数据进行同态加密明文密文加法操作,得到用户全部数据的密文数据;
4)神经网络服务:将得到的密文数据依次进行卷积操作、激活函数和全连接操作,得到推理结果;其中,卷积操作和全连接操作为线性计算部分,激活函数为非线性计算部分,线性计算部分使用同态加密和秘密共享方法进行计算,非线性计算部分使用混淆电路构造激活函数进行计算,线性计算部分计算结束后需要采用转换方法1转换至非线性计算部分,非线性计算部分计算结束后需要采用转换方法2转换至线性计算部分;
转换方法1为:服务器得到线性部分计算结果后,首先生成一个随机数,之后对计算结果进行秘密共享,服务器为随机数,用户为计算结果和随机数的和,用户对共享的数据执行同态解密操作,作为非线性部分的输入,转换操作完成;
转换方法2为:用户和服务器经过非线性部分计算,得到各自的计算结果,用户将计算结果进行同态加密,发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作,随机数进行抵消,得到完整的计算结果,作为线性部分的输入,转换操作完成;
5)服务结果:服务器得到推理结果后,进行两方面操作,一方面将推理结果以密文的形式发送给组织管理员进行上链操作,另一方面将推理结果发送给用户,用户进行同态解密操作,查看服务结果。
2.如权利要求1所述的基于区块链的安全多方计算融合方法,其特征在于:步骤3.2)中,用户对对自己的数据进行同态加密之前,首先要进行加密参数的设置以及密钥生成工作,具体流程如下:
3.2.1)参数选择:选择BFV同态加密,依托SEAL同态加密库,设置三个同态加密参数:多项式模数、密文多项式模数和明文多项式模数;
3.2.2)密钥生成:将加密参数作为输入,使用密钥生成器对公钥、私钥和重线性化密钥进行生成,使用公钥对数据进行同态加密,私钥保存在本地,用于解密服务器发来的结果。
3.如权利要求1或2所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,线性计算部分,具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;非线性部分计算时,服务器和用户使用各自的数据进行两方协作计算。
4.如权利要求2所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,卷积操作:服务器将得到的密文数据在服务器进行卷积操作,卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,之后使用重线性化密钥对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最终服务器得到卷积操作的结果。
5.如权利要求4所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,激活函数:在做激活函数之前,服务器先生成随机数,之后将卷积操作的结果和随机数执行同态加密明文密文加法操作,发送给用户,用户对数据进行解密;然后,服务器持有随机数,用户持有数据加随机数,服务器不知道数据,用户也逆向推断不出模型参数,双方使用混淆电路进行激活函数的操作,最终双方都有一个结果,用户将结果进行同态加密后发送给服务器,服务器使用自己的数据和用户的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。
6.如权利要求5所述的基于区块链的安全多方计算融合方法,其特征在于:步骤4)中,全连接操作:用户和服务器经过激活函数,得到各自的计算结果,用户将结果进行同态加密,之后将加密的数据发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作消除里面的随机数,得到激活函数的正确结果,然后将此作为全连接操作的输入,执行全连接操作,和卷积操作相同,做同态加密明文密文乘法操作和同态加密明文密文加法操作,期间乘法操作后使用重线性化密钥进行维度和噪声约减,最后得到全连接操作结果。
7.一种基于区块链的安全多方计算融合系统,其特征在于:包括:组织管理员、用户和服务器;
组织管理员:组织管理员是在联盟链中具有上链权限的实体,用来将用户和服务器的各自的信息和所需的服务信息以及最后的推理结果进行记录和上链工作,保障服务环境以及服务结果的可靠;
用户:用户是需要神经网络服务的公司或个人;
服务器:服务器是自身拥有强大算力资源的云服务器,供不同需求的用户进行选择,为用户提供方便的神经网络服务;
服务开始时,用户和服务器分别将自己的信息以及所要进行的服务信息发送给联盟链的组织管理员,由组织管理员将接受到的信息进行上链记录;
量化操作阶段,服务器对所持有的模型进行量化操作;用户根据自己所选的服务,对自己的数据进行标准化或归一化处理,之后对数据进行量化操作;
秘密共享阶段,用户对数据进行量化操作的处理之后,进行秘密共享,将共享值分发给服务器和用户,服务器共享值为0,用户共享值为全部数据;
加密阶段,用户对数据进行秘密共享后,对自己的数据进行BFV同态加密,发送给服务器,服务器将自己的共享值和用户的加密数据进行BFV同态加密明文密文加法操作,得到用户全部数据的密文数据;
神经网络服务阶段,服务器拥有三层网络神经网络模型,包括卷积层、激活函数层和全连接层:服务器将得到的密文数据依次在卷积层进行卷积操作、在激活函数层进行激活函数和在全连接层进行全连接操作,得到推理结果;其中,卷积操作和全连接操作为线性计算部分,激活函数为非线性计算部分,线性计算部分使用同态加密和秘密共享方法进行计算,非线性计算部分使用混淆电路构造激活函数进行计算,线性计算部分计算结束后需要采用转换方法1转换至非线性计算部分,非线性计算部分计算结束后需要采用转换方法2转换至线性计算部分;
转换方法1为:服务器得到线性部分计算结果后,首先生成一个随机数,之后对计算结果进行秘密共享,服务器为随机数,用户为计算结果和随机数的和,用户对共享的数据执行同态解密操作,作为非线性部分的输入,转换操作完成;
转换方法2为:用户和服务器经过非线性部分计算,得到各自的计算结果,用户将结果进行同态加密,发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作,随机数进行抵消,得到完整的计算结果,作为线性部分的输入,转换操作完成;
在服务结果阶段,服务器得到推理结果后,进行两方面操作,一方面将推理结果以密文的形式发送给组织管理员进行上链操作,另一方面将推理结果发送给用户,用户进行同态解密操作,查看服务结果。
8.如权利要求7所述的基于区块链的安全多方计算融合系统,其特征在于:神经网络服务阶段,线性计算部分,具体计算过程只有加法计算和乘法计算,服务器在得到全部密文数据后,进行线性计算部分操作,使用密文数据和模型参数进行同态加密明文密文加法和乘法操作,得到线性部分计算结果;非线性部分计算时,服务器和用户使用各自的数据进行两方协作计算。
9.如权利要求7或8所述的基于区块链的安全多方计算融合系统,其特征在于:神经网络服务阶段,卷积操作:服务器将得到的密文数据在卷积层进行卷积操作,卷积操作执行数据和卷积核权重同态加密明文密文乘法操作,之后使用重线性化密钥对结果进行维度和噪声的约减,然后将结果和模型参数偏置执行同态加密明文密文加法操作,最终服务器得到卷积操作的结果。
10.如权利要求7或8所述的基于区块链的安全多方计算融合系统,其特征在于:激活函数:在做激活函数之前,服务器先生成随机数,之后将卷积操作的结果和随机数执行同态加密明文密文加法操作,发送给用户,用户对数据进行解密;然后,服务器持有随机数,用户持有数据加随机数,服务器不知道数据,用户也逆向推断不出模型参数,双方使用混淆电路进行激活函数的操作,最终双方都有一个结果,用户将结果进行同态加密后发送给激活函数层,激活函数层使用自己的数据和用户的数据进行随机数消除操作,最后得到正常数据经过激活函数的结果。
全连接操作:用户和服务器经过激活函数,得到各自的计算结果,用户将结果进行同态加密,之后将加密的数据发送给服务器,服务器将本地数据和用户发来的加密数据进行同态加密加法操作消除里面的随机数,得到激活函数的正确结果,然后将此作为全连接层的输入,执行全连接操作,和卷积操作相同,做同态加密明文密文乘法操作和同态加密明文密文加法操作,期间乘法操作后使用重线性化密钥进行维度和噪声约减,最后得到全连接操作结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336156.2A CN117370927A (zh) | 2023-10-16 | 2023-10-16 | 基于区块链的安全多方计算融合方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311336156.2A CN117370927A (zh) | 2023-10-16 | 2023-10-16 | 基于区块链的安全多方计算融合方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370927A true CN117370927A (zh) | 2024-01-09 |
Family
ID=89401760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311336156.2A Pending CN117370927A (zh) | 2023-10-16 | 2023-10-16 | 基于区块链的安全多方计算融合方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370927A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688595A (zh) * | 2024-02-04 | 2024-03-12 | 南湖实验室 | 一种基于可信执行环境的同态加密性能提升方法及其系统 |
CN117910024A (zh) * | 2024-03-19 | 2024-04-19 | 深圳市纽创信安科技开发有限公司 | 密钥生成方法及装置、电子设备和存储介质 |
-
2023
- 2023-10-16 CN CN202311336156.2A patent/CN117370927A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688595A (zh) * | 2024-02-04 | 2024-03-12 | 南湖实验室 | 一种基于可信执行环境的同态加密性能提升方法及其系统 |
CN117688595B (zh) * | 2024-02-04 | 2024-05-31 | 南湖实验室 | 一种基于可信执行环境的同态加密性能提升方法及其系统 |
CN117910024A (zh) * | 2024-03-19 | 2024-04-19 | 深圳市纽创信安科技开发有限公司 | 密钥生成方法及装置、电子设备和存储介质 |
CN117910024B (zh) * | 2024-03-19 | 2024-05-24 | 深圳市纽创信安科技开发有限公司 | 密钥生成方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008717B (zh) | 支持隐私保护的决策树分类服务系统及方法 | |
Hohenberger et al. | Online/offline attribute-based encryption | |
CN117370927A (zh) | 基于区块链的安全多方计算融合方法及系统 | |
EP3345335A1 (en) | Homomorphic based method and system for securely aggregating data | |
CN112383388A (zh) | 一种基于云计算大数据的双秘钥加密系统及方法 | |
Rao | On the security of a variant of ElGamal encryption scheme | |
CN114697073A (zh) | 一种基于区块链的电信运营商数据安全共享方法 | |
Wu | Fully homomorphic encryption: Cryptography's holy grail | |
CN114465708B (zh) | 隐私数据处理方法及装置、系统、电子设备、存储介质 | |
Wang et al. | Privacy preserving computations over healthcare data | |
CN114640436A (zh) | 一种基于隐私保护的分组统计参数计算方法、装置 | |
Dong et al. | Achieving secure and efficient data collaboration in cloud computing | |
CN112580071B (zh) | 一种数据处理方法及装置 | |
CN116722977B (zh) | 基于国密sm9的条件代理重加密方法 | |
CN116055152A (zh) | 一种基于格的访问控制加解密方法及系统 | |
Wu et al. | New identity based proxy re-encryption scheme from lattices | |
WO2022239129A1 (ja) | 鍵交換システム、機器、鍵交換方法、及びプログラム | |
CN113849831A (zh) | 一种基于sm2算法的两方协同签名和解密方法及系统 | |
Shang et al. | Decentralized distributed federated learning based on multi-key homomorphic encryption | |
Barbosa et al. | Secure cryptographic workflow in the standard model | |
Wu et al. | Identity-based threshold proxy re-encryption scheme from lattices and its applications | |
Wu et al. | Blockchain privacy protection based on post quantum threshold algorithm | |
Sarumi | A review of encryption methods for secure data communication | |
Rao et al. | Experimental analysis and comparative study of secure data outsourcing schemes in cloud | |
Zheng et al. | More secure Outsourcing CP-ABE Scheme under the situation of untrusted PKG |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |