机器学习模型的训练方法、服务器及计算机设备

文档序号:409947 发布日期:2021-12-17 浏览:6次 >En<

阅读说明:本技术 机器学习模型的训练方法、服务器及计算机设备 (Training method of machine learning model, server and computer equipment ) 是由 代子营 王铁成 于 2020-12-30 设计创作,主要内容包括:本申请提出一种机器学习模型的训练方法、服务器及计算机设备,其中方法包括:生成同态密钥对,其中,同态密钥对之中包括公钥和私钥;将公钥发送至多个数据所有者服务器,以使多个数据所有者服务器对自身数据通过公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;以及接收机器学习服务器发送的密文机器学习模型,并根据私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。(The application provides a training method of a machine learning model, a server and computer equipment, wherein the method comprises the following steps: generating a homomorphic key pair, wherein the homomorphic key pair comprises a public key and a private key; sending the public key to a plurality of data owner servers so that the data owner servers encrypt the data of the data owner servers through the public key and send ciphertext data generated after encryption to a machine learning server, wherein the machine learning server performs model training and testing according to the ciphertext data provided by the data owner servers so as to generate a ciphertext machine learning model; and receiving the ciphertext machine learning model sent by the machine learning server, and decrypting the ciphertext machine learning model according to the private key to form a plaintext machine learning model, so that data provided by the data owner server can be protected, the plaintext machine learning model can be protected, and the safety is high.)

机器学习模型的训练方法、服务器及计算机设备

技术领域

本申请涉及信息处理技术领域,尤其涉及一种机器学习模型的训练方法、服务器及计算机设备。

背景技术

相关技术中,在基于多源数据的机器学习模型训练的场景下,数据所有者服务器向机器学习服务器提供明文数据,机器学习服务器根据明文数据对初始机器学习模型进行训练,以形成明文机器学习模型。

上述方法中,难以保护数据所有者服务器所提供的明文数据的安全性,且难以保护明文机器学习模型,安全性差。

发明内容

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

本申请提出一种机器学习模型的训练方法、服务器及计算机设备,以实现数据所有者服务器提供的数据进行加密,且采用加密后的密文数据对初始机器学习模型进行训练,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

本申请第一方面实施例提出了一种机器学习模型的训练方法,包括:

生成同态密钥对,其中,所述同态密钥对之中包括公钥和私钥;

将所述公钥发送至多个数据所有者服务器,以使所述多个数据所有者服务器对自身数据通过所述公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,所述机器学习服务器根据所述多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;以及

接收所述机器学习服务器发送的密文机器学习模型,并根据所述私钥进行解密以形成明文机器学习模型。

本申请实施例的机器学习模型的训练方法,通过生成同态密钥对,其中,同态密钥对之中包括公钥和私钥;将公钥发送至多个数据所有者服务器,以使多个数据所有者服务器对自身数据通过公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;以及接收机器学习服务器发送的密文机器学习模型,并根据私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

本申请第二方面实施例提出了一种机器学习模型的训练方法,包括:

接收多个数据所有者服务器发送的密文数据,其中,所述密文数据为所述多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据;

根据所述密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型;

将所述密文机器学习模型发送给密钥管理服务器,以使所述密钥管理服务器采用所述同态密钥对中的私钥进行解密以形成明文机器学习模型。

本申请实施例的机器学习模型的训练方法,通过接收多个数据所有者服务器发送的密文数据,其中,密文数据为多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据;根据密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型;将密文机器学习模型发送给密钥管理服务器,以使密钥管理服务器采用同态密钥对中的私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

本申请第三方面实施例提出了一种机器学习模型的训练方法,包括:

接收密钥管理服务器发送的公钥,所述公钥为同态密钥对中的公钥;

采用所述公钥对自身数据进行加密,生成密文数据;

将所述密文数据发送至机器学习服务器,其中,所述机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将所述密文机器学习模型发送给所述密钥管理服务器进行解密以形成明文机器学习模型。

本申请实施例的机器学习模型的训练方法,通过接收密钥管理服务器发送的公钥,公钥为同态密钥对中的公钥;采用公钥对自身数据进行加密,生成密文数据;将密文数据发送至机器学习服务器,其中,机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将密文机器学习模型发送给密钥管理服务器进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

本申请第四方面实施例提出了一种密钥管理服务器,包括:

生成模块,用于生成同态密钥对,其中,所述同态密钥对之中包括公钥和私钥;

发送模块,用于将所述公钥发送至多个数据所有者服务器,以使所述多个数据所有者服务器对自身数据通过所述公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,所述机器学习服务器根据所述多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;

解密模块,用于接收所述机器学习服务器发送的密文机器学习模型,并根据所述私钥进行解密以形成明文机器学习模型。

本申请实施例的密钥管理服务器,通过生成同态密钥对,其中,同态密钥对之中包括公钥和私钥;将公钥发送至多个数据所有者服务器,以使多个数据所有者服务器对自身数据通过公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;以及接收机器学习服务器发送的密文机器学习模型,并根据私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

本申请第五方面实施例提出了一种机器学习服务器,包括:

接收模块,用于接收多个数据所有者服务器发送的密文数据,其中,所述密文数据为所述多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据;

训练模块,用于根据所述密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型;

发送模块,用于将所述密文机器学习模型发送给密钥管理服务器,以使所述密钥管理服务器采用所述同态密钥对中的私钥进行解密以形成明文机器学习模型。

本申请实施例的机器学习服务器,通过接收多个数据所有者服务器发送的密文数据,其中,密文数据为多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据;根据密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型;将密文机器学习模型发送给密钥管理服务器,以使密钥管理服务器采用同态密钥对中的私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

本申请第六方面实施例提出了一种数据所有者服务器,包括:

接收模块,用于接收密钥管理服务器发送的公钥,所述公钥为同态密钥对中的公钥;

加密模块,用于采用所述公钥对自身数据进行加密,生成密文数据;

发送模块,用于将所述密文数据发送至机器学习服务器,其中,所述机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将所述密文机器学习模型发送给所述密钥管理服务器进行解密以形成明文机器学习模型。

本申请实施例的数据所有者服务器,通过接收密钥管理服务器发送的公钥,公钥为同态密钥对中的公钥;采用公钥对自身数据进行加密,生成密文数据;将密文数据发送至机器学习服务器,其中,机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将密文机器学习模型发送给密钥管理服务器进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

本申请第七方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例、第二方面实施例或者第三方面实施例提出的机器学习模型的训练方法。

本申请第八方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行本申请第一方面实施例、第二方面实施例或者第三方面实施例提出的机器学习模型的训练方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例一所提供的机器学习模型的训练方法的流程示意图;

图2为本申请实施例二所提供的机器学习模型的训练方法的流程示意图;

图3为本申请实施例三所提供的机器学习模型的训练方法的流程示意图;

图4为本申请实施例四所提供的密钥管理服务器的结构示意图;

图5为本申请实施例五所提供的机器学习服务器的结构示意图;

图6为本申请实施例六所提供的数据所有者服务器的结构示意图;

图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

传统的机器学习模型的训练方法,数据所有者服务器向机器学习服务器提供明文数据,机器学习服务器根据明文数据对初始机器学习模型进行训练,以形成明文机器学习模型。

然而,上述方法中,难以保护数据所有者服务器所提供的明文数据的安全性,且难以保护明文机器学习模型,安全性差。

本申请的应用场景为,在一个大型组织内部进行机器学习任务的执行。机器学习任务的执行,为对机器学习模型的学习;而机器学习模型的学习,需要用到分散在组织内的各个部门的数据。由于各个部门之间的竞争、安全以及各个部门的行政管理等原因,对各个部门的数据进行整合,然后对机器学习模型进行学习是不现实的。在符合监管要求的情况下,需要选择一个上级管理者,例如,各个部门的上级部门,利用该上级管理者掌管的密钥管理服务来确保各个部门的数据的安全性以及机器学习模型的安全性。

因此,本申请主要针对现有技术中数据所有者服务器所提供的明文数据的安全性差,明文机器学习模型的安全性差的技术问题,提出一种机器学习模型的训练方法。

本申请实施例的机器学习模型的训练方法,通过生成同态密钥对,其中,同态密钥对之中包括公钥和私钥;将公钥发送至多个数据所有者服务器,以使多个数据所有者服务器对自身数据通过公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;以及接收机器学习服务器发送的密文机器学习模型,并根据私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

下面参考附图描述本申请实施例的机器学习模型的训练方法、服务器及计算机设备。

图1为本申请实施例一所提供的机器学习模型的训练方法的流程示意图。

本申请实施例以该机器学习模型的训练方法被配置于机器学习模型的训练装置中来举例说明,该机器学习模型的训练装置可以应用于任一计算机设备中,以使该计算机设备可以执行机器学习模型的训练功能。其中,计算机设备例如可以为密钥管理服务器。本申请实施例中,以计算机设备为密钥管理服务器为例来进行说明。

其中,计算机设备可以为个人电脑(Personal Computer,简称PC)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。

如图1所示,该机器学习模型的训练方法可以包括以下步骤:

步骤101,生成同态密钥对,其中,同态密钥对之中包括公钥和私钥。

本申请实施例中,同态加密的含义是,对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。同态加密包括4个算法和两个密钥,其中,4个算法分别为,密钥生成算法(Keygen)、加密算法(Enc)、解密算法(Dec)、求值算法(Eval);两个密钥分别为公钥(pk)和私钥(sk)。其中,密钥生成算法,用于生成密钥;加密算法,用于结合公钥对数据进行加密,生成密文数据;解密算法,用于结合私钥对密文数据进行解密;求值算法,用于结合公钥、密文数据以及计算函数,来对密文数据进行求值处理,求值处理的结果解密后得到的数据,与采用计算函数对明文数据进行处理后得到的数据一致。

本申请实施例中,密钥管理服务器生成同态密钥对的方式具体可以为,根据同态加密的密钥生成算法生成的同态密钥对。其中,同态加密的密钥生成算法基于预设参数来生成同态密钥对。其中,预设参数(setup)例如,安全参数、乘法深度等,依据具体使用的同态加密算法选择参数。本申请适用于所有满足机器学习模型训练和预测计算需求的同态加密算法(homomorphic encryption)。

步骤102,将公钥发送至多个数据所有者服务器,以使多个数据所有者服务器对自身数据通过公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型。

本申请实施例中,为了进一步提高安全性,密钥管理服务器可以通过安全信道将公钥发送至多个数据所有者服务器。

本申请实施例中,密钥管理服务器还可以通过安全信道将公钥发送至机器学习服务器。对应的,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型的方式为,采用同态加密的求值算法对密文数据、机器学习模型的训练及测试算法、公钥进行求值处理,得到密文机器学习模型。

本申请实施例中,机器学习模型的训练和测试算法的求值过程依据使用的同态加密算法进行实施。本过程适用于所有满足机器学习模型训练和测试计算需要的同态加密算法(homomorphic encryption)。

步骤103,接收机器学习服务器发送的密文机器学习模型,并根据私钥进行解密以形成明文机器学习模型。

本申请实施例中,密钥管理服务器执行步骤103的过程例如可以为,采用同态加密的解密算法以及私钥,对密文机器学习模型进行解密,生成明文机器学习模型。其中,私钥和密文机器学习模型为同态加密的解密算法中的输入,将私钥和密文机器学习模型输入同态加密的解密算法,计算得到的结果即为明文机器学习模型。

本申请实施例的机器学习模型的训练方法,通过生成同态密钥对,其中,同态密钥对之中包括公钥和私钥;将公钥发送至多个数据所有者服务器,以使多个数据所有者服务器对自身数据通过公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;以及接收机器学习服务器发送的密文机器学习模型,并根据私钥进行解密以明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

图2为本申请实施例二所提供的机器学习模型的训练方法的流程示意图。

本申请实施例以该机器学习模型的训练方法被配置于机器学习模型的训练装置中来举例说明,该机器学习模型的训练装置可以应用于任一计算机设备中,以使该计算机设备可以执行机器学习模型的训练功能。其中,计算机设备例如可以为机器学习服务器。本申请实施例中,以计算机设备为机器学习服务器为例来进行说明。

其中,计算机设备可以为个人电脑(Personal Computer,简称PC)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。

如图2所示,该机器学习模型的训练方法可以包括以下步骤:

步骤201,接收多个数据所有者服务器发送的密文数据,其中,密文数据为多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据。

本申请实施例中,机器学习服务器可以通过安全信道接收多个数据所有者服务器发送的密文数据。多个数据所有者服务器所采用的公钥为密钥管理服务器通过安全信道发送至数据所有者服务器的。

本申请实施例中,数据所有者服务器获取密文数据的方式例如可以为,采用同态加密的加密算法以及公钥,对自身数据进行加密,得到密文数据。其中,公钥和自身数据为同态加密的加密算法中的输入,将公钥和自身数据输入同态加密的加密算法,计算得到的结果即为密文数据。

步骤202,根据密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型。

本申请实施例中,机器学习服务器执行步骤202的过程具体可以为,接收密钥管理服务器发送的公钥;采用同态加密的求值算法对所述密文数据、所述机器学习模型的训练及测试算法、所述公钥进行求值处理,得到密文机器学习模型。

本申请实施例中,机器学习模型的训练和测试算法的求值过程依据使用的同态加密算法进行实施。本过程适用于所有满足机器学习模型训练和测试计算需要的同态加密算法(homomorphic encryption)。

