一种基于云服务器的位置隐私保护方法与流程

文档序号:12917499阅读:460来源:国知局
一种基于云服务器的位置隐私保护方法与流程

本发明涉及数据加密与位置隐私保护技术领域,具体地说是一种适用于移动网络中保护移动用户位置隐私与数据机密性的隐私保护方法。



背景技术:

在基于位置的数据服务中,用户根据所处位置请求服务,用户希望获取服务的同时,能够不泄露敏感隐私信息,如位置信息等。基于位置的服务(location-basedservices,简称lbs)的隐私保护技术主要有:位置匿名技术、数据加密技术等。

位置匿名技术关注的是将用户的隐私信息,如位置信息,与用户的真实信息进行分开。常见的位置匿名技术包括假名匿名、位置k匿名、空间匿名等。(1)假名匿名指通过一个假名用户的位置来隐藏真实用户的真实位置,所以查询的准确度由假名用户的位置和真实用户的位置的距离来决定;(2)位置k匿名主要是使某个位置区域有至少k个用户,并将这k个用户的身份属性匿名,使得他们之间无法通过身份来进行区别。所以,即使获得了某一个用户的位置信息,攻击者也无法从这k个用户中准确的找出这个用户。所以,隐私保护的程度取决于k的取值大小;(3)空间匿名主要是用户在发送请求时,并不将自己精确的位置信息发送给服务器,而是发送所在位置的某一区域给服务器,根据实际情况,这个区域可以是任意形状。

数据加密技术是利用加密数据来保护用户的敏感数据,如位置信息。常见的数据加密技术有对称和非对称加密、同态加密、安全多方计算等。(1)常见的对称加密算法有des、aes、rc2等;常见的非对称加密算法有椭圆曲线加密算法、rsa算法、elgamal算法等;(2)同态加密主要是在未知明文的情况下,对密文的操作相当于对明文的操作,通过解密密文即可得到操作后的明文结果。同态加密一般应用于用户将密文数据传送至服务器,服务器对密文数据进行操作,从而保护用户的数据隐私;(3)安全多方计算常应用于有多个参与方的计算环境或者分布式计算中,其特点是两方或者多方用各自的秘密输入,共同计算一个函数,计算结束,参与方都能得到正确的输出,并且只能得到自己了解的输出。

一方面,已有基于位置服务的主流隐私保护技术还存在很多不足,例如通信开销或计算开销过大,泄露部分隐私,需要可信的密钥管理中心等。此外,在上述主流的隐私保护技术中,通常是将所有数据存储在lbs服务器上,然后根据位置信息返回相关数据。在大数据时代,数据服务提供商的过量存储可能会是lbs发展的瓶颈。另一方面,当今云服务的流行给数据存储带来了巨大的变革,大量的数据可以交付给云存储从而降低本地的存储代价。用户可以通过直接访问云,下载查阅数据。当然方便服务的同时也伴随着数据隐私泄露的风险,所以一般将数据加密后存储到云上。



技术实现要素:

本发明借助云服务器,结合数据加密、不经意传输与空间匿名思想,提出一种基于云服务器的位置隐私保护方法,以期能够有效地解决基于位置服务中的数据隐私和位置隐私保护问题,同时降低数据服务提供商sp的存储代价、计算代价和通信代价,从而在保证用户位置隐私的同时降低系统开销。

本发明为解决技术问题所采用的技术方案是:

本发明一种基于云服务器的位置隐私保护方法,是应用于若干个移动用户、一个数据服务提供商和一个云服务器构成的分布式网络环境中,所述分布式网络环境位于同一个地图区域内,记任意一个移动用户为u、数据服务提供商为sp、云服务器为cs;其特点是,所述位置隐私保护方法是按照如下步骤进行:

步骤1、所述数据服务提供商sp生成并公布系统参数;

步骤2、所述数据服务提供商sp将所有与位置相关的数据根据地图区域进行分块,并利用公钥对每个区域的分块数据进行加密,再将加密后的分块数据上传至所述云服务器cs中存储;其中,不同区域上的分块数据对应的公、私钥不同;

步骤3、所述任意移动用户u根据自身当前实际位置获取所在区域分块数据的密文,并利用不经意传输协议向所述数据服务提供商sp请求所在区域分块数据的私钥,从而解密密文,并得到相应的明文数据;

步骤4、所述数据服务提供商sp定期更新所有分块数据的密钥,并由所述云服务器cs定期更新所有分块数据的密文。

本发明所述的位置隐私保护方法的特点也在于,所述步骤2是按如下步骤进行:

步骤2.1、所述数据服务提供商sp公开一个按照所述地图区域的外接矩形所建立的坐标系,并将所述地图区域在所述坐标系内划分为s×t个分块,其中任意一个分块记为dij,1≤i≤s,1≤j≤t;

步骤2.2、所述数据服务提供商sp通过引入一些虚拟数据,将所有与位置相关的数据进行格式标准化处理,使得每个分块内的数据从格式和数量上保持一致;并将任意分块dij内的数据记为mij;

步骤2.3、所述数据服务提供商sp为任意分块dij生成公私钥(pkij,skij),并公开公钥pkij,秘密保存私钥skij;

步骤2.4、所述数据服务提供商sp利用任意分块dij的公钥pkij对数据mij进行eigaml算法加密,形成密文后传送给所述云服务器cs存储。

步骤3是按如下步骤进行:

步骤3.1、所述任意移动用户u根据当前自身所在地图区域中的实际位置,获取所属分块dab,其中1≤a≤s,1≤b≤t;

步骤3.2、所述任意移动用户u利用不经意传输协议得到所属分块dab的私钥skab;

步骤3.3、所述任意移动用户u根据当前所属分块dab从所述云服务器cs上下载相应的密文并利用私钥skab进行解密,从而得到明文数据mab。

所述步骤4是按如下过程进行:

步骤4.1、所述数据服务提供商sp随机生成一个私钥skij'作为任意分块dij的新私钥,并根据所述新私钥sk′ij计算得到新公钥pk′ij,并秘密保存所述新私钥sk′ij,只公开所述新公钥pk′ij;

步骤4.2、所述数据服务提供商sp根据所述任意分块dij的所述新私钥sk′ij和所述新公钥pk′ij,生成一个辅助消息fij并发送给所述云服务器cs;

步骤4.3、所述云服务器cs根据所述辅助消息fij以及所述新公钥pk′ij对相应分块dij的密文进行更新,得到更新后的密文并存储。

与已有的保护位置隐私的方法相比,本发明的有益效果体现在:

1、本发明借助云存储服务,将原本存储在数据服务提供商的大量数据转换成密文,转存到云服务器,不仅有效地保护了数据隐私,而且有效地降低了数据服务提供商sp的存储代价;

2、本发明中用户通过不经意传输协议获取密文数据的解密密钥,从而有效地保护了用户的位置隐私,并且数据服务提供商只需要返回解密密钥的加密结果给用户即可,无需返回真实的密文数据,所以有效地降低了用户与数据服务提供商间的通信代价;

3、本发明中数据服务提供商在更新分块密钥和密文时,只需要更新每一个分块的密钥,而相应密文的更新操作由云服务器完成,因此,本发明有效地降低了数据服务提供商的计算代价;

4、本发明中数据服务提供商在每个分块中适度增加虚拟数据,使得所有分块的数据格式与大小完全一致,减少了信息泄露的风险,从而提高了系统的安全性。

5、本发明中的密钥生成、分发与更新完全由数据服务提供商独立管理,不需要借助其他的密钥管理中心或可信的第三方,从而降低了系统的实现成本,也即提高了系统的可实现性。

附图说明

图1为本发明的系统模型图;

图2为本发明的数据区块划分图。

具体实施方式

下面对本发明技术方案结合附图和实施例进行详细的说明,但是本发明的保护范围并不局限于所述实施例。

