CN113836447B - 一种云平台下的安全轨迹相似性查询方法及系统 - Google Patents
一种云平台下的安全轨迹相似性查询方法及系统 Download PDFInfo
- Publication number
- CN113836447B CN113836447B CN202111154457.4A CN202111154457A CN113836447B CN 113836447 B CN113836447 B CN 113836447B CN 202111154457 A CN202111154457 A CN 202111154457A CN 113836447 B CN113836447 B CN 113836447B
- Authority
- CN
- China
- Prior art keywords
- track
- query
- security
- node
- similarity
- 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 41
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 239000013598 vector Substances 0.000 claims description 26
- 238000005070 sampling Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000012946 outsourcing Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种云平台下的安全轨迹相似性查询方法及系统,包括数据拥有者DO初始化、索引的构建、索引编码、查询编码、轨迹相似性查询等,本发明的基于二叉树的安全索引结构既可以满足高效地执行轨迹相似性查询,同时又能保证安全性;同时本发明的安全轨迹相似性编码方法,利用布隆过滤器(BloomFilter,BF)对索引进行编码;采用基于内积的轨迹相似性计算方法,能够实现在密文的环境下可以准确高效地计算轨迹相似性,同时保护数据隐私和查询隐私,还可以抵御多项式时间的半诚实Semi‑Honest攻击者;另外,本发明具计算开销较低。
Description
技术领域
本发明属于数据隐私保护和查询技术,具体涉及一种云平台下的安全轨迹相似性查询方法及系统。
背景技术
随着全球定位系统GPS在移动设备上的普及,以及无线通信技术的快速发展,使用这些设备和技术的同时产生了大量的轨迹数据。这些数据记录了在不同应用领域中的移动物体的运动模式,研究者通过分析这些轨迹数据,使得日常生活中的各种应用服务成为可能,例如:交通流量监控、路径规划和预测查询。另一方面,云计算技术的出现以及云平台的使用,提供了高效的管理,灵活性,可扩展性。数据所有者通过将收集的轨迹数据和数据管理外包给云服务提供商,从而减少了数据管理消耗以及提升了服务质量。
然而,由于云服务提供商是不可信的,数据外包服务可能造成敏感轨迹数据的泄露,包括数据库中的原始数据以及授权用户的查询内容(例如,家庭住址,公司位置)。因此,应确保提供数据外包的同时避免数据隐私的泄露。
近年来,研究者针对不同的查询提出了可查询的加密方法:范围查询、K最近邻查询和关键字查询等。但是,这些方法不能直接用于轨迹相似性查询。而对于隐私保护的轨迹相似性查询,传统的隐私保护方法:k匿名以及添加假位置等,虽然在一定程度上保护了查询轨迹的隐私,但是这些方法本质上还是会将查询内容泄露给服务提供商,并且这些方法不同保护原始数据库的数据隐私。例如,通过paillier同态加密的安全协议构造数据隐私和查询隐私的轨迹相似性查询方法,保证了隐私信息;但是,同态加密在查询过程涉及了大量的加密和解密操作,查询消耗比较大,目前还无法应用于实际中。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种云平台下的安全轨迹相似性查询方法,创新地提出安全的轨迹编码策略以及基于内积的轨迹相似性计算方法,能够在密文的环境下准确高效地计算轨迹相似性,同时保护数据隐私和授权用户查询隐私。
技术方案:本发明的一种云平台下的安全轨迹相似性查询方法,包括以下步骤:
(1)、初始化阶段:
(1.1)、密钥分配:认证授权方CA为数据拥有者DO和授权用户的分配AES的密钥K,用于对数据进行加密;认证授权方CA为DO和授权用户的分配I个密钥{K1,K2,...,KI},用于伪随机函数加密;
(1.2)、轨迹预处理,包括对空间中的相应轨迹数据集D={T1,T2,…,Tn}依次进行去噪、轨迹转换和轨迹加密,进而生成新数据集D*,为支持高效地查询数据拥有者DO利用伪随机函数和共享密钥构建二叉树安全索引E(I);(1.3)、授权用户查询预处理:
先使用网格转换将授权用户查询轨迹Q={q1,q2,…,qs}中的每条轨迹网格化实现轨迹转换;
然后再生成陷门,即在布隆过滤器Bloom Filter编码中利用伪随机函数生成加密查询E(Q),并将授权用户查询轨迹Q的Bloom Filter向量BF(Q)发送给服务提供商SP;
(2)、查询阶段:
(2.1)、服务提供商SP接收授权用户发来的查询轨迹Q的Bloom Filter向量后;
(2.2)、在安全索引上查找:服务提供商SP通过在二叉树安全索引E(I)上执行授权用户提交的查询请求,服务提供商SP以宽度优先遍历或深度优先遍历的方式在安全索引Tree上进行轨迹相似性查找;
(2.3)、返回查询记录;
(2.4)、解密查询结果,查询授权用户利用AES私钥解密查询结果。
进一步地,所述步骤(1.2)轨迹预处理的具体内容如下:
(1.2.1)、去除噪声:选择数据库中需外包给云服务器的轨迹数据集D={T1,T2,…,Tn},并去除该原始轨迹数据集D中的噪声点和错误点;
(1.2.2)、轨迹转换,即将原始轨迹数据集D中的轨迹转换为空间网格编码的轨迹:将D={T1,T2,…,Tn}中的每条轨迹T={p1,p2,…,ps}中的每个采样点pj用四元组<id,gij,x,y>的形式表示;
其中,id为轨迹标识,gij唯一标识采样点p所被映射到的划分网格Gij,x和y分别表示二维空间中的经度和纬度,1≤j≤s;
(1.2.3)、轨迹加密,数据拥有者DO将上述转换后的轨迹使用密钥K通过语义安全的加密算法AES加密生成D*;
上述步骤(1.2.2)中轨迹转换时,先将空间(例如地图)划分为m×m的网格Gm*m,对于轨迹ps中每个空间点p(即轨迹采样点)被映射至一个唯一的划分网格Gij,并且用一个唯一的值gij标识该网格;1≤i≤m,1≤j≤m。
进一步地,所述步骤(1.2)中构建二叉树安全索引结构E(I)的具体方法为:
1)、首先构建Tree的根节点,并将网格化后的轨迹数据集D*作为根节点root;
2)、然后,将根节点root随机并均匀得划分成两部分Dl和Dr,即Dl和Dr分别为root的左孩子节点和右孩子节点且||Dl|-|Dr||≤1;
3)、重复上述操作,直到每个叶子节点只包含一条轨迹。
进一步地,上述步骤1)至步骤3)中利用Bloom Filter对索引树进行编码的具体方法为:
1)、对于叶子节点N,依次将叶子节点N对应的轨迹T中的每个采样点p用l个哈希函数(例如SHA-256和SHA-512)和共享密钥K映射到Bloom Filter的向量BF(T)中,即对每个采样点p的网格化的值g计算其l个哈希值h1(g,K1),h2(g,K2),…,hl(g,Kl),将所得哈希值对应BF中的位置都设置为1;
2)、对于上层的非叶子节点,由于父亲节点N包含的轨迹是其左右孩子节点(例如:Nl和Nr)包含的轨迹的并集,故父亲节点的Bloom Filter为BF(N)=BF(Nl)||BF(Nr),即将左孩子节点的Bloom Filter BF(Nl)与右孩子节点的Bloom Filter BF(Nr)按位做逻辑或运算;
3)、重复步骤2)直到将索引Tree中的所有节点都用Bloom Filter编码。
进一步地,所述步骤(1.3.2)中对查询轨迹Q做Bloom Filter编码的具体方法为:
1)、对于查询轨迹Q={q1,q2,…,qs},首先计算每条查询轨迹对应的每个采样点q的相似区域SR(q)={g11,g12,…,g xy},1≤x,y≤m;
2)、然后,按照安全索引Tree的节点的编码方式将查询轨迹Q映射到Bloom Filter向量中BF(Q);
其中,查询轨迹的Bloom Filter的向量长度与安全索引Tree的节点的BloomFilter的向量长度相等,即|BF(Q)|=|BF(N)|。
上述步骤1)中为实现高效加密可查询的轨迹相似性判断,相似区域和相似轨迹需满足以下中满足相似区域、相似轨迹的具体条件为:
相似区域:给定一条转换后的轨迹T’,其任一采样点p’的相似区域SR为:
相似轨迹:若两条轨迹T1和T2是相似的,则T1的相似区域(∪SP(p′j),1≤j≤s)内包含的采样点数目最多的轨迹应为T2。
进一步地,所述步骤(2.2)中对于加密数据库D*,安全索引E(I)和加密查询E(Q),安全相似轨迹查询通过实现E(Q)在E(I)的查找,从而返回D*中的一条轨迹既能满足相似条件又满足安全模型。具体方法为:
步骤(2.2.1)、初始化一个优先级队列S,该优先级队列S通过计算队列元素(例如编码的Tree节点BF(N))与编码查询轨迹BF(Q)的内积IP(BF(N),BF(Q)),计算方法为:
其中,t为BF(N)和BF(Q)的向量长度;
该优先级队列将队列元素按照与编码查询轨迹的内积的大小进行最大堆排序,并且每次出队队首元素,即内积最大的节点;
步骤(2.2.2)、判断队首元素是否为非叶子节点,如果是,则将该节点的左孩子节点Nl和右孩子节点Nr加入优先队列S中;若不是,则将叶子节点对应的轨迹加入结果集中,并结束查找;
上述步骤中,由于优先队列S的队首元素为内积的最大值,因此若队首元素第一次出现叶子节点,即该叶子节点对应轨迹的相似性大于队列中的其它元素对应的轨迹,则将该轨迹加入结果集并返回。
本发明还公开一种实现云平台下的安全轨迹相似性查询方法的系统,包括数据拥有者DO、服务提供商SP和授权用户Client,
所述拥有者DO收集和存储授权用户通过移动设备产生移动的位置数据,即轨迹数据,为防止攻击者通过窃取和分析轨迹数据,从而获取授权用户的隐私信息;数据拥有者DO先利用标准加密算法对轨迹数据集D进行加密生成D*,然后,为实现高效查询,数据拥有者DO利用共享密钥构建安全索引E(I);最后数据拥有着DO将D*和E(I)外包给服务提供商SP;
服务提供商SP在安全索引E(I)上执行授权用户提交的查询请求,并将查询结果R返回给授权用户;
授权用户在上述过程中发起查询请求Q,通过共享密钥生成加密查询E(Q),并将E(Q)发给服务提供商。
有益效果:与现有技术相比,本发明具有以下优点:
(1)本发明创造性提出相似性编码,通过本发明的相似性编码不仅可以实现轨迹相似性查询,同时还可用于其他空间查询的条件判断。
(2)本发明采用基于内积的轨迹相似性计算方法,利用伪随机函数实现安全哈希,实现在密文的环境下可以准确高效地计算轨迹相似性,同时保护数据隐私和授权用户查询隐私。
(3)本发明创新地的提出基于Tree结构的安全索引结构,通过该安全索引结构能够极大地减少相似性判断的次数,进而提高亚线性的安全轨迹相似性查询效率。
附图说明
图1为本发明的系统示意图;
图2为本发明的整体流程示意图;
图3为实施例中构建二叉树安全索引结构示意图;
图4为实施例中编码查询和查询处理示意图;
图5为实施例对比示意图;
其中,图5(a)为某市出租车轨迹分布示意图;图5(b)为轨迹相似性计算对比图,图5(c)为数据集大小变化对查询时间的影响示意图,图5(d)为轨迹长度变化对查询时间的影响示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:
为方便起见,本实施例对相关符号解释如表1:
表1
如图1所示,本实施的实现云平台下的安全轨迹相似性查询方法的系统,包括以下三类参与方:
(1)数据所有者(Data Owner,DO)。每个系统参与授权用户均通过移动设备(例如手机)产生移动的位置数据,DO收集这些位置轨迹数据并存储。为防止攻击者通过窃取和分析轨迹数据,从而获取授权用户的隐私信息。首先,DO利用标准加密算法(例如AES)对轨迹数据D进行加密生成D*;然后,为了支持高效地查询,DO利用共享密钥构建安全索引E(I);最后,DO将D*和E(I)外包给服务提供商。
(2)服务提供商(Service Provider,SP)。SP通过在安全索引E(I)上执行授权用户提交的查询请求,并将查询结果R返回给授权用户。
(3)授权用户(Client)。Client发起查询请求Q,通过共享密钥生成加密查询E(Q),并将E(Q)发给服务提供商。
实施例2:
如图2所示,本实施例的云平台下的安全轨迹相似性查询方法,包括以下步骤:
步骤(1)、初始化阶段:密钥分配、轨迹预处理、授权用户查询预处理;
步骤(2)、查询阶段:接收查询信息、在安全索引上查找、返回查询记录、解密查询结果。
步骤(1)的初始化阶段具体如下:
1.1、密钥分配阶段
认证授权方CA为数据拥有者DO和授权授权用户生成加密所需的密钥:
(A)认证授权CA为DO和授权授权用户的分配AES的密钥K,用于对数据进行加密。
(B)CA为DO和授权授权用户的分配I个密钥{K1,K2,...,KI},用于伪随机函数加密。
1.2、轨迹预处理阶段
DO对数据库中需要外包给云服务器的的轨迹数据集进行去除噪声、轨迹转换、轨迹加密等操作,具体过程如下所示:
1.2.1、去除噪声:选择数据库中需要外包给云服务器的的轨迹数据集D={T1,T2,…,Tn},去除该轨迹数据集D中的噪声点和错误点。
1.2.2、轨迹转换,即将原始数据集中的轨迹转换为网格编码的轨迹。需要将数据库D={T1,T2,…,Tn}中的每条轨迹T={p1,p2,…,ps}中的每个采样点pj(1≤j≤s)用四元组<id,gij,x,y>的形式表示。
1.2.3、轨迹加密,数据拥有者DO将转换后的轨迹使用密钥K通过语义安全的加密算法AES加密生成D*,为支持高效地查询,DO利用伪随机函数和共享密钥构建安全索引。
1.3、授权用户查询预处理阶段
授权授权用户对查询Q做轨迹转换,并生成查询陷门发送给SP,具体过程如下所示:
1.3.1、轨迹转换,利用网格转换将授权用户查询轨迹Q={q1,q2,…,qs}的每条轨迹网格化。
1.3.2、生成陷门,在Bloom Filter编码中利用伪随机函数生成加密查询,并将查询轨迹Q的Bloom Filter向量发送给服务提供商SP。
步骤(2)的查询阶段具体如下:
服务提供商SP接收授权用户发来的查询轨迹Q的Bloom Filter向量E(Q)后,通过在安全索引E(I)上执行授权用户提交的查询请求,以宽度优先遍历的方式在安全索引Tree上进行轨迹相似性查找;然后服务提供商SP从加密数据D*中返回查询结果,查询授权用户利用AES私钥解密查询结果。
如图3所示,数据拥有者DO利用共享密钥构建二叉树安全索引E(I),包括以下步骤:
(I)构建基于二叉树结构查询的索引
在构建Tree之前,需要将数据库D={T1,T2,…,Tn}中的每条轨迹网格化,即将轨迹中的每个采样点用四元组<id,gij,x,y>的形式表示。
然后构建Tree的根节点,并将网格化后的数据库D’作为根节点root。
接着将根节点root随机并均匀得划分成两部分Dl和Dr,即Dl和Dr分别为root的左孩子节点和右孩子节点且||Dl|-|Dr||≤1。重复上述操作,直到每个叶子节点只包含一条轨迹。
(II)在构建索引Tree后,利用Bloom Filter对索引Tree进行编码
1)、对于叶子节点N,本实施例依次将叶子节点N对应的轨迹T中的每个采样点p用l个哈希函数和共享密钥k映射到Bloom Filter的向量BF(T)中,即将每个采样点p的网格化的值g,计算其l个哈希值h1(g,k),h2(g,k),…,hl(g,k)并计算的哈希值对应BF中的位置都设置为1。
2)、对于上层的非叶子节点,由于父亲节点N包含的轨迹是其左右孩子节点(例如Nl和Nr)包含的轨迹的并集,故父亲节点的Bloom Filter为BF(N)=BF(Nl)||BF(Nr),即将左孩子节点的Bloom Filter BF(Nl)与右孩子节点的Bloom Filter BF(Nr)按位做逻辑或运算。
3)、重复步骤2)中的操作,直到将索引Tree中的所有节点都用Bloom Filter编码。
如图4所示,基于安全索引Tree,本实施例提出一种高效的基于内积的轨迹相似性查询算法,授权授权用户的查询Q编码和查询处理包括以下步骤:
(1)编码查询Q,授权用户对要查询的轨迹Q={q1,q2,…,qs}做Bloom Filter编码;
(2)查询处理,SP通过在安全索引E(I)上执行授权用户提交的查询请求,SP以宽度优先遍历的方式在安全索引Tree上进行轨迹相似性查找。
编码查询阶段
利用网格转换将授权用户查询轨迹Q={q1,q2,…,qs}的每条轨迹网格化,具体步骤如下:
对于查询轨迹Q={q1,q2,…,qs},首先计算每条查询轨迹中每个采样点q的相似区域SR(q)={g11,g12,…,gxy}。
生成陷门,按照安全索引Tree的节点的编码方式将查询轨迹Q映射到BloomFilter向量中BF(Q),其中|BF(Q)|=|BF(N)|。查询轨迹Q的Bloom Filter向量发送给服务提供商SP。
查询处理阶段
使用基于内积的轨迹相似性计算方法,具体步骤如下:
初始化一个优先级队列S,该优先级队列S通过计算队列元素(例如:编码的Tree节点BF(N)与编码查询轨迹BF(Q)的内积IP(BF(N),BF(Q)),计算方法:其中,t为BF(N)和BF(Q)的向量长度。该优先级队列将队列元素按照与编码查询轨迹的内积的大小进行最大堆排序,并且每次出队队首元素,即内积最大的节点。
判断队首元素是否为非叶子节点,如果是,则将该节点的左孩子节点Nl和右孩子节点Nr加入优先队列S中;若不是,则将叶子节点对应的轨迹加入结果集中,并结束查找。注意到,因为优先队列S的队首元素为内积的最大值,若队首元素第一次出现叶子节点,即该叶子节点对应轨迹的相似性大于队列中的其它元素对应的轨迹,故将该轨迹加入结果集并返回。
上述过程具体实现如下所示:
实施例3
对于确定的加密查询E(Q),如果存在一个模拟器S可生成一个模拟安全索引E(IS),不可忽略的概率条件下,使得攻击者不能区别真实安全索引E(I)和模拟安全索引E(IS);则认为满足上述条件的策略在semi-honest模型下是安全的。
此处对本发明技术方案的安全性做相应验证如下:
1)模拟器S选择一个随机值其中1≤i≤n和/>以至于/>和/>并输出/>
2)模拟器S构建模拟加密查询E(Q′s):模拟器S产生模拟轨迹T’的Bloom Filter编码BF(T’)={0,1}|BF(Q)|;同时确保BF(T’)中位置为1的数目与BF(Q)相同但位置不同;最后输出
3)为构建模拟的安全索引E(IS),模拟器S首先产生模拟索引Tree结构IS,每个节点的Bloom Filter向量长度与I中相同,然后,对于每个模拟查询如若索引I中的非叶子节点或叶子节点满足查询条件,则模拟器S将该模拟查询的Bloom Filter向量与节点的向量按位相加,在将模拟节点向量中和大于1的位置设置成1,最后,输出E(IS)。
最后,上述模拟器S产生的安全索引E(IS)和加密查询E(Q′s)与服务提供商所拥有的路径一致。因此证明不存在概率多项式时间的攻击者可以区分模拟器S和原始安全索引E(I),也就是本发明的安全轨迹相似性查询方法是安全的。
实施例4:
如图5所示,本实施例将本发明技术方案与现有DTW方案做相应比对。
本实施例设置轨迹数据集的大小变化从2,000至10,000条轨迹,默认值为2,000,轨迹长度变化从20至50轨迹长度默认为20(与查询轨迹长度相同)。
对于Bloom Filter,设置ω/λ=5;其中ω表示Bloom Filter总的映射元素的个数和λ表示Bloom Filter向量的长度。此处选取l=5个哈希函数,并设置HMAC-SHA2为安全哈希函数。此外,设置密钥长度为1024和数据位长为20。
本实施例使用Java作为编程语言,在Intel Core i7-4790的PC上运行,该PC的内存为40GB,CPU为3.60GHz,操作系统为Win7。
实验分析如下:
使用真实数据集-北京数据集,该数据集是北京市出租车三天的行驶轨迹数据,分布如图5(a)所示包含6,176,841个采样点以及30,284条轨迹数据。
如图5(b)所示,本发明轨迹相似性计算方法与现有DTW方法的对比,可以看出随着轨迹长度的变长,计算时间呈线性增长。此外,本发明技术方案明显优于DTW,DTW在计算轨迹相似性时,需要不断的加密和解密中间计算结果,这样会造成大量的时间消耗。
如图5(c)所示,本发明技术方案随数据集大小的变化对查询时间的影响,可以看出随着数据集变大,查询时间呈对数形式增长;因为在索引Tree上搜索时,本发明技术方案中优先级队列可以提前过滤掉不符合查询条件的分支,可以明显缩短查询时间。
如图5(d)所示,本发明技术方案随轨迹长度的变化对查询时间的影响;可以看出随着轨迹长度变大,查询时间呈线性形式增长;因为轨迹长度的增加,会增加轨迹中采样点的数目,即映射到Bloom Filter向量中的元素的个数增加。
由上述实施例可以看出,本发明的基于二叉树的安全索引结构既可以满足高效地执行轨迹相似性查询,同时又能保证安全性;同时本发明的安全轨迹相似性编码方法,利用布隆过滤器(Bloom Filter,BF)对索引进行编码;采用基于内积的轨迹相似性计算方法,能够实现在密文的环境下可以准确高效地计算轨迹相似性,同时保护数据隐私和授权用户查询隐私,还可以抵御多项式时间的半诚实Semi-Honest攻击者;另外,本发明具计算开销较低。
Claims (8)
1.一种云平台下的安全轨迹相似性查询方法,其特征在于:包括以下步骤:(1)、初始化阶段:
(1.1)、密钥分配:认证授权方CA为数据拥有者DO和授权用户分配AES的密钥K;认证授权方CA为DO和授权用户的分配I个共享密钥{K1,K2,...,KI};
(1.2)、轨迹预处理,包括对空间中的轨迹数据集D={T1,T2,…,Tn}依次进行去噪、轨迹转换和轨迹加密,进而生成新数据集D*,以及数据拥有者DO利用伪随机函数和共享密钥构建二叉树安全索引E(I);
(1.3)、授权用户查询预处理:
先使用网格转换将授权用户查询轨迹Q={q1,q2,…,qs}中的每条轨迹网格化实现轨迹转换;
然后再生成陷门,即在布隆过滤器Bloom Filter编码中利用伪随机函数生成加密查询E(Q),并将授权用户查询轨迹Q的Bloom Filter向量BF(Q)发送给服务提供商SP;
(2)、查询阶段:
(2.1)、服务提供商SP接收授权用户发来的查询轨迹Q的Bloom Filter向量后;
(2.2)、在安全索引上查找:服务提供商SP通过在二叉树安全索引E(I)上执行授权用户提交的查询请求,服务提供商SP以宽度优先遍历或深度优先遍历的方式在安全索引Tree上进行轨迹相似性查找;
(2.3)、返回查询记录;
(2.4)、解密查询结果,查询授权用户利用AES私钥解密查询结果。
2.根据权利要求1所述的云平台下的安全轨迹相似性查询方法,其特征在于:所述步骤(1.2)轨迹预处理的具体内容如下:
(1.2.1)、去除噪声:选择数据库中需外包给云服务器的轨迹数据集D={T1,T2,…,Tn},并去除该原始轨迹数据集D中的噪声点和错误点;
(1.2.2)、轨迹转换,即将原始轨迹数据集D中的轨迹转换为空间网格编码的轨迹:将D={T1,T2,…,Tn}中的每条轨迹T={p1,p2,…,ps}中的每个采样点pj用四元组<id,gij,x,y>的形式表示;
其中,id为轨迹标识,gij唯一标识采样点p所被映射到的划分网格Gij,x和y分别表示二维空间中的经度和纬度,1≤j≤s;
(1.2.3)、轨迹加密,数据拥有者DO将上述转换后的轨迹使用密钥K通过语义安全的加密算法AES加密生成D*;
上述步骤(1.2.2)中轨迹转换时,先将空间划分为m×m的网格Gm*m,对于轨迹ps中每个空间点p被映射至一个唯一的划分网格Gij,并且用一个唯一的值gij标识该网格;1≤i≤m,1≤j≤m。
3.根据权利要求1所述的云平台下的安全轨迹相似性查询方法,其特征在于:所述步骤(1.2)中构建二叉树安全索引结构E(I)的具体方法为:
1)、首先构建Tree的根节点,并将网格化后的轨迹数据集D*作为根节点root;
2)、然后,将根节点root随机并均匀得划分成两部分Dl和Dr,即Dl和Dr分别为root的左孩子节点和右孩子节点且||Dl|-|Dr||≤1;
3)、重复上述操作,直到每个叶子节点只包含一条轨迹。
4.根据权利要求3所述的云平台下的安全轨迹相似性查询方法,其特征在于:利用Bloom Filter对索引树进行编码的具体方法为:
1)、对于叶子节点N,依次将叶子节点N对应的轨迹T中的每个采样点p用l个哈希函数和共享密钥K映射到Bloom Filter的向量BF(T)中,即对每个采样点p的网格化的值g计算其l个哈希值h1(g,K1),h2(g,K2),…,hl(g,Kl),将所得哈希值对应BF中的位置都设置为1;
2)、对于上层的非叶子节点,由于父亲节点N包含的轨迹是其左右孩子节点包含的轨迹的并集,故父亲节点的Bloom Filter为BF(N)=BF(Nl)||BF(Nr),即将左孩子节点的BloomFilter BF(Nl)与右孩子节点的Bloom Filter BF(Nr)按位做逻辑或运算;
3)、重复步骤2)直到将索引Tree中的所有节点都用Bloom Filter编码。
5.根据权利要求1所述的云平台下的安全轨迹相似性查询方法,其特征在于:所述步骤(1.3)中对查询轨迹Q做Bloom Filter编码的具体方法为:
1)、对于查询轨迹Q={q1,q2,…,qs},首先计算每条查询轨迹对应的每个采样点q的相似区域SR(q)={g11,g12,…,gxy},其中,1≤x,y≤m;
2)、然后,按照安全索引Tree的节点的编码方式将查询轨迹Q映射到Bloom Filter向量中BF(Q);
其中,查询轨迹的Bloom Filter的向量长度与安全索引Tree的节点的Bloom Filter的向量长度相等,即|BF(Q)|=|BF(N)|。
6.根据权利要求5所述的云平台下的安全轨迹相似性查询方法,其特征在于:所述步骤1)中为实现高效加密可查询的轨迹相似性判断,相似区域和相似轨迹需满足以下条件:
相似区域:给定一条转换后的轨迹T’,其任一采样点p’的相似区域SRSR为:
相似轨迹:若两条轨迹T1和T2是相似的,则T1的相似区域(∪SP(p′j),1≤j≤s)内包含的采样点数目最多的轨迹应为T2。
7.根据权利要求1所述的云平台下的安全轨迹相似性查询方法,其特征在于:所述步骤(2.2)中对于加密数据库D*,安全索引E(I)和加密查询E(Q),安全相似轨迹查询通过实现E(Q)在E(I)的查找,从而返回D*中的一条轨迹既能满足相似条件又满足安全性,具体方法为:
步骤(2.2.1)、初始化一个优先级队列S,该优先级队列S通过计算队列元素与编码查询轨迹BF(Q)的内积IP(BF(N),BF(Q)),计算方法为:
其中,t为BF(N)和BF(Q)的向量长度;
该优先级队列将队列元素按照与编码查询轨迹的内积的大小进行最大堆排序,并且每次出队队首元素,即内积最大的节点;
步骤(2.2.2)、判断队首元素是否为非叶子节点,如果是,则将该节点的左孩子节点Nl和右孩子节点Nr加入优先队列S中;若不是,则将叶子节点对应的轨迹加入结果集中,并结束查找;
上述步骤中,由于优先队列S的队首元素为内积的最大值,因此若队首元素第一次出现叶子节点,即该叶子节点对应轨迹的相似性大于队列中的其它元素对应的轨迹,则将该轨迹加入结果集并返回。
8.一种实现权利要求1至7任意一项所述云平台下的安全轨迹相似性查询方法的系统,其特征在于:包括数据拥有者DO、服务提供商SP和授权用户Client,
所述拥有者DO收集和存储授权用户通过移动设备产生移动的位置数据,即轨迹数据,为保护轨迹数据隐私,数据拥有者DO先利用标准加密算法对轨迹数据集D进行加密生成D*,然后,为实现高效查询,数据拥有者DO利用共享密钥构建安全索引E(I);最后数据拥有着DO将D*和E(I)外包给服务提供商SP;
服务提供商SP在安全索引E(I)上执行授权用户提交的查询请求,并将查询结果R返回给授权用户;
授权用户在上述过程中发起查询请求Q,通过共享密钥生成加密查询E(Q),并将E(Q)发给服务提供商。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154457.4A CN113836447B (zh) | 2021-09-29 | 2021-09-29 | 一种云平台下的安全轨迹相似性查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154457.4A CN113836447B (zh) | 2021-09-29 | 2021-09-29 | 一种云平台下的安全轨迹相似性查询方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836447A CN113836447A (zh) | 2021-12-24 |
CN113836447B true CN113836447B (zh) | 2024-04-09 |
Family
ID=78967628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154457.4A Active CN113836447B (zh) | 2021-09-29 | 2021-09-29 | 一种云平台下的安全轨迹相似性查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836447B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328791B (zh) * | 2021-12-30 | 2023-01-06 | 重庆大学 | 一种基于深度学习的地图匹配算法 |
CN116415079B (zh) * | 2023-03-22 | 2024-04-02 | 电子科技大学 | 一种隐私保护的top-K轨迹相似性查询方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018113563A1 (zh) * | 2016-12-21 | 2018-06-28 | 哈尔滨工业大学深圳研究生院 | 一种具有访问控制功能的数据库查询方法和系统 |
CN109413067A (zh) * | 2018-10-29 | 2019-03-01 | 福建师范大学 | 一种查询轨迹隐私保护方法 |
CN109450935A (zh) * | 2018-12-19 | 2019-03-08 | 河南科技大学 | 云存储中可验证的语义安全的多关键词搜索方法 |
CN113051359A (zh) * | 2021-03-30 | 2021-06-29 | 大连理工大学 | 一种基于多级索引结构的大规模轨迹数据相似性查询方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11994863B2 (en) * | 2019-12-03 | 2024-05-28 | International Business Machines Corporation | Trajectory similarity search |
-
2021
- 2021-09-29 CN CN202111154457.4A patent/CN113836447B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018113563A1 (zh) * | 2016-12-21 | 2018-06-28 | 哈尔滨工业大学深圳研究生院 | 一种具有访问控制功能的数据库查询方法和系统 |
CN109413067A (zh) * | 2018-10-29 | 2019-03-01 | 福建师范大学 | 一种查询轨迹隐私保护方法 |
CN109450935A (zh) * | 2018-12-19 | 2019-03-08 | 河南科技大学 | 云存储中可验证的语义安全的多关键词搜索方法 |
CN113051359A (zh) * | 2021-03-30 | 2021-06-29 | 大连理工大学 | 一种基于多级索引结构的大规模轨迹数据相似性查询方法 |
Non-Patent Citations (2)
Title |
---|
基于局部敏感哈希的安全相似性查询方案;吴瑾;彭延国;崔江涛;;密码学报;20180415(02);全文 * |
基于相似轨迹替代查询的位置隐私保护方案研究;宋成;张亚东;彭维平;王磊;刘志中;;北京邮电大学学报;20200215(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113836447A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Luo et al. | pRide: Privacy-preserving ride matching over road networks for online ride-hailing service | |
Shen et al. | Secure SVM training over vertically-partitioned datasets using consortium blockchain for vehicular social networks | |
Yiu et al. | Enabling search services on outsourced private spatial data | |
Wang et al. | Search me in the dark: Privacy-preserving boolean range query over encrypted spatial data | |
CN106776904B (zh) | 一种不可信云计算环境中支持动态验证的模糊查询加密方法 | |
CN113836447B (zh) | 一种云平台下的安全轨迹相似性查询方法及系统 | |
CN108062485A (zh) | 一种面向多服务器多用户的模糊关键字搜索方法 | |
CN106934301B (zh) | 一种支持密文数据操作的关系型数据库安全外包数据处理方法 | |
KR20150052131A (ko) | 블룸 필터를 숨기는 콘텐츠에 의한 안전한 개인 데이터베이스 쿼링 | |
CN110413652B (zh) | 一种基于边缘计算的大数据隐私化检索方法 | |
CN111026788A (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
CN116415079B (zh) | 一种隐私保护的top-K轨迹相似性查询方法 | |
Liu et al. | Accurate range query with privacy preservation for outsourced location-based service in IOT | |
Guo et al. | Enabling privacy-preserving geographic range query in fog-enhanced IoT services | |
CN114036240A (zh) | 一种基于区块链的多服务商隐私数据共享系统和方法 | |
CN108197491B (zh) | 一种基于密文的子图检索方法 | |
Rao et al. | R-PEKS: RBAC enabled PEKS for secure access of cloud data | |
Wang et al. | QuickN: Practical and secure nearest neighbor search on encrypted large-scale data | |
Talha et al. | Enhancing confidentiality and privacy of outsourced spatial data | |
Cai et al. | Vizard: A metadata-hiding data analytic system with end-to-end policy controls | |
CN114884660B (zh) | 一种基于通配符身份的可搜索加密方法 | |
Nakagawa et al. | Efficient privacy-preserving variable-length substring match for genome sequence | |
CN113904823B (zh) | 常数级授权计算复杂度的属性基可搜索加密方法及系统 | |
CN115766136A (zh) | 一种面向能源区块链监管数据的多关键字可搜索加密方法 | |
Hu et al. | Assuring spatio-temporal integrity on mobile devices with minimum location disclosure |
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 |