步骤203,将密文机器学习模型发送给密钥管理服务器,以使密钥管理服务器采用同态密钥对中的私钥进行解密以形成明文机器学习模型。

本申请实施例中,密钥管理服务器采用同态密钥对中的私钥进行解密以形成明文机器学习模型的过程例如可以为,采用同态加密的解密算法以及私钥,对密文机器学习模型进行解密,生成明文机器学习模型。其中,私钥和密文机器学习模型为同态加密的解密算法中的输入,将私钥和密文机器学习模型输入同态加密的解密算法,计算得到的结果即为明文机器学习模型。

本申请实施例的机器学习模型的训练方法,通过接收多个数据所有者服务器发送的密文数据,其中,密文数据为多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据;根据密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型;将密文机器学习模型发送给密钥管理服务器,以使密钥管理服务器采用同态密钥对中的私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

图3为本申请实施例三所提供的机器学习模型的训练方法的流程示意图。

本申请实施例以该机器学习模型的训练方法被配置于机器学习模型的训练装置中来举例说明,该机器学习模型的训练装置可以应用于任一计算机设备中,以使该计算机设备可以执行机器学习模型的训练功能。其中,计算机设备例如可以为数据所有者服务器。本申请实施例中,以计算机设备为数据所有者服务器为例来进行说明。

其中,计算机设备可以为个人电脑(Personal Computer,简称PC)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。

如图3所示,该机器学习模型的训练方法可以包括以下步骤:

步骤301,接收密钥管理服务器发送的公钥,公钥为同态密钥对中的公钥。

本申请实施例中,为了进一步提高安全性,数据所有者服务器可以通过安全信道接收密钥管理服务器发送的公钥。其中,密钥管理服务器生成同态密钥对的方式具体可以为,根据同态加密的密钥生成算法生成的同态密钥对。其中,同态加密的密钥生成算法基于预设参数来生成同态密钥对。其中,预设参数例如安全参数、乘法深度等,依据具体使用的同态加密算法选择参数。本申请适用于所有满足机器学习模型训练和预测计算需求的同态加密算法(homomorphic encryption)。

步骤302,采用公钥对自身数据进行加密,生成密文数据。

本申请实施例中,数据所有者服务器执行步骤302的过程具体可以为,采用同态加密的加密算法以及公钥,对自身数据进行加密,得到密文数据。其中,公钥和自身数据为同态加密的加密算法中的输入,将公钥和自身数据输入同态加密的加密算法,计算得到的结果即为密文数据。

步骤303,将密文数据发送至机器学习服务器,其中,机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将密文机器学习模型发送给密钥管理服务器进行解密以形成明文机器学习模型。

本申请实施例中,机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型的过程例如可以为,接收密钥管理服务器发送的公钥;采用同态加密的求值算法对密文数据、机器学习模型的训练及测试算法、公钥进行求值处理,得到密文机器学习模型。

本申请实施例中,密钥管理服务器采用同态密钥对中的私钥进行解密以形成明文机器学习模型的过程例如可以为,采用同态加密的解密算法以及私钥,对密文机器学习模型进行解密,生成明文机器学习模型。其中,私钥和密文机器学习模型为同态加密的解密算法中的输入,将私钥和密文机器学习模型输入同态加密的解密算法,计算得到的结果即为明文机器学习模型。

本申请实施例的机器学习模型的训练方法,通过接收密钥管理服务器发送的公钥,公钥为同态密钥对中的公钥;采用公钥对自身数据进行加密,生成密文数据;将密文数据发送至机器学习服务器,其中,机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将密文机器学习模型发送给密钥管理服务器进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

图4为本申请实施例四所提供的密钥管理服务器的结构示意图。

如图4所示,该密钥管理服务器400可以包括:生成模块410、发送模块420和解密模块430。

其中,生成模块410,用于生成同态密钥对,其中,所述同态密钥对之中包括公钥和私钥;

发送模块420,用于将所述公钥发送至多个数据所有者服务器,以使所述多个数据所有者服务器对自身数据通过所述公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,所述机器学习服务器根据所述多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;

解密模块430,用于接收所述机器学习服务器发送的密文机器学习模型,并根据所述私钥进行解密以形成明文机器学习模型。

进一步地,在本申请实施例的一种可能的实现方式中,所述生成模块410具体用于,根据同态加密的密钥生成算法生成所述同态密钥对。

进一步地,在本申请实施例的一种可能的实现方式中,所述发送模块420具体用于,通过安全信道将所述公钥发送至所述多个数据所有者服务器。

