CN102024054A - 一种面向密文云存储的文档检索方法与系统 - Google Patents
一种面向密文云存储的文档检索方法与系统 Download PDFInfo
- Publication number
- CN102024054A CN102024054A CN 201010595149 CN201010595149A CN102024054A CN 102024054 A CN102024054 A CN 102024054A CN 201010595149 CN201010595149 CN 201010595149 CN 201010595149 A CN201010595149 A CN 201010595149A CN 102024054 A CN102024054 A CN 102024054A
- Authority
- CN
- China
- Prior art keywords
- document
- metamessage
- user
- key
- attribute
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种面向密文云存储的文档检索方法与系统,属于信息安全技术领域。本方法为:1)客户端利用用户导入的主密钥为该用户生成一索引密钥,并利用主密钥对该索引密钥加密后保存在服务器端;2)客户端接收某用户输入的待查询文档的属性元信息后,从服务器端获取该索引密钥的密文并解密得到索引密钥;3)客户端利用该索引密钥对待查询文档的属性元信息进行加密后发送到服务器端;4)服务器端根据该属性元信息密文检索所述索引表,将满足条件的索引记录返回给客户端,得到属性元信息对应的文档。本系统包括服务器端、若干客户端,客户端分别通过网络与服务器端连接。本发明提高了密文检索系统的安全性和检索效率,且可扩展性高。
Description
技术领域
本发明涉及计算机软件相关领域,具体涉及一种面向密文云存储的文档检索方法与系统。属于信息安全技术领域。
背景技术
随着近些年云计算技术的迅猛发展,涌现出以Amazon S3为代表的一批云存储系统。这些云存储系统具有弹性可扩展的特点,并根据具体使用情况收费,使用者可以在很短的时间内获得所需要的巨大存储空间。通过使用云存储系统,用户可以随时随地访问数据,操作更为便利;企业也避免了数据中心搭建代价与维护成本,总体上更为经济廉价。可以预期,在未来一段时期内,云存储将得到更为广泛的应用,会有越来越多的用户及企业选择使用云存储系统。
但目前云存储用户面临的一个重要问题是如何实现数据机密性保护。由于数据内容交由云存储服务提供商维护,后者自然就获得的访问用户所有数据的能力。一旦出现系统故障或者内部人员问题,导致用户数据传播,则后果不堪设想。
加密是当前公认的实现数据机密性保护的有效手段,可以有效的防范非授权传播。目前已有部分云存储系统支持密文文档,如Zetta等。数据加密带来了密文状态下难以实现文档快速检索与查找的问题。在普通云存储系统中,用户可根据文件名、关键词、修改时间等条件,在海量存储中查找所需文件。而文档在密文状态下,服务器无从获得文档的名字、关键词等信息,存储系统无法为用户进行文档检索,用户需要将所有密态文档先下载、解密,再判断其是否符合检索条件,无论从检索时间还是从网络传输带宽两方面来说,代价都令用户无法承受。因此,如何在密文云存储系统中,实现元信息的安全存储以及高效访问,并最终实现密文文档的快速检索,是当前云存储领域十分迫切的需求。
发明内容
针对上述问题,本发明提供了一种面向密文云存储的文档检索方法与系统,该方法充分利用面向列存储的数据库系统,基于用户所提供的自定义密文属性与关键词,构建数据安全索引,实现海量密文文档的安全快速检索。该系统实现密文文档元信息的安全存储以及高效访问,具有相对独立的结构,可以为当前各类云存储系统提供海量密文数据的快速检索支持。
该方法包括如下几个关键步骤:
1.密钥生成
本发明采用双层密钥体制。根密钥为用户的主密钥,由用户自行生成,二级密钥为文档加密密钥与索引密钥,均由客户端自动生成。为了最大程度保证文档安全,每个文档具有单独的文档加密密钥,该密钥被用户的主密钥加密保存在服务器端。每个用户具有一个索引密钥,用于加密保护所有属性元信息,该索引密钥被主密钥加密保存在服务器端(即云数据库端)。用户的主密钥由用户自己负责其安全存储,客户端只使用主密钥,不会泄露主密钥,上述若干二级密钥可以根据实际需求定期更换。
2密文文档元信息生成
密文文档元信息包括两个部分,一部分由用户生成。用户在上传密文文档的同时,为该文档生成用于检索的元信息。该部分元信息包括一组用户自定义的属性集合,由用户索引密钥加密保护。每个属性包括一个属性名称、以及一个或多个属性值。
令Ki表示用户Ui的索引密钥。该用户为文档T设定一个属性,其名称为Ax,n个属性值分别为{Vx1,…,Vxn};那么用户为文档生成的元数据为一个二元组:(EKi(Ax),{EKi(Vx1),…,EKi(Vxn)})。前者是利用索引密钥加密后的属性名称,后者是利用索引密钥加密后的属性值。当用户为文档指派多个属性时,生成的元数据为上述二元组集合。
密文文档的另一个组成部分是由文档提取的,在上传密文文档的同时,客户端自动对文档进行解析,解析出文档的一些元信息,如读取文档的名字等信息,以及分析文档内容的关键词信息。该部分元信息包含文档的一些属性的集合,也由用户索引密钥加密保护。每个属性也包含一个属性名称以及一个或多个属性值。
为密文文档提取的所有的元信息将作为一条完整的索引记录保存在云数据库的索引表中。
3密文文档检索
当用户需要查找具有某个属性值的密文文档时,提交形如“Ax=V”查询条件,其中,Ax是属性名称,V是属性值。在发送到服务器端前,客户端将该查询条件翻译成多个子检索条件并采用索引密钥进行加密,形如:“Ek(V)∈{EKi(Vx1),…,EKi(Vxn)}”。
服务器端在收到检索请求后,在所保存的元信息库中检索,找到所有满足条件的元组后将其返回给用户。用户端可以通过索引密钥解密得到具体的元信息,并根据该密文文档的链接请求访问文档内容。
4密文元信息更新
为了保证元信息之间的一致性,在密文文档更新、元信息发生改变时,需要用户主动将修改后的元信息加密并重新提交,由服务器更新所对应的元组内容。
优选地,步骤1所述的步骤中,用户的主密钥可以由口令加密保护,或者可以保存在U-key等外接设备中。
优选地,步骤2所述的步骤中,可以对文档的属性元信息进行处理,在用户上传密文文档时,自动对文档的基本属性(如文档名,大小等)进行提取,作为文档元信息,也对文档的内容进行解析,解析出关键字,作为文档属性元信息。
优先地,步骤2所述的步骤中,如果文档的属性元信息的属性名本身不泄漏用户隐私,可以不对属性名加密,而只对属性值加密。
优先地,步骤2所述的步骤中,将文档在云存储的存储位置作为该文档属性元信息的标识,作为文档的属性元信息的一部分。
优选地,步骤2所述的步骤中,可以针对文档的文件名属性生成作特殊优化,比如对文件名进行分词。文档的文件名对应的索引值不仅包括加密后的文件名字符串,而且包括对文件名进行分词后的子文件名的密文集合,这样可以适用于用户提交的对文件名的部分查询。
优选地,步骤2所述密文文档的元信息可以保存在分布式键值数据库中。每个文档的所有元信息表示为一个元组;该元组的各个属性为加密保密后的文档属性名,其属性值为加密保护的属性值。
优选地,步骤3所述步骤可以提供对多个检索条件的支持。多个检索条件为由一个或多个操作符(OR或AND)连接的多个基本查询子句。
优选地,步骤3所述步骤可以提供对明密文的同时检索,在用户提交检索条件后,将检索拆分成明文检索和密文检索,明文检索过程中不需要加密,最后将明文检索和密文检索结果合并。
优选地,步骤3所述步骤可以提供对区间条件检索的支持。通过将文档属性值域划分成不同层次的区域,从而将对该属性的区间检索转化为对上述区域的等值检索。
若用户需要为属性A构建支持区间检索的属性元信息,具体步骤为:
●将属性A值域[Fmin,Fmax]分成n个区间:[Fmin,Fmax]={[Fmin,F1),[F1,F2),…,[Fn-1,Fmax]},其中当k>i时,Fk>=Fi;
●选择一个映射函数Map,将每个区间对应于一个不同的取值:Map([Fi-1,Fi))=Vi,其中当i≠j时,Fi≠Fj
●若元信息属性值a属于区间[Fk-1,Fk),则其属性值为Vk=Map([Fk-1,Fk));
当用户对属性A进行区间检索时,检索区间为[a_low,a_high]
●假定a_low∈[Fi-1,Fi),a_high∈[Fk-1,Fk),由A的值域划分得,满足检索条件的区间:{[Fi-1,Fi),[Fi,Fi+1),…,[Fk-1,Fk)};
●将满足检索的区间通过M印映射得:{Vi,Vi+1,…,Vk};
●将这些映射值与检索字段进行组合,构建多个值域区域的检索键值对:{(A,Vi)、(A,Vi+1)、…、(A,Vk)},多个检索之间的关系是OR
本发明提供的面向密文云存储的文档检索系统,其特征在于:该系统包括通过网络连接的一服务器(云存储服务器,即云存储数据库)和若干客户端,其中每一客户端包括安全组件10、索引操作组件20、检索组件30、云数据库访问组件40。其中安全组件10包含了加解密组件11、密钥管理组件12;索引操作组件20包含了文件上传解析组件21、文件操作解析组件22、索引处理组件23;检索组件30包含了检索字段解析组件31、检索条件构建组件32、检索结果解析组件33。
加解密组件11主要是对上传的元信息进行加密和服务器返回密态元信息进行解密,加解密使用的密钥是由密钥管理组件12返回的密钥。
密钥管理组件12主要是负责接收用户导入主密钥,对于用户的索引密钥的请求,先从服务器获取密态的索引密钥,再使用主密钥对其进行解密,并返回解密结果。在服务器中不存在该用户的索引密钥时,自动为用户生成索引密钥,使用主密钥加密后,上传到服务器。
文件上传解析组件21主要是对要上传的文件进行解析,解析出所有需要的元信息,采用安全组件10对所有的元信息进行加密保护。
文件操作解析组件22主要根据文件的更新操作,解析出相关的更新元信息,并采用安全组件10对元信息进行加密保护。
索引处理组件23主要根据为文件上传解析组件21或文件操作解析组件22中提供的所有密态元信息进行处理,构建完整的索引记录,通过云数据库访问组件40提交给服务器保存。
检索字段解析组件31主要对用户输入的元信息中所有的检索字段进行分析,分析出与其相对应的索引库中元信息的一个或多个字段,并对检索值与这些检索字段采用安全组件10进行加密保护。
检索条件构建组件32主要是根据检索字段解析组件31提供的密态元信息的检索字段和检索值,结合用户提供的元信息检索字段之间的关系,构建出针对索引库的检索条件,通过云数据库访问组件40提交给服务器进行检索。
检索结果解析组件33主要是对服务器通过云数据库访问组件40返回的结果采用安全组件10进行解密,并将结果显示给用户。
云数据库访问组件40主要是对云数据库的访问进行封装,封装成普通的数据库访问,如插入、修改、删除、查找等操作。
和现有技术相比,本发明具有如下优势:
1.基于本发明的密文云存储检索系统安全性高。对于密文文档的上传,为其构建的索引均将被用户的索引密钥保护,在用户没有泄漏用户索引密钥的情况下,文档的索引信息不会泄漏文档具体信息。所有的密文检索均是在索引信息的密文状态下进行的,服务器无需了解到索引具体内容,保证了检索系统的安全性。
2.基于本发明的密文云存储检索系统检索效率高。对于用户的密文检索的请求,服务器对索引信息进行检索时,是在索引信息的密文状态下进行匹配的,可以直接返回检索结果,而不需要将所有的密文文档返回解密后,分别查看是否是所需要的文档,也不需要在服务器端进行额外的相关计算来判断当前判断的文档是否是所需要的,所以使得密文检索系统的效率比较高。
3.基于本发明的密文云存储检索系统弹性可扩展。支持海量数据的存储与访问。用户的文档元信息将被存放在云存储上,云存储容量具有高度的可扩展性,而且所有的访问压力将被分散在各个服务器上,所以密文检索系统对于海量数据的存储和访问具有高度的可扩展性。
附图说明
图1是本发明的系统体系结构图;
图2是本发明的属性加解密过程的示意图;
图3是本发明的区间匹配的示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,在下面的详细描述中,提出了许多具体的细节,以便让技术人员对本发明有个更加全面的理解。所以,技术人员在实施本发明时不需要完全按照下面描述的一些具体细节。
图1概要地表达出了本发明的体系结构图,其分成了四大组件:索引操作组件、检索组件、加解密组件和云数据库访问组件。一共包括了:云数据库(即云存储数据服务器)、主密钥、密钥管理组件、索引加解密组件、文件上传解析组件、文件操作解析组件、索引处理组件、检索字段解析组件、检索结果解析组件和检索条件构建组件。
云数据库主要是存放云存储数据的索引和用户的索引密钥信息。在实施例中,采用HBase作为云数据库来存储索引和索引密钥的相关信息。HBase是一个key-value数据库,其结构与传统的关系数据库不同,HBase有如下的结构:表名(table_name)、行标识(row_key)、列族(family_name)、列名(column_name),其中行标识类似于在传统数据库中设置的主键,列族和列名的组合类似于传统数据的列,列族是几个列名的集合。key由表名、行标识、列族和列名确定,value就是存放在指定表名、指定行标识、指定列族和指定列名下的值。除了表名和列族需要在创建表时确定,行标识和列名在插入记录时确定,所以HBase支持自定义数据库字段。
先假设用户上传两个文件,其中密文上传testCipher.txt,明文上传testPlain.txt,其他属性均一样,文档大小500K,所有者administrator,上传时间为2010-06-02,自定义字段为“项目”,对应的自定义值为“密文检索”,文档的关键字属性为“测试密文检索,其中明文上传的路径是“/”,密文上传的路径是“/”,假设加解密函数分别是EncK()和Deck(),其中k为加解密密钥。
1密文文档的元信息安全存储
文档的元信息需要存放在云数据库中,所以我们在云数据库中构建索引元信息表,主要是用来存放云存储文档的元信息的。其采用文档在云存储中存放路径(包含文档名)作为元信息行记录的标识。
当用户上传文档时,假如用户上传的明文文档testPlain.txt和密文文档testCipher.txt,
●文件上传解析组件获得文档的自定义字段“项目”,自定义值“密文检索”
●文件上传解析组件解析出上传文档的文档名:testPlain、testCipher,文档大小:500k,文档类型:txt,文档修改时间:2010-06-02,文档所有者:administrator
●文件上传解析组件获得文档在云存储的存储路径“/”,与文档名进行组合,组成“/testPlain.txt”和“/testCipher.txt”,作为元信息的行标识
●文件上传解析组件对文档解析,解析出关键字属性:测试、密文和检索
●文件上传解析组件对文档名进行解析,testPlain解析出test和Plain两个单词,testCipher解析出test和Cipher两个单词,对文档修改时间进行解析,解析出年、月、日分别是2010、06、02
●对于testCipher.txt,文件上传解析组件调用安全组件对元信息进行加密
●索引处理组件为这些获得的和解析的信息构建索引字段,组成索引记录,并将索引记录通过云数据库访问组件上传到索引元信息数据库中
所以,两个文件上传完毕,云数据库索引元信息表中增加如下两条记录。具体见表1所示
表1索引元信息表
其中is_enc指示了元信息对应的文档是密文上传的还是明文上传的。
密文检索系统需要每个用户在客户端上传密文文档时导入主密钥masterKey,同时客户端会为该用户在第一次上传密文文档时生成一个索引密钥searchKey,而且会将该索引密钥以密文的形式存放在云数据库中。在云数据库中存在一个用户索引密钥信息表,其用来存放在用户的索引密钥,用户的索引密钥总是以密文的形式存在。索引密钥记录采用用户名作为每条记录的标识。所以当用户密文上传testCipher.txt时,云数据库的索引密钥信息表中存在如下一条记录。具体见表2
表2索引密钥信息表结构
其中keyAlgorithm和attributeAlgorithm分别指示了对属性和索引密钥加解密时使用的加解密算法。
当客户端对testCipher等信息进行加密时(具体流程参考图2所示)
●密钥管理组件导入主密钥masterKey
●密钥管理组件从云数据库获得索引密钥的密文EncmasterKey(“searchKey”)
●密钥管理组件采用主密钥对索引密钥的密文进行解密DecmasterKeyEncmasterKey(“searchKey”),即表1中加解密密钥k
●加解密组件采用密钥k对元信息进行加密EncK(“testCipher”)
注:对文档元信息进行解密的过程类似。
2基于密文元信息条件表达式的密文文档检索
在本系统中,文档检索过程主要包含了检索字段解析组件、检索条件构建组件和检索结果解析组件,同时也涉及到了对云数据库的访问和加解密组件,这几个部分协调完成了根据文档的密文元信息完成对密文文档的检索过程。
当用户发起对文档名为“test”的密文检索时
●检索字段解析组件获得检索的条件,即文档名包含test的文档
●检索字段解析组件对检索条件进行解析,基于文档名的查询被分解,分解到基于normal:filename的查询和基于titles:title0、titles:title1的查询,三个查询的检索关系是“or”,只要满足一个即可
●检索字段解析组件调用加解密组件对检索值“test”进行加密
●检索条件构建模块根据检索值EncK(“test”)、三个检索字段以及检索字段之间的关系“or”,构建基于云数据库的检索表达式
●检索结果解析组件获得云数据库访问组件返回所有满足条件的文档的元信息EncK(“/testCipher.txt”)、EncK(“testCipher”)、EncK(“500k”)等
●检索结果解析组件调用加解密组件多所有的文档元信息进行解密,得到“/testCipher.txt”,“testCipher”,“500k”等
同时系统中还提供了针对明文和密文的同时检索,对于明文文档,其元信息在云数据库中也是以明文的形式存在的,故密文文档检索的过程将不再适用,需要将明文文档的检索与密文文档的检索分开进行。
当用户发起对文档名为“test”的明密文检索时
●检索字段解析组件获得需要进行明文和密文检索的信息
●检索字段解析组件将检索分成两个检索:基于明文的检索和基于密文的检索,除了基于密文检索的流程中需要对检索值进行加密外,两个检索的其他流程一致
●检索结果解析组件获得满足条件的明文检索的结果:“/testPlain.txt”,“testPlain”,“500k”等
●检索结果解析组件获得密文检索结果:EncK(“/testCipher.txt”)、EncK(“testCipher”)、EncK(“500k”)等
●检索结果解析组件调用加解密组件对密文检索结果进行解密,获得满足条件的文档元信息“/testCipher.txt”,“testCipher”,“500k”等
●检索结果解析组件将密文检索的解密结果与明文检索结果进行合并,得到最后的明密文检索结果:“/testPlain.txt”,“testPlain”,“500k”…,“/testCipher.txt”,“testCipher”,“500k”…
3对区间条件检索的支持
本系统实现了对时间的区间条件检索的支持,用户可以通过选择年月日的时间区间来完成对满足条件的明密文文档的检索。其主要涉及到两个过程:构建索引和检索两个部分。
当用户需要为文档testPlain.txt的修改时间构建区间检索索引时
●文件上传解析组件将该时间“2010-06-02”划分成年、月、日三部分:“2010”,“06”,“02”
●文件上传解析组件直接将年、月、日作为时间区间检索的索引存放在云数据库中“times:year”,“times:month”,“times:day”
当用户要查询修改时间在2008-02-05和2010-09-29之间的文档时,图3显示了用户进行时间的区间检索的过程。
●将区间(2008-02-05到2010-09-29)根据年月日的特征分解成多个区段
●为分解后的每个区段都构建一个查询,各个查询之间的查询关系是“or”
●合并所有的查询的结果
4密文元信息更新
本系统支持对密文元信息的更新,该过程主要包括了文件操作解析组件、索引处理组件、云数据库访问组件,还涉及到云数据库和加解密组件。这几个组件配合云存储,在用户对云存储文件进行剪切、复制和删除时,同时对其文档元信息进行更新。
用户发起对云存储的文档“/testCipher.txt”的剪切操作,要将该文件剪切到“/test/”目录下,当系统进行剪切操作时
●文件操作解析组件对云存储文档的在云存储的原始路径进行解析,获得该云存储文档对应的元信息在云数据库中对应行的行标识“/testCipher.txt”
●文件操作解析组件对云存储文档的复制的目标路径进行解析,获得该文档元信息的新行标识“/test/testCipher.txt”(即,将原文档的元信息复制一份,但将行标识替换成新的)
●索引处理组件在云数据库对行标识“/testCipher.txt”进行查询,发现找不到相应的文档元信息,采用加解密组件对“/testCipher.txt”进行加密,在云数据库中找到并获取EncK(“/testCipher.txt”)相对应的文档元信息:EncK(“/testCipher.txt”)、EncK(“testCipher”)、EncK(“500k”)等
●索引处理组件调用加解密组件对行标识“/test/testCipher.txt”进行加密
●索引处理组件将元信息的行标识与元信息:EncK(“/test/testCipher.txt”)、EncK(“/testCipher.txt”)、EncK(“testCipher”)、EncK(“500k”)等作为一条完整的记录添加到云数据库中
●索引处理组件将云数据库中行标识为EncK(“/testCipher.txt”)元信息删除
用户对文档的复制和删除操作可以参考上述操作的部分步骤。
以上详细说明的具体的实施方式仅仅是为了更好了理解本发明使用的,本发明不局限于此,本领域一般技术人员可以根据本发明的公开内容,采用其他多种实施方式来实施本发明,凡是采用本发明的设计结构和思路的,在不脱离权利要求范围的变换和替代,都属于本发明的保护范围。
Claims (10)
1.一种面向密文云存储的文档检索方法,其步骤为:
1)客户端利用用户导入的主密钥为该用户生成一索引密钥,并利用主密钥对该用户的索引密钥加密后保存在服务器端;其中,所述服务器端包括一索引表,用于存储每一用户用其索引密钥加密所上传文档的属性元信息所得到的密文;所述属性元信息包含文档的存储路径信息;
2)客户端接收某用户输入的待查询文档的属性元信息后,从服务器端获取该用户的索引密钥的密文;
3)客户端利用该用户导入的主密钥对该用户的索引密钥密文进行解密,得到该用户的索引密钥;
4)客户端利用该用户的索引密钥对待查询文档的属性元信息进行加密,得到属性元信息密文并将其发送到服务器端;
5)服务器端根据该属性元信息密文检索所述索引表,将满足条件的索引记录返回给客户端;
6)客户端利用该用户的索引密钥解密该索引记录中的属性元信息密文,得到属性元信息对应的文档。
2.如权利要求1所述的方法,其特征在于所述属性元信息包括用户自定义的检索属性元信息和文档解析属性元信息;每一所述检索属性元信息包括一属性名称、以及一个或多个属性值;每一文档解析属性元信息包括一个属性名称、以及一个或多个属性值。
3.如权利要求2所述的方法,其特征在于所述文档解析属性元信息包括:文档名、文档大小、文档类型、文档所有者、文档修改时间、文档关键字。
4.如权利要求3所述的方法,其特征在于客户端对文档名进行分词得到子文档名;所述文档名对应的属性值包括加密后的文件名字符串以及对文档名分词后的子文档名的密文集合。
5.如权利要求2所述的方法,其特征在于所述步骤4)中,客户端根据待查询文档的属性元信息中的某属性检索区间,选取该属性的值域区间并将其划分为若干子区间,然后将每一子区间映射为一相应的映射值;将每一映射值与该属性构成一检索键值对并建立检索键值对之间的逻辑关系;最后利用索引密钥对其进行加密后发送到服务器端。
6.如权利要求1所述的方法,其特征在于所述服务器端采用HBase数据库进行数据存储;所述索引表中将属性元信息中的文档存储路径作为该属性元信息密文在所述索引表中的行标识。
7.如权利要求1或2或3或4或5或6所述的方法,其特征在于每一用户用其索引密钥加密所上传文档的属性元信息的方法为:
1)用户在客户端上传文档时,客户端生成所上传文档的属性元信息,并从服务器端获取该用户的索引密钥的密文;
2)客户端利用该用户导入的主密钥对该用户的索引密钥密文进行解密,得到该用户的索引密钥;
3)客户端利用该用户的索引密钥对该属性元信息加密后作为一条记录保存在所述索引表中。
8.如权利要求7所述的方法,其特征在于每一文档具有一文档密钥,客户端利用所述主密钥对所述文档密钥加密后保存在所述服务器端;所述文档为明文文档或客户端利用所述文档密钥加密后的密文;所述文档密钥和所述索引密钥保存在服务器端的一密钥表中。
9.一种面向密文云存储的文档检索系统,其特征在于包括服务器端、若干客户端,所述客户端分别通过网络与所述服务器端连接;其中,每一客户端分别包括:
一密钥管理组件,用于自动为用户生成索引密钥并使用用户主密钥对其加密后,上传到服务器端;或者用于接收用户导入主密钥,从服务器获取密态的索引密钥并使用主密钥对其解密后,将所得索引密钥返回给所述加解密组件;
一加解密组件,用于采用索引密钥对上传的元信息进行加密和对服务器端返回密态元信息进行解密;
一文件上传解析组件,用于从上传的文件中解析出元信息;
一索引处理组件,用于根据文件的所有密态元信息构建索引记录,并将其保存到服务器端;
一检索字段解析组件,用于从用户输入的检索条件中解析出元信息,并将解析出的元信息采用所述加解密组件进行加密后发送给服务器端;
一检索结果解析组件,用于对服务器端返回的检索结果采用所述加解密组件进行解密后在客户端显示。
10.如权利要求9所述的系统,其特征在于所述客户端还包括一文件操作解析组件,用于文件的更新操作,并解析出更新元信息;一检索条件构建组件,用于根据检索字段解析组件的解析结果结合用户提供的检索元信息构建出检索条件,将其采用所述加解密组件进行加密后发送给服务器端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010595149 CN102024054A (zh) | 2010-12-10 | 2010-12-10 | 一种面向密文云存储的文档检索方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010595149 CN102024054A (zh) | 2010-12-10 | 2010-12-10 | 一种面向密文云存储的文档检索方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102024054A true CN102024054A (zh) | 2011-04-20 |
Family
ID=43865351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010595149 Pending CN102024054A (zh) | 2010-12-10 | 2010-12-10 | 一种面向密文云存储的文档检索方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102024054A (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624522A (zh) * | 2012-03-30 | 2012-08-01 | 华中科技大学 | 一种基于文件属性的密钥加密方法 |
CN102708216A (zh) * | 2012-06-28 | 2012-10-03 | 北京邮电大学 | 一种面向密文搜索的分词组织方法和聚类方法 |
CN102945356A (zh) * | 2012-12-12 | 2013-02-27 | 上海交通大学 | 云环境下搜索引擎的访问控制方法及系统 |
CN103118135A (zh) * | 2013-02-28 | 2013-05-22 | 中国地质大学(武汉) | 云计算中用户数据隐私的保护方法及系统 |
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN103297413A (zh) * | 2012-01-28 | 2013-09-11 | 查平 | 可分享网络文档保密柜 |
CN103366008A (zh) * | 2013-07-22 | 2013-10-23 | 天津汉柏信息技术有限公司 | 一种查找资源的方法和装置 |
CN103392178A (zh) * | 2011-11-11 | 2013-11-13 | 日本电气株式会社 | 数据库加密系统、方法和程序 |
CN103593476A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种面向云存储的多关键词明密文检索方法和系统 |
CN103595730A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种密文云存储方法和系统 |
CN103607420A (zh) * | 2013-09-23 | 2014-02-26 | 北京理工大学 | 面向云存储的安全电子医疗系统 |
CN103731475A (zh) * | 2013-12-06 | 2014-04-16 | 中国科学院深圳先进技术研究院 | 一种数据保护系统 |
CN103793663A (zh) * | 2013-12-26 | 2014-05-14 | 北京奇虎科技有限公司 | 文件夹加锁与解锁方法及文件夹加锁与解锁装置 |
WO2014146607A1 (zh) * | 2013-03-21 | 2014-09-25 | 华为终端有限公司 | 信息处理方法、检索方法、装置、用户终端及服务 |
CN104572827A (zh) * | 2014-12-08 | 2015-04-29 | 北京工业大学 | 一种基于跨明文与密文的混合搜索系统 |
CN105678189A (zh) * | 2016-01-15 | 2016-06-15 | 上海海事大学 | 加密数据文件存储和检索系统及方法 |
CN106027509A (zh) * | 2016-05-13 | 2016-10-12 | 成都镜杰科技有限责任公司 | Erp环境下的云平台数据计算方法 |
CN106302449A (zh) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和系统 |
US9633219B2 (en) | 2015-08-26 | 2017-04-25 | International Business Machines Corporation | Providing secure indexes for searching encrypted data |
CN106789007A (zh) * | 2016-12-16 | 2017-05-31 | 中国科学院软件研究所 | 一种基于密文检索的网络信息审查方法与系统 |
CN106850187A (zh) * | 2017-01-13 | 2017-06-13 | 温州大学瓯江学院 | 一种隐私字符信息加密查询方法及系统 |
CN106874379A (zh) * | 2017-01-05 | 2017-06-20 | 中国科学院软件研究所 | 一种面向密文云存储的多维区间检索方法与系统 |
CN107810499A (zh) * | 2015-09-14 | 2018-03-16 | 谷歌有限责任公司 | 用于内容存储和检索的系统和方法 |
CN108111587A (zh) * | 2017-12-15 | 2018-06-01 | 中山大学 | 一种基于时间释放的云存储搜索方法 |
CN108616528A (zh) * | 2018-04-23 | 2018-10-02 | 济南浪潮高新科技投资发展有限公司 | 一种云存储方法和系统 |
CN108897819A (zh) * | 2018-06-20 | 2018-11-27 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN109214198A (zh) * | 2018-08-13 | 2019-01-15 | 苏州泥娃软件科技有限公司 | 一种可加密搜索的安全云文档系统 |
CN109413029A (zh) * | 2018-08-29 | 2019-03-01 | 国网河南省电力公司电力科学研究院 | 定值数据接入方法、装置及系统 |
CN110324402A (zh) * | 2019-05-08 | 2019-10-11 | 湖南文盾信息技术有限公司 | 一种基于可信用户前端的可信云存储服务平台及工作方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588365A (zh) * | 2004-08-02 | 2005-03-02 | 中国科学院计算机网络信息中心 | 密文全文检索技术 |
CN101593196A (zh) * | 2008-05-30 | 2009-12-02 | 日电(中国)有限公司 | 用于快速密文检索的方法、装置和系统 |
-
2010
- 2010-12-10 CN CN 201010595149 patent/CN102024054A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588365A (zh) * | 2004-08-02 | 2005-03-02 | 中国科学院计算机网络信息中心 | 密文全文检索技术 |
CN101593196A (zh) * | 2008-05-30 | 2009-12-02 | 日电(中国)有限公司 | 用于快速密文检索的方法、装置和系统 |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9349023B2 (en) | 2011-11-11 | 2016-05-24 | Nec Corporation | Database encryption system, method, and program |
CN103392178A (zh) * | 2011-11-11 | 2013-11-13 | 日本电气株式会社 | 数据库加密系统、方法和程序 |
CN103297413A (zh) * | 2012-01-28 | 2013-09-11 | 查平 | 可分享网络文档保密柜 |
CN103297413B (zh) * | 2012-01-28 | 2018-02-02 | 查平 | 一种保密网络文档存储方法及系统 |
CN102624522B (zh) * | 2012-03-30 | 2015-08-19 | 华中科技大学 | 一种基于文件属性的密钥加密方法 |
CN102624522A (zh) * | 2012-03-30 | 2012-08-01 | 华中科技大学 | 一种基于文件属性的密钥加密方法 |
CN102708216A (zh) * | 2012-06-28 | 2012-10-03 | 北京邮电大学 | 一种面向密文搜索的分词组织方法和聚类方法 |
CN102945356A (zh) * | 2012-12-12 | 2013-02-27 | 上海交通大学 | 云环境下搜索引擎的访问控制方法及系统 |
CN102945356B (zh) * | 2012-12-12 | 2015-11-18 | 上海交通大学 | 云环境下搜索引擎的访问控制方法及系统 |
CN103118135A (zh) * | 2013-02-28 | 2013-05-22 | 中国地质大学(武汉) | 云计算中用户数据隐私的保护方法及系统 |
EP2940959A4 (en) * | 2013-03-21 | 2016-03-30 | Huawei Device Co Ltd | INFORMATION PROCESSING METHOD, INFORMATION RECOVERING METHOD, DEVICE, USER TERMINAL, AND SERVER |
WO2014146607A1 (zh) * | 2013-03-21 | 2014-09-25 | 华为终端有限公司 | 信息处理方法、检索方法、装置、用户终端及服务 |
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN103281377B (zh) * | 2013-05-31 | 2016-06-08 | 北京创世泰克科技股份有限公司 | 一种面向云的密文数据存储与查询方法 |
CN103366008A (zh) * | 2013-07-22 | 2013-10-23 | 天津汉柏信息技术有限公司 | 一种查找资源的方法和装置 |
CN103607420A (zh) * | 2013-09-23 | 2014-02-26 | 北京理工大学 | 面向云存储的安全电子医疗系统 |
CN103593476B (zh) * | 2013-11-28 | 2017-01-25 | 中国科学院信息工程研究所 | 一种面向云存储的多关键词明密文检索方法和系统 |
CN103595730A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种密文云存储方法和系统 |
CN103593476A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种面向云存储的多关键词明密文检索方法和系统 |
CN103595730B (zh) * | 2013-11-28 | 2016-06-08 | 中国科学院信息工程研究所 | 一种密文云存储方法和系统 |
CN103731475A (zh) * | 2013-12-06 | 2014-04-16 | 中国科学院深圳先进技术研究院 | 一种数据保护系统 |
CN103731475B (zh) * | 2013-12-06 | 2018-03-30 | 中国科学院深圳先进技术研究院 | 一种数据保护系统 |
CN103793663A (zh) * | 2013-12-26 | 2014-05-14 | 北京奇虎科技有限公司 | 文件夹加锁与解锁方法及文件夹加锁与解锁装置 |
CN104572827B (zh) * | 2014-12-08 | 2017-12-15 | 北京工业大学 | 一种基于跨明文与密文的混合搜索系统 |
CN104572827A (zh) * | 2014-12-08 | 2015-04-29 | 北京工业大学 | 一种基于跨明文与密文的混合搜索系统 |
US10037435B2 (en) | 2015-08-26 | 2018-07-31 | International Business Machines Corporation | Providing secure indexes for searching encrypted data |
US9633219B2 (en) | 2015-08-26 | 2017-04-25 | International Business Machines Corporation | Providing secure indexes for searching encrypted data |
US11930070B2 (en) | 2015-09-14 | 2024-03-12 | Google Llc | Systems and methods for content storage and retrieval |
CN107810499A (zh) * | 2015-09-14 | 2018-03-16 | 谷歌有限责任公司 | 用于内容存储和检索的系统和方法 |
CN107810499B (zh) * | 2015-09-14 | 2022-03-25 | 谷歌有限责任公司 | 用于内容存储和检索的系统和方法 |
CN105678189A (zh) * | 2016-01-15 | 2016-06-15 | 上海海事大学 | 加密数据文件存储和检索系统及方法 |
CN105678189B (zh) * | 2016-01-15 | 2018-10-23 | 上海海事大学 | 加密数据文件存储和检索系统及方法 |
CN106027509A (zh) * | 2016-05-13 | 2016-10-12 | 成都镜杰科技有限责任公司 | Erp环境下的云平台数据计算方法 |
CN106302449B (zh) * | 2016-08-15 | 2019-10-11 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和系统 |
CN106302449A (zh) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和系统 |
CN106789007A (zh) * | 2016-12-16 | 2017-05-31 | 中国科学院软件研究所 | 一种基于密文检索的网络信息审查方法与系统 |
CN106874379A (zh) * | 2017-01-05 | 2017-06-20 | 中国科学院软件研究所 | 一种面向密文云存储的多维区间检索方法与系统 |
CN106874379B (zh) * | 2017-01-05 | 2021-01-12 | 中国科学院软件研究所 | 一种面向密文云存储的多维区间检索方法与系统 |
CN106850187B (zh) * | 2017-01-13 | 2018-02-06 | 温州大学瓯江学院 | 一种隐私字符信息加密查询方法及系统 |
CN106850187A (zh) * | 2017-01-13 | 2017-06-13 | 温州大学瓯江学院 | 一种隐私字符信息加密查询方法及系统 |
CN108111587A (zh) * | 2017-12-15 | 2018-06-01 | 中山大学 | 一种基于时间释放的云存储搜索方法 |
CN108111587B (zh) * | 2017-12-15 | 2020-11-06 | 中山大学 | 一种基于时间释放的云存储搜索方法 |
CN108616528A (zh) * | 2018-04-23 | 2018-10-02 | 济南浪潮高新科技投资发展有限公司 | 一种云存储方法和系统 |
CN108897819A (zh) * | 2018-06-20 | 2018-11-27 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN108897819B (zh) * | 2018-06-20 | 2021-09-21 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN109214198A (zh) * | 2018-08-13 | 2019-01-15 | 苏州泥娃软件科技有限公司 | 一种可加密搜索的安全云文档系统 |
CN109413029A (zh) * | 2018-08-29 | 2019-03-01 | 国网河南省电力公司电力科学研究院 | 定值数据接入方法、装置及系统 |
CN110324402B (zh) * | 2019-05-08 | 2022-03-11 | 湖南文盾信息技术有限公司 | 一种基于可信用户前端的可信云存储服务平台及工作方法 |
CN110324402A (zh) * | 2019-05-08 | 2019-10-11 | 湖南文盾信息技术有限公司 | 一种基于可信用户前端的可信云存储服务平台及工作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102024054A (zh) | 一种面向密文云存储的文档检索方法与系统 | |
CN105678189B (zh) | 加密数据文件存储和检索系统及方法 | |
CN112800088B (zh) | 基于双向安全索引的数据库密文检索系统及方法 | |
CN102075542B (zh) | 一种云计算数据安全支撑平台 | |
US7519835B2 (en) | Encrypted table indexes and searching encrypted tables | |
US8533489B2 (en) | Searchable symmetric encryption with dynamic updating | |
Egorov et al. | ZeroDB white paper | |
CN103107889A (zh) | 一种可搜索的云计算环境数据加密存储系统和方法 | |
CN108628867A (zh) | 面向云存储的多关键词密文检索方法和系统 | |
US20090022321A1 (en) | Personal information management system, personal information management program, and personal information protecting method | |
Wang et al. | Towards secure and effective utilization over encrypted cloud data | |
CN103970889A (zh) | 一种中英文关键词模糊搜索的安全云盘 | |
CN109213731A (zh) | 云环境中基于迭代加密的多关键词密文检索方法 | |
CN115688141A (zh) | 一种个人信息拆分脱敏存储与重构方法及系统 | |
CN104794243B (zh) | 基于文件名的第三方密文检索方法 | |
CN109934008B (zh) | 一种基于权限等级的多任务文档管理系统 | |
WO2018080857A1 (en) | Systems and methods for creating, storing, and analyzing secure data | |
US20230144072A1 (en) | Data storage server and client devices for securely storing data | |
Zhao et al. | Secure and efficient product information retrieval in cloud computing | |
Sun et al. | Research of data security model in cloud computing platform for SMEs | |
Mu et al. | Encrypted data retrieval scheme based on bloom filter | |
Chen et al. | Searchable encryption system for big data storage | |
Xu et al. | An Efficient Multi-keyword top-k Search Scheme over Encrypted Cloud Data | |
Ren et al. | Keyword-based Ciphertext Search Algorithm under Cloud Storage | |
Khurana et al. | Privacy Preserving Multi Keyword Ranked Search with Context Sensitive Synonyms over the 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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110420 |