云计算是通常是针对多个数据源的大规模数据的分布式计算,这与其普适性的应用是不无关系的。互联网用户将自己的数据上传到云端,云端借助这些数据为用户提供各式各样的服务。例如,通过用户点击流数据进行分析,挖掘用户偏好,为用户提供有针对性的广告。在医学领域,未来将会把医疗应用所采集的DNA序列数据上传到云端进行复杂地大规模计算和分析,为病人提供专门的医疗方案。云计算要达成上述愿景,不仅仅只是提供灵活的计算,而且必须防止用户数据可能的泄露。为了防止用户数据的泄露,必须对不受信任的用户代码进行必要的限制。
云计算面临着多种隐私威胁。例如,病人参与医学研究常常会担心一下两个问题:1)无意的或者恶意的数据操作带来的隐私泄露风险;2)计算过程中的数据隐私虽然得到了保证,但是结果呈现的时候存在隐私泄露的风险。
1) 研究动机
a)阻止无意的或者恶意的数据操作带来的隐私泄露风险;
b)阻止计算结果呈现时存在的隐私泄露风险。
2) 解决方案
a) 针对无意的或者恶意的数据操作,Airavat在底层的Selinux中增加了强制访问控制的策略,阻止进程对数据文件的非授权访问
b) 针对计算结果呈现的隐私泄露风险,Airavat在DFS中增加了安全标签,在mapreduce计算输出时过滤掉含有安全标签的数据,但是这种控制过强,降低了数据的效用。因此,Airavat使用差分隐私技术,在确保实现了差分隐私时去掉敏感数据上的安全标签,提高了数据的效用。另外,在隐私预算耗尽时,不能保证差分隐私时,安全标签仍然能够保证数据的机密性。
c) 对于差分隐私的实现,目标就是保证任意单条数据对输出结果的影响是不可区分的。通常的做法是评估计算链作用在数据分布上的敏感性,然后根据敏感性生成噪声添加到输出结果中。Airavat设计实现了sum、count、avg等算子。对于sum算子,Airavat让应用提供者提供数据分布的范围[a,b],然后Airavat根据这个范围去计算sum算子的敏感性,sum算子下最大值b就是最大影响元素(敏感度),只要保证最大影响元素差分隐私(添加噪声),其他元素的差分隐私性也就保证了。
3) 评价与贡献
Airavat在mapreduce实现了强制访问控制和差分隐私保护。该实现结合Selinux、DFS、JVM、MapReduce保证了计算过程和结果呈现的隐私安全性。
4) 缺点和争议
a) 实现让应用提供者提供数据分布的范围是不可行的;
b) 不能解决复杂计算链,只实现了map map reduce这种单个reudce结尾的计算;
c) 数据类型只支持数值型,离散型不支持。
5) 遗留问题
trusted mapper和untrusted mapper是如何区分的没有搞清楚。