进一步地,在本申请实施例的一种可能的实现方式中,所述发送模块420还用于,将所述公钥发送至所述机器学习服务器。其中,所述机器学习服务器根据所述多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型的方式为,采用同态加密的求值算法对所述密文数据、所述机器学习模型的训练及测试算法、所述公钥进行求值处理,得到密文机器学习模型。

进一步地,在本申请实施例的一种可能的实现方式中,所述解密模块430具体用于,采用同态加密的解密算法以及所述私钥,对所述密文机器学习模型进行解密,生成所述明文机器学习模型。

需要说明的是,前述实施例一中的解释说明也适用于该实施例的密钥管理服务器,此处不再赘述。

本申请实施例的密钥管理服务器,通过生成同态密钥对,其中,同态密钥对之中包括公钥和私钥;将公钥发送至多个数据所有者服务器,以使多个数据所有者服务器对自身数据通过公钥进行加密,并将加密之后生成的密文数据发送至机器学习服务器,其中,机器学习服务器根据多个数据所有者服务器提供的密文数据进行模型训练和测试以生成密文机器学习模型;以及接收机器学习服务器发送的密文机器学习模型,并根据私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

图5为本申请实施例五所提供的机器学习服务器的结构示意图。

如图5所示,该机器学习服务器500可以包括:接收模块510、训练模块520和发送模块530。

其中,接收模块510,用于接收多个数据所有者服务器发送的密文数据,其中,所述密文数据为所述多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据;

训练模块520,用于根据所述密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型;

发送模块530,用于将所述密文机器学习模型发送给密钥管理服务器,以使所述密钥管理服务器采用所述同态密钥对中的私钥进行解密以形成明文机器学习模型。

进一步地,在本申请实施例的一种可能的实现方式中,所述训练模块520具体用于,接收所述密钥管理服务器发送的所述公钥;采用同态加密的求值算法对所述密文数据、所述机器学习模型的训练及测试算法、所述公钥进行求值处理,得到密文机器学习模型。

进一步地,在本申请实施例的一种可能的实现方式中,所述接收模块510具体用于,通过安全信道接收所述密钥管理服务器发送的所述公钥。

需要说明的是,前述实施例二中的解释说明也适用于该实施例的机器学习服务器,此处不再赘述。

本申请实施例的机器学习服务器,通过接收多个数据所有者服务器发送的密文数据,其中,密文数据为多个数据所有者服务器对自身数据通过同态密钥对中的公钥加密之后生成的数据;根据密文数据进行机器学习模型的训练以及测试,以生成密文机器学习模型;将密文机器学习模型发送给密钥管理服务器,以使密钥管理服务器采用同态密钥对中的私钥进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

图6为本申请实施例六所提供的数据所有者服务器的结构示意图。

如图6所示,该数据所有者服务器600可以包括:接收模块610、加密模块620和发送模块630。

其中,接收模块610,用于接收密钥管理服务器发送的公钥,所述公钥为同态密钥对中的公钥;

加密模块620,用于采用所述公钥对自身数据进行加密,生成密文数据;

发送模块630,用于将所述密文数据发送至机器学习服务器,其中,所述机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将所述密文机器学习模型发送给所述密钥管理服务器进行解密以形成明文机器学习模型。

进一步地,在本申请实施例的一种可能的实现方式中,所述加密模块620具体用于,获取同态加密的加密算法;采用所述同态加密的加密算法以及所述公钥对自身数据进行加密,生成密文数据。

进一步地,在本申请实施例的一种可能的实现方式中,所述接收模块610具体用于,通过安全信道接收所述密钥管理服务器发送的所述公钥。

需要说明的是,前述实施例三中的解释说明也适用于该实施例的数据所有者服务器,此处不再赘述。

本申请实施例的数据所有者服务器,通过接收密钥管理服务器发送的公钥,公钥为同态密钥对中的公钥;采用公钥对自身数据进行加密,生成密文数据;将密文数据发送至机器学习服务器,其中,机器学习服务器根据接收到的密文数据进行模型训练和测试以生成密文机器学习模型,并将密文机器学习模型发送给密钥管理服务器进行解密以形成明文机器学习模型,从而能够保护数据所有者服务器提供的数据,且能够保护明文机器学习模型,安全性高。

为了实现上述实施例,本申请还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本申请前述实施例提出的机器学习模型的训练方法。

为了实现上述实施例,本申请还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本申请前述实施例提出的机器学习模型的训练方法。

图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图7显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:同态加密装置及其密文算术方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!