一种基于PSI技术保护联邦学习预测阶段隐私的方法与流程

专利2022-06-29  53


本发明涉及信息安全领域和人工智能领域,特别涉及psi技术在联邦学习中的应用,实现联邦学习预测阶段的隐私保护,为一种基于psi技术保护联邦学习预测阶段隐私的方法。



背景技术:

大数据、云计算、物联网等新兴技术的迅猛发展,导致数据爆炸式增长,而这些数据又由不同的实体机构掌握。一方面,随着我国《网络安全法》、欧盟《通用数据保护条例》(gdpr)等法律法规的颁布,各国政府对用户数据隐私保护的要求将会越来越严,仅仅依靠传统方法对大数据使用、分析已经出现瓶颈;另一方面,掌握大量数据的各个实体机构既希望能够实现数据共享,挖掘数据潜在的巨大价值,又不希望泄露自身数据。因此,在大数据应用过程中,数据隐私安全得到越来越多的重视。常用的隐私保护技术有k-匿名、差分隐私、同态加密、安全多方计算等。

2016年谷歌提出的联邦学习技术,被认为是走出上述困境的技术之一,得到越来越多的关注。联邦学习实际上是一种基于密码学的分布式学习技术,各参与实体机构在不泄露自有数据的前提下地位平等地训练模型,称为联邦模型,能够满足用户隐私保护、机构数据安全和政府法律法规的要求,同时也能保证模型训练的效果。根据数据集的分布特点,联邦学习分为横向联邦学习、纵向联邦学习与联邦迁移学习。

从目前公开的代码、论文和专利看,现有技术中,联邦学习方案更关注模型的训练阶段,很少提及预测阶段如何具体实施,大多只是简单说明联邦学习参与方利用联邦学习模型进行联合预测,然后就认为用户直接使用联邦学习模型。虽然现有技术中联邦学习考虑到了联邦学习模型训练阶段的数据隐私保护,但是还没有深入考虑过模型后续使用中可能存在的数据安全问题。作为联邦学习的最后一环,预测在实际应用场景中使用最为频繁,体现了联邦学习的应用价值,而现有技术大多只考虑了如何得到联邦学习模型,而对于模型使用中存在的问题则少有研究。联邦学习的实际情况是,由于各实体机构通过联邦学习只能得到模型的一部分,所以在预测阶段仍然需要各实体机构的参与。同时,在现实场景中,提出预测需求的一方往往不希望其他参与方知晓预测数据的id,因此在预测阶段也需要隐私保护。比如借贷机构和征信机构合作预测某个借款人的信用,借贷机构并不想让对方知道该借款人有借款需求,否则征信机构可以将借款人的信息提供给其他借贷机构,所以借贷机构希望在预测借款人信用的同时并不会泄露借款人的信息。

隐私集合求交(privatesetintersection,psi)属于安全多方计算领域的特定应用问题,是隐私保护的热点问题之一。在联邦学习中可以用在训练模型前的数据对齐,也可以用来实现预测阶段的隐私保护。psi通过一系列底层密码学技术,允许参与者使用各自的数据集合计算交集,且不会泄露交集以外的任何自身数据,交集的信息既可以让某一参与者获得,也可以让所有参与者获得。因此,psi技术在黑名单共享、营销匹配、相似文档检测、私有联系人发现等场景具有潜在应用价值。根据底层所用密码技术的不同主要分为3类协议:基于公钥加密机制的psi、基于混淆电路的psi和基于ot(oblivioustransfer,不经意传输)协议的psi。虽然psi技术已经比较成熟,但如何具体将其用于联邦学习的预测阶段,还没有任何相关研究。



技术实现要素:

本发明要解决的问题是:现有联邦学习技术中,大多重点在于联邦学习模型的建立,而对联邦学习的实际落地应用研究很少;作为联邦学习的最后一环,预测在实际应用场景中使用最为频繁,而现有技术在对预测阶段鲜有研究,没有考虑过联邦学习预测阶段的数据安全性问题。

