专利名称:海量数据压缩加密存储及检索系统及其使用方法
海量数据压缩加密存储及检索系统及其使用方法技术领域
本发明属于计算机信息安全领域,具体涉及电子文档压缩加密存储和压缩密文数 据安全检索方法。
背景技术:
随着信息技术的发展,各个单位已经累积了前所未有数量级的办公、科研和生产 数据,其中部分是涉密数据。如何有效安全地存储并在网络上传输这些海量涉密数据以及 如何从这些海量数据中安全且快速找到所需的信息都是用户面临的难题。
现有的电子文档安全技术和产品,一般借用操作系统的文件管理机制,采用单纯 的文件加密方式来提供安全保障。一般采用文件格式转换、文件夹加密、外设及网络协议等 技术,少数采用了内核透明的技术;大部分只支持特定格式的文件,不支持所有格式文件的 加密。这些产品和技术无法有效地对大数据量的涉密文档进行管理。
文档压缩加密存储的技术基础是数据压缩与数据加密,而数据压缩和数据加密技 术已比较成熟,而困难在于如何高效安全的查询和访问这些压缩加密的数据。支持压缩的 查询和密文检索技术是本发明的背景技术。
支持查询的压缩要求在不解压的状态下对压缩数据进行高效检索,目前支持查询 的压缩算法大多是针对Huffman、算术编码、Ziv-Lempel (LZ77、LZ78、LZW等)和BWT算法的 改进。压缩算法在压缩、解压缩和查询时依赖的是编码字“字典”(例如Huffman树),字典 实际就是压缩查询的索引结构。压缩查询利用字典找到查询词与压缩查询词的对应关系, 进而在压缩数据中顺序搜索。但压缩数据被加密后,数据分布规律将被打乱,原来的查询方 法将难以凑效。
加密是保证数据安全的重要手段。在密文数据中,如何安全快速定位相关数据非 常重要,密文检索的主要技术是通过对文本中的关键词建立安全索引,从而实施快速查询。 通过对文档中的每个字建立密文索引可以提高密文检索效率,但建立全文索引带来的存储 开销将会把文档压缩的效果抵消。为解决现有密文索引占用空间太大的缺点,加利福利亚 大学提出用序列加密方法对文本数据进行加密处理,无需解密就可直接对加密文本搜索关 键词的方法。其不采用索引表,不足之处在于检索时需要对整个密文文档进行顺序搜索。 斯坦福大学的E. J. Goh等人提出了一种过滤哈希编码的索引方案,可有效降低索引占用空 间,但其使用的Bloom过滤器会导致错误结果的产生,可能会使用户查询到一些不包含查 询关键词的额外文档,不适合高安全的应用。密文检索技术已经得到了很大发展,但迄今的 研究都是基于非压缩数据的。
数据压缩和查询依赖编码字“字典”数据结构,而密文检索依赖密文索引数据结 构,如果不把它们有机融合,则需要同时保持两个数据结构,这将导致存储空间增大且管理 困难。由于压缩算法采用基于“位”压缩的思想,而密文索引是以“词”为基础来进行查询 的,这为它们的融合带来困难。此外,即使用户对文档少量数据的访问也必须对整个文档进 行脱密和解压,造成整个系统效率低下,并显著增加网络负担。
目前把压缩和加密技术相结合的研究很少,而且仅有的研究也仅仅是把二者串行 起来进行实施,缺乏有机融合机制。发明内容
本发明所要解决的技术问题是提供一种海量数据压缩加密存储及检索系统及其 使用方法,本发明将压缩和加密技术有机地结合起来,在不解压不解密待检文件的情况下 能有效地进行密文的检索。
本发明所采用的技术方案海量数据压缩加密存储及检索系统,包括
文档结构化处理模块,用于对原始文档进行统一格式化处理;
数据压缩与加密模块,用于对格式化处理后的文档、原始文档和索引结构进行压 缩和加密存储;
压缩密文检索模块,用于对压缩和加密存储的文档进行检索;
管理工具,用于对系统进行管理;
文档结构化处理模块运行在客户端的计算机上,数据压缩与加密模块和压缩密文 检索模块运行在服务器端的计算机上,管理工具运行在管理控制台的计算机上。
所述的海量数据压缩加密存储及检索系统,文档结构化处理模块包括文本抽取及 文档结构化处理子模块、语义分词子模块和XML文档生成子模块;
文本抽取及文档结构化处理子模块对包含文本信息的文档进行文本抽取,对不包 含文本的文档或者结构化信息不完整的文本文档进行结构化信息以及其他信息填充;
语义分词子模块对通过文本抽取及文档结构化处理子模块获取的所有信息进行 语义分词,获取压缩加密索引的基础信息;
XML文档生成子模块对通过文本抽取及文档结构化处理子模块获取的所有信息进 行统一格式化,生成XML文档。
所述的海量数据压缩加密存储及检索系统,数据压缩与加密模块包括XML文档压 缩与加密子模块、原文档压缩与加密子模块和索引压缩与加密子模块。
所述的海量数据压缩加密存储及检索系统,管理工具包括安全管理工具、系统管 理工具和文档管理工具;
安全管理工具包括审计服务、密钥服务、访问控制服务;
文档管理工具包括文档的备份与还原、文档信息统计和文档销毁;
系统管理工具包括系统用户管理、部门机构管理、系统初始化。
海量数据压缩加密存储及检索系统的使用方法,包括
Si)对原始文档进行归档,并对其进行压缩、加密、存储、分词、建索引的处理;
S2)对存储的已压缩密文,根据需求依据其索引结构直接进行检索。
所述的海量数据压缩加密存储及检索系统的使用方法,步骤Sl包括
S101)对文档分类,根据文档的类别进行不同的处理,对包含文本的文档则提取其 文本内容,对不包含文本的文档或者结构化信息不完整的文本文档进行结构化信息以及其 他信息填充;
S102)获取文档的结构化信息,把结构化信息和文本内容合并后获得供索引使用 的XML文档;5
S103)对结构化信息和文本信息进行语义分词,生成相应的索引,构建完整索引词
S104)根据索引词典对步骤S102所得XML文档建立索引;
S105)分别对S102所得XML文档、S104所得索引和原始文档进行压缩和加密;
S106)利用数据存储服务对压缩加密后的文件进行散列存储。
所述的海量数据压缩加密存储及检索系统的使用方法,步骤S2包括
S201)用户或应用程序发起查询请求,安全管理工具的访问控制服务向查询请求 注入应用系统的查询权限;
S202)查询消息通过语义分词子模块进行解析,分解出用户输入信息的关键字组 合以及查询命令;
S203)将关键字组合和用户的密钥经过运算后得到查询陷门;
S204)将步骤S202的查询命令和S203的查询陷门,利用压缩密文检索模块对文档 进行定位;
S205)若未找到匹配文件,直接结束查询过程;若检索到单个匹配文件,则进入步 骤S207 ;若检索到多个匹配文件,则进入下一步;
S206)根据排序规则,将相似度较大的文档排在前面,相似度较小的文档排在后
S207)返回只包含用户权限范围内的文档信息;
S208)若用户不查看原始文档或无查看权限(用户权限级别不高于文档密级),直 接结束;若用户提出查看文档请求且有相应权限,则系统再到压缩密文文档集中查找相应 的文档信息,返回用户进行解密解压缩操作。
所述的海量数据压缩加密存储及检索系统的使用方法,步骤S104所建立的索引 结构基于后缀数组,包括压缩加密后缀数组(图2中的CSA)、描述文本要检索的区间信息数 组(图2中的IA),和辅助支持在区间上进行查询的索引结构(图2中的A);步骤S204的 检索定位过程为首先在压缩加密后缀数组中进行检索,获得模式在所有文本位置出现的位 置区间。而后递归地在该区间上利用索引寻找允许模式长度的最大值,并与需匹配的模式 长度进行比较,直到比较的允许模式长度小于需匹配的模式长度为止。
所述的海量数据压缩加密存储及检索系统的使用方法,步骤S203建立陷门的方 法为
首先根据步骤S202的m个关键词KpK2-Km组成关键词列表Kset = (K1,K2,…, KJ,构建关于未知数χ的方程
f (x) = (x-H(K1)) (x-H(K2))· · · (x_H(Km)) = a^+a^iX^1+. · · +alX+a0
其中方程f(x)具有m个根为H(Km),H(Knri),…,H(K1),H是循环群G{0,1}*到 {0,1}1_的哈希函数,q是循环群G的阶数,根据方程f (χ)可求出a(l、 …、的具体值;
然后利用密钥sk= Ibc^b1, -,bn, c0, C1,…,cn,d},对每一个 i e
,计算
权利要求
1.海量数据压缩加密存储及检索系统,其特征在于包括 文档结构化处理模块,用于对原始文档进行统一格式化处理;数据压缩与加密模块,用于对格式化处理后的文档、原始文档和索引结构进行压缩和 加密存储;压缩密文检索模块,用于对压缩和加密存储的文档进行检索; 管理工具,用于对系统进行管理;文档结构化处理模块运行在客户端的计算机上,数据压缩与加密模块和压缩密文检索 模块运行在服务器端的计算机上,管理工具运行在管理控制台的计算机上。
2.根据权利要求1所述的系统,其特征在于文档结构化处理模块包括文本抽取及文档结构化处理子模块、语义分词子模块和XML 文档生成子模块;文本抽取及文档结构化处理子模块对包含文本信息的文档进行文本抽取,对不包含文 本的文档或者结构化信息不完整的文本文档进行结构化信息以及其他信息填充;语义分词子模块对通过文本抽取及文档结构化处理子模块获取的所有信息进行语义 分词,获取压缩加密索引的基础信息;XML文档生成子模块对通过文本抽取及文档结构化处理子模块获取的所有信息进行统 一格式化,生成XML文档。
3.根据权利要求1所述的系统,其特征在于数据压缩与加密模块包括XML文档压缩与加密子模块、原文档压缩与加密子模块和索 引压缩与加密子模块。
4.根据权利要求1所述的系统,其特征在于管理工具包括安全管理工具、系统管理工具和文档管理工具; 安全管理工具包括审计服务、密钥服务、访问控制服务; 文档管理工具包括文档的备份与还原、文档信息统计和文档销毁; 系统管理工具包括系统用户管理、部门机构管理、系统初始化。
5.海量数据压缩加密存储及检索系统的使用方法,其特征在于包括51)对原始文档进行归档,并对其进行压缩、加密、存储、分词、建索引的处理;52)对存储的已压缩密文,根据需求依据其索引结构直接进行检索。
6.根据权利要求5所述的使用方法,其特征在于步骤Sl包括5101)对文档分类,根据文档的类别进行不同的处理,对包含文本的文档则提取其文本 内容,对不包含文本的文档或者结构化信息不完整的文本文档进行结构化信息以及其他信 息填充;5102)获取文档的结构化信息,把结构化信息和文本内容合并后获得供索引使用的 XML文档;5103)对结构化信息和文本信息进行语义分词,生成相应的索引,构建完整索引词典;5104)根据索引词典对步骤S102所得XML文档建立索引;5105)分别对S102所得XML文档、S104所得索引和原始文档进行压缩和加密;5106)利用数据存储服务对压缩加密后的文件进行散列存储。
7.根据权利要求5所述的使用方法,其特征在于步骤S2包括5201)用户或应用程序发起查询请求,安全管理工具的访问控制服务向查询请求注入 应用系统的查询权限;5202)查询消息通过语义分词子模块进行解析,分解出用户输入信息的关键字组合以 及查询命令;5203)将关键字组合和用户的密钥经过运算后得到查询陷门;5204)将步骤S202的查询命令和S203的查询陷门,利用压缩密文检索模块对文档进行 定位;5205)若未找到匹配文件,直接结束查询过程;若检索到单个匹配文件,则进入步骤 S207 ;若检索到多个匹配文件,则进入下一步;5206)根据排序规则,将相似度较大的文档排在前面,相似度较小的文档排在后面;5207)返回只包含用户权限范围内的文档信息;5208)若用户不查看原始文档或无查看权限,直接结束;若用户提出查看文档请求且 有相应权限,则系统再到压缩密文文档集中查找相应的文档信息,返回用户进行解密解压 缩操作。
8.根据权利要求6或7所述的使用方法,其特征在于步骤S104所建立的索引结构基 于后缀数组,包括压缩加密后缀数组、描述文本要检索的区间信息数组,和辅助支持在区间 上进行查询的索引结构;步骤S204的检索定位过程为首先在压缩加密后缀数组中进行检 索,获得模式在所有文本位置出现的位置区间。而后递归地在该区间上利用索引寻找允许 模式长度的最大值,并与需匹配的模式长度进行比较,直到比较的允许模式长度小于需匹 配的模式长度为止。
9.根据权利要求7所述的系统的使用方法,其特征在于步骤S203建立陷门的方法为首先根据步骤S202的m个关键词K1JfKm组成关键词列表Kset = (K1, K2, -,Kj, 构建关于未知数χ的方程f(x) = (X-H(K1)) (X-H(K2)).. . (x-H(Km)) = £^°1+ -^-1+. . . +alX+a0 其中方程 f (χ)具有 m 个根为 H(Km),H(Knrl),-,H(K1),H 是循环群 G{0,1}* 到{0,1}1°8" 的哈希函数,q是循环群G的阶数,根据方程f (χ)可求出%、 …\的具体值;然后利用密钥 sk = {bQ,b1; bn, c0, C1,…,cn,d},对每一个 i e
,计算1Ii - S1H -1Uc1 br=g ‘ ,C1 = gp',n],e e {Zq, sk, a0, B1,…,affl},Zq为所有正整数,g为G的一个生成元,η为文档关键词的最大期望值;最后构造出的陷门为 ITltl,T11,…,Tlm,T2tl,T21,…,T2m,e,d}。
10.根据权利要求8所述的使用方法,其特征在于压缩密文索引结构的后缀数组CSA在压缩加密前为多个关键字列表集合,其中每个关键字K形式为=K [Xkl (Skl,il,Skl,i2,···,),Xk2 (Sk2 ,il' Sk2,i2' .··,),*** Xkn(Skn, il' Skn, i2 ...,),], 其中L表示文档)(ki包含有关键字K,对于包含文本内容的文档)(ki,ski,n,Skiji2,…表示了 关键词在文档中出现的分片信息,对于不包含文本内容的文档,Ski,n,Ski,i2,…为空,i = 1、2···η,η为文档数。
全文摘要
本发明提供了海量数据压缩加密存储及检索系统及其使用方法,包括文档结构化处理模块,用于对原始文档进行统一格式化处理;数据压缩与加密模块,用于对格式化处理后的文档、原始文档和索引结构进行压缩和加密存储;压缩密文检索模块,用于对压缩和加密存储的文档进行检索;管理工具,用于对系统进行管理;文档结构化处理模块运行在客户端的计算机上,数据压缩与加密模块和压缩密文检索模块运行在服务器端的计算机上,管理工具运行在管理控制台的计算机上。本发明将压缩和加密技术有机地结合起来,在不解压不解密待检文件的情况下能有效地进行密文的检索。
文档编号G06F17/30GK102034049SQ20101061262
公开日2011年4月27日 申请日期2010年12月30日 优先权日2010年12月30日
发明者吴志杰, 张钰, 王坚, 胥永康, 赵华, 赵友桥, 路松峰 申请人:中国工程物理研究院计算机应用研究所, 华中科技大学