【技术实现步骤摘要】
多方联合进行模型数据处理的方法及装置
本说明书一个或多个实施例涉及机器学习领域和数据安全领域,尤其涉及多方联合进行模型数据处理的方法和装置。
技术介绍
随着计算机技术的发展,机器学习已经应用到各种各样的
,用于分析、处理各种业务数据。机器学习所需要的数据往往会涉及到多个领域,例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,将分散在各个平台的数据整合在一起训练机器学习模型难以实现。因此,提出多方联合训练和使用机器学习模型进行业务处理的方式。在多方联合训练和使用机器学习模型的场景下,数据隐私的保护和安全性成为值得关注的问题。例如,在一个多方计算的场景下,A方持有待处理的用户样本特征数据,B方持有数据处理模型。在通过该数据处理模型对样本特征数据实施处理时,如果A方将样本数据直接发送至B方,会导致用户样本的特征取值被暴露,泄露用户隐私;如果B方将数据处理模型提供至A方进行使用,会导致数据处理模型的模型参数被暴露。因此,希望提供改进的方案,在多方联合进行模型数据处理的过程中,保护各方隐私数据的安全。
技术实现思路
本说明书一个或多个实施例描述了多方联合进行模型数据处理的方法和装置,其中模型拥有方在对多个模型参数进行同态加密后,还生成密文合法性的零知识证明,以供数据拥有方验证,从而进一步保护各方隐私数据的安全不 ...
【技术保护点】
1.一种保护数据隐私的多方联合进行模型数据处理的方法,所述多方包括模型拥有方和数据拥有方,所述方法通过所述模型拥有方执行,包括:/n采用同态加密算法,基于预先生成的公钥和分别生成的k个随机数,对所拥有的第一模型中的k个模型参数分别进行加密,得到k个参数密文;/n随机选择第一消息和第一随机数;并采用所述同态加密算法,基于所述公钥和所述第一随机数,对所述第一消息进行加密,得到辅助密文;/n向所述数据拥有方发送所述k个参数密文和所述辅助密文;/n获取根挑战数,并基于所述根挑战数的幂操作,得到k个挑战元素;/n将所述k个挑战元素与所述k个模型参数线性组合,并与所述第一消息进行叠加,基于叠加结果得到验证消息;将所述k个挑战元素与所述k个随机数和所述第一随机数进行组合,得到验证随机数;/n向所述数据拥有方发送零知识证明,其中包括所述验证消息和验证随机数,使得所述数据拥有方验证,使用所述k个挑战元素对所述辅助密文和k个参数密文进行同态加和运算的第一结果,与采用所述同态加密算法,基于所述公钥和所述验证随机数对所述验证消息进行加密的第二结果是否相等;/n接收所述数据拥有方发送的特征运算密文,所述特征运算 ...
【技术特征摘要】
1.一种保护数据隐私的多方联合进行模型数据处理的方法,所述多方包括模型拥有方和数据拥有方,所述方法通过所述模型拥有方执行,包括:
采用同态加密算法,基于预先生成的公钥和分别生成的k个随机数,对所拥有的第一模型中的k个模型参数分别进行加密,得到k个参数密文;
随机选择第一消息和第一随机数;并采用所述同态加密算法,基于所述公钥和所述第一随机数,对所述第一消息进行加密,得到辅助密文;
向所述数据拥有方发送所述k个参数密文和所述辅助密文;
获取根挑战数,并基于所述根挑战数的幂操作,得到k个挑战元素;
将所述k个挑战元素与所述k个模型参数线性组合,并与所述第一消息进行叠加,基于叠加结果得到验证消息;将所述k个挑战元素与所述k个随机数和所述第一随机数进行组合,得到验证随机数;
向所述数据拥有方发送零知识证明,其中包括所述验证消息和验证随机数,使得所述数据拥有方验证,使用所述k个挑战元素对所述辅助密文和k个参数密文进行同态加和运算的第一结果,与采用所述同态加密算法,基于所述公钥和所述验证随机数对所述验证消息进行加密的第二结果是否相等;
接收所述数据拥有方发送的特征运算密文,所述特征运算密文是所述数据拥有方在所述验证通过的情况下,使用其拥有的k个样本特征对所述k个参数密文进行同态加和运算的结果,用于所述模型拥有方还原出特征运算结果,从而基于特征运算结果进行业务处理。
2.根据权利要求1所述的方法,其中,所述第一模型为线性回归模型,或逻辑回归模型。
3.根据权利要求1所述的方法,其中,所述公钥包括,自然数N和由该自然数N限定的随机数空间中的一个循环子群的生成元h;
采用所述同态加密算法,基于所述公钥和所述第一随机数,对所述第一消息进行加密,得到辅助密文,包括:
使用所述第一消息,对(N+1)进行幂操作,得到第一中间结果;
使用所述第一随机数,基于所述生成元h进行群操作,得到第二中间结果;
基于所述第一中间结果和第二中间结果,得到所述辅助密文。
4.根据权利要求3所述的方法,其中,将所述k个挑战元素与所述k个随机数和所述第一随机数进行组合,得到验证随机数,包括:
将所述k个挑战元素与所述k个随机数线性组合,并与所述第一随机数进行叠加,得到所述验证随机数。
5.根据权利要求1所述的方法,其中,所述公钥至少包括自然数N;
采用所述同态加密算法,基于所述公钥和所述第一随机数,对所述第一消息进行加密,得到辅助密文,包括:
使用所述第一消息,对(N+1)进行幂操作,得到第一中间结果;
对所述第一随机数进行N次幂操作,得到第二中间结果;
基于所述第一中间结果和第二中间结果,得到所述辅助密文。
6.根据权利要求5所述的方法,其中,将所述k个挑战元素与所述k个随机数和所述第一随机数进行组合,得到验证随机数,包括:
依次对于第i挑战元素和第i随机数,使用第i挑战元素对第i随机数进行幂操作,得到k个幂操作结果;
将所述k个幂操作结果与所述第一随机数连乘,得到所述验证随机数。
7.根据权利要求1所述的方法,其中,所述获取根挑战数,包括:
从所述数据拥有方接收其随机选择的根挑战数。
8.根据权利要求1所述的方法,其中,所述获取根挑战数,包括:
基于所述k个参数密文和所述辅助密文,使用与所述数据拥有方约定的函数算法,计算得到所述根挑战数。
9.根据权利要求1所述的方法,其中,基于所述根挑战数的幂操作,得到k个挑战元素包括:对所述根挑战数进行从1依次到k次幂操作,得到所述k个挑战元素。
10.根据权利要求1所述的方法,其中,基于所述根挑战数的幂操作,得到k个挑战元素包括:对所述根挑战数随机进行k种不同的幂操作,得到所述k个挑战元素。
11.根据权利要求3所述的方法,其中,所述基于叠加结果得到验证消息,包括:
将所述叠加结果对N取模,将取模结果作为所述验证消息。
12.根据权利要求1所述的方法,还包括:采用与所述同态加密算法对应的解密算法,使用与所述公钥对应的私钥,对所述特征运算密文进行解密,得到所述特征运算结果,所述特征运算结果对应于,所述k个样本特征和所述k个模型参数的线性组合。
13.一种保护数据隐私的多方联合进行模型数据处理的方法,所述多方包括模型拥有方和数据拥有方,所述方法通过所述数据拥有方执行,包括:
从所述模型拥有方接收加密合法性有待验证的k个参数密文以及辅助密文;在合法加密的情况下,所述k个参数密文是所述模型拥有方采用同态加密算法,基于预先生成的公钥和分别生成的k个随机数,对k个模型参数分别加密得到的,所述辅助密文是采用所述同态加密算法,基于所述公钥和第一随机数,对随机的第一消息进行加密得到的;
确定根挑战数,并基于所述根挑战数的幂操作,得到k个挑战元素;
从所述模型拥有方接收零知识证明,其中包括验证消息和验证随机数;其中,所述验证消息是基于所述k个挑战元素与所述k个模型参数的线性组合,以及与所述第一消息的叠加得到的,所述验证随机数是基于所述k个挑战元素与所述k个随机数和所述第一随机数组合得到的;
使用所述k个挑战元素对所述k个参数密文和所述辅助密文进行同态加和运算,得到第一结果;并采用所述同态加密算法,基于所述公钥和所述验证随机数对所述验证消息进行加密,得到第二结果;
在验证第一结果等于第二结果的情况下,使用拥有的k个样本特征对所述k个参数密文进行同态加和运算,得到特征运算密文;
向所述模型拥有方发送所述特征运算密文,用于所述模型拥有方还原出特征运算结果,从而基于特征运算结果进行业...
【专利技术属性】
技术研发人员:韩帅,陈宇,马环宇,雷浩,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。