一种LBS用户位置及身份隐私保护方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201611013779.6
(22)申请日 2016.11.17
(71)申请人 广东工业大学
地址 510062 广东省广州市越秀区东风东
路729号
(72)发明人 程良伦 郭慧 徐金雄 
(74)专利代理机构 广东广信君达律师事务所
44329
代理人 杨晓松
(51)Int.Cl.
H04W  4/02(2009.01)
H04L  29/06(2006.01)
H04L  9/30(2006.01)
H04L  9/08(2006.01)
(54)发明名称
一种LBS用户位置及身份隐私保护方法
(57)摘要
移动互联网技术在飞速发展,成为了现代人
们日常生活中的核心通信设备,随着设备数量的
增多及相关技术的日渐成熟,涌现出一大批基于
位置服务的应用程序(L o c a t i o n  B a s e d
Service),服务提供者需要知道用户的位置,才
能根据位置为其提供相应的服务,但用户提供的
信息中不单只包括位置信息,还可能包含id,请
求服务属性等隐私信息,但是LBS服务器一般是
不可信的,所以用户把这些信息发给LBS服务器,
就可能面临隐私信息泄露的危险。本发明针对上
述问题,提出一种LBS用户位置及身份隐私保护
方法,该方法通过对用户的位置及身份隐私加
密,有效阻止该用户请求信息上传到LBS服务器
途中,被恶意攻击者截获。且也对LBS服务器响应
消息加密,
防止攻击者的推演攻击。权利要求书2页  说明书5页  附图1页CN 106792501 A 2017.05.31
C N  106792501
A
1.一种LBS用户位置及身份隐私保护方法,其特征在于,包括如下步骤:
S1:CA针对每个在线用户生成一对属于用户的密钥对<U private,U public>,且所有用户的公钥U public都在一个公开的公钥库中可以到;
S2:LBS服务器针对每种可能查询的属性生成一对RSA秘钥对<A private,A public>,将查询属性及生成的密钥对中的公钥发送到在线的用户终端中;
S3:用户终端发送查询请求信息之前,根据所请求服务的属性,用对应的公钥对信息进行加密;其中加密包括加密用户的身份信息及位置信息;
S4:LBS服务器在收到该加密请求之后,利用对应的私钥进行解密;
S5:针对用户位置及查询请求,查相关的数据库,挑选合适的响应消息,并从公钥库到用户对应的公钥,加密响应消息之后发送;
S6:用户收到消息之后,利用私钥解密得到该服务。
2.根据权利要求1所述的用户位置及身份隐私保护方法,所述的步骤S3,用对应的公钥对信息进行加密,具体包括如下步骤:
3.1首先将用户属性信息编码,建立属性值与数字字符串之间的映射,其中属性值包括用户的id及位置信息,具体格式如下所示:
上述格式是一个映射过程,用户id为其11位手机号码,因此映射之后的phoneNum为11位。location为经纬度表示,其中经度范围0-180,东经为E,西经为W;纬度范围0-90,北纬为N,南纬为S,因此后面的longitude为4位表示,(E,W)表示其中的一个,西经或东经;latitude为3位表示,(N,S)为南纬或北纬的一个
3.2将上述格式的数字字符串按两个一组,进行分组,假设字符串为k1k2k3…k11(h1h2h3
(E)g1g2(S)),其中g,h,k都表示阿拉伯数字0到9的一个,则分组之后格式如下:
k1k2k3k4k5k6k7k8k9k10k11(h1h2h3Eg1g2S)
3.3利用该用户查询属性值对应的公钥A public将得到的分组数据进行加密,之后按分组顺序组合,添加
一些必要信息之后发送给LBS服务器;具体加密过程如下:
3.3.1假设A public公钥为(m,n),利用公式XX m modn=YY,XX/n=Q将3.2得到的分组数据进行计算,XX表示任意的两位数字分组,YY表示得到的加密数据;分组之后单独的一个数字X,则利用公式X m modn=YY进行计算;n是两个保密素数p,q的乘积。
3.3.2计算完后,对得到的数据进行整理,得到最终的发送密文消息,其中包括对每个XX对应的Q值判断,如果Q=0,则密文消息直接为YY;否则,密文消息为YY(Q),格式如下:k1’k2’k3’k4’k5’k6’(Q1)k7’k8’k9’k10’(Q2)k11’(h1’h2’h3’Eg1’g2’S)
3.3.3将上述密文消息与查询属性service一起发送给LBS服务器。
3.根据权利要求2所述的用户位置及身份隐私保护方法,所述的步骤S4中,LBS服务器在收到该加密请求之后,利用对应的私钥进行解密,具体包括如下步骤:
4.1LBS服务器接收用户上传的请求信息,并根据请求信息中的请求服务属性调取与之对应的RSA私钥A private;
4.2LBS服务器利用获取的RSA私钥A private解密用户上传的请求消息,以获得用户的身份及用户所处的位置,具体包括如下步骤:
4.2.1假设到的对应私钥为A private为(w,n),先将得到的密文消息进行两两分组;
4.2.2利用公式YY w modn=ZZ,并判断该YY之后是否有Q,如果有,则ZZ=ZZ+Q*n,ZZ为解密得到的明文分组;
4.2.3整理ZZ得到明文消息k1k2k3…k100k11(0h1h2h3Eg1g2S),注意此处得到的电话号码为12位数字,其中第11位为0,去掉;位置坐标经度中的首个数字为0去掉,剩余的0保留,即为用户发送的明文消息;
4.3根据用户位置及请求属性,查相对应的数据库,提取满足要求的响应列表。
一种LBS用户位置及身份隐私保护方法
技术领域
[0001]本发明涉及移动互联网安全领域,更具体地,一种LBS用户位置及身份隐私保护方法。
背景技术
[0002]现如今,移动互联网技术在飞速发展,移动设备数量也与日俱增,成为了现代人们日常生活中的
核心通信设备,随着设备数量的增多及相关技术的日渐成熟,涌现出一大批基于位置服务的应用程序(Location Based Service),服务提供者需要知道用户的位置,才能根据位置为其提供相应的服务,但用户提供的信息中不单只包括位置信息,还可能包含id,请求服务属性等隐私信息,但是LBS服务器一般是不可信的,所以用户把这些信息发给LBS服务器,就可能面临隐私信息泄露的危险。例如,如果一个用户想要附近的餐厅,则需要提交附近餐厅的请求。其中这些上传的数据中,就包含用户的敏感信息,包括用户身份、所在位置、请求服务属性。一旦这些信息被攻击者截获,就可能对用户的隐私造成威胁,甚至严重者可能造成严重伤害。
[0003]针对LBS中用户位置隐私保护问题,国内外研究者们进行了大量研究工作,其思想主要是通过对用户位置采用泛化、模糊或掩盖等技术方式,降低攻击者识别用户位置的能力。Gruteser等人最先把关系数据库的K匿名引入到LBS隐私保护领域,提出K匿名度量指标;随机化技术也被用于保护隐私,如DUMMY-Q方法,其通过产生哑元来迷惑攻击者,增加了攻击者识别真实位置的不确定性,但是该方法疏于考虑上下文及用户的运动模型,导致产生的哑元与实际的查询差别较大,从而攻击者很容易就能识别真实的哑元,起不到保护查询隐私的作用。
[0004]因此,本发明针对上述问题,提出一种LBS用户位置及身份隐私保护方法,该方法通过对用户的位置及身份隐私加密,有效阻止该用户请求信息上传到LBS服务器途中,被恶意攻击者截获。且也对LBS服务器响应消息加密,防止攻击者的推演攻击。
发明内容
[0005]本发明为了解决移动互联网中LBS用户位置及身份隐私安全问题,保护用户在得到服务的同时,其敏感信息不会被攻击者识别,提出一种LBS用户位置及身份隐私保护方法。最终达到双重加密的目的,对发送消息加密,有效抵抗了截获攻击;且对响应消息加密,有效的阻止了推演攻击。
[0006]为了实现上述目的,本发明通过如下技术方案实现:
[0007]一种LBS用户位置及身份隐私保护方法方法,包括以下几个步骤:
[0008]S1:CA针对每个在线用户生成一对属于用户的密钥对<U private,U public>,其中U private 表示用户私钥,用来对自身接收到的加密消息解密;U public表示用户公钥,且所有用户的公钥U public都在一个公开的公钥库中可以到,便于其他参与者查,并利用该公钥加密发送给其的消息;
[0009]S2:LBS服务器针对每种可能查询的属性Service生成一对RSA秘钥对<A private, A public>,其中A private表示服务私钥,LBS服务器用其来对接收到的对应加密消息解密;A public 表示LBS服务器发送给用户终端的公钥,用户发送查询请求前,会用对应的公钥加密并发送;
[0010]S3:用户终端发送查询请求信息之前,根据所请求服务的属性,用对应的公钥对信息进行加密;其中加密包括加密用户的身份信息及位置信息。
[0011]S4:LBS服务器在收到该加密请求之后,利用对应的私钥进行解密;
[0012]S5:针对用户位置及查询请求,查相关的数据库,从中挑选合适的响应消息,并从公钥库到用户对应的公钥,加密响应消息之后发送;
[0013]S6:用户收到消息之后,利用私钥解密得到该服务。
[0014]在步骤3中,用户对发送的信息进行加密,具体包括如下步骤:
[0015]  3.1首先将用户属性信息编码,建立属性值与数字字符串之间的映射,其中属性值包括用户的id及位置信息(经纬度坐标),其具体格式如下所示:
[0016]
[0017]上述格式是一个映射过程,用户id为其11位手机号码,因此映射之后的phoneNum 为11位。location为经纬度表示,其中经度范围0-180(东经为E,西经为W);纬度范围0-90 (北纬为N,南纬为S),因此后面的longitude为4位表示,(E,W)表示其中的一个,西经或东经;latitude为3位表示,(N,S)为南纬或北纬的一个。
[0018]  3.2将上述数字字符串按两个一组,进行分组,假设字符串为k1k2k3…k11(h1h2h3(E) g1g2(S)),其中g,h,k都表示阿拉伯数字0到9的一个,则分组之后格式如下:
[0019]k1k2 k3k4 k5k6 k7k8 k9k10 k11(h1h2h3Eg1g2S)
[0020]  3.3利用该用户查询属性值对应的公钥A public将得到的分组数据进行加密,之后按分组顺序组合,添加一些必要信息之后发送给LBS服务器;具体加密过程如下:
[0021]  3.3.1假设A public公钥为(m,n),利用公式XX m modn=YY,XX/n=Q将3.2得到的分组数据进行计算,XX表示任意的两位数字分组,YY表示得到的加密数据。注意其中比较特殊的情况,有分组之后单独的一个数字X,则利用公式X m modn=YY进行计算;
[0022]  3.3.2都计算之后,对得到的数据进行整理,得到最终的发送密文消息,其中包括对每个XX对应的Q值判断,如果Q=0,则密文消息直接为YY;否则,密文消息为YY(Q),格式如下:
[0023]k1’k2’k3’k4’k5’k6’(Q1)k7’k8’k9’k10’(Q2)k11’(h1’h2’h3’Eg1’g2’S)
[0024]  3.3.3将上述密文消息与查询属性service一起发送给LBS服务器。
[0025]在该身份及位置信息隐私保护方法中,每个查询属性对应的公钥,生成n的两个素数都是由服务器根据要求随机生成;
[0026]步骤4中,LBS服务器利用查询属性的私钥解密接收到的用户请求,并查响应,具体包括如下步骤:
[0027]  4.1LBS服务器接收用户上传的请求信息,并根据请求信息中的请求服务属性调取与之对应的RSA私钥A private;
[0028]  4.2LBS服务器利用获取的RSA私钥A private解密用户上传的请求消息,以获得用户的身份及用户所处的位置,具体包括如下步骤:

本文发布于:2024-09-21 19:53:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/430279.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   信息   位置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议