保护隐私的多方数据处理的方法、装置和系统转让专利
申请号 : CN202110085009.7
文献号 : CN112613076B
文献日 : 2021-10-01
发明人 : 王华忠 , 殷山 , 李漓春
申请人 : 支付宝(杭州)信息技术有限公司
摘要 :
权利要求 :
1.一种保护隐私的多方数据处理的方法,所述多方包括查询方、多个数据持有方和模型持有方,所述方法包括:
所述查询方向所述模型持有方发送查询请求消息,所述查询请求消息包括查询对象的信息;
所述模型持有方将所述查询请求消息转发给所述多个数据持有方;
所述多个数据持有方中的第一持有方根据所述查询对象的信息,从其本地数据中获取所述查询对象的隐私明细数据;
所述多个数据持有方中的第二持有方根据所述查询对象的信息,从其本地数据中获取所述查询对象的非隐私明细数据,并将所述非隐私明细数据发送给所述模型持有方;
所述模型持有方利用本地的预测模型和所述非隐私明细数据,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结果;
所述模型持有方向所述查询方发送所述查询对象的预测结果;
所述查询方根据所述查询对象的预测结果为所述查询对象提供目标业务。
2.如权利要求1所述的方法,其中,所述查询请求消息还包括本次查询对应的流水号;
所述查询方向所述模型持有方发送查询请求消息之前,所述方法还包括:所述查询方根据所述查询对象的信息生成签名;
所述查询方将所述签名和所述流水号写到区块链上。
3.如权利要求2所述的方法,其中,所述模型持有方将所述查询请求消息转发给所述多个数据持有方之后,所述方法还包括:所述第一持有方根据所述流水号从区块链上获取签名,对所述签名执行验签操作。
4.如权利要求2所述的方法,其中,所述查询方根据所述查询对象的信息生成签名,包括:
所述查询方对所述查询对象的信息,利用哈希算法生成摘要;
所述查询方利用本方的第一私钥对所述摘要进行加密,得到所述签名;其中,所述第一私钥具有对应的第一公钥,所述第一公钥预先发送给了各数据持有方。
5.如权利要求2所述的方法,其中,所述查询请求消息还包括本次查询对应的时间戳;
所述查询方根据所述查询对象的信息生成签名,包括:所述查询方根据所述查询对象的信息和所述时间戳生成签名。
6.如权利要求1所述的方法,其中,所述预测结果为风控分数;所述查询方根据所述查询对象的预测结果为所述查询对象提供目标业务,包括:当所述查询对象的风控分数大于或等于预设分数时,所述查询方为所述查询对象提供所述目标业务。
7.如权利要求1所述的方法,其中,所述预测结果为风控分数;所述查询方根据所述查询对象的预测结果为所述查询对象提供目标业务,包括:当所述查询对象的风控分数属于预设分数区间时,所述查询方为所述查询对象提供所述预设分数区间对应的类型的目标业务。
8.一种保护隐私的多方数据处理的方法,所述多方包括查询方、多个数据持有方和模型持有方,所述方法由所述模型持有方执行,所述方法包括:从所述查询方接收查询请求消息,所述查询请求消息包括查询对象的信息;
将所述查询请求消息转发给各数据持有方;以使所述多个数据持有方中的第一持有方根据所述查询对象的信息,从其本地数据中获取所述查询对象的隐私明细数据;
从所述多个数据持有方中的第二持有方接收所述查询对象的非隐私明细数据;所述非隐私明细数据为所述第二持有方根据所述查询对象的信息从其本地数据中获取的;
利用本地的预测模型和所述非隐私明细数据,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结果;
向所述查询方发送所述查询对象的预测结果。
9.一种保护隐私的多方数据处理的系统,所述系统包括查询方、多个数据持有方和模型持有方:
所述查询方,用于向所述模型持有方发送查询请求消息,所述查询请求消息包括查询对象的信息;
所述模型持有方,用于将所述查询请求消息转发给所述多个数据持有方;
所述多个数据持有方中的第一持有方,用于根据所述查询对象的信息,从其本地数据中获取所述查询对象的隐私明细数据;
所述多个数据持有方中的第二持有方,用于根据所述查询对象的信息,从其本地数据中获取所述查询对象的非隐私明细数据,并将所述非隐私明细数据发送给所述模型持有方;
所述模型持有方,还用于利用本地的预测模型和所述非隐私明细数据,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结果;向所述查询方发送所述查询对象的预测结果;
所述查询方,还用于根据所述查询对象的预测结果为所述查询对象提供目标业务。
10.如权利要求9所述的系统,其中,所述查询请求消息还包括本次查询对应的流水号;
所述查询方,还用于在所述查询方向所述模型持有方发送查询请求消息之前,根据所述查询对象的信息生成签名;将所述签名和所述流水号写到区块链上。
11.如权利要求10所述的系统,其中,所述第一持有方,还用于在所述模型持有方将所述查询请求消息转发给所述多个数据持有方之后,根据所述流水号从区块链上获取签名,对所述签名执行验签操作。
12.如权利要求10所述的系统,其中,所述查询方,具体用于对所述查询对象的信息,利用哈希算法生成摘要;利用本方的第一私钥对所述摘要进行加密,得到所述签名;其中,所述第一私钥具有对应的第一公钥,所述第一公钥预先发送给了各数据持有方。
13.如权利要求10所述的系统,其中,所述查询请求消息还包括本次查询对应的时间戳;
所述查询方,具体用于根据所述查询对象的信息和所述时间戳生成签名。
14.如权利要求9所述的系统,其中,所述预测结果为风控分数;所述查询方,具体用于当所述查询对象的风控分数大于或等于预设分数时,为所述查询对象提供所述目标业务。
15.如权利要求9所述的系统,其中,所述预测结果为风控分数;所述查询方,具体用于当所述查询对象的风控分数属于预设分数区间时,为所述查询对象提供所述预设分数区间对应的类型的目标业务。
16.一种保护隐私的多方数据处理的装置,所述多方包括查询方、多个数据持有方和模型持有方,所述装置设置于所述模型持有方,所述装置包括:接收单元,用于从所述查询方接收查询请求消息,所述查询请求消息包括查询对象的信息;
发送单元,用于将所述查询请求消息转发给各数据持有方;以使所述多个数据持有方中的第一持有方根据所述查询对象的信息,从其本地数据中获取所述查询对象的隐私明细数据;
所述接收单元,还用于从所述多个数据持有方中的第二持有方接收所述查询对象的非隐私明细数据;所述非隐私明细数据为所述第二持有方根据所述查询对象的信息从其本地数据中获取的;
安全计算单元,用于利用本地的预测模型和所述接收单元接收的非隐私明细数据,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结果;
所述发送单元,还用于向所述查询方发送所述安全计算单元得到的查询对象的预测结果。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1‑8中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1‑8中任一项的所述的方法。
说明书 :
保护隐私的多方数据处理的方法、装置和系统
技术领域
背景技术
数据持有方的数据,而是由模型持有方利用数据持有方的数据和自身的模型,得到预测结
果,再将预测结果提供给查询方。
发明内容
象的预测结果;
明细数据;
给多个数据持有方,接着多个数据持有方中的第一持有方根据所述查询对象的信息,从其
本地数据中获取所述查询对象的隐私明细数据,接着模型持有方至少利用本地的预测模
型,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结
果,接着所述模型持有方向所述查询方发送所述查询对象的预测结果,最后查询方根据所
述查询对象的预测结果为所述查询对象提供目标业务。由上可见,本说明书实施例中,数据
持有方不是统一将明细数据发送给模型持有方,而是对明细数据进行了区分,第一持有方
为具有隐私明细数据的数据持有方,第一持有方获取查询对象的隐私明细数据,但并不将
隐私明细数据发送给模型持有方,后续模型持有方不是单方确定预测结果,而是至少利用
本地的预测模型,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对
象的预测结果,从而使得模型持有方不留存数据持有方的隐私数据,仍能获得预测结果。
附图说明
领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的
附图。
具体实施方式
了n个查询方,实际的查询请求可以是由n个查询方中的任一查询方发起的,例如,查询方1
或查询方2等,多个数据持有方中的至少一个数据持有方具有查询对象的明细数据,多个数
据持有方可以分别具有同一查询对象的不同特征项的明细数据,例如,当查询对象为用户
时,数据持有方1具有用户的学历对应的明细数据,数据持有方2具有用户的收入对应的明
细数据,由于有些明细数据属于隐私数据,有些明细数据不属于隐私数据,因此本说明书实
施例中,将明细数据区分为隐私明细数据和非隐私明细数据。举例来说,第一持有方为具有
隐私明细数据的数据持有方,第二持有方为具有非隐私明细数据的数据持有方,第一持有
方可以获取查询对象的隐私明细数据,但不允许将隐私明细数据发送给模型持有方,第二
持有方可以获取查询对象的非隐私明细数据,并允许将其发送给所述模型持有方,后续模
型持有方不是单方确定模型结果,而是利用本地的预测模型和所述非隐私明细数据,与所
述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结果,从而使
得模型持有方不留存数据持有方的隐私数据,仍能获得预测结果。
非隐私明细数据。多个数据持有方中的每个数据持有方可以均具有查询对象的隐私明细数
据,而不具有查询对象的非隐私明细数据,这种情况下,各数据持有方均为第一持有方,模
型持有方利用本地的预测模型,与所述第一持有方的隐私明细数据,进行多方安全计算,得
到所述查询对象的预测结果。
vendors,ISV),ISV为金融机构提供风控服务。其中,上述预测模型具体可以为评分模型,用
于预测查询对象的风控分数,可以但不限于为通过机器学习的方法训练出的模型,例如,逻
辑回归模型、决策树模型等。
据的第一持有方,该方法可以基于图1所示的实施场景。如图2所示,该实施例中保护隐私的
多方数据处理的方法包括以下步骤:步骤21,查询方向模型持有方发送查询请求消息,所述
查询请求消息包括查询对象的信息;步骤22,模型持有方将所述查询请求消息转发给多个
数据持有方;步骤23,多个数据持有方中的第一持有方根据查询对象的信息,从其本地数据
中获取查询对象的隐私明细数据;步骤24,模型持有方至少利用本地的预测模型,与所述第
一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结果;步骤25,模
型持有方向查询方发送所述查询对象的预测结果;步骤26,查询方根据所述查询对象的预
测结果为所述查询对象提供目标业务。下面描述以上各个步骤的具体执行方式。
询条件,查询条件可以用于确定一个或多个查询对象的对象标识,对象标识具体可以为用
户标识。
有的明细数据均为隐私明细数据,或者,有些数据持有方具有的明细数据为隐私明细数据,
另一些数据持有方具有的明细数据为非隐私明细数据。
息,先确定查询对象的对象标识,再根据本地数据中对象标识与隐私明细数据的映射关系,
获取所述查询对象的隐私明细数据。
象的隐私明细数据,但并不将该隐私明细数据发送给模型持有方。
对象的信息,利用哈希算法生成第一摘要;利用第一公钥对签名解密,得到第二摘要;若第
一摘要和第二摘要相同,则验证通过,否则验证不通过。其中,第一公钥为查询方的公钥,预
先由查询方发送给了各数据持有方。
型持有方。可以理解的是,第二持有方可以根据所述查询对象的信息,先确定查询对象的对
象标识,再根据本地数据中对象标识与非隐私明细数据的映射关系,获取所述查询对象的
非隐私明细数据。
过程中,模型持有方不能获取隐私明细数据,第一持有方也不能获取预测模型,有利于保护
模型持有方和第一持有方各自的私有数据不外传。
行多方安全计算。
结果。可以采用密码学中混淆电路(garbled circuit)、不经意传输(oblivious
transfer)、秘密分享(secret sharing)、同态加密(homomorphic encryption)、同态承诺
(homomorphic commitment)、零知识证明(zero‑knowledge proof)等一种或多种方式来实
现。
象提供目标业务存在的风险的高低。
供目标业务。
有方发送查询请求消息,所述查询请求消息包括查询对象的信息,然后模型持有方将所述
查询请求消息转发给多个数据持有方,接着多个数据持有方中的第一持有方根据所述查询
对象的信息,从其本地数据中获取所述查询对象的隐私明细数据,接着模型持有方至少利
用本地的预测模型,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询
对象的预测结果,接着所述模型持有方向所述查询方发送所述查询对象的预测结果,最后
查询方根据所述查询对象的预测结果为所述查询对象提供目标业务。由上可见,本说明书
实施例中,数据持有方不是统一将明细数据发送给模型持有方,而是对明细数据进行了区
分,第一持有方为具有隐私明细数据的数据持有方,第一持有方获取查询对象的隐私明细
数据,但并不将隐私明细数据发送给模型持有方,后续模型持有方不是单方确定预测结果,
而是至少利用本地的预测模型,与所述第一持有方的隐私明细数据,进行多方安全计算,得
到所述查询对象的预测结果,从而使得模型持有方不留存数据持有方的隐私数据,仍能获
得预测结果。
数据的第一持有方和具有非隐私明细数据的第二持有方,该方法可以基于图1所示的实施
场景。如图3所示,该实施例中保护隐私的多方数据处理的方法包括以下步骤:步骤31,查询
方向模型持有方发送查询请求消息,所述查询请求消息包括用于确定查询对象的查询条
件;步骤32,模型持有方将所述查询请求消息转发给多个数据持有方;步骤33,多个数据持
有方中的第一持有方根据查询条件,从其本地数据中获取查询对象的隐私明细数据;步骤
34,多个数据持有方中的第一持有方存储查询对象的隐私明细数据;步骤35,多个数据持有
方中的第二持有方根据查询条件,从其本地数据中获取查询对象的非隐私明细数据;步骤
36,多个数据持有方中的第二持有方将非隐私明细数据发送给模型持有方;步骤37,模型持
有方利用本地的评分模型和所述非隐私明细数据,与所述第一持有方的隐私明细数据,进
行多方安全计算,得到所述查询对象的风控分数;步骤38,模型持有方向查询方发送所述查
询对象的风控分数;步骤39,查询方根据所述查询对象的风控分数为所述查询对象提供目
标业务。下面描述以上各个步骤的具体执行方式。
于确定一个或多个查询对象的对象标识,对象标识具体可以为用户标识。
所述第一公钥对所述签名执行验签操作。
具有的明细数据为隐私明细数据,另一些数据持有方具有的明细数据为非隐私明细数据。
件,先确定查询对象的对象标识,再根据本地数据中对象标识与隐私明细数据的映射关系,
获取所述查询对象的隐私明细数据。
明细数据发送给模型持有方。
34,否则不执行步骤33和步骤34。验签操作可以实现对查询方的身份认证,确认本次查询来
源于真实的拥有查询权限的查询方。
用哈希算法生成第一摘要;利用第一公钥对签名解密,得到第二摘要;若第一摘要和第二摘
要相同,则验证通过,否则验证不通过。其中,第一公钥为查询方的公钥,预先由查询方发送
给了各数据持有方。
条件,先确定查询对象的对象标识,再根据本地数据中对象标识与非隐私明细数据的映射
关系,获取所述查询对象的非隐私明细数据。
型持有方。
36,否则不执行步骤35和步骤36。
是,多方安全计算过程中,模型持有方不能获取隐私明细数据,第一持有方也不能获取评分
模型,有利于保护模型持有方和第一持有方各自的私有数据不外传。
供目标业务。
息转发给多个数据持有方,接着多个数据持有方中的第一持有方根据所述查询条件,从其
本地数据中获取并存储所述查询对象的隐私明细数据,多个数据持有方中的第二持有方根
据所述查询条件,从其本地数据中获取所述查询对象的非隐私明细数据,并将所述非隐私
明细数据发送给所述模型持有方,接着模型持有方利用本地的评分模型和所述非隐私明细
数据,与所述第一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的风控分
数,接着查询方从所述模型持有方接收所述查询对象的风控分数,最后查询方根据所述查
询对象的风控分数为所述查询对象提供目标业务。由上可见,本说明书实施例中,数据持有
方不是统一将明细数据发送给模型持有方,而是对明细数据进行了区分,第一持有方为具
有隐私明细数据的数据持有方,第二持有方为具有非隐私明细数据的数据持有方,第一持
有方获取并存储查询对象的隐私明细数据,但并不将隐私明细数据发送给模型持有方,第
二持有方获取查询对象的非隐私明细数据,并将其发送给所述模型持有方,后续模型持有
方不是单方确定模型结果,而是利用本地的评分模型和所述非隐私明细数据,与所述第一
持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的风控分数,从而使得模型
持有方不留存数据持有方的隐私数据,仍能获得模型结果。
细数据的第一持有方和具有非隐私明细数据的第二持有方,该实施例中,查询方对应于金
融客户,模型持有方对应于ISV,第一持有方对应于数据源,第二持有方对应于其他数据源。
如图3所示,该实施例中保护隐私的多方数据处理的方法包括以下处理过程:金融客户每次
发起查询前,把自己的签名字段写到区块链上,具体的签名字段可以包括查询条件、时间
戳、流水号等。金融客户调用ISV网关,ISV网关收到查询请求后,把查询请求转发给各数据
源。针对隐私明细数据无法返回的数据源,数据源查询到隐私明细数据后,会把隐私明细数
据、流水号给到本地的安全计算结点。本地的安全计算结点会根据流水号去区块链上获得
签名并做验签操作,只有验证通过才会返回正确,同时安全计算结点会把对应的隐私明细
数据在本地存储。数据源此时只会返回给ISV查询成功的查询结果,并不返回查询的隐私明
细数据。针对非隐私数据明细可以返回给ISV的其他数据源,ISV在获得这些非隐私明细数
据后,把非隐私明细数据推送给本地的安全计算结点,本地安全计算结点会存储下来。上述
链路全部成功后,可以由ISV发起安全计算过程,或者由ISV向金融客户发送查询成功的查
询结果,由金融客户发起安全计算过程。ISV侧的安全计算结点和数据源侧的安全计算结点
之间完成融合模型的多方安全计算(secure multi‑party computation,MPC)后,ISV获得
融合模型的模型结果,ISV再将该模型结果发送给金融客户。
私明细数据,又保护了ISV的模型,ISV不能获取数据源的隐私明细数据,只能拿到融合模型
的模型结果,并返回给金融客户。通过金融客户签名上链和链上签名验证的机制,解决了金
融客户真实身份验证的问题,同时利用区块链的不可篡改性,把所有的调用记录都做了存
证,也可以为后续的监管提供证据。
多方数据处理的系统的示意性框图。如图5所示,该系统500包括:
询对象的预测结果;
信息,从其本地数据中获取所述查询对象的非隐私明细数据,并将所述非隐私明细数据发
送给所述模型持有方53;
验签操作。
应的第一公钥,所述第一公钥预先发送给了各数据持有方。
应的类型的目标业务。根据另一方面的实施例,还提供一种保护隐私的多方数据处理的装
置,所述多方包括查询方、多个数据持有方和模型持有方,所述装置设置于所述查询方,用
于执行本说明书实施例提供的方法中查询方的动作。图6示出根据一个实施例的保护隐私
的多方数据处理的装置的示意性框图。如图6所示,该装置600包括:
进而使得所述多个数据持有方中的第一持有方根据所述查询对象的信息,从其本地数据中
获取所述查询对象的隐私明细数据;所述模型持有方至少利用本地的预测模型,与所述第
一持有方的隐私明细数据,进行多方安全计算,得到所述查询对象的预测结果;
述签名执行验签操作。
据持有方;以使所述数据持有方利用所述第一公钥对所述签名执行验签操作。
对应的类型的目标业务。
一持有方,用于执行本说明书实施例提供的方法中第一持有方的动作。图7示出根据另一个
实施例的保护隐私的多方数据处理的装置的示意性框图。如图7所示,该装置700包括:
对象的预测结果。
二持有方,用于执行本说明书实施例提供的方法中第二持有方的动作。图8示出根据另一个
实施例的保护隐私的多方数据处理的装置的示意性框图。如图8所示,该装置800包括:
说明书实施例提供的方法中模型持有方的动作。图9示出根据另一个实施例的保护隐私的
多方数据处理的装置的示意性框图。如图9所示,该装置900包括:
并存储所述查询对象的隐私明细数据;
据所述查询对象的信息从其本地数据中获取的;
法。
存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应
包括在本发明的保护范围之内。