如图1所示,本实施例中,一种基于云服务器的位置隐私保护方法是应用于若干个移动用户、一个数据服务提供商和一个云服务器构成的分布式网络环境中,该网络环境位于同一个地图区域内,其具体的实体模型如图1所示:①移动用户u。特点是根据位置获得服务,可移动;②数据服务提供商sp。初始化整个系统,且为数据拥有者,可以为移动用户提供基于位置的多样化服务,该机构半可信。③云服务器cs。数据服务提供商sp通过付费或者交付等方式将数据存储在cs上,云服务器cs上存储的数据是完全公开的,该机构半可信。移动用户u的身份由数据提供商sp认证,并假定云服务器cs能正确识别数据提供商sp。

数据服务提供商sp将数据按照位置分块加密,不同位置上的分块对应的加、解密钥不同,继而数据服务提供商sp把所有分块的加密数据上传并存储至云服务器cs中,移动用户u根据自己的位置从云服务器cs中获得所在分块的加密数据,并向数据服务提供商请求相应的解密密钥。具体的说,位置隐私保护方法是按如下步骤进行:

步骤1、数据服务提供商sp生成并公布系统参数;

(1.1)给定一个安全参数d,数据服务提供商sp建立有限域fp,其中大素数p按照如下步骤生成:

a)确定大素数p的位长d;根据具体的安全需求,如设定安全参数l=1024,则在elgamal密码体制中,d=1024;

b)随机生成一个位长为d比特的末位为1的奇数q;

c)采用素数检测方法判断q是否为素数,若是则令p=q,否则重新执行步骤b。

(1.2)数据服务提供商sp在有限域fp上选取一个乘法循环群g,且循环群g的阶为q;

(1.3)数据服务提供商sp选取乘法循环群g的两个q阶随机生成元,标记为g、h;

(1.4)数据服务提供商sp公布系统参数{l,fp,g,q,g,h}。

步骤2、数据服务提供商sp将所有与位置相关的数据根据地图区域进行分块,并利用公钥对每个区域的分块数据进行加密,再将加密后的分块数据上传至云服务器cs中存储;其中,不同区域上的分块数据对应的公、私钥不同;

步骤2.1、数据服务提供商sp公开一个按照地图区域的外接矩形所建立的坐标系,并将地图区域在坐标系内划分为s×t个分块,其中任意一个分块记为dij,1≤i≤s,1≤j≤t;

(2.1.1)如图2所示,数据服务提供商sp根据区域切边线,将整个区域规整为一个矩形,并建立坐标系;

(2.1.2)数据服务提供商sp将规整后的矩形按照一定的区域规则划分为s×t个大小相等的分块,并将每个分块标记为dij,其中1≤i≤s,1≤j≤t;

这里s×t的大小与服务精度以及计算和通信代价有关,s×t越大,用户查询返回的数据将越少,服务精度降低,且计算和通信代价将越高;反之,s×t越小,用户查询返回的数据将越多,服务精度提高,且计算和通信代价将越小。

步骤2.2、数据服务提供商sp通过引入一些虚拟数据,将所有与位置相关的数据进行格式标准化处理,使得每个分块内的数据从格式和数量上保持一致;并将任意分块dij内的数据记为mij;

(2.2.1)数据服务提供商sp统一每一个分块数据的大小,具体实施可以为:取分块数据中的最大数据项和数据长度为标准,为其他稀疏分块添加虚拟数据点,使得任意两个分块无法从数据格式和数据量上进行位置区分。

(2.2.2)数据服务提供商sp将分块dij的数据整体抽象标记为mij,其中1≤i≤s,1≤j≤t;

步骤2.3、数据服务提供商sp为任意分块dij生成公私钥(pkij,skij),并公开公钥pkij,秘密保存私钥skij;

(2.3.1)数据服务提供商sp为每一个分块选取随机数并计算其中1≤i≤s,1≤j≤t。则pkij为分块dij的公钥,skij=xij为分块dij的私钥。

