一种分布式安全检索系统的制作方法

文档序号:6586784阅读:158来源:国知局
专利名称:一种分布式安全检索系统的制作方法
技术领域
本发明属于计算机信息检索技术和信息安全技术领域,具体涉及一种分布式安全
检索系统。
背景技术
计算机技术的发展大大提高了文档管理的效率,信息检索技术更是将电子文档的 管理效率提高到了极致。通过对文档建立倒排索引,可以实现基于索引项(Term)的快速检 索。目前绝大部分信息检索系统都是应用于非涉密普通文档的管理,而在军事、政府以及大 企业等应用领域,需要管理大量的涉密文档,为此,需要一种安全的检索系统来提高涉密文 档的管理效率。针对涉密文档的安全检索系统不仅要能实现高效的信息检索,而且要能保 证数据的安全。 分布式倒排索引可以用来处理超大数量的文档检索,也就是将倒排索引分布到多 个索引服务器上。实现倒排索引分布的常用方法有基于文档的分布和基于索引词的分布。 基于文档的分布方法将文档划分为不同的子集,然后将这些子集分布到不同的索引服务器 分别建立倒排索引。这种方式的可扩展性高,但搜索效率比较差。基于索引词的分布方法 先将文档分词,然后把不同的索引词分布到多个索引服务器,在索引服务器上对索引词及 相关信息建立倒排索引。这种方法构建的倒排索引精简,搜索效率高,但可扩展性比较差。
倒排索引的结构为倒排表,其中关键的部分是索引词,因为通过索引词可以重构 文档。要保证文档数据的安全,就必须保证倒排索引的安全,尤其是其中索引词的安全。加 密是信息安全领域保证数据安全最常用的手段,通过加密索引词,形成密文倒排索引,不仅 可以实现文档的高效检索,而且可以保证文档数据的安全。为了处理大规模涉密文档,分布 式安全检索系统是一种解决方案。基于文档的密文倒排索引分布由于倒排索引冗长,检索 效率比较低。目前基于索引词的密文倒排索引分布方法中,由于相同的明文索引词对应相 同的密文索引词,存在较高的统计攻击风险。无论是基于文档还是基于索引词的密文倒排 索引分布方法中,管理服务器都要把检索请求分布到多个索引服务器进行检索,接收返回 结果并合并这些检索结果。因为每个索引服务器包含大量的检索结果,如果一个检索请求 被分布到许多索引服务器,会大大增加管理服务器的通信开销,可能导致管理服务器成为 通信瓶颈节点。本发明提出了一种分布式安全检索系统,可以实现大规模涉密文档的高效 检索和安全性要求,同时降低了密文倒排索引遭受统计攻击的风险,而且也考虑了管理服 务器的通信负载均衡问题。

发明内容
本发明的主要目的在于提供一种分布式安全检索系统,具有对大规模涉密文档建 立分布式密文倒排索引和进行分布式检索两大功能,从而实现对涉密文档的安全管理;本 发明的进一步的目的是提供一种适用于所述检索系统的分布式索引方法和分布式检索方 法,从而更好地实现对涉密文档的安全管理。
本发明提供的一种分布式安全检索系统,包括n个用户客户端,管理服务器,m个 索引服务器,加密服务器以及密钥矩阵,n为正整数,表示用户客户端的个数,m为大于等于 2的正整数,表示索引服务器的个数,用户客户端通过互联网与管理服务器连接,管理服务 器、索引服务器和加密服务器通过内部网络互连,密钥矩阵存储于管理服务器或加密服务 器中; 用户客户端用于用户向管理服务器发起检索请求,通过管理服务器在索引服务器 进行检索,并将结果显示给用户,对于管理用户,能够向管理服务器发起索引请求,对提交 的文档建立分布式密文倒排索引; 管理服务器用于接收用户客户端请求,执行索引或检索指令,并将索引或检索指 令分布后发送到各个索引服务器,执行索引或检索操作,然后接收索引服务器返回结果,将 结果传送给用户客户端; 索引服务器用于存储分布式密文倒排索引,并且接收管理服务器发出的索引和检 索指令,实现对管理服务器传送过来的索引词建立密文倒排索引和对密文倒排索引进行检 索,将索引和检索的处理结果返回给管理服务器; 加密服务器用于接收管理服务器加密请求,按指定密钥实现对索引和检索操作中 索引词和检索词的加密,并将加密后的信息返回给管理服务器; 密钥矩阵用于存储索引词和检索词的加密密钥,是由索引词或检索词的加密密钥
构成的矩阵,其行号为索引服务器编号,其列号为索引词或检索词密级;密钥矩阵接收管理
服务器的访问,获取索引词和检索词的加密密钥,并提供给管理服务器。 作为本发明的改进技术方案,所述分布式安全检索系统将涉密文档按照下述步骤
的索引方法建立分布式密文倒排索引 (Al)在管理服务器,对涉密文档进行分词,形成一系列明文索引词; (A2)在管理服务器,按照步骤(A21)至(A23)对明文索引词进行处理,得到密文索
引词,并传输密文索引词及相关信息到相应索引服务器; (A21)按明文索引词和索引词密级进行哈希运算,获得索引词所属索引服务器编 号; (A22)根据索引词密级和索引词所属索引服务器编号,通过密钥矩阵获得加密密 钥; (A23)访问加密服务器,使用密钥加密明文索引词得到密文索引词,并将密文索引 词及相关信息发送给相应索引服务器,相关信息包括索引词所属文档的编号和密级;
(A3)在索引服务器,对密文索引词及相关信息建立倒排索引,其中倒排记录表包 含索引词所属文档的编号、密级信息。 作为本发明的进一步改进技术方案,所述分布式安全检索系统按照下述步骤的检 索方法实现对分布式密文倒排索引进行检索的功能 (Bl)在管理服务器,对检索信息进行分词处理后,得到一系列明文检索词;
(B2)在管理服务器,按照步骤(B21)至(B23)对每个明文检索词进行处理,得到密 文检索词及检索词所属索引服务器编号; (B21)按检索词以及检索词密级或者用户指定的检索密级进行哈希运算,获得检 索词所属索引服务器编号;
(B22)根据检索词密级或用户指定的检索密级和检索词所属索引服务器编号,通 过密钥矩阵获得加密密钥; (B23)访问加密服务器,利用密钥加密检索词为密文检索词,返回密文检索词和检 索词所属索引服务器编号; (B3)在管理服务器,对密文检索词和检索词所属索引服务器编号,按照步骤 (B31)至(B33)进行处理,得到一个或多个检索分组,并通过管理服务器发送检索分组到检 索分组中的第一个索引服务器; (B31)按索引服务器编号合并所有的密文检索词、检索词所属索引服务器编号数 据,得到索引服务器编号、密文检索词列表数据集合; (B32)根据管理服务器通信流量,划分索引服务器编号、密文检索词列表数据集 合,得到检索分组,该检索分组是一个索引服务器列表,包含一个或多个索引服务器,以及 对应索引服务器的密文检索词; (B33)输出检索分组,一个检索分组包含一个或多个索引服务器编号以及对应索 引服务器的密文检索词; (B4)在索引服务器,检索密文倒排索引,找出那些命中密文检索词的结果,如果当 前索引服务器有接收到上一个索引服务器传送过来的检索结果,合并检索结果,完成操作 后,将检索请求及检索结果传送到检索分组中的下一个索引服务器,如果是检索分组中的 最后一个索引服务器,将结果传回管理服务器; (B5)管理服务器接收索引服务器的返回结果,如果有多个索引服务器返回结果,
则合并这些结果,返回结果给用户客户端,用户客户端显示结果给用户。 本发明提出了一种分布式安全检索系统,可以实现对涉密文档构建分布式密文倒
排索引,并进行安全的分布式检索。本发明对于涉密文档定义了文档密级,是一种标识涉密
文档秘密程度的保密级别。同时也定义了用户密级,指用户可以查阅的密级最高的涉密文
档的密级。这些定义都是涉密文档管理中常见的保密手段,本发明利用这些特点更好地实
现涉密文档的索引构建和分布式检索。 本发明进一步提出的适用于所述检索系统的索引方法采用基于索引词的倒排索 引分布方法,这种分布方式有较好的搜索效率。由于标准的索引词分布是相同的明文索引 词对应相同的密文索引词,密文倒排索引存在较高的统计攻击的风险。本发明为了缓解这 种统计攻击风险,利用索引词和索引词所属文档密级两个因子来分布索引词,可以实现一 种明文索引词对应多种密文索引词。 本发明进一步提出的适用于所述检索系统的分布式检索方法中,首先对检索信息 分词形成一系列检索词,这些检索词对应多个索引服务器。为了实现搜索必须分别对这些 检索词在不同的索引服务器进行检索,标准的检索请求分布方法是同时将所有检索词发往 这些检索词对应的索引服务器进行检索,并接收结果。由于每个索引服务器都包含大量结 果信息,这种一对多的结构会导致管理服务器通信瓶颈。为了缓解管理服务器的通信负载 问题,本发明提出的检索方法中使用动态的检索请求分布,实现基于流水线的搜索。管理服 务器将检索词对应的索引服务器划分为不同的分组,分组是索引服务器及该索引服务器对 应检索词的集合。根据通信负载决定分组的大小,比如通信拥塞时只有一个分组,而通信负 载小于满负载的30%时分组大小为检索词对应的索引服务器数量。以分组为单位分布检索请求,首先检索分组内第一个索引服务器,然后将检索请求及检索结果传给下一个索引服 务器,完成分组内所有索引服务器检索后将结果传给管理服务器。除分组内第一个索引服 务器外,其他的索引服务器在检索完成后,还要将检索结果与之前索引服务器的检索结果 进行合并。这种检索模式可以大大缓解管理服务器通信压力,而且动态的调节检索请求分 布,也降低了检索时延。


