CN104408177B - 基于云文档系统的密文检索方法 - Google Patents
基于云文档系统的密文检索方法 Download PDFInfo
- Publication number
- CN104408177B CN104408177B CN201410773613.9A CN201410773613A CN104408177B CN 104408177 B CN104408177 B CN 104408177B CN 201410773613 A CN201410773613 A CN 201410773613A CN 104408177 B CN104408177 B CN 104408177B
- Authority
- CN
- China
- Prior art keywords
- keyword
- file
- server
- index
- proxy server
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
Abstract
本发明公开了一种基于云文档系统的密文检索方法。其实现步骤是:1)数据上传者对文件加密后发送给代理服务器;2)代理服务器解析文件提取出关键词,计算出文件的关键词权重与关键词陷门一起发送给索引服务器,同时代理服务器使用随机密钥对文件进行二次加密后发送给存储服务器;3)索引服务器用关键词陷门构建一个二叉树嵌套于B+树结构的关键词陷门索引树;4)检索用户进行关键词检索时,代理服务器将待查询关键词陷门发送给索引服务器,索引服务器检索索引树,得到符合条件的文件标识发送给存储服务器;5)存储服务器根据文件标识将相应密文文件发送给用户,用户解密密文文件得到明文。本发明安全性强,检索效率高。
Description
技术领域
本发明属于数字信息存储技术领域,特别涉及云存储中的密文检索方法,可用于存储系统的存储管理以及文件的检索。
背景技术
随着云计算技术发展的日益成熟,大量的隐私数据将被存储在云服务器上。由于云服务器的不完全可信,为保护隐私数据安全,用户上传文件之前需要对文件进行加密。如果加密操作不合适,将会大大降低数据利用的效率。当用户希望将上传的数据共享给其他用户时,合适的加密操作将会提高文件共享的效率。共享用户有可能只希望访问数据上传者的部分文件,向服务器提交其感兴趣的关键词,服务器返回与关键词相关的文件给用户。
与明文检索不同,云存储中对于文件的搜索是基于密文进行检索。对于云服务器中的密文文件,如果也将所有文件下载解密后再进行明文搜索,效率将非常低下。因此,对于加密数据的隐私保护以及检索在云存储中非常重要。
针对加密文档进行关键词搜索的密文检索技术首先由Dawn Song等人提出,该方案没有构建任何索引,需要对全部密文进行线性扫描,效率较为低下。Goh等人随后提出了安全索引的概念,基于该概念,密文检索技术可分为对称可搜索加密和非对称可搜索加密。
Song等人在2000年首次提出了对称可搜索加密方案,即在对称密码体制下的密文检索方案,该方案只考虑了单关键词的密文检索,效率较低。其主要原理是用流密码即校验序列和伪随机序列生成加密明文信息,得到密文信息。当用户希望检索关键词时,将关键词与密文信息线性地进行异或操作。将操作结果与校验条件相比较,如果符合校验条件,则将相应的密文信息发送给用户,如果不符合校验条件,则检索停止。
Dan Boneh等人于2004年在欧密会上提出了第一个非对称可搜索加密PEKS方案,解决了当密文存储于第三方非可信服务器时的关键词密文检索问题。该方案引入了双线性映射这一密码学原理,用户每次上传文件时都需要对所有关键词使用对运算进行加密,效率仍然不高。随后,B.Waters等人引入了基于属性加密的概念,使用PEKS方案来建立带关键词检索的加密数据,从而用户可以使用更好的粒度来控制公钥加密的强度。Abdalla等人在2005年完善了公钥可搜索加密的理论部分并扩展了公钥可搜索加密的应用和功能。
然而,上述方案并未提及关键词与文件的相似度,用户得到的文件与其查询的关键词可能并不匹配。对此,Cao等人考虑关键词词频的信息,提出了关键词的密文排序查询方案,该方案对关键词与文件的相似度的考虑并不全面,需要扫描全部文档,同时索引的更新较为麻烦。基于关键词与文件相似度的改进,Wang等人引入了准则,改进了单个关键词的密文排序查询。
在现实的使用中,单关键词的查询不足以满足用户的检索需求。Cao等人第一次提出了多关键词的密文排序查询方案,将索引向量与查询向量的内积作为多关键词与文件对应的相似值,从而解决了多关键词对应文档的排序问题。该方案初步实现了多关键词的密文排序查询,但是由于需要对索引进行线性扫描,检索效率仍然不高。Fu等人对上面的方案进行了改进,将索引向量存储于二叉树中,提高了检索的效率。然而,二叉树用于文件索引时,随着文件数的增加,树的高度越来越大,服务器在检索海量文件时的负担也会急剧增大。同时,基于向量的多关键词排序查询方案只适合应用与关键词词典固定的应用场景,当索引中出现了新的关键词时,索引的修改十分麻烦。
发明内容
本发明目的在于提出一种基于云文档系统的密文检索方法,以解决现有方法的索引结构效率低下的问题,同时进一步保证用户的隐私数据安全。
为实现上述目的,本发明的技术方案包括如下步骤:
(1)文件上传
1a)数据上传者为待上传的文件附加上128位的‘0’作为文件头head,用公钥PKU对文件加密,用私钥SKU对文件头head进行加密得到并用代理服务器的公钥PKS对其私钥SKU进行加密得到再将这三个加密项一起上传至代理服务器;
1b)代理服务器为文件生成一个文件标识,同时解析文件提取出关键词,并使用排序函数计算出关键词权重,使用哈希函数计算出关键词陷门,将关键词权重、关键词陷门与文件标识一起发送给索引服务器;
1c)代理服务器使用一个随机的密钥Rkey对数据上传者加密过的文件进行再次加密后与加密文件头一起发送给存储服务器,以确保用户的隐私安全;
1d)代理服务器用数据上传者的公钥PKU对随机密钥Rkey进行加密,并将加密后的随机密钥与数据上传者的身份、时间戳这些元数据一起存储在代理服务器中,代理服务器删除原有的随机密钥Rkey和用户私钥SKU;
(2)索引建立
索引服务器将代理服务器发送过来的关键词陷门构建一个二叉树嵌套于B+树结构的关键词陷门索引树,以保证文件检索;
(3)单关键词密文检索
3a)检索用户进行单关键词检索时,将希望检索的关键词发送给代理服务器;
3b)代理服务器根据检索用户发送的关键词计算出相应的关键词陷门发送给索引服务器;
3c)索引服务器根据关键词陷门检索索引树,得到符合条件的文件标识发送给存储服务器;
(4)多关键词密文检索
4a)检索用户对多个关键词{w1,w2,...,wi}进行检索时,将希望检索的多关键词的逻辑表达式w1∪w2∪...∩wi发送给代理服务器;
4b)代理服务器判断每个关键词是在交集中还是在并集中,将关键词分成两组,一组是并集中的关键词{w1,w2,...,wj},另一组是交集中的关键词{wj+1,wj+2,...,wi},其中1≤j≤i;
4c)代理服务器分别将并集{w1,w2,...,wj}和交集{wj+1,wj+2,...,wi}中的每个关键词的散列值发送给索引服务器;
4d)索引服务器检索索引树,将匹配的文件标识发送给代理服务器;
4e)代理服务器将这些文件标识合并,分别对这些文件标识进行并集排序操作和交集排序操作;
4f)代理服务器对于并集排序操作以及交集排序操作找出的文件标识集合,再进行一次交集排序操作,为两个文件标识集合执行交集排序操作,得到最终匹配到的文件标识排序集合。
(5)文件下载
5a)代理服务器将检索用户用私钥加密的文件头发送给存储服务器;
5b)存储服务器根据索引服务器发送的文件标识,比较文件标识对应的文件头和是否相同,将两者相同的密文文件发送给检索用户;
5c)检索用户对密文文件进行解密得到明文。
本发明与现有技术相比具有以下优点:
第一,本发明通过引入一个代理服务器,作为可信第三方或者用户端的服务器,用于解析用户的文件,同时对用户的加密文件进行二次加密,进一步保障了用户的隐私安全。
第二,本发明引入了文件头的概念,数据持有者上传文件时为每个文件附加上一个用私钥加密的128位的‘0’作为文件头,因为服务器检索文件时是对系统中的全部文件进行检索,引入文件头机制可以防止用户检索时接收到自己未被授权访问的文件。
第三,在索引的结构方面进行了改进,提出了一种二叉树嵌套于B+树的双树索引结构,在此索引结构上实现了对关键词的密文检索,在保证了用户隐私安全的同时,提高了检索的效率。
第四,本发明对检索的结果进行排序,保证了用户接收的文件与所查询关键词之间的高相关性,且本发明提出的多关键词密文检索方案,可支持对于多个不同逻辑关系的关键词的密文检索。
附图说明
图1为现有的云存储中密文检索系统模型图;
图2为本发明的云文档系统模型图;
图3为本发明基于云文档系统的密文检索总流程图;
图4为本发明中的文件上传子流程图;
图5为本发明中的索引结构图;
图6为本发明中的索引树修改子流程图;
图7为本发明中的单关键词检索子流程图;
图8为本发明中的多关键词检索子流程图;
图9为用本发明的索引树结构和用二叉树结构建立索引的对比图;
图10为用本发明的索引树结构和用二叉树结构在进行关键词查询的对比图。
具体实施方式
下面结合附图及具体实例对本发明作进一步的具体描述:
参照图1,在现有的云存储中密文检索系统中,用户与云服务器进行直接交互,数据上传者将加密的文件以及关键词陷门上传到云服务器中,检索用户需要进行检索时,则生成需要检索关键词的陷门给云服务器,云服务器根据检索结果返回匹配到的文件给检索用户。
该系统由于不存在单独的索引服务器,用户的文件标识以线性结构或二叉树结构存储在云服务器上。在大规模的数据存储中,树节点存储的元素数是有限的。当文件数量非常大时,二叉树结构的深度会变的很大,服务器对文件进行检索时,对于磁盘I/O的读写过于频繁,从而导致检索效率变得低下。
参照图2,本发明的云文档系统在图1的基础上加入了代理服务器作为可信第三方,为用户和云服务器之间提供接口,保证了用户的隐私安全;同时使用单独的索引服务器来存储索引树,以提高系统的工作效率。
参照图3,本发明基于图2系统进行密文检索的步骤包括如下:
步骤1.用户和代理服务器产生密钥对。
用户和代理服务器共同选取公开参数p和g,其中p是大素数,g是p的本原根;
代理服务器随机选取一个秘密随机整数SKS作为私钥,得到代理服务器的公钥为:
用户选取一个秘密随机整数SKU作为私钥,得到用户的公钥为:
步骤2.文件上传。
数据上传者在上传文件之前,使用文件头机制处理文件后发送至代理服务器,代理服务器对文件进行处理后发送关键词陷门信息给索引服务器,发送密文文件给存储服务器。
参照图4,本步骤的具体实现如下:
2a)数据上传者在上传文件F之前,为文件F附加一个文件头head,文件头为128位的‘0’;
2b)数据上传者用公钥PKU加密文件,用私钥SKU对文件头head进行加密得到加密文件头并用代理服务器的公钥PKS对其私钥SKU进行加密得到数据上传者的加密私钥再将这三个加密项一起上传至代理服务器;
2c)代理服务器接收到上传的文件后,生成一个随机密钥Rkey用于加密文件,为文件生成一个文件标识FID;
2c1)代理服务器使用其私钥SKS对数据上传者的加密私钥进行解密,得到数据上传者的私钥SKU,用SKU解密文件后对文件进行解析,提取出包含t个关键词的关键词集为:
{w1,w2,…,wi,...wt};
2c2)计算出每个关键词的权重并将其散列值h(wi)与对应的文件标识FID一起发送给索引服务器,计算关键词权重的公式为:
其中,fi为文件中对应的关键词的词频数;ftotal为文件中包含的全部词的数量,N是云文档系统中的全部文件数,gi是关键词对应的全部文件数;
2c3)代理服务器用随机密钥Rkey对数据上传者加密过的文件进行再次加密,并将该再次加密后的密文文件与加密文件头一起发送给存储服务器;
2c4)代理服务器用数据上传者的公钥PKU对随机密钥Rkey进行加密,并将加密后的随机密钥与数据上传者的身份、时间戳这些元数据一起存储在代理服务器中,代理服务器删除原有的随机密钥Rkey和用户私钥SKU。
步骤3.索引修改。
索引服务器中存储的索引结构为二叉树嵌套于B+树的双树结构,如图5所示。
参照图6,本步骤的具体实现如下:
3a)当索引服务器收到关键词wi的散列值以及对应的文件标识时,先检索B+树,查找B+树中是否存在wi的散列值如果索引服务器在B+树中找到该关键词wi的散列值则只需将对应的文件标识插入到B+树节点中的二叉排序树中,执行3b);若在B+树中未找到则需将作为一个新的节点插入B+树中,并将对应的文件标识作为该节点中二叉排序树的根节点;
3b)对每一个文件标识按照其关键词权重大小执行二叉排序查询算法,在二叉树中查找该文件标识:如果没有找到,则将文件标识形成一个新的节点点并将其插入到二叉树中,执行3c);如果找到了,则无需更新二叉树;
3c)判断二叉排序树是否为空:若二叉排序树为空,则将待插入节点作为根节点插入到空树中;当二叉排序树不为空,则根据待插入节点对应文件的关键词权重大小将文件标识插入到二叉排序树中,完成对索引的修改。
步骤4.单关键词检索。
检索用户进行单个关键词查询时,无需对关键词进行加密,因为索引服务器得到的依然是由代理服务器hash处理后的关键词。因此,索引服务器、存储服务器无法得知用户的查询请求。而加密文件由存储服务器直接发送给用户,并不通过代理服务器,从而节省了一定网络开销。
参照图7,本步骤的具体实现如下:
4a)检索用户用私钥SKU对文件头head’加密后,将其与所需查询的关键词w发送给代理服务器,其中head’为128位的‘0’;
4b)代理服务器将关键词w的散列值h(w)发送给索引服务器;
4c)索引服务器在B+索引树中查询h(w),在B+树中h(w)所在节点中查询对应的二叉排序树,将二叉树中的文件标识按照中序遍历的顺序发送给存储服务器;
4d)代理服务器将检索用户加密过的文件头发送给存储服务器,存储服务器将FID对应文件的加密文件头与进行对比,将两者相同的加密文件发送给检索用户;
4e)代理服务器提取出加密的随机密钥发送给用户,检索用户使用私钥SKU解密得到Rkey,用SKU和Rkey解密文件后得到明文。
步骤5.多关键词检索。
对于检索用户提出的多关键词查询请求,代理服务器通过分析多个关键词之间并集、交集的逻辑关系,对关键词权重进行计算,实现了多关键词的密文排序检索。
参照图8,本步骤具体实现如下:
5a)当检索用户一次给出多个关键词{w1,w2,...,wi}进行查询时,并给出多个关键词的逻辑表达式:w1∪w2∪...∩wi;对关键词集w1,w2,...,wi进行分步检索,即先由代理服务器将关键词分成两组,一组是并集中的关键词{w1,w2,...,wj},另一组是交集中的关键词{wj+1,wj+2,…,wi},其中1≤j≤i;
5b)对于并集中的关键词{w1,w2,…,wj},代理服务器将每个关键词的散列值发送给索引服务器:
5b1)索引服务器依次检索出并集中的每个关键词wm对应的k个文件标识集合为其中0≤m≤j,按照关键词权重从大到小依次排序后发送给代理服务器,其对应的关键词权重为
5b2)代理服务器对并集中每个关键词所匹配到的对应文件标识集合求并集,用如下公式为每个不同的文件标识计算并集中关键词的权重:
5b3)根据并集中关键词权重的运算结果,为这些不同的文件标识进行排序,得到文件标识集合为{FID1,FID2,...,FIDx},其对应的关键词权重为
5c)对于交集中的关键词{wj+1,wj+2,...,wi},代理服务器将每个关键词的散列值发送给索引服务器;
5c1)索引服务器依次检索出交集中的每个关键词wn对应的l个文件标识集合为其中用j≤n≤i,按照关键词权重从大到小依次排序后发送给代理服务器,其对应的关键词权重为
5c2)对交集中关键词所匹配到的文件标识集合进行交集操作,为每个交集中的文件标识计算交集中关键词的权重:
5c3)根据交集中的关键词权重,为交集中的文件标识进行排序,得到文件标识集合{FID1,FID2,...,FIDy}对应的关键词权重集合为
5d)对于并集排序操作找出的文件集合以及交集排序操作找出的文件标识集合,代理服务器为两个文件标识集合执行交集排序操作,得到最终匹配到的文件标识排序集合发送给存储服务器。
本发明效果可以通过以下仿真进一步说明:
1.仿真条件
本发明的仿真是在AMD E-350 1.6GHz,2GB,Windows7的实验环境下进行的。
2.仿真内容与结果分析
采用本发明的索引结构和传统的索引结构进行索引的建立以及查询,结果如图9和图10所示。
从图9可见,平衡二叉树的索引构建时间基本与关键词数量成正比,而B+树索引的建立涉及节点的分裂等操作,故随着关键词数量增多,索引构建效率略微降低。图中显示,当关键词数量逐渐增多时,B+树的曲线的斜率基本接近于二叉树的曲线。当关键词数量较小时,平衡二叉树的索引构建时间与B+树基本接近。当关键词增大时,B+树的索引构建时间将短于二叉树树的索引构建时间。尽管随着关键词的增多,B+树索引的构建效率略有降低,但其效率仍比二叉树的索引构建效率要高。
从图10可见,当关键词数量较小时,平衡二叉树的关键词查找时间与B+树的关键词查找时间较为接近。当关键词数量增大时,由于二叉树索引进行查找时需要进行多次I/O磁盘读取操作,查询效率急剧降低。而B+树索引由于对磁盘I/O读取数进行了控制,其关键词查询效率并未随着关键词数量的增多而变得大幅度降低。
仿真结果表明:由于采用了B+树作为索引的主结构,密文查询的效率得到了提高。在存在海量关键词的云存储系统中,使用B+树作为索引树比二叉树相比,效率得到了很大的提升。
除了主索引结构外,本方案还使用了二叉排序树作为B+树索引的子结构,将文件ID按关键词权重大小排序后插入二叉树中由于对文件与关键词的相关程度使用了关键词权重进行了预排序。与传统的线性结构或是二叉树结构相比,本发明从索引结构方面极大的提升了密文检索的效率。
Claims (8)
1.一种云存储系统中的密文检索方法,包括如下步骤:
(1)文件上传
1a)数据上传者为待上传的文件附加上128位的‘0’作为文件头head,用公钥PKU对文件加密,用私钥SKU对文件头head进行加密得到并用代理服务器的公钥PKS对其私钥SKU进行加密得到再将这三个加密项一起上传至代理服务器;
1b)代理服务器为文件生成一个文件标识,同时解析文件提取出关键词,并使用排序函数计算出关键词权重,使用哈希函数计算出关键词陷门,将关键词权重、关键词陷门与文件标识一起发送给索引服务器;
1c)代理服务器使用一个随机的密钥Rkey对数据上传者加密过的文件进行再次加密后与加密文件头一起发送给存储服务器,以确保用户的隐私安全;
1d)代理服务器用数据上传者的公钥PKU对随机密钥Rkey进行加密,并将加密后的随机密钥与数据上传者的身份、时间戳这些元数据一起存储在代理服务器中,代理服务器删除原有的随机密钥Rkey和用户私钥SKU;
(2)索引建立
索引服务器将代理服务器发送过来的关键词陷门构建一个二叉树嵌套于B+树结构的关键词陷门索引树,以保证文件检索;
(3)单关键词密文检索
3a)检索用户进行单关键词检索时,将希望检索的关键词发送给代理服务器;
3b)代理服务器根据检索用户发送的关键词计算出相应的关键词陷门发送给索引服务器;
3c)索引服务器根据关键词陷门检索索引树,得到符合条件的文件标识发送给存储服务器;
(4)多关键词密文检索
4a)检索用户对多个关键词{w1,w2,...,wi}进行检索时,将希望检索的多关键词的逻辑表达式w1∪w2∪...∩wi发送给代理服务器;
4b)代理服务器判断每个关键词是在交集中还是在并集中,将关键词分成两组,一组是并集中的关键词{w1,w2,...,wj},另一组是交集中的关键词{wj+1,wj+2,…,wi},其中1≤j≤i;
4c)代理服务器分别将并集{w1,w2,...,wj}和交集{wj+1,wj+2,...,wi}中的每个关键词的散列值发送给索引服务器;
4d)索引服务器检索索引树,将匹配的文件标识发送给代理服务器;
4e)代理服务器将这些文件标识合并,分别对这些文件标识进行并集排序操作和交集排序操作;
4f)代理服务器对于并集排序操作以及交集排序操作找出的文件标识集合,再进行一次交集排序操作,为两个文件标识集合执行交集排序操作,得到最终匹配到的文件标识排序集合;
(5)文件下载
5a)代理服务器将检索用户用私钥加密的文件头发送给存储服务器;
5b)存储服务器根据索引服务器发送的文件标识,比较文件标识对应的文件头和是否相同,将两者相同的密文文件发送给检索用户;
5c)检索用户对密文文件进行解密得到明文。
2.根据权利要求1所述的方法,其中所述步骤(1b)中代理服务器解析文件提取出关键词,是代理服务器使用其私钥SKS对用其公钥PKS加密后的数据上传者私钥进行解密,得到用户的私钥SKU,再用该SKU解密文件,并对解密后的文件进行解析,提取出关键词集为:{w1,w2,...,wi}。
3.根据权利要求1所述的方法,其中所述步骤(1b)中使用排序函数计算出关键词权重,按如下公式进行:
其中,fi为文件中对应的关键词的词频数;ftotal为文件中包含的全部词的数量;N是云文档系统中的全部文件数;gi是包含关键词的全部文件数。
4.根据权利要求1所述的方法,其中所述步骤(2)索引服务器构建一个二叉树嵌套于B+树结构的关键词陷门索引树,其步骤如下:
2a)当索引服务器收到关键词wi的散列值以及对应的文件标识时,先检索B+树,查找B+树中是否存在wi的散列值如果索引服务器在B+树中找到该关键词wi的散列值则只需将对应的文件标识插入到B+树节点中的二叉排序树中,执行2b);若在B+树中未找到则需将作为一个新的节点插入B+树中,并将对应的文件标识作为该节点中二叉排序树的根节点;
2b)对每一个文件标识按照其关键词权重大小执行二叉排序查询算法,在二叉树中查找该文件标识:如果没有找到,则将文件标识形成一个新的节点并将其插入到二叉树中,执行2c);如果找到了,则无需更新二叉树;
2c)判断二叉排序树是否为空:若二叉排序树为空,则将待插入节点作为根节点插入到空树中;当二叉排序树不为空,则根据待插入节点对应文件的关键词权重大小将文件标识插入到二叉排序树中。
5.根据权利要求1所述的方法,其中步骤(3c)所述的索引服务器根据关键词陷门查询索引树,按如下步骤进行:
3c1)索引服务器在B+索引树中查询关键词陷门h(w);
3c2)在B+树中找到h(w)所在节点后查询该节点中的二叉排序树,将二叉树中存储的文件标识按照中序遍历的顺序发送给存储服务器。
6.根据权利要求1所述的方法,其中步骤(4d)所述的索引服务器检索索引树,将匹配的文件标识发送给代理服务器,按如下步骤进行:
4d1)索引服务器依次检索出并集中的每个关键词wm对应的文件标识集合为按照关键词权重从大到小依次排序后发送给代理服务器,其对应的关键词权重为
4d2)索引服务器依次检索出交集中的每个关键词wn对应的文件标识集合为按照关键词权重从大到小依次排序后发送给代理服务器,其对应的关键词权重为
7.根据权利要求1所述的方法,其中所述步骤(4e)中代理服务器将文件标识合并,分别对这些文件标识进行并集排序操作和交集排序操作,按如下步骤进行:
4e1)代理服务器对并集中每个关键词所匹配到的对应文件标识集合求并集,用如下公式为每个不同的文件标识计算并集中关键词的权重:
4e2)根据并集中关键词权重的运算结果,为这些不同的文件标识进行排序,得到文件标识集合为{FID1,FID2,…,FIDx},其对应的关键词权重为
4e3)代理服务器对交集中每个关键词所匹配到的文件标识集合求交集,用如下公式为每个交集中的文件标识计算交集中关键词的权重:
4e4)根据交集中关键词的权重,为这些不同的文件标识进行排序,得到文件标识集合{FID1,FID2,…,FIDy}对应的关键词权重集合为
8.根据权利要求1所述的方法,其中所述步骤(5c)中检索用户对接收到的文件进行解密,按如下步骤进行:
5c1)代理服务器提取出用数据上传者的公钥加密后的随机密钥发送给用户;
5c2)检索用户使用私钥SKU解密得到Rkey,用SKU和Rkey解密密文文件后得到明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410773613.9A CN104408177B (zh) | 2014-12-15 | 2014-12-15 | 基于云文档系统的密文检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410773613.9A CN104408177B (zh) | 2014-12-15 | 2014-12-15 | 基于云文档系统的密文检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104408177A CN104408177A (zh) | 2015-03-11 |
CN104408177B true CN104408177B (zh) | 2017-08-25 |
Family
ID=52645808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410773613.9A Active CN104408177B (zh) | 2014-12-15 | 2014-12-15 | 基于云文档系统的密文检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104408177B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811448A (zh) * | 2015-04-21 | 2015-07-29 | 成都汇智远景科技有限公司 | 一种数据安全存储方法 |
CN104794243B (zh) * | 2015-05-12 | 2018-08-03 | 西安电子科技大学 | 基于文件名的第三方密文检索方法 |
CN104899517B (zh) * | 2015-05-15 | 2017-03-29 | 陕西师范大学 | 基于短语的可搜索对称加密方法 |
US9800558B2 (en) * | 2015-10-01 | 2017-10-24 | Sap Se | Frequency-hiding order-preserving encryption |
CN106611000A (zh) * | 2015-10-26 | 2017-05-03 | 北京神州泰岳软件股份有限公司 | 一种检索资源对象的方法、装置和系统 |
US11341128B2 (en) | 2015-11-12 | 2022-05-24 | Sap Se | Poly-logarithmic range queries on encrypted data |
CN106453261A (zh) * | 2016-09-13 | 2017-02-22 | 深圳中兴网信科技有限公司 | 基于hl7的主索引实现方法和基于hl7的主索引实现装置 |
CN106407822B (zh) * | 2016-09-14 | 2019-06-18 | 华南理工大学 | 一种关键词、多关键词可搜索加密方法和系统 |
CN106407837B (zh) * | 2016-09-18 | 2019-03-08 | 成都信息工程大学 | 一种具备隐私保护能力的时间数据加密处理方法 |
CN106599719A (zh) * | 2016-12-12 | 2017-04-26 | 西安电子科技大学 | 支持高效密钥管理的密文检索方法 |
CN106874379B (zh) * | 2017-01-05 | 2021-01-12 | 中国科学院软件研究所 | 一种面向密文云存储的多维区间检索方法与系统 |
CN106789039B (zh) * | 2017-01-25 | 2020-12-08 | 武汉大学 | 一种机密数据的存储方法 |
CN107343008A (zh) * | 2017-07-17 | 2017-11-10 | 山东超越数控电子有限公司 | 一种抗访问模式泄露的数据安全隔离与共享实现方法 |
CN108259172B (zh) * | 2018-01-12 | 2021-02-05 | 哈尔滨工业大学深圳研究生院 | 云存储系统中的密文搜索方法 |
CN108304733B (zh) * | 2018-01-23 | 2020-06-02 | 深圳大普微电子科技有限公司 | 加密数据搜索方法及可加密搜索的数据存储系统 |
CN108632032B (zh) * | 2018-02-22 | 2021-11-02 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
CN109325361B (zh) * | 2018-09-11 | 2021-08-03 | 陕西师范大学 | 支持内积运算的可搜索公钥加密方法 |
CN109639425B (zh) * | 2018-11-07 | 2020-05-19 | 华中科技大学 | 一种边计算环境下轻量级的可搜索公钥加密方法和存储介质 |
CN109902143B (zh) * | 2019-03-04 | 2022-09-23 | 南京邮电大学 | 一种基于密文的多关键字扩展检索方法 |
CN109831457B (zh) * | 2019-03-15 | 2020-03-17 | 四川长虹电器股份有限公司 | 一种iOS应用数据传输方法 |
CN112989130A (zh) * | 2019-03-28 | 2021-06-18 | 北京忆芯科技有限公司 | B+树操作装置 |
CN110610102B (zh) * | 2019-09-23 | 2021-06-25 | 郑州师范学院 | 一种数据访问方法、装置及系统 |
CN110851848B (zh) * | 2019-11-12 | 2022-03-25 | 广西师范大学 | 对称可搜索加密的隐私保护方法 |
CN110891066B (zh) * | 2019-12-03 | 2022-03-01 | 重庆交通大学 | 一种基于同态加密方案的代理型匿名通信方法 |
US11216433B2 (en) * | 2019-12-12 | 2022-01-04 | Google Llc | Encrypted search with no zero-day leakage |
CN111552849B (zh) * | 2020-03-19 | 2022-12-16 | 西安电子科技大学 | 可搜索加密方法、系统、存储介质、车载网、智能电网 |
CN112650943B (zh) * | 2020-12-24 | 2022-07-26 | 厦门地铁创新科技有限公司 | 多云服务器的协同数据检索系统及方法 |
CN112910852B (zh) * | 2021-01-17 | 2023-03-14 | 迅鳐成都科技有限公司 | 一种基于r树的分布式授权方法、设备及存储介质 |
CN113609077A (zh) * | 2021-06-28 | 2021-11-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种文件检索方法、系统、存储介质及设备 |
CN115102733B (zh) * | 2022-06-13 | 2023-11-21 | 西安电子科技大学 | 一种高效打包的图像加密检索方法 |
CN114911851B (zh) * | 2022-07-12 | 2022-10-14 | 北京信安世纪科技股份有限公司 | 数据查询方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532934A (zh) * | 2013-09-29 | 2014-01-22 | 苏州大学 | 动态可检索的云计算数据加密方法 |
CN103944711A (zh) * | 2014-02-17 | 2014-07-23 | 国家超级计算深圳中心 | 一种云存储密文检索方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140087036A (ko) * | 2011-10-28 | 2014-07-08 | 덴마크스 텍니스케 유니버시테트 | 동적 암호화 방법 |
-
2014
- 2014-12-15 CN CN201410773613.9A patent/CN104408177B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532934A (zh) * | 2013-09-29 | 2014-01-22 | 苏州大学 | 动态可检索的云计算数据加密方法 |
CN103944711A (zh) * | 2014-02-17 | 2014-07-23 | 国家超级计算深圳中心 | 一种云存储密文检索方法及其系统 |
Non-Patent Citations (1)
Title |
---|
"云存储密文检索方法的研究";郭璐璐等;《信息网络安全 》;20130930;6-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104408177A (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104408177B (zh) | 基于云文档系统的密文检索方法 | |
CN110224986B (zh) | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 | |
CN105681280B (zh) | 一种云环境中基于中文的可搜索加密方法 | |
Wang et al. | Enabling secure and efficient ranked keyword search over outsourced cloud data | |
Wang et al. | Secure ranked keyword search over encrypted cloud data | |
CN105681273B (zh) | 客户端重复数据删除方法 | |
CN111143471B (zh) | 一种基于区块链的密文检索方法 | |
CN105320896A (zh) | 一种云存储加密以及其密文检索方法与系统 | |
CN104780161A (zh) | 一种云存储中支持多用户的可搜索加密方法 | |
CN108628867A (zh) | 面向云存储的多关键词密文检索方法和系统 | |
CN109543061A (zh) | 一种支持多密钥的加密图像检索方法 | |
JP2010061103A (ja) | 高速検索可能な暗号化のための方法、装置およびシステム | |
CN105553660B (zh) | 一种动态可搜索公钥加密方法 | |
CN106972927A (zh) | 一种针对不同安全等级的加密方法及系统 | |
CN109361644B (zh) | 一种支持快速搜索和解密的模糊属性基加密方法 | |
CN106599719A (zh) | 支持高效密钥管理的密文检索方法 | |
CN108363689A (zh) | 面向混合云的隐私保护多关键词Top-k密文检索方法及系统 | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN106911712A (zh) | 一种应用于分布式系统的加密方法及系统 | |
CN114244498A (zh) | 一种具有前向安全的动态可搜索公钥加密方法 | |
CN115314295A (zh) | 一种基于区块链的可搜索加密技术方法 | |
Zhang et al. | Efficient and provable security searchable asymmetric encryption in the cloud | |
CN107908779A (zh) | 云环境下基于mat树的动态多属性连接关键词的搜索方法 | |
CN105007258B (zh) | 一种快速关键字可搜索公钥加密方法 | |
CN108011713B (zh) | 一种云存储中基于同态加密的密文检索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |