CN116881739B - 一种面向空间关键字相似性的密文安全检索方法 - Google Patents
一种面向空间关键字相似性的密文安全检索方法 Download PDFInfo
- Publication number
- CN116881739B CN116881739B CN202311146922.9A CN202311146922A CN116881739B CN 116881739 B CN116881739 B CN 116881739B CN 202311146922 A CN202311146922 A CN 202311146922A CN 116881739 B CN116881739 B CN 116881739B
- Authority
- CN
- China
- Prior art keywords
- keyword
- search
- key
- ciphertext
- space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 239000013598 vector Substances 0.000 claims description 65
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 235000004348 Perilla frutescens Nutrition 0.000 description 4
- 244000124853 Perilla frutescens Species 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000012946 outsourcing Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种面向空间关键字相似性的密文安全检索方法,属于数据安全的技术领域,包括:S1.数据拥有者加密空间数据库,构建密文索引,并将其上传至云服务器;S2.搜索用户利用数据拥有者提供的密钥生成搜索令牌;S3.云服务器根据搜索令牌检索密文索引,并返回满足空间范围条件和关键字集相似性条件的密文空间对象。本发明在一定的空间范围内返回与用户期望数据相关的空间数据对象,以在保证较强安全性的同时实现高效搜索。
Description
技术领域
本发明公开一种面向空间关键字相似性的密文安全检索方法,属于数据安全的技术领域。
背景技术
随着基于位置服务的发展,产生了海量的空间数据,大量用户会选择将空间数据上传至云服务器,但由于云服务器的不可信,可能会泄露用户的数据隐私,隐私保护的空间关键词查询作为一种有吸引力的技术,近年来已被广泛应用于现实生活中,但大多数现有的方案只考虑精确的关键字查询,而隐私保护的空间关键字相似性查询方案比隐私保护的布尔空间关键字查询方案更加复杂,这是因为后者只涉及关键字的相等性测试,而前者在处理关键字时包含典型的先计算后比较操作,同时还要在服务器中保护这一操作。
中国专利文献公开CN106951411A涉及一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,将域加权评分的概念引入文档的评分当中,对标题、摘要等不同域中的关键词赋予不同的权重加以区分;对检索关键词进行语义拓展,计算语义相似度,将语义相似度、域加权评分和相关度分数三者结合,设计了一种三因子排序方法,云服务器能够对搜索结果进行精确的排序并返回给搜索用户;针对可搜索加密方案查询效率不高的缺陷,设计了一种向量分块标记匹配算法,将向量空间模型创建的文档向量分块,生成维数较小的标记向量。但是该专利文献不支持空间坐标的范围匹配,同时它在构建索引的时候会先计算关键字在文档中的相关性,这样在进行多关键字检索时,如果有一个文档只包含搜索集中的一个关键字,并且这个关键字的相关性得分很高,那么这个文档仍然会被优先返回,这样的结果往往与用户期望的结果有很大偏差。
目前大多数空间关键字密文检索方案中对关键字集的处理一般分为3种方法:
第一种方法是采用布隆过滤器存储每个空间对象的关键字集,同时还会将布隆过滤器中的值用关键字的权重而不是01来存储,这种方案能够判断用户想要检索的关键字是否存在于空间对象集中,但对于计算两个关键字集的相似性,会存在很大的误判概率。
第二种方法是采用比特位图的方法存储转化后的关键字集,然后对比特位图进行加密(例:同态加密),因为比特位图中只有0和1,这种方法对精确的关键字检索,能够节省计算成本,但对于多关键字的相似性检索,比特位图的计算以及计算结果(密文)的比较会带来很大的计算开销。
第三种方法则是采用向量存储转化后的关键字集,然后对向量进行加密,目前的方案在进行关键字集的相似性计算时,一般都采用编辑距离或布尔计算,这些方法并不能实现更加细粒度的密文关键字检索。
除此之外,相关专利文献也公开了相关的背景技术内容:
中国专利文献CN104731860A涉及一种隐私保护的空间关键字查询方法包括:建立空间文本数据库索引;对索引中最小外包矩形和数据点的空间坐标和文本权重进行统一加密;在密文情况下判断查询源位置与最小外包矩形的位置关系;根据位置关系的不同情况,利用查询源位置的坐标构造相应的查询请求;计算最小外包矩形在优先队列中的键值以及数据点在优先队列中的键值;根据上述键值,优先队列对最小外包矩形和数据点进行排序,并输出满足用户查询请求的前k个数据点。该专利文献将空间坐标和关键字集分别转化为向量,同时将两个向量结合在一起,这样在实际计算中,如果一个空间对象不满足查询的空间范围,此方案仍然会进行多余的关键字向量部分的计算。
中国专利文献CN113177167A提出一种基于云计算隐私保护的空间关键词搜索方法。该专利文献能够为用户生成任意多边形,以覆盖用户期望获得的空间数据。该专利文献提出了一种基于访问控制的多维空间关键词搜索方法。特别地,本专利文献还基于角色多项式函数设计了一种轻量级的访问控制策略,并将访问策略嵌入到空间关键词的索引与陷门中,实现高效且细粒度的访问控制。本专利文献将关键字集转化为向量,但空间对象关键字集和搜索关键字集的相似性计算是布尔计算,无法区分当两个空间对象同时包含相同的搜索关键字,当这两个空间对象的关键字集不相等时,无法区分谁的相关性更高。
中国专利文献CN107220343A涉及一种基于局部敏感哈希的中文多关键词模糊排序密文搜索方法,将中文关键词转换成对应的拼音串后,基于声韵母和音调、unigram对拼音串分割;设计了三种中文关键词向量生成算法,将拼音串映射成关键词向量。并且,利用局部敏感哈希的特性和布隆过滤器来实现关键词的模糊匹配。本发明采用一篇文档对应一个布隆过滤器作为文档的加密索引,当加入新文档(或删除旧文档)时,无需更改原数据集的加密索引,只需构建新文档的加密索引(或删除旧文档的加密索引),就可实现文档的动态更新。该专利文献不支持空间范围的判断,同时它是将关键字通过散列函数映射到布隆过滤器中,并且将布隆过滤器中对应位置的值改为此关键字在文档中的相关度得分,尽管可以通过散列函数控制减少两个关键字完全散列到相同的位置的概率,但无法避免有部分位置相同,这样先前映射的关键字的相关性得分就会被后映射的关键字的得分覆盖,在进行关键字的检索时,其得到的结果会有很大概率出现误差。
综上,对于包含多个关键字的空间对象,进行精确的匹配是不符合实际的,如何有效的判断关键字集的相关性,并返回与搜索集高相关性的空间对象是空间关键词查询中一个亟需解决的问题之一。
发明内容
针对现有技术的不足,本发明公开一种面向空间关键字相似性的密文安全检索方法。本发明所述方法应用于:在一定的空间范围内返回与用户期望数据相关的空间数据对象,以在保证较强安全性的同时实现高效搜索。
本发明详细的技术方案如下:
一种面向空间关键字相似性的密文安全检索方法,其特征在于,包括:
S1.数据拥有者加密空间数据库,构建密文索引,并将其上传至云服务器;
S2.搜索用户利用数据拥有者提供的密钥生成搜索令牌;
S3.云服务器根据搜索令牌检索密文索引,并返回满足空间范围条件和关键字集相似性条件的密文空间对象。
根据本发明优选的,所述密文安全检索方法还包括:
S4.搜索用户接收由云服务器返回的密文空间对象并对其进行解密。
根据本发明优选的,所述S1中加密所采用的密钥包括:所述数据拥有者利用安全参数生成对称密钥/>;用于Secure-knn加密的密钥/>,/>是一个随机向量,是两个/>维的随机可逆矩阵,/>为关键字字典的大小;以及用于/>加密的密钥/>;然后为布隆过滤器生成/>个散列函数/>,其中{/>};
在所述S1中利用密钥进行加密方法,包括:
数据拥有者利用密钥对称加密空间数据库中的每一个空间对象/>;对于每个空间对象的坐标/>,先利用密钥/>进行/>加密/>,然后将加密的结果映射入布隆过滤器中/>;所述每个空间对象包含关键字集/>,对其进行编码的方法包括:
Sorensen Dice公式,(1)
在公式(1)中,表示两个关键字集的相关性大小,/>、/>表示两个关键字集,/>表示关键字集/>包含的关键字的个数,/>表示关键字集/>包含的关键字个数,通过此公式可以求得空间对象关键字集和用户选择的搜索关键字集的相关度;
在进行关键字集相似性条件判断时,用户定义相关度阙值,/>满足/>,以用两个正整数/>,/>的比值表示/>;
当时,则两个关键字集满足相关性条件,即进一步转化为:
通过公式(2)进行空间对象关键字集和查询关键字集的向量转换,空间对象关键字集的向量转换由下式表示:
在公式(3)中,为对空间对象关键字集/>的向量编码;m为关键字字典的大小;/>代表关键字是否存在;当关键字集中包含关键字/>时,则对应的,否则为0;/>表示单个空间对象关键字集所包含的关键字个数;
查询关键字集的向量转换由下式表示:
在公式(4)中,为关键字集/>的向量编码;/>表示查询关键字集包含的关键字个数;以上采用了向量模型技术和Sorensen Dice相似度结合的编码方式进行表示;
例如一个关键字字典,空间对象/>的关键字集为/>,则它的向量编码为/>,查询关键字集/>的编码为,这样两个向量的内积就转化为/>的大小,
接着采用Secure-knn加密算法进行向量的加密:
首先利用密钥中的随机向量/>将向量编码/>分割为/>和/>,具体分割方式为:
在公式(5)、(6)中,向量s的位数为m+2,m为关键字字典中包含的关键字个数,其中,/>指向量/>中的第/>位。
然后利用密钥中的随机可逆矩阵/>、/>加密/>和/>,具体加密方式为:
以得到一个空间对象的密文索引结点/>,/>表示空间对象/>的坐标(/>)映射到第/>个布隆过滤器中,最后将/>和/>上传至云服务器。
根据本发明优选的,在所述S2中,搜索用户获得数据拥有者的授权后得到密钥、/>、/>、关键字字典/>、Bloom Filter的大小和对应的散列函数;搜索用户给定查询,对于搜索区域/>,搜索用户只需输入/>的左下角点的坐标/>和右上角点的坐标/>即可,通过这两个点确定搜索区域/>包含的所有的位置点,对于其中的每一个点,先利用密钥/>对坐标进行/>加密/>,然后将其映射入Bloom Filter中/>;接着搜索用户定义一个相似度阙值/>,/>满足/>,当/>时,就相当于空间对象关键字集和查询关键字集要完全匹配,然后按照S1的公式(4)对查询关键字集/>进行向量转化,接着利用密钥/>中的向量/>将分割为/>和/>,具体分割方式为:
在公式(8)、(9)中,向量s的位数为m+2,m为关键字字典中包含的关键字个数,其中,/>指向量/>中的第/>位。
然后搜索用户利用密钥中的随机矩阵/>和/>的逆矩阵/>和/>加密和/>,具体加密方式为:
最后搜索用户提交给云服务器,/>表示存储了搜索区域中每一个空间点坐标的布隆过滤器,/>为搜索令牌。
根据本发明优选的,所述S3中,云服务器在接收到用户提交的搜索令牌后,首先用/>与/>进行内积运算:
如果内积结果等于,其中所述/>为布隆过滤器对应的散列函数的个数,则认为空间对象/>属于查询范围,然后进行关键字集相似度值/>的计算,具体计算方式为:
如果,则代表空间对象/>的关键字集满足关键字相似性条件,云服务器会将空间对象/>放入结果集/>中;
如果,则代表空间对象/>的关键字集不满足关键字相似性条件,则继续检索下一个空间对象;
最后根据返回对应的空间对象的密文/>。
根据本发明优选的,所述S4中,搜索用户接收从云服务器返回来的密文后,利用密钥/>进行解密得到最后的明文:/>。
本发明的技术优势包括:
本发明设定每个关键字具有相同的权重,这样在查询时,会更优先返回包含用户搜索的关键字更多的结果,同时用户会定义相关度阙值,实现更细粒度的查询。
本发明采用Sorensen Dice公式,进行关键字集的向量转化,很好的实现了当两个空间对象包含相同的搜索关键字,但这两个空间对象不相等时,谁的相似度更高的问题。
本发明将空间坐标映射到布隆过滤器中,将关键字集转化为向量,先通过布隆过滤器进行空间范围的判断,如果空间对象满足查询范围,则继续计算其关键字向量是否满足查询条件,减少了服务器的计算开销。
本发明将关键字转化为向量,向量中的每一位对应一个关键字,这样计算得到的相关性结果没有误差。
本发明采用Secure-knn算法加密关键字集向量,保证了用户在进行搜索时,不会泄露任何关于关键字的信息。
本发明在将空间对象的坐标点映射入布隆过滤器前,先采用hash加密算法对其进行加密,保证了空间对象坐标的隐私。
本发明在应用时,对于两个关键字集{},{/>},如用户想要检索关键字/>和/>,通过现有方法,即采用向量存储转化后的关键字集,然后对向量进行加密的处理方法进行计算,进而得到两个关键字集的相似度是一样的,然而实际应用中,会认为只包含/>的关键字集,更接近用户的期望,在数据库足够大时,应用场景更期望返回更接近用户期望的数据,于是本发明结合Sorensen Dice相似度计算公式进行关键字集的向量转化,同时采用Secure-knn加密算法加密向量,由此很好的实现两个关键字集相似度的计算,同时用户在搜索的时候可以自定义相似度阙值,实现更细粒度的搜索。
附图说明
图1本发明中所述检索方法的模型示意图;
图2本发明实施例中构建安全索引时间开销的示意图;
在图2中,横坐标表示空间对象集大小,单位:个;纵坐标为构建密文索引的时间;
图3本发明实施例中搜索响应时间示意图;
在图3中,横坐标表示空间对象集大小,单位:个;纵坐标为搜索响应的时间。
具体实施方式
实施例1、
如图1所示,一种面向空间关键字相似性的密文安全检索方法,包括:
S1.数据拥有者加密空间数据库,构建密文索引,并将其上传至云服务器;
S2.搜索用户利用数据拥有者提供的密钥生成搜索令牌;
S3.云服务器根据搜索令牌检索密文索引,并返回满足空间范围条件和关键字集相似性条件的密文空间对象。
根据本发明优选的,所述S1中加密所采用的密钥包括:所述数据拥有者利用安全参数生成对称密钥/>;用于Secure-knn加密的密钥/>,/>是一个随机向量,是两个/>维的随机可逆矩阵,/>为关键字字典的大小;以及用于/>加密的密钥/>;然后为布隆过滤器生成/>个散列函数/>,其中{/>};
在所述S1中利用密钥进行加密方法,包括:
数据拥有者利用密钥对称加密空间数据库中的每一个空间对象/>;对于每个空间对象的坐标/>,先利用密钥/>进行/>加密/>,然后将加密的结果映射入布隆过滤器中/>;所述每个空间对象包含关键字集/>,对其进行编码的方法包括:
Sorensen Dice公式,(1)
在公式(1)中,表示两个关键字集的相关性大小,/>、/>表示两个关键字集,/>表示关键字集/>包含的关键字的个数,/>表示关键字集/>包含的关键字个数,通过此公式可以求得空间对象关键字集和用户选择的搜索关键字集的相关度;
在进行关键字集相似性条件判断时,用户定义相关度阙值,/>满足/>,以用两个正整数/>,/>的比值表示/>;
当时,则两个关键字集满足相关性条件,即进一步转化为:
通过公式(2)进行空间对象关键字集和查询关键字集的向量转换,空间对象关键字集的向量转换由下式表示:
在公式(3)中,为对空间对象关键字集/>的向量编码;m为关键字字典的大小;/>代表关键字是否存在;当关键字集中包含关键字/>时,则对应的,否则为0;/>表示单个空间对象关键字集所包含的关键字个数;
查询关键字集的向量转换由下式表示:
在公式(4)中,为关键字集/>的向量编码;/>表示查询关键字集包含的关键字个数;以上采用了向量模型技术和Sorensen Dice相似度结合的编码方式进行表示;
例如一个关键字字典,空间对象/>的关键字集为/>,则它的向量编码为/>,查询关键字集/>的编码为,这样两个向量的内积就转化为/>的大小,
接着采用Secure-knn加密算法进行向量的加密:
首先利用密钥中的随机向量/>将向量编码/>分割为/>和/>,具体分割方式为:
在公式(5)、(6)中,向量s的位数为m+2,m为关键字字典中包含的关键字个数,其中,/>指向量/>中的第/>位。
然后利用密钥中的随机可逆矩阵/>、/>加密/>和/>,具体加密方式为:
以得到一个空间对象的密文索引结点/>,/>表示空间对象/>的坐标(/>)映射到第/>个布隆过滤器中,最后将/>和/>上传至云服务器。
在所述S2中,搜索用户获得数据拥有者的授权后得到密钥、/>、/>、关键字字典/>、Bloom Filter的大小和对应的散列函数;搜索用户给定查询/>,对于搜索区域/>,搜索用户只需输入/>的左下角点的坐标/>和右上角点的坐标/>即可,通过这两个点确定搜索区域/>包含的所有的位置点,对于其中的每一个点,先利用密钥/>对坐标进行/>加密/>,然后将其映射入Bloom Filter中/>;接着搜索用户定义一个相似度阙值/>,/>满足,当/>时,就相当于空间对象关键字集和查询关键字集要完全匹配,然后按照S1的公式(4)对查询关键字集/>进行向量转化,接着利用密钥/>中的向量/>将/>分割为和/>,具体分割方式为:
在公式(8)、(9)中,向量s的位数为m+2,m为关键字字典中包含的关键字个数,其中/>,/>指向量/>中的第/>位。
然后搜索用户利用密钥中的随机矩阵/>和/>的逆矩阵/>和/>加密和/>,具体加密方式为:
最后搜索用户提交给云服务器,/>表示存储了搜索区域中每一个空间点坐标的布隆过滤器,/>为搜索令牌。
根据本发明优选的,所述S3中,云服务器在接收到用户提交的搜索令牌后,首先用/>与/>进行内积运算:
如果内积结果等于,其中所述/>为布隆过滤器对应的散列函数的个数,则认为空间对象/>属于查询范围,然后进行关键字集相似度值/>的计算,具体计算方式为:
如果,则代表空间对象/>的关键字集满足关键字相似性条件,云服务器会将空间对象/>放入结果集/>中;
如果,则代表空间对象/>的关键字集不满足关键字相似性条件,则继续检索下一个空间对象;
最后根据返回对应的空间对象的密文/>。
实施例2、
如实施例1所述密文安全检索方法还包括:S4.搜索用户接收由云服务器返回的密文空间对象并对其进行解密。
所述S4中,搜索用户接收从云服务器返回来的密文后,利用密钥/>进行解密得到最后的明文:/>。
结合实施例1、实施例2和附图2对本发明的优势进行验证:
附图2是构建安全索引时间开销的示意图,横坐标表示空间对象集大小,单位:个;纵坐标为构建密文索引的时间;密文索引的构建包括:将空间对象的坐标先采用hash算法加密,并将加密的空间坐标映射入布隆过滤器中,将空间对象的关键字集转化为向量,对空间对象的关键字向量进行Secure-knn加密,实验中对布隆过滤器的构建是采用的bit位结构,可以减少存储成本,并且设置的布隆过滤器大小为5120位,实验表明本专利方案在空间对象为60000个时,密文索引的构建时间小于4s,具有较好的构建速度。
结合实施例1、实施例2和附图3对本发明的优势进行验证:
附图3是搜索响应时间示意图;横坐标表示空间对象集大小,单位:个;纵坐标为搜索响应的时间;实验中空间对象的坐标是在90*90的网格区域内随机生成,并在整个网格区域内随机选择6*6的空间区域作为搜索范围,搜索的关键字集包含2个关键字,实验表明本发明方案在空间对象数据集大小为60000时,进行检索的响应时间在1s以内,具有较好的检索速度。
结合实施例1、实施例2具体的应用场景说明:
以旅游景点服务为背景应用时,假设用户想要规划自己的旅游路线,但又不想泄露自己的旅游目的地,就需要密文的空间关键字检索,同时假设用户想要检索某一区域内包含寺庙的景点,如果这个区域内有古寺景点和公园(其中也包含部分寺庙区),一般认为古寺景点会比公园更符合用户的期望,但在大多数现有的密文的空间关键字相似性检索方案中,它们得到的结果是古寺景点和公园拥有相同的相似度,在我们的方案解决了这个问题,可以更优先的返回古寺景点。
以外卖服务为背景应用时,假设用户想要检索某一区域内的牛排,又不想泄露自己搜索的信息以及想要得到与自己搜索更相关的结果,一般认为牛排专卖店会比普通的饭店(包含牛排商品)具有更高相关度,也更满足用户的期望,我们的方案就在密文的情况实现安全的检索,同时让牛排专卖店作为相关度更高的结果返回。
Claims (3)
1.一种面向空间关键字相似性的密文安全检索方法,其特征在于,包括:
S1.数据拥有者加密空间数据库,构建密文索引,并将其上传至云服务器;
S2.搜索用户利用数据拥有者提供的密钥生成搜索令牌;
S3.云服务器根据搜索令牌检索密文索引,并返回满足空间范围条件和关键字集相似性条件的密文空间对象;
所述S1中加密所采用的密钥包括:所述数据拥有者利用安全参数生成对称密钥/>;用于Secure-knn加密的密钥/>,/>是一个随机向量,/>是两个/>维的随机可逆矩阵,/>为关键字字典的大小;以及用于/>加密的密钥/>;然后为布隆过滤器生成/>个散列函数/>,其中{/>};
在所述S1中利用密钥进行加密方法,包括:
数据拥有者利用密钥对称加密空间数据库中的每一个空间对象/>;对于每个空间对象的坐标/>,先利用密钥/>进行/>加密/>,然后将加密的结果映射入布隆过滤器中/>;所述每个空间对象包含关键字集/>,对其进行编码的方法包括:
Sorensen Dice公式,(1)
在公式(1)中,表示两个关键字集的相关性大小,/>、/>表示两个关键字集,/>表示关键字集/>包含的关键字的个数,/>表示关键字集/>包含的关键字个数,通过此公式可以求得空间对象关键字集和用户选择的搜索关键字集的相关度;
在进行关键字集相似性条件判断时,用户定义相关度阙值,/>满足/>,以用两个正整数/>,/>的比值表示/>;
当时,则两个关键字集满足相关性条件,即进一步转化为:
通过公式(2)进行空间对象关键字集和查询关键字集的向量转换,空间对象关键字集的向量转换由下式表示:
在公式(3)中,为对空间对象关键字集/>的向量编码;m为关键字字典的大小;代表关键字是否存在;当关键字集中包含关键字/>时,则对应的/>,否则为0;/>表示单个空间对象关键字集所包含的关键字个数;
查询关键字集的向量转换由下式表示:
在公式(4)中,为关键字集/>的向量编码;/>表示查询关键字集包含的关键字个数;
接着采用Secure-knn加密算法进行向量的加密:
首先利用密钥中的随机向量/>将向量编码/>分割为/>和/>,具体分割方式为:
在公式(5)、(6)中,向量s的位数为m+2,m为关键字字典中包含的关键字个数,其中/>,/>指向量/>中的第/>位;
然后利用密钥中的随机可逆矩阵/>、/>加密/>和/>,具体加密方式为:
以得到一个空间对象/>的密文索引结点/>,/>表示空间对象/>的坐标(/>)映射到第/>个布隆过滤器中,最后将/>和/>上传至云服务器;
在所述S2中,搜索用户获得数据拥有者的授权后得到密钥、/>、/>、关键字字典/>、Bloom Filter的大小和对应的散列函数;搜索用户给定查询/>,对于搜索区域,搜索用户只需输入/>的左下角点的坐标/>和右上角点的坐标/>即可,通过这两个点确定搜索区域/>包含的所有的位置点,对于其中的每一个点,先利用密钥/>对坐标进行/>加密/>,然后将其映射入BloomFilter中/>;接着搜索用户定义一个相似度阙值/>,/>满足/>,当时,就相当于空间对象关键字集和查询关键字集要完全匹配,然后按照S1的公式(4)对查询关键字集/>进行向量转化,接着利用密钥/>中的向量/>将/>分割为/>和/>,具体分割方式为:
在公式(8)、(9)中,向量s的位数为m+2,m为关键字字典中包含的关键字个数,其中/>,/>指向量/>中的第/>位;
然后搜索用户利用密钥中的随机矩阵/>和/>的逆矩阵/>和/>加密/>和,具体加密方式为:
最后搜索用户提交/>给云服务器,/>表示存储了搜索区域中每一个空间点坐标的布隆过滤器,/>为搜索令牌;
所述S3中,云服务器在接收到用户提交的搜索令牌后,首先用/>与/>进行内积运算:
如果内积结果等于,其中所述/>为布隆过滤器对应的散列函数的个数,则认为空间对象/>属于查询范围,然后进行关键字集相似度值/>的计算,具体计算方式为:
如果,则代表空间对象/>的关键字集满足关键字相似性条件,云服务器会将空间对象/>放入结果集/>中;
如果,则代表空间对象/>的关键字集不满足关键字相似性条件,则继续检索下一个空间对象;
最后根据返回对应的空间对象的密文/>。
2.根据权利要求1所述一种面向空间关键字相似性的密文安全检索方法,其特征在于,所述密文安全检索方法还包括:
S4.搜索用户接收由云服务器返回的密文空间对象并对其进行解密。
3.根据权利要求2所述一种面向空间关键字相似性的密文安全检索方法,其特征在于,所述S4中,搜索用户接收从云服务器返回来的密文后,利用密钥/>进行解密得到最后的明文:/>。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311146922.9A CN116881739B (zh) | 2023-09-07 | 2023-09-07 | 一种面向空间关键字相似性的密文安全检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311146922.9A CN116881739B (zh) | 2023-09-07 | 2023-09-07 | 一种面向空间关键字相似性的密文安全检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116881739A CN116881739A (zh) | 2023-10-13 |
CN116881739B true CN116881739B (zh) | 2023-12-01 |
Family
ID=88272117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311146922.9A Active CN116881739B (zh) | 2023-09-07 | 2023-09-07 | 一种面向空间关键字相似性的密文安全检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881739B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648715A (zh) * | 2023-12-19 | 2024-03-05 | 北京百度网讯科技有限公司 | 一种数据查询方法、装置、设备和存储介质 |
CN117932125B (zh) * | 2024-03-22 | 2024-06-14 | 山东省计算中心(国家超级计算济南中心) | 一种支持隐私保护的可验证空间关键字查询方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110081922A (ko) * | 2010-01-09 | 2011-07-15 | 한성종 | 공간데이터베이스를 활용한 인증방법 및 인증시스템 |
KR20130024144A (ko) * | 2011-08-30 | 2013-03-08 | 고려대학교 산학협력단 | 프라이버시를 보장하는 가중치 기반의 키워드 검색을 위한 방법 및 장치 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
US10204124B1 (en) * | 2017-12-20 | 2019-02-12 | Merck Sharp & Dohme Corp. | Database indexing and processing |
WO2019153813A1 (zh) * | 2018-02-07 | 2019-08-15 | 华南理工大学 | 一种针对密文域的形近汉字全文模糊检索方法 |
CN115795504A (zh) * | 2022-11-22 | 2023-03-14 | 中国人民解放军海军工程大学 | 一种支持中文词义模糊检索的可搜索方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177994A1 (en) * | 2003-01-12 | 2008-07-24 | Yaron Mayer | System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows |
US20120256917A1 (en) * | 2010-06-25 | 2012-10-11 | Lieberman Stevan H | Augmented Reality System |
CN114528370B (zh) * | 2022-01-12 | 2024-07-19 | 重庆邮电大学 | 动态多关键字模糊排序搜索方法及系统 |
-
2023
- 2023-09-07 CN CN202311146922.9A patent/CN116881739B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110081922A (ko) * | 2010-01-09 | 2011-07-15 | 한성종 | 공간데이터베이스를 활용한 인증방법 및 인증시스템 |
KR20130024144A (ko) * | 2011-08-30 | 2013-03-08 | 고려대학교 산학협력단 | 프라이버시를 보장하는 가중치 기반의 키워드 검색을 위한 방법 및 장치 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
US10204124B1 (en) * | 2017-12-20 | 2019-02-12 | Merck Sharp & Dohme Corp. | Database indexing and processing |
WO2019153813A1 (zh) * | 2018-02-07 | 2019-08-15 | 华南理工大学 | 一种针对密文域的形近汉字全文模糊检索方法 |
CN115795504A (zh) * | 2022-11-22 | 2023-03-14 | 中国人民解放军海军工程大学 | 一种支持中文词义模糊检索的可搜索方法及系统 |
Non-Patent Citations (2)
Title |
---|
一种基于相似搜索平衡二叉树的多关键词排序密文检索方案;陈兰香;陈振朝;;密码学报(第03期);全文 * |
支持多关键字分级的可搜索同态加密方案;李宏霞;庞晓琼;;计算机工程与应用(第22期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116881739A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116881739B (zh) | 一种面向空间关键字相似性的密文安全检索方法 | |
CN107220343B (zh) | 基于局部敏感哈希的中文多关键词模糊排序密文搜索方法 | |
CN108334612B (zh) | 一种针对密文域的形近汉字全文模糊检索方法 | |
Wang et al. | Searchable encryption over feature-rich data | |
CN112257455B (zh) | 一种语义理解的密文空间关键字检索方法及系统 | |
CN107273529B (zh) | 基于哈希函数的高效层级索引构建及检索方法 | |
CN108027816B (zh) | 数据管理系统、数据管理方法及记录介质 | |
CN108228849A (zh) | 云网络中基于类别分组索引的密文排序搜索方法 | |
Wang et al. | Towards efficient privacy-preserving encrypted image search in cloud computing | |
CN111797409A (zh) | 一种大数据中文文本无载体信息隐藏方法 | |
Rane et al. | Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data | |
CN114884650A (zh) | 一种基于安全倒排索引的可搜索加密方法 | |
CN107273467A (zh) | 一种支持可搜索加密的安全索引结构及其构造方法 | |
Gong et al. | A privacy-preserving image retrieval method based on improved bovw model in cloud environment | |
CN115310125A (zh) | 一种加密数据检索系统、方法、计算机设备及存储介质 | |
CN108650268B (zh) | 一种实现多级访问的可搜索加密方法及系统 | |
Fu et al. | Semantic and secure search over encrypted outsourcing cloud based on BERT | |
KR102526055B1 (ko) | 관계형 테이블 임베딩 장치 및 방법 | |
CN114528370B (zh) | 动态多关键字模糊排序搜索方法及系统 | |
CN116244453A (zh) | 一种基于神经网络的高效加密图像检索方法 | |
CN115795029A (zh) | 一种基于二分聚类树的可搜索加密方法 | |
Aritomo et al. | A privacy-preserving similarity search scheme over encrypted word embeddings | |
Huang et al. | Efficient privacy-preserving content-based image retrieval in the cloud | |
Manasrah et al. | A privacy-preserving multi-keyword search approach in cloud computing | |
Wang et al. | Block-based privacy-preserving healthcare data ranked retrieval in encrypted cloud file systems |
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 |