本发明的技术手段为:一种基于psi技术保护联邦学习预测阶段隐私的方法,在联邦学习的预测阶段,数据基于隐私集合求交psi技术进行交互,并在交互过程中对交互信息进行加密,对联邦学习的参与方进行隐私保护。

所述联邦学习为纵向联邦学习,联邦学习的参与方包括预测需求方alice,预测服务方bob和可信第三方carol,alice和bob在carol的帮助下通过联邦学习分别获得联邦学习模型的对应部分modela和modelb,在预测阶段,alice和bob分别使用各自的模型modela和modelb计算出预测结果再进行合并预测:在合并预测中基于psi对alice和bob进行隐私保护,其中bob对发出的预测结果进行加密,alice在基于psi与bob完成集合求交后,对交集部分对应的预测结果进行解密,得到所需求的预测数据,使得alice在获得bob的预测结果的同时,不会泄露自身的隐私信息,bob在提供预测数据时也不会泄露自身的隐私信息。

在联邦学习模型中,数据样本(id,f)由关键字id和特征值f构成,将id的集合记为id,特征集合记为f,本发明在联邦学习的预测阶段,当alice发出预测请求时,首先bob根据modelb计算自身模型的预测结果,然后alice和bob执行psi协议获得各自关键字的掩码,bob通过密钥导出函数对自身的预测结果进行加密,alice根据关键字的psi变换结果进行集合求交,再根据密钥导出函数解密出交集部分的预测结果,并和自身模型modela计算的预测结果合并,最终得到双方共有关键字id的预测结果。

为了解决联邦学习预测阶段隐私保护问题,本发明提供了一种基于psi技术的解决方案满足联邦学习预测阶段隐私保护需求,实现联邦学习隐私安全保护的最后环节,促进联邦学习更多应用场景的落地。本发明的目的是预测需求方alice在和预测服务方bob合作预测时,bob无法知晓alice需要进行预测的id信息及其特征值信息,同时alice也无法知晓bob的数据集中,除了与bob重合的id对应的特征值以外的其他数据,预测服务方bob在无法知晓alice所需的预测数据id的同时,还能将自身模型的计算结果发送给预测需求方alice。

现有技术对联邦学习预测阶段的隐私问题研究还处于空白,psi技术虽然提供了数据交互双方获取交集信息时的安全方案,但联邦学习的预测结果不仅在于对alice和bob的重合id的获取,还在于与id相关的特定值,预测阶段的隐私保护不止在于防止bob知道alice提出了对哪些id的求交,还在于对bob所提供的信息的安全保护,本发明针对联邦学习预测阶段的隐私及数据安全问题进行了研究,分析得到这一阶段中存在的问题,并提出了解决方案,在预测需求方和预测服务方根据联邦学习模型得到自身预测结果后,在本发明的隐私保护方法下,进一步将由预测需求方alice获取预测服务方bob的相关预测结果,结合得到更加完善的预测结果,同时保证alice和bob彼此的隐私安全,以及数据交互过程中的数据安全。

附图说明

图1是联邦学习的流程示意图,虚线框中是本发明所处的联邦学习预测阶段,联邦学习大体可分为数据对齐、训练、预测等几个阶段。

图2是本发明联邦学习预测阶段的流程示意图,即细化的图1虚线框的内容。

具体实施方式

本发明提出一种基于psi技术保护联邦学习预测阶段隐私的方法,在联邦学习的预测阶段,数据基于隐私集合求交psi技术进行交互,对联邦学习的参与方进行隐私保护。如图1所示,联邦学习大体可分为数据对齐、训练、预测等几个阶段,本发明是针对预测阶段的数据安全和隐私安全做出的技术方案,即图1中虚线框的部分。

