Page 442 - 《软件学报》2025年第8期
P. 442
张文琪 等: 鲁棒的前后向隐私联合对称可搜索加密方案 3865
证更新操作的合理性和搜索结果的正确性; (4) 联合搜索: 方案不仅支持单关键词的搜索, 还支持多关键词的联合
搜索; (5) 高效搜索: 进行多关键词的联合查询时, 无需对所有关键词对应的文件进行搜索, 仅需对包含文件数最小
的关键词进行搜索. 下面给出具有鲁棒性的联合对称可搜索加密方案形式化的安全性定义.
② 上传包含关键
词的加密文件
① 加密
③ 发送联合查询请求q
⑥ 解密 客户端 服务器
④ 搜索满足联合查
⑤ 返回满足联合 询q的加密文件
查询的加密文件
q=w 1 ∩…∩w n
图 2 RFBC 的大致流程
假设 Q 是所有已发送的更新和搜索查询的列表, 更新查询用 (v, op, (w, ind)) 表示, 搜索查询用 (v, w) 表示, 其
中 v 表示时间戳, w 表示所查询的关键词. 对于任意一个关键词 w, 函数 TimeDB(w) 表示所有已添加但未从 EDB
中删除的关键字 w 的时间戳/文件标识符, DelHist(w) 表示所有关键字 w 的插入/删除时间戳对, 下面对两个函数进
行形式化定义:
′
′
TimeDB(w) = {(v,ind) | (v,add,(w,ind)) ∈ Q∧∀v ,(v ,del,(w,ind)) < Q},
DelHist(w) = {(v ,v ) | ∃ind : (v ,add,(w,ind)) ∈ Q∧(v ,del,(w,ind)) ∈ Q}.
del
add
del
add
q = w 1 ∧w 2 ∧...∧w n , 我们将上述函数 TimeDB(w) 与 DelHist(w) 拓展为函数
对于不合理的更新以及联合查询
cxTimeDB(w) 与 cxDelHist(w), 定义分别如下:
cxTimeDB(q) = {({v i } i∈[n] ,ind) | (v i ,add,(w i ,ind)) ∈ Q∧∀v > v i ,(v ,del,(w i ,ind)) < Q},
′
′
del
add
del
add
cxDelHist(q) = {({v ,v } i∈[n] ) | ∃ind : (v ,add,(w i ,ind)) ∈ Q∧(v ,del,(w i ,ind)) ∈ Q}.
i i i i
对于任意关键词 w, 我们使用函数 Upd(w) 表示所有更新操作的时间戳, 对其定义如下:
Upd(w) = {v | ∃(op,ind) : (v,op,(w,ind)) ∈ Q}.
对于任意一对关键词 (w 1 , w 2 ), 函数 Upd(w) 的定义如下:
Upd(w 1 ,w 2 ) = {(v 1 ,v 2 ) | ∃(op,ind) : (v 1 ,op,(w 1 ,ind)) ∈ Q∧(v 2 ,op,(w 2 ,ind)) ∈ Q}.
即函数 Upd(w 1 , w 2 ) 表示包含相同文件标识符的该对关键词 (w 1 , w 2 ) 上的所有更新操作的时间戳. 当该查询
为 q = w 1 ˄ w 2 ˄…˄ w n 时, 假设关键词 w 1 对应的文件数量最少, 我们将更新函数进一步拓展并做如下定义:
Upd(q) = Upd(w 1 )∨{Upd(w 1 ,w i )} i∈[2,n] .
即函数 Upd(q) 表示包含相同文件标识符的联合查询关键词 (w 1 , w 2 , …, w n ) 上的所有更新时间戳和关键词 w 1
的所有的更新时间戳.
定义 4. 一个自适应安全的联合 DSSE 方案满足前向隐私、Type-III 后向隐私以及鲁棒性, 当且仅当初始化函
数 L Setup 、更新泄露函数 L Upd 与搜索泄露函数 L Src 满足下列等式:
t
h
L Setup = ⊥,
L Updt (w,op,ind) = L (op),
′
L Srch (q) = L (cxTimeDB(q),cxDelHist(q),Upd(q)),
′′
其中, L′与 L′′都为无状态函数.
3.2 RFBC 的主要构造思想
为了实现方案的鲁棒性, 我们在服务器端为每个关键词设立了两个布隆过滤器, 分别用于追踪文件的添加操

