Page 437 - 《软件学报》2025年第8期
P. 437
3860 软件学报 2025 年第 36 卷第 8 期
搜索加密方案鲁棒性 (robustness)、前后向隐私 (forward and backward privacy) 和联合查询 (conjunctive) 问题, 基
于布隆过滤器与轻量级对称密码原语, 本文提出了一个称为 RFBC 的具有鲁棒性的前后向隐私 DSSE 方案.
RFBC 能够在客户端发送不合理更新请求时进行有效处理, 保证鲁棒性, 并能够同时兼顾前向安全与后向安全, 本
文的主要贡献如下.
(1) 提出了一个具有鲁棒性的前后向隐私安全的动态联合对称可搜索加密方案 RFBC. 该方案能够满足前向
隐私, 并在兼顾效率与安全的情况下, 满足 Type-III 后向隐私.
(2) 本文所提出的方案支持多关键词联合查询, 同时, 本文所提出的方案具有鲁棒性, 即方案在保证前后向隐
私的情况下, 能够处理客户端的一些不合理的操作请求, 如对已添加过的文件进行重复添加或删除不存在的文
件等.
(3) 与其他满足鲁棒性的前后向安全的 DSSE 方案相比, 本文所提出的方案计算开销显著降低, 并且通信开销
较其他方案也具有一定优势.
1.2 相关工作
可搜索加密有许多不同的分支, 主要包括静态对称可搜索加密、动态对称可搜索加密、前向隐私的对称可搜
索加密、后向隐私的对称可搜索加密以及多功能的前后向隐私对称可搜索加密等 [5−8] .
Song 等人 [1] 最早提出了 SSE 方案, 但该方案在执行搜索时因需逐个遍历文件而导致高昂的计算与通信开销.
为解决这一问题, Goh 等人 [9] 首次提出了基于正排索引的 SSE 方案, 该方案虽使每个文件与多个关键词相匹配, 却
仍需遍历所有文件以完成搜索, 效率提升有限. 随后, Curtmola 等人 [10] 基于倒排索引构建了具有亚线性计算复杂
度的 SSE 方案, 并明确界定了 SSE 的安全性标准. 自此, 倒排索引结构成为众多 SSE 方案的设计核心. Cash 等人 [11]
进一步拓展了 SSE 的功能边界, 提出了支持布尔查询的 SSE 方案. Lai 等人 [12] 利用 OXT 结构 [11] , 提出了一个可隐
藏搜索结果的 SSE 方案.
静态的 SSE 方案既不支持加密数据集的更新, 也无法避免更新过程所造成的隐私泄露. 因此, 这些方案并不
实用. 为了支持加密数据集的更新, 学者们提出了动态对称可搜索加密 DSSE, 它允许客户端在服务器上任意地添
加或删除关键词对应的文件. Kamara 等人 [2] 提出了首个具有亚线性搜索效率的 DSSE 方案, 但该方案牺牲了安全
性, 在更新阶段会泄露关键词信息. 后来 Kamara 等人 [13] 借助红黑树结构增强了方案的隐私保护能力. 2016 年,
Zhang 等人 [3] 提出了文件注入攻击, 上述两个方案均不能抵抗该攻击. 该攻击方案通过利用过往的搜索记录伪造
含有相同查询令牌的文件, 一旦客户端下载了这些伪造文件, 攻击者即可逆推出查询关键词, 乃至部分原始明文内
容, 且仅需少量伪造文件即可高效实施该攻击. 针对上述威胁, 学者们提出了“前向隐私”概念, 旨在抵御上述侵犯
隐私的攻击行为, 成为衡量 DSSE 方案安全性的重要维度.
Stefanov 等人 [4] 对前向隐私进行了形式化定义, 并提出了第 1 个前向隐私 DSSE 方案, 但该方案由于需要在更
新阶段重新组织数据结构而导致较大的计算开销. Bost 等人 [14] 随后引入了陷门排列函数, 显著提高了前向隐私
DSSE 方案的搜索效率, 但该方案中基于公钥密码原语的陷门仍限制了其搜索效率. 此后的研究中涌现了许多高
效的前向隐私 DSSE 方案. Kim 等人 [15] 设计了基于双重字典的前向隐私 DSSE 方案并实现了真正的文件删除.
Etemad 等人 [16] 则通过在每次搜索之后更新已暴露给服务器的密钥来保证前向隐私. 这些方案大多使用了公钥密
码原语, 导致性能较低. 因此, Song 等人 [17] 在 Bost 等人 [14] 的方案基础上, 巧妙利用对称密码替换了原有的公钥密
码陷门, 提出了 FAST 与 FASTIO 方案, 进一步优化了 DSSE 方案的更新与搜索流程. 值得注意的是, 多数前向隐
私 DSSE 方案均假设服务器为诚实且好奇的参与者, Zhang 等人 [18] 则在考虑服务器恶意行为的情况下, 利用多集
合哈希函数构造了一个可验证的前向隐私 DSSE 方案. Yang 等人 [19] 提出的多客户端访问控制 DSSE 方案, 融合了
对称隐向量加密 (symmetric hidden vector encryption, SHVE) 与布隆过滤器技术, 同时利用 ODXT [20] 来保证前向隐
私. Yuan 等人 [21] 的方案则增加了对不合理更新请求的验证, 维护了搜索结果的准确性. Mei 等人 [22] 提出了一个针
对多客户端的 DSSE 方案, 同时保证了客户端和服务器的前向隐私. Kamara 等人 [23] 基于 OXT 结构 [11] 提出了多关
键词布尔查询方案, 虽然该方案能够保证前向隐私, 但由于其依赖模幂运算因而产生较大的计算开销. Wang 等人 [24]