本发明方法主要用于纵向联邦学习,联邦学习的参与方包括预测需求方alice,预测服务方bob和可信第三方carol,alice和bob在carol的帮助下通过联邦学习分别获得联邦学习模型的对应部分modela和modelb,数据样本(id,f)由关键字id和特征值f构成,在预测阶段,alice和bob分别使用各自的模型modela和modelb对于各自的数据样本计算出预测结果,再进行合并预测:在合并预测中基于psi对alice和bob进行隐私保护,alice和bob执行psi协议获得各自关键字的掩码,其中bob还通过密钥导出函数对发出的预测结果进行加密,alice根据关键字的psi变换结果进行集合求交,再根据密钥导出函数解密出交集部分的预测结果,并和自身模型modela计算的预测结果合并,最终得到双方共有关键字id的预测结果;使得alice在获得bob的预测结果的同时,不会泄露自身的隐私信息,bob在提供预测数据时也不会泄露自身的隐私信息。

如图2所示,具体说明本发明的实施。联邦学习模型中,数据样本(id,f)由关键字id和特征值f构成,将id的集合记为id,特征集合记为f,设alice和bob用作预测的数据集分别为dataa和datab,其对应的关键字集合分别为ida、idb,对应的特征集合分别为fa、fb,dataa和datab关键字具有交集,特征值均不相同;dataa和datab数据集中的样本分别为(id,fa,id)和(id,fb,id),其中fa,id和fb,id分别表示alice和bob各自的关键字id对应的特征值,alice需要在bob的配合下计算id∈ida的预测结果,当alice发出预测请求时,alice和bob执行以下步骤:

s1)bob利用模型modelb对自有数据集datab进行计算,得到scoreb,id=modelb(fb,id),对于所有的id∈idb,形成新的数据集记为predictb={(id,scoreb,id)|id∈idb}。

s2)alice和bob执行psi协议,将bob的数据集predictb变换为epb={(eidb,id,scoreb,id)|id∈idb},这里同一个id可能对应多个eidb,id,alice的关键字集合ida变换为eida={eida,id|id∈ida},这里同一个id只对应一个eida,id。

s3)对每个(eidb,id,scoreb,id)∈epb,bob使用密钥导出函数kdf得到对称加密密钥kid=kdf(eidb,id,id,iter,klen),其中eidb,id表示口令,id作为密钥的盐值,iter表示迭代次数,klen表示对称加密算法的密钥长度;在密码学中,盐值是指通过在密码任意固定位置插入特定的字符串,让哈希运算后的结果和使用原始密码的哈希值不相符。

s4)bob使用步骤s3)中的kid对scoreb,id进行加密,得到cid=enc(kid,scoreb,id),其中enc(·,·)为对称密码的加密算法,得到新的数据集epredictb={(eidb,id,cid)|id∈idb},并发送给alice;作为优选方式,还对eidb,id进行哈希运算,得到epredictb={(h(eidb,id),cid)|id∈idb},其中h(·)是哈希函数,这样做的目的防止bob发出的数据被暴力搜索,进一步保障数据安全,步骤s5)中alice采用同样的哈希函数进行计算。

s5)根据步骤s4)中bob发送的数据集epredictb={(eidb,id,cid)|id∈idb},alice计算交集:

epredicta∩b={(eida,id,cid)|eida,id=eidb,id,eida,id∈eida,(eidb,id,cid)∈epb}

如果bob的eidb,id进行了哈希运算,则alice采用同样的哈希函数进行计算,计算交集为:

epredicta∩b={(eida,id,cid)|h(eida,id)=h(eidb,id),eida,id∈eida,(h(eidb,id),cid)∈epb};

本步骤中,进一步优选采用布谷鸟过滤器cuckoofilter提高计算交集的效率。

s6)对所有(eida,id,cid)∈epredicta∩b,alice得到对应的关键字交集ida∩b∈ida∩idb,使用密钥导出函数计算对称密钥kid,a∩b=kdf(eida,id,ida∩b,iter,klen),解密cid得到对应交集的bob的预测结果scoreb,id=dec(kid,a∩b,cid),其中dec(·,·)为对称密码的解密算法,得到数据交集predicta∩b={(id,scoreb,id)|id∈ida∩idb}。

s7)根据步骤s6)获得的结果predicta∩b,alice计算合并预测结果:对于id∈ida∩idb,根据modela计算scorea,id=modela(fa,id),将scorea,id和predicta∩b中的scoreb,id合并得到最终的预测结果scoreid=merge(scorea,id,scoreb,id),其中merge(·,·)为联邦学习所设定的机器学习算法。

如图2所示,本发明通过使用psi技术得到alice和bob各自的掩码。预测服务方将掩码作为密钥导出函数(kdf)的种子得到对称密码加密密钥,对自身模型计算结果进行加密。预测需求方根据交集结果,同样可以通过密钥导出函数获得解密密钥,从预测服务方获得所需数据完成最终预测。

本发明可以使用多种psi协议,如基于ot协议的psi,在保护隐私的同时实现大规模数据的预测;基于公钥的psi技术,适用于alice数据量较小,而bob数据量较大的情形;也可以使用多种机器学习算法,适用于不同的应用场景。

下面通过具体实施例说明本发明的实施。

实施例1:

设本发明中使用的机器学习算法为逻辑回归,alice的数据特征为bob的数据特征为其中da和db分别为alice和bob拥有的特征数。alice和bob通过联邦学习得到的部分模型分别为其中θ-1为截距。逻辑回归的预测函数为其中为具体的样本数据,前半部分为alice所有,后半部分为bob所有。那么alice按照下面的步骤进行预测:

1.对于所有的id∈idb,bob计算形成新的数据集记为predictb={(id,scoreb,id)|id∈idb};

2.alice和bob执行改进的基于ot协议的psi,分别获得新的数据集eida={eida,id|id∈ida}和epb={(eidb,id,scoreb,id)|id∈idb};

3.对每个(eidb,id,scoreb,id)∈epb,bob使用密钥导出函数kdf得到对称加密密钥kid=kdf(eidb,id,id,iter,klen),其中eidb,id表示口令,id作为密钥的盐值,iter表示迭代次数,klen表示对称加密算法的密钥长度;

4.bob使用步骤3中的kid对scoreb,id进行加密,得到cid=enc(kid,scoreb,id),其中enc(·,·)为对称密码的加密算法,得到新的数据集epredictb={(h(eidb,id),cid)|id∈idb},并发送给alice,其中h(·)是哈希函数;

5.根据步骤4中bob发送的数据集epredictb,alice计算交集:

epredicta∩b={(eida,id,cid)|h(eida,id)=h(eidb,id),eida,id∈eida,(h(eidb,id),cid)∈epb};

同时采用cuckoofilter提高步骤5计算交集的效率;

6.对所有(eida,id,cid)∈epredicta∩b,alice得到对应的ida∩b∈ida∩idb,使用密钥导出函数计算对称密钥kid,a∩b=kdf(eida,id,ida∩b,iter,klen),解密cid得到对应交集的scoreb,id=dec(kid,a∩b,cid),其中dec(·,·)为对称密码的解密算法,得到数据交集predicta∩b={(id,scoreb,id)|id∈ida∩idb};

7.根据步骤6获得的结果predicta∩b,alice计算预测结果:对于(id,scoreb,id)∈predicta∩b,计算将两部分scorea,id和scoreb,id合并得到最终的预测结果

实施例2:

和实施例1采用的符号一样,也是使用逻辑回归进行预测,所有不同的是本实施案例中使用的是基于公钥的psi。为此需要约定一些其他符号,假设本实施案例中基于椭圆曲线,q为椭圆曲线的阶,表示集合{1,2,...,q-1},h1和h2是哈希函数,其中h1可以将消息映射成椭圆曲线上的点。具体步骤如下:

