分布式密文全文检索系统的制作方法

文档序号:6483250阅读:204来源:国知局

专利名称::分布式密文全文检索系统的制作方法
技术领域
:本发明属于计算机检索
技术领域
,具体涉及一种分布式环境下的密文全文检索系统。
背景技术
:随着通信、计算机及信息技术的发展,在党政机关、企事业单位、财政金融、国防军工等相关部门中,信息的保有量和交流量都达到了前所未有的数量级,如何在这海量信息中快速地找到需要的信息已成为迫切的需求。与此同时,很多商业组织和国家涉密机构需要在网络环境中存储和处理大量涉密文档,尽管全文检索和加密技术都已相对成熟并且有较好的商业产品出现,但是如何在分布式环境中高效地存储和检索这些涉密的非结构化文本数据,已成为一个急待解决的研究课题。国外的全文检索技术已经发展得较为成熟,对于比较复杂的Internet,已经有不少颇具影响的大型全文检索工具,如Google、Yahoo等,这些系统收集了Internet上几百万至上亿的主页,对它们建立了全文检索索引库,使用户能在Internet上快速查找到自己所需的信息。但对中文用户而言,国外的全文检索技术有很多不适用的地方。中文全文检索技术在原理上同西文全文检索是一致的,但汉字本身的特点使中文系统的实现比西文系统更为复杂。因此,国外许多完善的全文检索系统很难应用于处理汉字信息。我国对全文检索技术的研究已经有一段时间了,也取得了一定的成果。自主中文全文检索技术已经达到了较高水平,在传统市场也获得了很高的占有率。主要集中在汉字全文检索、超文本全文检索、网络环境下的全文检索技术等方面。中文全文检索技术的研发始于1987年左右,目前已经商品化的软件有近10种。国内厂商自主开发的全文检索系统居于领先地位,市场占有率超过90%以上,包括易宝北信的智能全文检索系统TRS、中国科技信息所的QuickIMS、南辰电脑公司的南辰多媒体全文检索系统、浙江经济信息中心的天宇(CGRS)等。东方龙马公司开发的中文全文检索系统Wisebase以及北京大学方正出版系统工程公司推出的方正渊博信息检索系统等。基于WWW网的中文全文检索系统也有很多,典型的有百度(Baidu)、谷歌(Google中文)等,其它如北京大学开发和维护的"天网搜索"以及华南理工大学提供的"木棉搜索",它们都能够对分布在中国教育科研网的主要站点上的有关信息进行全文检索,不过这些网上全文检索应用目前还都处于实验阶段,检索范围以及索引库维护等问题尚未得到很好解决。虽然目前全文检索的技术已经比较成熟,而且得到了广泛的应用,但在安全性能上还远不能满足用户的实际需求。随着信息系统在办公和商用领域的广泛应用和开展,虽然极大地提高了办公效率,但也给信息系统带来了新的安全方面问题。信息安全一直是所有信息化系统建设中一个不可回避而且十分紧迫、重要的问题。在国防、安全、公安、外交、商务、金融等高涉密单位,文献信息资源的检索利用必须建立在高安全等级的基础之上。而目前市场上并无基于密文的全文检索产品,开发分布式密文全文检索系统正是在实施高安全等级环境下海量信息共享应用背景下提出的迫切需求。虽然全文检索技术和加密算法都已经非常的成熟并且有很好的商业产品出现,但是如何在分布式环境中实现密文全文检索,在国内外的相关研究和产品领域内仍然还是空白。分布式环境下加密技术和全文索引的结合有很多难点,首先,为了保证索引信息的安全可靠,对于索引项的信息必须是经过加密处理的,而经过加密技术处理之后,密文信息就不能采用明文状态下的匹配技术进行处理,因此经过加密技术处理之后的文本信息是不能与现有全文检索机制直接结合而实现密文全文检索的。其次,现有的全文检索系统往往是构建全文索引,从而索引的数据量往往很大,而加密技术会进一步带来信息量的增大。因此将索引分布式地存储能有较解决这一问题,但在分布式环境下构建密文全文检索的实用系统,把加密技术引入全文检索系统中效率问题是必须予以考虑及高度重视的。
发明内容本发明的目的在于提供一种分布式密文全文检索系统,该检索系统具有安全性强、执行效率高和可扩展性强的特点。本发明提供的分布式密文全文检索系统,其特征在于该系统包括数据库、登录模块、查询模块、结果集显示模块、文档管理模块、索引模块、审计管理模块、用户管理模块和权限管理模块;数据库用于存储用户及用户权限方面的信息;登录模块用于接收来自用户输入信息的服务请求,通过与数据库的信息交互,对服务请求进行验证,验证成功则允许用户进入系统,并且在登录模块获得该用户在数据库中的相关信息,保存在会话中;当用户以管理员身份成功登录时,则进入后台管理首页的界面,并能够选择对审计管理模块、用户管理模块和权限管理模块这三个模块进行管理;当用户以普通用户身份成功登录时,则进入査询模块;如果验证失败,则拒绝用户进入系统;不管用户是否成功登录系统,都需要把用户的登录操作信息加入数据库中,以便日后追溯;查询模块用于接收用户输入的检索信息,将此检索信息记录到数据库中,并对检索信息进行分词、加密得到密文检索词,然后将所有密文检索词进行Hash运算,分别映射到相应的密文索引服务器中的密文索引库进行査询匹配,这些密文索引库返回和检索词匹配并且用户有权访问的所有文档信息(称为结果集),根据各检索词匹配返回的结果集进行合并处理后排序,将排序后的结果集交给结果集显示模块处理;其中,密文索引服务器是专门用来构建和存储密文索引的计算机,本系统中共有n台密文索引服务器,n为正整数;结果集显示模块用于接收来自查询模块的结果集,并根据相应密文文档库的信息来建立结果集的文摘信息和快照信息,并将用户査看快照信息的记录存储于数据库中;文档管理模块对原始纯文本文件进行加密处理,通过对密文文档名进行Hash处理,将这些密文文档映射到若干个密文文档服务器上存储,形成分布式的密文文档库;此外,文档管理模块还为索引模块提供所有纯文本文件的内容和标题信息;其中,密文文档服务器是专门用来存储密文文档的计算机,本系统中共有m台密文文档服务器,m为正整数;索引模块接收来自文档管理模块的纯文本文件的内容和标题信息,利用分词策略对纯文本文件的内容和标题信息进行分词处理,得到索引词,然后加密索引词,再将加密后的索引词进行Hash运算,映射到若干个密文索引服务器上,并结合文档相关信息(如文档级别)建立分布式的密文索引库;审计管理模块主要是对用户的所有操作提供查询功能,可以通过用户IP地址、用户名和时间范围来对用户的操作进行查询,还可查询某个检索内容被哪些用户查询过;审计管理模块接收来自用户输入的查询信息,通过与数据库的信息交互,获得满足査询条件的所有记录;这些记录主要涉及前台用户的登录操作,检索信息和查看快照操作的记录,后台的用户和级别的添加、删除、修改操作记录;用户管理模块用于接收来自管理员的操作请求,对用户信息进行相应的管理,并与数据库进行交互;分别实现了显示用户信息,添加用户信息,删除用户信息,修改用户信息等功能,并将管理员的操作记入数据库中;权限管理模块用于接收来自管理员的操作请求,对用户权限,文档权限进行相应的管理,并与数据库进行交互;其中用户权限管理实现了显示用户权限信息,添加用户权限信息,删除用户权限信息,修改用户权限信息功能;文档权限管理实现了显示文档权限,添加文档权限,删除文档权限,修改文档权限等功能;此外,权限管理模块将管理员的操作记入数据库中。本发明系统将密文索引和密文文档分别采用哈希(Hash)的方式进行分布式存储,并且结合访问控制技术对密文文档进行高效全文检索以及动态地变更索引的密钥以保证系统的安全性。,本发明系统可以实现分布式条件下的密文全文信息检索,保证了敏感数据的安全性检索。具体而言,本发明具有如下优点-(1)安全性强本系统的安全性主要是通过分布式存储、加密处理、访问控制及审计来达到的。在本系统中,放在密文文档和密文索引服务器上面的所有的信息都是密文的,这样保证了敏感信息的安全性。在信息査询过程中,只有拥有査看文档级别的用户才可以检索到该文档,这样也进一步保证了防止信息泄密。审计部分记录了所有用户的一些关键性的操作,便于追溯,又进一步的保证了系统的安全性。更重要的是,密文索引是分布式地存储于若干个密文索弓I服务器上,攻击者很难同时获得所有密文索引服务器上索引库的信息。(2)执行效率高本系统主要用于密文的全文信息检索,因而要求有较高的执行效率。在本系统中,建索引的过程就充分考虑了效率问题,将访问控制信息加入到索引中,用户检索到的文档都是其有权限能够访问到的文档。此外,服务器上缓存有用户近期检索的一些检索词对应的结果集,可以提高用户下次检索这些词的效率。最后,在显示用户检索信息前,系统对这些检索到的信息进行优化排序,让用户能够尽快的得到自己想要的(3)可扩展性强本系统的开发是基于分布式环境的,密文索引词通过Hash算法映射到若干个密文索引服务器上存储。同时,密文文档也采用Hash算法映射到若干个密文文档服务器上存储。这样在很大程度上减轻了服务器的负担,因此可扩展性强。图1是本发明系统的体系结构图;图2是本发明系统的结构示意图;图3是登录模块的过程图;,图4是查询模块的过程图5是结果集显示模块的过程图;图6是分布式密文文档库的构建图;图7是分布式密文索引库的构建图;图8是词索引构建结构图;图9是索引模块的过程图。具体实施例方式如图l所示,本发明系统的功能可以划分为构建密文索引、密文全文查询和后台管理。从结构上而言,本发明系统包括数据库100、登录模块200、查询模块300、结果集显示模块400、文档管理模块500、索引模块600、审计管理模块700、用户管理模块800和权限管理模块900。下面结合附图和实例分别对各模块作进一步详细的说明。如图2所示,数据库100存储的数据包括用户信息库110、用户级别信息库120和文档级别信息库130和审计信息库140。其中用户信息库110主要包括用户名、密码、MD5值和用户级别名称,还可以增设性别、年龄、电话和地址等信息;用户级别信息库120包括用户级别名称和用户级别值;文档级别信息库130包括文档级别名称和文档级别值,并且它是事先定义好的,一般不需要改动里面的信息。审计信息库140包括用户名、IP地址、操作内容和操作时间等信息。数据库100接收来自登录模块200的查询请求,在用户信息库110中进行查询匹配,反馈信息给登录模块200,同时将用户登录操作的记录加入数据库100的审计信息库140中;数据库100接收来自查询模块300的査询信息,将用户的査询信息记载到审计信息库140中;数据库100接收来自结果集显示模块400的信息,将用户的查看操作记载到审计数据库140中;数据库100接收来自审计管理模块700的査询请求,在审计信息库140中查询匹配,反馈信息到审计管理模块700;数据库IOO接收来自用户管理模块800的查询、添加、修改、删除操作请求,在用户信息库110中进行相应的处理,反馈信息给用户管理模块800;数据库IOO接收来自权限管理模块900的查询、添加、修改、删除操作请求,在用户级别信息库120、文档级别信息库130中进行相应的处理,反馈信息给权限管理模块900。登录模块200是整个系统的入口,它包括用户名验证模块210、密码验证模块220和校验模块230。用户名验证模块210用于将用户登录系统时输入的用户名信息与数据12库100的用户信息库110进行匹配,如果匹配成功,说明数据库中存在该用户的纪录,用户名是正确的;如果匹配不成功,说明数据库中不存在该用户,用户名是错误的。密码验证模块220用于从数据库100的用户信息库110中获得该用户密码并进行解密,然后和用户登录系统时输入的密码进行匹配,看用户输入的密码是否正确。校验模块230采用MD5(Message-Digestalgorithm5,信息-摘要算法),用于验证数据库中存储的密码是否被恶意改变过。当某个用户的密码被窜改了,恶意攻击者仍然无法通过这个用户名和窜改的密码进入系统,因为MD5的校验将会失败。这样进一步保证了系统的安全性。如图3所示,登录模块200负责(1)接收来自用户输入的登录信息,将信息提交给系统,系统会根据用户名在数据库100的用户信息库110中去检索是否有此用户名存在,如果此用户名不存在,则转到(6),否则就会从用户信息库110中获取该用户名的其它相关信息(如密码、用户级别、MD5信息),并保存在会话中;(2)把从数据库中获得的密码信息进行解密;(3)检查用户输入的密码信息是否与(2)中的解密的密码信息一致,如果不一致,则转到(6);(4)把从数据库中得到的密码信息MD5摘要处理,再与从用户信息库110中获得的MD5信息相比较,如果不一致,则转到(6);(5)成功进入系统(以普通用户身份登录的用户进入查询模块,而以管理员身份登录的用户则进入后台管理),并把用户本次登录的记录加入数据库的审计信息库140中;(6)登录失败,需重新登录,并把用户本次登录的记录加入数据库的审计信息库140中。查询模块300是本系统提供给用户检索信息的模块,它包括査询分词模块310、査询加密模块320、査询子模块330、访问控制模块340、密文检索词哈希350、结果集合并模块360和结果集排序模块370。查询分词模块310接收来自用户的检索命令,采用中文分词策略对检索命令进行分词,并将分词处理后的检索词发送给查询加密模块320。査询分词模块310对用户的检索命令进行语言词法分析,适应不同语言的文档源和不同形式的检索命令,它负责把一个输入流中的字符串转换成一系列标记的集合,这些标记将是建立索引的基本单位,如对中文以汉字作为基本的索引单位,并且可以定义过滤器,实现中英文停用词的过滤。本系统直接采用现有的中文分词策略。査询加密模块320用于对经査询分词模块310处理后的检索词进行加密处理,并将加密处理后的检索词发送给査询子模块330。为了提高速度,最好选择对称加密算法。查询子模块330将加密处理后的检索词进行Hash运算,分别映射到与其对应的密文索引服务器上进行匹配,并利用访问控制模块340对匹配文档信息进行筛选,从匹配的文档信息中选择满足访问控制要求的那部分文档信息作为结果集。并将各个密文索引服务器上匹配获得的结果集发送给结果集合并模块350。访问控制模块340用于对査询子模块330利用若干个密文检索词在索引库中査找得到的所有匹配的文档信息进行筛选,使得每个用户只能检索到其权限范围内的文档。合法用户登录系统后都带有用户级别的信息,如果用户的级别高于这个文档的级别,则该文档满足访问控制要求,将被加入结果集,否则即使此文档符合检索要求也不会被加入结果集,具体策略如下所述。在分布式密文全文检索系统中,按照用户和文档分别进行描述,用户和文档都包含级别属性,本系统中所有用户的级别按照行政级别的高低构成一个偏序集。权限的偏序集描述如表1,权限级别越小表示相应的权限越高。文档权限描述如表2所示,用户描述如表3所示,其中表3的最后一列是通过比较得到的用户可以访问到的资源。在本系统的访问控制策略中,要求每个文档只允许发布到某一个确定的行政级别,且用户只能具有一个确定的行政级别。表1用户级别描述<table>tableseeoriginaldocumentpage14</column></row><table>R32R42R53表2文档级别描述文档名称发布行政级别&2s21s32s42s53表3用户描述用户名称自身行政级别允许访问文档仏2Si,S3,S4,S5U21Si,S2,S3,S4,S5U30Si,S2,S3,S《,S5U43s5在分布式密文全文检索系统的访问控制策略中,只有当用户的行政级别权限不小于资源允许发布的行政级别的基础上,用户才有访问资源的权限。这种访问控制策略是比较符合当前保密行业公文访问控制要求的一种访问控制策略。在本系统推广使用的过程中,再可以根据各个行业的自身需求设计相应的访问控制策略。密文检索词哈希模块350用于对检索词进行Hash处理,以便于查询子模块330能准备地定位到与检索词相应的密文索引库中,使用与密文索引词哈希模块640相同的Hash算法。结果集合并模块360用于对査询子模块330中利用若干个检索词分别匹配获得的结果集进行合并操作,并将合并后的结果集发送给结果集排序模块370。结果集排序模块370用于对来自结果集合并模块360的结果集进行一个优先级排序,并将排序后的结果集发送给结果集显示模块400。匹配强度最高的文档排在结果集的最前面,这里的匹配强度是用检索词的命中个数以及命中的域(如标题域、内容域)来衡量的,当然也可以把检索词的权重加入考虑范围之中,这里为了方便,仅选择检索词命中个数来进行排序。如图4所示,查询模块的处理流程为(1)用户输入检索信息,系统会采用中文分词策略对检索信息进行分词,获得查询检索词;(2)服务器把检索词进行加密处理;(3)服务器对所有密文检索词进行Hash处理,映射到相应的索引服务器上进行密文匹对,并且在匹对信息的时候加入访问控制的限制,返回结果集。即对于命中的文档,只有用户级别高于该文档的级别,那么该文档才能加入结果集;(4)对所有检索词获得的结果集进行合并操作,(5)将合并得到的结果集进行排序,主要是利用命中检索的个数来进行排序,将命中检索词多的文档排在结果集的前面。结果集显示模块400是用户査询显示的接口,它包括文摘模块410和快照模块420。文摘模块410用于显示排序后结果集的文档中包含有检索词的文摘信息,一个文档里面可能有很多不同位置都包含有检索词,我们可以选择显示前N块文摘信息。每块文摘信息都是包含有突出显示的检索词的。类似于百度中的搜索情况。快照模块420用于显示排序后结果集中文档的全部明文文本信息,并且突出显示检索词,以便用户阅览。并且把用户已阅览文档的消息加入审计信息库140中。由于服务器上面保存的文本信息都是密文的,所以需要先对加密文本进行解密,然后进行通信加密,再将快照信息返回给用户。如图5所示,结果集显示模块的处理流程为(1)接收来自査询模块300的结果集;(2)从对应的密文文档库中获得结果集的文摘信息;(3)从对应的密文文档库中获得结果集的快照信息;(4)用户需要快照信息时,反馈快照信息给用户,并且将此操作的记录加入数据库的审计信息库140中。文档管理模块500是整个系统的起始模块,它包括纯文本文档加密模块510、构建分布式文档模块520、密文文档哈希模块530。纯文本文档加密模块510用于对归档的纯文本文档进行加密处理,以保证存储文档的安全性。构建分布式文档模块520用于将所有密文文档分布式地存储于多个密文文档服务器上,构建分布式密文文档库。密文文档哈希模块530用于将所有密文文档的文档名进行Hash处理,以便于构建分布式文档模块520能将密文文档定位到相应的密文文档服务器上存储。文档管理模块500的处理流程为(1)将归档的纯文本文档内容、文档的地址、级别等信息发送给索引模块600;(2)对纯文本文档进行加密;(3)根据密文文档名进行Hash处理,将这些密文文档分发到不同的密文文档服务器上存储。每个密文文档服务器上存储的密文文档就形成了一个密文文档库,从而所有密文文档服务器上的文档就构成了分布式的密文文档库,如图6所示。索引模块600是本系统中较重要的.一部分,它包括索引分词模块610、索引加密模块620、索引子模块630和密文索引词哈希模块640。索引分词模块610用于对所有纯文本文档的内容进行分词处理,得到索引词,并将分词处理后的索引词发送给索引加密模块620,具体分词策略与查询分词模块必需保持一致。索引加密模块620用于对索引词、纯文本文档的地址信息进行加密处理,并把加密后的索引词、文档地址信息发送给索引子模块630。其中,索弓I词采用和査询加密模块相同的加密算法,而文档地址采用安全级别更高的非对称加密算法。构建密文索引模块630是索引管理服务器将加密后的索引词进行Hash处理,映射到若干个密文索引服务器上,同时,相应文档的地址、文档级别信息也发送给对应的密文索引服务器,在这些密文索引服务器上构建密文索引库,形成分布式的密文索引库。如图7所示,如有两个文档分别为文档1和文档2。文档1的内容为"中华人民共和国";文档2的内容为"并行计算"。假定经分词处理后得到的索引词为"中华"、"人民"、"共和国"、"并行"和"计算"。对这5个词先进行加密处理,然后对加密后的密文索引词进行Hash运算,最后根据运算获得的Hash值来确定将每个密文索引词分发到与其对应的密文索引服务器上构建索引。如"中华","计算"的密文经过Hash运算后获得的值为1,那么这两个词就会被发送到第1号密文索引服务器上。当然这两个索弓I词所在文档的相关信息也同时被发送到该密文索引服务器上以便建立相应的密文索引库。密文索引的结构如图8所示,每个密文索引词与所有含有该密文索引词的文档位置对应,每个文档都有自己的内部结构,由不同的域构成,主要有文档级别域、标题域、内容域和路径域。其中文档的级别域中存储了文档的级别信息,以便于检索匹配过程中权限的匹配;标题域和内容域都是由密文索引词来构成的,区分标题和内容主要是为了在结果集排序中将标题命中和内容命中给与不同的权重;路径域用来存储该文档对应的结构化文档的存储地址信息,便于后面查看结果时的反显和快照定位。密文索引词哈希模块640用于对密文索引词进行Hash运算,使得所有密文索引词按照Hash后的值分布到n个密文索引服务器上,便于构建密文索引模块630构建分布式索引库。如图9所示,索引模块600的处理流程为(1)接收文档管理模块500的所有归档纯文本txt文件信息;(2)对纯文本信息进行分词处理,得到所有索引词;(3)对索引词进行加密处理,采用和查询模块300中相同的加密算法;(4)对加密后的索引词进行Hash处理,分发到n革密文索引服务器上;(5)利用加密后的索引词和文档地址、文档级别信息来建立分布式的索引库。审计管理模块700主要是对用户的所有操作提供査询功能,可以通过用户IP地址、用户名、时间范围以及它们的逻辑组合来对用户的操作进行查询。用户管理模块800是管理员管理用户信息时使用的模块。用户管理模块800的处理流程为(1)管理员查看用户信息,用户管理模块800根据管理员指令读取数据库100中的用户信息库110,并显示所有的用户信息;18(2)管理员填写待添加的新用户信息,用户管理模块800首先判断数据库100中的用户信息库110中该用户的用户名是否已经存在,若该用户名已经存在,返回错误提示,否则添加记录到用户信息库IIO,并将添加用户成功的记录加入数据库的审计信息库140中;(3)管理员删除用户信息,用户管理模块800根据管理员指令删除数据库100中用户信息库110的相关信息,并将删除用户成功的记录加入数据库的审计信息库140中;(4)管理员修改用户的信息,用户管理模块800根据管理员指令修改数据库100中用户信息库110的相应信息,并将修改用户成功的记录加入数据库的审计信息库140中。权限管理模块900是管理员管理权限信息时使用的模块。权限管理模块900的处理流程为(1)管理员查看用户级别信息,系统根据管理员指令读取数据库中用户级别信息库120中的信息;(2)管理员添加新的用户级别信息,权限管理模块900首先判断数据库中的用户级别信息库120中是否已经存在该级别,若已经存在,则返回错误提示,否则添加记录到用户级别信息库120,并将添加用户级别成功的记录加入数据库的审计信息库140中;(3)管理员删除用户级别信息,权限管理模块900根据用户指令删除数据库中的用户级别信息库120的相关记录,同时级联删除拥有该级别的相关用户信息,并将删除级别和用户信息成功的记录加入数据库的审计信息库140中;(4)管理员修改用户级别信息,权限管理模块900使用管理员输入的新信息,更新数据库中的用户级别信息库120,同时也更新用户信息库110中的相应信息,并将修改用户级别和用户信息成功的记录加入数据库的审计信息库140中。(5)管理员查看文档级别信息,系统根据管理员指令读取数据库中文档级别信息库130中的信息;(6)管理员添加新的文档级别信息,权限管理模块900首先判断数据库中的文档级别信息库130中是否已经存在该级别,若已经存在,则返回错误提示,否则添加记录到文档级别信息库130,并将添加文档级别成功的记录加入数据库的审计信息库140中;(7)管理员删除文档级别信息,权限管理模块900根据用户指令删除数据库中的文档级别信息库130的相关记录,并将删除文档级别成功的记录加入数据库的审计信息库140中;(8)管理员修改文档级别信息,权限管理模块900使用管理员输入的新信息,更新数据库中的文档级别信息库130,并将修改文档级别信息成功的记录加入数据库的审计信息库140中。本发明不仅局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种具体实施方式实施本发明,因此,凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都落入本发明保护的范围。权利要求1、一种分布式密文全文检索系统,其特征在于该系统包括数据库(100)、登录模块(200)、查询模块(300)、结果集显示模块(400)、文档管理模块(500)、索引模块(600)、审计管理模块(700)、用户管理模块(800)和权限管理模块(900);数据库(100)用于存储用户及用户权限方面的信息;登录模块(200)用于接收来自用户输入信息的服务请求,通过与数据库(100)的信息交互,对服务请求进行验证,验证成功则允许用户进入系统,并且在登录模块(200)获得该用户在数据库(100)中的相关信息,保存在会话中;当用户以管理员身份成功登录时,则进入后台管理首页的界面,并能够选择对审计管理模块(700)、用户管理模块(800)和权限管理模块(900)这三个模块进行管理;当用户以普通用户身份成功登录时,则进入查询模块(300);如果验证失败,则拒绝用户进入系统;不管用户是否成功登录系统,都将用户的登录操作信息加入数据库(100)中;查询模块(300)用于接收用户输入的检索信息,将此检索信息记录到数据库(100)中,并对检索信息进行分词、加密得到密文检索词,然后将所有密文检索词进行哈希运算,分别映射到相应的密文索引服务器中的密文索引库进行查询匹配,这些密文索引库返回和检索词匹配并且用户有权访问的所有文档信息,根据各检索词匹配返回的结果集进行合并处理后排序,将排序后的结果集交给结果集显示模块(400)处理;其中,密文索引服务器是专门用来构建和存储密文索引的计算机,本系统中共有n台密文索引服务器,n为正整数;结果集显示模块(400)用于接收来自查询模块(300)的结果集,并根据相应密文文档库的信息来建立结果集的文摘信息和快照信息,并将用户查看快照信息的记录存储于数据库(100)中;文档管理模块(500)对原始纯文本文件进行加密处理,通过对密文文档名进行哈希处理,将这些密文文档映射到各个密文文档服务器上存储,形成分布式的密文文档库;此外,文档管理模块(500)还为索引模块(600)提供所有纯文本文件的内容和标题信息;其中,密文文档服务器是专门用来存储密文文档的计算机,本系统中共有m台密文文档服务器,m为正整数;索引模块(600)接收来自文档管理模块(500)的纯文本文件的内容和标题信息,利用分词策略对纯文本文件的内容和标题信息进行分词处理,得到索引词,然后加密索引词,再将加密后的索引词进行哈希运算,映射到若干个密文索引服务器上,并结合文档相关信息建立分布式的密文索引库;审计管理模块(700)用于对用户的所有操作提供查询功能,通过用户IP地址、用户名、时间范围以及它们的逻辑组合来对用户的操作进行查询,还用于查询检索内容被哪些用户查询过;审计管理模块(700)接收来自用户输入的查询信息,通过与数据库(100)的信息交互,获得满足查询条件的所有记录;用户管理模块(800)用于接收来自管理员的操作请求,对用户信息进行相应的管理,并与数据库(100)进行交互;权限管理模块(900)用于接收来自管理员的操作请求,对用户权限,文档权限进行相应的管理,并与数据库(100)进行交互;此外,权限管理模块(900)将管理员的操作记入数据库(100)中。2、根据权利要求1所述的分布式密文全文检索系统,其特征在于查询模块(300)包括査询分词模块(310)、査询加密模块(320)、查询子模块(330)、访问控制模块(340)、密文检索词哈希(350)、结果集合并模块(360)和结果集排序模块(370);查询分词模块(310)接收来自用户的检索命令,采用中文分词策略对检索命令进行分词,并将分词处理后的检索词发送给査询加密模块(320);査询分词模块(310)对用户的检索命令进行语言词法分析,适应不同语言的文档源和不同形式的检索命令,它负责把一个输入流中的字符串转换成一系列标记的集合,这些标记作为建立索引的基本单位;查询加密模块(320)用于对经查询分词模块(310)处理后的检索词进行加密处理,并将加密处理后的检索词发送给查询子模块(330);查询子模块(330)将加密处理后的检索词进行哈希运算,分别映射到与其对应的密文索引服务器上进行匹配,并利用访问控制模块(340)对匹配文档信息进行筛选,从匹配的文档信息中选择满足访问控制要求的那部分文档信息作为结果集;并将各个密文索引服务器上匹配获得的结果集发送给结果集合并模块(350);访问控制模块(340)用于对查询子模块(330)利用若干个密文检索词在索引库中查找得到的所有匹配的文档信息进行筛选,使得每个用户只能检索到其权限范围内的文档;密文检索词哈希模块(350)用于对检索词进行哈希处理,以便于査询子模块(330)能准备地定位到与检索词相应的密文索引库中,使用与密文索引词哈希模块(640)相同的哈希算法;结果集合并模块(360)用于对查询子模块(330)中利用若干个检索词分别匹配获得的结果集进行合并操作,并将合并后的结果集发送给结果集排序模块(370);结果集排序模块(370)用于对来自结果集合并模块(360)的结果集进行一个优先级排序,并将排序后的结果集发送给结果集显示模块(400);匹配强度最高的文档排在结果集的最前面,该匹配强度采用检索词的命中个数以及命中的域来衡量。3、根据权利要求2所述的分布式密文全文检索系统,其特征在于索引模块(600)包括索引分词模块(610)、索引加密模块(620)、索引子模块(630)和密文索引词哈希模块(640);索弓I分词模块(610)用于对所有纯文本文档的内容进行分词处理,得到索引词,并将分词处理后的索引词发送给索引加密模块(620),具体分词策略与查询分词模块一致;'索引加密模块(620)用于对索引词、纯文本文档的地址信息进行加密处理,并把加密后的索引词、文档地址信息发送给索引子模块(630);其中,索引词采用和查询加密模块相同的加密算法;构建密文索引模块(630)是索引管理服务器将加密后的索引词进行哈希处理,映射到若干个密文索引服务器上,同时,相应文档的地址、文档级别信息也发送给对应的密文索引服务器,在这些密文索引服务器上构建密文索引库,形成分布式的密文索引库;密文索引词哈希模块(640)用于对密文索弓I词进行哈希运算,使得所有密文索引词按照哈希后的值分布到n个密文索引服务器上,便于构建密文索引模块(630)构建分布式索引库。4、根据权利要求l、2或3所述的分布式密文全文检索系统,其特征在于数据库(100)包括用户信息库(110)、用户级别信息库(120)和文档级别信息库(130)和审计信息库(140);用户信息库(110)包括用户名、密码、MD5值和用户级别名称;用户级别信息库(120)包括用户级别名称和用户级别值;文档级别信息库(130)包括文档级别名称和文档级别值;审计信息库(140)包括用户名、IP地址、操作内容和操作时间信息。5、根据权利要求l、2或3所述的分布式密文全文检索系统,其特征在于登录模块(200)包括用户名验证模块(210)、密码验证模块(220)和信息-摘要算法校验模块(230);用户名验证模块(210)用于将用户登录系统时输入的用户名信息与数据库(100)的用户信息库(110)进行匹配;密码验证模块(220)用于从数据库(100)的用户信息库(110)中获得该用户密码并进行解密,然后和用户登录系统时输入的密码进行匹配,看用户输入的密码是否正确;校验模块(230)用于验证数据库中存储的密码是否被恶意改变过。6、根据权利要求l、2或3所述的分布式密文全文检索系统,其特征在于结果集显示模块(400)包括文摘模块(410)和快照模块(420);文摘模块(410)用于显示排序后结果集的文档中包含有检索词的文摘信息,;快照模块(420)用于显示排序后结果集中文档的全部明文文本信息,并且突出显示检索词;并且把用户已阅览文档的消息加入审计信息库(140)中;对加密文本进行解密,然后进行通信加密,再将快照信息返回给用户。7、根据权利要求l、2或3所述的分布式密文全文检索系统,其特征在于文档管理模块(500)包括纯文本文档加密模块(510)、构建分布式文档模块(520)、密文文档哈希模块(530);纯文本文档加密模块(510)用于对归档的纯文本文档进行加密处理;构建分布式文档模块(520)用于将所有密文文档分布式地存储于多个密文文档服务器上,构建分布式密文文档库;密文文档哈希模块(530)用于将所有密文文档的文档名进行哈希处理,以便于构建分布式文档模块(520)能将密文文档定位到相应的密文文档服务器上存储。全文摘要本发明提供的一种分布式的密文全文检索系统,该系统包括数据库、登录模块、查询模块、结果集显示模块、文档管理模块、索引模块、审计管理模块、用户管理模块和权限管理模块;其中查询模块包括查询分词模块、查询加密模块、查询子模块、访问控制模块、密文检索词哈希模块、结果集合并模块和结果集排序模块,索引模块包括索引分词模块、索引加密模块、构建分布式索引模块和密文索引词哈希模块。本发明对文档信息进行加密处理并分布式地存储、对索引词加密并分发到不同的服务器上构建分布式的密文索引库、将分级访问控制加入到索引库中提高全文检索的安全性和有效性。本发明系统可以实现分布式环境下密文的全文信息检索,保证了敏感数据的安全性检索,本发明系统具有安全性强、执行效率高、可扩展性强的特点。文档编号G06F17/30GK101561815SQ200910062129公开日2009年10月21日申请日期2009年5月19日优先权日2009年5月19日发明者卢正鼎,炜吴,伟宋,赛宋,左翠华,文坤梅,李瑞轩,辜希武,高国强申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1