CN110222081A - 多用户环境下基于细粒度排序的数据密文查询方法 - Google Patents

多用户环境下基于细粒度排序的数据密文查询方法 Download PDF

Info

Publication number
CN110222081A
CN110222081A CN201910493925.7A CN201910493925A CN110222081A CN 110222081 A CN110222081 A CN 110222081A CN 201910493925 A CN201910493925 A CN 201910493925A CN 110222081 A CN110222081 A CN 110222081A
Authority
CN
China
Prior art keywords
key
inquiry
matrix
user
electronic document
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
Application number
CN201910493925.7A
Other languages
English (en)
Other versions
CN110222081B (zh
Inventor
苗银宾
童秋云
马建峰
李颖莹
王祥宇
马卓然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201910493925.7A priority Critical patent/CN110222081B/zh
Publication of CN110222081A publication Critical patent/CN110222081A/zh
Application granted granted Critical
Publication of CN110222081B publication Critical patent/CN110222081B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了多用户环境下基于细粒度排序的数据密文查询方法,具体实现步骤包括:1、生成带有访问结构的目标数据矩阵;2、设置主密钥和对称密钥;3、对目标数据矩阵进行加密;4、生成绑定访问角色的目标查询向量;5、为每个查询用户生成不同的陷门生成密钥和重加密密钥;6、对目标查询向量进行加密;7、对查询请求的中间陷门进行重加密;8、查询密文;9、解密返回的密文;10、删除撤销的查询用户。本发明实现了多查询用户对云服务器接收到的数据密文进行高效的细粒度访问控制、多关键字排序查询和查询用户撤销操作。

Description

多用户环境下基于细粒度排序的数据密文查询方法
技术领域
本发明属于通信技术领域,更进一步涉及信息安全技术领域中的一种多用户环境下基于细粒度排序的数据密文查询方法。本发明可用于在云存储背景下多查询用户对云服务器接收到的数据密文进行细粒度访问控制、多关键字排序查询,并支持查询用户撤销操作。
背景技术
随着云存储技术的发展,越来越多的用户将繁重的数据存储和管理工作外包至“诚实但好奇”的云服务器。为了保证用户数据在存储和检索过程中不被泄露,一般情况下用户需要在外包数据前对数据进行加密,然而传统的加密技术隐藏了明文的所有特征,致使基于明文的传统搜索机制无法实现密文搜索。当用户想要获取感兴趣的数据时,他们只能从云端将密文下载到本地再进行解密,这无疑造成了带宽和计算资源的浪费且存在隐私泄露风险。基于这种情况,已经存在了关于数据密文的检索技术,但是这些技术在密文数据检索应用中存在相应的问题。
南京邮电大学在其申请的专利文献“一种云存储中支持多用户的可搜索加密方法”(专利申请号201510128817.1,公开号CN104780161A)中公开了一种多查询用户环境下细粒度访问权限控制的可搜索加密方法。该方法中数据拥有者以文件中的关键字为表头节点创建关键字索引链表,将包含该关键字的文件添加到关键字索引链表中,然后为每个文件创建权限链表,将授权访问文件的用户加入到对应文件的权限链表中以完成授权;用户使用对称可搜索加密密钥将查询关键字加密为陷门;接收到用户发来的陷门时,服务器首先查询用户表中有无该用户,如果没有则拒绝提供检索,否则,根据上传的陷门检索关键字索引,如果没有匹配到对应的关键字,返回错误提示,否则,继续查询关键字索引链表中每个文件的权限链表中有无该用户,并将权限链表中有该用户的文件加入到检索结果中;用户撤销时,数据拥有者将用户信息从用户表中直接删除。该方法存在的不足之处是:只支持单关键字搜索,不能完全表达用户的查询需求,返回的查询结果中包含许多查询用户不感兴趣的文档,浪费了带宽和计算资源。
华南理工大学在其申请的专利文献“一种支持偏好搜索和逻辑搜索的高效可验证的多关键字排序可搜索加密方法”(专利申请号201810169347.7,公开号CN108388807A)中公开了一种多查询用户环境下基于对称可搜索加密技术的多关键字排序搜索方法。该方法中数据拥有者利用向量空间模型和TF-IDF来抽象文档的内容以及相关权重,并利用对称可搜索加密密钥对抽象后的结果进行加密;查询用户共享数据拥有者生成的可搜索加密密钥,并根据查询生成陷门;云服务器接收到陷门时执行安全内积操作并按相关度分值对密文文档排序。该方法存在的不足之处是:每个被授权的查询用户拥有的访问权限的粒度过粗,均有权访问整个外包数据集,导致外包数据集中的敏感信息被无权访问的查询用户知晓,不利于敏感数据的隐私保护。其次,不支持查询用户撤销操作,限制了可搜索加密技术在实际中的应用。
西安电子科技大学在其申请的专利文献“一种支持数值属性比较的多关键字可搜索加密方法”(专利申请号201711332607.X,公开号CN108156140A)中公开了一种多查询用户环境下基于属性实现细粒度访问控制的多关键字密文检索方法。该方法中第三方可信实体根据查询用户的属性集生成私钥;数据拥有者利用访问控制结构和关键字集为每个文档建立索引;查询用户利用私钥和查询关键字集生成陷门;收到陷门和编码后的属性集后,云服务器验证查询用户的属性集是否满足访问控制结构,如果不满足,终止操作,否则,云服务器将陷门和密文索引集进行匹配,将匹配成功的密文集发送给查询用户。该方法存在的不足之处是:基于非对称加密技术实现多关键字密文检索和细粒度访问控制,计算开销大,影响查询效率。
发明内容
本发明的目的在于针对上述已有技术的缺陷,提出一种多用户环境下基于细粒度排序的数据密文查询方法。该方法在多查询用户环境下支持高效的查询用户撤销操作,并在对称可搜索加密技术下实现细粒度访问控制和多关键字排序的数据密文查询。
实现本发明目的的思路是,基于哈希函数和角色多项式生成带有访问的目标数据矩阵,利用主密钥对目标数据矩阵进行加密,得到相应外包电子文档索引;为不同的查询用户生成不同的陷门生成密钥和重加密密钥;生成绑定访问角色的目标查询向量,利用陷门生成对目标查询向量进行加密,得到中间陷门;利用重加密密钥对中间陷门进行重加密,得到目标陷门,利用陷门和外包电子文档索引计算每个外包电子文档的得分,并筛选出得分大于或等于阈值的所有密文,按得分的大小对筛选出的密文从大到小排序,将排序结果返回给相应查询用户;用户撤销时,云服务器从用户密钥映射集中删除撤销的查询用户的身份和相应的重加密密钥。
本发明的具体步骤如下:
(1)生成带有访问结构的目标数据矩阵:
(1a)利用文本矩阵化方法,将每个外包电子文档转化为中间数据矩阵;
(1b)从去0后模p的剩余类环中选取Y个元素组成访问角色集,其中,Y的取值等于查询用户类别的总数;
(1c)从访问角色集中为每个外包电子文档选取有权访问该电子文档的所有访问角色作为根,构建角色多项式;
(1d)添加系数为0且幂指数小于或等于Y的项,使得每个角色多项式展开式的项数为Y+1;
(1e)将每个角色多项式展开式的各项按幂指数递增的顺序排列,将排列后的各项系数扩展到相应外包电子文档对应的中间数据矩阵每一列的末尾,得到目标数据矩阵;
(2)设置主密钥和对称密钥:
(2a)随机生成一个维数与目标数据矩阵行数相同的二进制向量、两个阶数均与目标数据矩阵行数相同的可逆矩阵,将二进制向量和两个可逆矩阵组成主密钥;
(2b)生成对称加密算法的对称密钥;
(2c)将主密钥发送给数据拥有者,保留对称密钥;
(3)对目标数据矩阵进行加密:
(3a)利用数据矩阵***方法,将每个外包电子文档对应的目标数据矩阵***成两个随机矩阵,将两个随机矩阵作为相应外包电子文档的两个子矩阵;
(3b)对主密钥中的两个可逆矩阵进行转置操作,将转置后的两个可逆矩阵分别与每个外包电子文档的两个子矩阵相乘,组成相应外包电子文档索引;
(3c)利用对称密钥对每个外包电子文档进行加密,得到密文;
(3d)将所有外包电子文档索引和密文打包发送给云服务器;
(3f)根据每个查询用户的身份,为查询用户从访问角色集中选取一个访问角色,将每个访问角色通过安全通道发送给所选查询用户;
(4)生成绑定访问角色的目标查询向量:
(4a)利用文本关键字提取算法,从查询用户提交的查询请求中提取所有的关键字组成查询关键字集;
(4b)通过添加外包电子文档集中没有的关键字,将查询关键字集扩展成包含d个关键字的目标关键字集,其中,d查询用户最多能输入的关键字的总数;
(4c)利用哈希函数,将目标关键字集中每个关键字映射到去0后模p剩余类环中;
(4d)将目标关键字集中所有关键字的哈希值作为根,构建查询多项式;
(4e)将查询多项式展开式的各项按幂指数递增的顺序排列后的各项系数组成中间查询向量;
(4f)将拥有的访问角色的0~Y次幂扩展到中间查询向量的末尾,得到目标查询向量;
(5)为每个查询用户生成不同的陷门生成密钥和重加密密钥:
(5a)为每个查询用户随机生成两个阶数与目标数据矩阵行数相同的可逆矩阵,将生成的两个可逆矩阵和主密钥中的二进制向量组成相应查询用户的陷门生成密钥;
(5b)对每个查询用户的陷门生成密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与主密钥中的两个可逆矩阵相乘后组成相应查询用户的重加密密钥;
(5c)将每个陷门生成密钥发送给相应的查询用户;
(5d)将所有查询用户的身份和相应的重加密密钥成对发送给云服务器;
(5f)将接收到的查询用户的身份和相应的重加密密钥成对添加到初始状态为空集的用户密钥映射集中;
(6)对目标查询向量进行加密:
(6a)利用查询向量***方法,将目标查询向量***成两个随机向量,将两个随机向量作为相应查询请求的两个子向量;
(6b)对陷门生成密钥中两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的两个子向量相乘后组成查询请求的中间陷门;
(6c)将查询请求的中间陷门、相应查询用户的身份和N提交给云服务器,其中,N为区间[1,u)上的一个正整数,u表示查询关键字集中关键字的总数;
(7)对中间陷门进行重加密:
(7a)根据查询用户提交的身份从用户密钥映射集中找到对应的重加密密钥;
(7b)对重加密密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的中间陷门中两个子向量相乘后组成查询请求的目标陷门;
(8)查询密文:
(8a)对每个外包电子文档索引中的两个矩阵进行转置操作,将转置后的两个矩阵分别与目标陷门中的两个向量相乘,两次乘积结果相加后得到相应外包电子文档的属性向量;
(8b)将每个外包电子文档的属性向量中“0”的数量作为相应外包电子文档的得分;
(8c)从所有外包电子文档的得分中筛选大于或等于N的所有密文,按得分大小对筛选出的所有密文从大到小排序;
(8d)将排序的密文发送给第三方可信密钥管理***;
(9)解密返回的密文:
(9a)利用对称密钥,对第三方可信密钥管理***接收到的密文进行解密,得到每个密文对应的明文;
(9b)将解密后的明文发送给相应的查询用户;
(10)删除撤销的查询用户:
(10a)向云服务器发送查询用户撤销的通知;
(10b)根据第三方可信密钥管理***发出的通知,从用户密钥映射集中删除撤销的查询用户的身份和相应的重加密密钥。
本发明与现有技术相比具有如下优点:
第一,由于本发明利用文本矩阵化方法,将每个外包电子文档转化为中间数据矩阵,克服了现有技术只支持单关键字搜索,不能完全表达用户的查询需求,返回的查询结果中包含许多查询用户不感兴趣的文档,浪费了带宽和计算资源的缺陷,使得本发明支持多关键字排序查询,更能表达查询用户的查询需求,查询用户查询到感兴趣文档的概率大,节省了带宽和计算资源。
第二,由于本发明生成带有访问结构的目标数据矩阵和绑定访问角色的目标查询向量,并为每个查询用户生成不同的陷门生成密钥和重加密密钥,克服了现有技术中每个被授权的查询用户拥有的访问权限的粒度过粗,以及不支持查询用户撤销操作,限制了可搜索加密技术在实际中的应用的缺陷,使得本发明支持细粒度访问控制和查询用户撤销操作,保证敏感数据只有拥有访问权限的查询用户才能访问,有利于外包电子文档的隐私保护,可搜索加密方法在实际中的应用。
第三,由于本发明对目标数据矩阵和目标查询向量进行加密,克服了现有技术中基于非对称加密技术实现多关键字密文检索和细粒度访问控制,存在计算开销大,影响查询效率的问题,使得本发明不仅实现了基于对称加密技术下的数据密文查询,而且具有计算开销小,查询效率高的优点。
附图说明
附图1为本发明的流程图。
具体实施方式
下面结合附图1对本发明做进一步的描述。
步骤1,生成带有访问结构的目标数据矩阵。
利用文本矩阵化方法,将每个外包电子文档转化为中间数据矩阵。
所述文本矩阵化方法的步骤如下:
第1步,利用文本关键字提取算法,从外包电子文档中提取所有的关键字,所述的文本关键字提取算法是指:TextRank算法、TF-IDF算法、RAKE算法中的任意一个算法;
第2步,生成一个(d+1)×n阶的空矩阵,其中,d表示查询用户最多能输入的关键字的总数、n表示外包电子文档中关键字的总数;
第3步,利用哈希函数,将外包电子文档中每个关键字映射到去0后模p剩余类环中,其中,p表示一个素数,其取值大于外包电子文档集中关键字的总数;
第4步,分别计算外包电子文档中每个关键字的哈希值的0~d次幂,将哈希值的每次幂依次填入到空矩阵的每一行中,得到中间数据矩阵。
本发明的实施例中,从第i个外包电子文档fi中提取所有的关键字则第i个外包电子文档fi对应的中间数据矩阵Di如下:
其中,wi,1表示第i个外包电子文档中的第1个关键字,i=1,2…,m,m表示外包电子文档集中电子文档的总数,ni表示第i个外包电子文档中关键字的总数,hs(·)表示将每个关键字映射到去0后模p剩余类环中的哈希函数,d表示查询用户最多能输入的关键字的总数。
从去0后模p的剩余类环中选取Y个元素组成访问角色集其中,Y的取值等于查询用户类别的总数,j=1,2,…,Y。
从访问角色集中为每个外包电子文档选取有权访问该电子文档的所有访问角色作为根,构建角色多项式。
添加系数为0且幂指数小于或等于Y的项,使得每个角色多项式展开式的项数为Y+1。
本发明的实施例中,第i个外包电子文档fi的角色多项式如下:
其中,gi表示第i个外包电子文档的角色多项式,i=1,2…,m,m表示外包电子文档集中电子文档的总数,aj表示访问角色集中的第j个访问角色,j=1,2,…,Y,Y的取值等于查询用户类别数,表示有权访问第i个外包电子文档的所有访问角色组成的集合,表示第i个外包电子文档的角色多项式展开式的第j项的系数,设多项式gi的最高次数为δi,当δi<Y时,δi<j≤Y。
将每个角色多项式展开式的各项按幂指数递增的顺序排列,将排列后的各项系数扩展到相应外包电子文档对应的中间数据矩阵每一列的末尾,得到目标数据矩阵。
本发明的实施例中,第i个外包电子文档fi对应的目标数据矩阵如下:
步骤2,设置主密钥和对称密钥。
随机生成一个维数与目标数据矩阵行数相同的二进制向量S、两个阶数均与目标数据矩阵行数相同的可逆矩阵{M1,M2},将二进制向量和两个可逆矩阵组成主密钥msk={M1,M2,S}。
生成对称加密算法的对称密钥。
所述对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
将主密钥msk发送给数据拥有者,保留对称密钥。
步骤3,对目标数据矩阵进行加密。
利用数据矩阵***方法,将每个外包电子文档对应的目标数据矩阵***成两个随机矩阵,将两个随机矩阵作为相应外包电子文档的两个子矩阵。
所述数据矩阵***方法的步骤如下:
第1步,生成两个与目标数据矩阵同型的随机矩阵;
第2步,从主密钥中的二进制向量中选取一个任意未选过的元素值;
第3步,判断所选的元素值是否为0,若是,则执行第四步,否则,执行第五步;
第4步,将目标数据矩阵每一列中与所选元素对应的元素值赋给第一个随机矩阵和第二个随机矩阵相应列中与所选元素对应的元素;
第5步,在区间(0,1)上随机选取R个随机数,分别赋给第一个随机矩阵每一列中与所选元素对应的元素,用目标数据矩阵相应列中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机矩阵相应列中与所选元素对应的元素,其中,R的取值等于目标数据矩阵的列数。
本发明的实施例中,设第i个外包电子文档fi对应的目标数据矩阵主密钥msk中的二进制向量S=(0 1),目标数据矩阵的第一个随机矩阵和第二个随机矩阵分别为由于S[1]=0,所以由于S[2]=1,所以其中,rk(k=1,2,3)为区间(0,1)上的一个随机数,因此
对主密钥中的两个可逆矩阵进行转置操作,将转置后的两个可逆矩阵分别与每个外包电子文档的两个子矩阵相乘,组成相应外包电子文档索引。
本发明的实施例中,第i个外包电子文档索引为其中,表示第i个外包电子文档的两个子矩阵,T表示转置操作。
利用对称密钥对每个外包电子文档进行加密,得到密文。
将所有外包电子文档索引和密文打包发送给云服务器。
根据每个查询用户的身份,为查询用户从访问角色集中选取一个访问角色,将每个访问角色通过安全通道发送给所选查询用户。
步骤4,生成绑定访问角色的目标查询向量。
利用文本关键字提取算法,从查询用户提交的查询请求中提取所有的关键字组成查询关键字集。
所述文本关键字提取算法是指:TextRank算法、TF-IDF算法、RAKE算法中的任意一个算法。
通过添加外包电子文档集中没有的关键字,将查询关键字集扩展成包含d个关键字的目标关键字集,其中,d查询用户最多能输入的关键字的总数。
本发明实施例中,第t个查询用户的查询关键字集为目标关键字集为t=1,2,…,O,O表示未撤销的查询用户的总数。
利用哈希函数,将目标关键字集中每个关键字映射到去0后模p剩余类环中。
将目标关键字集中所有关键字的哈希值作为根,构建查询多项式。
本发明实施例中,第t个查询用户的查询多项式ht如下:
ht=(v-hs(w1′))×…×(v-hs(wd′))
=b0+b1v+…+bdvd.
将查询多项式展开式的各项按幂指数递增的顺序排列后的各项系数组成中间查询向量。
本发明实施例中,第t个查询用户的中间查询向量为Qt=(b0 b1 … bd)。
将拥有的访问角色的0~Y次幂扩展到中间查询向量的末尾,得到目标查询向量。
本发明实施例中,设第t个查询用户的拥有访问角色at,则其目标查询向量为
步骤5,为每个查询用户生成不同的陷门生成密钥和重加密密钥。
为每个查询用户随机生成两个阶数与目标数据矩阵行数相同的可逆矩阵,将生成的两个可逆矩阵和主密钥中的二进制向量S组成相应查询用户的陷门生成密钥。
对每个查询用户的陷门生成密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与主密钥中的两个可逆矩阵相乘后组成相应查询用户的重加密密钥。
本发明的实施例中,第t个查询用户的陷门生成密钥为skt={At,1,Bt,1,S},重加密密钥为rkt={At,2,Bt,2},其中,{At,1,Bt,1}表示为第t个查询用户随机生成两个阶数与目标数据矩阵行数相同的可逆矩阵,-1表示求逆操作。
将每个陷门生成密钥发送给相应的查询用户。
将所有查询用户的身份和相应的重加密密钥成对发送给云服务器。
将接收到的查询用户的身份和相应的重加密密钥成对添加到初始状态为空集的用户密钥映射集中。
步骤6,对目标查询向量进行加密。
利用查询向量***方法,将目标查询向量***成两个随机向量,将两个随机向量作为相应查询请求的两个子向量。
所述查询向量***方法的步骤如下:
第1步,生成维数均与目标查询向量维数相同的两个随机向量;
第2步,从可搜索加密密钥中的二进制向量中选取一个任意未选过的元素值;
第3步,判断所选的元素值是否为0,若是,则执行第四步,否则,执行第五步;
第4步,在区间(0,1)上随机选取一个随机数,赋给第一个随机向量对应位置上的元素,用目标查询向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素;
第5步,将目标查询向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素。
本发明的实施例中,设第t个查询用户目标查询向量为主密钥中的二进制向量S=(0 1),目标查询向量的第一个随机向量和第二个随机向量分别为由于S[1]=0,所以由于S[2]=1,所以其中,ξ11为区间(0,1)上的一个随机数,因此
对陷门生成密钥中两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的两个子向量相乘后组成查询请求的中间陷门。
本发明的实施例中,第t个查询用户的中间陷门为其中,表示第t个查询用户的查询请求的两个子向量,。
将查询请求的中间陷门、相应查询用户的身份和N提交给云服务器,其中,N为区间[1,u)上的一个正整数,u表示查询关键字集中关键字的总数。
步骤7,对查询请求的中间陷门进行重加密。
根据查询用户提交的身份从用户密钥映射集中找到对应的重加密密钥。
本发明的实施例中,第t个查询用户提交身份后,云服务器找到该查询用户的重加密密钥rkt
对重加密密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的中间陷门中两个子向量相乘后组成查询请求的目标陷门。
本发明的实施例中,第t个查询用户的目标陷门如下:
步骤8,查询密文。
对每个外包电子文档索引中的两个矩阵进行转置操作,将转置后的两个矩阵分别与目标陷门中的两个向量相乘,两次乘积结果相加后得到相应外包电子文档的属性向量。
本发明的实施例中,第t个查询用户查询时第i个外包电子文档fi的属性向量Zi,t如下:
其中,·表示内积操作。
将每个外包电子文档的属性向量中“0”的数量作为相应外包电子文档的得分。
从所有外包电子文档的得分中筛选大于或等于N的所有密文,按得分大小对筛选出的所有密文从大到小排序。
将排序的密文发送给第三方可信密钥管理***。
步骤9,解密返回的密文。
利用对称密钥,对第三方可信密钥管理***接收到的密文进行解密,得到每个密文对应的明文。
将解密后的明文发送给相应的查询用户。
步骤10,删除撤销的查询用户。
向云服务器发送查询用户撤销的通知。
根据第三方可信密钥管理***发出的通知,从用户密钥映射集中删除撤销的查询用户的身份和相应的重加密密钥。

Claims (6)

1.一种多用户环境下基于细粒度排序的数据密文查询方法,其特征在于,为每个查询用户生成不同的陷门生成密钥和重加密密钥,删除撤销的查询用户,该方法的具体步骤如下:
(1)生成带有访问结构的目标数据矩阵:
(1a)利用文本矩阵化方法,将每个外包电子文档转化为中间数据矩阵;
(1b)从去0后模p的剩余类环中选取Y个元素组成访问角色集,其中,Y的取值等于查询用户类别的总数;
(1c)从访问角色集中为每个外包电子文档选取有权访问该电子文档的所有访问角色作为根,构建角色多项式;
(1d)添加系数为0且幂指数小于或等于Y的项,使得每个角色多项式展开式的项数为Y+1;
(1e)将每个角色多项式展开式的各项按幂指数递增的顺序排列,将排列后的各项系数扩展到相应外包电子文档对应的中间数据矩阵每一列的末尾,得到目标数据矩阵;
(2)设置主密钥和对称密钥:
(2a)随机生成一个维数与目标数据矩阵行数相同的二进制向量、两个阶数均与目标数据矩阵行数相同的可逆矩阵,将二进制向量和两个可逆矩阵组成主密钥;
(2b)生成对称加密算法的对称密钥;
(2c)将主密钥发送给数据拥有者,保留对称密钥;
(3)对目标数据矩阵进行加密:
(3a)利用数据矩阵***方法,将每个外包电子文档对应的目标数据矩阵***成两个随机矩阵,将两个随机矩阵作为相应外包电子文档的两个子矩阵;
(3b)对主密钥中的两个可逆矩阵进行转置操作,将转置后的两个可逆矩阵分别与每个外包电子文档的两个子矩阵相乘,组成相应外包电子文档索引;
(3c)利用对称密钥对每个外包电子文档进行加密,得到密文;
(3d)将所有电子文档索引和密文打包发送给云服务器;
(3f)根据每个查询用户的身份,为查询用户从访问角色集中选取一个访问角色,将每个访问角色通过安全通道发送给所选查询用户;
(4)生成绑定访问角色的目标查询向量:
(4a)利用文本关键字提取算法,从查询用户提交的查询请求中提取所有的关键字组成查询关键字集;
(4b)通过添加外包电子文档集中没有的关键字,将查询关键字集扩展成包含d个关键字的目标关键字集,其中,d查询用户最多能输入的关键字的总数;
(4c)利用哈希函数,将目标关键字集中每个关键字映射到去0后模p剩余类环中;
(4d)将目标关键字集中所有关键字的哈希值作为根,构建查询多项式;
(4e)将查询多项式展开式的各项按幂指数递增的顺序排列后的各项系数组成中间查询向量;
(4f)将拥有的访问角色的0~Y次幂扩展到中间查询向量的末尾,得到目标查询向量;
(5)为每个查询用户生成不同的陷门生成密钥和重加密密钥:
(5a)为每个查询用户随机生成两个阶数与目标数据矩阵行数相同的可逆矩阵,将生成的两个可逆矩阵和主密钥中的二进制向量组成相应查询用户的陷门生成密钥;
(5b)对每个查询用户的陷门生成密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与主密钥中的两个可逆矩阵相乘后组成相应查询用户的重加密密钥;
(5c)将每个陷门生成密钥发送给相应的查询用户;
(5d)将所有查询用户的身份和相应的重加密密钥成对发送给云服务器;
(5f)将接收到的查询用户的身份和相应的重加密密钥成对添加到初始状态为空集的用户密钥映射集中;
(6)对目标查询向量进行加密:
(6a)利用查询向量***方法,将目标查询向量***成两个随机向量,将两个随机向量作为相应查询请求的两个子向量;
(6b)对陷门生成密钥中两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的两个子向量相乘后组成查询请求的中间陷门;
(6c)将查询请求的中间陷门、相应查询用户的身份和N提交给云服务器,其中,N为区间[1,u)上的一个正整数,u表示查询关键字集中关键字的总数;
(7)对查询请求的中间陷门进行重加密:
(7a)根据查询用户提交的身份从用户密钥映射集中找到对应的重加密密钥;
(7b)对重加密密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的中间陷门中两个子向量相乘后组成查询请求的目标陷门;
(8)查询密文:
(8a)对每个外包电子文档索引中的两个矩阵进行转置操作,将转置后的两个矩阵分别与目标陷门中的两个向量相乘,两次乘积结果相加后得到相应外包电子文档的属性向量;
(8b)将每个外包电子文档的属性向量中“0”的数量作为相应外包电子文档的得分;
(8c)从所有外包电子文档的得分中筛选大于或等于N的所有密文,按得分大小对筛选出的所有密文从大到小排序;
(8d)将排序的密文发送给第三方可信密钥管理***;
(9)解密返回的密文:
(9a)利用对称密钥,对第三方可信密钥管理***接收到的密文进行解密,得到每个密文对应的明文;
(9b)将解密后的明文发送给相应的查询用户;
(10)删除撤销的查询用户:
(10a)向云服务器发送查询用户撤销的通知;
(10b)根据第三方可信密钥管理***发出的通知,从用户密钥映射集中删除撤销的查询用户的身份和相应的重加密密钥。
2.根据权利要求1所述的多用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(1a)中所述文本矩阵化方法的步骤如下:
第一步,利用文本关键字提取算法,从外包电子文档中提取所有的关键字,所述文本关键字提取算法是指:TextRank算法、TF-IDF算法、RAKE算法中的任意一个算法;
第二步,生成一个(d+1)×n阶的空矩阵,其中,d表示查询用户最多能输入的关键字的总数、n表示外包电子文档中关键字的总数;
第三步,利用哈希函数,将外包电子文档中每个关键字映射到去0后模p剩余类环中,其中,p表示一个素数,其取值大于外包电子文档集中关键字的总数;
第四步,分别计算外包电子文档中每个关键字的哈希值的0~d次幂,将哈希值的每次幂依次填入到空矩阵的每一行中,得到中间数据矩阵。
3.根据权利要求1所述的多用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(2b)中所述对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
4.根据权利要求1所述的多用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(3a)中所述数据矩阵***方法的步骤如下:
第一步,生成两个与目标数据矩阵同型的随机矩阵;
第二步,从主密钥中的二进制向量中选取一个任意未选过的元素值;
第三步,判断所选的元素值是否为0,若是,则执行第四步,否则,执行第五步;
第四步,将目标数据矩阵每一列中与所选元素对应的元素值赋给第一个随机矩阵和第二个随机矩阵相应列中与所选元素对应的元素;
第五步,在区间(0,1)上随机选取R个随机数,分别赋给第一个随机矩阵每一列中与所选元素对应的元素,用目标数据矩阵相应列中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机矩阵相应列中与所选元素对应的元素,其中,R的取值等于目标数据矩阵的列数。
5.根据权利要求1所述的多用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(4a)中所述文本关键字提取算法是指:TextRank算法、TF-IDF算法、RAKE算法中的任意一个算法。
6.根据权利要求1所述的多用户环境下基于细粒度排序的数据密文查询方法,其特征在于,步骤(6a)中所述查询向量***方法的步骤如下:
第一步,生成维数均与目标查询向量维数相同的两个随机向量;
第二步,从可搜索加密密钥中的二进制向量中选取一个任意未选过的元素值;
第三步,判断所选的元素值是否为0,若是,则执行第四步,否则,执行第五步;
第四步,在区间(0,1)上随机选取一个随机数,赋给第一个随机向量对应位置上的元素,用目标查询向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素;
第五步,将目标查询向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素。
CN201910493925.7A 2019-06-08 2019-06-08 多用户环境下基于细粒度排序的数据密文查询方法 Active CN110222081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910493925.7A CN110222081B (zh) 2019-06-08 2019-06-08 多用户环境下基于细粒度排序的数据密文查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910493925.7A CN110222081B (zh) 2019-06-08 2019-06-08 多用户环境下基于细粒度排序的数据密文查询方法

Publications (2)

Publication Number Publication Date
CN110222081A true CN110222081A (zh) 2019-09-10
CN110222081B CN110222081B (zh) 2022-04-19

Family

ID=67816259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910493925.7A Active CN110222081B (zh) 2019-06-08 2019-06-08 多用户环境下基于细粒度排序的数据密文查询方法

Country Status (1)

Country Link
CN (1) CN110222081B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257455A (zh) * 2020-10-21 2021-01-22 西安电子科技大学 一种语义理解的密文空间关键字检索方法及***
CN112328639A (zh) * 2020-11-10 2021-02-05 杭州趣链科技有限公司 数据查询方法、装置、***以及数据集处理方法
CN112528064A (zh) * 2020-12-10 2021-03-19 西安电子科技大学 一种隐私保护的加密图像检索方法及***
CN112668015A (zh) * 2019-12-12 2021-04-16 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113420175A (zh) * 2021-06-15 2021-09-21 西安电子科技大学 一种可验证细粒度加密图像检索方法及***
WO2023065477A1 (zh) * 2021-10-18 2023-04-27 深圳前海微众银行股份有限公司 一种空间文本的查询方法及装置
CN117407864A (zh) * 2023-12-13 2024-01-16 苏州元脑智能科技有限公司 一种可信域扩展方法、***、装置、设备及计算机介质

Citations (5)

* Cited by examiner, † Cited by third party
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
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN107491497A (zh) * 2017-07-25 2017-12-19 福州大学 支持任意语言查询的多用户多关键词排序可搜索加密***
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN109450935A (zh) * 2018-12-19 2019-03-08 河南科技大学 云存储中可验证的语义安全的多关键词搜索方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN107491497A (zh) * 2017-07-25 2017-12-19 福州大学 支持任意语言查询的多用户多关键词排序可搜索加密***
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN109450935A (zh) * 2018-12-19 2019-03-08 河南科技大学 云存储中可验证的语义安全的多关键词搜索方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112668015A (zh) * 2019-12-12 2021-04-16 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112668015B (zh) * 2019-12-12 2022-02-01 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112257455A (zh) * 2020-10-21 2021-01-22 西安电子科技大学 一种语义理解的密文空间关键字检索方法及***
CN112257455B (zh) * 2020-10-21 2024-04-30 西安电子科技大学 一种语义理解的密文空间关键字检索方法及***
CN112328639A (zh) * 2020-11-10 2021-02-05 杭州趣链科技有限公司 数据查询方法、装置、***以及数据集处理方法
CN112528064A (zh) * 2020-12-10 2021-03-19 西安电子科技大学 一种隐私保护的加密图像检索方法及***
CN113420175A (zh) * 2021-06-15 2021-09-21 西安电子科技大学 一种可验证细粒度加密图像检索方法及***
CN113420175B (zh) * 2021-06-15 2022-12-09 西安电子科技大学 一种可验证细粒度加密图像检索方法及***
WO2023065477A1 (zh) * 2021-10-18 2023-04-27 深圳前海微众银行股份有限公司 一种空间文本的查询方法及装置
CN117407864A (zh) * 2023-12-13 2024-01-16 苏州元脑智能科技有限公司 一种可信域扩展方法、***、装置、设备及计算机介质
CN117407864B (zh) * 2023-12-13 2024-02-27 苏州元脑智能科技有限公司 一种可信域扩展方法、***、装置、设备及计算机介质

Also Published As

Publication number Publication date
CN110222081B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN110222081A (zh) 多用户环境下基于细粒度排序的数据密文查询方法
Wang et al. Enabling secure and efficient ranked keyword search over outsourced cloud data
CN107491497B (zh) 支持任意语言查询的多用户多关键词排序可搜索加密***
CN108494768B (zh) 一种支持访问控制的密文搜索方法及***
Wang et al. Secure ranked keyword search over encrypted cloud data
CN107256248B (zh) 云存储安全中基于通配符的可搜索加密方法
CN108062485A (zh) 一种面向多服务器多用户的模糊关键字搜索方法
CN106803784A (zh) 安全多媒体云存储中基于格的多用户模糊可搜索加密方法
CN105024802B (zh) 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN104780161A (zh) 一种云存储中支持多用户的可搜索加密方法
CN105610910A (zh) 面向云存储并基于全同态密码的密文全文检索方法及***
CN108111587B (zh) 一种基于时间释放的云存储搜索方法
CN115314295B (zh) 一种基于区块链的可搜索加密技术方法
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
CN107885705A (zh) 一种高效可扩展的安全的文档相似性计算方法和装置
Handa et al. A cluster based multi-keyword search on outsourced encrypted cloud data
CN110222012A (zh) 单一用户环境下基于细粒度排序的数据密文查询方法
CN109740378B (zh) 一种抗关键词隐私泄露的安全对索引构造及其检索方法
CN105897419B (zh) 一种多用户动态关键词可搜索加密方法
Ren et al. Privacy-preserving ranked multi-keyword search leveraging polynomial function in cloud computing
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及***
CN109766314A (zh) 基于概率陷门的密文数据多关键词搜索方法
Li et al. Secure and verifiable multi-owner ranked-keyword search in cloud computing
Raghavendra et al. DRSMS: Domain and range specific multi-keyword search over encrypted cloud data
CN114528370A (zh) 动态多关键字模糊排序搜索方法及***

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