1.预计算,对于所有的id∈idb,bob随机选择计算sid=h2(a*h1(id)),并将所有的sid,id∈idb发送给alice;

2.对于所有的id∈ida,alice随机选择计算tid=b*h1(id),并将tid,id∈ida发送给bob;

3.bob执行下列步骤:

3.1.对于所有的id∈idb,根据alice的需要,bob计算

3.2.对于所有的id∈idb,使用密钥导出函数计算密钥kid=kdf(a*h1(id),id,iter,klen),并对scoreb,id进行加密:cid=enc(kid,scoreb,id);

3.3.对alice发送的tid,bob计算t′id=a*tid=a*b*h1(id);

3.4.bob将cid和t′id发送给alice,保证cid和tid的一一对应关系;

4.alice执行下列步骤:

4.1.对于所有的id∈ida,alice计算t″id=b-1*t′id=a*h1(id)和s′id=h2(t″id);

4.2.alice计算s={s′id,id∈ida}∩{sid,id∈idb};

4.3.对于s′id∈s,使用密钥导出函数计算kid=kdf(t″id,id,iter,klen),解密cid得scoreb,id=dec(kid,cid);

4.4.alice找到密文交集对应的id,得到predicta∩b={(id,scoreb,id)|id∈ida∩idb};

5.根据步骤4.4获得的结果predicta∩b,alice计算预测结果:对于id∈ida∩idb,那么(id,scoreb,id)∈predicta∩b,计算将两部分scorea,id和scoreb,id合并得到最终的预测结果

本实施案例特别适用于预测需求方数据量较小,而另一方数据量较大的情形,保证scoreb,id等敏感数据不被泄露。此外,上述哈希函数h2可以采用cuckoofilter,提高步骤4.2计算交集的效率。

本发明在具体实施时,可以引入中间服务商,扩大应用场景。比如在实施例2中,可以将步骤1中的计算结果发送给中间服务商,最终步骤4.2计算交集的过程由中间服务商完成,中间服务商无法获得有用信息。


技术特征:

1.一种基于psi技术保护联邦学习预测阶段隐私的方法,其特征在于在联邦学习的预测阶段,数据基于隐私集合求交psi技术进行交互,并在交互过程中对交互信息进行加密,对联邦学习的参与方进行隐私保护。

2.根据权利要求1所述的一种基于psi技术保护联邦学习预测阶段隐私的方法,其特征在于所述联邦学习为纵向联邦学习,联邦学习的参与方包括预测需求方alice,预测服务方bob和可信第三方carol,alice和bob在carol的帮助下通过联邦学习分别获得联邦学习模型的对应部分modela和modelb,在预测阶段,alice和bob分别使用各自的模型modela和modelb计算出预测结果再进行合并预测:在合并预测中基于psi对alice和bob进行隐私保护,其中bob对发出的预测结果进行加密,alice在基于psi与bob完成集合求交后,对交集部分对应的预测结果进行解密,得到所需求的预测数据,使得alice在获得bob的预测结果的同时,不会泄露自身的隐私信息,bob在提供预测数据时也不会泄露自身的隐私信息。

3.根据权利要求2所述的一种基于psi技术保护联邦学习预测阶段隐私的方法,其特征在于联邦学习模型中,数据样本(id,f)由关键字id和特征值f构成,将id的集合记为id,特征集合记为f,设alice和bob用作预测的数据集分别为dataa和datab,其对应的关键字集合分别为ida、idb,对应的特征集合分别为fa、fb,dataa和datab关键字具有交集,特征值均不相同;dataa和datab数据集中的样本分别为(id,fa,id)和(id,fb,id),其中fa,id和fb,id分别表示alice和bob各自的关键字id对应的特征值,alice需要在bob的配合下计算id∈ida的预测结果,当alice发出预测请求时,alice和bob执行以下步骤:

