掌桥专利:专业的专利平台
掌桥专利
首页

一种可验证的隐私保护的机器学习分类器系统

文献发布时间:2023-06-19 19:04:00


一种可验证的隐私保护的机器学习分类器系统

技术领域

本发明涉及一种可验证的隐私保护的机器学习分类器系统。

背景技术

机器学习分类器已经广泛地应用于疾病诊断、面部识别、银行放贷等领域,这些领域往往涉及大量数据。在本地存储数据并在数据上进行计算需要耗费大量的计算、存储资源。随着云服务技术日益完善、成熟,云服务的费用也越来越低,这吸引了大量的医院、银行等机构倾向于将数据委托给云服务器存储、维护。但也带来了一些安全问题。

首先,银行、医院等机构所委托的数据可能具有高度隐私性,例如病人的身体体征数据、银行客户的财务数据等。被委托的隐私数据可能被云服务器或来自云服务器外部的攻击者获知,存在极大的数据泄露风险。采用RSA、AES等传统的加密方式将数据加密为密文虽然可以保护数据的隐私性,但不能在RSA、AES加密的密文上应用机器学习分类器。

再者,当机构要求云服务器在大量数据上应用机器学习分类器时,云服务器可能为了减少工作量或被恶意攻击者挟持的情况下返回错误的计算结果。现有的技术方案无法同时解决上述安全问题,即提供以下重要特性:1)数据隐私性:在保护隐私数据方面达到语义安全;2)可验证性:可以验证云服务器计算结果的正确性。根据应用场景的不同,分为私有可委托和公开可委托。私有可委托只允许一个持有私钥的机构委托数据,例如,将某个医院将病人的个体体征数据委托给服务器,然后请求服务器在这些数据上应用机器学习分类器,并根据分类结果来辅助判断病人病情。公开可委托允许任何持有公钥的机构委托数据,例如,多个银行将客户的财务数据委托给服务器,然后请求服务器在这些数据上应用机器学习分类器,并根据分类结果决定是否对客户放贷。

发明内容

本发明的目的是:提供一种可以同时满足数据隐私性和可验证性,并可以根据不同的使用场景提供相应的委托方式的机器学习分类器系统。

为了达到上述目的,本发明的一个技术方案是提供了一种可验证的隐私保护的机器学习分类器系统,在隐私数据上使用给定的已经通过训练的机器学习分类器,其特征在于,包括一个提供数据并且想获取计算结果的客户端以及m个不需要通信的云服务器,采用两种私有可委托方案中的任意一种,其中一种私有可委托方案的运行过程包括以下步骤:

