学术研究报告:SAGMA——基于多重属性的安全聚合加密方案
本研究由Timon Hackenjos(FZI信息技术研究中心)、Florian Hahn(特文特大学)和Florian Kershbaum(滑铁卢大学)合作完成,发表于2020年6月的ACM SIGMOD国际数据管理会议(SIGMOD ‘20),论文标题为《SAGMA: Secure Aggregation Grouped by Multiple Attributes》。
研究领域:
本研究属于加密数据库与隐私保护协议领域,聚焦于云计算环境下外包数据库的安全聚合查询问题。
研究动机:
现有加密数据库方案(如CryptDB)支持聚合查询(如SQL的GROUP BY),但依赖确定性加密(deterministic encryption),会泄露分组值的访问模式(access pattern),导致频率分析攻击(frequency analysis attacks)。例如,攻击者可通过观察分组频率推断原始数据分布。尽管Seabed等方案通过预计算索引(pre-computed index)缓解此问题,但需预先知道所有可能的查询组合,存储开销呈指数级增长,且无法灵活支持动态过滤条件(filtering clauses)。
研究目标:
提出SAGMA(Secure Aggregation Grouped by Multiple Attributes)方案,实现:
1. 支持任意1至t个分组属性的组合查询(t为预设阈值);
2. 隐藏分组值的访问模式,仅泄露语义安全的密文;
3. 兼容动态过滤条件,降低存储开销。
SAGMA基于部分同态加密(Somewhat Homomorphic Encryption, SWHE)和密文打包(ciphertext packing)技术,通过动态分桶(bucketization)和多项式映射隐藏分组属性值。
(1)静态分桶与移位编码(Static Shifting)
- 分桶策略:将分组属性值域D划分为大小为b的桶,通过模运算(modulo operation)将值映射到桶中。
- 移位编码:对每个值v,根据其分组属性值g的桶位置,计算移位值s(g) = |D_v|^f(g) mod b(f为伪随机函数),将v加密为v’ = v·s(g)。
- 安全性:同桶内的值无法区分,但需存储多个密文(存储开销高)。
(2)动态分桶与多项式评估(Dynamic Shifting)
- 改进存储效率:将值属性v和移位值s(g)分离加密,使用SWHE支持密文乘法。
- 多项式映射:通过多项式p(x) = Σa_i·x^i计算移位值,系数a_i由客户端预计算并上传至服务器。
- 查询时计算:服务器通过多项式评估动态生成移位值,与加密值相乘后聚合。
(3)多属性分组支持
- 挑战:直接扩展单属性方案会导致组合分桶泄漏(如两属性组合需桶大小b²)。
- 解决方案:采用多变量多项式,复用单属性分桶的单项式(monomials),减少存储需求。例如,三属性组合仅需新增1个单项式(而非7个)。
lineitem表,评估不同行数、桶大小(b)、分组属性数(t)下的性能。性能线性增长:
存储效率优势:
实际适用性:
科学价值:
1. 理论创新:首次提出支持多属性安全聚合的加密方案,通过动态分桶和多项式映射平衡安全性与效率。
2. 安全性证明:基于模拟器(simulator)证明方案在诚实但好奇(honest-but-curious)敌手下仅泄露桶成员关系(bucket membership)。
应用价值:
1. 云数据库:为外包数据分析提供隐私保护,避免频率分析攻击。
2. 兼容性:可与可搜索加密(SSE)结合,支持动态过滤条件。
(注:专业术语如“deterministic encryption”首次出现时标注英文,后续使用中文“确定性加密”。)