(2.3.2)数据服务提供商sp公开所有的分块公钥pkij,由于离散数学困难问题假设,用户即使知道公钥pkij,也无法得到私钥skij;秘密保存所有分块的私钥skij,并建立隐私数据库,存储所有的分块私钥。

步骤2.4、数据服务提供商sp利用任意分块dij的公钥pkij对数据mij进行eigaml算法加密,形成密文后传送给云服务器cs存储。

(2.4.1)数据服务提供商sp利用分块公钥pkij对分块数据mij进行加密。在实际应用过程中mij的长度一般都较长,为了表述更清晰,这里假定mij仅为一个明文分组。具体的加密实施方式可以为:sp随机选取并计算

形成密文其中1≤i≤s,1≤j≤t。

(2.4.2)数据服务提供商sp将所有的分块加密数据传送给云服务器cs。

步骤3、任意移动用户u根据自身当前实际位置获取所在区域分块数据的密文,并利用不经意传输协议向数据服务提供商sp请求所在区域分块数据的私钥,从而解密密文,并得到相应的明文数据;

步骤3.1、任意移动用户u根据当前自身所在地图区域中的实际位置,获取所属分块dab,其中1≤a≤s,1≤b≤t;

步骤3.2、任意移动用户u利用不经意传输协议得到所属分块dab的私钥skab;

(3.2.1)任意移动用户u根据自身所属区域dab,计算v=b+(a-1)×t,并选取随机数计算z=grhv,将z发送给数据服务提供商sp。

(3.2.2)数据服务提供商sp收到z后,为每一个分块选取随机数并计算其中1≤i≤s,1≤j≤t。将所有的发送给移动用户u。

(3.2.3)移动用户u收到所有的后,可以计算得到所在位置的解密密钥skab;

步骤3.3、任意移动用户u根据当前所属分块dab从云服务器cs上下载相应的密文并利用私钥skab进行解密,从而得到明文数据mab。

移动用户u利用解密密钥skab按照如下方式进行解密:

从而得到明文数据mab;

步骤4、数据服务提供商sp定期更新所有分块数据的密钥,并由云服务器cs定期更新所有分块数据的密文。

步骤4.1、数据服务提供商sp随机生成一个私钥sk′ij作为任意分块dij的新私钥,并根据新私钥sk′ij计算得到新公钥pk′ij,并秘密保存新私钥sk′ij,只公开新公钥pk′ij;

步骤4.2、数据服务提供商sp根据任意分块dij的新私钥sk′ij和新公钥pk′ij,生成一个辅助消息fij并发送给云服务器cs;

(4.2.1)数据服务提供商sp根据新私钥sk′ij以及秘密保存的原私钥skij,计算δxij=sk′ij-skij(modq)(即sk′ij=skij+δxij(modq)),pk′ij=pkij·δpkij;

(4.2.2)数据服务提供商sp计算其中从云服务器cs中获取,则辅助消息fij=(c′ij,δpkij),并将fij发送给云服务器cs;

步骤4.3、云服务器cs根据辅助消息fij以及新公钥pk′ij对相应分块dij的密文进行更新,得到更新后的密文并存储。

(4.3.1)云服务器cs收到辅助消息(c′ij,δpkij)后,选取随机数计算更新后的密文具体实施可以按照下面的方式:

(4.3.2)云服务器cs将存储的密文更新为由于离散对数困难性假设问题,用户u在没有获得更新后的私钥sk′ij的情况下,即使其拥有原私钥skij,以及获取更新后的密文也无法解密获取明文数据mij;同样地,由于云服务器不能获得任何分块的原/更新后的私钥skij/sk′ij,当然也无法解密任何分块的原/更新后的密文从而获知真实的数据。

进一步的,步骤(4.3.2)中,密文更新的正确性推理分别如式(6)和式(7)所示:

进一步的,基于云服务器的位置隐私保护方法中的密钥以及密文安全性基于离散数学困难性假设问题(discretelogarithmproblem,dlp):给定元素ga∈g,求解

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