首页 资讯 正文

谷歌隐私交集和技术解析1—应用场景分析

格密链 2019年08月12日 04:05

在多方协作的过程中,涉及到隐私的问题已被关注已久。

如何解决呢?密码学界提出了不少解决方案,例如全同态加密,多方计算。

这些技术都是通用的,放在任何一个需要的地方都可以。但是由于技术本身的特性,放在任何一个地方都会有或多或少的缺点。

谷歌发布的隐私交集开源库(Private Join and Compute),展示了一个如何从学术界摘果子的范例。它是解决一个具体场景下的问题。

学术界、工业界以及商业界,是一个生物链。看似是做的不同的事情,但是互相之间是供给的关系。这就是我们常说的“产、学、研”。但是我们经常搞乱了角色,没把自己的角色做好,反而要担当多角色。

谷歌是一家愿意尝鲜的公司。我记得几年前,格加密算法在理论界因为其抗量子特性火了的时候,谷歌率先在自己的服务器上部署了基于环LWE的密钥交换协议,以测试其性能,为抗量子时代准备。不知为什么,几个月后就恢复成原来的协议。

隐私交集和技术

随着大数据的兴起,机器学习无处不见,数据的隐私安全备受关注。例如,谷歌今年早期就开发出“密码检查器”,用户可以提交自己的用户名和口令进行查询,系统通过与已经泄露的口令数据集对比,从而判定用户口令的安全性。然而这一切都不会泄露用户的隐私(包括用户的口令)。该系统使用的是一种基于隐私交集(Private Set-Intersection)的安全多方计算技术,这项密码学技术保障了多方协作却不泄露用户隐私。

谷歌这次发布的隐私交集开源库,基于的是一种称为“隐私交集和(Private Intersection-Sum)”的技术。该技术能够隐藏两个数据集的交集,但是却能显示对其交集的汇总计算结果,例如统计交集中元素的数量等。

在某些场景下,这项技术非常有用。例如两家公司,一家是广告商,一家是销售商。如果想知道有多少用户是通过广告商的广告点击,进入到销售商家进行购买的,而且销售额一共是多少。那么只要两家公司分别提供两个数据集,然后求交集,再求交集中用户的数量以及交易额即可。但是,这两家公司都不会愿意分享给对方自己的数据集。

怎么办呢?

先看传统解决方法。

传统解决方法依赖于法律。这两家公司先签一个法律协议,协议中规定双发分享各自的数据集,得到汇总数据后将数据集销毁。如果不销毁,导致数据泄露,将受到法律制裁。

然而,通过密码学手段,可以无需依赖于法律。

通过隐私交集和技术可以对交集进行汇总,从而在不泄露双方数据集的前提下,提供对交集的汇总信息。两全其美。

隐私交集和技术提供了一个类似于法律合约的功能,无需法律合同就能够让你知道想知道的,却不会知道的更多。这一切都是通过密码学协议保证。

这和区块链技术有异曲同工之处。(区块链在不信任的环境下提供了一种信用)

例如在上述应用场景下,最终可能得到的汇总信息是:1万个客户在看到广告后购买了商品,总共购买金额100万。其余什么都不知道。知其然而不知所以然。

上述场景是一个计算广告转化率的应用场景。谷歌提供的隐私交集和技术能够在保护隐私的前提下,计算广告转化率。当然,还可以应用到其他领域的研究中,例如:医疗保健、车辆安全、公共政策、多样性和包容性等研究中。

安全模型和不足之处

在谷歌开源库中,其安全模型假设的是“诚实且好奇的敌手”。如果参与者违背了协议,他们可能会知道更多,不仅仅是规定的信息。因此,该协议不能确保使用协议的各方使用合法的输入,或者防止任意输入。有可能导致泄露的弱点。

例如有一个用户消费金额很大,通过交集和汇总出的数据就很容易判断出,该用户是否在交集里。