在公有云或者私有云中防止内部用户(如,充满好奇心的管理员)偷窃数据是一个非常重要安全担心。为了阻止内部用户威胁,通常的做法是对云上存储的数据进行加密。但是,即使数据被加密,仍然存在访问模式泄露问题。例如,攻击者将观测到的加密数据流动情况与公开数据集关联,能够推断出加密数据所对应的明文信息。
1.两方面攻击:
Passive Attack:观察数据流动推断原始信息
Active Attack:篡改数据破坏计算
2.Baseline Systems泄露两个方面的信息:
a)IO-Profile :计算单元的输入规模、输出规模和处理时间
本文暂不考虑该种泄露。
b)Shuffle-Profile:计算单元之间的数据流
3.研究动机
a)阻止(shuffle)计算过程中加密数据的访问模式泄露,即map算子的输出元组经过group操作,发送给reduce算子作为输入,中间group操作泄露了元组之间的关系。这种泄露可以是WordCount计算中不同文档中共有的单词或者特有的单词,也可以是PageRank计算中整个图的结构;
4. 解决方案
a) 针对shuffle计算的泄露问题,主要设计目标是隐藏map输出与reduce输入的映射关系;
b) shuffle过程本质上是一个通信过程,通信领域已经有匿名化通信的研究成果——mixing network。M2R将secure shuffle问题转换为secure mixing network问题。
c) map算子的输出元组进入mixing network中的mixT算子,decryption(解密),permute(重排列),使用概率加密方式re-encryption(再加密),输出。然后再经过多轮mixT算子进行,解密,重排列,再加密,增强安全性。最终使得MixT算子两端的数据失去对应关系。鉴于概率加密主要特点——相同信息经过几次加密,产生不同的密文,group计算需要在trusted环境下计算,M2R在mixing network最后一轮mix时,将加密方式修改为确定性加密(一个明文只对应一个密文),就可以在untrusted环境下进行group计算。
d) M2R提供计算完整性验证,收集每个算子的统计信息,在下一个算子计算时进行验证。
5. 评价与贡献
M2R通过mixing network实现了secure shuffle,阻止shuffle过程映射关系的泄露。
6.缺点和争议
a) 未考虑其它基于内存的访问模式泄露;
b) 数据类型只支持数值型,离散型不支持。
7. 遗留问题
a)对不同计算单元mapT、reduceT、mixT和groupT各自所使用的秘钥没有介绍清楚。