步骤101、根据安全参数λ生成公钥pk、私钥sk和验证密钥vk=(vk

步骤102、客户端使用私钥sk将隐私数据x

步骤103、第j个云服务器根据公钥pk、密文s

步骤104、客户端使用vk=(vk

另外一种私有可委托方案的运行过程包括以下步骤:

步骤201、根据安全参数λ生成同态加密算法的公钥pk和私钥sk,并生成验证密钥vk,其中,公钥pk被发送给客户端和所有m个服务器,私钥sk和验证密钥vk只会被发送给客户端;

步骤202、客户端使用公钥pk和验证密钥vk将隐私数据x

步骤203、第j个云服务器根据公钥pk、密文s

步骤204、客户端根据部分计算结果y

步骤205、客户端使用私钥sk解密计算结果y的密文、标签τ的密文获得计算结果y、标签τ;

步骤206、客户端使用私有验证密钥vk检查vk·y是否等于τ:如果两者相等,则客户端认为计算结果y是正确的;否则,客户端认为计算结果y是错误的。

本发明的另一个技术方案是提供了一种可验证的隐私保护的机器学习分类器系统,在隐私数据上使用给定的已经通过训练的机器学习分类器,其特征在于,包括若干个提供数据的客户端,一个想获取计算结果的客户端以及m个不需要通信的云服务器,采用公开可委托方案,该公开可委托方案的运行过程包括以下步骤:

步骤301、根据安全参数λ生成同态加密算法的公钥pk和私钥sk,并生成验证密钥vk,其中,公钥pk被发送给所有提供数据的客户端和所有m个服务器,私钥sk和验证密钥vk只会被发送给想获取计算结果的客户端;

步骤302、所有提供数据的客户端使用公钥pk将隐私数据x

步骤303、第j个云服务器根据公钥pk、密文s

步骤304、持有私钥sk和验证密钥vk的客户端根据部分计算结果y

步骤305、想获取计算结果的客户端使用私钥sk解密计算结果y的密文、标签τ的密文获得计算结果y、标签τ;

步骤306、想获取计算结果的客户端使用私有验证密钥vk检查vk·y是否等于τ:如果两者相等,当前客户端认为计算结果y是正确的;否则,当前客户端认为计算结果y是错误的。

本发明提供了一种可验证的隐私保护的机器学习分类器系统,同时实现了数据隐私性和可验证性,并且提供了多个方案以满足不同应用场景的需求,具有很强的应用价值。

附图说明

图1示意了本发明的原理。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

在可验证的隐私保护的机器学习分类器系统中,机器学习分类器已经通过训练得到。本发明只讨论如何在隐私数据上使用给定的机器学习分类器。一个机器学习分类器可以被转化为一个多元多项式函数f(x

如图1所示,本实施例公开的一种可验证的隐私保护的机器学习分类器系统采用了三个方案以满足不同应用场景的需求,这三个方案都实现了数据隐私性和可验证性。方案一和方案二均为私有可委托方案,这两个方案都包括一个提供数据并且想获取计算结果的客户端,若干个不需要通信的云服务器。这两个方案的不同之处如下:方案一中的云服务器端的计算量远小于方案二中的云服务器端的计算量;方案二中的客户端的计算量远小于方案一中的客户端的计算量。因此,方案一适用于客户端具备一定的计算资源,并且客户端需要在尽可能短的时间内获得云服务器的计算结果的场景。方案二则适用于客户端缺乏计算资源,并且不需要云服务器迅速返回计算结果的场景。方案三是公开可委托方案,它包括若干个提供数据的客户端,一个想获取计算结果的客户端,若干个不需要通信的云服务器。方案三适用于多个客户端需要委托数据的场景。

方案一的运行过程如下:

步骤1、根据安全参数λ生成公钥pk、私钥sk和验证密钥vk=(vk

步骤2、客户端使用私钥sk将隐私数据x

步骤3、第j个云服务器根据公钥pk、密文s

步骤4、客户端使用vk=(vk

方案二的运行过程如下:

步骤1、根据安全参数λ生成同态加密算法的公钥pk和私钥sk,并生成验证密钥vk,其中,公钥pk会被发送给客户端和所有m个服务器,私钥sk和验证密钥vk只会被发送给客户端。

步骤2、客户端使用公钥pk和验证密钥vk将隐私数据x

步骤3、第j个云服务器根据公钥pk、密文s

步骤4、客户端根据部分计算结果y

方案三的运行过程如下:

步骤1、根据安全参数λ生成同态加密算法的公钥pk和私钥sk,并生成验证密钥vk,其中,公钥pk会被发送给所有客户端和所有m个服务器,私钥sk和验证密钥vk只会被发送给某个客户端。

步骤2、所有客户端使用公钥pk将隐私数据x

步骤3、第j个云服务器根据公钥pk、密文s

步骤4、持有sk和vk的客户端根据部分计算结果y

以物联网中的传感设备采集到的图像数据、医院采集到的医疗数据和多个银行的客户财务数据为例分别对上述三个方案作进一步说明。

物联网的传感设备(摄像头)采集到面部信息数据。利用训练好的机器学习分类器可以进行人脸识别。在这个场景中,卷积神经网络可以被转化为多项式函数,面部信息数据作为该多项式函数的输入。传感设备将多项式函数和加密的面部信息数据加密发送给所有云服务器,并利用私钥逐个验证所有云服务器返回的部分计算结果。如果所有部分计算结果都通过验证,则传感设备使用这些部分计算结果恢复计算结果y,否则传感设备认为有云服务器返回了错误结果,不会再使用这些部分计算结果来恢复y。

医院采集到病人的医疗数据。利用训练好的机器学习分类器可以进行疾病诊断。在这个场景中,机器学习分类器可以被转化为多项式函数,医疗数据作为该多项式函数的输入。医院将多项式函数和加密的医疗数据发送给所有云服务器。医院在接受到所有云服务器返回的部分计算结果的密文、部分计算结果的标签的密文后,计算出计算结果y的密文和标签τ的密文。然后,医院使用私钥解密y的密文和标签τ的密文来获得y和τ。医院利用验证密钥vk和标签τ验证计算结果y的正确性。

多个银行持有客户财务数据。利用训练好的机器学习分类器可以决定是否对客户放贷。在这个场景中,机器学习分类器可以被转化为多项式函数,客户财务数据作为该多项式函数的输入。多个银行将多项式函数和加密的客户财务数据发送给所有云服务器。某个银行(发放贷款的银行)会在接受到所有云服务器返回的部分计算结果的密文、部分计算结果的标签的密文后,计算出计算结果y的密文和标签τ的密文。然后,该银行使用私钥解密y的密文和标签τ的密文来获得y和τ。该银行利用验证密钥vk和标签τ验证结果y的正确性。

技术分类

06120115783677