专利名称:一种基于分布式密文存储的全文检索方法及系统的制作方法
技术领域:
本发明涉及计算机安全与检索领域,具体涉及一种基于分布式密文存储的全文检索方法及系统。
背景技术:
随着信息化的逐步提升,越来越多的各式各样的电子文档伴随着我们的生活和工作。给予信息化管理,电子文档的检索能为我们提供极大的方便,但是各种文档又有分为普通文档,秘密文档和机密文档。文档的存储管理和访问权限有分为不同的等级。权限管理和加密技术能为我们提高数据的安全性,但是为数据的检索设置了障碍。从海量数据中较快的获取相关信息,首先依赖于分布式计算,其次全文检索依赖事先建立的基于索引项的索引库,其原理是索引程序扫描数据中的索引项,在索引文件中对每一个索引项建立一个索引,指明该索引项在数据中出现的次数和位置;当用户查询时,检索程序将用户查询条件分解为索引项,在事先建立的索引库中快速进行查找,并将查找的结果反馈给用户。在中文全文检索系统中,常以中文句子中的词作为索引项。在现有技术中基于密文存储的全文检索的实现方法分词和加密基本都是在服务器端实现,权限管理也是在服务端实现,这种实现密文存储的全文检索的方法加密密钥会存储在服务器端,如果服务器遭受攻击密钥被获取,加密文档会很容易被破解,同样权限管理也很容易被篡改。服务器通常又是最容易遭受攻击的对象,一旦服务器遭到入侵,密文数据和加密密钥很容易遭到破解。
发明内容
有鉴于此,本发明的主要目的是提供基于分布式密文存储的全文检索方法及系统,解决基于密文存储的全文检索系统中存在的安全性问题。为解决上述问题,本发明提供的技术方案如下一种基于分布式密文存储的全文检索方法,所述方法包括存储服务器获得并保存密文文件和分词索引;所述密文文件是由终端对明文文件进行加密后生成的,用以对所述密文文件进行解密的密钥是文件密钥;所述存储服务器对所述分词索引进行加密生成密文索引,并建立所述密文文件和所述密文索引的对应关系,从而生成索引文件并保存;调度服务器接收到访问者发送的检索请求后,通过所述存储服务器访问所述索引文件,获得检索结果并返回给所述访问者;权限管理服务器接收所述访问者根据所述检索结果发送的文件访问请求信息,通过所述终端对所述访问者进行身份审核,并在身份审核通过后,从所述终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的所述用以对文件密钥密文进行解密的密钥发送给所述访问者,以使所述访问者获得所述密文文件后,使用所述用以对文件密钥密文进行解密的密钥对所述文件密钥密文进行解密得到所述文件密钥,再使用所述文件密钥对所述密文文件进行解密获得所述明文文件;所述文件密钥密文是由所述终端对所述文件密钥进行加密后生成并上传至所述权限管理服务器中的。相应的,所述存储服务器获得并保存密文文件和分词索引,包括存储服务器获得并保存由终端上传的密文文件和由所述终端利用明文文件建立并上传的分词索引。相应的,所述存储服务器获得并保存密文文件和分词索引,包括存储服务器获得并保存由终端上传的明文文件和密文文件,并利用所述明文文件建立并保存分词索引,之后删除所述明文文件。相应的,所述调度服务器接收到访问者发送的检索请求后,通过所述存储服务器访问所述索引文件,获得检索结果并返回给所述访问者,包括调度服务器接收到访问者发送的检索请求后,将所述检索请求发送至所述存储服务器;所述存储服务器根据所述检索请求解析检索内容并对所述检索内容进行加密,利用加密的检索内容访问所述索弓I文件后获得检索结果;所述调度服务器将所述存储服务器发送的所述检索结果返回给所述访问者。相应的,所述权限管理服务器接收所述访问者根据所述检索结果发送的文件访问请求信息后,通过所述终端对所述访问者进行身份审核,并在身份审核通过后,从所述终端获取用以对文件密钥密文进行解密的密钥,包括权限管理服务器接收所述访问者根据所述检索结果发送的文件访问请求信息后,向所述终端发送权限申请请求;如果所述终端根据所述权限申请请求判断所述访问者可以通过身份审核,则所述终端根据所述文件访问请求信息向所述权限管理器发送用以对所述文件密钥密文进行解密的密钥。相应的,所述访问者获得所述密文文件,包括所述访问者根据所述检索结果向所述调度服务器发送文件获取请求,所述调度服务器根据所述文件获取请求通过所述存储服务器获取所述密文文件并发送给所述访问者。相应的,所述对明文文件进行加密生成密文文件使用对称加密算法。相应的,所述对文件密钥进行加密生成文件密钥密文使用非对称加密算法,用以对文件密钥密文进行加密的密钥是非对称加密私钥,所述用以对文件密钥密文进行解密的密钥是非对称加密公钥。—种基于分布式密文存储的全文检索系统,所述系统包括终端,用以对明文文件进行加密生成密文文件;对用以对所述密文文件进行解密的文件密钥进行加密生成文件密钥密文,并将所述文件密钥密文上传至权限管理服务器中;存储服务器,用于获得并保存所述密文文件和分词索引;对所述分词索引进行加密生成密文索引,并建立所述密文文件和所述密文索引的对应关系,从而生成索引文件并保存;调度服务器,用于接收到访问者发送的检索请求,通过所述存储服务器访问所述索引文件后,获得检索结果并返回给所述访问者;
权限管理服务器,用于接收所述访问者根据所述检索结果发送的文件访问请求信息,通过所述终端对所述访问者进行身份审核,并在身份审核通过后,从所述终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的所述用以对文件密钥密文进行解密的密钥发送给所述访问者,以使所述访问者获得所述密文文件后,使用所述用以对文件密钥密文进行解密的密钥对所述文件密钥密文进行解密得到所述文件密钥,再使用所述文件密钥对所述密文文件进行解密获得所述明文文件。相应的,所述分词索引是由所述终端利用明文文件建立并上传至所述存储服务器的。相应的,所述分词索引是由所述存储服务器利用所述终端上传的明文文件建立的,所述存储服务器在建立所述分词索引后删除所述明文文件。相应的,所述调度服务器具体用于接收访问者发送的检索请求,将所述检索请求发送至所述存储服务器;通过所述存储服务器根据所述检索请求解析检索内容并对所述检索内容进行加密,利用加密的检索内容访问所述索引文件后,获得检索结果并返回给所述访问者;接收所述访问者根据所述检索结果发送的文件获取请求,根据所述文件获取请求通过所述存储服务器获取所述密文文件并发送给所述访问者。相应的,所述权限管理服务器具体用于接收所述访问者根据所述检索结果发送的文件访问请求信息后,向所述终端发送权限申请请求;如果所述终端根据所述权限申请请求判断所述访问者可以通过身份审核,则接收所述终端根据所述文件访问请求信息发送的用以对所述文件密钥密文进行解密的密钥,并将文件密钥密文和获取的所述用以对文件密钥密文进行解密的密钥发送给所述访问者,以使所述访问者获得所述密文文件后,使用所述用以对文件密钥密文进行解密的密钥对所述文件密钥密文进行解密得到所述文件密钥,再使用所述文件密钥对所述密文文件进行解密获得所述明文文件。由此可见,本发明具有如下有益效果在本发明中文件的加密过程在终端完成,权限管理服务器中存储的是文件密钥密文,这样如果服务器遭到攻击,文件密钥密文不能直接对密文文件进行解密,保证了文件的安全,同时权限管理服务器可以对由终端判断的通过了身份审核的访问者进行用以对文件密钥密文进行解密的密钥授权,使该访问者能够最终获得检索到的文件,因此本发明能够实现全文检索的同时又保证了存储文件的安全性。另外,在文件检索过程中,对检索内容进行加密,访问由密文索引建立的索引文件,保证了在检索过程中文件的安全。
图1为本发明基于分布式密文存储的全文检索方法的流程图;图2为本发明基于分布式密文存储的全文检索方法的一种具体实施例的流程图;图3为本发明基于分布式密文存储的全文检索系统的一种系统示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明实施例作进一步详细的说明。本发明一种基于分布式密文存储的全文检索方法,是针对现有技术中存在的安全性问题,实现该方法包括由终端创建文件密钥,并对明文文件进行加密生成密文文件;终端对文件密钥进行加密生成文件密钥密文,并上传至权限管理服务器中;存储服务器获得并保存密文文件和分词索引;存储服务器对分词索引进行加密生成密文索引,并建立密文文件和密文索引的对应关系,从而生成索引文件并保存;调度服务器接收到访问者发送的检索请求后,通过存储服务器访问索引文件,获得检索结果并返回给访问者;权限管理服务器接收访问者根据检索结果发送的文件访问请求信息,通过终端对访问者进行身份审核,并在身份审核通过后,从终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的用以对文件密钥密文进行解密的密钥发送给访问者,以使访问者获得密文文件后,使用用以对文件密钥密文进行解密的密钥对文件密钥密文进行解密得到文件密钥,再使用文件密钥对密文文件进行解密获得明文文件。基于上述思想,参见图1所示,本发明的方法包括以下步骤步骤101 :存储服务器获得并保存密文文件和分词索引;密文文件是由终端对明文文件进行加密后生成的,用以对密文文件进行解密的密钥是文件密钥;步骤102 :存储服务器对分词索引进行加密生成密文索引,并建立密文文件和密文索引的对应关系,从而生成索引文件并保存;步骤103 :调度服务器接收到访问者发送的检索请求后,通过存储服务器访问索引文件,获得检索结果并返回给访问者;步骤104 :权限管理服务器接收访问者根据检索结果发送的文件访问请求信息,通过终端对访问者进行身份审核,并在身份审核通过后,从终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的用以对文件密钥密文进行解密的密钥发送给访问者,以使访问者获得密文文件后,使用用以对文件密钥密文进行解密的密钥对文件密钥密文进行解密得到文件密钥,再使用文件密钥对密文文件进行解密获得明文文件;文件密钥密文是由终端对文件密钥进行加密后生成并上传至权限管理服务器中的。这样,本发明文件的加密过程是在终端完成,对明文文件进行加密生成密文文件,并对文件密钥进行加密生成文件密钥密文,在访问者在获得检索结果后权限管理服务器可以对通过了身份审核的访问者进行用以对文件密钥密文进行解密的密钥授权,使该访问者最终能够获得检索到的文件,本发明实现全文检索的同时又保证了存储文件的安全性,权限管理服务器中存储的是文件密钥密文,这样如果服务器遭到攻击,文件密钥密文不能直接对密文文件进行解密,保证了文件的安全。在中文全文检索中,索引项的选择是一个基本的,也是非常重要的问题。基于词的全文检索是以中文句子中的词为索引项,更符合自然思维习惯。中文分词的准确与否,可以直接影响到对检索结果的相关度排序。全文检索中最重要的不是找到所有结果,而是如何快速的找到最相关的结果,这也称为相关度排名。分词可以采用改进的字符串匹配分词的方法,字符串匹配的分词又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个充分大的机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功;改进的字符串匹配分词方法可以是在读取段落整句后,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,将原字符串分为较小的串再进行机械分词,从而减少匹配的错误率。分词也就是索引项选择的过程,完成分词后可以建立分词索引。在上述实施例中,分词索引建立的过程可以在终端完成,也可以在存储服务器完成,终端根据网络环境和存储服务器的负载情况动态的选择分词过程在哪一端完成,如果终端的网络带宽较低,上传文件需要较多的时间,同时终端处理能力足够时就选择在终端完成分词索引建立工作,如果用户网络带宽较高,能够很快的完成上传操作,同时存储服务器负载较低则分词索引建立的过程可以由存储服务器完成。如果由终端完成分词索引的建立,则终端利用明文文件建立分词索引后上传至存储服务器;如果由存储服务器完成分词索引的建立,则由终端将明文文件和密文文件同时上传到存储服务器,由存储服务器完成分词索引的建立并保存,之后再删除明文文件。其中,由终端完成分词索引的建立是优选方式。终端可以完成对明文文件进行加密生成密文文件,以及对文件密钥进行加密生成文件密钥密文的过程;对明文文件进行加密生成密文文件可以使用对称加密算法,用于对明文文件进行加密和解密的密钥均可以是文件密钥;对文件密钥进行加密生成文件密钥密文可以使用非对称加密算法,用以对文件密钥密文进行加密的密钥可以是非对称加密私钥,用以对文件密钥密文进行解密的密钥可以是非对称加密公钥。对称加密以数据加密算法(Data Encryption Standard, DES)和高级加密标准(Advanced Encryption Standard, AES)为代表,加密、解密采用相同的密钥,其优点是加密、解密速度快;非对称算法以RSA公钥加密算法为代表,加密、解密采用不同的密钥,其优点是密钥的分发、管理相对容易。非对称算法与对称算法的结合使得在保持非对称算法密钥的分发、管理优势的同时,大大提高了加密、解密速度。对明文文件和文件密钥加密和解密的过程,可以表示为如果设定明文文件为file,文件密钥为file-key,加密方法为AES (密钥+数据),密文文件表示为M(file),解密方法为AES(密钥+密文);对文件密钥使用非对称加密,加密方法为RSA(密钥+数据),加密数据为文件密钥file-key,加密后的结果为文件密钥密文M(file-key),用以对文件密钥密文进行加密的密钥为SS,解密方法为RSA (密钥+密文),用以对文件密钥密文进行解密的密钥SP ;则对明文文件file进行加密,可以得到密文文件M(file),M(file)=AES (file-key+file);对文件密钥file-key进行加密,可以得到文件密钥密文M(file-key),M(file-key) = RSA(SS+fiIe-key);使用用以对文件密钥密文进行解密的密钥SP对文件密钥密文M(file-key)进行解密,可以得到文件密钥 file-key, file-key = RSA (SP+M (f i I e-key));使用文件密钥file-key对密文文件M(file)进行解密,可以得到明文文件file,file = AES(fiIe-key+M(file))。参见图2所示,本发明的一种基于分布式密文存储的全文检索具体实现方法,包括以下步骤步骤201 :终端对明文文件进行加密后生成密文文件,用以对密文文件进行解密的密钥是文件密钥;步骤202 :终端对文件密钥进行加密后生成文件密钥密文并上传至权限管理服务器中;由终端完成加密过程比由服务器完成加密过程安全性有所提高;文件密钥密文由权限管理服务器进行统一管理,终端不再保存文件密钥密文,而只需要维护用以对文件密钥密文进行解密的密钥,可以降低终端维护管理的复杂度;若由终端完成分词索引建立过程,则执行步骤203 ;若由存储服务器完成分词索引建立过程,则执行步骤204 ;步骤203或步骤204执行完成后,之后继续执行步骤205 ;步骤203 :存储服务器获得并保存由终端上传的密文文件和由终端利用明文文件建立并上传的分词索引;步骤204:存储服务器获得并保存由终端上传的明文文件和密文文件,并利用明文文件建立并保存分词索引,之后删除明文文件;存储服务端可以采用分布式架构,终端每次上传文件可以对应到不同的存储服务器,但这一点对于终端是透明的,无需关心;步骤205 :存储服务器对分词索引进行加密生成密文索引,并建立密文文件和密文索引的对应关系,从而生成索引文件并保存;对分词索引进行加密生成密文索引的过程由存储服务器完成,方便对分词索引进行加密过程的统一管理,保证后续步骤中存储服务器并对检索内容进行加密时采用相同的加密方式,避免如果由终端对分词索引进行加密生成密文索引时与存储服务器对检索内容进行加密时加密方式不统一可能造成的不能完成检索过程的问题;步骤206 :调度服务器接收到访问者发送的检索请求后,将检索请求发送至存储服务器;步骤207 :存储服务器根据检索请求解析检索内容并对检索内容进行加密,利用加密的检索内容访问索引文件后获得检索结果;在文件检索过程中,对检索内容进行加密,访问由密文索引建立的索引文件,可以保证在检索过程中文件的安全;索引文件中包括密文索引与密文文件之间的映射对应关系,因此利用加密的检索内容访问索弓I文件,访问者所要查询的检索内容与密文索引相同时,可以得到该密文索弓I对应的密文文件的相关信息,密文文件的相关信息汇总后可以作为对应于检索内容的检索结果;步骤208 :调度服务器将存储服务器发送的检索结果返回给访问者;当有多个不同的存储服务器时,调度服务器可以将检索请求发送至每一个存储服务器,每一个存储服务器都可以根据检索请求解析检索内容并对检索内容进行加密,利用加密的检索内容访问索引文件后获得检索结果,调度服务器将存储服务器发送的检索结果汇总返回给访问者,完成文件检索过程;步骤209 :权限管理服务器接收访问者根据检索结果发送的文件访问请求信息后,向终端发送权限申请请求;步骤210 :如果终端根据权限申请请求判断访问者可以通过身份审核,则终端根据文件访问请求信息向权限管理器发送用以对文件密钥密文进行解密的密钥;步骤211 :权限管理服务器将文件密钥密文和获取的用以对文件密钥密文进行解密的密钥发送给访问者,以使访问者获得密文文件后,使用用以对文件密钥密文进行解密的密钥对文件密钥密文进行解密得到文件密钥,再使用文件密钥对密文文件进行解密获得明文文件。访问者获得密文文件的过程可以是访问者根据检索结果向调度服务器发送文件获取请求,调度服务器根据文件获取请求通过存储服务器获取密文文件并发送给访问者。终端为明文文件的拥有者才具有该文件的文件密钥,访问者若想访问该文件,要通过权限管理服务器在终端对访问者进行身份审核后,才能获得文件密钥密文和用以对文件密钥密文进行解密的密钥,访问者通过用以对文件密钥密文进行解密的密钥对文件密钥密文进行解密后得到文件密钥,再使用文件密钥对密文文件进行解密才能获得明文文件,完成密钥授权和解密的过程,在这个过程中权限管理服务器中没有保存用以对文件密钥密文进行解密的密钥,不能最终获得明文文件,这样保证了在权限管理过程中文件的安全性。相应地,本发明还提供一种基于分布式密文存储的全文检索系统,如图3所示,是该系统的一种系统框图,该系统包括终端1、存储服务器2、调度服务器3和权限管理服务器4。其中,终端1,用以对明文文件进行加密生成密文文件;对用以对密文文件进行解密的文件密钥进行加密生成文件密钥密文,并将文件密钥密文上传至权限管理服务器中;存储服务器2,用于获得并保存密文文件和分词索引;对分词索引进行加密生成密文索引,并建立密文文件和密文索引的对应关系,从而生成索引文件并保存;调度服务器3,用于接收到访问者发送的检索请求,通过存储服务器访问索引文件后,获得检索结果并返回给访问者;权限管理服务器4,用于接收访问者根据检索结果发送的文件访问请求信息,通过终端对访问者进行身份审核,并在身份审核通过后,从终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的用以对文件密钥密文进行解密的密钥发送给访问者,以使访问者获得密文文件后,使用用以对文件密钥密文进行解密的密钥对文件密钥密文进行解密得到文件密钥,再使用文件密钥对密文文件进行解密获得明文文件。其中,调度服务器具体用于接收访问者发送的检索请求,将检索请求发送至存储服务器;通过存储服务器根据检索请求解析检索内容并对检索内容进行加密,利用加密的检索内容访问索引文件后,获得检索结果并返回给访问者;接收访问者根据检索结果发送的文件获取请求,根据文件获取请求通过存储服务器获取密文文件并发送给访问者。权限管理服务器具体用于接收访问者根据检索结果发送的文件访问请求信息后,向终端发送权限申请请求;如果终端根据权限申请请求判断访问者可以通过身份审核,则接收终端根据文件访问请求信息发送的用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的用以对文件密钥密文进行解密的密钥发送给访问者,以使访问者获得密文文件后,使用用以对文件密钥密文进行解密的密钥对文件密钥密文进行解密得到文件密钥,再使用文件密钥对密文文件进行解密获得明文文件。本系统的工作原理是终端对明文文件进行加密生成密文文件;对用以对密文文件进行解密的文件密钥进行加密生成文件密钥密文,并将文件密钥密文上传至权限管理服务器中;存储服务器获得并保存密文文件和分词索引;对分词索引进行加密生成密文索弓I,并建立密文文件和密文索引的对应关系,从而生成索引文件并保存;
调度服务器接收访问者发送的检索请求,将检索请求发送至存储服务器;通过存储服务器根据检索请求解析检索内容并对检索内容进行加密,利用加密的检索内容访问索引文件后,获得检索结果并返回给访问者;权限管理服务器接收访问者根据检索结果发送的文件访问请求信息后,向终端发送权限申请请求;如果终端根据权限申请请求判断访问者可以通过身份审核,则接收终端根据文件访问请求信息发送的用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的用以对文件密钥密文进行解密的密钥发送给访问者;调度服务器接收访问者根据检索结果发送的文件获取请求,根据文件获取请求通过存储服务器获取密文文件并发送给访问者,以使访问者获得密文文件后,使用用以对文件密钥密文进行解密的密钥对文件密钥密文进行解密得到文件密钥,再使用文件密钥对密文文件进行解密获得明文文件。其中,存储服务器可以采用分布式架构,终端每次上传文件可以对应到不同的存储服务器。另外,分词索引可以由终端利用明文文件建立并上传至存储服务器;分词索引也可以由存储服务器利用终端上传的明文文件建立,存储服务器在建立分词索引后删除明文文件。需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本文中`,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种基于分布式密文存储的全文检索方法,其特征在于,所述方法包括 存储服务器获得并保存密文文件和分词索引;所述密文文件是由终端对明文文件进行加密后生成的,用以对所述密文文件进行解密的密钥是文件密钥; 所述存储服务器对所述分词索引进行加密生成密文索引,并建立所述密文文件和所述密文索引的对应关系,从而生成索引文件并保存; 调度服务器接收到访问者发送的检索请求后,通过所述存储服务器访问所述索引文件,获得检索结果并返回给所述访问者; 权限管理服务器接收所述访问者根据所述检索结果发送的文件访问请求信息,通过所述终端对所述访问者进行身份审核,并在身份审核通过后,从所述终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的所述用以对文件密钥密文进行解密的密钥发送给所述访问者,以使所述访问者获得所述密文文件后,使用所述用以对文件密钥密文进行解密的密钥对所述文件密钥密文进行解密得到所述文件密钥,再使用所述文件密钥对所述密文文件进行解密获得所述明文文件;所述文件密钥密文是由所述终端对所述文件密钥进行加密后生成并上传至所述权限管理服务器中的。
2.根据权利要求1所述的方法,其特征在于,所述存储服务器获得并保存密文文件和分词索引,包括 存储服务器获得并保存由终端上传的密文文件和由所述终端利用明文文件建立并上传的分词索引。
3.根据权利要求1所述的方法,其特征在于,所述存储服务器获得并保存密文文件和分词索引,包括 存储服务器获得并保存由终端上传的明文文件和密文文件,并利用所述明文文件建立并保存分词索引,之后删除所述明文文件。
4.根据权利要求1所述的方法,其特征在于,所述调度服务器接收到访问者发送的检索请求后,通过所述存储服务器访问所述索引文件,获得检索结果并返回给所述访问者,包括 调度服务器接收到访问者发送的检索请求后,将所述检索请求发送至所述存储服务器; 所述存储服务器根据所述检索请求解析检索内容并对所述检索内容进行加密,利用加密的检索内容访问所述索引文件后获得检索结果; 所述调度服务器将所述存储服务器发送的所述检索结果返回给所述访问者。
5.根据权利要求1所述的方法,其特征在于,所述权限管理服务器接收所述访问者根据所述检索结果发送的文件访问请求信息后,通过所述终端对所述访问者进行身份审核,并在身份审核通过后,从所述终端获取用以对文件密钥密文进行解密的密钥,包括 权限管理服务器接收所述访问者根据所述检索结果发送的文件访问请求信息后,向所述终端发送权限申请请求; 如果所述终端根据所述权限申请请求判断所述访问者可以通过身份审核,则所述终端根据所述文件访问请求信息向所述权限管理器发送用以对所述文件密钥密文进行解密的密钥。
6.根据权利要求1所述的方法,其特征在于,所述访问者获得所述密文文件,包括所述访问者根据所述检索结果向所述调度服务器发送文件获取请求,所述调度服务器根据所述文件获取请求通过所述存储服务器获取所述密文文件并发送给所述访问者。
7.根据权利要求1所述的方法,其特征在于,所述对明文文件进行加密生成密文文件使用对称加密算法。
8.根据权利要求1所述的方法,其特征在于,所述对文件密钥进行加密生成文件密钥密文使用非对称加密算法,用以对文件密钥密文进行加密的密钥是非对称加密私钥,所述用以对文件密钥密文进行解密的密钥是非对称加密公钥。
9.一种基于分布式密文存储的全文检索系统,其特征在于,所述系统包括 终端,用以对明文文件进行加密生成密文文件;对用以对所述密文文件进行解密的文件密钥进行加密生成文件密钥密文,并将所述文件密钥密文上传至权限管理服务器中; 存储服务器,用于获得并保存所述密文文件和分词索引;对所述分词索引进行加密生成密文索引,并建立所述密文文件和所述密文索引的对应关系,从而生成索引文件并保存; 调度服务器,用于接收到访问者发送的检索请求,通过所述存储服务器访问所述索引文件后,获得检索结果并返回给所述访问者; 权限管理服务器,用于接收所述访问者根据所述检索结果发送的文件访问请求信息,通过所述终端对所述访问者进行身份审核,并在身份审核通过后,从所述终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的所述用以对文件密钥密文进行解密的密钥发送给所述访问者,以使所述访问者获得所述密文文件后,使用所述用以对文件密钥密文进行解密的密钥对所述文件密钥密文进行解密得到所述文件密钥,再使用所述文件密钥对所述密文文件进行解密获得所述明文文件。
10.根据权利要求9所述的系统,其特征在于,所述分词索引是由所述终端利用明文文件建立并上传至所述存储服务器的。
11.根据权利要求9所述的系统,其特征在于,所述分词索引是由所述存储服务器利用所述终端上传的明文文件建立的,所述存储服务器在建立所述分词索引后删除所述明文文件。
12.根据权利要求9所述的系统,其特征在于,所述调度服务器具体用于 接收访问者发送的检索请求,将所述检索请求发送至所述存储服务器;通过所述存储服务器根据所述检索请求解析检索内容并对所述检索内容进行加密,利用加密的检索内容访问所述索引文件后,获得检索结果并返回给所述访问者; 接收所述访问者根据所述检索结果发送的文件获取请求,根据所述文件获取请求通过所述存储服务器获取所述密文文件并发送给所述访问者。
13.根据权利要求9所述的系统,其特征在于,所述权限管理服务器具体用于 接收所述访问者根据所述检索结果发送的文件访问请求信息后,向所述终端发送权限申请请求;如果所述终端根据所述权限申请请求判断所述访问者可以通过身份审核,则接收所述终端根据所述文件访问请求信息发送的用以对所述文件密钥密文进行解密的密钥,并将文件密钥密文和获取的所述用以对文件密钥密文进行解密的密钥发送给所述访问者,以使所述访问者获得所述密文文件后,使用所述用以对文件密钥密文进行解密的密钥对所述文件密钥密文进行解密得到所述文件密钥,再使用所述文件密钥对所述密文文件进行解密获 得所述明文文件。
全文摘要
本发明公开了一种基于分布式密文存储的全文检索方法,能够实现全文检索又保证存储文件的安全性,该方法包括存储服务器获得并保存密文文件和分词索引;存储服务器对分词索引进行加密生成密文索引,并建立密文文件和密文索引的对应关系,生成索引文件并保存;调度服务器接收到访问者发送的检索请求后,通过存储服务器访问索引文件,获得检索结果并返回给访问者;权限管理服务器接收访问者发送的文件访问请求信息,通过终端对访问者进行身份审核,并在身份审核通过后,从终端获取用以对文件密钥密文进行解密的密钥,并将文件密钥密文和获取的用以对文件密钥密文进行解密的密钥发送给访问者。本发明还公开了一种基于分布式密文存储的全文检索系统。
文档编号G06F21/62GK103049466SQ201210148669
公开日2013年4月17日 申请日期2012年5月14日 优先权日2012年5月14日
发明者刘一宁, 边涛 申请人:深圳市朗科科技股份有限公司