s1)bob利用模型modelb对自有数据集datab进行计算,得到scoreb,id=modelb(fb,id),对于所有的id∈idb,形成新的数据集记为predictb={(id,scoreb,id)|id∈idb};

s2)alice和bob执行psi协议,将bob的数据集predictb变换为epb={(eidb,id,scoreb,id)|id∈idb},这里同一个id可能对应多个eidb,id,alice的关键字集合ida变换为eida={eida,id|id∈ida},这里同一个id只对应一个eida,id;

s3)对每个(eidb,id,scoreb,id)∈epb,bob使用密钥导出函数kdf得到对称加密密钥kid=kdf(eidb,id,id,iter,klen),其中eidb,id表示口令,id作为密钥的盐值,iter表示迭代次数,klen表示对称加密算法的密钥长度;

s4)bob使用步骤s3)中的kid对scoreb,id进行加密,得到cid=enc(kid,scoreb,id),其中enc(·,·)为对称密码的加密算法,得到新的数据集epredictb={(eidb,id,cid)|id∈idb},并发送给alice;

s5)根据步骤s4)中bob发送的数据集epredictb,alice根据psi协议计算交集:

epredicta∩b={(eida,id,cid)|eida,id=eidb,id,eida,id∈eida,(eidb,id,cid)∈epb};

s6)对所有(eida,id,cid)∈epredicta∩b,alice得到对应的ida∩b∈ida∩idb,使用密钥导出函数计算对称密钥kid,a∩b=kdf(eida,id,ida∩b,iter,klen),解密cid得到对应交集的scoreb,id=dec(kid,a∩b,cid),其中dec(·,·)为对称密码的解密算法,得到数据交集predicta∩b={(id,scoreb,id)|id∈ida∩idb};

s7)根据步骤s6)获得的结果predicta∩b,alice计算合并预测结果:对于id∈ida∩idb,根据modela计算scorea,id=modela(fa,id),将scorea,id和predicta∩b中的scoreb,id合并得到最终的预测结果scoreid=merge(scorea,id,scoreb,id),其中merge(·,·)为联邦学习所设定的机器学习算法。

4.根据权利要求3所述的一种基于psi技术保护联邦学习预测阶段隐私的方法,其特征在于步骤s4)中,还对eidb,id进行哈希运算,得到epredictb={(h(eidb,id),cid)|id∈idb},h(·)表示哈希函数,对应的步骤s5)中alice根据psi协议计算交集为:

epredicta∩b={(eida,id,cid)|h(eida,id)=h(eidb,id),eida,id∈eida,(h(eidb,id),cid)∈epb}。

5.根据权利要求3所述的一种基于psi技术保护联邦学习预测阶段隐私的方法,其特征在于步骤s5)中,采用布谷鸟过滤器cuckoofilter提高计算交集的效率。

6.根据权利要求2-5任一项所述的一种基于psi技术保护联邦学习预测阶段隐私的方法,其特征在于所述psi为基于ot协议的psi技术。

7.根据权利要求2-5任一项所述的一种基于psi技术保护联邦学习预测阶段隐私的方法,其特征在于所述psi为基于公钥的psi技术,适用于alice数据量较小,而bob数据量较大的情形。

技术总结
一种基于PSI技术保护联邦学习预测阶段隐私的方法,步骤如下:首先预测服务方计算自身模型的预测结果,然后双方执行改进的PSI协议,通过对预测服务方的部分模型计算结果进行加密,预测需求方结合自身数据,解密数据提供方的计算结果,最终得到双方共有关键字id的预测结果。本发明利用PSI技术,通过密钥导出函数对数据进行加密,满足联邦学习预测阶段隐私保护需求,打通联邦学习隐私安全保护的最后环节,促进联邦学习更多应用场景的落地。

技术研发人员:张韶峰;单进勇
受保护的技术使用者:百融云创科技股份有限公司
技术研发日:2020.01.16
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-21610.html

最新回复(0)