图1是分布式安全检索系统实施例的结构示意图; 图2是密钥矩阵实施例的示意图; 图3是分布式密文倒排索引实施例的结构示意图; 图4是密文倒排索引分布的示例图; 图5是分布式索引方法的实施例流程图; 图6是分布式检索方法的实施例流程图; 图7是流水线搜索的示例图。
具体实施例方式
为了更好地理解本发明方案,下面结合附图和实例对本发明作进一步详细说明。
图1为根据本发明一实施例的分布式安全检索系统结构示意图。如图1所示,该
系统包括用户客户端1. 1、1.2.....1.n,管理服务器2,索引服务器3. 1、3.2.....3.m,加密
服务器4以及密钥矩阵5, n为正整数,表示用户客户端的个数,m为大于等于2的正整数,
表示索引服务器的个数。为表述方便,分别将用户客户端l. 1、1.2.....l.n和索引服务器
3. 1、3. 2.....3. m统称为用户客户端1和索引服务器3。用户客户端1通过互联网与管理
服务器2连接,管理服务器2、索引服务器3和加密服务器4通过内部网络互连,密钥矩阵5 可以存储于管理服务器2或加密服务器4中。 下面以密钥矩阵5存储于管理服务器2中,并且m = 3为例予以说明。 管理服务器2完成两个功能,建立索引和进行检索。管理服务器2只是实现这个
两个功能的部分操作,主要是分布索引和检索指令。对于索引功能,对于用户客户端l提交
的索引指令及需建立索引的涉密文档,管理服务器2首先对涉密文档进行分词,形成一系
列索引词,而且每个索引词具有密级,索引词密级就是包含该索引词的文档的密级;完成分
词后,管理服务器2根据索引词及索引词密级通过哈希算法获取该索引词所属索引服务器
编号,也就是该索引词应该被分配到那个索引服务器建立索引,所述哈希算法不局限特定
的算法,比如可以采用MD5 ;管理服务器2根据索引词及索引词密级访问密钥矩阵5获得索
引词加密密钥,并根据索引词及其加密密钥访问加密服务器4获得索引词密文;将索引词
密文及索引词的其他相关信息传送到索引词所属索引服务器建立密文倒排索引,密文倒排
索引是索引项为密文的倒排索引。对于搜索功能,管理服务器2接收用户客户端l提交的
检索词、用户密级和检索密级,所谓检索密级是指用户希望的检索结果的密级,检索密级应
该大于或等于用户密级,用户密级以及文档密级按权限由高到低排列,最高级别的密级为
1 ;管理服务器2对检索信息进行分词处理得到一些列检索词及检索词密级,所谓检索词密
级是指提交该检索请求的用户密级或用户指定的检索密级;完成分词后,管理服务器2根
7据检索词及检索词密级通过哈希算法获取该检索词所属索引服务器编号,所述哈希算法必 须与索引方法中的保持一致;管理服务器2根据检索词及检索词密级访问密钥矩阵5获得 检索词加密密钥,并根据检索词及其加密密钥访问加密服务器4获得检索词密文;将检索 词密文发往检索词所属索引服务器对密文倒排索引进行检索,接收返回结果并返回给用户 客户端l。 加密服务器4运行的加密算法不局限于特定的算法,可以采用各种加密算法,比 如采用数据加密标准(DES)算法。另外,加密服务器4也可以是一台专门的加密机。
密钥矩阵5可以实现多级密钥的功能,所述多级密钥是指相同的明文索引词对应 的密文索引词不是唯一的,降低了密文倒排索引遭受统计攻击的风险。密钥矩阵5的实例 图如图2所示,密钥矩阵为由索引词或检索词的加密密钥所构成的矩阵,其行号为索引服 务器编号,其列号为索引词或检索词的密级。根据索引词密级或者检索词密级,以及索引词 或者检索词所属索引服务器编号,通过密钥矩阵可以获得该索引词或者检索词加密密钥。 由于密级不同的同一索引词可能分布到同一索引服务器,如果采用相同的密钥加密索引词 可能导致密级冲突,也就是不同密级的索引词会被作为同一索引项建立索引。密钥矩阵可 以解决这个问题,如果不同密级的索引词被分配到同一索引服务器,通过密钥矩阵5可以 获得不同的加密密钥,这样同一明文索引词的密文不同,就不会产生密级冲突。比如两个 "中国"索引词,来自不同密级的文档,通过密钥矩阵5将获得不同的加密密钥,加密后,两个 "中国"索引词对应的密文不相同,这样同一个"中国"明文索引词对应两个"中国"密文索 引词。而且即使这两个来自不同文档的"中国"索引词被分布到同一索引服务器,由于密文 不同,也不会产生密级冲突。 索引服务器3用于存储分布式密文倒排索引,所述分布式密文倒排索引是通过对 涉密文档分词形成索引词和倒排记录表(posting list),然后对这些信息建立倒排索引, 其中索引项为原索引词明文的密文形态,通过一定分布策略将分布式密文倒排索引分成多 个部分,分别存储在多个索引服务器上。 所述索引词密级是包含该索引项涉密文档的密级,密级最高的文档密级规定为1, 密级次之的规定为2,依次类推。 所述检索词密级是指发起该检索的用户密级,用户密级与文档密级对应,是指具 有查看一定密级文档的用户权限,比如用户密级为2,则该用户可以查看文档密级大于和等 于2的所有文档。 通过系统提供的分布方法,将整个分布式密文倒排索引分布成多个部分,每个索 引服务器存储一部分。本发明不涉及倒排索引结构的具体实现方法,这可以采用成熟的技 术,比如Lucene索引结构。本发明所述的密文倒排索引是指倒排索引的索引项存储的是索 引词密文。 本发明的侧重在于如何实现密文倒排索引的分布,通过本发明建立的分布式密文 倒排索引的结构示例图如图3所示,各个索引服务器上存储的密文倒排索引共同组成分布 式密文倒排索引。图4是本发明方法中的密文倒排索引分布的一个实例图。涉密文档经过 分词后,形成一系列明文索引词,以明文索引词和索引词所属文档编号为参数进行哈希运 算获得索引服务器编号。根据索引词密级及索引词所属文档编号访问密钥矩阵5获得加密 密钥,根据索引词及索引词加密密钥访问加密服务器4获得密文索引词,发送密文索引词及相关信息到相应索引服务器建立密文倒排索引,从而实现密文倒排索引的分布。这种基 于索引词的分布,可以实现索引的均衡分布。由于按索引词和索引词所属文档密级进行哈 希分布,并依据密钥矩阵获得加密密钥,可以实现一明多密,提高了系统的安全性。比如图4 中的文档1和文档2中都"中国"这个索引词,但由于两者密级不同被分配到了不同索引服 务器,当然也有可能被分配到同一索引服务器。比如"武汉"这个索引词,由于两个"武汉" 的密级不同,所以查询密钥矩阵5获得不同的加密密钥,这样"武汉"对应两个密文,在索引 服务器31上会建立两个索引项,避免了密级冲突。本发明这种基于密级的分布,以及密钥 矩阵机制可以实现一明多密,保证了索引词相对均衡的分布,降低了统计攻击的风险。
本发明进一步提出的适用于所述检索系统的分布式索引方法的实施例流程如图5 所示 步骤501 :在管理服务器,对涉密文档进行分词处理,形成一系列明文索引词。产 生的明文索引词结果描述为〈明文索引词,文档编号,密级〉,其中密级是指文档密级,所以 来自不同文档的相同索引词不会重合。 步骤502 :在管理服务器,对明文索引词运行索引词分布算法,将加密后的明文索 引词及索引词所属文档编号、密级等信息发送到索引服务器建立密文倒排索引。所述索引 词分布算法如下 1 、索引词密级等于包含该索引词的文档密级。 2、以明文索引词和密级作为参数进行哈希计算,将哈希结果按索引服务器数量求 余,余数为该索引词所属索引服务器编号。 3、按索引词密级和索引词所属索引服务器编号,在管理服务器中查询密钥矩阵, 获得该索引词加密密钥。 4、使用加密密钥,通过加密服务器加密明文索引词,得到密文索引词。 5、传输密文索引词和索引词所属文档编号到索引词所属索引服务器。 步骤503 :在索引服务器,按密文索引词、索引词所属文档编号、密级等信息建立
密文倒排索引。密文倒排索引的格式为〈索引项一倒排记录表〉,其中索引项为密文索引
词,倒排记录表包含索引词所属文档编号、密级等信息。 本发明进一步提出的适用于所述检索系统的分布式检索方法的实施例流程如图6 所示 步骤601 :在管理服务器,对搜索信息进行分词处理,得到一系列明文检索词。比
如检索"长江三峡",经过分词处理后就会得到"长江"和"三峡"两个明文检索词。具体分
词策略与索引方法中的分词必需保持一致,但对分词策略本身并没有特殊要求。
步骤602 :对明文检索词,运行检索词映射算法,获得密文检索词及检索词所属索
引服务器编号。所述检索词映射算法如下 1、如果用户指定了检索密级,该密级应大于等于用户密级,则检索词密级为检索 密级,调转到步骤3 ;否则调转到步骤2。本发明规定的最高密级为1,其次为2,依次类推。
2、将权限大于等于用户密级的所有密级依次指定为检索词密级,并分别执行以下 步骤。 3、以明文检索词和检索词密级作为参数进行哈希计算,将哈希结果按索引服务器 数量求余,余数为该检索词所属索引服务器编号。
9
4、按检索词密级和检索词所属索引服务器编号,查询密钥矩阵,获得该检索词加 密密钥。 5、使用加密密钥,通过加密服务器加密明文检索词,得到密文检索词。 6、输出密文检索词和检索词所属索引服务器编号,格式为〈密文检索词,索引服
务器编号〉。 步骤603 :对步骤602的输出结果,格式为〈密文检索词,索引服务器编号 >,运行 搜索均衡分布算法,得到一个或多个检索分组。所述搜索均衡分布算法如下
1、按索引服务器编号合并所有的〈密文检索词,索引服务器编号 > 数据,得到〈索 引服务器编号,密文检索词列表 > 数据,令这些数据的集合为M。 2、令集合M的大小为k,也就是集合M包含的〈索引服务器编号,密文检索词列表 >个数。 3、根据管理服务器通信流量,按划分值i划分集合M, i为正整数,取值范围为1至 k。如管理服务器通信拥塞时,令i = l,即不进行划分,M整体作为一个检索分组;通信负 载均衡时,令i = 2,即通过平分集合M获得2个检索分组;当通信负载低于满负载的30% 时,令i = k,集合M中的每一个元素就是一个检索分组。 4、输出检索分组,一个检索分组包含一个或多个索引服务器编号以及对应索引服 务器的密文检索词。 步骤604:管理服务器按检索分组中第一个索引服务器编号,将每个检索分组发 往相应的索引服务器进行流水线搜索。所述流水线搜索是指在一个检索分组中,依次进行 搜索,并在搜索过程中合并结果集。这样的搜索策略可以缓解管理服务器的通信压力。在 负载较低时,管理服务器会产生较多的检索分组,通过并行搜索减少了检索请求的时延,实 现了动态的负载平衡。 步骤605 :按密文检索词在对应编号的索引服务器的密文倒排索引中进行检索, 如果当前索引服务器有接收到前驱索引服务器发送过来的检索结果,将这些结果与当前的 检索结果合并。 步骤606 :在索引服务器,判断当前检索分组中的索引服务器编号对应的索引服 务器是否全部搜索完毕,如果是,转入步骤(608),否则进入步骤(607)。
步骤607 :在索引服务器,将检索请求及目前已经获得的检索结果集发送到检索 分组中下一个未搜索的索引服务器编号对应的索引服务器。通过这样的方式可以实现流水 线搜索,可以在搜索过程中合并各个索引服务器的命中结果,缓解了管理服务器的通信压 力。但流水线搜索会增加搜索时延,本发明为了平衡负载和时延,采用了动态负载均衡的流 水线搜索,也就是根据管理节点的负载大小,决定进行并发搜索的规模。如果管理服务器通 信负载低于满负载30%时,同时进行多个并发搜索,以减少搜索的时延。如果管理服务器 通信拥塞时,只启动一个搜索进程进行流水线搜索,以缓解管理服务器的通信压力。 一个流 水线搜索的实例图如图7所示,图7中的索引服务器数量为6。检索信息"中国长江三峡" 分词后得到"中国、长江、三峡"三个检索词,经过检索词映射算法和检索均衡分布算法处理 后,形成两个检索分组(〈3.6,"中国"密文〉,〈3. l,"长江"密文 >)和(〈3.4,"三峡"密文 >)。然后管理服务器发起两个搜索请求,每个检索分组被流水线的执行搜索操作。比如第 一个检索分组,在完成对"中国"密文的搜索后,将搜索结果和下一个搜索词"长江"密文发送到下一个索引服务器3. 1。在完成对检索分组中所有索引服务器编号对应的索引服务器
的搜索后,将该检索分组的命中结果集返回给管理服务器。 步骤608 :索引服务器将检索命中的结果集传送给管理服务器。 步骤609 :管理服务器判断检索请求是否由多个检索分组组成。
步骤610 :如果搜索命中的结果集来自多个索引服务器,合并这些结果集。
步骤611 :管理服务器将最终的检索命中结果集返回给用户客户端。 以上所述为本发明的一个实施例而已,本发明不应该局限于该实施例和附图所公
开的内容。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护
的范围。
权利要求
一种分布式安全检索系统,包括n个用户客户端,管理服务器,m个索引服务器,加密服务器以及密钥矩阵,n为正整数,表示用户客户端的个数,m为大于等于2的正整数,表示索引服务器的个数,用户客户端通过互联网与管理服务器连接,管理服务器、索引服务器和加密服务器通过内部网络互连,密钥矩阵存储于管理服务器或加密服务器中;用户客户端用于用户向管理服务器发起检索请求,通过管理服务器在索引服务器进行检索,并将结果显示给用户,对于管理用户,能够向管理服务器发起索引请求,对提交的文档建立分布式密文倒排索引;管理服务器用于接收用户客户端请求,执行索引或检索指令,并将索引或检索指令分布后发送到各个索引服务器,执行索引或检索操作,然后接收索引服务器返回结果,将结果传送给用户客户端;索引服务器用于存储分布式密文倒排索引,并且接收管理服务器发出的索引和检索指令,实现对管理服务器传送过来的索引词建立密文倒排索引和对密文倒排索引进行检索,将索引和检索的处理结果返回给管理服务器;加密服务器用于接收管理服务器加密请求,按指定密钥实现对索引和检索操作中索引词和检索词的加密,并将加密后的信息返回给管理服务器;密钥矩阵用于存储索引词和检索词的加密密钥,是由索引词或检索词的加密密钥构成的矩阵,其行号为索引服务器编号,其列号为索引词或检索词密级;密钥矩阵接收管理服务器的访问,获取索引词和检索词的加密密钥,并提供给管理服务器。
2. 根据权利要求1所述分布式安全检索系统,其特征在于该分布式安全检索系统将 涉密文档按照下述步骤建立分布式密文倒排索引(Al)在管理服务器,对涉密文档进行分词,形成一系列明文索引词;(A2)在管理服务器,按照步骤(A21)至(A23)对明文索引词进行处理,得到密文索引词,并传输密文索引词及相关信息到相应索引服务器;(A21)按明文索引词和索引词密级进行哈希运算,获得索引词所属索引服务器编号; (A22)根据索引词密级和索引词所属索引服务器编号,通过密钥矩阵获得加密密钥; (A23)访问加密服务器,使用密钥加密明文索引词得到密文索引词,并将密文索引词及相关信息发送给相应索引服务器,相关信息包括索引词所属文档的编号和密级;(A3)在索引服务器,对密文索引词及相关信息建立倒排索引,其中倒排记录表包含索引词所属文档的编号、密级信息。
3. 根据权利要求1所述分布式安全检索系统,其特征在于该分布式安全检索系统按 照下述步骤实现对分布式密文倒排索引进行检索的功能(Bl)在管理服务器,对检索信息进行分词处理后,得到一系列明文检索词;(B2)在管理服务器,按照步骤(B21)至(B23)对每个明文检索词进行处理,得到密文检 索词及检索词所属索引服务器编号;(B21)按检索词以及检索词密级或者用户指定的检索密级进行哈希运算,获得检索词 所属索引服务器编号;(B22)根据检索词密级或用户指定的检索密级和检索词所属索引服务器编号,通过密 钥矩阵获得加密密钥;(B23)访问加密服务器,利用密钥加密检索词为密文检索词,返回密文检索词和检索词所属索引服务器编号;(B3)在管理服务器,对密文检索词和检索词所属索引服务器编号,按照步骤(B31)至 (B33)进行处理,得到一个或多个检索分组,并通过管理服务器发送检索分组到检索分组中 的第一个索引服务器;(B31)按索引服务器编号合并所有的密文检索词、检索词所属索引服务器编号数据,得 到索引服务器编号、密文检索词列表数据集合;(B32)根据管理服务器通信流量,划分索引服务器编号、密文检索词列表数据集合,得 到检索分组,该检索分组是一个索引服务器列表,包含一个或多个索引服务器,以及对应索 引服务器的密文检索词;(B33)输出检索分组,一个检索分组包含一个或多个索引服务器编号以及对应索引服 务器的密文检索词;(B4)在索引服务器,检索密文倒排索引,找出所有命中密文检索词的结果,如果当前索 引服务器有接收到上一个索引服务器传送过来的检索结果,合并检索结果,完成操作后,将 检索请求及检索结果传送到检索分组中的下一个索引服务器,如果是检索分组中的最后一 个索引服务器,将结果传回管理服务器;(B5)管理服务器接收索引服务器的返回结果,如果有多个索引服务器返回结果,则合 并这些结果,返回结果给用户客户端,用户客户端显示结果给用户。
全文摘要
本发明公开了一种分布式安全检索系统,属于计算机信息检索技术领域,包括用户客户端,向管理服务器发起索引和检索请求;管理服务器,分布用户客户端的索引和检索指令到索引服务器,接收处理结果并返回给用户客户端;索引服务器,存储分布式密文倒排索引,接收管理服务器提交的索引和检索指令,并返回结果;加密服务器,接收管理服务器加密请求,按指定密钥对索引词和检索词进行加密,并返回加密后的信息;密钥矩阵,存储索引词和检索词的加密密钥。本发明还进一步提出了适用于所述系统的索引和检索方法。本发明可以实现大规模涉密文档的高效检索和安全性要求,同时降低了密文倒排索引遭受统计攻击的风险,而且优化了管理服务器的通信负载。
文档编号G06F17/30GK101694672SQ20091027242
公开日2010年4月14日 申请日期2009年10月16日 优先权日2009年10月16日
发明者卢正鼎, 吴炜, 左翠华, 文坤梅, 李瑞轩, 燕昆, 胡和平, 路松峰, 辜希武, 高国强 申请人:华中科技大学;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1