CN111539023B - 一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法 - Google Patents

一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法 Download PDF

Info

Publication number
CN111539023B
CN111539023B CN202010344077.6A CN202010344077A CN111539023B CN 111539023 B CN111539023 B CN 111539023B CN 202010344077 A CN202010344077 A CN 202010344077A CN 111539023 B CN111539023 B CN 111539023B
Authority
CN
China
Prior art keywords
bloom filter
exchange
bits
data
bit
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
Application number
CN202010344077.6A
Other languages
English (en)
Other versions
CN111539023A (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202010344077.6A priority Critical patent/CN111539023B/zh
Publication of CN111539023A publication Critical patent/CN111539023A/zh
Application granted granted Critical
Publication of CN111539023B publication Critical patent/CN111539023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法,所述方法包括以下步骤:数据拥有的双方将移动轨迹数据映射到Bloom过滤器,基于Bloom过滤器的1值位数的最大间距的粗略匹配计算,基于Bloom过滤器的交换位中位值为1的共同位的最小值的精确匹配计算。不需要第三方参与,仅需双方协定具体实现参数,对交换数据和已有数据进行处理,即可得到匹配结果;基于相似度计算的匹配过程,在具有不可逆转性的Bloom过滤器上进行实现,可以保证原始数据的机密性。进一步提高原始数据的机密性。实现不匹配数据的快速排除,大大减少数据计算量和交换量,从而提高匹配运算的效率。

Description

一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法
技术领域
本发明涉及空间数据隐私保护技术研究领域,尤其涉及一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法。
背景技术
随着移动通讯技术的快速发展,提供定位服务的智能手机得到了广泛的普及,产生了大量具有时空特性的移动轨迹数据。分析移动轨迹数据从中发现潜在、有价值的移动性规律,对于分析、预测人类或动物的相关行为习惯,进行疾病传播控制等应用具有重要的参考价值。目前众多的针对移动轨迹数据分析应用存在一个十分严重的共性问题:数据的有偏性。也即是,分析应用中通常使用单一来源的移动轨迹数据,很难实现区域内用户的完整活动描述。例如,产生于社交媒体的移动轨迹数据,通常被不同的互联网公司收集、存储,基于这类移动轨迹数据的分析通常无法覆盖该区域内的所有用户(例如,成年用户大多使用微博,而青少年更倾向于使用微信)。因此,为保证针对移动轨迹数据分析应用的无偏性,需要对多种来源的移动轨迹数据进行集成分析。
移动轨迹数据集成分析实现的主要手段是:以匹配的移动轨迹数据为对象,以隐含知识和空间关系发现为目标的各类移动轨迹数据挖掘技术(例如:轨迹模式挖掘,轨迹不确定性,异常值检测和分类等)。因此,移动轨迹数据的匹配分析是移动轨迹数据集成分析的基础。传统的移动轨迹匹配方法主要包括直接筛选法和基于移动轨迹相似度的加权匹配法。这些方法虽然具有匹配精度高的优点,但是在匹配过程中会产生隐私泄露的问题:包含个人敏感信息的移动轨迹数据,需要以明文的形式提供给第三方,也即匹配运算会产生用户位置隐私安全问题。
发明内容
本发明的目的是提供一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法,利用多次迭代过滤,无需第三方参与,只需数据拥有者双方直接进行多次迭代过滤的移动轨迹数据隐私保护匹配,解决了用户位置隐私安全不佳问题。
本发明提供一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法,所述方法包括以下步骤:
步骤1:数据拥有的双方将移动轨迹数据映射到Bloom过滤器,包括移动轨迹数据在统一时空格下进行表达,移动轨迹字符串转的q-gram分组和Bloom过滤器的映射存储;
步骤2:基于Bloom过滤器的1值位数的最大间距的粗略匹配计算,包括匹配Bloom过滤器1值位数的最大间距的计算,以及基于最大间距的Bloom过滤器间的粗略匹配计算;
步骤3:基于Bloom过滤器的交换位中位值为1的共同位的最小值的精确匹配计算,包括计算匹配Bloom过滤器的交换位中位值为1的共同位的最小值的,基于共同位的最小值的迭代精确匹配计算,以及依据精确匹配计算结果的原始移动轨迹数据的交换。进一步改进在于:所述步骤1中的数据拥有的双方将移动轨迹数据映射到Bloom过滤器的具体操作步骤如下:
步骤1.1:将移动轨迹数据在统一的时空格空间下进行表达;
步骤1.2:协定q值参数,采用q-gram的方法将移动轨迹字符串,转换成对应的q-gram序列;
步骤1.3:协定使用Bloom过滤器的位数组长度、Hash函数方法;
步骤1.4:依据协定的映射方法,将q-gram序列的每个元素映射到Bloom过滤器的位数组中,得到对应的Bloom过滤器。
进一步改进在于:所述步骤2中的基于Bloom过滤器的1值位数的最大间距的粗略匹配计算方法具体步骤如下:
步骤2.1:协定相似度阈值,双方交换Bloom过滤器中位值为1的位数,并计算匹配Bloom过滤器的1值位数的最大间距;
步骤2.2:Bloom过滤器的1值位数的最大间距进行粗略匹配计算。进一步改进在于:所述步骤3中的基于Bloom过滤器的交换位中位值为1的共同位的最小值的精确匹配计算的具体步骤如下:
步骤3.1:基于相似度阈值、双方交换Bloom过滤器中位值为1的位数,计算匹配Bloom过滤器的交换位中位值为1的共同位的最小值;
步骤3.2:双方首次交换Bloom过滤器的位值,并基于交换位中位值为1的共同位的最小值进行精确匹配计算;
步骤3.3:协定累计交换最大位数阈值,迭代选取前次计算的ε最小值进行位数交换、精确匹配计算,直至得到所有精确匹配结果或者达到最大交换位数的阈值;
步骤3.4:双方依据精确匹配计算结果彼此交换原始的移动轨迹数据。
本发明的有益效果:具有高隐私保护、高效率计算的优势,匹配运算不需要第三方参与,仅需双方协定具体实现参数,对交换数据和已有数据进行处理,即可得到匹配结果;基于相似度计算的匹配过程,在具有不可逆转性的Bloom过滤器上进行实现,可以保证原始数据的机密性。同时,Bloom过滤器的位值交换采用渐进发布的方式,可以有效避免双方Bloom过滤器位值的全值公开,进一步提高原始数据的机密性。在基于Bloom过滤器相似度计算的过程中,通过初次过滤、二次过滤和多次迭代过滤的方法,可实现不匹配数据的快速排除,大大减少数据计算量和交换量,从而提高匹配运算的效率。
附图说明
图1是本发明的数据拥有者A、B的6条轨迹所在的时空格空间示意图。
图2是本发明的移动轨迹T1与图1中时空格空间的表达示意图。
图3是本发明的qT1映射到Bloom过滤器的位数组示意图。
图4是本发明的基于双方Bloom过滤器的1值位数的最大间距的粗略匹配计算示意图。
图5是本发明的基于双方第1次交换Bloom过滤器位值的精确匹配计算示意图。
图6是本发明的基于双方第2次交换Bloom过滤器位值的精确匹配计算示意图。
图7是本发明的基于双方第3次交换Bloom过滤器位值的精确匹配计算示意图。
图8是本发明的基于双方第4次交换Bloom过滤器位值的精确匹配计算示意图。
图9是本发明的基于双方第5次交换Bloom过滤器位值的精确匹配计算示意图。
图10是本发明的基于双方第6次交换Bloom过滤器位值的精确匹配计算示意图。
图11是本发明的基于双方第7次交换Bloom过滤器位值的精确匹配计算示意图。
图12是本发明的精确匹配结果移动轨迹T1与移动轨迹Tc的图示表达示意图。
具体实施方式
为了加深对本发明的理解,下面将结合实施例对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
首先,给出几个基本定义:
定义1移动轨迹:给定一等间隔的划分时空格空间
Figure BDA0002469501870000051
TID={[(col1,row1),k1],[(col2,row2),k2],...,[(coln,rown),kn]}是STC中的一条移动轨迹。其中,DR2是等间隔的划分的空间域,DT是等间隔的划分的时间域。[(col,row),k]称为一个时空格,col,row表示时空格在几何空间平面划分中所处的列号、行号,col_count、row_count分别是设定的空间等间隔划分的列数、行数。k表示时空格所在的时间段编号,period_count是设定的时间等间隔划分的数量。ID是移动轨迹的编号,k1<k2<…<kn,对于TID中的任一轨迹点[(coli,rowi),ki],1≤i≤n,都满足如下条件:(coli,rowi)∈DR2·(col,row),而且ki∈DT·k。
移动轨迹TID也可采用字符串形式表达,TID=(col1row1k1col2row2k2…colnrownkn),简记为:TID=(c1c2c3…c3n),其中,c3×(i-1)+1=coli、c3x(i-1)+2=rowi、c3×i=ki,i≥1。
定义2移动轨迹的q-gram序列:对于移动轨迹TID=(c1c2c3…c3n),其对应的基于q-gram的分组序列定义为:
qTID=(c1…cq,c2…cq+1,...c3n-q+1…c3n),其中,ID表示移动轨迹的q-gram序列的编号,q≥1表示分组的长度。
该分组序列也可简记为:qTID=(qg1,qg2,...,qg3n-q+1),其中,qgi=ci…ci+q-1,1≤i≤(3n-q+1),qgi表示第i个q-gram。
定义3移动轨迹的Bloom过滤器:给定一个移动轨迹的q-gram序列qTID=(qg1,qg2,…,qg3n-q+1),其对应的Bloom过滤器定义为:bfID={b0b1…bm-1},其中,ID表示Bloom过滤器的编号;bi∈{0,1},0≤i≤m-1,m为Bloom过滤器的位数组长度。
对于q-gram序列qTID中的任一元素qgj,1≤j≤(3n-q+1),q≥1,在bfID中存在两个元素bs=1。其中,0≤s≤m-1,s=h(qgj)mod m,h是一个hash函数,h(qgj)、是h对qTID中qgj的散列值。
定义4移动轨迹Bloom过滤器间的相似系数:对于两个移动轨迹的Bloom过滤器bfID1和bfID2,其相似系数定义为:
Figure BDA0002469501870000071
其中,0≤BSim(bfID1,bfID2)≤1;comm(bfID1,bfID2)表示Bloom过滤器bfID1,bfID2中位值为1的相同位的数量;n_bit_1ID1,n_bit_1ID2分别表示Bloom过滤器bfID1,bfID2中位值为1的位的数量。
如果bfID1,bfID2的相似系数满足用户设定的相似度阈值St,也即BSim(bfID1,bfID2)≥St,则称bfID1与bfID2匹配。
定义5匹配Bloom过滤器的1值位数的最大间距:给定两个Bloom过滤器bfID1、bfID2,相似度阈值St,bfID1、bfID2中位值为1的位数n_bit_1ID1、n_bit_1ID2,如果bfID1,bfID2匹配,则n_bit_1ID1、n_bit_1ID2的差值δ=|n_bit_1ID1-n_bit_1ID2|的最大值,定义为bfID1、bfID2中位值为1的位数的最大间距为:
Figure BDA0002469501870000072
其中,
Figure BDA0002469501870000073
为向下取整符号,min(n_bit_1ID1,n_bit_1ID2)为n_bit_1ID1、n_bit_1ID2的较小值。
定义6基于Dmax的粗略匹配计算:给定两个Bloom过滤器bfID1,bfID2,以及其1值位数的最大间距Dmax,则粗略计算bfID1、bfID2匹配结果的规则是:
如果bfID1、bfID2中位值为1的位数n_bit-1ID1、n_bit_1ID2的差值δ=|n_bit_1ID1-n_bit_1ID2|不小于Dmax,也即:δ≥Dmax,则粗略计算bfID1、bfID2不匹配,记为:Matc_R(bfID1,bfID2)=0;
否则,粗略计算bfID1、bfID2可能匹配,记为:Matc_R(bfID1,bfID2)=-1。定义7Bloom过滤器匹配计算所需的交换位中位值为1的共同位的最小值:给定两个Bloom过滤器bfID1、bfID2,相似度阈值St,判定bfID1、bfID2匹配结果所需的交换位中位值为1的共同位的最小值为:
Figure BDA0002469501870000081
其中,
Figure BDA0002469501870000082
为向上取整符号,n_bit_1ID1、n_bit_1ID2是bfID1、bfID2中位值为1的位数。
定义8基于Cmin的精确匹配计算:给定两个Bloom过滤器bfID1,bfID2,bfID1和bfID2交换位中位值为1的共同位最小值Cmin,累计i次交换的位
Figure BDA0002469501870000083
中位值为1的位数
Figure BDA0002469501870000084
以及
Figure BDA0002469501870000085
中位值为1的共同位的数量
Figure BDA0002469501870000086
则精确计算bfID1、bfID2匹配结果的规则是:
如果εi≤0,则精确计算bfID1,bfID2匹配,记为:Matc_A(bfID1,bfID2)=1;如果εi>0,且
Figure BDA0002469501870000087
则精确计算bfID1、bfID2不匹配,记为:Matc_A(bfID1,bfID2)=0;
如果ε>0,且
Figure BDA0002469501870000088
则精确计算bfID1、bfID2可能匹配,记为:Matc_A(bfID1,bfID2)=-1。
其中,
Figure BDA0002469501870000089
称为交换位中位值为1的共同位的最小值Cmin,与累计i次交换的位中位值为1的共同位的数量
Figure BDA00024695018700000810
的差值。
第一阶段:数据拥有的双方将移动轨迹数据映射到Bloom过滤器
步骤1)将移动轨迹数据在统一的时空格空间下进行表达。
本实例中,等间隔的划分时空格空间为
Figure BDA0002469501870000091
图形表达如图1所示。
数据拥有者A拥有基于STC表达的3条移动轨迹,具体数据信息为:
T1={[(1,1),1],[(2,1),2],[(2,2),3]},T2={[(1,1),4],[(2,2),6],[(5,4),8]},
T3={[(1,2),2],[(3,2),5],[(4,3),7]}。也可简记为:T1=(111212223),
T2=(114226548),T3=(122325437)。
其中,T1在STC图1中的图形表达如图2所示。
数据拥有者B拥有基于STC表达的3条移动轨迹,具体数据信息为:
Ta={[(2,1),3],[(2,2),6],[(3,2),8]},Tb={[(1,1),4],[(1,2),6],[(3,3),2]},
Tc={[(1,2),1],[(2,2),2],[(3,5),7]}。也可简记为:Ta=(213226328),
Tb=(114126332),Tc=(121222357)。
步骤2)协定q值参数,采用q-gram的方法将移动轨迹字符串,转换成对应的q-gram序列。
本实例中,数据拥有者A、B协定参数q值为3。依照定义2,分别将T1~T3,Ta~Tc转换成q-gram序列qT1~qT3,qTa~qTc
以T1为例,给出具体的计算过程:
T1=(c1c2c3c4c5c6c7c8c9),以3-gram的形式进行划分得到的q-gram序列为:qT1=(c1c2c3,c2c3c4,c3c4c55,c4c5c6,c5c6c7,c6c7c8,c7c8c9)。
也即:T1=(111212223),对应的q-gram序列为qT1=(111,112,121,212,122,222,223)。
同理,计算得到T2~T3,Ta~Tc的q-gram序列分别为:
qT2=(114,142,422,226,265,654,548),
qT3=(122,223,232,325,254,543,437),
qTa=(213,132,322,226,263,632,328),
qTb=(114,141,412,126,263,633,332),
qTc=(121,212,122,222,223,235,357)。
步骤3)协定使用Bloom过滤器的位数组长度、Hash函数方法。
本实例中,数据拥有者A、B协定使用Bloom过滤器的位数组长度为10bit,Hash函数方法为SHA256。
步骤4)依据协定的映射方法,将q-gram序列的每个元素映射到Bloom过滤器的位数组中,得到对应的Bloom过滤器。
本实例中,数据拥有者A、B协定依照定义3的映射方法,分别将q-gram序列qT1~qT3,qTa~qTc映射到Bloom过滤器的位数组中,得到对应的Bloom过滤器bf1~bf3,bfa~bfc
以qT1为例,给出具体的计算过程:
qT1=(qg1,qg2,qg3,qg4,qg5,qg6,qg7)
=(c1c2c3,c2c3c4,c3c4c5,c4c5c6,c5c6c7,c6c7c8,c7c8c9)
=(111,112,121,212,122,222,223),
h、m分别是SHA256、10。
对于qg1=111,
h(qg1)=SHA256(111)={f6e0a1e2ac41945a9aa7ff8a8aaa0cebc12a3bcc981a929ad5cf810a090e11ae}s=h(qg1)mod 10=SHA256(111)mod 10=1、
因此,在bf1中存在元素b1=1。
同理,对于qT1中的qg2~qg7,可以计算得到:
b1=1,b4=1,b9=1。
也即,b1=b4=b9=1,得到qT1的Bloom过滤器bf1=(0100100001)。
qT1映射到Bloom过滤器的位数组的图形表达如图3所示。
进一步,计算qT2~qT3,qTa~qTc,得到对应的Bloom过滤器分别为:
bf2=(0100011001),bf3=(1001000011),bfa=(1100100101),bfb=(0100001101),bfc=(0100100001)。
第二阶段:基于Bloom过滤器的1值位数的最大间距的粗略匹配计算
步骤5)协定相似度阈值,双方交换Bloom过滤器中位值为1的位数,并计算匹配Bloom过滤器的1值位数的最大间距。
在本实例中,数据拥有者A、B协定相似度阈值St=0.65。数据拥有者A将bf1~bf3中位值为1的位数n_bit-11~n_bit_13发送给数据拥有者B。数据拥有者B将bfa~bfc中位值为1的位数n_bit_1a~n_bit_1c发送给数据拥有者A。数据拥有者A、B,依照定义5分别计算bf1~bf3与bfa~bfc匹配所需的1值位数的最大间距。
以bf1和bfa之间的1值位数的最大间距为例,说明具体的计算过程。
n_bit_11=3、n_bit_1a=5、min(n_bit_11,n_bit-1a)=3,
Figure BDA0002469501870000111
同理,计算bf1和bfb、bfc之间的1值位数的最大间距,得到:
Dmax(bf1,bfb)=3、Dmax(bf1,bfc)=3。
进一步,计算bf2与bfa~bfc之间的1值位数的最大间距,得到:
Dmax(bf2,bfa)=4、Dmax(bf2,bfb)=4、Dmax(bf2,bfc)=3。
进一步,计算bf3与bfa~bfc之间的1值位数的最大间距,得到:
Dmax(bf3,bfa)=4、Dmax(bf3,bfb)=4、Dmax(bf3,bfc)=3。
步骤6)Bloom过滤器的1值位数的最大间距进行粗略匹配计算。
在本实例中,基于bf1~bf3与bfa~bfc匹配所需的1值位数的最大间距,以及f1~bf3与bfa~bfc中位值为1的位数n_bit_11~n_bit_13与n_bit-1a~n_bit_1c,依照定义6,进行bf1~bf3与bfa~bfc间的粗略匹配计算。
以bf1和bfa为例,说明具体的粗略匹配计算过程。
bf1、bfa中位值为1的位数分别为:n_bit_11=3、n_bit_1a=5。
bf1、bfa中位值为1的位数的差值为:
δ(bf1,bfa)=|n_bit_11-n_bit_1a|=|3-5|=2。
bf1、bfa匹配所有的1值位数的最大间距:Dmax(bf1,bfa)=3。
因此,δ(bf1,bfa)=2<Dmax(bf1,bfa)=3,粗略判定bf1与bfa可能匹配,也即Matc_R(bf1,bfa)=-1。
再以bf1和bfb为例,说明具体的粗略匹配计算过程。
bf1、bfb中位值为1的位数分别为:n_bit_11=3、n_bit_1b=7。
bf1、bfb中位值为1的位数的差值为:δ(bf1,bfb)=|n_bit_11-n_bit_1b|=|3-7|=4。
bf1、bfa匹配所有的1值位数的最大间距:Dmax(bf1,bfb)=3。
因此,δ(bf1,bfb)=4>Dmax(bf1,bfb)=3,粗略判定bf1与bfb不匹配,也即Matc_R(bf1,bfb)=0。
同理,计算bf1和bfc之间的粗略匹配结果为:
δ(bf1,bfc)=0<Dmax(bf1,bfb)=3,也即Matc_R(bf1,bfb)=-1。
进一步,计算bf2与bfa~bfc之间的粗略匹配结果为:
δ(bf2,bfa)=1<Dmax(bf2,bfa)=4,也即Matc_R(bf2,bfa)=-1;
δ(bf2,bfb)=3<Dmax(bf2,bfb)=4,也即Matc_R(bf2,bfb)=-1;
δ(bf2,bfc)=1<Dmax(bf2,bfc)=3,也即Matc_R(bf2,bfc)=-1。
进一步,计算bf3与bfa~bfc之间的粗略匹配结果为:
δ(bf3,bfa)=1<Dmax(bf3,bfa)=4,也即Matc_R(bf3,bfa)=-1;
δ(bf3,bfb)=3<Dmax(bf3,bfb)=4,也即Matc_R(bf3,bfb)=-1;
δ(bf3,bfc)=1<Dmax(bf3,bfc)=3,也即Matc_R(bf3,bfc)=-1。
上述基于双方Bloom过滤器的1值位数的最大间距的粗略匹配计算过程示意,如图4所示。
第三阶段:基于Bloom过滤器的交换位中位值为1的共同位的最小值的精确匹配计算
步骤7)基于相似度阈值、双方交换Bloom过滤器中位值为1的位数,计算匹配Bloom过滤器的交换位中位值为1的共同位的最小值。
在本实例中,相似度阈值St=0.65。依据交换的n_bit-11~n_bit-13、n_bit-1a~n_bit_1c,依照定义5分别计算bf1~bf3与bfa~bfc匹配所需的交换位中位值为1的共同位的最小值。
以bf1和bfa为例,说明具体的计算过程。
n_bit_11=3、n_bit_1a=5,
Figure BDA0002469501870000131
同理,计算bf1和bfc之间的交换位中位值为1的共同位的最小值,得到:Cmin(bf1,bfc)=2。
进一步,计算bf2与bfa~bfc之间的交换位中位值为1的共同位的最小值,得到:Cmin(bf2,bfa)=3、Cmin(bf2,bfb)=4、Cmin(bf2,bfc)=3。进一步,计算bf3与bfa~bfc之间的交换位中位值为1的共同位的最小值,得到:Cmin(bf3,bfa)=3、Cmin(bf3,bfb)=4、Cmin(bf3,bfc)=3。步骤8)双方首次交换Bloom过滤器的位值,并基于交换位中位值为1的共同位的最小值进行精确匹配计算。
在本实例中,首先,选取步骤7)计算的bf1~bf3与bfa~bfc的Cmin最小值Cmin(bf1,bfc)=2,作为双方交换Bloom过滤器第1次交换位值的数量。其次,双方交换Bloom过滤器bf1~bf3与bfa~bfc的前2位的位值。最后,依照定义6,进行bf1~bf3与bfa~bfc间的精确匹配计算。
以bf1和bfa为例,说明具体的计算过程。
bf1和bfa交换的2位分别是:
Figure BDA0002469501870000141
Figure BDA0002469501870000142
中位值为1的共同位的数量:
Figure BDA0002469501870000143
Cmin(bf1,bfa)=3。
交换位中位值为1的共同位的最小值Cmin,与累计i次交换的位中位值为1的共同位的数量
Figure BDA0002469501870000144
的差值:
Figure BDA0002469501870000145
bf1和bfa中位值为1的位数:n_bit_11=3、n_bit_1a=5。
Figure BDA0002469501870000146
中位值为1的位数:
Figure BDA0002469501870000147
bf1和bfa中为交换位中位值为1的位数:
Figure BDA0002469501870000148
Figure BDA0002469501870000151
因此,
Figure BDA0002469501870000152
判定bf1、bfa可能匹配,也即:Matc_A(bf1,bfa)=-1。
同理,计算bf1和bfc之间的匹配,得到:
Figure BDA0002469501870000153
判定bf1、bfc可能匹配,也即:Matc_A(bf1,bfc)=-1。
进一步,计算bf2与bfa~bfc之间的匹配,得到:
Figure BDA0002469501870000154
也即:Matc_A(bf2,bfa)=-1。
Figure BDA0002469501870000155
也即:Matc_A(bf2,bfb)=-1。
Figure BDA0002469501870000156
也即:Matc_A(bf2,bfc)=-1。
进一步,计算bf3与bfa~bfc之间的匹配,得到:
Figure BDA0002469501870000157
也即:Matc_A(bf3,bfa)=-1。
Figure BDA0002469501870000161
也即:Matc_A(bf3,bfb)=0。
Figure BDA0002469501870000162
也即:Matc_A(bf3,bfc)=0。
Matc_A(bf3,bfb)=0,Matc_A(bf3,bfc)=0,也即是bf3和bfb不匹配,bf3和bfb不匹配,均进行了二次过滤。
以bf3和bfb为例,对匹配计算过程进行详细说明:
bf3和bfb交换的2位分别是:
Figure BDA0002469501870000163
Figure BDA0002469501870000164
中位值为1的共同位的数量:
Figure BDA0002469501870000165
Cmin(bf3,bfb)=4。
交换位中位值为1的共同位的最小值Cmin,与累计i次交换的位中位值为1的共同位的数量
Figure BDA0002469501870000166
的差值:
Figure BDA0002469501870000167
bf3和bfb中位值为1的位数:n_bit_13=4、n_bit_1b=7。
Figure BDA0002469501870000168
中位值为1的位数:
Figure BDA0002469501870000169
bf3和bfb中为交换位中位值为1的位数:
Figure BDA00024695018700001610
Figure BDA00024695018700001611
因此,
Figure BDA0002469501870000171
判定bf3、bfb不匹配,也即:Matc_A(bf3,bfb)=0。
上述基于双方第1次交换Bloom过滤器位值的精确匹配计算过程示意,如图5所示。
步骤9)协定累计交换最大位数阈值,迭代选取前次计算的ε最小值进行位数交换、精确匹配计算,直至得到所有精确匹配结果或者达到最大交换位数的阈值。
在本实例中,累计交换最大位数阈值为8位。第1次交换位置后计算的ε分别为:
Figure BDA0002469501870000172
(1)第2次迭代
双方第2次交换bf1~bf3与bfa~bfc的1位的位值,也即交换bf1~bf3与bfa~bfc的第3位的位值,并依照定义6,再次进行bf1~bf3与bfa~bfc间的精确匹配计算。
计算bf1和bfa~bfc之间的匹配,得到:
Figure BDA0002469501870000173
判定bf1、bfa可能匹配,也即:Matc_A(bf1,bfa)=-1。
Figure BDA0002469501870000174
判定bf1、bfc可能匹配,也即:Matc_A(bf1,bfc)=-1。
进一步,计算bf2与bfa~bfc之间的匹配,得到:
Figure BDA0002469501870000181
也即:Matc_A(bf2,bfa)=-1。
Figure BDA0002469501870000182
也即:Matc_A(bf2,bfb)=-1。
Figure BDA0002469501870000183
也即:Matc_A(bf2,bfc)=-1。
进一步,计算bf3与bfa~bfc之间的匹配,得到:
Figure BDA0002469501870000184
也即:Matc_A(bf3,bfa)=-1。
上述基于双方第2次交换Bloom过滤器位值的精确匹配计算过程示意,如图6所示。
第2次交换位置后计算的ε分别为:
Figure BDA0002469501870000185
因此,双方第3次交换bf1~bf3与bfa~bfc的1位的位值,也即交换bf1~bf3与bfa~bfc的第4位的位值,并依照定义6,再次进行bf1~bf3与bfa~bfc间的精确匹配计算。
(2)第3次迭代
双方第3次交换bf1~bf3与bfa~bfc的1位的位值,也即交换bf1~bf3与bfa~bfc的第3位的位值,并依照定义6,再次进行bf1~bf3与bfa~bfc间的精确匹配计算。计算得到:
Matc_A(bf1,bfa)=Matc_A(bf1,bfc)=Matc_A(bf2,bfa)=Matc_A(bf2,bfb)=Matc_A(bf2,bfc)=Matc_A(bf3,bfa)=-1。
上述基于双方第3次交换Bloom过滤器位值的精确匹配计算过程示意,如图7所示。
第3次交换位置后计算的ε分别为:
Figure BDA0002469501870000191
(3)第4次迭代
双方第4次交换bf1~bf3与bfa~bfc的1位的位值,也即交换bf1~bf3与bfa~bfc的5位的位值,并依照定义6,再次进行bf1~bf3与bfa~bfc间的精确匹配计算。计算得到:
Matc_A(bf1,bfa)=Matc_A(bf2,bfa)=Matc_A(bf2,bfb)=Matc_A(bf3,bfa)=-1。
Matc_A(bf2,bfc)=0。Matc_A(bf1,bfc)=1。
至此,发现bf1和bfc相匹配。对bf1和bfc的匹配过程进行详细的说明。bf1和bfc交换的5位分别是:
Figure BDA0002469501870000192
Figure BDA0002469501870000193
中位值为1的共同位的数量:
Figure BDA0002469501870000194
Cmin(bf1,bfc)=2。交换位中位值为1的共同位的最小值Cmin,与累计i次交换的位中位值为1的共同位的数量
Figure BDA0002469501870000195
的差值:
Figure BDA0002469501870000201
依照定义7,判定bf1、bfc匹配,也即:Matc_A(bf1,bfc)=1。
上述基于双方第4次交换Bloom过滤器位值的精确匹配计算过程示意,如图8所示。
第4次交换位置后计算的ε分别为:
Figure BDA0002469501870000202
Figure BDA0002469501870000203
(4)第5次迭代
双方第5次交换bf1~bf3与bfa~bfc的1位的位值,也即交换bf1~bf3与bfa~bfc的第6位的位值,并依照定义6,再次进行bf1~bf3与bfa~bfc间的精确匹配计算。计算得到:
Matc_A(bf1,bfa)=Matc_A(bf2,bfa)=Matc_A(bf2,bfb)=Matc_A(bf3,bfa)=-1。
上述基于双方第5次交换Bloom过滤器位值的精确匹配计算过程示意,如图9所示。
第5次交换位置后计算的ε分别为:
Figure BDA0002469501870000204
Figure BDA0002469501870000205
(5)第6次迭代
双方第6次交换bf1~bf3与bfa~bfc的1位的位值,也即交换bf1~bf3与bfa~bfc的第7位的位值,并依照定义6,再次进行bf1~bf3与bfa~bfc间的精确匹配计算。计算得到:
Matc_A(bf1,bfa)=Matc_A(bf2,bfb)=Matc_A(bf3,bfa)=-1。
Matc_A(bf2,bfa)=0
上述基于双方第6次交换Bloom过滤器位值的精确匹配计算过程示意,如图10所示。
第6次交换位置后计算的ε分别为:
Figure BDA0002469501870000211
Figure BDA0002469501870000212
(6)第7次迭代
双方第7次交换bf1~bf3与bfa~bfc的1位的位值,也即交换bf1~bf3与bfa~bfc的第8位的位值,并依照定义6,再次进行bf1~bf3与bfa~bfc间的精确匹配计算。计算得到:
Matc_A(bf1,bfa)=Matc_A(bf2,bfb)=-1。
Matc_A(bf3,bfa)=0。
此时,累计交换位数达到协定阈值8,停止迭代。
上述基于双方第7次交换Bloom过滤器位值的精确匹配计算过程示意,如图11所示。
步骤10),双方依据精确匹配计算结果彼此交换原始的移动轨迹数据。本实例中,依据计算的Matc_A(bf1,bfc)=1。
数据拥有者A依据编号,将对应的将移动轨迹T1发送给数据拥有者B。数据拥有者B依据编号,将对应的将移动轨迹Tc发送给数据拥有者A。最终,实现匹配移动轨迹数据的交换。移动轨迹T1与移动轨迹Tc匹配的图形示意,如图12所示。

