CN103995900A - 一种密文云数据查询方法 - Google Patents
一种密文云数据查询方法 Download PDFInfo
- Publication number
- CN103995900A CN103995900A CN201410254079.0A CN201410254079A CN103995900A CN 103995900 A CN103995900 A CN 103995900A CN 201410254079 A CN201410254079 A CN 201410254079A CN 103995900 A CN103995900 A CN 103995900A
- Authority
- CN
- China
- Prior art keywords
- file
- keyword
- binary vector
- data
- user
- 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
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/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种密文云数据查询方法,包括:数据拥有者对其文件集构建二进制向量索引,并使用对称密码机制加密文件集,然后将加密文件集以及所有文件的二进制向量索引发送至云端。当某用户要求访问包含某些关键词的文件时,向数据拥有者申请查询令牌,查询令牌中包含有关键词集合。用户根据查询关键词与关键词集合构建查询二进制向量,并将查询二进制向量发送至云端。云端将查询二进制向量与每个文件的索引二进制向量进行内积计算以判断该文件是否包含用户的查询关键词。本发明能实现比目前广泛使用的倒排索引更高效的查询。
Description
技术领域
本发明属于云存储和信息检索领域,具体涉及一种密文云数据查询方法。
背景技术
在云存储环境下,要保护用户数据机密性和隐私性,加密是一种常用的方法,但是数据加密后,密文数据检索问题亟待解决。
为解决密文云数据检索问题,目前主要有两种典型的方法:一种是直接对密文进行线性搜索,即对密文中单词逐个进行比对,确认关键词是否存在以及出现的次数;第二种方法基于安全索引,即先对文档建立关键词索引,然后将文档和索引加密后上传至云端,搜索时从索引中查询关键词是否存在于某个文档中。直接对密文线性搜索的方法缺点在于搜索效率不高,且无法应对海量数据的搜索场景。基于索引的密文检索方法是目前的研究主流,原因是其查询效率更好,安全性能更高,适合用于大规模的云存储密文检索系统。基于索引的密文检索也可以分为两类:第一类是针对结构化的数据,以数据库为代表;第二类是针对非结构化的数据,以文件系统和Web网页内容为代表。
在已有的研究工作中,所有方案都是采用倒排索引机制,还没有使用二进制向量索引的方案。
采用二进制向量索引在数据拥有者端只需要保留较少的信息,就可以实现高效安全的密文数据检索。
密文云数据查询是保证云存储中数据机密性和可检索性的关键技术,对于推进云存储的快速发展具有重要的理论意义和实用价值。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种密文云数据查询方法,旨在提高数据查询效率与安全性。
为实现上述目的,本发明提供了一种密文云数据查询方法,包括以下步骤:
步骤1. 数据拥有者对其文件集构建索引,使用二进制向量索引,即索引中每一位代表一个关键词,以0和1表示相应关键词是否存在于此文件中;
步骤2. 数据拥有者使用对称密码机制加密文件集(可以基于单个文件或数据块);
步骤3. 数据拥有者将加密文件集,所有文件的二进制向量索引发送至云端;
步骤4. 用户要求访问包含某些关键词的文件时,向数据拥有者申请查询令牌,查询令牌中包含有关键词集合;
步骤5. 用户根据查询关键词与关键词集合构建查询二进制向量,并将查询二进制向量发送至云端;
步骤6. 云端将查询二进制向量与每个文件的索引二进制向量进行内积计算以判断该文件是否包含用户的查询关键词。
步骤1具体包括以下子步骤:
1.1 数据拥有者使用已有的分词算法对其文件集提取关键词,构建关键词集合;
1.2 数据拥有者根据每个文件中是否包含关键词集合中的对应关键词构建二进制向量索引,以1表示相应关键词存在于此文件中,以0表示相应关键词不存在于此文件中。
步骤4具体包括以下子步骤:
4.1 用户向数据拥有者发送查询授权申请,数据拥有者根据其安全策略决定是否向用户以及针对哪些文件集颁发授权令牌,令牌中包含有授权文件集的关键词集合;
4.2 数据拥有者使用通用的安全传输机制将令牌发送给用户。
步骤5中,构建查询二进制向量方法如下:用户根据查询关键词是否在关键词集合中构建查询二进制向量,以1表示相应关键词存在于关键词集合中,以0表示相应关键词不存在于关键词集合中。
步骤6中,云端将查询二进制向量与每个文件的索引二进制向量进行内积计算,当内积计算结果为非0时,表明该文件包含查询关键词,当内积计算结果为0时,表明该文件不包含查询关键词。并且内积计算结果的值越大,表明包含的关键词越多。
假设r i 是文档F i 的二进制索引向量,其中r i [j]∈{0, 1}表示关键词w i 是否在文档中存在;Q是一个查询向量,其屮Q[j]∈{0,1}表示关键词w j 是否在查询关键词集合W中。文档F i 与查询关键词集合W的相似性得分通过内积方式计算出来,即r Q。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的优势:
1. 数据更新方便,建立索引的过程由数据拥有者完成,关键词集合信息由数据拥有者保管,当有文件需要更新时,数据拥有者只需要更新文件的二进制向量索引,并重新加密文件,然后将加密的文件以及二进制向量索引发送至云端。
2. 使用二进制向量内积计算非常高效,只需要在用户端增加少量的存储就可以实现高效的检索。
附图说明
图1为本发明所涉及的各实体关系图。
图2为本发明方法流程图。
图3为本发明二进制向量索引图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下首先就本发明的技术术语进行解释和说明:
数据拥有者:指文件的拥有者,需要将文件存储在云中,且制定文件的访问控制策略;
用户:需要读取数据拥有者发布的文件;
云端或云存储:存储数据拥有者的文件,会忠实执行数据拥有者和合法用户发出的操作请求,但在条件允许时会偷窥文件内容;
文件:数据拥有者需要上传至云端的数据;
文件块:文件分块,数据拥有者对同一文件的不同分块采用不同的加密密钥;
对称密码机制:是一种传统密码机制,加密和解密采用相同密钥,效率较高,在本发明中采用该机制加密文件或文件块;
对称密钥:对称密码机制中随机生成的二进制数据;
以下结合实施例和附图对本发明做进一步说明。
如图1所示,本发明的密文云数据查询方法是是应用在加密云存储系统中,该系统包括数据拥有者、用户以及云端。
在本实施方式中,数据拥有者为某科研单位秘书,传至云端的数据是该单位的科研项目文件,主要用于单位内人员(包括有出差在外的人员)在项目申请以及开发过程中的数据共享。
如图2所示,本发明的密文云数据查询方法包括以下步骤:
步骤1. 数据拥有者对其文件集构建索引,使用二进制向量索引,即索引中每一位代表一个关键词,以0和1表示相应关键词是否存在于此文件中,如图3所示。本步骤具体包括以下子步骤:
1.1 数据拥有者使用已有的分词算法对其文件集提取关键词,构建关键词集合;
举例而言,如图3所示,关键词集合{云计算,云存储,加密,数据检索,二进制向量}。
1.2 数据拥有者根据每个文件中是否包含关键词集合中的对应关键词构建二进制向量索引,以1表示相应关键词存在于此文件中,以0表示相应关键词不存在于此文件中。
举例而言,如图3所示,文件1包含关键词{云计算,加密},其索引二进制向量为f 1 =(1, 0, 1, 0, 0),文件2包含关键词{云存储,加密,数据检索,二进制向量},其索引二进制向量为f 2 =(0, 1, 1, 1, 1)。
步骤2. 数据拥有者使用对称密码机制加密文件集(可以基于单个文件或数据块);
步骤3. 数据拥有者将加密文件集,所有文件的二进制向量索引发送至云端;
步骤4. 用户要求访问包含某些关键词的文件时,向数据拥有者申请查询令牌,查询令牌中包含有关键词集合。本步骤具体包括以下子步骤:
4.1 用户向数据拥有者发送查询授权申请,数据拥有者根据其安全策略决定是否向用户以及针对哪些文件集颁发授权令牌,令牌中包含有授权文件集的关键词集合;
4.2 数据拥有者使用通用的安全传输机制将令牌发送给用户。
步骤5. 用户根据查询关键词与关键词集合构建查询二进制向量,并将查询二进制向量发送至云端;
其中,构建查询二进制向量方法如下:用户根据查询关键词是否在关键词集合中构建查询二进制向量,以1表示相应关键词存在于关键词集合中,以0表示相应关键词不存在于关键词集合中。
举例而言,设查询关键词为{云存储,数据检索},则查询二进制向量为q = (0, 1, 0, 1, 0)。
步骤6. 云端将查询二进制向量与每个文件的索引二进制向量进行内积计算以判断该文件是否包含用户的查询关键词。
举例而言,将查询向量与文件1的索引向量进行内积计算:q·f 1 = (0, 1, 0, 1, 0)·(1, 0, 1, 0, 0)-1 = 0,将查询向量与文件2的索引向量进行内积计算:q·f 2 = (0, 1, 0, 1, 0)·(0, 1, 1, 1, 1)-1 = 2。
步骤6中,云端将查询二进制向量与每个文件的索引二进制向量进行内积计算,当内积计算结果为非0时,表明该文件包含查询关键词,当内积计算结果为0时,表明该文件不包含查询关键词。并且内积计算结果的值越大,表明包含的关键词越多。
设一个汉字占2个字节,一个关键词设为最多5个汉字,占10个字节,假设有1000个关键词,存储关键词集合只需要10K字节的存储空间。每个文件的二进制向量索引大小为1000位,约12个字节,1000个文件,只需要12K字节的索引存储空间。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而己,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种密文云数据查询方法,其特征在于,包括以下步骤:
步骤1. 数据拥有者对其文件集构建索引,使用二进制向量索引,即索引中每一位代表一个关键词,以0和1表示相应关键词是否存在于此文件中;
步骤2. 数据拥有者使用对称密码机制加密文件集(可以基于单个文件或数据块);
步骤3. 数据拥有者将加密文件集,所有文件的二进制向量索引发送至云端;
步骤4. 用户要求访问包含某些关键词的文件时,向数据拥有者申请查询令牌,查询令牌中包含有关键词集合;
步骤5. 用户根据查询关键词与关键词集合构建查询二进制向量,并将查询二进制向量发送至云端;
步骤6. 云端将查询二进制向量与每个文件的索引二进制向量进行内积计算以判断该文件是否包含用户的查询关键词。
2.根据权利要求1所述的密文云数据查询方法,其特征在于,步骤1具体包括以下子步骤:
1.1 数据拥有者使用已有的分词算法对其文件集提取关键词,构建关键词集合;
1.2 数据拥有者根据每个文件中是否包含关键词集合中的对应关键词构建二进制向量索引,以1表示相应关键词存在于此文件中,以0表示相应关键词不存在于此文件中。
3.根据权利要求1所述的密文云数据查询方法,其特征在于,步骤2中,如果是基于单个文件加密,数据拥有者根据文件集中文件数量,利用对称密码机制随机生成对应数目的对称密钥,并利用对称密钥对文件进行加密生成密文,每个文件的加密密钥均不同;如果是基于数据块加密,数据拥有者根据设定数据块大小将文件集中文件进行分块,利用对称密码机制随机生成对应数目的对称密钥,并利用对称密钥对数据块进行加密生成密文,每个数据块的加密密钥均不同。
4.根据权利要求1所述的密文云数据查询方法,其特征在于,步骤4具体包括以下子步骤:
4.1 用户向数据拥有者发送查询授权申请,数据拥有者根据其安全策略决定是否向用户以及针对哪些文件集颁发授权令牌,令牌中包含有授权文件集的关键词集合;
4.2 数据拥有者使用通用的安全传输机制将令牌发送给用户。
5.根据权利要求1所述的密文云数据查询方法,其特征在于,步骤5中,构建查询二进制向量方法如下:用户根据查询关键词是否在关键词集合中构建查询二进制向量,以1表示相应关键词存在于关键词集合中,以0表示相应关键词不存在于关键词集合中。
6.根据权利要求1所述的密文云数据查询方法,其特征在于,步骤6中,云端将查询二进制向量与每个文件的索引二进制向量进行内积计算,当内积计算结果为非0时,表明该文件包含查询关键词,当内积计算结果为0时,表明该文件不包含查询关键词。并且内积计算结果的值越大,表明包含的关键词越多。
7.一种密文云数据查询方法,包括数据拥有者、用户和云端,其特征在于数据拥有者用于使用已有分词算法对其文件集提取关键词,并构建所有文件的二进制向量索引;
数据拥有者还用于对文件使用对称密码机制进行加密,如果是基于数据块,还要将文件按设定数据块大小进行分块,然后使用对称密码机制进行加密,然后将加密的文件发送到云端;
用户用于向数据拥有者请求查询授权;
数据拥有者还用于按照指定安全策略向用户发放授权令牌;
用户还用于使用令牌信息构建查询二进制向量;
用户还用于向云端请求包含查询关键词的文件密文,并使用令牌中包含的文件密钥解密文件;
云端用于使用查询二进制向量与所有文件的索引二进制向量进行内积计算以判断文件是否包含查询关键词;
云端还用于存放数据,并响应用户的读写请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410254079.0A CN103995900A (zh) | 2014-06-10 | 2014-06-10 | 一种密文云数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410254079.0A CN103995900A (zh) | 2014-06-10 | 2014-06-10 | 一种密文云数据查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103995900A true CN103995900A (zh) | 2014-08-20 |
Family
ID=51310065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410254079.0A Pending CN103995900A (zh) | 2014-06-10 | 2014-06-10 | 一种密文云数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103995900A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326360A (zh) * | 2016-08-10 | 2017-01-11 | 武汉科技大学 | 一种云环境中密文数据的模糊多关键词检索方法 |
CN108021677A (zh) * | 2017-12-07 | 2018-05-11 | 成都博睿德科技有限公司 | 云计算分布式检索引擎的控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520800A (zh) * | 2009-03-27 | 2009-09-02 | 华中科技大学 | 一种基于密文的安全全文索引和检索系统 |
CN101593196A (zh) * | 2008-05-30 | 2009-12-02 | 日电(中国)有限公司 | 用于快速密文检索的方法、装置和系统 |
CN101859323A (zh) * | 2010-05-31 | 2010-10-13 | 广西大学 | 密文全文检索系统 |
CN102855292A (zh) * | 2010-05-31 | 2013-01-02 | 广西大学 | 密文全文检索系统的安全覆盖网构建方法及对应的全文检索方法 |
-
2014
- 2014-06-10 CN CN201410254079.0A patent/CN103995900A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593196A (zh) * | 2008-05-30 | 2009-12-02 | 日电(中国)有限公司 | 用于快速密文检索的方法、装置和系统 |
CN101520800A (zh) * | 2009-03-27 | 2009-09-02 | 华中科技大学 | 一种基于密文的安全全文索引和检索系统 |
CN101859323A (zh) * | 2010-05-31 | 2010-10-13 | 广西大学 | 密文全文检索系统 |
CN102855292A (zh) * | 2010-05-31 | 2013-01-02 | 广西大学 | 密文全文检索系统的安全覆盖网构建方法及对应的全文检索方法 |
Non-Patent Citations (2)
Title |
---|
NING CAO 等: ""rivacy-Preserving Multi-keyword Ranked Search Over Encrypted Cloud"", 《INFOCOM, 2011 PROCEEDINGS IEEE》 * |
董丽阳: ""公用云平台查询服务中隐私信息保护功能模块的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326360A (zh) * | 2016-08-10 | 2017-01-11 | 武汉科技大学 | 一种云环境中密文数据的模糊多关键词检索方法 |
CN106326360B (zh) * | 2016-08-10 | 2019-04-09 | 武汉科技大学 | 一种云环境中密文数据的模糊多关键词检索方法 |
CN108021677A (zh) * | 2017-12-07 | 2018-05-11 | 成都博睿德科技有限公司 | 云计算分布式检索引擎的控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537626B2 (en) | Full-text fuzzy search method for similar-form Chinese characters in ciphertext domain | |
CN104036050A (zh) | 一种密文云数据复杂查询方法 | |
CN106127075B (zh) | 一种云存储环境下基于隐私保护的可搜索加密方法 | |
US8832427B2 (en) | Range-based queries for searchable symmetric encryption | |
CN105678189B (zh) | 加密数据文件存储和检索系统及方法 | |
CN103955537A (zh) | 一种语义模糊可搜索加密云盘设计方法及系统 | |
CN104205123A (zh) | 用于安全的第三方数据存储的系统和方法 | |
JP2016200938A5 (zh) | ||
US20160125198A1 (en) | Searchable encryption with secure and efficient updates | |
US20150039901A1 (en) | Field level database encryption using a transient key | |
CN103107889A (zh) | 一种可搜索的云计算环境数据加密存储系统和方法 | |
CN103324671A (zh) | 一种基于Webkit浏览器的信息存储管理方法及装置 | |
CN103970889A (zh) | 一种中英文关键词模糊搜索的安全云盘 | |
Lavanya et al. | Fuzzy keyword matching using N-gram and cryptographic approach over encrypted data in cloud | |
CN113626836A (zh) | 一种基于lsm的对称可搜索加密方法及系统 | |
CN104794243B (zh) | 基于文件名的第三方密文检索方法 | |
CN103544301A (zh) | 一种移动云中高效安全的支持多关键字的搜索方法 | |
CN103995900A (zh) | 一种密文云数据查询方法 | |
CN108829714A (zh) | 一种密文数据多关键词的模糊搜索方法 | |
US11461551B1 (en) | Secure word search | |
Suthar et al. | Encryscation: An secure approach for data security using encryption and obfuscation techniques for iaas and daas services in cloud environment | |
Tian et al. | A privacy-preserving image retrieval scheme with access control based on searchable encryption in media cloud | |
Kamini et al. | Encrypted multi-keyword ranked search supporting gram based search technique | |
Zhang et al. | A Secure Ranked Search Model Over Encrypted Data in Hybrid Cloud Computing | |
Chen et al. | Searchable encryption system for big data storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140820 |
|
WD01 | Invention patent application deemed withdrawn after publication |