Page 443 - 《软件学报》2025年第8期
P. 443

3866                                                       软件学报  2025  年第  36  卷第  8  期


                 作和文件的删除操作. RFBC       的更新操作流程如图        3  所示. 客户端进行更新操作时, 服务器端使用上述两个布隆过
                 滤器实现方案的鲁棒性, 令计算值           h  包含关键词以及对应的文件标识信息, BF 1 、BF 2 分别表示两个布隆过滤器.
                 更新主要包括两种操作: (1) 添加操作: 当客户端想要添加关键词                 w  对应的文件    ind  时, 服务器端先判断   h  是否已
                 插入到布隆过滤器       BF 1 中, 若  h  值已在  BF 1 中, 则表示该关键词对应的文件已被添加, 操作重复. 否则, 将           h  值插
                 入到  BF 1 中, 服务器将信息存储在本地, 完成文件添加; (2) 删除操作: 当客户端想要删除关键词                      w  对应的文件
                 ind  时, 服务器端先判断   h  是否已插入到布隆过滤器        BF 2 中, 若值  h  已在  BF 2 中, 则表示该关键词对应的文件已被
                 删除, 操作重复. 若值     h  不在  BF 2 中, 服务器端还需要判断值     h  是否在  BF 1 中 (旨在防止删除实际上并不存在的文
                 件), 若值  h  已在  BF 1 中, 则表示该关键词对应的文件存在, 客户端可以执行删除操作; 否则意味着该关键词对应的
                 文件并不存在, 删除失败.

                                                                        将文件信息插入布隆过滤器






                                                       添加文件
                                                                   布隆过滤器BF 1

                                     生成操作信息
                          文件操作       及文件索引                                            存储相关信息
                                                       删除文件
                                                             布隆过滤器BF 1 布隆过滤器BF 2
                                                                       将文件信息插入布隆过滤器
                                                  图 3 RFBC  更新操作流程

                    为了实现多关键词的联合查询, 我们为每个关键词都设置一个文件更新计数器, 当客户端对某个关键词成功
                 执行添加操作后, 计数器的值加          1; 反之, 若成功删除与某关键词关联的文件, 计数器的值减                1. 当进行联合查询时,
                 客户端首先筛选出更新计数器值最小的关键词. 接下来, 搜索该关键词对应的文件. 在搜索过程中, 服务器根据从
                 客户端接收到联合查询中所有关键词的令牌信息以及更新计数器值最小的关键词对应的最新状态, 检索该关键词
                 所有添加过的文件, 并且利用布隆过滤器筛选掉已被联合查询中的关键词删除的加密文件标识符, 最后将筛选结
                 果返回给客户端. 客户端收到这些加密文件标识符后执行解密操作, 得到搜索结果. 最后客户端还需进行一次 “清
                 除” 操作, 即对更新计数器值最小的关键词, 清除掉已被删除的文件标识符, 对其进行一次整体更新, 这样就保证
                 了前向隐私.

                 3.3   RFBC  的详细描述
                    本节详细介绍      RFBC  的具体算法, 其由初始化算法        Setup、搜索算法    Search  和更新算法  Update 组成, 用  Π =
                 (Setup, Search, Update) 表示. 下面分别介绍  RFBC  的  3  个子算法.
                    (1) 初始化算法   Setup
                    算法  1  详细描述了   RFBC  的初始化算法. 给定安全参数        λ, 客户端随机生成两个密钥        k t 与  sk, 分别用来加密关
                 键词生成关键词令牌        t w  和加密文件索引. 然后, 初始化映射      XSet 和  UpdCnt, 其中, XSet 映射用于存储关键词    w  对
                 应的最新文件索引密文和状态信息, UpdCnt 存储关键词               w  当前对应的文件数量. 服务器初始化算法初始化映射
                 TSet 和字典  Dic, 它们分别用来存储加密数据库和关键词            w  对应的两个布隆过滤器.

                 算法  1. RFBC.Setup.
                 输入: 安全参数    λ;
                 输出:  ⊥.
   438   439   440   441   442   443   444   445   446   447   448