Claims (1)

1.一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法,其特征在于:所述方法包括以下步骤:
步骤1:数据拥有的双方将移动轨迹数据映射到Bloom过滤器,包括移动轨迹数据在统一时空格下进行表达,移动轨迹字符串转的q-gram分组和Bloom过滤器的映射存储;
步骤2:基于Bloom过滤器的1值位数的最大间距的粗略匹配计算,包括匹配Bloom过滤器1值位数的最大间距的计算,以及基于最大间距的Bloom过滤器间的粗略匹配计算;
步骤3:基于Bloom过滤器的交换位中位值为1的共同位的最小值的精确匹配计算,包括计算匹配Bloom过滤器的交换位中位值为1的共同位的最小值的,基于共同位的最小值的迭代精确匹配计算,以及依据精确匹配计算结果的原始移动轨迹数据的交换;
所述步骤1中的数据拥有的双方将移动轨迹数据映射到Bloom过滤器的具体操作步骤如下:
步骤1.1:将移动轨迹数据在统一的时空格空间下进行表达;
步骤1.2:协定q值参数,采用q-gram的方法将移动轨迹字符串,转换成对应的q-gram序列;
步骤1.3:协定使用Bloom过滤器的位数组长度、Hash函数方法;
步骤1.4:依据协定的映射方法,将q-gram序列的每个元素映射到Bloom过滤器的位数组中,得到对应的Bloom过滤器;
所述步骤2中的基于Bloom过滤器的1值位数的最大间距的粗略匹配计算方法具体步骤如下:
步骤2.1:协定相似度阈值,双方交换Bloom过滤器中位值为1的位数,并计算匹配Bloom过滤器的1值位数的最大间距;
步骤2.2:Bloom过滤器的1值位数的最大间距进行粗略匹配计算;
所述步骤3中的基于Bloom过滤器的交换位中位值为1的共同位的最小值的精确匹配计算的具体步骤如下:
步骤3.1:基于相似度阈值、双方交换Bloom过滤器中位值为1的位数,计算匹配Bloom过滤器的交换位中位值为1的共同位的最小值;
步骤3.2:双方首次交换Bloom过滤器的位值,并基于交换位中位值为1的共同位的最小值进行精确匹配计算;
步骤3.3:协定累计交换最大位数阈值,迭代选取前次计算的
Figure DEST_PATH_IMAGE002
最小值进行位数交换、精确匹配计算,直至得到所有精确匹配结果或者达到最大交换位数的阈值;
步骤3.4:双方依据精确匹配计算结果彼此交换原始的移动轨迹数据。
CN202010344077.6A 2020-04-27 2020-04-27 一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法 Active CN111539023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010344077.6A CN111539023B (zh) 2020-04-27 2020-04-27 一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010344077.6A CN111539023B (zh) 2020-04-27 2020-04-27 一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法

Publications (2)

Publication Number Publication Date
CN111539023A CN111539023A (zh) 2020-08-14
CN111539023B true CN111539023B (zh) 2021-02-02

Family

ID=71978794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010344077.6A Active CN111539023B (zh) 2020-04-27 2020-04-27 一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法

Country Status (1)

Country Link
CN (1) CN111539023B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201695B (zh) * 2021-12-17 2022-10-21 南京邮电大学 一种基于热点网格维度转换的移动轨迹隐私保护匹配方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026930A (zh) * 2019-12-02 2020-04-17 东北大学 一种基于轨迹分段的轨迹数据隐私保护方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331466B (zh) * 2014-10-31 2018-01-19 南京邮电大学 基于时空邻近搜索的移动轨迹序列模式快速挖掘方法
CN104754509B (zh) * 2014-10-31 2018-04-06 南京邮电大学 基于位置语义k‑匿名的lbs隐私保护方法
JP6429420B2 (ja) * 2015-03-16 2018-11-28 ノキア テクノロジーズ オーユー 隠蔽移動軌跡に基づいて社会的つながりを見出すための方法および装置
CN105160266B (zh) * 2015-07-08 2018-09-04 北方信息控制集团有限公司 基于k-匿名的运动轨迹数据隐私保护方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026930A (zh) * 2019-12-02 2020-04-17 东北大学 一种基于轨迹分段的轨迹数据隐私保护方法

Also Published As

Publication number Publication date
CN111539023A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
Qi et al. Time-aware distributed service recommendation with privacy-preservation
CN108536851B (zh) 一种基于移动轨迹相似度比较的用户身份识别方法
CN112667712B (zh) 一种基于差分隐私的分组精准直方图数据发布方法
Erdemir et al. Privacy-aware time-series data sharing with deep reinforcement learning
CN108563962A (zh) 一种基于空间位置服务的差分隐私保护方法
CN107222851A (zh) 一种利用差分隐私保护Wifi Fingerprint室内定位系统隐私的方法
JP2016535898A (ja) 結託および合成を考慮した効用対応プライバシー保護写像のための方法および装置
CN111259098B (zh) 一种基于稀疏表示和Fréchet距离融合的轨迹相似度计算方法
CN111539023B (zh) 一种基于多次迭代过滤的移动轨迹数据隐私保护匹配方法
Miller et al. Matched filtering for subgraph detection in dynamic networks
CN110502919B (zh) 一种基于深度学习的轨迹数据去匿名方法
CN116340524B (zh) 一种基于关系自适应网络的小样本时态知识图谱补全方法
CN110299988B (zh) 轻量级分组密码算法抗攻击能力的检测方法及检测装置
CN105701418A (zh) 一种基于空间序列数据分析的用户轨迹隐私保护方法
Gupta et al. Region invariant normalizing flows for mobility transfer
Li et al. Aggregate or not? exploring where to privatize in dnn based federated learning under different non-iid scenes
CN113378892B (zh) 基于移动手机app使用行为数据的多序列对比分类方法
CN105740399B (zh) 时序数据曲线处理方法和装置
CN111506918B (zh) 一种基于Bloom过滤器的移动轨迹隐私保护匹配方法
CN106372213A (zh) 一种位置分析方法
CN106471558B (zh) 矩阵生成装置及矩阵生成方法
CN112069532B (zh) 一种基于差分隐私的轨迹隐私保护方法与装置
CN113395172B (zh) 一种基于通信网的重要用户发现及行为预测方法
US11930354B2 (en) Methods and systems for anonymously tracking and/or analysing movement of mobile communication devices connected to a mobile network or cellular network
CN115828312B (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
CB02 Change of applicant information

Address after: 210009 No. 66, New Model Road, Gulou District, Nanjing City, Jiangsu Province

Applicant after: NANJING University OF POSTS AND TELECOMMUNICATIONS

Address before: 210023 no.30-06 GuangYue Road, Qixia street, Qixia District, Nanjing City, Jiangsu Province

Applicant before: NANJING University OF POSTS AND TELECOMMUNICATIONS

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant