【论文阅读-PRIVGUARD】Day3:1-2节

PRIVGUARD: Privacy Regulation Compliance Made Easier(PRIVGUARD:更轻松地遵守隐私规定)

摘要

持续遵守如GDPR和CCPA等隐私法规已经成为从小型创业公司到商业巨头的公司的一项昂贵负担。罪魁祸首是当今合规过程中对人工审核的严重依赖,这既昂贵、缓慢又容易出错。为了解决这个问题,我们提出了PRIVGUARD,一个旨在减少所需人工参与并提高合规过程生产率的新型系统设计。**PRIVGUARD主要由两部分组成:(1)PRIVANALYZER,一个基于抽象解释的静态分析器,用于部分强制执行隐私法规,以及(2)一组在数据整个生命周期中提供强大安全保护的组件。**为了验证这种方法的有效性,我们原型化了PRIVGUARD并将其集成到一个工业级数据治理平台中。我们的案例研究和评估显示,PRIVGUARD能够在实际程序上正确执行编码的隐私政策,并且性能开销合理。

1 引言

随着欧盟的一般数据保护条例(GDPR)和加利福尼亚消费者隐私法案(CCPA)等隐私法规的出现,对用户数据保护的重视达到了前所未有的高度。这对数据主体来说是一个积极的发展,但也给合规带来了重大挑战。当今的合规范式严重依赖于人工审核,在两个方面存在问题。首先,雇佣和培训数据保护人员以及依赖手工努力监控合规是一个昂贵的过程。根据《福布斯》杂志的一份报告,截至2018年5月25日,GDPR已经让美国财富500强公司花费了78亿美元。DataGrail的另一份报告显示,74%的中小型组织为了持续遵守GDPR和CCPA的要求,花费了超过10万美元。其次,人工审核既慢又容易出错。合规的低效率阻碍了数据的有效使用并影响了生产力。合规官员的错误可能会伤害数据主体并导致法律责任。

理想的解决方案将使数据管理员能够轻松地确保细粒度的合规,最小化人工参与,并快速适应隐私法规的新变化。大量学术工作试图解决这一挑战。欧洲ICT PrimeLife项目提议使用Primelife政策语言(PPL)来编码法规,并通过将政策与用户指定的隐私偏好相匹配并在检测到特定行为时触发强制性动作来强制执行它们。A-PPL通过添加问责规则扩展了PPL语言。这两项开创性的工作在高效政策合规探索中发挥了重要作用。然而,由于它们专注于Web 2.0应用程序,它们对于复杂数据分析任务中的细粒度隐私要求合规提供了有限的支持。SPECIAL项目部分继承了PPL项目的设计,因此遭受了类似的限制。与我们的工作最接近的是Sen等人的研究,他们提出了一个隐私政策的正式语言(LEGALEASE)和一个执行这些政策的系统(GROK)。然而,GROK使用启发式方法帮助决定分析过程是否符合政策,需要人工审核来捕捉假阴性。因此,大规模有效地遵守隐私法规仍然是一个重要挑战。

PRIVGUARD-促进合规。本文描述了一个名为PRIVGUARD的原则性数据分析框架,旨在减少合规过程中的人工参与。PRIVGUARD在密码工具和**可信执行环境(TEEs)**的保护下,通过一个五步流程工作。

首先,数据保护官员(DPOs)、法律专家和领域专家协作将隐私法规翻译成机器可读的策略语言。翻译过程是特定于应用的,并且需要应用和隐私法规两方面的领域特定知识(例如,将法律概念映射到具体字段)。编码后的政策被称为基础政策。编码基础政策是PRIVGUARD工作流中人力投入最多的步骤

其次,在数据被收集之前,数据主体通过客户端API的帮助来指定他们的隐私偏好。他们可以直接接受基础政策或添加自己的隐私要求。隐私偏好与数据一起被收集。

第三,数据分析师提交程序来分析收集的数据。分析师需要提交一个不弱于基础政策的相应守护政策以及他们的程序。只有政策不强于守护政策的数据才能被使用

