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  的主要构造思想
                    为了实现方案的鲁棒性, 我们在服务器端为每个关键词设立了两个布隆过滤器, 分别用于追踪文件的添加操
   437   438   439   440   441   442   443   444   445   446   447