CN110222012A - 单一用户环境下基于细粒度排序的数据密文查询方法 - Google Patents
单一用户环境下基于细粒度排序的数据密文查询方法 Download PDFInfo
- Publication number
- CN110222012A CN110222012A CN201910493936.5A CN201910493936A CN110222012A CN 110222012 A CN110222012 A CN 110222012A CN 201910493936 A CN201910493936 A CN 201910493936A CN 110222012 A CN110222012 A CN 110222012A
- Authority
- CN
- China
- Prior art keywords
- vector
- electronic document
- random
- outsourcing
- inquiry
- 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.)
- Granted
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
- G06F16/134—Distributed indices
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种单一用户环境下基于细粒度排序的数据密文查询方法,具体实现步骤包括:1、生成带有访问结构的中间数据向量;2、生成目标数据向量;3、设置可搜索加密密钥和对称密钥;4、对目标数据向量进行加密;5、生成绑定访问角色的目标查询向量;6、对目标查询向量进行加密;7、查询密文;8、解密返回的密文。本发明生成带有访问结构的中间数据向量和绑定访问角色的目标查询向量,实现了细粒度访问控制,有利于对外包电子文档的隐私保护。本发明利用带权重的向量化公式,并对目标数据向量和目标查询向量进行加密,实现了对称加密技术下的基于语义的多关键字排序查询,查询效率高。
Description
技术领域
本发明属于通信技术领域,更进一步涉及信息安全技术领域中的一种单一用户环境下基于细粒度排序的数据密文查询方法。本发明可用于在云存储背景下单一查询用户对云服务器接收的数据密文进行细粒度访问控制以及基于语义的多关键字排序查询。
背景技术
随着云存储技术的发展,越来越多的用户将繁重的数据存储和管理工作外包至“诚实但好奇”的云服务器。为了保证用户数据在存储和检索过程中不被泄露,一般情况下用户需要在外包数据前对数据进行加密,然而传统的加密技术隐藏了明文的所有特征,致使基于明文的传统搜索机制无法实现密文搜索。当用户想要获取感兴趣的数据时,他只能从云端将密文下载到本地再进行解密,这无疑造成了带宽和计算资源的浪费且存在隐私泄露风险。基于这种情况,已经存在了关于数据密文的检索技术,但是这些技术在密文数据检索应用中存在相应的问题。
Cao N等人在其发表的论文“Privacy-Preserving Multi-Keyword RankedSearchover Encrypted Cloud Data”(IEEE Transactions on Parallel andDistributed Systems(TPDS),vol.25,no.1,2014:222-233)中提出了一种加密云数据下隐私保护的多关键字排序查询方法。该方法首先利用向量空间模型和TF-IDF将外包文档和查询分别转化为数据向量和查询向量;接着利用安全的KNN算法将数据向量和查询向量分别加密为索引和陷门;然后利用索引和陷门的内积结果衡量文档和查询间的相关度;最后依据相关度值对这些文档进行排序,并将相关度值最高的k个密文文档发送给查询用户。该方法存在的不足之处是:每个被授权的查询用户拥有的访问权限的粒度过粗,均有权访问整个外包数据集,导致外包数据集中的敏感信息被无权访问的查询用户知晓,不利于敏感数据的隐私保护。
西安电子科技大学在其申请的专利文献“多数据拥有者背景下基于属性的多关键字密文检索方法”(专利申请号201610188151.3,公开号CN105871543A)中公开了一种基于属性实现细粒度访问控制和多关键字查询的方法。该方法中第三方可信服务器为属性值满足指定访问结构的查询用户生成私钥;数据拥有者根据访问结构与文档的关键字集为文档建立索引;查询用户根据查询关键字集生成陷门;云服务器收到查询用户提交的属性值和陷门时验证属性值是否满足指定的访问结构,若不满足,则表示查询用户不合法,否则,判断陷门和索引是否匹配,且对满足匹配条件的查询用户发送查询密文。该方法存在的不足之处是:基于非对称加密技术实现多关键字密文检索和细粒度访问控制,计算开销大,影响查询效率,并且没有提供排序机制,不能实现排序查询。
发明内容
本发明的目的在于针对上述现有技术的问题,提出一种单一用户环境下基于细粒度排序的数据密文查询方法。该方法在对称可搜索加密技术下实现对数据密文基于语义的多关键字排序查询和细粒度访问控制。
实现本发明目的的思路是,利用带权重的文本向量化方法和角色多项式将每个外包电子文档转化目标数据向量,利用可搜索加密密钥对目标数据向量进行加密,得到外包电子文档索引;将查询请求转化为绑定访问角色的目标查询向量,利用可搜索加密密钥对目标查询向量进行加密,得到查询请求的陷门;利用每个外包电子文档索引和陷门计算每个外包电子文档的得分,筛选出得分小于或等于阈值的所有密文并按得分的大小对筛选出的密文从大到小排序,将排序靠前的密文返回给查询用户。
本发明的具体步骤如下:
(1)生成带有访问结构的中间数据向量:
(1a)利用文本关键字提取算法,从外包电子文档集中提取所有的关键字组成字典;
(1b)利用带权重的文本向量化公式,计算字典中的每个关键字在每个外包电子文档中的权重值,将每个外包电子文档对应的所有权重值按关键字在字典中的位置组成相应外包电子文档的初始数据向量,初始数据向量维数等于字典的大小;
(1c)对每个初始数据向量中的元素按元素值从大到小排序,计算每个排序后的前d个元素的和,选取所有和中的最大值作为阈值,其中,d表示查询用户最多能输入的关键字的总数;
(1d)选取Y个正整数组成访问角色集,Y的取值等于查询用户类别的总数,所选的正整数满足除第一个正整数外的每个正整数比该正整数之前选取出的所有正整数的和大两倍的阈值;
(1e)从访问角色集中为每个外包电子文档选取有权访问该电子文档的所有访问角色作为根,构建角色多项式;
(1f)添加系数为0且幂指数小于或等于Y的项,使得每个角色多项式展开式的项数为Y+1;
(1g)将每个角色多项式展开式的各项按幂指数递增的顺序排列,将排列的各项系数扩展到相应外包电子文档对应的初始数据向量的末尾,得到中间数据向量;
(2)生成目标数据向量:
(2a)根据查询精度和数据安全性的要求的程度,数据拥有者选取用于权衡查询精度和数据安全性的σ,所述σ与数据安全性正相关,与查询精度负相关;
(2b)从均值为0、标准差为σ的正态分布中,为每个中间数据向量独立选取U个随机数,将所选的U个随机数扩展到相应的中间数据向量的末尾,得到目标数据向量,其中,U的取值由数据安全性和效率的要求的程度确定,与数据安全性正相关,与效率负相关;
(3)设置可搜索加密密钥和对称密钥:
(3a)随机生成一个维数与目标数据向量维数相同的二进制向量、两个阶数均等于目标数据向量维数的可逆矩阵,将二进制向量和两个可逆矩阵组成可搜索加密密钥;
(3b)生成对称加密算法的对称密钥;
(4)对目标数据向量进行加密:
(4a)利用数据向量分裂方法,将每个外包电子文档对应的目标数据向量分裂成两个随机向量,将两个随机向量作为相应外包电子文档的两个子向量;
(4b)对可搜索加密密钥中的两个可逆矩阵进行转置操作,将转置后的两个可逆矩阵分别与每个外包电子文档的两个子向量相乘,组成相应外包电子文档索引;
(4c)利用对称密钥对每个外包电子文档进行加密,得到密文;
(4d)将所有外包电子文档索引、密文和阈值打包发送给云服务器;
(4e)根据查询用户的身份,为查询用户从访问角色集中选取一个访问角色,将该访问角色、可搜索加密密钥和对称密钥通过安全通道发送给所选查询用户;
(5)生成绑定访问角色的目标查询向量:
(5a)利用不带权重的文本向量化方法,将查询请求转化为初始查询向量;
(5b)将拥有的访问角色的0~Y次幂扩展到初始查询向量的末尾,得到中间查询向量;
(5c)随机选取一个U维零向量的一半,将所选元素的值替换为1,得到选择向量;
(5d)将选择向量中的每个元素按行依次扩展到中间查询向量的末尾,得到选择查询向量;
(5e)在区间(0,1)上选取一个随机数,将选择查询向量中的每个元素均乘以所选随机数,得到目标查询向量;
(6)对目标查询向量进行加密:
(6a)利用查询向量分裂方法,将目标查询向量分裂成两个随机向量,将两个随机向量作为相应查询请求的两个子向量;
(6b)对可搜索加密密钥中两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的两个子向量相乘,组成查询请求的陷门;
(6c)向云服务器提交查询请求的陷门;
(7)查询密文:
(7a)对每个外包电子文档索引中的两个向量进行转置操作,将转置后的两个向量分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到相应外包电子文档的得分。
(7b)从所有外包电子文档的得分中筛选小于或等于阈值的所有密文,按得分的大小对筛选出的所有密文从大到小排序;
(7c)从排序的密文中选取前k个密文发送给查询用户,其中,k为正整数,且10≤k≤50;
(8)解密返回的密文:
利用对称密钥,对查询用户接收到的k个密文进行解密,得到每个密文对应的明文。
本发明与现有技术相比具有如下优点:
第一,由于本发明生成带有访问结构的中间数据向量、生成绑定访问角色的目标查询向量,从所有外包电子文档的得分中筛选小于或等于阈值的所有密文,按得分的大小对筛选出的所有密文从大到小排序,克服了现有技术中每个被授权的查询用户拥有的访问权限的粒度过粗,均有权访问整个外包数据集,导致外包数据集中的敏感信息被无权访问的查询用户知晓,不利于敏感数据的隐私保护的缺陷,使得本发明实现了细粒度访问控制,有利于对外包电子文档的隐私保护,且访问控制的效率比基于属性实现访问控制的效率高。
第二,由于本发明利用带权重的文本向量化公式,计算字典中的每个关键字在每个外包电子文档中的权重值,并对目标数据向量和目标查询向量进行加密,克服了现有技术基于非对称加密技术实现多关键字密文检索和细粒度访问控制,存在计算开销大、影响查询效率,并且不能实现排序查询的问题,使得本发明不仅实现了基于对称加密技术对数据密文进行基于语义的多关键字排序查询,而且具有计算开销小,查询效率高的优点。
附图说明
附图1为本发明的流程图。
具体实施方式
下面结合附图1对本发明做进一步的描述。
步骤1,生成带有访问结构的中间数据向量。
利用文本关键字提取算法,从外包电子文档集中提取所有的关键字组成字典。
所述文本关键字提取算法是指:TextRank算法、TF-IDF算法、RAKE算法中的任意一个算法。
利用带权重的文本向量化公式,计算字典中的每个关键字在每个外包电子文档中的权重值,将每个外包电子文档对应的所有权重值按关键字在字典中的位置组成相应外包电子文档的初始数据向量,初始数据向量维数等于字典的大小。
所述带有权重的向量化公式如下:
其中,pi,u表示字典中的第u个关键字在第i个外包电子文档中的权重值,u=1,2,…,n,n表示字典的大小,i=1,2…,m,m表示外包电子文档集中文档的总数,ni,u表示字典中的第u个关键字在第i个外包电子文档中出现的次数,×表示乘号,ln(·)表示以自然常数e为底的对数操作,Nu表示外包电子文档集中包含字典中的第u个关键字的文档的数量,表示求平方根操作,∑表示求和操作。
本发明的实施例中,外包电子文档集包含外包电子文档f1和f2,且外包电子文档f1和f2的文本内容分别是“I am from China and I love her”和“I love apple and tea”,则字典为{“am”,“and”,“apple”,“china”,“from”,“her”,“love”,“tea”}。字典中的第一个关键字“am”在文档f1中出现1次,且只在文档f1中出现,即n1,1=1,n2,1=0,N1=1,从而关键字“am”在外包电子文档f1和f2中的元素值分别为p1,1=0.461,p2,1=0,于是外包电子文档f1对应的初始数据向量的第一个元素的值为0.461,外包电子文档f2对应的初始数据向量的第一个元素的值为0;计算字典中其他关键字在外包电子文档f1和f2中的元素值,从而可得外包电子文档f1对应的初始数据向量为p1=(0.461 0.275 0 0.461 0.461 0.461 0.2750),外包电子文档f2对应的初始数据向量为p2=(0 0.360 0.609 0 0 0 0.360 0.609)。
对每个初始数据向量中的元素按元素值从大到小排序,计算每个排序后的前d个元素的和,选取所有和中的最大值作为阈值D,其中,d表示查询用户最多能输入的关键字的总数。
选取Y个正整数组成访问角色集Y的取值等于查询用户类别的总数,所选的正整数满足除第一个正整数外的每个正整数比该正整数之前选取出的所有正整数的和大两倍的阈值D,即t=2,3,…,Y。
从访问角色集中为每个外包电子文档选取有权访问该电子文档的所有访问角色作为根,构建角色多项式。
添加系数为0且幂指数小于或等于Y的项,使得每个角色多项式展开式的项数为Y+1。
将每个角色多项式展开式的各项按幂指数递增的顺序排列,将排列的各项系数扩展到相应外包电子文档对应的初始数据向量的末尾,得到中间数据向量。
本发明的实施例中,阈值为2.119时,集合{1,6,12,24,48}可作为访问角色集。若访问角色1,12,24有权访问外包电子文档f1,则外包电子文档f1的角色多项式为g1=(x-1)(x-12)(x-24)=-288+324x-36x2+1x3+0x4+0x5,因此,外包电子文档f1的中间数据向量为(p1-288 324 -36 1 0 0)。
步骤2,生成目标数据向量。
根据查询精度和数据安全性的要求的程度,数据拥有者选取用于权衡查询精度和数据安全性的σ,所述σ与数据安全性正相关,与查询精度负相关。
从均值为0、标准差为σ的正态分布中,为每个中间数据向量独立选取U个随机数,将所选的U个随机数扩展到相应的中间数据向量的末尾,得到目标数据向量,其中,U的取值由数据安全性和效率的要求的程度确定,与数据安全性正相关,与效率负相关。
步骤3,设置可搜索加密密钥和对称密钥。
随机生成一个与目标数据向量维数相同的二进制向量S和两个行数和列数均等于目标数据向量维数的可逆矩阵{M1,M2},将二进制向量S和两个可逆矩阵{M1,M2}组成可搜索加密密钥K={S,M1,M2}。
生成对称加密算法的对称密钥。
所述对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
步骤4,对目标数据向量进行加密。
利用数据向量分裂方法,将每个外包电子文档对应的目标数据向量分裂成两个随机向量,将两个随机向量作为相应外包电子文档的两个子向量。
所述数据向量分裂方法的步骤如下:
第1步,生成维数均与目标数据向量维数相同的两个随机向量;
第2步,从可搜索加密密钥中的二进制向量中选取一个任意未选过的元素值;
第3步,判断所选的元素值是否为0,若是,则执行第4步,否则,执行第5步;
第4步,将目标数据向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素;
第5步,在区间(0,1)上随机选取一个随机数,赋给第一个随机向量与所选元素对应的元素,用目标数据向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素。
对可搜索加密密钥中的两个可逆矩阵进行转置操作,将转置后的两个可逆矩阵分别与每个外包电子文档的两个子向量相乘,组成相应外包电子文档索引。
本发明的实施例中,设第i个外包电子文档fi的目标数据向量为可搜索加密密钥中的二进制向量S=(0 1 0 1),目标数据向量的第一个随机向量和第二个随机向量分别为由于S[1]=0,所以由于S[2]=1,所以同理,可得其中r1和r2均为区间(0,1)上的随机数,因此从而外包电子文档fi的索引为T表示转置操作。
利用对称密钥对每个外包电子文档进行加密,得到密文。
将所有外包电子文档索引、密文和阈值D打包发送给云服务器。
根据查询用户的身份,为查询用户从访问角色集中选取一个访问角色,将该访问角色、可搜索加密密钥K和对称密钥通过安全通道发送给所选查询用户。
步骤5,生成绑定访问角色的目标查询向量。
利用不带权重的文本向量化方法,将查询请求转化为初始查询向量。
所述不带权重的文本向量化方法的步骤如下:
第1步,提取查询请求中所有的关键字,将所有关键字组成查询关键字集;
第2步,生成一个维数等于字典大小的随机向量;
第3步,将随机向量判断字典中是否有至少一个与查询关键字集中相同的关键字,若是,则执行第4步,否则,执行第5步;
第4步,将随机向量对应位置上的元素值设置为1,其余位置上的元素值设置为0,得到初始查询向量;
第5步,将维数等于字典大小的零向量作为初始查询向量;
将拥有的访问角色的0~Y次幂扩展到初始查询向量的末尾,得到中间查询向量。
随机选取一个U维零向量的一半,将所选元素的值替换为1,得到选择向量。
将选择向量中的每个元素按行依次扩展到中间查询向量的末尾,得到选择查询向量。
在区间(0,1)上选取一个随机数,将选择查询向量中的每个元素均乘以所选随机数,得到目标查询向量。
步骤6,对目标查询向量进行加密。
利用查询向量分裂方法,将目标查询向量分裂成两个随机向量,将两个随机向量作为相应查询请求的两个子向量。
所述查询向量分裂方法的步骤如下:
第1步,生成维数均与目标查询向量维数相同的两个随机向量;
第2步,从可搜索加密密钥中的二进制向量中选取一个任意未选过的元素值;
第3步,判断所选的元素值是否为0,若是,则执行第4步,否则,执行第5步;
第4步,在区间(0,1)上随机选取一个随机数,赋给第一个随机向量对应位置上的元素,用目标查询向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素;
第5步,将目标查询向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素。
本发明的实施例中,设目标查询向量为可搜索加密密钥中的二进制向量S=(0 1 0 1),目标查询向量的第一个随机向量和第二个随机向量分别为由于S[1]=0,所以由于S[2]=1,所以同理,可得 其中ξ1和ξ2均为区间(0,1)上的一个随机数,因此
对可搜索加密密钥中两个可逆矩阵进行求逆操作,将两个可逆矩阵的逆矩阵分别与查询请求的两个子向量相乘后组成查询请求的陷门其中,-1表示求逆操作。
向云服务器提交查询请求的陷门
步骤7,查询密文。
对每个外包电子文档索引中的两个向量进行转置操作,将转置后的两个向量分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到相应外包电子文档的得分。
本发明的实施例中,查询用户查询时第i个外包电子文档fi的得分如下:
其中,Zi表示查询用户查询时第i个外包电子文档fi的得分,i=1,2,…,m,m表示外包电子文档集中的电文文档的总数,表示第i个外包电子文档的两个子向量,·表示内积操作,表示查询请求的两个子向量。
从所有外包电子文档的得分中筛选小于或等于阈值D的所有密文,按得分的大小对筛选出的所有密文从大到小排序。
从排序的密文中选取前k个密文发送给查询用户,k为正整数,且10≤k≤50。
步骤8,解密返回的密文。
利用对称密钥,对查询用户接收到的k个密文进行解密,得到每个密文对应的明文。
Claims (7)
1.一种单一用户环境下基于细粒度排序的数据密文查询方法,其特征在于,生成带有访问结构的中间数据向量,生成绑定访问角色的目标查询向量,从所有外包电子文档的得分中筛选小于或等于阈值的所有密文,按得分的大小对筛选出的所有密文从大到小排序,该方法的具体步骤如下:
(1)生成带有访问结构的中间数据向量:
(1a)利用文本关键字提取算法,从外包电子文档集中提取所有的关键字组成字典;
(1b)利用带权重的文本向量化公式,计算字典中的每个关键字在每个外包电子文档中的权重值,将每个外包电子文档对应的所有权重值按关键字在字典中的位置组成相应外包电子文档的初始数据向量,初始数据向量维数等于字典的大小;
(1c)对每个初始数据向量中的元素按元素值从大到小排序,计算每个排序后的前d个元素的和,选取所有和中的最大值作为阈值,其中,d表示查询用户最多能输入的关键字的总数;
(1d)选取Y个正整数组成访问角色集,Y的取值等于查询用户类别的总数,所选的正整数满足除第一个正整数外的每个正整数比该正整数之前选取出的所有正整数的和大两倍的阈值;
(1e)从访问角色集中为每个外包电子文档选取有权访问该电子文档的所有访问角色作为根,构建角色多项式;
(1f)添加系数为0且幂指数小于或等于Y的项,使得每个角色多项式展开式的项数为Y+1;
(1g)将每个角色多项式展开式的各项按幂指数递增的顺序排列,将排列的各项系数扩展到相应外包电子文档对应的初始数据向量的末尾,得到中间数据向量;
(2)生成目标数据向量:
(2a)根据查询精度和数据安全性的要求的程度,数据拥有者选取用于权衡查询精度和数据安全性的σ,所述σ与数据安全性正相关,与查询精度负相关;
(2b)从均值为0、标准差为σ的正态分布中,为每个中间数据向量独立选取U个随机数,将所选的U个随机数扩展到相应的中间数据向量的末尾,得到目标数据向量,其中,U的取值由数据安全性和效率的要求的程度确定,与数据安全性正相关,与效率负相关;
(3)设置可搜索加密密钥和对称密钥:
(3a)随机生成一个维数与目标数据向量维数相同的二进制向量、两个阶数均等于目标数据向量维数的可逆矩阵,将二进制向量和两个可逆矩阵组成可搜索加密密钥;
(3b)生成对称加密算法的对称密钥;
(4)对目标数据向量进行加密:
(4a)利用数据向量分裂方法,将每个外包电子文档对应的目标数据向量分裂成两个随机向量,将两个随机向量作为相应外包电子文档的两个子向量;
(4b)对可搜索加密密钥中的两个可逆矩阵进行转置操作,将转置后的两个可逆矩阵分别与每个外包电子文档的两个子向量相乘,组成相应外包电子文档索引;
(4c)利用对称密钥对每个外包电子文档进行加密,得到密文;
(4d)将所有外包电子文档索引、密文和阈值打包发送给云服务器;
(4e)根据查询用户的身份,为查询用户从访问角色集中选取一个访问角色,将该访问角色、可搜索加密密钥和对称密钥通过安全通道发送给所选查询用户;
(5)生成绑定访问角色的目标查询向量:
(5a)利用不带权重的文本向量化方法,将查询请求转化为初始查询向量;
(5b)将拥有的访问角色的0~Y次幂扩展到初始查询向量的末尾,得到中间查询向量;
(5c)随机选取一个U维零向量的一半,将所选元素的值替换为1,得到选择向量;
(5d)将选择向量中的每个元素按行依次扩展到中间查询向量的末尾,得到选择查询向量;
(5e)在区间(0,1)上选取一个随机数,将选择查询向量中的每个元素均乘以所选随机数,得到目标查询向量;
(6)对目标查询向量进行加密:
(6a)利用查询向量分裂方法,将目标查询向量分裂成两个随机向量,将两个随机向量作为相应查询请求的两个子向量;
(6b)对可搜索加密密钥中两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的两个子向量相乘,组成查询请求的陷门;
(6c)向云服务器提交查询请求的陷门;
(7)查询密文:
(7a)对每个外包电子文档索引中的两个向量进行转置操作,将转置后的两个向量分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到相应外包电子文档的得分。
(7b)从所有外包电子文档的得分中筛选小于或等于阈值的所有密文,按得分的大小对筛选出的所有密文从大到小排序;
(7c)从排序的密文中选取前k个密文发送给查询用户,其中,k为正整数,且10≤k≤50;
(8)解密返回的密文:
利用对称密钥,对查询用户接收到的k个密文进行解密,得到每个密文对应的明文。
2.根据权利要求1所述的单一用户环境下基于细粒度排序的数据密文查询方法,其特征在于,所述文本关键字提取算法是指:TextRank算法、TF-IDF算法、RAKE算法中的任意一个算法。
3.根据权利要求1所述的单一用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(1b)中所述带权重的文本向量化公式如下:
其中,pi,u表示字典中的第u个关键字在第i个外包电子文档中的元素值,u=1,2,…,n,n表示字典的大小,i=1,2…,m,m表示外包电子文档集中文档的总数,ni,u表示字典中的第u个关键字在第i个外包电子文档中出现的次数,×表示乘号,ln(·)表示以自然常数e为底的对数操作,Nu表示外包电子文档集中包含字典中的第u个关键字的文档的数量,表示求平方根操作,∑表示求和操作。
4.根据权利要求1所述的单一用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(3b)中所述对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
5.根据权利要求1所述的单一用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(4a)中所述数据向量分裂方法的步骤如下:
第一步,生成维数均与目标数据向量维数相同的两个随机向量;
第二步,从可搜索加密密钥中的二进制向量中选取一个任意未选过的元素值;
第三步,判断所选的元素值是否为0,若是,则执行第四步,否则,执行第五步;
第四步,将目标数据向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素;
第五步,在区间(0,1)上随机选取一个随机数,赋给第一个随机向量与所选元素对应的元素,用目标数据向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素。
6.根据权利要求1所述的单一用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(5a)中所述不带权重的文本向量化方法的步骤如下:
第一步,利用文本关键字提取算法,从查询请求中提取所有的关键字组成查询关键字集,所述文本关键字提取算法是指:TextRank算法、TF-IDF算法、RAKE算法中的任意一个算法;
第二步,生成一个维数等于字典大小的随机向量;
第三步,判断字典中是否有至少一个与查询关键字集中相同的关键字,若是,则执行第四步,否则,执行第五步;
第四步,将随机向量对应位置上的元素值设置为1,其余位置上的元素值设置为0,得到初始查询向量;
第五步,将维数等于字典大小的零向量作为初始查询向量。
7.根据权利要求1所述的单一用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(6a)中所述查询向量分裂方法的步骤如下:
第一步,生成维数均与目标查询向量维数相同的两个随机向量;
第二步,从可搜索加密密钥中的二进制向量中选取一个任意未选过的元素值;
第三步,判断所选的元素值是否为0,若是,则执行第四步,否则,执行第五步;
第四步,在区间(0,1)上随机选取一个随机数,赋给第一个随机向量对应位置上的元素,用目标查询向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素;
第五步,将目标查询向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910493936.5A CN110222012B (zh) | 2019-06-08 | 2019-06-08 | 单一用户环境下基于细粒度排序的数据密文查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910493936.5A CN110222012B (zh) | 2019-06-08 | 2019-06-08 | 单一用户环境下基于细粒度排序的数据密文查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110222012A true CN110222012A (zh) | 2019-09-10 |
CN110222012B CN110222012B (zh) | 2022-04-19 |
Family
ID=67816261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910493936.5A Active CN110222012B (zh) | 2019-06-08 | 2019-06-08 | 单一用户环境下基于细粒度排序的数据密文查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110222012B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257455A (zh) * | 2020-10-21 | 2021-01-22 | 西安电子科技大学 | 一种语义理解的密文空间关键字检索方法及系统 |
CN113158087A (zh) * | 2021-04-09 | 2021-07-23 | 深圳前海微众银行股份有限公司 | 一种空间文本的查询方法及装置 |
WO2023065477A1 (zh) * | 2021-10-18 | 2023-04-27 | 深圳前海微众银行股份有限公司 | 一种空间文本的查询方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027764A1 (en) * | 2003-07-31 | 2005-02-03 | Indian Institute Of Technology | Polynomial time deterministic method for testing primality of numbers |
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
CN108647529A (zh) * | 2018-05-09 | 2018-10-12 | 上海海事大学 | 一种基于语义的多关键词排序搜索隐私保护系统及方法 |
CN108985094A (zh) * | 2018-06-28 | 2018-12-11 | 电子科技大学 | 云环境下实现密文空间数据的访问控制和范围查询方法 |
-
2019
- 2019-06-08 CN CN201910493936.5A patent/CN110222012B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027764A1 (en) * | 2003-07-31 | 2005-02-03 | Indian Institute Of Technology | Polynomial time deterministic method for testing primality of numbers |
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
CN108647529A (zh) * | 2018-05-09 | 2018-10-12 | 上海海事大学 | 一种基于语义的多关键词排序搜索隐私保护系统及方法 |
CN108985094A (zh) * | 2018-06-28 | 2018-12-11 | 电子科技大学 | 云环境下实现密文空间数据的访问控制和范围查询方法 |
Non-Patent Citations (3)
Title |
---|
SOMESWAR E.: "security techniques for protecting data in cloud computing", 《GLOBAL RESEARCH ACADEMY》 * |
YINBIN MIAO ET AL.: "privacy-preserving attribute-based keyword search in shared multi-owner setting", 《IEEE》 * |
涂山山: "云计算环境中访问控制的机制和关键技术研究", 《中国博士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257455A (zh) * | 2020-10-21 | 2021-01-22 | 西安电子科技大学 | 一种语义理解的密文空间关键字检索方法及系统 |
CN112257455B (zh) * | 2020-10-21 | 2024-04-30 | 西安电子科技大学 | 一种语义理解的密文空间关键字检索方法及系统 |
CN113158087A (zh) * | 2021-04-09 | 2021-07-23 | 深圳前海微众银行股份有限公司 | 一种空间文本的查询方法及装置 |
CN113158087B (zh) * | 2021-04-09 | 2024-07-09 | 深圳前海微众银行股份有限公司 | 一种空间文本的查询方法及装置 |
WO2023065477A1 (zh) * | 2021-10-18 | 2023-04-27 | 深圳前海微众银行股份有限公司 | 一种空间文本的查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110222012B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fu et al. | Enabling central keyword-based semantic extension search over encrypted outsourced data | |
Fu et al. | Enabling personalized search over encrypted outsourced data with efficiency improvement | |
Wang et al. | Enabling secure and efficient ranked keyword search over outsourced cloud data | |
Liu et al. | Verifiable Diversity Ranking Search Over Encrypted Outsourced Data. | |
CN107491497B (zh) | 支持任意语言查询的多用户多关键词排序可搜索加密系统 | |
Chen et al. | EliMFS: achieving efficient, leakage-resilient, and multi-keyword fuzzy search on encrypted cloud data | |
CN110222012A (zh) | 单一用户环境下基于细粒度排序的数据密文查询方法 | |
CN110222081B (zh) | 多用户环境下基于细粒度排序的数据密文查询方法 | |
CN115314295B (zh) | 一种基于区块链的可搜索加密技术方法 | |
Wang et al. | Privacy-preserving ranked multi-keyword fuzzy search on cloud encrypted data supporting range query | |
CN108959567A (zh) | 一种云环境下适用于大规模图像的安全检索方法 | |
Henzinger et al. | Private web search with Tiptoe | |
Rajan et al. | Dynamic multi-keyword based search algorithm using modified based fully homomorphic encryption and Prim’s algorithm | |
Ren et al. | Privacy-preserving ranked multi-keyword search leveraging polynomial function in cloud computing | |
Calderini et al. | Searchable encryption with randomized ciphertext and randomized keyword search | |
Zhang et al. | A verifiable and dynamic multi-keyword ranked search scheme over encrypted cloud data with accuracy improvement | |
Handa et al. | Efficient privacy‐preserving scheme supporting disjunctive multi‐keyword search with ranking | |
Song et al. | An efficient and privacy-preserving multi-user multi-keyword search scheme without key sharing | |
Xia et al. | A multi-keyword ranked search over encrypted cloud data supporting semantic extension | |
CN114528370B (zh) | 动态多关键字模糊排序搜索方法及系统 | |
Li et al. | Secure and verifiable multi-owner ranked-keyword search in cloud computing | |
Guo et al. | Privacy preserving weighted similarity search scheme for encrypted data | |
Shen et al. | Preferred search over encrypted data | |
CN112328626B (zh) | 面向云环境的支持模糊关键词排序的可搜索加密方法 | |
Manasrah et al. | A privacy-preserving multi-keyword search approach in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |