摘要:随着MPC、隐私计算等概念的流行,诸多政府机构、金融企业开始考虑参与到多方计算的场景中,扩展数据的应用价值。

本文分享自华为云社区《使用PSI解决联邦计算的数据碰撞问题》,作者:breakDraw。

联邦计算场景

随着MPC、隐私计算等概念的流行,诸多政府机构、金融企业开始考虑参与到多方计算的场景中,扩展数据的应用价值。

以下面这个场景为例,银行可能希望获取水电局和自己银行内储户的数据,来综合计算得到各公司的信贷评分等级。

那么银行可能希望执行如下sql,来得到信贷评分。

select0.5*c.资助金额*0.3+0.4*a.贴息金额*0.3+0.2*a.标的金额*0.3+(0.05*b.水费缴纳金额+0.05*b.汽费缴纳金额+0.05*b.电费缴纳金额)*0.1
frompartyA.taxa.partyB.amountb
ona.id=b.id

问题

上述联邦计算场景中,需要做join操作,来进行水电局和银行数据的关联。传统方案中,会在TEE中进行碰撞操作,得到关联数据,再进行计算。

但水电局的用户数量是非常多的,而银行的储户数量相对来说是有限的。因此实际关联数量是以银行储户数量为准。

如果将水电局的数据如果全部上传到TEE中,则软硬件之间的传输代价会非常大,且这个过程将非关联记录的敏感数据也会一并带上来。

另外银行的储户身份也可能是高敏感隐私。

解决

使用PSI方案(隐私保护集合交集)可以有效地解决上述两个问题。

PSI通常具有以下三个特点:

  • 半可信场景:数据双方不愿意暴露所有数据,仅希望求得数据集合交集
  • 数据最小化:除了数据集合交集以外的数据不能泄露给任意一方
  • 安全双方计算:参与计算的双方需要共同实现一套安全的计算协议,以保证数据的安全性。
    具体流图如下:

该过程可保证A方和B方的id在纯密文的场景下进行碰撞,得到关联id集合,并以此为依据输出。

应用

当前tics的联邦计算业务已支持psi的应用。

联盟管理页面,管理员开启“高级别隐私保护”。当开启之后,如果满足PSI-JOIN的sql语句,tics便会选用psi的方式构建执行计划,进行join碰撞,再继续后续的计算。

创建作业,执行对应包含sql-join作业

执行作业,可以看到tics系统的DAG图中,展示了psi的全部过程。输出结果与直接做join的结果是一致的。

点击关注,第一时间了解华为云新鲜技术~

遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI的更多相关文章

  1. 仿造w3school的试一试功能,实现左侧编辑框,右侧效果页面

    转自http://fhqllt.iteye.com/blog/836186 每次想快速测试页面效果的时候,特别是在学习前端代码的时候,就想到W3school的那个试一试功能,一直都是用他们那个在线的版 ...

  2. Python 从入门到实践 试一试 参考代码

    这两天学习Python 看了python从入门到实践的书籍,里面有课后题“试一试” 然后就跟着写了,代码在以下地址,如果需要自取 https://files.cnblogs.com/files/fud ...

  3. Python编程-从入门到实践 Eric Matthes 著 袁国忠 译 - - 第二章 动手试一试

    因为第一章的动手试一试基本都是探索性的,所以直接进入第二章. # 2.2 动手试一试 # 2_1 简单消息: 将一条消息存储到变量中,再将其打印出来. message = 'python 编程从入门到 ...

  4. 简单的试了试async和await处理异步的方式

    今天无意中就来试了试,感觉这个新的方法还是非常行的通的,接下来我们上代码 这段代码想都不用想输出顺序肯定是//null null 233,当然出现这个问题还是因为它是同步,接下来我们就进行异步方式来处 ...

  5. 试一试 GraphQL

    GraphQL 简介 一种用于 API 的查询语言. GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整 ...

  6. 试来试去,WIN下最简单的WIN API开发工具,Pelles C就好啦

    昨晚试过N个,不是太大,就是不容易和WIN API集成. 今早一试就灵了个.... Pelles C. Pelles C是一款windows下的C IDE,支持调试,且为免费.它有一个高效率的链接器, ...

  7. myeclipse激活法,可以试一试

    我的myeclipse2014也是这样激活: 第一步:输入任意用户名 第二步:点击Systemid... 按钮,自动生成本机器的systemid. 第三步: 点菜单Tools->RebuildK ...

  8. 关于w3school的html5部分output 元素实例代码(点亲自试一试进去)的问题纠正

    修复: 将原来的 =  号修改成 <input type="button" onclick="resCalc()" value ="=" ...

  9. C#实现Dll(OCX)控件自动注册的两种方法 网上找的 然后 自己试了试 还是可以用的

    尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...

  10. Python自学:第三章 动手试一试 3-4、3-5

    # -*- coding: GBK -*- liebiao = ["zhang", "li", "wang", "zhou&quo ...

随机推荐

  1. JUC并发编程学习笔记(六)Callable(简单)

    Callable(简单) callable接口和runnable接口类似,都是为了执行另外一条线程而设计的,区别是Runnable不会返回结果也不会抛出异常. 1.可以有返回值 2.可以抛出异常 3. ...

  2. DP:按摩师(3.24leetcode每日打卡)

    一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她不能接受相邻的预约.给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回 ...

  3. DP:三角形的最小路径和

    给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [     [2],    [3,4],   [6,5,7],  [4,1,8,3]] 自顶向下的 ...

  4. 手把手教Electron+vue,打包vue项目,打包成桌面程序。

    1.现如今前端框架数不胜数,尤其是angular.vue吸引一大批前端开发者,在这个高新技术快速崛起的时代,自然少不了各种框架的结合使用.接下来是介绍electron+vue的结合使用. 2.Elec ...

  5. Jayway JsonPath-提取JSON文档内容的Java DSL

    介绍 JsonPath是一种能够提取部分JSON文档属性.对象.数组的语法,支持条件过滤.数学运算.字符串处理等功能.JsonPath与JSON文档就像 XPath 表达式与 XML 文档结合使用一样 ...

  6. 【GIT】学习day03 | 如何生成并配置SSH公钥【外包杯】

    快速笔记: 1.注册并激活码云账号 2.生成并配置SSH公钥(运行ssh -t git@gitee.com 检测SSH公钥是否配置成功) 3.创建空白的码云仓库 4.把本地项目上传到码云对应的空白仓库 ...

  7. STM32外设:通用输入输出 GPIO、EXIT

    主要外设: GPIO:General Purpose I/O 一般用途IO EXIT:External Interrupt/Event Controller 外部中断/事件控制器(STM32) 辅助外 ...

  8. 本地数据备份与FTP远程数据迁移

    数据是电脑中最重要的东西.为了保证数据安全,我们经常会对数据进行备份.之前一直采用将重要数据拷贝至移动硬盘的方式实现备份,实现简单但每次都需要把所有文件拷贝一次,当文件很大时效率较低. 因此,考虑使用 ...

  9. [UOJ#748] [UNR#6 1B] 机器人表演

    在这个科技发达的年代,真人表演已经落伍了.参加完 UOI 后,hehe 蚤去到了下山市大剧院,观看下山市最火爆的机器人表演. 机器人有时比人类更能抓住事情的本质.所谓表演,其实也就是开场有若干个机器人 ...

  10. Odoo接口说明

    通过使用PostMan调用Odoo - POST { "jsonrpc":"2.0", "params":{ "db": ...