更新时间:2024-05-10 GMT+08:00
分享

阶段六:统计型作业的差分隐私保护

本示例作业,以统计各行业的“企业税收总和”“用电量总和”,进行统计分析:

Select
  industry,
  sum(tax_bal),
  sum(electric_bal)
from
  LEAGUE_CREATOR.tax a join
  dayu002.power_data b
  on a.id = b.id 
group by
  industry

统计分析型的作业,可能被作业执行方通过增删某个碰撞的id,得到两次作业之间的差值,从而推算出实际taxpay和water_fee。

  1. 开启空间中的差分隐私开关保护敏感数据,符合差分隐私条件的统计作业,会自动应用差分隐私算法对计算结果进行加噪保护, 在一定误差范围内保证数据无法被恶意偷取。

    图1 差分隐私开关

  2. 第一次执行作业的结果如下:

    图2 作业结果

  3. 在返回最终统计结果前,增加了一个差分隐私计算的任务节点,如图3所示。

    图3 差分隐私计算任务节点

  4. 再执行如下sql,sql中过滤掉了某个企业,试图用差值去计算这个企业的税收值。

    Select
      industry,
      sum(tax_bal),
      sum(electric_bal)
    from
      LEAGUE_CREATOR.tax a join
      dayu002.power_data b   
      on a.id = b.id   
      where a.id <> '123400558'  
    group by
      industry

    这个企业的实际tax为274:

    图4 tax

    得到新的结果如下:

    图5 新结果

    经过计算,66539.583321490225131-66078.857559963717677=461,

    通过差分隐私算法保护聚合操作的安全性,使开启算法保护的计算差值与预期得到的实际差值274不同,避免真实数据被窃取。

相关文档