Page 440 - 《软件学报》2025年第8期
P. 440
张文琪 等: 鲁棒的前后向隐私联合对称可搜索加密方案 3863
4) R ← Search(I, tkn): 算法由服务器执行, 接收一个文件集合 F、陷门 tkn 以及安全索引 I, 该算法输出文件标
识符的集合 R.
5) F i ← Dec(K, c i ): 算法由客户端执行, 接收一个密钥 K 和密文 c i , 该算法输出对应的文件明文 F i .
③ 发送陷门
① 生成密钥
客户端 ② 加密并上传包含 服务器
关键词的加密文件
⑤ 解密文件
④ 返回搜索结果
图 1 SSE 流程
(2) 安全性定义
在对称可搜索加密方案中, 通常利用理想世界与现实世界之间对抗的形式来描述方案的自适应安全 [10] . 给一
个对称可搜索加密方案 SSE = (Gen, Enc, Trap, Search, Dec), A 和 S 分别表示敌手和模拟器, 泄露函数定义为 L =
{L Enc , L Search , L Update }. 根据现实世界 Real SSE (λ) 和理想世界 Ideal SSE (λ), 定义如下两个概率游戏.
A A,S
Real SSE (λ): 敌手 A 随机选择一个文件集合 DB, 游戏执行加密算法 Enc(K, DB, W), 生成关键词索引 I
现实世界 A
和文件密文集合 C, 再将其发送给敌手 A. 然后敌手 A 发出自适应查询 q, 若 q 是对关键词进行搜索操作, 那么该游
戏执行搜索算法 Search(tkn, st, I, C), 并将搜索结果返回给敌手 A. 若 q 是对关键词进行更新操作, 那么该游戏执行
更新算法 Update(K, w, ind, op, st, I, C), 并返回更新结果. 最后, 敌手 A 输出一个比特 b∈{0, 1}.
理想世界 Ideal SSE (λ): 敌手 A 随机选择一个文件集合 DB 并将其发送给模拟器 S. S 通过已知的泄露函数 L Enc
A,S
生成对应关键词索引 I 和文件密文集合 C, 再将其发送给敌手 A. 然后敌手 A 根据收到的信息发出自适应查询 q,
如果 q 是对关键词进行搜索操作, 那么该游戏执行搜索算法 S(L Search ) 并将搜索结果返回给敌手 A. 如果 q 是对关
键词进行更新操作, 那么该游戏执行更新算法 S(L Update ) 并返回更新结果. 最后, 敌手输出一个比特 b∈{0, 1}.
如果对任意概率多项式 (probabilistic polynomial-time, PPT) 敌手 A, 存在 PPT 模拟器 S 使得不等式
|Pr[Real SSE (λ)]−Pr[Ideal SSE (λ)]| ⩽ negl(λ)
A
A,S
成立, 那么我们说 SSE 方案具有自适应安全性.
(3) 前向隐私和后向隐私的形式化定义
在 DSSE 方案中, 前向隐私和后向隐私的主要目的是限制更新和搜索过程中的信息泄露. 其中, 前向隐私意味
如下情况: 当客户端对某个关键词进行查询后, 又添加了一个包含该关键词的文档, 那么此时服务器不能根据已知
信息推断出客户端对该关键词进行过查询, 即服务器无法将当前对某个关键词的更新与过去对该关键词的查询链
接起来, 除非客户端发送最新的搜索令牌. 前向隐私的安全性定义 [4] 如下.
定义 2. 一个 DSSE 方案支持前向隐私, 当且仅当其更新泄露函数 L Upd 能够满足:
t
L Updt = (op,w,ind) = L (op,ind),
′
其中, L′表示无状态函数.
类似的, 后向隐私是指后续的查询不能链接到过去更新的文件. 下面对后向隐私的一些概念进行定义.
泄露函数 L 记录了过去所发送的一系列查询 Q, 对于一个搜索查询, Q 用 (tsp, w) 来表示, 其中 tsp 表示时间戳,
其初始化值为 0 并随着后续的查询不断增加; 对于一个更新查询, Q 用 (tsp, op, (w, ind)) 来表示. 我们首先考虑搜索
情况的泄露函数 sp(w), 其由每个搜索查询的时间戳组成, 且能表示同一个关键词 w 所对应的查询, 可将其定义为:
sp(w) = {tsp|(tsp,w) ∈ Q}.

