一、背景
1.1 隐私泄露场景
随着用户自身隐私保护意识的提高和《数据安全法》、《个人信息保护法》等国家法律法规的实施,如何安全,满足用户数据收集和使用过程中的监管要求已成为一个具有挑战性的问题。在互联网制造商的日常业务中,常见的用户隐私泄露场景包括:
(1)数据统计查询: 用户数据统计查询结果直接返回客户(如客户群洞察等业务),有可能通过差异攻击从统计结果中获取个人信息。
例如,互联网公司为外部客户提供客户群肖像服务,客户分别查询群 A 和群体 B(群体 B 与群体 A 与只有一个用户A)的居住地分布相比,如果第二次查询结果中住在南京鼓楼的人数比第一次报告中多 1,可以推断A的居住地在南京鼓楼,泄露A的隐私信息。
(2)用户数据采集: 手机 APP、移动终端通常收集各种用户信息(如地理位置、健康状况等),以提高服务质量和用户体验。然而,直接收集可能会导致用户隐私泄露,并受到法律法规的严格限制。
例如,用户A在看医生时打开了位置定位。互联网制造商可能会推断用户A患有某种疾病,从而导致用户A隐私泄露。
因此,对于大多数互联网制造商来说,开发高质量的隐私保护服务,解决用户在统计发布、数据收集等场景中的隐私泄露问题,确保数据的可用性,满足监管要求,赋予业务权力,已成为一项重要的工作。
1.2 去标识化和区分隐私
传统的隐私保护手段往往通过解耦、泛化等方式去除用户记录的标识信息(如姓名、身份证号码、设备 ID 等),或通过匿名技术(如 K-匿名、L-多样性等。)泛化和压缩用户记录的标识符(如街道、邮政编辑等),使攻击者无法直接或间接地将处理过的数据与用户准确地重新连接。然而,传统方法的安全性与攻击者掌握的背景知识密切相关,难以定量分析隐私保护水平。例如,在上述查询场景中,由于攻击者有背景知识(知道员工A是否在查询范围内),传统的匿名方法不能发挥预期的作用。
为了解决这些问题,区分隐私(Differential Privacy,简称 DP) [1]技术出现在历史时刻。该技术提供了一种严格的、可证明的隐私保护手段,其保护强度不依赖于攻击者所掌握的背景知识。由于这些特点,差异隐私一经提出,就得到了学术界和工业界的广泛认可和应用。特别是,差异隐私的一般定义是:
则称算法 M 提供 ε-DP,其中 S 是算法 M 所有可能的输出组成的集合,参数 ε 被称为隐私预算。调整隐私预算 ε 的值可以控制隐私保护的差异。ε 越小,添加或删除记录对结果的影响越小,隐私保护强度越大,计算结果的可用性越低,反之亦然。因此,在实际应用中,根据不同的场景和需求设置合理的 ε 取值是区分隐私技术应用的关键问题之一,以平衡隐私保护和数据可用性。
1.3 基于差异隐私的保护服务
为了解决用户数据采集场景中查询统计和隐私泄露的问题,火山发动机安全研究团队依靠自主研发的 Jeddak 数据安全隐私计算平台分别开发了 DPSQL 服务(Differentially Private SQL Query Service)以及采集保护 LDPDC 服务(Locally Differentially Private Data Collection Service),在保证用户隐私查询和收集的基础上,实现了数据的高可用性目标。以下是两项服务的介绍。
二、DPSQL 查询保护服务
DPSQL 使用集中差异化隐私(Centralized Differential Privacy,简称 CDP,适用于数据管理者可信的场景)[1]模式,以中间件的形式接收 SQL 统计查询请求,返回满足差异隐私的查询结果。由于现实中查询请求的多样性,DPSQL 服务构建面临以下关键挑战:
- 为了降低使用成本,保证客户的查询体验,如何兼容不同类型数据库的查询方言?
- 如何复杂 SQL 在语句条件下计算适当的隐私噪声差异,兼顾隐私保护效果,保证数据效用
以下将从服务架构和关键设计两个方面进行阐述DPSQL 应对措施,并简要介绍落地应用。
2.1 服务架构
DPSQL 服务包括三个组件:
- DPSQL 核心服务:以原始 SQL 统计查询句作为输入,输出满足差异隐私的结果,包括 SQL 隐私加噪等模块的分析与重写;
- 元数据管理服务:维护数据库的元数据和数据表属性特征,以便分析数据表属性的敏感性;
- 隐私预算管理服务:维护各数据表的隐私预算分配和消耗记录,提供隐私预算余额查询、报表和审计功能,以控制查询请求。
典型的查询请求处理流程如下:
首先,接受客户提交的 核心服务SQL 查询句子,分析和重写句子,以计算隐私噪声(如 AVG 计算改为 SUM/COUNT);
然后,核心服务调用元数据管理服务,计算重写后的 SQL 查询相应数据表的敏感性,并在数据库上重写 SQL 查询,获得原始查询结果;
最后,核心服务调用隐私预算管理服务,获得查询分配的隐私预算,并在原始查询结果中添加噪声并结合敏感性返回。
2.2 关键设计
对上述 SQL 方言兼容,查询噪声计算挑战,团队在 DPSQL 实现了多源异构 SQL 分析重写机制,以及自适应 差分隐私加噪机制。
2.2.1 多源异构数据库 SQL 分析重写机制
- 灵活可扩展SQL 解析机制(parser),各种 都可以支持SQL 方言与传统数据库查询没有区别。
- 定制 SQL 重写机制(rewriter),可支持聚合函数、多层次查询等多种语法特征,join、group by 等。
2.2.2 自适应差异隐私加噪机制
- 根据 SQL 查询包含的聚合函数类型,自适应地分配隐私预算,减少隐私预算的消耗;
- 根据 SQL 查询聚合函数类型,在多表链接查询、多层次查询等场景下有效分析聚合函数的敏感性,分配适当的差分隐私加噪算法,提高服务性能和查询结果的可用性。
2.3 落地应用
目前,DPSQL 服务已接入火山发动机客户数据平台,为银行、汽车企业、零售等行业客户提供隐私保护用户群洞察服务。
三、 LDPDC 收集保护服务
LDPDC 本地化差异化隐私服务(Local Differential Privacy)[2]为核心技术,为用户提供端上的 LDP-SDK,实现端数据的扰动处理。同时,为 提供服务端计算服务LDP-SDK 收集的数据总结分析。LDPDC 面临以下挑战:
- 如何足用户个性化隐私保护需求的同时,如何降低通信成本?
- 如何降低采集数据的噪声,提高数据的可用性?
同样的,以下从服务架构和关键设计两个方面阐述 LDPDC 应对措施,并简要介绍落地应用。
3.1 服务架构
LDPDC 服务由两个模块组成:
客户端:内置 LDP-SDK,包括个性化的扰动机制,用于接受用户个性化的隐私保护需求设置,并相应地扰动用户数据,为用户提供差异化的隐私保护;
服务端:收集和总结客户端传输的数据,提供定制的降噪聚合机制,以提高数据的可用性。处理后的数据可应用于推荐系统、统计查询、机器学习等数据分析服务;
3.2 关键设计
针对端上扰动和聚集噪声降低的挑战,LDPDC 设计了个性化的扰动机制和定制的降噪聚合机制。
3.2.1 个性化扰动机制
- 为用户提供隐私保护强度配置选项(低、中、高三档),满足用户对自身数据的个性化隐私保护需求。
- (如 GRR 机制、OLH 机制等),减少客户端与服务端之间的信息传输和交互次数,减少通信费用。
3.2.2 定制降噪聚合机制
- 对于不同类型的个人数据,采用定制的降噪聚合机制,确保收集到的数据的有效性。
- 提供无偏差处理机制,使加噪聚合后的统计信息理论上等于真实数据的统计信息。
- 提供一致性处理机制,使聚合后的统计信息与公共背景知识保持一致,如将 0 以下的频率放置为 0 等。
3.3 落地应用
目前,LDPDC 服务将开始应用于地理位置采集等服务,协助业务部门合规管理用户信息采集,为广告推荐等服务提供战略支持。
四、结语
DPSQL 服务和 LDPDC 服务是差异化隐私技术在火山发动机实际应用场景中的成功实践。未来,差异化隐私相关服务将出现在火山发动机云安全系列产品矩阵中,为火山云客户服务。火山发动机安全研究团队将继续探索业务场景,深入挖掘用户数据隐私保护需求,研究前沿隐私保护技术的应用,为用户数据隐私安全提供强有力的保障。
引用文献
[1] Dwork C.,Mcsherry F.,Nissim K.,et al. Calibrating Noise to Sensitivity in Private Data Analysis [A]. Theory of Cryptography,Third Theory of Cryptography Conference,TCC 2006,New York,NY,USA,March 4-7,2006,Proceedings: 265–284.
[2] Kasiviswanathan S.P.,Lee H.K.,Nissim K.,et al. What Can We Learn Privately? [A]. 49th Annual IEEE Symposium on Foundations of Computer Science,FOCS 2008,October 25-28,2008,Philadelphia,PA,USA: 531–540.