第四,我们提出的静态分析器PRIVANALYZER检查分析程序,以确认其是否符合守护政策。同时,将加载隐私偏好不强于守护政策的数据子集来进行真正的分析。

最后,根据PRIVANALYZER的输出,结果要么被解密给分析师,要么由剩余未满足的隐私要求(称为残余政策)保护。

LEGALEASE扩展:编码政策。PRIVGUARD旨在与多种机器可读的政策语言兼容。在这项工作中,我们使用LEGALEASE实例化我们的实现,因为它具有可读性和可扩展性。我们通过提供新的属性类型扩展了LEGALEASE,包括需要使用隐私增强技术(如差分隐私)的属性。

PRIVANALYZER:执行政策。PRIVGUARD的核心组件是PRIVANALYZER,一个静态分析器,检查分析程序与隐私政策的合规性。PRIVANALYZER通过静态分析分析师提交的程序,以检查它们与相应守护策略的合规性。与依赖访问控制或手动验证[的先前方法不同,PRIVANALYZER是一种基于抽象解释[49]的新颖政策执行机制。PRIVANALYZER不依赖于启发式方法来推断政策或程序语义,并且为某些属性提供可证明的健全性。PRIVANALYZER仅检查程序和政策(而不是数据),因此使用PRIVANALYZER不会泄露其保护的数据内容。我们的方法适用于通用编程语言,包括那些具有复杂控制流、循环和命令式特征的语言。因此,PRIVANALYZER能够分析分析师所编写的程序——这样分析师就不需要学习新的编程语言或改变他们的工作流程。我们使用Python实例化我们的实现,Python是用于数据分析的最广泛使用的编程语言之一。

我们用大约1400行Python代码实现了PRIVANALYZER,并将其集成到一个工业级数据治理平台中,以原型化PRIVGUARD。我们在23个开源Python程序上实验性地评估了原型,这些程序执行数据分析和机器学习任务。所选程序利用了像Pandas、PySpark、TensorFlow、PyTorch、Scikit-learn等流行库。我们的结果表明,PRIVGUARD是可扩展的,并且能够分析未修改的Python程序,包括广泛使用外部库的程序。

贡献。简而言之,本文做出了以下贡献。
• 我们提出了PRIVGUARD,一个新颖的框架,用于最小化人力努力以遵守隐私法规。
• 我们提出了PRIVANALYZER,一个基于抽象解释的静态分析器,用于在未修改的分析程序上执行隐私政策。
• 我们为LEGALEASE和Python实现了PRIVANALYZER,大约1400行Python代码。我们的实现支持常用的分析库,如Pandas、Scikit-learn等。
• 我们通过将PRIVANALYZER集成到PARCEL中,一个工业级数据治理平台,原型化了PRIVGUARD。我们模拟了PRIVGUARD执行,处理高达一百万客户端,结果显示PRIVGUARD在处理一百万客户端时大约产生两分钟的开销。

2 PRIVGUARD概览

在本节中,我们将概述PRIVGUARD的设计和实现。首先,我们通过一个简单的示例来介绍PRIVGUARD,然后介绍系统设计和实现。最后,讨论PRIVGUARD的威胁模型和安全性。

2.1 一个简单的示例

我们使用一个简单的示例来展示PRIVGUARD的工作流程,这也让我们能够介绍所使用的主要组件。一家公司推出了一款手机应用,并收集用户数据以帮助做出明智的商业决策。为了促进遵守隐私法规,公司部署了PRIVGUARD来保护收集到的数据。

首先,数据保护官(DPOs)、法律专家和领域专家在基础政策中编码了两个要求:(1)未成年人的数据不得用于任何分析;(2)对数据进行的任何统计都应该使用差分隐私来保护。

其次,隐私偏好从数据主体那里收集,同时收集数据。一些数据主体(第1组)信任公司并直接接受基础政策。一些(第2组)更加谨慎,希望在分析前对他们的邮政编码进行编辑。其他人(第3组)不信任公司,并且不希望他们的数据被用于除合法利益之外的目的。

第三,一位数据分析师想要调查用户年龄分布。它指定了一个守护政策,除了基础政策外,邮政编码也不应该在分析中使用。分析师提交了一个计算用户年龄直方图的程序给PRIVGUARD。她记得过滤掉所有未成年人的信息并编辑邮政编码字段,但忘记了用差分隐私保护程序。

第四,PRIVGUARD使用PRIVANALYZER来检查隐私偏好,并将第1组和第2组的数据加载到受信执行环境(TEE)中,因为他们的隐私偏好不比守护政策更严格。PRIVGUARD运行程序并保存结果直方图。然而,在检查程序和守护政策后,PRIVGUARD发现程序未能使用差分隐私保护直方图。因此,直方图被加密,转储到存储层,并由一个残留政策保护,该政策指出在结果可以解密之前必须应用差分隐私。

最后,PRIVGUARD将残留政策输出给分析师。分析师在检查残留政策后,提交了一个程序,该程序向直方图添加噪声以满足差分隐私。然后PRIVGUARD解密直方图,将其加载到TEE中,并执行程序对其添加噪声。这次,PRIVGUARD发现守护政策中的所有要求都得到了满足,因此它将直方图解密并提供给分析师。

2.2 系统设计

基础政策编码。编码基础政策是PRIVGUARD工作流中最需要人类参与的步骤。基础政策应由数据保护官(DPOs)、法律专家和领域专家协作设计,以准确反映隐私法规的最低要求。注意,每次数据收集只需要一个基础政策,并且可以在所有数据分析中重复使用。基础政策的目的有二。首先,基础政策的文本版本应在数据主体选择加入数据收集之前呈现给他们,作为最低隐私标准。其次,在进行分析之前,数据分析师需要理解基础政策。如果他们的分析满足更严格的隐私标准,他们可以指定自己的守护政策以利用更多用户数据。

ALLOW ROLEPhysician
ALLOW SCHEMAHealthInformation
AND FILTER age < 90
AND REDACT zip
(a) General encoding.ALLOW ROLEPhysician
ALLOW SCHEMASerumCholestoral
AND FILTER age < 90
(b) Concrete encoding.

我们使用HIPAA安全港方法的一个子集来演示编码过程。DPOs和法律专家首先以一种不考虑具体数据格式的通用方式编码法规。如图所示,第一条款(第1-2行)允许患者的医生查看其数据。第二条款(第3-7行)代表了一些安全港要求:如果主体年龄在90岁以下且移除了邮政编码,则可以释放健康信息。然后,DPOs和领域专家通过引入实际架构并移除不必要的要求,将编码映射到具体的数据收集上。例如,在图1b中,HealthInformation被替换为数据集中的一个具体列名SerumCholestoral,并且由于数据集不包含邮政编码,最后一个要求被移除。

数据与隐私偏好收集。除了基础政策外,数据主体还可以指定额外的隐私偏好来行使其限制处理的权利。这些隐私偏好与数据一起发送到数据管理者,它们将一起保存在存储层中。为了防止在传输和存储过程中的攻击,数据在发送到数据管理者之前被加密。解密密钥被委托给密钥管理器以供将来解密(参见第2.3节)。

一个自然的问题是:“在LEGALEASE中指定隐私偏好需要多少专业知识?”Sen等人针对DPOs进行了一项调查,并发现大多数经过培训后能够正确编码政策。为了补充他们的调查并更好地了解需要多少专业知识,我们进行了一项针对没有接受过培训的普通用户的在线调查。调查揭示了两个有趣的事实:(1)理解和编码LEGALEASE政策的难度与用户熟悉其他编程语言之间存在显著的正相关性;(2)大多数用户在没有接受培训的情况下无法正确理解诸如差分隐私等隐私技术。根据这些观察结果,我们强烈建议没有编程经验的用户直接接受基础政策,而不是编码自己的政策。虽然超出了范围,但我们认为未来简化隐私偏好规定的方向是非常重要的,可以通过开发更加用户友好的用户界面和翻译工具来实现。调查的详细信息推迟到附录B中。

分析初始化。要初始化分析任务,分析师需要提交(1)分析程序和(2)一个守护策略给PRIVANALYZER。守护策略不应弱于基础政策以满足最低隐私要求。守护策略越严格,可以用于分析的数据就越多。

PRIVANALYZER分析。在收到提交后,PRIVANALYZER将从存储层加载隐私偏好并将其与守护策略进行比较。只有符合守护策略要求不严格的数据才会被加载到TEE中,使用来自密钥管理器的密钥进行解密,并合并以准备进行实际分析。与此同时,PRIVANALYZER将(1)检查守护策略是否不弱于基础政策(2)检查守护策略和程序以生成剩余策略。为了确保静态分析正确运行,PRIVANALYZER被保护在一个受信任的执行环境(TEE)中。

合规性执行实际上依赖于三个检查:(1)守护策略>=基础策略;(2)隐私偏好<=守护策略;(3)在去标分类之前必须满足守护策略。对于(3),守护策略可以通过单个程序或通过顺序应用于数据的多个程序来满足。这种设计赋予了PRIVGUARD在多步骤分析中执行隐私政策的能力。

执行与去标分类。在PRIVANALYZER完成其分析后,提交的程序将在TEE内部使用解密后的数据执行。如果前一步生成的剩余政策为空,则结果可以向分析师去标分类。否则,输出将再次被加密并存储在受剩余政策保护的存储层中。

细心的读者可能会问:“为什么PRIVGUARD不直接拒绝不符合守护政策的程序?”这种设计选择是由两个考虑因素驱动的。首先,当守护策略包含ROLE或PURPOSE属性时,不总是可能得到一个空的剩余政策。这些属性将在真实数据分析后通过人工审计来满足。第二,PRIVGUARD旨在与多步骤分析兼容,这在现实世界的产品流水线中是一个常见的情况。在多步骤分析中,隐私要求可能在不同的步骤中得到满足。

2.3 系统安全

在本节中,我们将介绍威胁模型,并展示如何在该威胁模型下保护PRIVGUARD的安全。

威胁模型。我们的设置涉及四方 - (1)数据主体(例如,用户),(2)数据管理者(例如,网络服务提供商、银行或医院),(3)数据分析师(例如,数据管理者的雇员),和(4)不受信任的第三方(例如,外部攻击者)。

数据从数据主体那里收集,由数据管理者管理,并由数据分析师分析。数据主体和数据管理者都希望遵守隐私法规,以保护他们自己的数据或避免法律或声誉风险。然而,数据分析师虽然诚实但鲁莽,可能会无意中编写违反隐私法规的程序。数据分析师与数据互动的唯一方式是提交分析程序并检查输出。不受信任的第三方可能会积极发起攻击,以窃取数据或干扰合规过程。一个具体例子是托管小公司服务或数据的云提供商。我们在以下两个假设下保护数据的保密性和执行的完整性。首先,我们假设不受信任的第三方无法向PRIVANALYZER提交分析程序或让内部人士这样做。其次,我们假设不受信任的第三方符合所选择的TEE的威胁模型,因此他们不能破坏TEE的安全保证。

安全措施。PRIVGUARD采取以下措施,以防御不受信任的第三方并在上述威胁模型下建立安全的工作流程。

首先,数据在传输给数据管理者之前由数据主体本地加密。解密密钥委托给密钥管理器,因此没有人可以在不请求密钥管理器或数据主体的解密密钥的情况下有意或无意地接触数据。为了以不可变的方式绑定数据和策略,加密数据包含相应策略的哈希值。

其次,所有传输通道满足传输层安全标准(TLS 1.3)。

第三,PRIVANALYZER在TEE内运行,以保证静态分析的完整性。密钥管理器可以远程认证,以确认PRIVANALYZER在发放解密密钥之前正确检查了程序和策略。

第四,数据解密和分析程序执行也在TEE内受到保护。

PRIVGUARD针对不受信任第三方的安全性基于以下信任来源。首先,数据的保密性和完整性在TEE和TLS通道内得到保留。其次,代码执行的完整性在TEE内得到保留。远程认证可以正确且安全地报告执行输出。第三,密钥管理器完全可信,从而保留了解密密钥的保密性。信任的密钥管理器的设计与本文的重点正交。潜在的解决方案包括TEE内的密钥管理器或去中心化的密钥管理器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2812358.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

酷开科技,让酷开系统成为现代生活的变革者

电视&#xff0c;从问世就一直受到人们的追捧。还记得小时候一家人围坐在电视机前的场景&#xff0c;小小的黑白屏幕&#xff0c;牢牢的吸引着大家的目光。随着科技的不断进步&#xff0c;我们的生活也发生了翻天覆地的变化。而电视&#xff0c;也从笨重的黑白电视变成了轻薄的…

省内顺丰寄一台电脑多少钱,顺丰不会乱丢包裹

省内用顺丰快递寄电脑要多少钱&#xff1f; 使用顺丰速运。 顺丰快递不会乱扔包裹。 根据地区不同&#xff0c;邮费预计在120至150元左右。 有些地方顺丰不允许寄电脑&#xff0c;因为电脑特别容易损坏。 一般来说&#xff0c;您需要自己做。 有的顺丰还帮忙在电脑主机的外箱上…

Mycat核心教程--基于HA 机制的Mycat 高可用【二】

Mycat核心教程--基于HA 机制的Mycat 高可用 六、基于HA 机制的Mycat 高可用6.1.高可用方案6.2.安装配置HAProxy6.2.1.准备好HAProxy安装包&#xff0c;传到/opt目录下6.2.2.解压到/usr/local/src6.2.3.进入解压后的目录&#xff0c;查看内核版本&#xff0c;进行编译6.2.4.编译…

宠物空气净化器—养猫人士对猫毛过敏必备好物

当很多铲屎官养猫一段时间后&#xff0c;突然就对猫毛过敏&#xff0c;这真的很难受。有些人认为对猫咪过敏是因为它们在空气中飘浮的毛发导致的&#xff01;其实大部分人过敏是因为猫身上的一种微小的蛋白质。这种会引起过敏的蛋白质附着在猫咪的一些皮屑上。猫咪很爱干净&…

苍穹外卖 -- day11 - Apache ECharts- 营业额统计- 用户统计- 订单统计- 销量排名Top10

苍穹外卖-day11 课程内容 Apache ECharts 营业额统计 用户统计 订单统计 销量排名Top10 功能实现&#xff1a;数据统计 数据统计效果图&#xff1a; 1. Apache ECharts 1.1 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库&#xff0c;提供直观&#x…

浅谈 TCP 三次握手

文章目录 三次握手 三次握手 首先我们需要明确&#xff0c;三次握手的目的是什么&#xff1f; 是为了通信双方之间建立连接&#xff0c;然后传输数据。 那么建立连接的条件是什么呢&#xff1f; 需要确保通信的双方都确认彼此的接收和发送能力正常&#xff0c;满足这个条件&a…

win系统环境变量设置后不马上启用解决方法

目录 1. 刷新系统变量缓存2. 查看环境变量,检查是否真的保存成功了3. 重启系统(最后的玄学)总结 欢迎关注 『发现你走远了』 博客&#xff0c;持续更新中 欢迎关注 『发现你走远了』 博客&#xff0c;持续更新中 1. 刷新系统变量缓存 有时候系统会缓存环境变量&#xff0c;导致…

将文件从windows传入到ubuntu

实现效果图 2.方法&#xff1a; 2.1打开 Ubuntu 的终端窗口&#xff0c;然后执行如下命令来安装 FTP 服务 输入&#xff1a;sudo apt-get install vsftpd 等待软件自动安装&#xff0c;安装完成以后使用如下 VI 命令打开/etc/vsftpd.conf&#xff0c;命令如下&#xff1a;su…

Spring6学习技术|事务

学习材料 尚硅谷Spring零基础入门到进阶&#xff0c;一套搞定spring6全套视频教程&#xff08;源码级讲解&#xff09; 事务 什么是事务&#xff1f;好像是数据库部分的词&#xff0c;我自己的理解是对数据库进行的操作序列&#xff0c;要么一起完成&#xff0c;要么都不完成…

关于纯前端想要变成全栈编写接口的学习推荐

推荐学习uniappuniclouduniadmin 学习成本低,不到一个月就能开发出自己的接口,上传到服务空间,并且能够实现后端的功能,能够调用接口 当然这里使用的不是mysql数据库,而是unicloud推荐的存储方式 操作起来也很方便

用 SIL 和 PIL 仿真测试生成的代码

目录 PIL 的目标连接配置 对顶层模型运行 SIL 或 PIL 仿真 对 Model 模块运行 SIL 或 PIL 仿真 SIL 或 PIL 模块仿真 硬件实现设置 使用软件在环 (SIL) 和处理器在环 (PIL) 仿真,测试模型组件与从组件生成的生产代码之间的数字等效性。 使用 SIL 仿真,在您的开发…

vue - - - - Vue3+i18n多语言动态国际化设置

Vue3i18n多语言动态国际化设置 前言一、 i18n 介绍二、插件安装三、i18n配置3.1 创建i18n对应文件夹/文件3.2 en-US.js3.3 zh-CN.js3.4 index.js 四、 mian.js 引入 i18n配置文件五、 组件内使用六、使用效果 前言 继续【如何给自己的网站添加中英文切换】一文之后&#xff0c…

pytorch -- CIFAR10 完整的模型训练套路

网络结构 代码 # CIFAR 10完整的模型训练套路&#xff1a; import torch.optim import torchvision from torch import nn from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriterfrom model import *# 1. 准备数据集 train_data torch…

产品经理学习-产品运营《社群活跃度打造》

目录&#xff1a; 社群运营普遍问题 社群是否需要活跃 提升活跃的方法 衡量社群的3个标准 社群运营普遍问题 在做社群运营的时候通常会进入一个相似的循环&#xff0c;拉群后会活跃一段时间变成广告群&#xff0c;不断的发商品链接、广告&#xff0c;一段时候后社群变成了一…

数据安全-动态加密(不同敏感字段使用不同的加密算法-MySQL、Oracle版本)

动态数据加密 动态加密&#xff08;也称实时加密&#xff0c;透明加密等&#xff0c;其英文名为encrypt on-the-fly&#xff09;&#xff0c;是指数据在使用过程中自动对数据进行加密或解密操作&#xff0c;无需用户的干预&#xff0c;合法用户在使用加密的文件前&#xff0c;…

LVGL 环境搭建-基于WSL

背景说明 小白刚开始接触LVGL&#xff0c;前些日子狠心花198元入手了一块堪称LVGL 入门利器~HMI-Board 开发板&#xff0c;虽然有RT-Thread 集成好的LVGL 环境&#xff0c;只需要几个步骤就能成功把lvgl 的示例运行起来&#xff0c;对于爱折腾的我来说&#xff0c;过于简单也并…

变大再变大,matplotlib坐标轴刻度设置

文章目录 对数坐标系自定义映射对数图表重置刻度 matplotlib教程&#xff1a;初步&#x1f4c8;子图绘制&#x1f4c8;坐标投影 matplotlib支持重设坐标轴刻度&#xff0c;包括刻度值的重新映射和刻度标签的重新映射。前者可以调整坐标刻度的缩放比例&#xff0c;后者可以更改…

Jmeter系列(2)目录介绍

目录 Jmeter目录介绍bin目录docsextrasliblicensesprintable_docs Jmeter目录介绍 在学习Jmeter之前&#xff0c;需要先对工具的目录有些了解&#xff0c;也会方便后续的学习 bin目录 examplesCSV目录中有CSV样例jmeter.batwindow 启动文件jmeter.shMac/linux的启动文件jmete…

pycharm如何安装pygame库

pycharm如何安装pygame库 PyCharm是Python中广受欢迎的一种IDE&#xff0c;它可以为用户提供许多工具和便利的服务&#xff0c;从而大大提高开发效率。pygame库可以用python进行游戏开发提供很好的支持&#xff0c;那么在ptcharm中如何安装pygame库呢&#xff1f; 一、安装步…