CN115510466A - 密文预测方法、相关装置及存储介质 - Google Patents
密文预测方法、相关装置及存储介质 Download PDFInfo
- Publication number
- CN115510466A CN115510466A CN202211193837.3A CN202211193837A CN115510466A CN 115510466 A CN115510466 A CN 115510466A CN 202211193837 A CN202211193837 A CN 202211193837A CN 115510466 A CN115510466 A CN 115510466A
- Authority
- CN
- China
- Prior art keywords
- feature
- ciphertext
- model
- public key
- prediction
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 126
- 238000010801 machine learning Methods 0.000 claims abstract description 103
- 230000008569 process Effects 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000015654 memory Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007477 logistic regression Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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/602—Providing cryptographic facilities or services
-
- 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
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例涉及数据处理领域,提供一种密文预测方法、相关装置及存储介质,该方法包括:接收模型预测指令,其中,模型预测指令基于由请求方设备生成的模型预测请求得到,包括由请求方设备生成的公钥;采用公钥对特征值预测结果进行同态加密,得到加密密文,其中,特征值预测结果由特征方设备存储的特征值以及机器学习模型的模型分量计算得到;发送加密密文,使得请求方设备基于与公钥同时生成的私钥处理加密密文,得到机器学习模型的模型预测结果。本申请实施例提供了一种隐私保护机器学习场景下实现密文预测的新方式,通过同态加密的手段有效提高数据的安全性和隐私性,充分保护请求方设备和特征方设备交互过程中的数据安全。
Description
技术领域
本申请实施例涉及数据处理领域,更具体地涉及一种密文预测方法、相关装置及存储介质。
背景技术
目前,为保护数据信息的隐私安全,各个数据属主通常会对数据进行独立存储,独立维护,导致数据间缺乏关联性,形成数据孤岛。为解决数据孤岛问题,挖掘数据的潜在价值,隐私保护机器学习技术应运而生。
在隐私保护机器学习中,各个数据属主作为参与方均拥有对应的特征值。在机器学习模型的训练阶段,基于逻辑回归原理,各个参与方加入模型训练,以便获得对应的模型分量,使机器学习模型分布至各个参与方中。
在机器学习模型的预测阶段,按照逻辑回归原理,响应于请求方的预测请求,各个参与方将计算得到的预测值分量反馈给请求方,联合计算出机器学习模型最终的预测值。预测值分量反馈给请求方的过程中,虽然没有暴露参与方各自持有的特征值和机器学习模型的模型分量,但仍会向请求方暴露参与方的计算结果,导致部分数据信息的泄露,不利于隐私的保护。
例如,应用纵向联邦学习模型的场景中,机器学习模型的分量预测值可以是各个参与方基于各自特征值与模型分量得到的内积结果。向请求方反馈内积结果的过程中,因内积结果的泄露,容易导致参与方的数据泄露,为数据的隐私保护带来一定安全风险。
因此,希望能有改进的方案,可以解决隐私保护机器学习中存在的数据安全问题,保证各参与方数据的隐私性和安全性。
发明内容
本申请实施例提供一种密文预测方法、相关装置及存储介质,能够解决隐私保护机器学习中存在的数据安全问题,保证特征方设备和请求方设备的数据隐私性和安全性。
第一方面,本申请实施例从特征方设备角度提供一种密文预测方法,该方法应用于特征方设备,所述方法包括:
接收模型预测指令,其中,所述模型预测指令基于由请求方设备生成的模型预测请求得到,包括由所述请求方设备生成的公钥;
采用所述公钥对特征值预测结果进行同态加密,得到加密密文,其中,所述特征值预测结果由所述特征方设备存储的特征值以及机器学习模型的模型分量计算得到;
发送所述加密密文,使得所述请求方设备基于与所述公钥同时生成的私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
第二方面,本申请实施例从请求方设备角度提供一种密文预测方法,该方法应用于请求方设备,所述方法包括:
生成用于实现同态加密的公钥和私钥;
向特征方设备发送模型预测请求,其中,所述模型预测请求包括所述公钥;
接收来自所述特征方设备的加密密文,其中,所述加密密文由所述特征方设备对特征值预测结果经过同态加密后得到,所述特征值预测结果由特征方设备存储的特征值和机器学习模型的模型分量计算得到;
采用所述私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
第三方面,本申请实施例提供一种密文预测装置,具有实现对应于上述第一方面提供的密文预测方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
在一个实施方式中,所述密文预测装置应用于特征方设备,所述装置包括:
收发模块,被配置为接收模型预测指令,其中,所述模型预测指令基于由请求方设备生成的模型预测请求得到,包括由所述请求方设备生成的公钥;
处理模块,被配置为采用所述公钥对特征值预测结果进行同态加密,得到加密密文,其中,所述特征值预测结果由所述特征方设备存储的特征值以及机器学习模型的模型分量计算得到;
所述收发模块,还被配置为发送所述加密密文,使得所述请求方设备基于与所述公钥同时生成的私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
第四方面,本申请实施例提供一种密文预测装置,具有实现对应于上述第二方面提供的密文预测方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元,所述单元可以是软件和/或硬件。
在一个实施方式中,所述密文预测装置应用于请求方设备,所述装置包括:
处理单元,被配置为生成用于实现同态加密的公钥和私钥;
收发单元,被配置为向特征方设备发送模型预测请求,其中,所述模型预测请求包括所述公钥;
所述收发单元,还被配置为接收来自所述特征方设备的加密密文,其中,所述加密密文由所述特征方设备对特征值预测结果经过同态加密后得到,所述特征值预测结果由特征方设备存储的特征值和机器学习模型的模型分量计算得到;
所述处理单元,还被配置为采用所述私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
第五方面,本申请实施例提供一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行第一方面中所述的密文预测方法,或执行第二方面中所述的密文预测方法。
第六方面,本申请实施例提供一种计算设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现第一方面中所述的密文预测方法,或实现第二方面中所述的密文预测方法。
相较于现有技术,本申请实施例中,请求方设备生成用于同态加密的公钥和私钥,并向特征方设备发送包括该公钥的模型预测请求。特征方设备基于由模型预测请求得到的模型预测指令,可以采用该公钥对特征值预测结果进行同态加密得到加密密文,其中,特征值预测结果由特征方设备存储的特征值以及机器学习模型的模型分量计算得到。特征方设备发送加密密文,使得请求方设备基于与公钥同时生成的私钥处理该加密密文,得到机器学习模型的模型预测结果。相较于现有技术,一方面,特征方设备采用公钥对特征值预测结果进行同态加密,可以有效保证特征方设备侧的隐私性和安全性。另一方面,由于同态加密状态下数据的运算结果,与非同态加密状态下数据的运算结果一致,因而,无需解密即可直接对经过同态加密后的加密密文进行运算,有效避免现有技术在机器学习模型执行密文预测的过程中因运算结果未加密而产生的数据泄露隐患,进一步提升数据的隐私性和安全性。本申请实施例提供了一种隐私保护机器学习场景下实现密文预测的新方式,通过同态加密的手段有效提高数据的安全性和隐私性,充分保护请求方设备和特征方设备交互过程中的数据安全。
附图说明
通过参考附图阅读本申请实施例的详细描述,本申请实施例的目的、特征和优点将变得易于理解。其中:
图1为本申请实施例中适用密文预测方法的一种密文预测系统的示意图;
图2为本申请实施例的密文预测方法的一种信令交互图;
图3a为本申请实施例的密文预测方法的另一种信令交互图;
图3b为本申请实施例的密文预测方法的又一种信令交互图;
图4为本申请实施例中一种加密密文获取方法的流程示意图;
图5为本申请实施例的一种密文预测装置的结构示意图;
图6为本申请实施例的又一种密文预测装置的结构示意图;
图7为本申请实施例的计算设备的一种结构示意图;
图8为本申请实施例中服务器的一种结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象(例如第一特征方设备和第二特征方设备分别表示为不同的特征方设备,其他类似),而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合,通信连接可以是电性或其他类似的形式,本申请实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请实施例方案的目的。
本申请实施例提供一种密文预测方法,可应用于联邦学习场景(例如纵向联邦学习),涉及至少两个服务设备,至少两个服务设备包括至少两个密文预测装置。例如,一个服务设备包括一个第一密文预测装置,另一个服务设备包括一个第二密文预测装置,所述第一密文预测装置和所述第二密文预测装置分别归属于不同的数据属主。例如,第一密文预测装置归属于特征持有方,第二密文预测装置归属于密文预测请求方。
该第一密文预测装置至少用于接收第二密文预测装置生成的公钥,使用此公钥对持有的特征值预测结果进行同态加密,得到加密密文,并发送该加密密文。该加密密文可以发送给其他第一密文预测装置,或者第二密文预测装置。在一些场景中,各个第一密文预测装置都会接收到携带有公钥的模型预测请求,并响应于该模型预测请求执行后续处理步骤。另一些场景中,例如纵向联邦学习场景,接收到公钥的第一密文预测装置会将对持有的特征值预测结果进行同态加密之后,将加密得到的分量密文与公钥一并传输给其他第一密文预测装置,以此类推,直到最后一级的第一密文预测装置对持有的特征值预测结果进行同态加密,并将自身得到的分量密文与接收到的分量密文进行同态运算后,得到最终的加密密文,发送给第二密文预测装置。该第二密文预测装置至少用于生成用于实现同态加密的公钥和密钥,并将公钥发送给至少一个第一密文预测装置、接收第一密文预测装置的加密密文、基于与所述公钥同时生成的私钥处理所述加密密文,得到机器学习模型的模型预测结果。
其中,第一密文预测装置可为接收第二密文预测装置生成的模型预测请求,使用该请求中包括的公钥对持有的特征值预测结果进行同态加密得到加密密文,并发送该加密密文至其他第一密文预测装置的应用程序;或也可以为安装了接收加密密文以及用于生成该加密密文的公钥,使用此公钥对持有的特征值预测结果进行同态加密得到加密密文,并发送该加密密文至其他第一密文预测装置的应用程序;还可以为安装了接收加密密文以及用于生成该加密密文的公钥,使用此公钥对持有的特征值预测结果进行同态加密得到加密密文,并发送该加密密文至第二密文预测装置的应用程序。当然,也可以为安装并运行上述应用程序的设备,如服务器、服务器集群、用户设备等。第二密文预测装置可为生成用于实现同态加密的公钥和密钥,并将公钥发送给至少一个第一密文预测装置、接收第一密文预测装置的加密密文、基于与所述公钥同时生成的私钥处理所述加密密文,得到机器学习模型的模型预测结果的应用程序,或为安装了生成用于实现同态加密的公钥和密钥,并将公钥发送给至少一个第一密文预测装置、接收第一密文预测装置的加密密文、基于与所述公钥同时生成的私钥处理所述加密密文,得到机器学习模型的模型预测结果的应用程序的设备,例如安装并运行上述应用程序的设备,如服务器、服务器集群、用户设备等。
本申请实施例提供的方案涉及人工智能(Artificial Intelligence,AI)、联邦学习(Federated Learning,FL)、机器学习(Machine Learning,ML)等技术,具体通过如下实施例进行说明:
其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大密文预测技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
联邦学习,是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,即“数据可用不可见”、“数据不动模型动”的应用新范式。
基于隐私保护的机器学习,可以将多方数据应用于一个机器学习模型的训练,而无需进行多方数据共享或资源聚合,在进行机器学习的同时,保护了各方数据隐私。目前,用于机器学习中隐私保护的技术,例如,基于差分隐私的隐私保护技术、基于安全多方计算的隐私保护技术。
其中,基于差分隐私的隐私保护技术,给数据添加噪声,或者使用归纳方法掩盖某些敏感属性,直到第三方无法区分个人为止,从而使数据无法恢复以保护用户隐私。例如通过在训练期间隐藏客户的贡献来为客户端数据提供保护。但是,该方法会导致模型精度不够高,且无法保证参数传递过程中的机密性,该方法的本质仍然要求将数据传输到其他地方,而且通常需要在准确性和隐私之间进行权衡,安全性较低。
基于安全多方计算的隐私保护技术,安全模型包含多个参与方,并在定义明确的仿真框架中提供安全证明,以确保完全零知识,即每个参与方除了其输入和输出外无法获得其他信息。但是,该方法通常需要多个参与方多次交互产生计算结果,交互次数较多,通信代价较大。
在现有的隐私保护机器学习中,各个数据属主作为参与方均拥有对应的特征值。在机器学习模型的训练阶段,基于逻辑回归原理,各个参与方加入模型训练,以便获得对应的模型分量,使机器学习模型分布至各个参与方中。
现有技术中,在机器学习模型的预测阶段,按照逻辑回归原理,响应于请求方的预测请求,各个参与方将预测值分量反馈给请求方,联合计算出机器学习模型最终的预测值。预测值分量反馈给请求方的过程中,虽然没有暴露参与方各自持有的特征值和机器学习模型的模型分量,但仍会向请求方暴露参与方的计算结果,导致部分数据信息的泄露,不利于隐私的保护。例如,应用纵向联邦学习模型的场景中,机器学习模型的分量预测值可以是各个参与方基于各自特征值与模型分量得到的内积结果。向请求方反馈内积结果的过程中,因内积结果的泄露,容易导致参与方的数据泄露,为数据的隐私保护带来一定安全风险。
因此,希望能有改进的方案,可以解决隐私保护机器学习中存在的数据安全问题,保证各参与方数据的隐私性和安全性。
与现有技术相比,本申请实施例中,请求方设备同时生成用于同态加密的公钥和私钥,并向特征方设备发送包括该公钥的模型预测请求。特征方设备基于由模型预测请求得到的模型预测指令,可以采用该公钥对特征值预测结果进行同态加密得到加密密文,其中,特征值预测结果由特征方设备存储的特征值以及机器学习模型的模型分量计算得到。特征方设备发送加密密文,使得请求方设备基于与公钥同时生成的私钥处理该加密密文,得到机器学习模型的模型预测结果。相较于现有技术,一方面,特征方设备采用公钥对特征值预测结果进行同态加密,可以有效保证特征方设备侧的隐私性和安全性。另一方面,由于同态加密状态下数据的运算结果,与非同态加密状态下数据的运算结果一致,因而,无需解密即可直接对经过同态加密后的加密密文进行运算,有效避免现有技术在机器学习模型执行密文预测的过程中因运算结果未加密而产生的数据泄露隐患,进一步提升数据的隐私性和安全性。本申请实施例提供了一种隐私保护机器学习场景下实现密文预测的新方式,通过同态加密的手段有效提高数据的安全性和隐私性,充分保护请求方设备和特征方设备交互过程中的数据安全。
在一些实施方式中,第一密文预测装置和第二密文预测装置分离式部署,参照图1,本申请实施例提供的密文预测方法可基于图1所示的一种密文预测系统实现。该密文预测系统可以包括特征方设备01和请求方设备02。
该特征方设备01可以是第一密文预测装置,其中可以部署密文预测程序。
该请求方设备02可以是第二密文预测装置,其中可以部署密文预测程序。
特征方设备01可以接收由请求方设备02生成的公钥,并使用该公钥对自身持有的特征值预测结果进行同态加密,得到加密密文,然后发送至其他特征方设备或者请求方设备02。
请求方设备02可以生成用于实现同态加密的公钥和私钥,向特征方设备01发送该公钥,然后从特征方设备01接收采用该公钥进行同态加密得到的加密密文,基于与该公钥同时生成的私钥处理该加密密文,得到机器学习模型的模型预测结果。
特征方设备和请求方设备均可以是服务器。当然,特征方设备和请求方设备也可以是其他类型设备,本申请中并不限定。
需要说明的是,本申请实施例涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
为了更加清楚地介绍本申请实施例的密文预测方法,下面结合具体的应用场景以及图1所示的密文预测系统,对隐私保护机器学习场景下的密文预测过程进行介绍,图1为本申请实施例的一个实施密文预测方法的密文预测系统示意图。其中,特征方设备存储有多个样本的同一类特征(例如是资产特征)的多个特征值。例如,图1中示出的特征方设备01存储有M个特征值,其中,M为自然数。
所述多个特征值关联同一类特征,可以是样本的多个特征中的任意一个。例如,每个样本可以是以下对象之一:用户、商品、商户和事件等。当样本是商品时,样本的特征可以包括:价格、销量等;当样本是用户时,样本的特征可以包括:用户年龄、收入、消费额等。所述同一类特征的特征值可以是离散型特征值,也可以是连续型特征值;可以是数值型特征值,也可以是非数值型特征值(例如字符串类型)。
在商品推荐场景中,样本的特征可以包括用户数据。该用户数据是需要保密的隐私数据。在这种场景下,该样本所在的数据集可以用于训练商品推荐模型。比如,特征方设备01的一条特征值用来描述用户A的具体特征(如性别、年龄、职业、月消费金额等等),从而,特征方设备01的这一条特征值构成了一条描述用户A的带标签值的样本。又例如,特征方设备01的一条特征值用来描述用户P的特征(如性别、年龄、职业、月消费金额等等)的样本。上述特征数据均属于隐私数据。
当样本的特征值分布在不同的特征持有方(即特征方设备)中,并且每个特征持有方对各自的数据存在隐私保护的要求,不会将自身数据进行明文输出时,为了实现对特征值的模型预测,又不泄露各方的隐私数据,本申请实施例提供了一种密文预测方法。
参见图1中示出的交互过程,特征方设备01可以采用机器学习模型对自身持有的特征值进行模型预测处理,得到特征值预测结果;然后,接收由请求方设备02生成的公钥,使用该公钥对自身持有的特征值预测结果进行同态加密,得到加密密文;进而,发送加密密文至其他特征方设备或者请求方设备02。在一些场景中,特征方设备T1可以直接向请求方设备02反馈加密密文,也可以由其他特征方设备T2进一步执行同态运算后得到加密密文,并反馈给请求方设备02。后一反馈方式中,还需将公钥发送给其他特征方设备,使得其他特征方设备采用该公钥完成自身的同态加密处理。请求方设备02可以生成用于实现同态加密的公钥和私钥,向特征方设备01发送该公钥,然后从特征方设备01接收采用该公钥进行同态加密得到的加密密文,基于与该公钥同时生成的私钥处理该加密密文,得到机器学习模型的模型预测结果。可见,整个交互过程没有任何明文数据的发送,实现了对特征值预测结果的隐私保护,避免因特征值预测结果的泄露带来的安全隐患,极大程度保证了隐私数据的隐私性和安全性。
下面结合图1所示的场景示意图,对本申请实施例进行更详细的说明。
参照图2,图2为本申请实施例提供的执行密文预测方法的各个设备的信令交互图。该方法可应用于联邦学习的密文预测系统,由联邦学习中的特征持有方和模型预测请求方各自的服务设备交互执行。所述联邦学习的密文预测系统可以包括特征方设备和请求方设备,所述密文预测方法可以由所述特征方设备、请求方设备各自包括的密文预测装置执行,通过机器学习模型对所述特征方设备存储的特征值进行预测,并对特征值预测结果进行同态加密,所述密文预测方法包括:
步骤S210,请求方设备生成用于实现同态加密的公钥和私钥。
步骤S220,请求方设备向特征方设备发送模型预测请求,其中,所述模型预测请求包括所述公钥。
一些可选实施例中,请求方设备可以随机生成用于实现同态加密的公钥和私钥。进而,请求方设备将随机生成的公钥通过模型预测请求,传输至特征方设备,以便特征方设备完成后续的特征值加密。
需要说明的是,为了进一步提升数据的隐私性和安全性,一对密钥仅针对指定的密文预测过程。例如,请求方设备所发出的每一个模型预测请求,均对应于一对独立的公钥和私钥。也即模型预测请求与其包含的公钥一一对应。这样,在某一密钥被截获的情况下,避免密钥泄露影响机器学习模型的后续预测过程,提升模型预测数据的隐私性和安全性。
步骤S230,特征方设备接收模型预测指令。其中,模型预测指令基于由请求方设备生成的模型预测请求得到,该模型预测指令包括由请求方设备生成的公钥。
值得说明的是,考虑到特征方设备可能是多个,因而,各个特征方设备接收到的模型预测指令可能存在差异。一些实现方式中,模型预测指令可以是由请求方设备生成的模型预测请求。例如,图3a、图3b示出的第一特征设备接收的模型预测请求。进而,第一特征设备接收该模型预测请求后,从该模型预测请求中获取用于同态加密的公钥,并获取第一特征值预测结果。
另一些实现方式中,模型预测指令可以是由其他特征方设备基于公钥生成的模型预测指令。以纵向联邦学习场景为例,假设特征方设备有三个,比如:特征方设备A、特征方设备B、特征方设备C。特征方设备A从请求方设备接收模型预测请求,该模型预测请求包括由请求方设备生成的用于实现同态加密的公钥。特征方设备B和特征方设备C则从前一级特征方设备处接收模型预测指令,该模型预测指令用于触发针对特征值的模型预测过程,以及对特征值预测结果的加密过程。该模型预测指令中包括用于实现同态加密的公钥。此处,对于特征方设备B而言,前一级特征方设备即为特征方设备A;对于特征方设备C而言,前一级特征方设备即为特征方设备B。上述特征方设备数量仅为示例,实际应用并不限定。
步骤S240,特征方设备采用公钥对特征值预测结果进行同态加密,得到加密密文。
在本申请实施例中,所述特征方设备归属于特征持有方,所述特征方设备存储有特征值,以及用于对特征值进行预测处理的机器学习模型的模型分量。具体模型预测处理流程参见下文。
其中,特征方设备的特征值预测结果,是特征方设备基于机器学习模型的模型分量,对自身存储的特征值进行模型预测处理得到的预测结果。在本申请实施例中,所述特征值预测结果由特征方设备存储的特征值以及机器学习模型的模型分量计算得到。
需要说明的是,一个所述特征方设备可以存储有多个特征值、以及与所述多个特征值一一对应的模型分量。本申请实施例中可选地,所述特征值预测结果为所述多个特征值与各自对应的模型分量的内积结果之和。
仍以纵向联邦学习场景为例,假设特征方设备有三个,比如:特征方设备A、特征方设备B、特征方设备C。其中,特征方设备A所存储的特征值为F1、F2、F3;特征方设备B所存储的特征值为F4、F5、F6;特征方设备C所存储的特征值为F7、F8、F9。
假设上述三个特征方设备参与机器学习模型W的训练阶段。假设机器学习模型W的分量为,W=[w1,w2,w3,w4,w5,w6,w7,w8,w9]。假设机器学习模型W分布在上述三个特征方设备中,即上述三个特征方设备分别持有上述机器学习模型W的模型分量。具体来说,特征方设备A所持有的模型分量为w1、w2、w3,特征方设备B所持有的模型分量为w4、w5、w6,特征方设备C所持有的模型分量为w7、w8、w9。
根据逻辑回归原理,在纵向联邦学习场景中,假设机器学习模型W的预测值pred(即特征值预测结果)为:pred=sigmoid(WF)。基于上述假设,上述三个特征方设备对各自存储特征值的计算过程,可以表示为:
特征方设备A的特征值预测结果:pred1=w1*F1+w2*F2+w3*F3;
特征方设备B的特征值预测结果:pred2=w4*F4+w5*F5+w6*F6;
特征方设备C的特征值预测结果:pred3=w7*F7+w8*F8+w9*F9。
得到特征值预测结果之后,在本申请实施例中,需要对该特征值预测结果进行同态加密。此处需要说明的是,对该特征值预测结果进行同态加密是指特征方设备对该特征值预测结果的整体进行同态加密。
例如,若采用公钥Pkey对多个特征值预测结果pred1~predn进行同态加密,则是对(pred1,pred2,···,predn)进行整体加密,即得到与特征值预测结果对应的加密密文是Pkey(pred1,pred2,···,predn)。由此,各个特征方设备之间,以及特征方设备与请求方设备之间,均无法获知由各个特征值以及模型分量计算得到的特征值预测结果,更无法得知各个特征值以及模型分量,因此不存在特征方设备的数据泄露风险。
从而,通过对特征值预测结果的整体进行同态加密,使得特征方设备传输至其他设备的数据均处于加密状态,有效避免模型预测结果暴露导致的数据安全风险,从而能够有效解决现有技术中因内积结果未加密而存在的数据安全隐患,提升数据隐私性和安全性。
考虑到特征方设备可能是多个,多个特征方设备之间需要进行联合运算以实现模型预测过程,因而,加密密文可能会由多个特征方设备计算得到的分量密文组成。由此,在本申请实施例中,参照图4,步骤S240可以具体实现为如下过程,即步骤S241-S242:
步骤S241,各个所述特征方设备采用所述公钥对各自计算的特征值预测结果进行同态加密,得到分量密文;
步骤S242,将所述分量密文进行同态运算,得到所述加密密文。其中,所述同态运算包括同态加法和/或同态乘法。
考虑到,同态加密包括部分同态(partially homomorphic)加密、有点同态(somewhat homomorphic)加密和全同态(fully homomorphic)加密。部分同态也叫单同态(single homomorphic),指的是该同态加密方案只能做无限次同态加法(additive-only)或者只能做无限次同态乘法(multiplicative-only)操作;有点同态加密的方案,可以对密文进行有限次数的任意同态操作,换句话说,它既能做乘法又能做加法,但是不能同态计算任意的函数;全同态加密方案,可以对密文进行无限次数的任意同态操作,也就是说它可以同态计算任意的函数(当然也需要是efficiently computable functions)。
基于上述特点,为了实现上述步骤S242中对分量密文的同态运算,本申请实施例中可选地,对分量密文的加密可以采用有点同态加密或全同态加密(例如CKKS),以便实现加密状态下的矩阵乘法计算或向量数量积计算(同时满足同态乘法和同态加法)。
上述步骤中,特征方设备计算得到各自的特征值预测结果之后,可以对各自的特征值预测结果进行同态加密得到分量密文,并对分量密文进行同态运算,得到最终反馈至请求方设备的加密密文。相较于现有技术,本申请实施例中,特征方设备得到的特征值预测结果以及相关的运算结果,均处于同态加密状态下实现,无需解密即可完成对多个特征方设备之间对特征值预测结果的联合计算,有效避免模型预测结果暴露导致的数据安全风险(例如现有技术中因内积结果未加密而存在的数据安全隐患),提升数据隐私性和安全性。
在加密密文的一种获取方式中,参照图3a,可以对各个特征方设备计算得到的分量密文进行同态运算。具体来说,假设各个所述特征方设备包括第一特征方设备和第二特征方设备。假设各个所述特征方设备各自存储有对应的特征值以及模型分量。
基于上述假设,步骤S230中,所述第一特征方设备基于来自请求方设备的模型预测请求获取所述公钥,并获取第一特征值预测结果。所述第一特征值预测结果由所述第一特征方设备存储的第一特征值和第一模型分量计算得到。
获取第一特征值预测结果之后,步骤S241a,所述第一特征方设备将第一特征值预测结果采用所述公钥进行同态加密,得到第一分量密文。进而,步骤S241b,所述第一特征方设备将所述第一分量密文和所述公钥发送至所述第二特征方设备。
步骤S241c,接收到所述第一分量密文和所述公钥之后,所述第二特征方设备将第二特征值预测结果采用所述公钥进行同态加密,得到第二分量密文。所述第二特征值预测结果由所述第二特征方设备存储的第二特征值和第二模型分量计算得到。
步骤S2421,所述第二特征方设备将所述第一分量密文与所述第二分量密文进行同态加法,得到所述加密密文。
除了上述步骤S241a-S2421介绍的加密密文的一种获取方式之外,还存在其他的加密密文获取方式。
在加密密文的另一获取方式中,参照图3b,可以对各个特征方设备计算得到的分量密文、以及由分量密文经过同态运算后得到的中间分量密文进行同态运算。由于同态加密状态下数据的运算结果,与非同态加密状态下数据的运算结果一致,因而,无需解密即可直接将同态加密状态下的运算结果应用到后续的数据运算中,极大简化了机器学习模型在隐私保护场景下的运算复杂度,在保证数据隐私性和安全性的情况下,进一步提高数据运算效率,以及模型的预测效率。
具体来说,假设各个所述特征方设备包括第一特征方设备、第二特征方设备、第三特征方设备。类似地,仍假设各个所述特征方设备各自存储有对应的特征值以及模型分量。
基于上述假设,步骤S230中,所述第一特征方设备基于来自请求方设备的模型预测请求获取所述公钥,并获取第一特征值预测结果。所述第一特征值预测结果由所述第一特征方设备存储的第一特征值和第一模型分量计算得到。
获取第一特征值预测结果之后,步骤S241a,所述第一特征方设备将第一特征值预测结果采用所述公钥进行同态加密,得到第一分量密文。所述第一特征值预测结果由所述第一特征方设备存储的第一特征值和第一模型分量计算得到。进而,步骤S241b,所述第一特征方设备将所述第一分量密文和所述公钥发送至所述第二特征方设备。
步骤S241c,接收到所述第一分量密文和所述公钥之后,所述第二特征方设备将第二特征值预测结果采用所述公钥进行同态加密,得到第二分量密文。所述第二特征值预测结果由所述第二特征方设备存储的第二特征值和第二模型分量计算得到。
步骤S241d,所述第二特征方设备将所述第一分量密文与所述第二分量密文进行同态加法,得到中间分量密文,并将所述中间分量密文和所述公钥发送至所述第三特征方设备。
步骤S241e,接收到所述中间分量密文和所述公钥之后,所述第三特征方设备将第三特征值预测结果采用所述公钥进行同态加密,得到第三分量密文。所述第三特征值预测结果由所述第三特征方设备存储的第三特征值和第三模型分量计算得到。
步骤S2422,所述第三特征方设备将所述中间分量密文与所述第三分量密文进行同态加法,得到所述加密密文。
下面结合纵向联邦学习场景,介绍步骤S241a-S2422中描述的加密密文的获取方式。
继续假设特征方设备有三个,比如:特征方设备A、特征方设备B、特征方设备C。其中,特征方设备A所存储的第一特征值为F1、F2、F3;特征方设备B所存储的第二特征值为F4、F5、F6;特征方设备C所存储的第三特征值为F7、F8、F9。假设机器学习模型W分布在上述三个特征方设备中。并且机器学习模型W的分量为,W=[w1,w2,w3,w4,w5,w6,w7,w8,w9]。其中,特征方设备A所持有的第一模型分量为w1、w2、w3,特征方设备B所持有的第二模型分量为w4、w5、w6,特征方设备C所持有的第三模型分量为w7、w8、w9。假设机器学习模型W的预测值pred(即特征值预测结果)为:pred=sigmoid(WF)。
基于上述假设,步骤S241a,特征方设备A(即第一特征方设备)将特征值预测结果pred1=w1*F1+w2*F2+w3*F3(即第一特征值预测结果)采用公钥进行同态加密,得到分量密文[pred1](即第一分量密文)。
步骤S241b,特征方设备A将分量密文[pred1]和公钥发送至特征方设备B(即第二特征方设备)。
步骤S241c,接收到分量密文[pred1]和公钥之后,特征方设备B将pred2=w4*F4+w5*F5+w6*F6(即第二特征值预测结果)采用公钥进行同态加密,得到分量密文[pred2](即第二分量密文)。
步骤S241d,特征方设备B将[pred1]与[pred2]进行同态加法,即:[pred1+pred2]=[pred1]+[pred2],得到分量密文[pred1+pred2](即中间分量密文),并将分量密文[pred1+pred2]和公钥发送至特征方设备C。
步骤S241e,接收到分量密文[pred1+pred2]和公钥之后,特征方设备C将pred3=w7*F7+w8*F8+w9*F9(即第三特征值预测结果)采用公钥进行同态加密,得到分量密文[pred3](即第三分量密文)。
步骤S2422,特征方设备C将分量密文[pred1+pred2]与分量密文[pred3]进行同态加法,即:[pred1+pred2+pred3]=[pred1+pred2]+[pred3],得到[pred1+pred2+pred3](即加密密文)。以便将该[pred1+pred2+pred3]发送给请求方设备。
显然,在上述示例中,通过上述三个特征方设备的协作,可以得到用于反馈给请求方设备的加密密文,即[pred1+pred2+pred3],该加密密文处于同态加密状态,且获取该加密密文的同态运算中各方数据也处于加密状态,因而,能够有效保护模型预测过程中的数据隐私性和安全性。
上述实施例中使用到的同态加法仅为示例,实际应用中还可采用其他类型的同态运算,此处不再展开。
需要说明的是,在实际应用中,特征方设备的连接方式并不限于此。例如,在另一些实施例中,还可以是由第一特征方设备和第二特征方设备计算得到分量密文之后,分别发送至第三特征方设备,由第三特征方设备完成同态运算,得到最终反馈给请求方设备的加密密文。由此,在该连接方式中,第一特征方设备和第二特征方设备处于同一级,而第三特征方设备则是排在上述两者之后的后一级设备。第三方设备可以连接至请求方设备。
步骤S250,特征方设备发送加密密文。
一些实施例中,所述加密密文的发送对象可以是请求方设备。仍继续上文示例,在步骤S2421之后,第二特征方设备可以将由第一分量密文和第二分量密文经过同态加法得到的加密密文,发送至请求方设备。另一些实施例中,所述加密密文的发送对象可以是其他特征方设备。例如,特征方设备将分量密文和公钥发送至其他特征方设备。
步骤S260,请求方设备接收来自所述特征方设备的加密密文。
由上文实施例可知,所述加密密文由特征方设备对特征值预测结果经过同态加密后得到,该特征值预测结果由特征方设备存储的特征值和机器学习模型的模型分量计算得到。此处不再展开。
步骤S270,请求方设备采用与公钥同时生成的私钥处理所述加密密文,得到机器学习模型的模型预测结果。
下面继续结合纵向联邦学习场景,介绍步骤S250-S270中描述的加密密文的接收以及解密处理方式。
继续假设特征方设备有三个,比如:特征方设备A、特征方设备B、特征方设备C。其中,特征方设备A所存储的第一特征值为F1、F2、F3;特征方设备B所存储的第二特征值为F4、F5、F6;特征方设备C所存储的第三特征值为F7、F8、F9。假设机器学习模型W分布在上述三个特征方设备中。并且机器学习模型W的分量为,W=[w1,w2,w3,w4,w5,w6,w7,w8,w9]。其中,特征方设备A所持有的第一模型分量为w1、w2、w3,特征方设备B所持有的第二模型分量为w4、w5、w6,特征方设备C所持有的第三模型分量为w7、w8、w9。假设机器学习模型W的预测值pred(即特征值预测结果)为:pred=sigmoid(WF)。
基于上述假设,特征方设备C向请求方设备发送加密密文[pred1+pred2+pred3]。从而,请求方设备从特征方设备C接收加密密文[pred1+pred2+pred3]之后,基于获取该加密密文的公钥,查找与该公钥同时生成的私钥,利用该私钥对该加密密文[pred1+pred2+pred3]进行解密处理,得到解密结果pred1+pred2+pred3。最终,通过机器学习模型W对该解密结果进行处理,得到机器学习模型W的模型预测结果,即:pred=sigmoid(pred1+pred2+pred3)。
显然,从上述示例可知,相较于现有技术,在特征方设备与请求方设备之间传输的是处于同态加密状态下的加密密文,因此,特征方设备在运算以及数据传输过程中并不知晓加密密文所包含的特征数据,避免内积结果暴露导致的数据安全隐患,在实现机器学习模型的预测过程的情况下,有效保护模型预测过程中的数据隐私性和安全性。
本申请实施例的密文预测方法,请求方设备同时生成用于同态加密的公钥和私钥,并向特征方设备发送包括该公钥的模型预测请求。特征方设备基于由模型预测请求得到的模型预测指令,可以采用该公钥对特征值预测结果进行同态加密得到加密密文,其中,特征值预测结果由特征方设备存储的特征值以及机器学习模型的模型分量计算得到。特征方设备发送加密密文,使得请求方设备基于与公钥同时生成的私钥处理该加密密文,得到机器学习模型的模型预测结果。相较于现有技术,一方面,特征方设备采用公钥对特征值预测结果进行同态加密,可以有效保证特征方设备侧的隐私性和安全性。另一方面,由于同态加密状态下数据的运算结果,与非同态加密状态下数据的运算结果一致,因而,无需解密即可直接对经过同态加密后的加密密文进行运算,有效避免现有技术在机器学习模型执行密文预测的过程中因运算结果未加密而产生的数据泄露隐患,进一步提升数据的隐私性和安全性。本申请实施例提供了一种隐私保护机器学习场景下实现密文预测的新方式,通过同态加密的手段有效提高数据的安全性和隐私性,充分保护请求方设备和特征方设备交互过程中的数据安全。
以上从特征持有方设备、密文预测请求方设备的角度对本申请实施例中的一种密文预测方法进行说明,以下对执行上述密文预测方法的分别归属于不同数据属主(密文预测请求方、特征持有方)的密文预测装置进行介绍。
参阅图5,如图5所示的一种密文预测装置的结构示意图,其可应用于联邦学习中特征工程处理场景下的特征方设备,所述特征方设备存储有多个特征值。本申请实施例中的密文预测装置60能够实现对应于上述图1所对应的实施例中由特征方设备所执行的密文预测方法的步骤。密文预测装置60实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述密文预测装置60可包括收发模块601、处理模块602,所述处理模块602、所述收发模块601的功能实现可参考图1所对应的实施例中所执行的操作,此处不作赘述。例如,所述处理模块602可用于控制所述收发模块601的数据收发操作。
一些实施方式中,所述收发模块601,被配置为接收模型预测指令,其中,所述模型预测指令基于由请求方设备生成的模型预测请求得到,包括由所述请求方设备生成的公钥;
所述处理模块602,被配置为采用所述公钥对特征值预测结果进行同态加密,得到加密密文,其中,所述特征值预测结果由所述特征方设备存储的特征值以及机器学习模型的模型分量计算得到;
所述收发模块601,还被配置为发送所述加密密文,使得所述请求方设备基于与所述公钥同时生成的私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
一些实施方式中,所述特征方设备有多个。
所述处理模块602,在采用所述公钥对特征值预测结果进行同态加密,得到加密密文时,被配置为:
各个所述特征方设备采用所述公钥对各自计算的特征值预测结果进行同态加密,得到分量密文;将所述分量密文进行同态运算,得到所述加密密文;其中,所述同态运算包括同态加法和/或同态乘法。
其中,一些实施方式中,各个所述特征方设备包括第一特征方设备和第二特征方设备,各个所述特征方设备各自存储有对应的特征值以及模型分量。
所述处理模块602,在各个所述特征方设备采用所述公钥对各自计算的特征值预测结果进行同态加密,得到分量密文时,被配置为:
所述第一特征方设备将第一特征值预测结果采用所述公钥进行同态加密,得到第一分量密文,所述第一特征值预测结果由所述第一特征方设备存储的第一特征值和第一模型分量计算得到;将所述第一分量密文和所述公钥发送至所述第二特征方设备;
所述第二特征方设备将第二特征值预测结果采用所述公钥进行同态加密,得到第二分量密文,所述第二特征值预测结果由所述第二特征方设备存储的第二特征值和第二模型分量计算得到。
所述处理模块602,在将所述分量密文进行同态运算,得到所述加密密文时,被配置为:所述第二特征方设备将所述第一分量密文与所述第二分量密文进行同态加法,得到所述加密密文。
其中,一些实施方式中,各个所述特征方设备还包括第三特征方设备。
所述处理模块602,在各个所述特征方设备采用所述公钥对各自计算的特征值预测结果进行同态加密,得到分量密文时,被配置为:
所述第二特征方设备将所述第一分量密文与所述第二分量密文进行同态加法,得到中间分量密文;将所述中间分量密文和所述公钥发送至所述第三特征方设备;
所述第三特征方设备将第三特征值预测结果采用所述公钥进行同态加密,得到第三分量密文,所述第三特征值预测结果由所述第三特征方设备存储的第三特征值和第三模型分量计算得到;
所述处理模块602,在将所述分量密文进行同态运算,得到所述加密密文时,被配置为:
所述第三特征方设备将所述中间分量密文与所述第三分量密文进行同态加法,得到所述加密密文。
一些实施方式中,一个所述特征方设备存储有多个特征值、以及与所述多个特征值一一对应的模型分量;所述特征值预测结果为所述多个特征值与各自对应的模型分量的内积结果之和。
本申请实施例的应用于特征方设备的密文预测装置,使得特征方设备接收基于模型预测请求得到的模型预测指令,采用该公钥对特征值预测结果进行同态加密得到加密密文,其中,特征值预测结果由特征方设备存储的特征值以及机器学习模型的模型分量计算得到。并使特征方设备发送加密密文,以便请求方设备基于与公钥同时生成的私钥处理该加密密文,得到机器学习模型的模型预测结果。相较于现有技术,一方面,特征方设备采用公钥对特征值预测结果进行同态加密,可以有效保证特征方设备侧的隐私性和安全性。另一方面,由于同态加密状态下数据的运算结果,与非同态加密状态下数据的运算结果一致,因而,无需解密即可直接对经过同态加密后的加密密文进行运算,有效避免现有技术在机器学习模型执行密文预测的过程中因运算结果未加密而产生的数据泄露隐患,进一步提升数据的隐私性和安全性。本申请实施例提供了一种隐私保护机器学习场景下实现密文预测的新方式,通过同态加密的手段有效提高数据的安全性和隐私性,充分保护请求方设备和特征方设备交互过程中的数据安全。
参阅图6,如图6所示的一种密文预测装置的结构示意图,其可应用于联邦学习中特征工程处理场景下的请求方设备,所述请求方设备存储有标签明文,所述标签明文包括多个标签值。本申请实施例中的密文预测装置70能够实现对应于上述图1所对应的实施例中由请求方设备所执行的密文预测方法的步骤。密文预测装置70实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元,所述单元可以是软件和/或硬件。所述密文预测装置70可包括收发单元701、处理单元702,所述处理单元702、所述收发单元701的功能实现可参考图1所对应的实施例中所执行的操作,此处不作赘述。例如,所述处理单元702可用于控制所述收发单元701的数据收发操作。
一些实施方式中,所述处理单元702,被配置为生成用于实现同态加密的公钥和私钥;
所述收发单元701,被配置为向特征方设备发送模型预测请求,其中,所述模型预测请求包括所述公钥;
所述收发单元701,还被配置为接收来自所述特征方设备的加密密文,其中,所述加密密文由所述特征方设备对特征值预测结果经过同态加密后得到,所述特征值预测结果由特征方设备存储的特征值和机器学习模型的模型分量计算得到;
所述处理单元702,还被配置为采用所述私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
一些实施方式中,所述特征方设备有多个。
所述加密密文由多个特征方设备各自处于同态加密状态下的特征值预测结果进行同态运算得到,处于同态加密状态下的特征值预测结果由对应的特征方设备进行同态加密得到。
本申请实施例的应用于请求方设备的密文预测装置,使得请求方设备生成用于同态加密的公钥和私钥,并向特征方设备发送包括该公钥的模型预测请求,以便特征方设备在模型预测请求的作用下,采用该公钥对特征值预测结果进行同态加密得到加密密文,其中,特征值预测结果由特征方设备存储的特征值以及机器学习模型的模型分量计算得到。进而,接收特征方设备的加密密文,基于与公钥同时生成的私钥处理该加密密文,得到机器学习模型的模型预测结果。相较于现有技术,一方面,特征方设备采用公钥对特征值预测结果进行同态加密,可以有效保证特征方设备侧的隐私性和安全性。另一方面,由于同态加密状态下数据的运算结果,与非同态加密状态下数据的运算结果一致,因而,无需解密即可直接对经过同态加密后的加密密文进行运算,有效避免现有技术在机器学习模型执行密文预测的过程中因运算结果未加密而产生的数据泄露隐患,进一步提升数据的隐私性和安全性。本申请实施例提供了一种隐私保护机器学习场景下实现密文预测的新方式,通过同态加密的手段有效提高数据的安全性和隐私性,充分保护请求方设备和特征方设备交互过程中的数据安全。
在介绍了本申请实施例的方法和装置之后,接下来,对本申请实施例的计算机可读存储介质进行说明,计算机可读存储介质可为光盘,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤。各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
上面从模块化功能实体的角度对本申请实施例中的密文预测装置60、密文预测装置70进行了描述,下面从硬件处理的角度分别对本申请实施例中的特征持有方的密文预测装置、密文预测请求方的密文预测装置进行描述。
需要说明的是,本申请密文预测装置各实施例(包括图5、图6所示的实施例)的收发模块对应的实体设备可以为收发器、射频电路、通信模块和输入/输出(I/O)接口等,处理模块对应的实体设备可以为处理器。图5、图6所示的密文预测装置均可以具有如图7所示的结构。
例如,图5所示的密文预测装置60可以具有如图7所示的结构,当图5所示的装置具有如图7所示的结构时,图7中的处理器和收发器能够实现前述对应该密文预测装置60的装置实施例提供的处理模块602和收发模块601相同或相似的功能,图7中的中央存储器存储处理器执行上述应用于特征方设备的密文预测方法时需要调用的计算机程序。在本申请实施例图5所示的实施例中的收发模块601所对应的实体设备可以为输入输出接口,处理模块602对应的实体设备可以为处理器。
又例如,图6所示的密文预测装置70可以具有如图7所示的结构,当图6所示的装置具有如图7所示的结构时,图7中的处理器和收发器能够实现前述对应该密文预测装置70的装置实施例提供的处理单元702和收发单元701相同或相似的功能,图7中的中央存储器存储处理器执行上述应用于请求方设备的密文预测方法时需要调用的计算机程序。在本申请实施例图5所示的实施例中的收发单元701所对应的实体设备可以为输入输出接口,处理单元702对应的实体设备可以为处理器。
图8是本申请实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图中未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1120,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器1100的结构。例如,例如上述实施例中由图8所示的密文预测装置60所执行的步骤可以基于该图8所示的服务器结构。例如,所述中央处理器1122通过调用存储器1132中的指令,执行以下操作:
通过输入输出接口1158接收模型预测指令,其中,所述模型预测指令基于由请求方设备生成的模型预测请求得到,包括由所述请求方设备生成的公钥;
采用所述公钥对特征值预测结果进行同态加密,得到加密密文,其中,所述特征值预测结果由所述特征方设备存储的特征值以及机器学习模型的模型分量计算得到;
通过输入输出接口1158发送所述加密密文,使得所述请求方设备基于与所述公钥同时生成的私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。
Claims (10)
1.一种密文预测方法,应用于特征方设备,所述方法包括:
接收模型预测指令,其中,所述模型预测指令基于由请求方设备生成的模型预测请求得到,包括由所述请求方设备生成的公钥;
采用所述公钥对特征值预测结果进行同态加密,得到加密密文,其中,所述特征值预测结果由所述特征方设备存储的特征值以及机器学习模型的模型分量计算得到;
发送所述加密密文,使得所述请求方设备基于与所述公钥同时生成的私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
2.如权利要求1所述的方法,其中,所述特征方设备有多个;
所述采用所述公钥对特征值预测结果进行同态加密,得到加密密文,包括:
各个所述特征方设备采用所述公钥对各自计算的特征值预测结果进行同态加密,得到分量密文;
将所述分量密文进行同态运算,得到所述加密密文;
其中,所述同态运算包括同态加法和/或同态乘法。
3.如权利要求2所述的方法,其中,各个所述特征方设备包括第一特征方设备和第二特征方设备,各个所述特征方设备各自存储有对应的特征值以及模型分量;
所述各个所述特征方设备采用所述公钥对各自计算的特征值预测结果进行同态加密,得到分量密文,包括:
所述第一特征方设备将第一特征值预测结果采用所述公钥进行同态加密,得到第一分量密文,所述第一特征值预测结果由所述第一特征方设备存储的第一特征值和第一模型分量计算得到;
将所述第一分量密文和所述公钥发送至所述第二特征方设备;
所述第二特征方设备将第二特征值预测结果采用所述公钥进行同态加密,得到第二分量密文,所述第二特征值预测结果由所述第二特征方设备存储的第二特征值和第二模型分量计算得到;
所述将所述分量密文进行同态运算,得到所述加密密文,包括:
所述第二特征方设备将所述第一分量密文与所述第二分量密文进行同态加法,得到所述加密密文。
4.如权利要求3所述的方法,其中,各个所述特征方设备还包括第三特征方设备;
所述各个所述特征方设备采用所述公钥对各自计算的特征值预测结果进行同态加密,得到分量密文,包括:
所述第二特征方设备将所述第一分量密文与所述第二分量密文进行同态加法,得到中间分量密文;
将所述中间分量密文和所述公钥发送至所述第三特征方设备;
所述第三特征方设备将第三特征值预测结果采用所述公钥进行同态加密,得到第三分量密文,所述第三特征值预测结果由所述第三特征方设备存储的第三特征值和第三模型分量计算得到;
所述将所述分量密文进行同态运算,得到所述加密密文,包括:
所述第三特征方设备将所述中间分量密文与所述第三分量密文进行同态加法,得到所述加密密文。
5.如权利要求1至4任一所述的方法,其中,一个所述特征方设备存储有多个特征值、以及与所述多个特征值一一对应的模型分量;
所述特征值预测结果为所述多个特征值与各自对应的模型分量的内积结果之和。
6.一种密文预测方法,应用于请求方设备,所述方法包括:
生成用于实现同态加密的公钥和私钥;
向特征方设备发送模型预测请求,其中,所述模型预测请求包括所述公钥;
接收来自所述特征方设备的加密密文,其中,所述加密密文由所述特征方设备对特征值预测结果经过同态加密后得到,所述特征值预测结果由特征方设备存储的特征值和机器学习模型的模型分量计算得到;
采用所述私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
7.一种密文预测装置,应用于特征方设备,所述装置包括:
收发模块,被配置为接收模型预测指令,其中,所述模型预测指令基于由请求方设备生成的模型预测请求得到,包括由所述请求方设备生成的公钥;
处理模块,被配置为采用所述公钥对特征值预测结果进行同态加密,得到加密密文,其中,所述特征值预测结果由所述特征方设备存储的特征值以及机器学习模型的模型分量计算得到;
所述收发模块,还被配置为发送所述加密密文,使得所述请求方设备基于与所述公钥同时生成的私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
8.一种密文预测装置,应用于请求方设备,所述装置包括:
处理单元,被配置为生成用于实现同态加密的公钥和私钥;
收发单元,被配置为向特征方设备发送模型预测请求,其中,所述模型预测请求包括所述公钥;
所述收发单元,还被配置为接收来自所述特征方设备的加密密文,其中,所述加密密文由所述特征方设备对特征值预测结果经过同态加密后得到,所述特征值预测结果由特征方设备存储的特征值和机器学习模型的模型分量计算得到;
所述处理单元,还被配置为采用所述私钥处理所述加密密文,得到所述机器学习模型的模型预测结果。
9.一种计算设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现权利要求1-5中任一项所述的方法,或者实现权利要求6所述的方法。
10.一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的方法,或者执行权利要求6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211193837.3A CN115510466B (zh) | 2022-09-28 | 2022-09-28 | 密文预测方法、相关装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211193837.3A CN115510466B (zh) | 2022-09-28 | 2022-09-28 | 密文预测方法、相关装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115510466A true CN115510466A (zh) | 2022-12-23 |
CN115510466B CN115510466B (zh) | 2024-03-05 |
Family
ID=84508765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211193837.3A Active CN115510466B (zh) | 2022-09-28 | 2022-09-28 | 密文预测方法、相关装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115510466B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020006692A1 (zh) * | 2018-07-04 | 2020-01-09 | 深圳大学 | 一种全同态加密方法、装置和计算机可读存储介质 |
CN112016120A (zh) * | 2020-08-26 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 基于用户隐私保护的事件预测方法和装置 |
CN113516256A (zh) * | 2021-09-14 | 2021-10-19 | 深圳市洞见智慧科技有限公司 | 基于秘密共享、同态加密的无第三方联邦学习方法及系统 |
CN113553610A (zh) * | 2021-09-22 | 2021-10-26 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于同态加密和可信硬件的多方隐私保护机器学习方法 |
CN114465708A (zh) * | 2022-03-17 | 2022-05-10 | 北京绪方科技有限公司 | 隐私数据处理方法及装置、系统、电子设备、存储介质 |
CN114696990A (zh) * | 2022-05-31 | 2022-07-01 | 深圳市洞见智慧科技有限公司 | 基于全同态加密的多方计算方法、系统及相关设备 |
-
2022
- 2022-09-28 CN CN202211193837.3A patent/CN115510466B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020006692A1 (zh) * | 2018-07-04 | 2020-01-09 | 深圳大学 | 一种全同态加密方法、装置和计算机可读存储介质 |
CN112016120A (zh) * | 2020-08-26 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 基于用户隐私保护的事件预测方法和装置 |
CN113516256A (zh) * | 2021-09-14 | 2021-10-19 | 深圳市洞见智慧科技有限公司 | 基于秘密共享、同态加密的无第三方联邦学习方法及系统 |
CN113553610A (zh) * | 2021-09-22 | 2021-10-26 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于同态加密和可信硬件的多方隐私保护机器学习方法 |
CN114465708A (zh) * | 2022-03-17 | 2022-05-10 | 北京绪方科技有限公司 | 隐私数据处理方法及装置、系统、电子设备、存储介质 |
CN114696990A (zh) * | 2022-05-31 | 2022-07-01 | 深圳市洞见智慧科技有限公司 | 基于全同态加密的多方计算方法、系统及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115510466B (zh) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Privacy-preserving outsourced classification in cloud computing | |
Zhang et al. | A survey on collaborative deep learning and privacy-preserving | |
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
Giacomelli et al. | Privacy-preserving ridge regression with only linearly-homomorphic encryption | |
EP3075098B1 (en) | Server-aided private set intersection (psi) with data transfer | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
CN114401079B (zh) | 多方联合信息价值计算方法、相关设备及存储介质 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
Feng et al. | Privacy-preserving computation in cyber-physical-social systems: A survey of the state-of-the-art and perspectives | |
Wang et al. | Effect of quantum noise on deterministic joint remote state preparation of a qubit state via a GHZ channel | |
US11991156B2 (en) | Systems and methods for secure averaging of models for federated learning and blind learning using secure multi-party computation | |
JP7422892B2 (ja) | 分類の正確さを改善するための機械学習モデリングデータの処理 | |
Abadi et al. | Multi-party updatable delegated private set intersection | |
Wang et al. | Privacy-preserving indoor localization based on inner product encryption in a cloud environment | |
Zhou et al. | PPTA: A location privacy-preserving and flexible task assignment service for spatial crowdsourcing | |
Niu et al. | Privacy‐preserving statistical computing protocols for private set intersection | |
US11018857B2 (en) | Encryption scheme using multiple parties | |
Gao et al. | Multiparty private set intersection cardinality and its applications | |
Zheng et al. | SecDR: Enabling secure, efficient, and accurate data recovery for mobile crowdsensing | |
CN115510466B (zh) | 密文预测方法、相关装置及存储介质 | |
EP4399835A1 (en) | Systems and methods for averaging of models for federated learning and blind learning using secure multi-party computation | |
CN115759248A (zh) | 基于去中心混合联邦学习的金融系统分析方法及存储介质 | |
CN109409111A (zh) | 一种面向加密图像的模糊搜索方法 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |