一种移动社交网络中的位置共享系统的隐私保护方法与流程

文档序号:12740219阅读:346来源:国知局
一种移动社交网络中的位置共享系统的隐私保护方法与流程

本发明属于移动通信技术领域,具体涉及一种移动社交网络中的位置共享系统的隐私保护。



背景技术:

随着移动通信技术、社交网络的迅速发展和高性能智能移动设备的普及,传统的位置服务和社交网络不断融合,形成了移动在线社交网络。移动在线社交网络提供了更多的位置共享服务,用户不仅可以查找附近的好友和陌生人,还可以进行签到服务。移动社交网络将真实位置服务和虚拟社区相结合,丰富了人们的社交方式。然而,当用户在享受位置服务带来的便利时,他们也承担着敏感信息泄露的风险。

当用户发送位置服务请求时,攻击者不仅可以将位置与用户的身份信息关联起来,而且可以推断出用户的更多隐私信息,例如健康状况等。同时,攻击者也可以利用连续的位置服务请求信息根据时间形成用户的轨迹,通过对用户的轨迹分析,不仅可能找到用户过去和现在的位置,而且还可以分析出用户可能的家庭地址、工作地点和生活规律,甚至可以推断出用户的日常生活轨迹的行为模式和生活习惯等信息。如果移动社交网络不断收集用户的位置,那么它可能会因为商业利益而将用户的位置出卖给第三方商家。

移动在线社交网络中的附近好友和陌生人查找服务的隐私保护问题可以分解为社交网络服务器中的位置隐私保护问题和位置服务器中的社交身份保护问题。

位置加密是解决社交网络服务器中的位置隐私保护问题的主要方法。用户通过在终端将真实位置加密后发送给社交网络服务器,社交网络服务器没有相应的解密密钥,因此不能得到用户的真实位置。用户的位置隐私在社交网络服务器端得到保证。动态用户假名是解决位置服务器中的社交身份保护问题的主要方法。用户每次执行附近好友和陌生人查找服务时,社交网络服务器都会为用户随机生成用户假名,位置服务器得到的仅仅是用户的用户假名还有用户的社交好友列表。因此位置服务器无法得到用户的社交身份。为了增强社交身份隐私保护,假的社交身份会被随机增加到用户的好友列表中。用户的社交好友列表在好友查询中会随机变化,因此位置服务器不能将用户的用户假名、用户的社交好友列表关联到用户的社交身份。但在上述位置加密和社交身份保护策略中,非对称的位置加密算法计算复杂度和计算时间较高,用户终端需要较多的计算资源。同时,动态用户假名并非完全随机,用户假名内容包含了用户的真实社交身份,因此用户身份很可能被位置服务器推测出,那么用户的社交身份信息被暴露。

一种用于解决社交身份隐私和位置隐私的系统包括社交网络服务器和多个位置服务器。该系统中引入位置加密算法、动态用户假名技术和增加虚假社交身份。用户每次发起发现附近好友、陌生人请求时会随机生成用户假名,这样保证了位置服务器无法将用户假名信息和用户的真实社交身份关联起来。同时考虑在好友列表中增加虚假社交身份并且将好友列表随机分成多分,分别发送给多个位置服务器使得位置服务器无法将好友列表关联到用户的真实的社交身份。位置隐私加密使得社交网络服务器无法获得用户的位置。上述的方法不仅实现了用户的位置隐私保护,同时实现了用户的社交身份隐私保护。但是其依然存在下述缺陷:(1)动态用户假名中包含了用户的真实社交身份信息,位置服务器可以根据历史用户假名推测出用户的历史位置。(2)用户终端的计算资源有限,每发现一个好友或者陌生人都要对其位置进行非对称加密,计算时间几乎与好友数目和陌生人数目成正比。在好友数目和陌生人数目较多的情况下,需要较多的计算时间。(3)该方法使得用户只能与所有好友共享位置,没有考虑到实际应用中,用户可能并不信任所有好友,只希望与部分好友共享位置。

另一种用于解决社交身份隐私和位置隐私的方案是:基于可信第三方服务器的位置共享系统,该系统包括可信第三方服务器和位置社交服务器。位置社交服务器能提供与位置和社交相关的服务。用户每次发送发现附近好友、陌生人请求之前,需要将位置发送给第三方服务器,第三方服务器根据用户的历史位置加上当前请求的位置能否推测出用户到过的敏感位置。用户根据可信第三方服务器的计算结果,停止向位置社交服务器发送可能泄露敏感位置的请求。该系统和算法有效的实现了用户的敏感位置的隐私保护。但也存在以下缺点:(1)该系统需要可信第三方服务器,一旦攻击者成功攻击了该服务器,那么所有用户的历史位置都会被泄露。(2)这里的位置隐私保护主要指敏感位置的隐私保护,没有考虑到其他位置已经能暴露一些用户的个人隐私,比如活动区域、行动轨迹等。



技术实现要素:

在移动在线社交网络中的附近好友和陌生人查找服务中,不仅要防止社交网络服务器获得用户的真实位置,还要防止位置服务器获得用户的社交身份信息,同时还有防止非授权用户访问用户的位置。因此传统的位置隐私保护算法对于移动在线社交网络中的附近好友和陌生人查找服务并不适用。本发明针对移动在线社交网络中的附近好友和陌生人查找服务的位置隐私保护的技术问题,提出一种附近好友查找、陌生人查找服务中的用户位置隐私保护和社交关系隐私保护方法。本发明综合考虑了附近好友查找、陌生人查找服务相对于传统的基于位置的服务的特殊性,除了对用户的位置隐私进行保护外能够对用户的社交关系隐私进行保护。考虑到终端的计算资源相当珍贵,本发明涉及的保护策略比现有的隐私保护方法更加高效,能够更加快速的查找到附近的好友、陌生人。在本发明中,用户在使用附近好友查找、附近陌生人查找这一位置共享服务时,可以选择位置共享的对象,即允许用户选择将自己的位置暴露给一部分好友,而不是所有的好友。

本发明的移动社交网络中的位置共享系统的隐私保护方法,包括下列步骤:

一种移动社交网络中的位置共享系统的隐私保护方法,包括下列步骤:

步骤1:在线社交网络服务器为用户终端生成用户假名,用户终端在位置服务器上基于用户假名进行位置信息登陆:

101:用户端向在线社交网络服务器发起用户假名生成请求:

用户端生成随机密钥对,并以注册社交身份ID时的私钥作为密钥,对社交身份ID和时间戳进行非对称加密生成第一数字签名,并将包含社交身份ID、时间戳、第一数字签名、随机密钥对的公钥的用户假名生成请求发送给在线社交网络服务器;

102:在线社交网络服务器对用户端进行社交身份ID验证:通过用户注册社交身份ID时的公钥对接收的第一数字签名进行解密并验证社交身份ID;

在线社交网络服务器为通过验证的用户随机生成用户假名并返回给用户端,同时将当前用户假名和来自用户端的随机密钥对的公钥发送给位置服务器;以及更新本地社交网络数据库中当前社交身份ID的用户假名,其中社交网络数据库包括社交身份ID、用户假名、好友的社交身份ID;

103:用户端基于当前用户假名生成位置登陆信息并发送给位置服务器,其中位置登陆信息包括用户假名、时间戳、第二数字签名、用户位置、被查找距离,所述第二数字签名为:以当前随机密钥对的私钥作为密钥对当前用户假名和时间戳进行非对称加密生成;被查找距离包括:用户位置被好友、陌生人查找的距离;

104:位置服务器对用户端进行用户假名验证,及维护本地位置数据库:

用户假名验证:基于与用户假名匹配的随机密钥对的公钥,对第二数字签名进行解密并验证用户假名;

本地位置数据库维护为:将通过验证的位置登陆信息保存到本地位置数据库;所述位置数据库包括:用户位置、被查找距离、当前随机密钥对的公钥和用户假名;

步骤2:位置查找请求处理:

201:用户端向在线社交网络服务器发送第一查找请求,所述第一查找请求包括:社交身份ID、查找类型、社交身份访问权限,其中社交身份访问权限为:允许访问本端用户的好友列表;

202:在线社交网络服务器基于查找类型进行查找处理:

若查找类型为好友,则将满足社交身份访问权限的好友的社交身份ID和用户假名返回给用户端;

若查找类型为陌生人,则等待位置服务器发送第二用户假名集合,当收到第二用户假名集合时,社交网络服务器将属于当前发送第一查找请求的用户的好友从所述第二用户假名集合中删除后,再将第二用户假名集合、对应的社交身份ID返回给用户端;

203:用户端向位置服务器发送第二查找请求,所述第二查找请求包括:用户假名、查找类型、查找范围、位置访问控制,其中位置访问控制为:是否显示本端用户的用户位置;

204:位置服务器基于查找类型进行查找处理:

若查找类型为好友,则位置服务器查找满足查询范围和被查找距离的所有用户假名,得到初始查找集合;并基于是否发送过显示本端用户位置的位置访问控制,对初始查找集合进行划分:若未发送过,则划分到第一子集;否则划分到第二子集;将第一子集的用户假名、以及第二子集的用户假名和用户位置返回给用户端;

若查找类型为陌生人,则位置服务器查找满足查找范围和被查找距离的所有用户假名,得到第二用户假名集合,并将所述第二用户假名集合返回给用户端,及发送给在线社交网络服务器;

205:用户端对在线社交网络服务器和位置服务器的返回信息进行匹配,得到查找结果。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

(1)位置隐私保护。本发明充分考虑了用户使用附近好友查找、陌生人查找这一位置共享服务时可能存在的位置隐私保护问题,能够达到在线社交网络服务器和位置服务器上的用户位置隐私保护。

(2)社交关系隐私保护。本发明充分考虑了在线社交网络服务器上用户的社交关系隐私保护问题,能够达到位置服务器上用户社交关系隐私保护。

(3)高效性。本发明所提出的隐私保护算法,对比与传统的对称/非对称加密算法更加高效。

附图说明

图1是本发明的位置更新流程图;

图2是本发明的好友查找流程图;

图3是本发明的陌生人查找流程图;

其中,LS表示位置服务器,SNS表示在线社交网络服务器,ID表示社交用户的社交身份标识,pid表示SNS为用户生成的用户假名。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。

本发明提出的位置共享系统的隐私保护方法的实现过程如下:

(1)位置共享系统

用于实现本发明的位置共享系统主要包括三部分:终端、位置服务器、在线社交网络服务器。用户通过携带的终端(简称用户终端)发起查询指定范围的好友、陌生人的请求。终端可以与位置服务器和在线社交网络服务器进行通信。在线社交网络服务器管理社交用户的社交身份信息(用户身份标识),好友列表信息和身份认证等。在线社交网络服务器为用户提供了基于社交身份的在线社交网络服务。位置服务器管理所有用户的用户假名、对应的位置和身份认证,并且提供位置相关的服务。

(2)查找方法设置

本具体实施方式中涉及到的查找、匹配处理均采用红黑平衡查找树作为数据结构,按键查找。

(3)隐私保护策略

可以分为三个步骤:用户注册,位置更新和请求提交。

(3.1)用户登陆

本发明中,用户的不同坐标位置分别对应不同的用户假名,当用户位置发生变化时,则需要首先向在线社交网络服务器发起生成用户假名的请求,再基于当前的用户假名在位置服务器上登陆,使得位置服务器能实时记录用户位置。

包括在线社交网络服务器上登陆和位置服务器上登陆。

在线社交网络上登录:

在线社交网络服务器存储了用户ID及相应的好友列表。例如在线社交网络服务器以{(ID,pid,G,PK)}的形式来维护用户的社交网络数据库。其中用户的社交网络图G=(V,E),V表示社交网络图的顶点,E表示社交网络图的边,(PK,SK)为用户在在线社交网络服务器上注册社交身份ID时的密钥对,通常为第三方的数字证书服务器生成,用于进行用户的社交身份ID,为了区分不同用户,PK表示公钥,SK表示私钥,可通过带用户标识符的下标进行区分,如PKID、SKID

用户每次向社交网络服务器发起用户假名生成时,用户终端会生成随机密钥对(pk,sk)用于位置服务器上的用户身份(用户假名)认证,其中pk是公有密钥,sk是私有密钥,为了区分不同用户的随机密钥对,可通过带用户标识符的下标进行区分,如(pkID,skID)。

用户将社交身份ID验证请求(ID,ts,SigSKID(ID,ts),pk)发送给在线社交网络服务器,其中SigSKID(ID,ts)是用户将ID和时间戳ts以以注册社交身份ID时的私钥SKID作为密钥的非对称加密(如RSA公钥加密)生成的数字签名,即第一数字签名。

在线社交网络服务器通过用户注册社交身份ID时的公钥PKID进行解密,并且一旦验证了验证社交身份ID的有效性,在线社交网络服务器就会为用户随机生成一个用户假名pid,且该pid是唯一的,为了标识用户假名与用户的对应关系,可通过带用户标识符的下标进行区分,例如对用户ID而言,对应的用户假名则为pidID。最后在线社交网络服务器将当前生成的用户假名pid发送给用户,同时将(pid,pk)发送给位置服务器。

位置服务器上登陆:

位置服务器以{(pid,pk,(x,y),dif,s)}的形式来维护位置数据库。其中pid表示用户假名,pk表示用于认证用户假名的公钥、(x,y)表示用户位置、dif表示pid被其好友查找的距离,s表示pid被陌生人查找的距离。通过社交身份ID验证的用户向位置服务器发送位置登陆信息(pid,ts,Sigsk(pid,ts),(x,y),difID,sID),其中Sigsk(pid,ts)是用户以当前sk作为密钥对用户假名pid和时间戳ts进行非对称加密生成的数字签名,即第二数字签名,dif表示用户位置能够被好友查询的距离,s表示用户位置能够被陌生人查询的距离,(x,y)表示用户位置,为了区分不同用户的距离dif、距离s以及位置,通过带用户标识符的下标进行区分,如对应社交身份ID的用户位置为(xID,yID),该用户位置能够被好友、陌生人查询的距离分别为difID、sID。位置服务器使用来自在线社交网络服务器且与当前用户假名匹配的随机密钥对的公钥pk,验证签名Sigsk(pid,ts)的合法性。将通过验证的位置登陆信息保存到本地位置数据库。

在本发明中,不同的用户位置对应一个用户假名,当用户位置更新时,其处理流程和新位置登录信息的处理方式相同,参见图1,用户端首先生成用于验证用户假名的随机密钥对(pk’,sk’)后,再在SNS(在线社交网络服务器)上进行社交身份ID验证,验证的同时将当前生成的随机密钥对的公钥pk’发送给SNS;SNS为通过社交身份ID验证的用户重新生成用户假名pid’,且该用户假名是唯一的。同时,SNS更新用户的社交网络数据库{(ID,pid’,G,pk)},并且将pid’发送给用户,同时将(pid’,pk’)发送给LS。

用户将位置登陆信息(pid’,Sigsk’Sigsk’(pid’,ts),(x’、y’),dif,s)发送给LS,LS用pk’解密并验证当前用户假名pid’的有效性后,新的用户位置(x’、y’)将以{(pid’,pk’,(x’、y’),dif,s)}的形式保存到位置数据库中。

(3.3)查找请求提交及处理

用户能提交查找请求的前提是当前已在SNS、LS上完成对应的身份验证,其中SNS上是完成对第一数字签名(SigSKID(ID,ts))的验证过程,即验证第一数字签名解密得到的ID与接收的ID是否一致;LS上是完成对第二数字签名Sigsk(pid,ts)的验证过程,即验证第二数字签名解密得到的pid与接收的pid是否一致。

查找请求包括好友位置查找请求、陌生人位置查找请求。

参见图2,好友位置查找请求流程为:

用户端当前已在SNS、LS上完成对应的身份验证后,用户端向SNS发送第一查找请求,其中第一查找请求包括:社交身份ID、查找类型(好友)、社交身份访问权限,其中社交身份访问权限可采用字段“Y/N/<friends-set>”的方式进行设置,其中Y表示允许所有好友访问其用户位置,N表示用户的ID允许好友访问但用户位置拒绝被访问,Y/N的缺省符为NULL,<friends-set>表示用户指定的允许访问其位置的好友。

例如NULL/NULL/<friends-set>表示只允许<friends-set>指定的好友(用户假名)访问本端用户(发送第一查找请求的用户)用户位置,非<friends-set>指定的好友允许访问本端用户的社交身份ID但拒绝访问用户位置;NULL/N/NULL表示不显示本端用户的用户位置,即本端用户的社交身份ID允许好友访问但用户位置拒绝被访问。

因当前的查找类型为好友,故SNS直接将满足社交身份访问权限的好友的社交身份ID和用户假名返回给用户端:

SNS器管理用户的好友列表及其对应的用户假名,基于查找方的社交身份ID在社交网络数据库中查询得到查找方的好友列表及其用户假名的SNS查找结果,用Friend-Set表示SNS查找结果,则Friend-Set={(ID1,pid1),…,(IDi,pidi),…,(IDn,pidn)}。再将Friend-Set中允许查找方访问用户位置的元素划分到集合Friend-Set’。最后,SNS将Friend-Set’发送给查找方。

同时,用户端向LS发送第二查找请求,其中第二查找请求包括:用户假名、查找类型(好友)、查找范围、位置访问控制,其中位置访问控制为:是否显示本端用户的用户位置,例如用字段Y/N/NULL表示不显示本端用户的用户位置,字段Y/NULL/NULL表示显示本端用户的用户位置。

对通过用户假名验证通过的用户,LS查找满足查询范围和被查找距离的所有用户假名,得到初始查找集合。例如当前向LS发送的查找请求条件(pid,l,Y/N/NULL),其中字母l表示用户指定的好友位置的查找范围,则LS查找以用户假名pid的位置(x,y)为圆心,l为半径的圆内满足被好友查找的距离dif的所有用户假名,得到初始查找集合用PID0,其中PID0={pid1,…,pidi,…,pidn},其中i(i=1,…,n),那么PID0中的所有用户假名应该满足以下条件:

dis((x,y),(xi,yi))≤min(l,difi)

其中dis(·)表示距离函数,即计算任意两个用户位置间的距离,min(·)表示计算最小值的函数。

因当前查找类型为好友,LS根据用户端是否发送过N(即位置访问控制设置为:不显示本端用户的用户位置),当查找类型为查找好友时,将集合PID0中的用户假名分为两部分,如果当前用户假名发送过N给LS,则当前用户假名将会被划分到子集合PID1中(被拒绝访问其用户位置),否则划分到子集合PID2(允许访问用户位置);

基于对初始查找集合的划分结果,将子集合PID1,子集合PID2及其对应的用户假名发送给用户端。

用户终端将来自SNS和LS的信息进行匹配,匹配过程:对于任何属于PID1的用户假名pidi,如果pidi属于Friend-Set’,那么用户获取到pidi对应的社交身份ID。对于任何属于PID2的用户假名pidi,如果pidi属于Friend-Set’,那么用户获取到pidi对应的社交身份IDi及位置(xi,yi)。

参见图3,陌生人位置查找请求流程为:

用户端当前已在SNS、LS上完成对应的身份验证后,用户端向用户端向SNS发送第一查找请求,即用户在SNS上验证社交身份ID是否有效。其中第一查找请求包括:社交身份ID、查找类型(陌生人)、社交身份访问权限。

因当前查找类型为陌生人,SNS等待LS发送用户假名集合。

用户端向LS发送第二查找请求,其中第二查找请求包括:用户假名、查找类型(陌生人)、查找范围、位置访问控制(当查找类型为陌生人时,位置方位控制可以缺省设置)。

例如当前向LS发送的查找请求条件为(pid,d,s),其中d表示查找方指定的陌生人位置查找范围。则LS查找同时满足查找范围和被查找距离的所有用户假名,并形成用户假名集合PID,LS将PID发送给用户。

例如查询得到的用户假名集合为PID={(pid1,(x1,y1)),…,(pidi,(xi,yi)),…,(pidn,(xn,yn))},所有PID中的元素满足下列条件:

dis((x,y),(xi,yi))≤min(d,si)

为了进一步增强位置隐私保护,LS随机选择一些用户假名(非添加前的PID中的元素)增加到查询得到的用户假名集合PID中,再将PID发送给在SNS。因此SNS不能区分集合PID中的哪些用户假名满足当前查找方的查找范围(即查找方的访问距离),因此进一步增强了用户的隐私保护。

SNS将接收的集合PID中属于用户好友的用户假名的元素去掉,然后再将PID及其所有元素对应的社交身份ID以{(ID1,pid1),…,(IDi,pidi),…,(IDn,pidn)}的形式发送给用户。

用户接收到来自SNS和LS的消息后,对其进行匹配,匹配过程:对于任何属于集合PID的用户假名pidi,如果pidi属于PID2,那么用户获得pidi对应的社交身份信息IDi和位置(xi,yi)。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1