动手点关注

干货不迷路
1. 背景
火山引擎对于用户敏感数据尤为重视,在火山引擎提供的数据分析产品中,广泛采用差分隐私技术对用户敏感信息进行保护。此类数据产品通常构建于 ClickHouse 等数据引擎之上,以 SQL 查询方式来执行计算逻辑,且查询逻辑往往较为复杂,因此对差分隐私的应用提出了以下要求:
零改造、零感知:最大程度避免影响业务现有查询方式,最好做到业务零感知、零改造;
良好、灵活的适配性:能够适配不同数据引擎的查询语法,以及能够处理包含多层嵌套、多重计算、多表连接等情形的复杂 SQL 语句;
安全性与可用性平衡:能够根据业务数据质量要求,计算合理的隐私预算,在安全性和数据可用性之间保持平衡;
针对以上需求,火山引擎安全研究团队开发了 Jeddak-DPSQL:一种基于差分隐私的 SQL 代理工具。Jeddak-DPSQL 能够兼容多种数据引擎和SQL方言,内嵌多种差分噪声扰动算法,具备隐私预算管理能力,并且能够与底层数据引擎结合,在数据分析师无感的情况下,对 SQL 语句进行自动化分析和结果加噪处理。作为数据安全和隐私合规治理的标准能力之一,Jeddak-DPSQL 已经在抖音集团相关业务中得到了普遍应用与验证。
在实际解决公司内部面临的问题风险后,我们决定对 Jeddak-DPSQL 进行开源,希望能够为同样面临该类问题的企业和个人提供一定参考和帮助,同时也希望能够有更多的外部开发者能够一起对该开源项目进行共建,完善 Jeddak-DPSQL 产品功能,共同构建更完备的应用生态。
2. 全面了解 Jeddak-DPSQL
2.1 Jeddak-DPSQL 介绍
Jeddak-DPSQL 采用中心化差分隐私 (Centralized Differential Privacy,简称 CDP,适用于数据管理者可信的场景) 模式,以中间件的形式接收 SQL 统计查询请求,返回满足差分隐私的查询结果。一个典型的查询请求处理流程如下:
首先,核心服务接受客户提交的 SQL 查询语句,对该语句进行解析和重写,以便于计算隐私噪声(如将 AVG 计算改为 SUM/COUNT);
然后,核心服务调用元数据管理服务,计算重写后的 SQL 查询所对应的数据表敏感度,同时在数据库上执行重写后的 SQL 查询,得到原始的查询结果;
最后,核心服务调用隐私预算管理服务得到为该查询分配的隐私预算,并结合敏感度在原始的查询结果中添加噪声并返回。


最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



