发明名称 一种基于密文的安全全文索引和检索系统
摘要 本发明公开一种基于密文的安全全文索引和检索系统。系统中,密文索引库包含密文词条倒排索引和内部文档对象集合;密文文档库负责存储和管理密态XML文档;分词加密服务器将明文文本进行中文分词并逐条加密;密文全文索引服务器将原始明文文档规范为XML文档,加密存储到密文文档库,并结合文档元信息在密文索引库中创建相应内部文档对象,再利用密文词条为其构建密文倒排索引;密文全文检索服务器利用用户权限信息和密文词条检索密文索引库得到内部文档对象集合,根据其指针从密文文档库获取相应密态XML文档结果集,解密后返回给用户。本发明基于满足密文全文索引特殊要求的中文分词方法、安全高效的索引结构和检索机制,实现了结合访问控制策略的密文全文检索,具有索引过程安全高效、检索过程检索词不脱密、在密文环境中查全率和查准率高等特点。
申请公布号 CN101520800B 申请公布日期 2010.09.01
申请号 CN200910061325.X 申请日期 2009.03.27
申请人 华中科技大学 发明人 李瑞轩;宋赛;辜希武;文坤梅;卢正鼎;左华;吴炜;雷小强;燕昆;李雨前
分类号 G06F17/30(2006.01)I;G06F21/24(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 曹葆青
主权项 一种基于密文的安全全文索引和检索系统,其特征在于:该系统包括分词加密服务器(100)、密文全文索引服务器(200)、密文全文检索服务器(300)、密文索引库(400)和密文文档库(500);密文索引库(400)包含密文词条倒排索引和内部文档对象集合;其中,密文词条倒排索引由两级索引文件和倒排地址文件构成;两级索引文件中一级索引包含全部密文词条元组集合,每一个元组由密文词条和指向倒排地址文件的指针捆绑加密所得;将一级索引划分区间,取每一区间的首个词条再次建立索引即得二级索引,二级索引的每个元组由密文词条和指向一级索引中该词条所处区间的首地址指针构成,二级索引采取整体加密的方式存储;倒排地址文件中地址指针指向内部文档对象;内部文档对象由文档密态权限信息和密态路径指针构成;内部文档对象与原始明文文档一一对应;密文文档库(500)负责存储和管理密态XML文档;密态XML文档由原始明文文档规范化处理后整体加密所得;它与密文索引库(400)的内部文档对象通过后者的密态路径指针关联;密态XML文档也与原始明文文档一一对应;分词加密服务器(100)接收来自密文全文索引服务器(200)提交的明文文档文本和密文全文检索服务器(300)提交的明文查询请求,将其进行中文分词后再逐条进行加密,最后将得到的密文词条分别传送给密文全文索引服务器(200)和密文全文检索服务器(300);分词加密服务器(100)包括停用词过滤模块(110)、专用名词分词模块(120)、一般名词分词模块(130)、词条组合模块(140)、重复词条过滤模块(150)、词条加密模块(160)、停用词词表(170)、专用名词词表(180)和一般名词词表(190);停用词词表(170)用于存放分词过程中需要过滤的语言单位;专用名词词表(180)用于存放各专业领域的专用名词词条;一般名词词表(190)用于存放日常生活中使用的一般名词词条;停用词过滤模块(110)接收明文文档文本,对照停用词词表(170)进行停用词过滤,并由此输出所有的分词区间;其中,分词区间指两个停用词之间的连续文本序列;专用名词分词模块(120)接收停用词过滤模块(110)输出的分词区间,对照专用名词词表(180),在各分词区间内采取正向最长匹配法得到专用名词词条,提供给重复词条过滤模块(150);一般名词分词模块(130)接收停用词过滤模块(110)输出的分词区间,对照一般名词词表(190),在各分词区间内采取双向最短匹配法,得到两组一般名词词条和组词单字;再在所述的两组一般名词词条和组词单字中取词条数多的分词结果输出;词条组合模块(140)接收一般名词分词模块(130)输出的一般名词词条和组词单字,在各分词区间内以阈值k为最大词长限制进行组词,将组词结果提供给重复词条过滤模块(150);其中,4≤k≤8;重复词条过滤模块(150)接收来自专用名词分词模块(120)和词条组合模块(140)的全部词条,过滤其中的重复词条,将结果提供给词条加密模块(160);词条加密模块(160)从重复词条过滤模块(150)得到所有的明文词条,逐条加密输出相应的密文词条;密文全文索引服务器(200)接收系统管理员提交的原始明文文档,该原始明文文档包括文档文本和元信息,其中元信息包括权限信息及用户自定义的描述信息;密文全文索引服务器(200)将明文文档文本转发至分词加密服务器(100);同时,将原始明文文档进行规范化处理得到相应的XML文档,加密存储到密文文档库(500);密文全文索引服务器(200)根据分词加密服务器(100)提供的密文词条,结合原始明文文档的权限信息创建相应内部文档对象,并利用密文词条在密文索引库(400)中构建该文档的密文倒排索引;密文全文检索服务器(300)在用户登录后,获取其权限信息,转发其提交的明文查询请求至分词加密服务器(100),并接收其返回的密文词条;根据密文词条和用户权限信息组合成复合查询条件,检索密文索引库(400),并接收其返回的用户权限范围内命中的内部文档对象集合,密文全文检索服务器(300)根据该集合调用密文文档库(500)获取相应的密文文档结果集,解密后返回给用户。
地址 430074 湖北省武汉市洪山区珞喻路1037号