CN101859323B - 密文全文检索系统 - Google Patents
密文全文检索系统 Download PDFInfo
- Publication number
- CN101859323B CN101859323B CN 201010187384 CN201010187384A CN101859323B CN 101859323 B CN101859323 B CN 101859323B CN 201010187384 CN201010187384 CN 201010187384 CN 201010187384 A CN201010187384 A CN 201010187384A CN 101859323 B CN101859323 B CN 101859323B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- document
- participle
- index
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种密文全文检索系统,包括有原始文本处理模块、分词模块、加密模块、文档密文存储模块、密文索引模块、密文检索模块、检索结果处理模块、系统管理模块。该系统由于采用了密文动态后继树索引结构、分词分组方法、文档局部级的密文动态后继树索引更新方法,可实现安全高效的索引创建、索引的动态更新以及密文状态下的全文检索和子串查询;该系统还可在P2P网络中实现安全覆盖网的对等全文检索,并在此基础上引入基于对等网络枢纽节点的索引文件副本复制机制。此外,本发明密文全文检索系统可扩展性好,解决了海量数据索引文件的分布存储和检索问题,并且不增加网络带宽占用,网络资源利用率高。
Description
技术领域
本发明属于信息检索和信息安全领域,具体涉及了一种密文全文检索系统及一种基于动态后继树索引结构的密文全文检索系统。
背景技术
随着计算机和通信等信息技术的迅猛发展,电子媒体等各种应用激增,传统行业信息化也快速展开,工业和科研数据自动化和半自动化的产生,使得各种数据大量累积;另一方面存储技术发展的日新月异也使得数据总量的增长势头越来越猛。据统计,二十世纪八十年代以来全世界信息总量以指数级增长。可以说,如今信息产生的速度远远大于人类对这些信息进行充分消化的速度。人们对问题进行有效决策所需要的信息量也大为增加,这就使得用户在海量数据面前想找到自己满意的信息变得越来越困难。在这样的背景下,如果不借助于有效的检索机制,信息量过大所产生的效果与无信息可查的效果是一样的。
全文信息检索技术最早产生于20世纪50年代的美国。1950年Calvin N.Mooers首创了信息检索这个术语,1958年Luhn提出了统计信息检索的基本理论和方法,1960年Marson和Kuhns提出了信息检索的概率模型,1986年Gerard创立了信息检索向量空间模型,1968年Rocchio和Salton共同提出了查询扩展的方法,1972年Lockheed公司推出的DIALOG系统是世界首例商用在线信息查询服务系统。从上个世纪90年代开始,随着廉价海量数据存储设备的成功研发,特别是国际互联网技术的诞生和随之而来的网络信息的爆炸式增长,使信息检索技术进入了一个崭新的发展时期。在这一时期,具有代表性的理论成果包括潜在语义索引技术,贝叶斯网络和神经网技术。
全文检索技术已发展得较为成熟,国外的全文检索软件已较早地得到了应用。虽然中西文全文检索的原理是一致的,但中文本身的特点使得中文全文检索系统要比西文的复杂。国内全文检索技术的研究开始于1987年左右,目前在国内市场占有率超过90%、具有代表性的全文检索系统如易北宝信公司开发的TRS,支持概念检索、多媒体数据检索和原格式文件检索,支持海量存储结构化数据处理,并提供WWW的数据库接口。
索引模型是信息检索的核心技术,对信息检索系统待处理的数据进行高效的组织是进行信息检索的必要前提,索引存储结构影响系统的检索速度和存储空间。当前主要索引模型有:签名文件、倒排文件、位图、Pat树、Pat数组和互关联后继树等。前三种索引模型实质上都是把文档看成索引项的集合,索引数据必须具有文档-索引项结构,因而难以实现复杂查询。Pat树和Pat数组将索引数据看成一组半无限串的叠加,能实现复杂查询,但存在空间开销大等缺点。互关联后继树模型是处理中文等半无限字符串的一种新颖的索引模型,它创建效率高、查询速度快,与Pat树一样具有查询功能全的特点以及比Pat树小的膨胀比等系列优点,但是也存在存储结构、动态索引更新等方面的不足。
目前国内外在基于密文的全文检索领域只有少量研究,通过各著名的大型数据库和搜索引擎检索得到的结果中,在中文的密文全文检索领域,只查到由中国科学院计算机网络研究中心的李新在中国的发明专利申请《密文全文检索技术》(申请号为200410070113.5)和华中科技大学在中国的发明专利申请《分布式密文全文检索系统》(申请号为200910062129.4)等相关研究成果发表。前者的发明是对全文检索技术的改造,几乎保留了全文检索的大部分技术,只对索引文件的索引词进行加密处理;后者实现了在密文条件下的全文信息检索,保证了敏感数据的安全检索,具有安全性强,执行效率高的特点,其索引文件为倒排文件,但不能进行密文子串查询及潜在的分词查询,而且不能进行密文动态更新。
新兴起的对等网络(Peer-to-Peer,P2P)被认为是一种有着更高效、更负载均衡和更好容错性优点的网络,通过P2P网络,大量的计算机可组织在一起形成一个高性能、高可靠性、高扩展性和低消耗的运算整体。由于P2P存储系统面临节点异构性、节点自私性、节点安全性及节点时效性等诸多问题,多数研究集中于搜索和定位机制,忽略了复制机制。在这种网络环境下进行中文全文检索和中文密文全文检索,引入索引文件副本复制机制,是提高检索效率,降低网络消耗和实现分布式节点负载均衡的有效途径。
发明内容
本发明的目的之一,在于提供一种数据安全性高、索引创建速度快、数据检索效率高的密文全文检索系统。
本发明的另一目的,还在于在上述密文全文检索系统的基础上,提供一种基于动态后继树索引结构的密文全文检索系统及其创建、检索方法,该系统支持索引的动态更新,并可以实现密文子串查询。
具体技术方案如下:
一、密文全文检索系统
本发明密文全文检索系统,包括有原始文本处理模块、分词模块、加密模块、文档密文存储模块、密文索引模块、密文检索模块、检索结果处理模块、系统管理模块;其特征在于:
所述原始文本处理模块,用于对文档的原始文本进行格式化预处理,包括但不限于电子化纸质文档和/或格式化电子原始文档,并提取其主题、正文及附加属性等信息,以及,形成文档概要。其中,电子化纸质文档就是使纸质文档经过扫描等方式后,得到可以处理的电子化原始文档;格式化文档就是对需要处理的电子文档统一转化为纯文本文档。
所述分词模块,用于对所述原始文本处理模块所提供的文档主题、正文及附加属性等进行分词并提取特征向量,以及,用于对所述密文检索模块提供的检索词/串进行分词和查询扩展。
所述加密模块,对包括但不限于所述原始文本处理模块传送过来的纯文本文档、文档概要,所述分词模块传送来的特征向量、分词进行加密操作,并将所述特征向量密文存入特征向量密文库;对由密文索引模块传送过来的分词位置信息进行加/解密操作;对包括但不限于所述文档密文存储模块传送来的文档密文、文档概要密文进行解密;对经所述检索结果处理模块传送来的特征向量密文进行解密;并向所述文档密文存储模块、检索结果处理模块、密文检索模块、密文索引模块提供经加/解密的相应数据。
所述文档密文存储模块,用于分布存储、提供文档密文和文档概要密文:所述分布是按照地域、文档密级和文档分类来决定相应密文所存向的目标文档密文服务器,各文档密文服务器接收并存储来自所述加密模块提供的文档密文和文档概要密文;本模块还可接受所述检索结果处理模块的密文读取请求,为加密模块提供需要解密的密文。
所述密文索引模块,用于分布密文分词并创建、存储密文索引,提供需要解密的密文索引,及检索到的文档编号:所述分布是按照地域、文档密级和文档分类来决定相应密文索引所存向的目标索引服务器;各索引服务器接收来自所述加密模块提供的密文分词和分词位置信息并进行索引创建,经加密后存储密文索引到相应的密文索引库;本模块还根据所述密文检索模块的密文分词检索请求,从密文索引库中检索到需要解密的索引分词位置信息密文并传送到加密模块,及,将从加密模块返回的文档编号集发送给密文检索模块。
所述密文检索模块,为系统的合法用户提供相应级别的信息检索服务。该模块接收合法用户输入的检索词/串,经审查过滤后提交给所述分词模块;接收加密模块发送来的扩展密文分词集并形成密文分词检索请求,然后传送到所述密文索引模块进行检索;接收密文索引模块返回的文档编号集,并提交给所述检索结果处理模块。
所述检索结果处理模块,用来接收并处理所述密文检索模块提供的文档编号集,并将经过排序处理后得到的结果集返回给检索用户;根据所述密文检索模块提供的文档编号集,从特征向量密文库中取出相应的特征向量密文,经加密模块解密后对文档编号集合进行排序;把有序的文档编号集发送给文档密文存储模块;接收经所述加密模块解密的相应文档概要并显示给用户;根据用户选择的文档概要明文提取相应文档密文,经加密模块解密后显示给用户,其提取方式与提取文档概要明文相同。
所述系统管理模块,用来管理用户权限,对部门、角色、用户的基本信息以及它们之间的映射关系进行维护更新等。
进一步地,所述原始文本处理模块,包括有转化单元,提取单元,概要单元;所述转化单元,用于电子化纸质文档,及,将需要处理的电子文档统一转化为纯文本文档;所述提取单元,用于对转化单元提供的纯文本文档中的文档信息进行提取,提取的信息包括但不限于主题、正文、附加属性;所述概要单元,将所述提取单元提供的包括但不限于主题、摘要、作者、时间、来源等组织成文档概要;
进一步地,所述分词模块,包括有分词单元,特征向量单元,查询扩展单元;所述分词单元,用于对传送过来的包括但不限于主题、正文、附加属性、检索词/串等进行分词;所述特征向量单元,从分词结果中提取文档特征词,形成特征向量;所述查询扩展单元,对检索词/串分词进行查询扩展;
进一步地,所述加密模块,包括有文档加密单元、分词加密单元、分词位置加密单元;所述文档加密单元负责对原始文本预处理模块传送来的纯文本文档、文档概要,分词模块传送来的特征向量进行加密处理;文档加密单元中包括有文档加密信息表、加密运算器;所述文档加密信息表用于获取对纯文本文档、文档概要、特征向量加密所需的密钥和加密算法;所述分词加密单元负责对分词模块传送来的分词进行加密处理;分词加密单元中包括有分词分组子模块、分词分组加密信息表、加密运算器;所述分词分组加密信息表用于获取对分词加密所需的密钥和加密算法;所述分词位置加密单元负责对分布式密文索引管理模块传送来的分词位置信息进行加/解密;分词位置加密单元中包括有分词位置加密信息表、加密运算器;所述分词位置加密信息表用于获取对分词位置信息加密所需的密钥和加密算法;所述文档加密单元、分词加密单元、分词位置加密单元在加密过程中还需要使用到密钥管理器、加密算法库;
进一步地,所述文档密文存储模块,包括有文档密文分布代理模块和分布式文档密文管理模块;所述分布式文档密文管理模块,用来管理及存储文档密文和文档概要密文,包括有文档密文服务器、文档概要密文库和文档密文库;所述文档密文服务器负责对所属的文档概要库和文档密文库进行存取;所述文档密文分布代理模块,用于将文档密文和文档概要密文分发到相应的文档密文服务器;
进一步地,所述密文索引模块,包括有密文分词分布代理模块和分布式密文索引分布管理模块;所述分布式密文索引分布管理模块,包括有索引服务器和密文索引库,由索引服务器管理各个密文索引库;各索引服务器接收来自所述加密模块提供的密文分词和分词位置信息创建索引,存储密文索引到相应的密文索引库;索引服务器包括有文档编号信息表;所述文档编号信息表用于记录文档对应的伪文档编号组;所述伪文档编号组是文档编号的一个一对多映射组成的集合,由系统生成;所述密文分词分布代理模块负责将密文分词分布到索引服务器上;
进一步地,所述密文检索模块,包括有检索语句提交单元和检索服务器;所述检索语句提交单元接收合法用户输入的检索词/串,经审查过滤后提交给所述分词模块;所述检索服务器,用于将扩展密文分词集以广播方式分发到所述密文索引模块的各索引服务器,接收并处理各索引服务器返回的结果,然后将得到的无序文档编号集发送给检索结果处理模块;
进一步地,所述检索结果处理模块,包括有检索结果排序单元和结果显示单元;所述检索结果排序单元,用于对无序的文档编号集进行排序;所述结果显示单元包括文档概要显示和文档显示。
二、与上述密文全文检索系统对应的密文全文索引创建方法,包括以下步骤:
(1)将用户提交的涉密原始文本文档原文转化为纯文本,提取原文本文件中的主题、正文及其他附加属性,并形成文档概要;
(2)对原文本文件中的主题、正文、附加属性进行分词处理,并提取特征向量;
(3)对步骤(1)中得到的纯文本文档、文档概要分别加密;
(4)把步骤(3)中得到的文档密文分布存储到相应的文档密文库,把步骤(3)中得到的文档概要密文分布存储到相应的文档概要密文库;
(5)对步骤(2)中得到的分词、特征向量分别加密;
(6)把步骤(5)中得到的特征向量密文存储到特征向量密文库;
(7)对步骤(5)中得到的密文分词分发到各索引服务器;
(8)各索引服务器根据步骤(7)中的密文分词检索得到相应的分词位置密文;
(9)对步骤(8)中得到的分词位置密文进行解密;
(10)将步骤(9)中解密后的分词位置传回相应索引服务器;
(11)索引服务器根据分词位置创建索引;
(12)对步骤(11)中得到的索引进行加密;
(13)将步骤(12)中得到的密文索引存储到相应的密文索引库;
与上述密文全文索引创建方法相对应的密文全文检索方法,包括以下步骤:
(1)对用户提交的检索词/串进行分词并作查询扩展;
(2)对步骤(1)中得到的扩展分词集进行加密;
(3)把步骤(2)中得到的扩展密文分词集以广播方式分发到各索引服务器;
(4)各索引服务器进行检索;
(5)系统收集各索引服务器返回的文档编号集;
(6)系统根据步骤(5)中得到的文档编号集读取相应文档特征向量密文;
(7)系统解密步骤(6)中得到的特征向量密文;
(8)利用步骤(7)中得到的特征向量对文档编号集进行排序;
(9)根据步骤(8)中得到的有序的文档编号集读取相应文档概要密文;
(10)将文档概要密文解密;
(11)将解密后的文档概要显示给用户;
(12)系统根据用户的选择获取相应的文档密文;
(13)将文档密文解密;
(14)将解密后的文档显示给用户。
三、基于动态后继树索引结构的密文全文检索系统
基于动态后继树索引结构的密文全文检索系统,是对上述密文全文检索系统技术方案的进一步改进,包含有密文动态后继树索引结构。
所述密文动态后继树索引是一个森林,所述森林由子树组成;每一棵子树的结构包括有树根的密文,树叶的密文,以及,由伪文档编号、树叶位置、树叶关联位置、树叶变种组成的树叶信息集的密文;
所述树根,用于指代位于树根的分词;
所述树叶,即树根的后继,用于指代位于树叶的分词;
所述伪文档编号,是伪文档编号组的一个元素;
所述树叶位置,用于指代当前树叶在文档中的位置;
所述树叶关联位置,用于指代指向当前树叶的后继的分词的指针;
所述树叶变种,用于指代代替原树叶的一串字符串;
所述密文动态后继树索引的具体建立方法是:对每一棵子树中的树根、树叶分别进行加密,对伪文档编号、树叶位置、树叶关联位置、树叶变种进行整体加密,即可得到所述密文动态后继树索引。
所述密文检索模块利用树叶位置和树叶关联位置来记录待匹配子串的位置关系,从而实现了在索引词密文不脱密状态下的子串查询,即密文子串查询。密文子串查询是密文全文检索系统查全率的重要保障;本方法不但保证了索引库的安全,同时也节省了对密文子串查询时的开销。
四、与上述基于动态后继树索引结构的对应的密文全文索引创建方法,采用了前述的密文全文索引创建方法,其特征在于,
1)上述步骤(5)中的分词采用如下加密方法:
a、根据分词分组加密信息表对分词明文进行分组,得到该分词的密钥生成参数和加密算法编号,并发送给密钥管理器;
b、密钥管理器根据密钥生成参数计算分词分组密钥,同时根据加密算法编号到加密算法库中提取加密算法;
c、根据所得到的分词分组密钥和加密算法,对分词进行加密。
2)上述步骤(11)中的密文索引创建采用如下方法:
a、对每个密文分词,根据文档编号信息表随机选取一个伪文档编号替换原密文分词携带的文档编号;
b、用密文分词的前驱到密文索引库中查找树根,用密文分词本身查找树叶,获取对应的树叶信息集;
c、解密步骤b中得到的树叶信息集,将密文分词的位置信息插入到相应的树叶信息集中;
d、若插入后的树叶信息集长度超过限定值,则对树叶信息集进行划分,当遇到终结符表示全文已经处理完;
e、将该索引中未加密的树叶信息集进行加密;
上述步骤d、e中的树叶信息集划分及加密方法为:
a)若树叶信息集的长度大于树叶信息集平均长度,则将其划分为若干个无交集子集,各子集长度在系统设定的范围内;
b)为除首个树叶信息集子集之外的各子集分别随机生成树叶变种,使得每个子集都对应一个树叶变种或一片树叶;
c)根据密文分词,在分词位置加密信息表中获取密钥生成参数和加密算法编号,并传送给密钥管理器;
d)密钥管理器根据密钥生成参数计算得到分词位置密钥,同时根据加密算法编号在加密算法库中提取加密算法;
e)根据d)中得到的分词位置加密算法,以及分词位置密钥对树叶信息集明文进行加密。
从上述步骤可知,所述树叶信息集加密方法可对所述树叶信息集进行分组管理,每组信息用具有一定加密强度的不同加密算法和密钥进行加密;对高频词的树叶信息集长度进行均衡化处理,为高频词随机产生树叶变种,将其树叶信息集划分成多个树叶信息集子集并加密,树叶变种使密文分词数量动态变化,防止统计攻击。
五、与上述基于动态后继树索引结构的对应的密文全文检索方法,采用了前述的密文全文检索方法,其特征在于,上述步骤(4)中的检索,以检索词“qs1,qs2,…,qsi,…,qsn”为例说明,n为检索词/串的分词个数,其步骤如下:
1)判断检索词/串的分词个数:如果n=1,则转入2);如果n=2,则转入3);否则转入4);
2)判断树根表是否存在该分词;若存在,则检索命中结果集为该分词的树叶表中所有树叶的树叶信息集的树叶位置的集合;检索结束;
3)判断树根表是否存在qs1;判断qs1的树叶表是否存在qs2;若qs1、qs2都存在,则检索命中结果集为qs2的树叶信息集的树叶位置的集合;检索结束;
4)判断树根表是否存在qs1,如果存在,判断qs1的树叶表是否存在qs2;
5)若qs1、qs2都存在,则获取qs2的树叶信息集的关联位置的集合,记为Urpi;
6)以3≤j≤n进行循环,判断qsi的树叶表是否存在qsj;若存在,则获取qsj的树叶信息集的树叶位置的集合,记为spj;计算spj与Urpi的交集,即qsj的树叶位置子集,记为Uspj;获取qsj的树叶信息集的关联位置的子集合,记为Urpj;最多循环n-2次便得到初步结果Urpj;
7)检索命中结果集为Urpj中所有树叶信息集的树叶位置的集合;检索结束。
六、与上述基于动态后继树索引结构的对应的密文全文索引更新方法,其特征在于,采用了更新粒度为文档局部级的密文动态后继树索引更新方法,该方法包括有增加操作、删除操作和修改操作;
1)所述增加操作,其具体步骤如下:
a、为新添加的文本以相对位置建立树叶信息;
b、解密原索引中受添加文本影响的树叶的树叶信息集;
c、将新建立的树叶信息插入原索引中;在此插入过程中,只对添加文本的前驱的树叶关联位置修改,使其指向添加文本的首字符树叶位置,同时将前驱树叶原先的关联位置值写入添加文本的尾字符树叶关联位置;
d、每次插入新的位置信息后,判断树叶信息集长度,如果大于设定值,则进行树叶信息集划分;
e、对步骤d中得到的树叶信息集进行加密;
2)所述删除操作,其具体步骤如下:
a、如果删除位置涉及多个树叶信息集,则先将其解密并合并成一个树叶信息集;
b、在需要文本删除的位置,直接修改删除部分的前驱的树叶关联位置;
c、删除需要删除部分的位置信息;
d、将删除后的树叶信息集进行长度均衡化处理,加密并存盘;
3)所述修改操作,以文本删除及添加的方式来实现。
七、作为对上述密文全文检索系统技术方案的再进一步推广,本系统可以应用于对等网络:基于对等网络,我们提出安全覆盖网的概念,并在此基础上提供对等全文检索;本基于安全覆盖网的密文对等全文检索系统,包括有集中式检索服务器和对等节点;
1)所述安全覆盖网,是将所述对等网络中的对等节点按照其安全级支配关系组织起来形成的网络;在该安全覆盖网中,安全级高的节点直接或间接支配安全级地的节点,同时,数据由安全级高的节点流向安全级受其支配的节点。安全覆盖网在满足对等节点之间互操作的同时,可限制操作涉及的节点范围,并减少无用信息的传播和操作,提高整体效率;
所述安全覆盖网的构建,其步骤如下:
a、节点(p)在对等网络中广播加入安全覆盖网的消息;
b、安全级支配节点(p)的节点集以u应答,并将节点(p)加入到受自己支配的节点集中;
c、安全级受节点(p)支配的节点集以d应答,并将节点(p)加入到支配自己的节点集中;
d、节点(p)根据其它节点的应答,将其加入到支配自己的节点集或受自己支配的节点集中;
2)所述基于安全覆盖网的全文检索由集中式检索和基于安全覆盖网的对等检索两部分组成。
所述集中式检索,是由一台服务器或多台服务器组成的服务器集群提供检索功能,其检索由节点直接向检索服务器发起;检索的结果由节点缓存,作为节点提供检索服务的数据;
所述基于安全覆盖网的对等检索,是在上述集中式检索的基础上增加对等检索功能,该对等检索是由对等节点在安全覆盖网中发起并执行,其检索的对象是各节点缓存的内容;
以下以节点(p)执行检索请求q为例,说明所述基于安全覆盖网的全文检索的步骤:
a、节点(p)自己执行q;
b、节点(p)将q发送给所有安全级受自己支配的节点;
c、接收到q的各节点自己执行q;
d、接受到q的各节点,将q继续发给安全级受自己支配的所有节点;
e、节点(p)收集并将对等检索结果呈现给用户,如果用户满意则结束执行;
f、节点(p)将q发给集中式检索服务器,缓存检索结果并向用户呈现。
3)所述基于安全覆盖网的全文检索方法还包括有基于枢纽节点的索引文件副本复制机制;
所述基于枢纽节点的索引文件副本复制机制,是在对等网络基础上,综合了传统副本复制机制的优点提出的一种新的副本复制机制;该机制通过枢纽节点的副本,保证了来自不同方向的查找可以快速得到资源,且不增加网络带宽占用,更适合于信息量巨大时的对等全文检索;
所述基于枢纽节点的索引文件副本复制机制,包括有如下至少两部分:
第一部分是发现并存储枢纽节点;
第二部分是通过设置不同阈值触发源节点或枢纽节点的副本复制,其中将源节点缓存设为枢纽副本复制的补充;
所述基于枢纽节点的索引文件副本复制机制下的索引文件副本复制步骤如下:
a、当保存数据的节点接收到新的查询请求后,该节点中的副本复制机制将请求中的路由信息保存在路由表中,通过比较来发现枢纽节点;
b、本复制机制统计每个枢纽节点的请求次数并设置阈值进行约束;
c、本复制机制记录查询源节点的请求次数;
d、在收到大量不同路径对同一数据的请求并达到相应阈值时,通过枢纽节点复制机制,将数据复制到这些路径的枢纽节点中;
e、在步骤d的基础上,若仍有某些源节点对一些数据的请求达到另一更高阈值时,则将数据直接在该源节点上进行复制。
本发明密文全文检索系统基于我们提供的密文动态后继树索引结构、分词分组方法、文档局部级的密文动态后继树索引更新方法,实现了安全高效的索引创建、索引的动态更新以及密文状态下的全文检索和子串查询;实现了在P2P网络中组织安全覆盖网,并在此基础上创建基于对等网络枢纽节点的索引文件副本复制机制。与现有的密文全文检索系统相比,本发明具有如下优势:
(1)高安全性:分词分组方法保证了索引词的安全性。对动态后继树索引结构中分词加密,屏蔽了分词的真正语义,周期性地更新分词密文使得攻击者对索引文件词表中的密文分词分析变得无效。对树叶信息集加密,屏蔽了分词位置信息。用伪文档编号组防止了攻击者通过获得密文分词的位置信息从而拼凑出一篇密文文档的内容。对树叶信息集进行划分,并将得到的树叶信息子集与树叶变种捆绑加密,既防止了密文长度统计攻击,又进一步保证了分词的安全性。检索时不需解密密文索引词,只解密检索过程中需要的树叶信息集,对不需要的树叶信息集仍保持密文状态。
(2)高创建效率和检索效率:经过一次扫描,即可对原文分词并创建索引树。位于树根的分词组成树根表,位于树叶的分词组成树叶表,树叶分词在原文档中的位置信息组成树叶信息集。每个树根表项对应一个树叶表,每个树叶表项对应一个树叶信息集,树根表和树叶表的表项在内存中用字典顺序的HashTree来存储,检索时按需解密,提高了查找速率。
(3)索引更新的高动态:本发明提出的更新粒度为文档局部级的索引动态更新方法可在需要更新的地方,直接对节点进行增、删、改操作,不需要预留空间,也不用附加索引,实现了索引文件的实时动态更新。
(4)实现了密文子串查询:本系统模型利用树叶位置和树叶关联位置来记录待匹配串子串的位置关系,在索引词不脱密状态下实现子串查询,不但保证了密文索引库的安全,同时也节省了密文子串查询的开销。
(5)可扩展性好,解决海量数据索引文件的分布存储和检索问题:提出了用于对等全文检索的安全覆盖网概念,在不影响查全率和查准率的前提下,解决了海量密文数据索引文件的分布存储和检索问题,实现了海量数据向分布式P2P网络对等节点存储和检索,同时仍保持具有密文子串查询和密文索引文件动态更新特性。
(6)降低网络消耗:基于枢纽节点的索引文件副本复制机制,该机制是综合了传统副本复制机制的优点提出的一种新的副本复制机制;该机制通过枢纽节点的副本,保证了来自不同方向的查找可以快速得到资源,且不增加网络带宽占用,更适合于信息量巨大时的对等全文检索,进一步提高了对等网络环境下全文检索的效率。
附图说明
图1是本发明密文全文检索系统的一个实施例的体系结构图。
图2是本发明密文全文检索系统的一个实施例的结构组成示意图。
图3是本发明密文全文检索系统文档密文库和文档概要密文库的创建示意图。
图4是本发明基于动态后继树索引结构的密文全文检索系统所采用的密文动态后继树索引的一个实施例的结构示意图。
图5是本发明基于动态后继树索引结构的密文全文检索系统的一个实施例的索引创建过程示意图。
图6是本发明密文全文检索系统密文检索过程的示意图。
图7是本发明密文全文检索系统的一个实施例的安全覆盖网示例图。
图8是本发明密文全文检索系统基于安全覆盖网的全文检索原理示意图。
图9是本发明密文全文检索系统基于枢纽节点的副本复制机制。
具体实施方式
以下结合附图及实施例对本发明密文全文检索系统和基于动态后继树索引结构的密文全文检索系统及其工作原理作进一步地说明。
如图1所示,本发明系统包括:原始文本处理模块100、分词模块200、加密模块300、文档密文存储模块400、密文索引模块500、密文检索模块600、检索结果处理模块700和系统管理模块800。
系统工作原理步骤如下:
(1)用户通过系统管理模块800实现安全登录后,系统判断用户选择是执行创建索引文件还是执行检索功能,如果是检索则进入第15步;
(2)系统把用户提交的涉密原始文本文档原文转化为纯文本,提取原文本文件中的主题、正文及其他附加属性,并形成文档概要;
(3)系统对主题、正文、附加属性进行分词处理,并提取特征向量;
(4)系统对步骤(2)中得到的纯文本文档、文档概要分别加密;
(5)系统把步骤(4)中得到的文档密文分布存储到相应的文档密文库,把步骤(4)中得到的文档概要密文分布存储到相应的文档概要密文库;
(6)系统对步骤(3)中得到的分词、特征向量分别加密;
(7)系统把步骤(6)中得到的特征向量密文存储到特征向量密文库。
(8)对步骤(6)中得到的密文分词分发到各索引服务器;
(9)各索引服务器根据步骤(8)中的密文分词检索得到相应的分词位置密文;
(10)对步骤(9)中得到的分词位置密文进行解密;
(11)将步骤(10)中解密后的分词位置传回相应索引服务器;
(12)索引服务器根据分词位置创建索引;
(13)对步骤(12)中得到的索引进行加密;
(14)将步骤(13)中得到的密文索引存储到相应的密文索引库;
(15)用户提交检索词/串;
(16)系统对对用户提交的检索词/串进行分词并进行查询扩展;
(17)系统对步骤(16)中得到的扩展分词集进行加密;
(18)系统对步骤(17)中得到的扩展密文分词集以广播方式分发到各索引服务器;
(19)各索引服务器进行检索;
(20)系统收集各索引服务器返回的文档编号集;
(21)系统根据步骤(20)中得到的文档编号集读取相应文档特征向量密文;
(22)解密步骤(21)中得到的特征向量密文;
(23)系统利用步骤(22)中得到的特征向量对文档编号集进行排序;
(24)系统根据步骤(23)中得到的有序的文档编号集读取相应文档概要密文;
(25)将文档概要密文解密;
(26)将解密后的文档概要显示给用户;
(27)根据用户的选择获取相应的文档密文;
(28)对文档密文进行解密;
(29)将解密后的文档显示给用户。
(二)下面结合图2分别对各模块在上述步骤中的作用作进一步详细地说明:
1、原始文本处理模块100:
文本的预处理主要包括有两个方面:物理上,是对文档实物电子化处理;逻辑上,是对电子文档归一化和分类处理。如图2所示,该原始文本处理模块100包括有转化单元110、提取单元120和概要单元130,其中,转化单元110实现电子化纸质文档,就是使纸质文档经过扫描等方式后,得到可以处理的电子化原始文档,以及,将需要处理的电子文档统一转化为纯文本文档;提取单元120负责对上述纯文本文档中的文档信息进行提取,提取的信息包括但不限于主题(标题、摘要、关键字)、正文、附加属性(作者、作者单位、来源、时间);概要单元130将主题、摘要、作者、时间、来源等组织成文档概要。
2、分词模块200:
分词模块200用于对所述原始文本处理模块所提供的文档主题、正文及附加属性等进行分词并提取特征向量,以及,用于对所述密文检索模块提供的检索词/串进行分词和查询扩展。其中,分词单元210对传送过来的主题、正文、附加属性、检索词/串等进行分词;特征向量单元220从分词结果中提取文档特征词,形成特征向量;查询扩展单元230对检索词/串分词进行查询扩展。
3、加密模块300:
加密模块300,包括提供加密和解密功能,具体包括有文档加密单元310、分词加密单元320、分词位置加密单元330:
(1)文档加密单元310,负责对原始文本预处理模块100传送来的纯文本文档、文档概要,分词模块200传送来的特征向量进行加密处理;该文档加密单元310中,包括有文档加密信息表、加密运算器;所述文档加密信息表用于获取对纯文本文档、文档概要、特征向量加密所需的密钥和加密算法;
(2)分词加密单元320,负责对分词模块200传送来的分词明文进行加密处理。分词加密单元320中包括有分词分组子模块、分词分组加密信息表、加密运算器。所述分词分组加密信息表用于获取对分词加密所需的密钥和加密算法;其加密过程中还需要使用到密钥管理器、加密算法库。在对分词进行加密时,利用分词分组加密信息表中的参数计算分词加密密钥,为相同的分词提供相同的加密算法和密钥,保证相同的分词加密的密文结果相同。
所述分词分组子模块负责对分词明文进行分组,其分词分组方法包括分词分组创建和分词分组更新两种操作,其中分词分组创建是对来自分词模块200的分词明文进行随机分组,分词分组更新是使每个分词在不同的周期内属于不同的分词分组,增强分词分组的随机性。
1)分词分组创建
分词分组创建时,分词加密单元320首先接收来自分词模块200的分词明文,根据分词分组加密信息表对分词明文进行分组,并将处理得到的分词分组信息发送给密钥管理器;所述密钥管理器根据分词分组信息到加密算法库中提取加密算法,并计算分词分组密钥,然后对分词进行加密处理,并将得到的密文分词发送给密文索引模块500。
2)分词分组更新
由系统触发当前分词分组与它相邻的下一个分词分组之间的更新。因为密钥管理器是利用分词分组信息生成分词分组密钥,所以系统会同时触发索引词密文的更新。为了防止索引词密文比较频繁的更新,将分词组间更新的周期设置为分词分组更新的周期的整数倍。
分词分组更新时,分词分组子模块随机交换相邻的两个需要更新的分词分组中的分词,得到并保存新分词分组信息;根据分词分组加密信息表查找加密算法库,得到两个相邻分词分组当前的分词分组加密算法和下一周期的新分词分组加密算法;根据新旧分词分组和分词分组当前周期分别计算两个相邻分词分组的当前分词分组密钥和下一周期的新分词分组密钥;根据新旧密钥对和加密算法对,加密分词分组中的各个分词,得到新旧分词密文对集;根据新旧分词密文对,更新旧分词密文;更新结束。
(3)分词位置加密单元330:包括有分词位置加密信息表、加密运算器;所述分词位置加密信息表用于获取对分词位置信息加密所需的密钥和加密算法;
所述文档加密单元310、分词加密单元320、分词位置加密单元330在加密过程中还需要使用到密钥管理器、加密算法库;
4、文档密文存储模块400
文档密文存储模块400用于分布存储、提供文档概要密文和文档密文,包括有文档密文分布代理模块410和分布式文档密文管理模块420。文档密文分布代理模块410根据文档标准码将文档密文和文档概要密文分发到相应的文档密文服务器。分布式文档密文管理模块420用来管理文档密文和文档概要密文,可由若干个文档密文服务器、文档概要密文库和文档密文库组成。文档密文服务器负责对所属的文档概要库和文档密文库进行存取。
下面结合图3介绍文档密文库和文档概要密文库的创建过程:
(1)原始文本处理模块100对文档进行预处理,生成文档编号、文档标准码、纯文本文档、文档概要;
(2)对纯文本文档和文档概要加密;加密过程如下:加密模块300收到一篇纯文本文档和文档概要,向加密模块300的加密算法库获取一个随机的文档加密算法,由加密模块300的密钥管理器生成文档加密密钥,同时密钥管理器向文档加密信息表新增一条记录;使用该算法和文档加密密钥对纯文本文档和文档概要加密,得到文档密文和文档概要密文,由加密模块300将文档密文和文档概要密文传给文档密文存储模块400;
(3)文档密文存储模块400中的文档密文分布代理模块410根据文档标准码对文档密文和文档概要密文分发到相应的文档密文服务器;文档密文服务器把文档密文和文档概要密文存放到相应的文档密文库和文档概要密文库。
5、密文索引模块500:
密文索引模块500包括有密文分词分布代理模块510、分布式密文索引管理模块520。其中,密文分词分布代理模块510负责将密文分词分布到索引服务器上;分布式密文索引分布管理模块520包括有至少一个索引服务器和若干个密文索引库,由索引服务器管理各个密文索引库;各索引服务器接收来自所述加密模块提供的密文分词和分词位置信息创建索引,存储密文索引到相应的密文索引库;索引服务器包括有文档编号信息表;所述文档编号信息表用于记录文档对应的伪文档编号组;所述伪文档编号组是文档编号的一个一对多映射组成的集合,由系统生成。
(1)密文动态后继树索引结构
在本发明密文全文检索系统中,还应用有本发明人首次提出的密文动态后继树索引结构,下面结合图4和实例进一步介绍:
密文动态后继树索引是一个森林,其每一棵子树的结构包括树根的密文,树叶的密文,以及伪文档编号、树叶位置、树叶关联位置、树叶变种组成的树叶信息集的密文;
树根,用于指代位于树根的分词;
树叶,即树根的后继,用于指代位于树叶的分词;
伪文档编号,是伪文档编号组的一个元素;
树叶位置,用于指代当前树叶在文档中的位置;
树叶关联位置,用于指代指向当前树叶的后继的分词的指针;
树叶变种,用于指代代替原树叶的一串字符串;
子树的索引结构可以表示为:树根<树叶([伪文档编号,{(树叶位置,树叶关联位置)}],树叶变种)>,其中同一树根下的树叶密文之间互不相同;[伪文档编号,{(树叶位置,树叶关联位置)}]为一个树叶信息,由伪文档编号、位置列表组成,伪文档编号用来干扰文档的真正编号,以防止攻击者获得位置信息后拼凑出该篇文档的密文;一片树叶对应一个树叶信息集和一个树叶变种,树叶变种允许为空,但树叶信息集不能为空。
例:密文动态后继树索引
En(H(a))<En(H(a))(En([3,{(3,4)}],1v1)),En(H(b))En([3,{(1,2),(9,10)}],1v2))>的示意图如图4所示,图中灰色部分表示进行加密或者单向散列后加密。
(2)密文动态后继树索引创建
密文动态后继树索引创建时,如图5所示,分词模块200接收来自原始文本处理模块100的主题、正文及附加信息,由分词单元210对这些信息进行分词处理;分词单元210将得到的分词传送给加密模块300,由其分词加密单元320对分词进行加密;分词加密单元320将密文分词传送给密文索引模块500,由密文分词分布代理模块510提取密文分词对应的文档标准码,根据文档标准码将密文分词分布到分布式密文索引管理模块520中对应的索引服务器;索引服务器为新增的各文档编号分配伪文档编号组,并记录到文档编号信息表;查找当前可用的索引库,并将此库中受新增文档影响的树叶及树叶信息集发送到加密模块300;分词位置加密单元330对接收到的树叶的树叶信息集解密后发送回相应的索引服务器;索引服务器随机选取伪文档编号为相应文档创建索引;索引服务器将相应的树叶信息集发送到分词位置加密单元330;分词位置加密单元330对接收到的树叶信息集进行加密,加密后传回索引服务器;索引服务器将收到的密文索引存储到相应的密文索引库;
密文动态后继树索引结构中所有的树根节点组成一个树根表,相同树根下的所有树叶节点组成一个树叶表;每个树根表项对应一个树叶表,每个树叶表项对应一个树叶信息集和一个树叶变种。其创建算法如算法1所示。
算法1:密文动态后继树索引创建算法
输入:密文分词
输出:密文索引文件
for(每个密文分词)
{
把密文分词插入索引;
if(树叶信息集长度大于平均长度)
进行树叶信息集划分;
}
加密树叶信息集并存盘;
算法结束。
(3)树叶信息集加密
为保证索引的安全,对树叶信息集进行加密,屏蔽树叶分词在原文档中的位置信息。由于高频词的树叶信息集长度可能过长,容易让攻击者通过统计密文长度而获得高频词相关信息,因此我们采用了树叶信息集划分的方法。该方法均衡了树叶信息集长度,可防止密文长度统计攻击。下面描述几个定义:
树叶信息集长度:一个树叶信息集所包含的字节数;
树叶信息集平均长度:密文动态后继树索引中,全部树叶信息集所包含的字节数的平均值;
树叶信息集划分:在密文动态后继树索引中,任意一个树叶信息集的长度若大于树叶信息集平均长度,则将其划分为多个无交集子集,各子集长度在系统设定的范围内,并为除首个树叶信息集子集之外的各子集分别随机生成树叶变种,使每个子集都对应一个树叶变种或一片树叶。
下面进一步描述树叶信息集的加密过程:
1)对一个树叶信息集明文,分词位置加密单元330向加密模块300中的密钥管理器请求对应的分词位置密钥和分词位置加密算法编号;
2)根据密文分词,在分词位置加密信息表中获取密钥生成参数和分词位置加密算法编号,并传送给密钥管理器;
3)分词位置加密单元330根据分词位置加密算法编号从加密算法库中获取对应的分词位置加密算法,并用分词位置密钥对树叶信息集明文进行加密。
(4)索引密文更新包括分词密文的更新和树叶信息集密文的更新:
分词密文的更新:由系统触发,按分词分组逐步更新,以密文索引库返回成功更新响应后重置更新计时器为结束。其详细过程见分词分组方法中分词分组的更新。
树叶信息集密文更新:由系统触发,按分词分组逐步更新,以密文索引库返回成功更新响应后重置更新计时器为结束。密钥管理器首先接收来自分词位置加密信息表中需要更新的树叶信息集对应的加密信息;根据加密信息计算分词分组密钥,新旧分词位置密钥;查找加密算法库,得到分词分组加密算法和新旧分词位置加密算法;加密运算器对分词进行加密得到密文分词;根据密文分词在密文索引库中查找相应的树叶信息集密文;分词位置加密单元330根据旧分词位置密钥和算法对树叶信息集密文解密,得到树叶信息集明文;用新分词位置密钥和算法对树叶信息集明文进行加密,得到新的树叶信息集密文;用新树叶信息集密文替换密文索引库中的旧树叶信息集密文。
(5)更新粒度为文档局部级的密文动态后继树索引更新方法
密文动态后继树的索引更新是在密文状态下用更新粒度为文档局部级的索引动态更新算法,实现密文动态后继树索引的高动态性,提高密文索引更新的效率。密文动态后继树上更新粒度为文档局部级的索引动态更新主要包括增加、删除和修改操作。
增加操作是对添加文本的前驱的树叶关联位置进行修改,使其指向添加文本的首字符树叶位置,同时将前驱树叶原先的关联位置值写入添加文本的尾字符树叶关联位置。每次插入新的位置信息后,将该密文分词的树叶信息集长度与平均长度进行比较,若小于平均长度,则无需进一步处理对应的树叶信息集,增加操作完成;若大于平均长度,则需要对该分词的树叶信息集进行树叶信息集划分,同时根据划分的子集数量n,随机产生n-1个树叶变种,将树叶变种插入到对应树根的树叶表中。
在进行删除操作时,如果需要对包含两个以上的树叶信息集进行操作,则先将其解密并合并成一个树叶信息集。在单个树叶信息集上,修改删除部分的前驱的树叶关联位置,并删除需要删除的位置信息,再将删除后的树叶信息集进行长度均衡化处理,加密并存盘。
修改操作:以文本删除及添加的方式来实现,可以看成删除和增加的复合操作。
更新过程如算法2所示。
算法2:密文状态下更新粒度为文档局部级的索引动态更新算法
输入:文档变更部分
输出:变更后的索引文件
对索引中每个分词的树叶信息集进行解密;
把文档变更部分在旧文档中的上下文位置信息保存到临时状态表;
if(增加)对变更部分用相对位置创建树叶信息再并入原索引中;
else
if(删除)在原索引中直接删除变更部分;
else在原索引中直接对变更部分修改;
对索引中每个分词的树叶信息集进行加密;
算法结束。
例:有一文档编号为3的文本:acbbba#,原文本的索引信息为:{En(H(a))<En(H(c))(3,{(2,3)}),#>,En(H(b))<En(H(a))(3,{(6,#)}),En(H(b))(3,{(4,5),(5,6)})>,En(H(c))<En(H(b))(3,{(3,4)})>}。
在第4个分词后插入字符串bc,得到新文本:acbbbcba。根据算法2的描述:(1)解密每个树叶分词的树叶信息集;(2)记录插入字符串bc在原文本中上下文的位置信息到临时状态表;(3)对插入字符串bc创建树叶信息,得到{En(H(b))<En(H(b))(3,{(-1,-2)})>,En(H(b))<En(H(c))(3,{(-2,5)})>,En(H(c))<En(H(b))(3,{(5,6)})>};(4)将该树叶信息插入原索引中,并根据临时状态表中的记录修改密文动态后继树索引。
在第2个分词后删除字符串bbb,得到新文本:aca。根据算法2的描述:(1)记录删除字符串bbb原文本中上下文的位置信息到临时状态表;(2)在原索引中将密文动态后继树索引En(H(b))<En(H(b))(3,{(4,5),(5,6)})>,En(H(c))<En(H(b))(3,{(3,4)})>中的En(H(b))(3,{(4,5),(5,6)}),En(H(b))(3,{(3,4)})删除;(3)根据临时状态表中的记录修改密文动态后继树索引。
6、密文检索模块600
密文检索模块600是为系统的合法用户提供相应级别的信息检索功能,包括检索语句提交单元610和检索服务器620。检索服务器620用于将扩展密文分词集以广播方式分发到各索引服务器,接收并处理各索引服务器返回的结果,然后将得到的无序文档编号集发送给检索结果处理模块700。
密文检索过程如图6所示。在检索过程中,合法用户输入检索词/串,并由检索语句提交单元610提交给分词模块200,由分词模块200中的分词单元210和查询扩展单元230对检索词/串进行分词及扩展得到扩展分词集,再由加密模块300中的分词加密单元320对扩展分词集进行加密得到密文分词,将密文分词通过检索服务器620以广播方式分发到分布式密文索引管理模块520中各索引服务器,由各索引服务器进行检索,最后由检索服务器620收集各索引服务器返回的文档编号集,去重并提交给检索结果处理模块700。
动态后继树索引结构的检索,根据分词的个数划分为单分词检索、双分词检索、多分词检索,以检索词“qs1,qs2,…,qsi,…,qsn”为例说明,n为检索词/串的分词个数,其步骤如下:
1)判断检索词/串的分词个数:如果n=1,则转入2);如果n=2,则转入3);否则转入4);
2)判断树根表是否存在该分词;若存在,则检索命中结果集为该分词的树叶表中所有树叶的树叶信息集的树叶位置的集合;检索结束;
3)判断树根表是否存在qs1;判断qs1的树叶表是否存在qs2;若qs1、qs2都存在,则检索命中结果集为qs2的树叶信息集的树叶位置的集合;检索结束;
4)判断树根表是否存在qs1,如果存在,判断qs1的树叶表是否存在qs2;
5)若qs1、qs2都存在,则获取qs2的树叶信息集的关联位置的集合,记为Urpi;
6)以3≤j≤n进行循环,判断qsi的树叶表是否存在qsj;若存在,则获取qsj的树叶信息集的树叶位置的集合,记为spj;计算spj与Urpi的交集,即qsj的树叶位置子集,记为Uspj;获取qsj的树叶信息集的关联位置的子集合,记为Urpj;最多循环n-2次便得到初步结果Urpj;
7)检索命中结果集为Urpj中所有树叶信息集的树叶位置的集合;检索结束。
以上的结构表明,本检索可以实现密文子串查询和检索过程按需解密:
(1)密文子串查询是密文全文检索系统查全率的重要保障。本系统模型利用树叶位置和树叶关联位置来记录待匹配子串的位置关系,在索引词密文不脱密的状态下实现子串查询,不但保证了索引库的安全,同时也节省了对密文子串查询时的开销,具有查询效率高,无漏检的特点。
(2)基于动态后继树索引结构的检索,由于该索引结构结合了词表法和单汉字法,可以实现按需解密,即只需对检索到的树叶信息集密文进行解密,提高了系统安全性和检索效率。
7、检索结果处理模块700
检索结果处理模块700负责检索结果集的排序和显示,包括检索结果排序单元720和结果显示单元730。检索结果排序单元720用于对无序的文档编号集进行排序。结果显示单元730包括文档概要显示和文档显示,文档概要显示内容包括:主题、摘要、作者、时间、来源等。图2所示的检索结果处理模块700中,从方便分析系统工作流程及保持图面整洁的角度考虑,还包括有特征向量密文库710,但根据本领域技术人员的常识,所述特征向量密文库710作为一个数据库,并不限定放置于所述检索结果处理模块700中。
检索结果处理模块700接收到检索结果集中的文档编号集,由检索结果排序单元720提取文档特征向量密文并发送到加密模块300解密,然后对结果集进行排序。根据有序的结果集提取相应的文档概要密文并解密返回给用户,再按照用户选择的文档进行文档密文提取,经过加密模块300解密后将整篇文档返回给用户。
检索结果排序及显示过程:
(1)检索结果处理模块700接收到无序的结果集,到特征向量密文库710读取相应文档的特征向量密文,将特征向量密文和文档编号发送给加密模块300;
(2)加密模块300中的密钥管理器读取文档加密信息表,动态生成文档加密密钥,并将加密密钥和文档加密算法传递给文档加密单元310。文档加密单元310对特征向量密文进行解密,得到特征向量明文;
(3)在检索结果排序单元720计算查询串与特征向量明文的相关度,对文档编号集按相关度降序排列得到有序的文档编号集,并将有序文档编号集发送给文档密文分布代理模块410;
(4)文档密文分布代理模块410根据文档标准码将文档编号发送到相应的文档密文服务器;
(5)文档密文服务器从文档概要密文库获取各文档的文档概要密文,并发送到加密模块300进行解密,其解密方法如步骤(2)所述;
(6)解密后的文档概要由结果显示单元730展示给用户;
(7)当用户选择某一篇文档后,系统从文档密文库中获取到该文档密文,解密并显示给用户。
8、系统管理模块800
系统管理模块800用来管理用户权限,对部门、角色、用户的基本信息以及它们之间的映射关系进行维护更新等;该模块包括用户信息表、角色权限表、部门信息表、用户部门关系表以及用户角色关系表;其中,角色权限表用来记录角色基本信息和角色权限,可由16位权限位串组成。
用户登录以后,由系统管理模块读取用户的角色、部门等相关信息,获取用户的权限位串,得到当前用户的操作权限。在检索过程中,系统只检索用户权限内的地域、密级的密文索引库。
在进行用户管理时,对用户账号进行权限分级,不同级别账号的权限不同,对密文按照密级分级,不同级别的密文对用户访问权限的要求也不同。为防止低权限用户访问高权限用户的信息,规定系统的读写规则为:向下看、向上写。系统可设立三权分立机制,即分别设立系统管理员、系统安全员、系统审计员。系统管理员负责操作系统和数据库系统的运行、维护、口令设置。系统安全员负责数据库的安全维护、加密数据库的密钥设置。系统审计员负责定时检查系统日志,检索各种非法操作。这样通过三权分立,就可较大程度控制高权限人员的行为。
(三)安全覆盖网及其构成方式
本发明针对涉密信息安全检索的需要,结合对等计算技术提出安全覆盖网的概念,并在此基础上构建安全的对等全文检索系统。对等全文检索利用对等网络中丰富的计算资源和检索结果缓存来提高全文检索的效率,安全覆盖网(Secure Overlay Network,SON)是按照对等节点间安全级的支配关系将对等节点组织起来形成的网络,可使对等检索只发生在符合安全要求的对等节点集中,保证了对等检索的安全性,提高了对等检索的效率。
为实现安全的全文检索系统,必须在系统中对检索内容实施访问控制。本发明统一使用安全级来描述对等网络节点的安全级别,安全级的集合是一个偏序集<L:≤>,对于任意的l1,l2∈L,如果l1≤l2,表示l2支配l1。通过对等节点间安全级的支配关系将对等节点组织起来就形成了安全覆盖网。图7给出了一个安全覆盖网的示例图(图中以圆圈表示节点),从中可以看出,安全级别高的节点直接或间接支配安全级别低的节点,安全级别越低,可支配的节点数就越少。
在实际的网络中,节点要记录安全级受自己支配的邻居节点。为提高效率,对等节点还可以记录安全级支配自己的邻居节点,以满足安全检查或操作回溯的需要。
使用UTabp记录安全级支配节点p的节点,DTabp记录安全级受节点p支配的节点,两者均位于节点p上,由节点p自己维护。
节点p加入SON的算法步骤如下:
(1)节点p在P2P网络中广播加入SON的消息;
(2)安全级支配p的节点集应答u并将p加入到自己的DTabp中
(3)安全级受p支配的节点集应答d并将p加入到自己的UTab中;
(4)节点p根据其它节点的应答,将应答u的节点集加入到支配自己的节点集UTabp中;将应答d的节点集加入到受自己支配的节点集DTabp中。
(四)基于安全覆盖网的对等全文检索
全文检索是计算密集型过程,需要大量的计算资源,而P2P网络富含计算、存储、信息等资源;基于这种现实的网络拓扑结构和应用,当索引文件是海量数据时,我们将索引文件等信息存储于P2P网络。基于安全覆盖网的对等全文检索(P2P Full_text Search)在集中式检索(Centralized Search,CSearch)的基础上,增加对等检索功能(P2P Search,PSearch)。基于安全覆盖网的对等全文检索充分利用了对等网络中的资源,通过安全覆盖网将检索参与节点限制在一个小而满足安全要求的范围内,在保证涉密信息检索的安全需求前提下,降低了系统负载,减少了网络流量,提高了检索效率。
集中式检索由节点直接向检索服务器发起,检索的结果由节点缓存,作为节点提供检索服务的数据。对等检索由对等节点在安全覆盖网中发起并执行,能够检索的对象就是各节点缓存的内容。
节点p执行检索请求q的基于安全覆盖网的全文检索步骤如下:
1.节点p自己执行q;
2.节点p将q发送给所有DTabp中的节点;
3.接收到q的节点自己执行q;
4.接受到q的节点将q发给其DTabp中的所有节点;
5.节点p收集并将对等检索结果呈现给用户,如果用户满意则结束执行;
6.节点p将q发给集中式检索服务器,缓存检索结果并向用户呈现。
安全覆盖网对等全文检索的原理图如图8所示。图中,以大圆圈表示集中式检索服务器,图中以小圆圈表示对等节点。p2节点发起检索:节点p2将请求发给p3,由p3发送给p4和p5,如果检索结果不满足要求,则p2直接向集中式检索服务器请求检索。p1节点发起检索:节点p1将请求发送给p2,p2将请求发送给p3,然后p3发送给p4和p5,如果检索结果满足要求,则不向集中式检索服务器发起检索。
(五)基于枢纽节点的索引文件副本复制机制
基于P2P网络在富含计算、存储等方面资源的特点,当索引文件是海量数据时,我们将全文检索系统的索引文件等信息存储于P2P网络。P2P网络中的节点以洪泛方式查询资源,并且节点可以自由加入或退出,基于这种现实的网络拓扑结构和应用,当索引文件是海量数据时,我们考虑通过基于枢纽节点的索引文件副本复制机制(Junction ReplicationMechanism,JRM)来实现索引文件在P2P网络中的分布存储,以降低网络中多余的数据流量。该机制通过枢纽节点的副本,保证了来自不同方向的查找可以快速得到资源,且不增加网络带宽占用,更适合于信息量巨大时的对等全文检索,进一步提高了对等网络环境下全文检索的效率。
基于枢纽节点的索引文件副本复制机制的算法包含两部分:第一部分是发现并存储枢纽节点,第二部分是通过设置不同阈值触发不同副本复制机制,其中将源节点缓存设为枢纽副本复制的补充。可设置两种不同的阈值,阈值α用作触发枢纽副本复制机制,阈值β用作触发源节点缓存机制。由于源节点缓存只是作为枢纽复制的补充,通常情况下,设置α<β以保证JRM机制的优先权。作为完整过程的一部分,JRM机制利用最近最久未访问(LeastRecently Used,LRU)来删除节点中的副本,从而降低节点的存储压力。
所述基于枢纽节点的索引文件副本复制机制下的索引文件副本复制步骤如下:
a、当保存数据的节点接收到新的查询请求后,该节点中的副本复制机制将请求中的路由信息保存在路由表中,通过比较来发现枢纽节点;
b、本复制机制统计每个枢纽节点的请求次数并设置阈值进行约束;
c、本复制机制记录查询源节点的请求次数;
d、在收到大量不同路径对同一数据的请求并达到相应阈值时,通过枢纽节点复制机制,将数据复制到这些路径的枢纽节点中;
e、在步骤d的基础上,若仍有某些源节点对一些数据的请求达到另一更高阈值时,则将数据直接在该源节点上进行复制。
基于枢纽节点的副本复制机制如图9所示。其中,A6为拥有源文件的节点;A4节点为枢纽节点,可用来存储副本。其过程为:A1和A3发出的查询在A4处交汇并传递到A6,则A4被基于枢纽节点的副本复制机制提取出来作为枢纽节点,A4和A6是查询的共有路线;当对A6的某资源请求此数超出阈值后,则启动副本复制机制,直接将数据副本复制到A4。该方法直接降低了A4到A6段的网络负载。如果A1对A4的请求超过一个更高的阈值时,则系统启动源节点缓存机制,将索引副本从A4拷贝到A1。这样降低了A1至A4间的网络负载。
Claims (8)
1.密文全文检索系统,包括有原始文本处理模块、分词模块、加密模块、文档密文存储模块、密文索引模块、密文检索模块、检索结果处理模块、系统管理模块;其特征在于:
所述原始文本处理模块(100),用于对文档的原始文本进行格式化预处理,包括电子化纸质文档和/或格式化电子原始文档,并提取其主题、正文及附加属性信息,以及,形成文档概要;
所述分词模块(200),用于对所述原始文本处理模块所提供的文档主题、正文及附加属性进行分词并提取特征向量,以及,用于对所述密文检索模块提供的检索词/串进行分词和查询扩展;
所述加密模块(300),对包括所述原始文本处理模块传送过来的纯文本文档、文档概要,所述分词模块传送来的特征向量、分词进行加密操作,并将所述特征向量密文存入特征向量密文库;对由密文索引模块传送过来的分词位置信息进行加/解密操作;对包括所述文档密文存储模块传送来的文档密文、文档概要密文进行解密;对经所述检索结果处理模块传送来的特征向量密文进行解密;并向所述文档密文存储模块、检索结果处理模块、密文检索模块、密文索引模块提供经加/解密的相应数据;
所述文档密文存储模块(400),用于分布存储、提供文档密文和文档概要密文:所述分布是按照地域、文档密级和文档分类来决定相应密文所存向的目标文档密文服务器,各文档密文服务器接收并存储来自所述加密模块提供的文档密文和文档概要密文;本模块还接受所述检索结果处理模块的密文读取请求,为加密模块提供需要解密的密文;
所述密文索引模块(500),用于分布密文分词并创建、存储密文索引,提供需要解密的密文索引,及检索到的文档编号:所述分布是按照地域、文档密级和文档分类来决定相应密文索引所存向的目标索引服务器;各索引服务器接收来自所述加密模块提供的密文分词和分词位置信息并进行索引创建;经加密后存储密文索引到相应的密文索引库;本模块还根据所述密文检索模块的密文分词检索请求,从密文索引库中检索到需要解密的索引分词位置信息密文并传送到加密模块,及,将从加密模块返回的文档编号集发送给密文检索模块;
所述密文检索模块(600),为系统的合法用户提供相应级别的信息检索服务;该模块接收合法用户输入的检索词/串,经审查过滤后提交给所述分词模块;接收加密模块发送来的扩展密文分词集并形成密文分词检索请求,然后传送到所述密文索引模块进行检索;接收密文索引模块返回的文档编号集,并提交给所述检索结果处理模块;
所述检索结果处理模块(700),用来接收并处理所述密文检索模块提供的文档编号集,并将经过排序处理后得到的结果集返回给检索用户;根据所述密文检索模块提供的文档编号集,从特征向量密文库中取出相应的特征向量密文,经加密模块解密后对文档编号集合进行排序;把有序的文档编号集发送给文档密文存储模块;接收经所述加密模块解密的相应文档概要并显示给用户;根据用户选择的文档概要明文提取相应文档密文,经加密模块解密后显示给用户,其提取方式与提取文档概要明文相同;
所述系统管理模块(800),包括用来管理用户权限,对部门、角色、用户的基本信息以及它们之间的映射关系进行维护更新。
2.根据权利要求1所述的密文全文检索系统,其特征在于,
所述原始文本处理模块(100),包括有转化单元(110),提取单元(120),概要单元(130);所述转化单元(110),用于电子化纸质文档,及,将需要处理的电子文档统一转化为纯文本文档;所述提取单元(120),用于对转化单元(110)提供的纯文本文档中的文档信息进行提取,提取的信息包括主题、正文、附加属性;所述概要单元(130),将所述提取单元(120)提供的包括主题、摘要、作者、时间及来源组织成文档概要;
所述分词模块(200),包括有分词单元(210),特征向量单元(220),查询扩展单元(230);所述分词单元(210),用于对传送过来的包括主题、正文、附加属性、检索词/串进行分词;所述特征向量单元(220),从分词结果中提取文档特征词,形成特征向量;所述查询扩展单元(230),对检索词/串分词进行查询扩展;
所述加密模块(300),包括有文档加密单元(310)、分词加密单元(320)、分词位置加密单元(330);所述文档加密单元(310)负责对原始文本预处理模块(100)传送来的纯文本文档、文档概要,分词模块(200)传送来的特征向量进行加密处理;文档加密单元(310)中包括有文档加密信息表、加密运算器;所述文档加密信息表用于获取对纯文本文档、文档概要、特征向量加密所需的密钥和加密算法;所述分词加密单元(320)负责对分词模块(200)传送来的分词进行加密处理;分词加密单元(320)中包括有分词分组子模块、分词分组加密信息表、加密运算器;所述分词分组加密信息表用于获取对分词加密所需的密钥和加密算法;所述分词位置加密单元(330)负责对分布式密文索引管理模块(520)传送来的分词位置信息进行加/解密;分词位置加密单元(330)中包括有分词位置加密信息表、加密运算器;所述分词位置加密信息表用于获取对分词位置信息加密所需的密钥和加密算法;所述文档加密单元(310)、分词加密单元(320)、分词位置加密单元(330)在加密过程中还需要使用到密钥管理器、加密算法库;
所述文档密文存储模块(400),包括有文档密文分布代理模块(410)和分布式文档密文管理模块(420);所述分布式文档密文管理模块(420),用来管理及存储文档密文和文档概要密文,包括有文档密文服务器、文档概要密文库和文档密文库,所述文档密文服务器负责对所属的文档概要库和文档密文库进行存取;所述文档密文分布代理模块(410),用于将文档密文和文档概要密文分发到相应的文档密文服务器;
所述密文索引模块(500),包括有密文分词分布代理模块(510)和分布式密文索引分布管理模块(520);所述分布式密文索引分布管理模块(520),包括有索引服务器和密文索引库,由索引服务器管理各个密文索引库;各索引服务器接收来自所述加密模块提供的密文分词和分词位置信息创建索引,存储密文索引到相应的密文索引库;索引服务器包括有文档编号信息表;所述文档编号信息表用于记录文档对应的伪文档编号组;所述伪文档编号组是文档编号的一个一对多映射组成的集合;所述密文分词分布代理模块(510)负责将密文分词分布到索引服务器上;
所述密文检索模块(600),包括有检索语句提交单元(610)和检索服务器(620);所述检索服务器,用于将扩展密文分词集以广播方式分发到所述密文索引模块(500)的各索引服务器,接收并处理各索引服务器返回的结果,然后将得到的无序文档编号集发送给检索结果处理模块(700);
所述检索结果处理模块(700),包括有检索结果排序单元(720)和结果显示单元(730);所述检索结果排序单元(720),用于对无序的文档编号集进行排序;所述结果显示单元(730)包括文档概要显示和文档显示。
3.根据权利要求1或2所述的密文全文检索系统,其特征在于,该系统采用的是密文动态后继树索引结构;
所述密文动态后继树索引是一个森林,所述森林由子树组成;每一棵子树的结构包括有树根的密文,树叶的密文,以及,由伪文档编号、树叶位置、树叶关联位置、树叶变种组成的树叶信息集的密文;
所述树根,用于指代位于树根的分词;
所述树叶,即树根的后继,用于指代位于树叶的分词;
所述伪文档编号,是伪文档编号组的一个元素;
所述树叶位置,用于指代当前树叶在文档中的位置;
所述树叶关联位置,用于指代指向当前树叶的后继的分词的指针;
所述树叶变种,用于指代代替原树叶的一串字符串;
所述密文检索模块利用树叶位置和树叶关联位置来记录待匹配子串的位置关系。
4.根据权利要求1或2所述的密文全文检索系统,其特征在于,本系统是一个基于安全覆盖网的密文对等全文检索系统,包括有集中式检索服务器和对等节点;
所述安全覆盖网,是将对等网络中的对等节点按照其安全级支配关系组织起来形成的网络;在该安全覆盖网中,安全级高的节点直接或间接支配安全级低的节点,同时,数据由安全级高的节点流向安全级受其支配的节点。
5.密文全文创建方法,其特征在于包括以下步骤:
(1)将用户提交的涉密原始文本文档原文转化为纯文本,提取原文本文件中的主题、正文及其他附加属性,并形成文档概要;
(2)对原文本文件中的主题、正文、附加属性进行分词处理,并提取特征向量;
(3)对步骤(1)中得到的纯文本文档、文档概要分别加密;
(4)把步骤(3)中得到的文档密文分布存储到相应的文档密文库,把步骤(3)中得到的文档概要密文分布存储到相应的文档概要密文库;
(5)对步骤(2)中得到的分词、特征向量分别加密;
(6)把步骤(5)中得到的特征向量密文存储到特征向量密文库;
(7)对步骤(5)中得到的密文分词分发到各索引服务器;
(8)各索引服务器根据步骤(7)中的密文分词检索得到相应的分词位置密文;
(9)对步骤(8)中得到的分词位置密文进行解密;
(10)将步骤(9)中解密后的分词位置传回相应索引服务器;
(11)索引服务器根据分词位置创建索引;
(12)对步骤(11)中得到的索引进行加密;
(13)将步骤(12)中得到的密文索引存储到相应的密文索引库。
6.基于动态后继树索引结构的密文全文创建方法,采用了如权利要求5的密文全文创建方法,其特征在于,
1)所述步骤(5)中的分词采用如下加密方法:
a、根据分词分组加密信息表对分词明文进行分组,得到该分词的密钥生成参数和加密算法编号,并发送给密钥管理器;
b、密钥管理器根据密钥生成参数计算分词分组密钥,同时根据加密算法编号到加密算法库中提取加密算法;
c、根据所得到的分词分组密钥和加密算法,对分词进行加密;
2)所述步骤(11)中的密文索引创建采用如下方法:
a、对每个密文分词,根据文档编号信息表随机选取一个伪文档编号替换原密文分词携带的文档编号;
b、用密文分词的前驱到密文索引库中查找树根,用密文分词本身查找树叶,获取对应的树叶信息集;
c、解密步骤b中得到的树叶信息集,将密文分词的位置信息插入到相应的树叶信息集中;
d、若插入后的树叶信息集长度超过限定值,则对树叶信息集进行划分,当遇到终结符表示全文已经处理完;
e、将该索引中未加密的树叶信息集进行加密;
上述步骤d、e中的树叶信息集划分及加密方法为:
a)若树叶信息集的长度大于树叶信息集平均长度,则将其划分为若干个无交集子集,各子集长度在系统设定的范围内;
b)为除首个树叶信息集子集之外的各子集分别随机生成树叶变种,使得每个子集都对应一个树叶变种或一片树叶;
c)根据密文分词,在分词位置加密信息表中获取密钥生成参数和加密算法编号,并传送给密钥管理器;
d)密钥管理器根据密钥生成参数计算得到分词位置密钥,同时根据加密算法编号在加密算法库中提取加密算法;
e)根据d)中得到的分词位置加密算法,以及分词位置密钥对树叶信息集明文进行加密。
7.与权利要求5的密文全文创建方法相适应的密文全文检索方法,其特征在于包括以下步骤:
(1)对用户提交的检索词/串进行分词并作查询扩展;
(2)对步骤(1)中得到的扩展分词集进行加密;
(3)把步骤(2)中得到的扩展密文分词集以广播方式分发到各索引服务器;
(4)各索引服务器进行检索;
(5)系统收集各索引服务器返回的文档编号集;
(6)系统根据步骤(5)中得到的文档编号集读取相应文档特征向量密文;
(7)解密步骤(6)中得到的特征向量密文;
(8)系统利用步骤(7)中得到的特征向量对文档编号集进行排序;
(9)系统根据步骤(8)中得到的有序的文档编号集读取相应文档概要密文;
(10)将文档概要密文解密;
(11)将解密后的文档概要显示给用户;
(12)根据用户的选择获取相应的文档密文;
(13)对文档密文进行解密;
(14)将解密后的文档显示给用户。
8.基于动态后继树索引结构的密文全文检索方法,采用了如权利要求7的密文全文检索方法,其特征在于,所述步骤(4)中的检索,其步骤如下:
下文中,qs1,qs2,…,qsi,…,qsn为检索词,n为检索词/串的分词个数;
1)判断检索词/串的分词个数:如果n=1,则转入2);如果n=2,则转入3);否则转入4);
2)判断树根表是否存在该分词;若存在,则检索命中结果集为该分词的树叶表中所有树叶的树叶信息集的树叶位置的集合;检索结束;
3)判断树根表是否存在qs1;判断qs1的树叶表是否存在qs2;若qs1、qs2都存在,则检索命中结果集为qs2的树叶信息集的树叶位置的集合;检索结束;
4)判断树根表是否存在qs1,如果存在,判断qs1的树叶表是否存在qs2;
5)若qs1、qs2都存在,则获取qs2的树叶信息集的关联位置的集合,记为Urpi;
6)以3≤j≤n进行循环,判断qsi的树叶表是否存在qsj;若存在,则获取qsj的树叶信息集的树叶位置的集合,记为spj;计算spj与Urpi的交集,即qsj的树叶位置子集,记为Uspj;获取qsj的树叶信息集的关联位置的子集合,记为Urpj;最多循环n-2次便得到初步结果Urpj;
7)检索命中结果集为Urpj中所有树叶信息集的树叶位置的集合;检索结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010187384 CN101859323B (zh) | 2010-05-31 | 2010-05-31 | 密文全文检索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010187384 CN101859323B (zh) | 2010-05-31 | 2010-05-31 | 密文全文检索系统 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210075876.3A Division CN102629274B (zh) | 2010-05-31 | 2010-05-31 | 基于动态后继树索引结构的密文全文检索系统的索引更新方法 |
CN201210284284.2A Division CN102855292B (zh) | 2010-05-31 | 2010-05-31 | 密文全文检索系统的安全覆盖网构建方法及对应的全文检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101859323A CN101859323A (zh) | 2010-10-13 |
CN101859323B true CN101859323B (zh) | 2013-01-16 |
Family
ID=42945235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010187384 Expired - Fee Related CN101859323B (zh) | 2010-05-31 | 2010-05-31 | 密文全文检索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101859323B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004800A (zh) * | 2010-12-28 | 2011-04-06 | 北京数码大方科技有限公司 | Pdm系统中数据的查询方法及装置 |
CN102034049B (zh) * | 2010-12-30 | 2013-05-01 | 华中科技大学 | 海量数据压缩加密存储及检索系统及其使用方法 |
JP5606642B2 (ja) * | 2012-01-25 | 2014-10-15 | 三菱電機株式会社 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
CN103049466B (zh) * | 2012-05-14 | 2016-04-27 | 深圳市朗科科技股份有限公司 | 一种基于分布式密文存储的全文检索方法及系统 |
CN102841945B (zh) * | 2012-08-27 | 2015-06-17 | 广西大学 | 基于扩展查询似然模型的动态后继树索引裁剪方法 |
CN103455605B (zh) * | 2013-09-04 | 2016-06-01 | 电子科技大学 | 一种内网环境文件深度检索方法 |
CN103995900A (zh) * | 2014-06-10 | 2014-08-20 | 福建师范大学 | 一种密文云数据查询方法 |
WO2016056503A1 (ja) * | 2014-10-08 | 2016-04-14 | 日本電信電話株式会社 | 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム |
KR102361400B1 (ko) * | 2014-12-29 | 2022-02-10 | 삼성전자주식회사 | 사용자 단말장치, 서비스제공장치, 사용자 단말장치의 구동방법, 서비스제공장치의 구동방법 및 암호화 색인기반 검색 시스템 |
CN106202384A (zh) * | 2016-07-08 | 2016-12-07 | 清华大学 | 一种支持时序数据聚合函数的索引方法 |
CN107423341B (zh) * | 2017-05-08 | 2020-10-16 | 上海泥娃通信科技有限公司 | 一种密文全文搜索系统 |
CN108228849A (zh) * | 2018-01-10 | 2018-06-29 | 浙江理工大学 | 云网络中基于类别分组索引的密文排序搜索方法 |
CN109255248A (zh) * | 2018-08-28 | 2019-01-22 | 福建南威软件有限公司 | 一种基于加解密算法的全文检索方法 |
CN109711147B (zh) * | 2019-01-02 | 2020-06-02 | 浪潮商用机器有限公司 | 操作系统的三权分立管理方法、装置、系统及存储介质 |
CN114095406B (zh) * | 2020-08-07 | 2023-04-21 | 中国科学院数据与通信保护研究教育中心 | 一种密文数据机密性检测方法及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932816A (zh) * | 2006-09-30 | 2007-03-21 | 华中科技大学 | 基于密文的全文检索系统 |
CN101520800A (zh) * | 2009-03-27 | 2009-09-02 | 华中科技大学 | 一种基于密文的安全全文索引和检索系统 |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
-
2010
- 2010-05-31 CN CN 201010187384 patent/CN101859323B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932816A (zh) * | 2006-09-30 | 2007-03-21 | 华中科技大学 | 基于密文的全文检索系统 |
CN101520800A (zh) * | 2009-03-27 | 2009-09-02 | 华中科技大学 | 一种基于密文的安全全文索引和检索系统 |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101859323A (zh) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101859323B (zh) | 密文全文检索系统 | |
CN108712366B (zh) | 云环境中支持词形词义模糊检索的可搜索加密方法及系统 | |
Chuah et al. | Privacy-aware bedtree based solution for fuzzy multi-keyword search over encrypted data | |
CN101561815B (zh) | 分布式密文全文检索系统 | |
CN100424704C (zh) | 基于密文的全文检索系统 | |
Song et al. | Discovering high utility itemsets based on the artificial bee colony algorithm | |
CN103970889A (zh) | 一种中英文关键词模糊搜索的安全云盘 | |
Elkana Ebinazer et al. | ESKEA: enhanced symmetric key encryption algorithm based secure data storage in cloud networks with data deduplication | |
CN102855292B (zh) | 密文全文检索系统的安全覆盖网构建方法及对应的全文检索方法 | |
CN103414555B (zh) | 阵列基于io块加密的密钥管理方法 | |
Mittal et al. | Privacy preserving synonym based fuzzy multi-keyword ranked search over encrypted cloud data | |
Krishna et al. | Dynamic cluster based privacy-preserving multi-keyword search over encrypted cloud data | |
Hua et al. | An enhanced wildcard-based fuzzy searching scheme in encrypted databases | |
CN113626836A (zh) | 一种基于lsm的对称可搜索加密方法及系统 | |
CN110324402B (zh) | 一种基于可信用户前端的可信云存储服务平台及工作方法 | |
CN102629274B (zh) | 基于动态后继树索引结构的密文全文检索系统的索引更新方法 | |
Zhou et al. | SAPMS: a semantic-aware privacy-preserving multi-keyword search scheme in cloud | |
CN109165226B (zh) | 一种面向密文大型数据集的可搜索加密方法 | |
Gampala et al. | An efficient Multi-Keyword Synonym Ranked Query over Encrypted Cloud Data using BMS Tree | |
Mbinkeu et al. | Reducing disk storage with sqlite into bitcoin architecture | |
Wang et al. | Block-Based Privacy-Preserving Healthcare Data Ranked Retrieval in Encrypted Cloud File Systems | |
CN110569327A (zh) | 一种支持动态更新的多关键字密文检索方法 | |
Gao et al. | Mimir: a term-distributed retrieval system for secret documents | |
Li et al. | A Multi-attribute keyword Retrieval Mechanism for encrypted cloud data | |
Xia | An Improved Multi-Keyword Ranked Search over Encrypted Cloud Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |