多方计算时,每次结果竟然都存在着巨大隐患,此文告诉你可以这样解决!

网友投稿 625 2022-05-30

多次计算时的防泄露难题

联邦多方计算场景,一方对于另一方的运行中数据是无法感知的, 通过MPC算法或者TEE安全硬件, 可以保证数据计算过程中的安全性。

但是当计算完成后,得到的结果中却包含了潜在的安全风险。

假设某机构希望从政务数据库中,获取某省市所有市民的税收总和,进行各省市的实力分析和统计。这类计算请求正常来说是合理的,因为做过聚合之后, 各市民的实际税收金额就被合并掩盖了。

select sum(xxx) from ...

但是当执行第二次统计作业时, 如果机构将交集中的某个人员进行剔除后, 发现税收的总和下降了x元,那么即可马上推断出该人员的税收, 而这个过程对于计算方、数据提供方是无法很好感知的。

华为差分隐私解决方案

针对这种问题, 华为云tics服务联合德国慕尼黑可信技术实验室, 推出了基于多方sql作业的差分隐私算法应用, 对于大规模的聚合类计算,可以实现对内部个体的数据保护。

以下是官方在产品文档里已公布的差分隐私算法应用方式:

TICS数据联盟管理者在联盟管理中,选择打开“结果差分隐私”。

联盟中的数据提供方进行数据集发布时,将敏感数值数据勾选为“敏感”的字段分类, 并进行发布。

以下是TICS产品文档中对字段分类的解释

唯一标识:指用于标识某个事物实体身份的字段。例如身份证、工号、公司代码等。勾选后,会通过一定的语法限制和运行期校验,保护数据集内的id总集,确保无法被恶意逆推。

敏感:指会参与统计、计算的敏感数据。例如薪水、纳税、用电量。勾选后,其他参与方只能使用敏感进行不可逆推的四则运算、聚合计算(sum/avg)、条件过滤(where)。TICS会保护唯一标识和敏感数据不被成对地明文泄露,同时会对敏感数据的求和计算添加差分噪声,以保护敏感数据不被泄露。

非敏感:指不参与数值分析,也和唯一身份无关的数据。例如等级、公司类型。

发起方执行聚合类型的作业。

以统计各行业税收总和为例,sql可以如下

Select industry, sum(tax_bal), sum(electric_bal) from 数据提供方.tax a join 作业发起方.power_data b on a.id = b.id group by industry

经过规则校验和审批后, 作业发起方通过平台安全计算,得到了如下的结果:

接着作业发起方再执行一个sql,这个sql中过滤掉了某个id,试图用差值去计算这个个体的税收值。

Select industry, sum(tax_bal), sum(electric_bal) from 数据提供方.tax a join 作业发起方.power_data b on a.id = b.id where a.id <> '123400558' group by industry

123400558这个id对应个体属于互联网,实际税收值为274

多方计算时,每次结果竟然都存在着巨大隐患,此文告诉你可以这样解决!

那让我们看一下发起方第二次执行该作业时,会得到什么结果

66539.583321490225131 - 66078.857559963717677 = -461

可以看到并不会像使用者预期的那样得到实际的274差值,而是一个负数,总聚合结果有误差,但在可以接受的范围内。

从上面可以看到,tics成功通过差分隐私算法,保护了大数量统计情况下的个体数据安全。

华为可信智能计算服务 TICS 官网链接:

https://www.huaweicloud.com/product/tics.html

欢迎参与最新版的体验。

tics服务交流社区:

https://bbs.huaweicloud.com/forum/forum-1348-1.html

EI企业智能 云安全 可信智能计算服务 TICS 智能数据

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【云小课】【第32课】创建DDS只读节点,轻松应对业务高峰
下一篇:国务院联防联控机制新闻发布会,多次肯定“云办公”、“远程办公”
相关文章