法律状态公告日
法律状态信息
法律状态
2017-05-17
授权
授权
2015-01-07
实质审查的生效 IPC(主分类):H04L29/06 申请日:20140919
实质审查的生效
2014-12-17
公开
公开
技术领域
本发明属于信息安全技术领域,具体涉及一种用户隐私保护系统及方法,可在云计算 背景下为用户终端提供准确高效的基于位置的服务,并实现数据资源和用户终端位置信息 的有效隐私保护。
背景技术
随着移动互联网技术的发展,基于位置服务可以给生活带来很大的便利,得到了人们 越来越多的使用。传统的基于位置服务系统由服务提供商存储海量的数据资源,当用户终 端需要基于位置服务时,它根据自己的位置参数和需求参数发送请求给服务提供商,服务 提供商在自身存储的数据资源上进行搜索后,为用户终端返回满足需求的数据。然而,这 样的系统不仅使服务提供商面临繁琐复杂的计算,也带来隐私保护的巨大挑战,尤其是用 户终端的位置隐私和数据资源的隐私受到严重威胁。
为了解决上述问题,人们提出了一些解决方案,其中:
中国人民大学的专利“一种防止位置依赖攻击的位置隐私保护方法”(申请号 201010193366.7申请公布号CN101909050A)公开了一种防止位置依赖攻击的位置隐私保 护方法,该方法包括以下步骤:1.移动用户将查询请求发送给匿名服务器;2.匿名服务器 对查询请求进行位置匿名处理,并将匿名处理后的请求发送给基于位置服务的数据库服务 器;3.数据库服务器根据所收到的请求进行查询处理,并将查询结果的候选集返回给匿名 服务器;4.匿名服务器从数据库服务器返回的候选结果中选择正确的查询结果返回给相应 的移动用户。该方法虽然能实现用户位置的隐私保护,但其存在的不足之处是:处理过程 复杂,计算需求量大,不能实现高效的基于位置服务,且不能实现数据资源的隐私保护。
发明内容
本发明目的在于针对上述现有技术的不足,提出面向基于位置服务的用户隐私保护系 统及方法,以在保证用户隐私和数据资源隐私的前提下,减小计算复杂度,节约服务提供 商的计算成本,有效提高基于位置服务的效率。
本发明的技术方案是这样实现的:
1.一种面向基于位置服务的用户隐私保护系统,包括:基于位置服务器、外包云服务 器和用户终端,
该基于位置服务器,用于为外包云服务器提供加密的数据资源,并为用户终端和外包 云服务器提供注册,该数据资源是指包含位置坐标和详细描述的基于位置信息;
该外包云服务器,用于存储来自基于位置服务器的加密数据资源,为用户终端提供查 询服务,并在提供服务时与用户终端之间进行双向身份认证;
该用户终端,用于发送服务请求给外包云服务器,接收外包云服务器返回的数据信息, 并在接受服务时与外包云服务器之间进行双向身份认证。
上述面向基于位置服务的用户隐私保护系统,其中基于位置服务器包括:
系统初始化模块,用于初始化系统,分别生成系统的公共参数、基于位置服务器的公 私钥对、对数据资源对称加密的密钥以及对位置坐标加密处理的公私钥对,并选择对数据 资源进行处理所用的加密算法和杂凑函数;
注册模块,用于为用户终端和外包云服务器提供注册,并向注册成功的用户终端和外 包云服务器分发密钥;
数据加密模块,用于对基于位置服务器拥有的数据资源进行加密,并将加密后的数据 资源发送给外包云服务器。
上述面向基于位置服务的用户隐私保护系统,其中外包云服务器包括:
云服务器认证模块,用于外包云服务器在注册时生成自己的公私钥对,在给用户终端 提供服务前对用户终端的服务请求进行验证,并在得到用户终端所需的数据信息列表后对 其进行签名;
数据存储模块,用于存储来自基于位置服务器的加密数据资源;
服务提供模块,用于根据用户终端提供的位置参数,在加密的数据资源上进行匹配计 算,得到满足用户需求的数据信息列表,并发送该数据信息列表和对应签名给用户终端。
上述面向基于位置服务的用户隐私保护系统,其中用户终端包括:
用户认证模块,用于用户终端在注册时生成自己的公私钥对,在给外包云服务器发送 服务请求前对服务请求进行签名,并在接收到外包云服务器发送的数据信息列表后对外包 云服务器的签名进行验证;
服务请求模块,用于用户终端根据自身位置坐标计算位置参数,生成基于位置的服务 请求,并将该服务请求和对应签名发送给外包云服务器;
数据解密模块,用于用户终端在验证外包云服务器发送的查询结果列表中的签名后, 执行解密操作得到所需的基于位置服务信息。
2.一种面向基于位置服务的用户隐私保护方法,包括:
(1)系统参数初始化步骤:
(1a)基于位置服务器选择一个安全参数l;
(1b)基于位置服务器根据安全参数l,找到两个l位的大素数q1和q2,计算得到以g 为生成元的n阶双线性映射群G,其中n=q1·q2,g∈Zn*,Zn*是n-1阶非零整数群;
(1c)根据步骤(1b)得到的双线性映射群G,基于位置服务器计算双线性映射群G 的另一个生成元u,并根据双线性映射函数e()计算双线性映射群G的映射群GT;
(1d)基于位置服务器根据步骤(1b)得到的生成元u和大素数q2,计算系统参数
(1e)基于位置服务器根据步骤(1b)得到的生成元g和大素数q1,以及双线性映射 函数e(),计算对位置坐标加密处理的私钥和与该私钥SB对应的公钥
(1f)基于位置服务器随机选择SKLBS∈Zn*作为自己的私钥,同时根据步骤(1b)得 到的生成元g计算与其私钥SKLBS对应的公钥
(1g)基于位置服务器随机选择k∈Zn*作为对称加密的密钥;
(2)注册及密钥分发步骤:
(2a)用户终端在注册时,随机选择作为自己的私钥,同时根据步骤(1b) 得到的生成元g计算与其私钥对应的公钥并将自己的公钥发送给 基于位置服务器;
(2b)外包云服务器在注册时,随机选择SKcs∈Zn*作为自己的私钥,同时根据步骤 (1b)得到的生成元g计算与其私钥SKcs对应的公钥并将自己的公钥PKcs发 送给基于位置服务器;
(2c)基于位置服务器发送对位置坐标加密处理的私钥SB和对称加密的密钥k给注册 成功的用户,保存自己的私钥SKLBS和大素数q1;
(2d)基于位置服务器向注册成功的用户终端和外包云服务器公开自己的公钥PKLBS、 群参数n、生成元g、n阶双线性映射群G和GT、系统参数h和对位置坐标加密处理的公 钥PB,并公开所有注册成功的用户终端的公钥和外包云服务器的公钥PKcs;
(2e)基于位置服务器选择一个安全的对称加密算法E()和一个安全的杂凑函数H(), 并向注册成功的用户终端和外包云服务器公开该对称加密算法E()和杂凑函数H();
(3)数据资源加密步骤
(3a)基于位置服务器对自己拥有的每一项数据资源都加密得到一个数据列表,并发 送该数据列表给外包云服务器;
(3b)外包云服务器接收到基于位置服务器发送的若干个数据列表后,按照基于位置 服务器的编号IDLBS存储上述的若干个数据列表;
(4)用户终端服务请求产生步骤:
(4a)用户终端获得自己的位置坐标(xc,yc),并产生基于位置服务请求;
(4b)用户终端将基于位置服务请求发送给外包云服务器;
(5)外包云服务器提供服务步骤:
(5a)外包云服务器接收到用户终端发送的基于位置服务请求后,将时间戳TS与当前 时间T进行比较,若TS早于T且|T-TS|≤NT,则执行步骤(5b),否则,外包云服务器拒 绝提供服务,其中NT为系统的最大通信时延;
(5b)外包云服务器将基于位置服务器的编号IDLBS、查询参数d、用户位置参数 (rq1,rq2,rq3,rq4)、用户终端的编号Ui和时间戳TS共同作为杂凑函数H()的输入,计算得 到用户请求杂凑值H1=H(IDLBS||d||rq1||rq2||rq3||rq4||Ui||TS),并根据用户请求杂凑值H1、 生成元g、用户终端签名及用户终端的公钥利用双线性映射函数e(),判断等 式是否成立,若该等式成立,执行步骤(5c),否则,外包云服务 器拒绝提供服务;
(5c)外包云服务器对编号为IDLBS的基于位置服务器存储在其上的每一项加密数据 资源都进行匹配操作,得到满足用户查询条件的数据信息列表TRL;
(5d)外包云服务器将数据信息列表TRL、外包云服务器的编号IDcs和时间戳TS′共同 作为杂凑函数H()的输入,计算云服务器服务杂凑值H2=H(TRL||IDCS||TS′),并用自己的 私钥SKcs对云服务器服务杂凑值H2进行签名,得到外包云服务器的签名
(5e)外包云服务器将数据信息列表TRL、外包云服务器的编号IDCS、时间戳TS′和 外包云服务器的签名Sigcs组成查询结果列表,并将该查询结果列表发送给用户终端;
(6)用户终端获得查询结果步骤:
(6a)用户终端接收到外包云服务器发送的查询结果列表后,将时间戳TS′与当前时 间T′进行比较,若TS′早于T′且|T′-TS′|≤NT,则执行步骤(6b),否则,返回步骤(4a), 其中NT为系统的最大通信时延;
(6b)用户终端将数据信息列表TRL、外包云服务器的编号IDCS和时间戳TS′共同作 为杂凑函数H()的输入,计算得到云服务器服务杂凑值H2=H(TRL||IDCS||TS′),并根据云 服务器服务杂凑值H2、生成元g、外包云服务器的签名Sigcs及外包云服务器的公钥PKcs, 利用双线性映射函数e(),判断等式e(g,Sigcs)=e(PKCS,H2)是否成立,若该等式成立,执 行步骤(6c),否则,返回步骤(4a);
(6c)用户终端根据对称加密密钥k,利用对称加密算法E()对数据信息列表TRL进行 解密,得到满足查询条件的数据资源。
本发明与现有技术相比具有如下优点:
1.能实现高效服务。
本发明中由外包云服务器来完成大量的匹配计算,而外包云服务器具有强大的计算能力, 可快速的完成大量的数据处理,大大提高了基于位置服务的效率。
2.实现了用户位置信息的隐私保护。
本发明中用户终端在给外包云服务器发送服务请求前,由于先对自己的位置信息进行加密, 使得用户终端的位置信息不会被外包云服务器和敌手得到,确保了用户位置信息的隐私保护
3.实现了数据资源的隐私保护。
本发明中基于位置服务器在把数据资源存放到外包云服务器前,由于先对数据资源进行加 密,使得丰富的数据资源不会被外包云服务器得到,确保了数据资源的隐私保护。
附图说明
图1为本发明系统的方框图;
图2为本发明方法的流程图。
具体实施方式
下面结合附图对本发明做进一步的详细描述。
参照图1,本发明系统包括基于位置服务器、外包云服务器和用户终端三大模块。其 中:基于位置服务器完成系统的初始化,对用户终端和外包云服务器提供注册,并向注册 成功的用户终端和外包云服务器分发密钥,并将自身拥有的数据资源加密后发送给外包云 服务器;外包云服务器接收并存储基于位置服务器发送的加密数据资源,接收用户终端发 送的服务请求,并在加密的数据资源上匹配计算得到查询结果,发送查询结果给用户终端; 用户终端发送基于位置的服务请求给外包云服务器,并接收到用户终端发送的查询结果列 表。同时,用户终端和外包云服务器在进行服务时会进行双向的认证。
所述的基于位置服务器,包括:系统初始化模块、注册模块和数据加密模块。
该系统初始化模块,用于完成对系统的初始化工作,即根据系统的安全参数l得到两 个大素数q1和q2、群参数n、生成元g、n阶双线性映射群G和GT、系统参数h,并计算 对位置坐标加密处理的公钥PB和对应私钥SB、基于位置服务器的公钥PKLBS和对应私钥 SKLBS以及对数据资源对称加密的密钥k;选择对数据资源进行处理所用的对称加密算法 E()和杂凑函数H();
该注册模块,用于为用户终端和外包云服务器提供注册,即在用户终端和外包云服务 器注册时保存注册对象生成的公钥,并向注册成功的用户终端发送对位置坐标加密处理的 私钥SB和对称加密的密钥k,同时向注册成功的用户终端和外包云服务器发送基于位置服 务器的公钥PKLBS、群参数n、生成元g、n阶双线性映射群G和GT、系统参数h和对位 置坐标加密处理的公钥PB,公开所有注册成功的用户终端的公钥和外包云服务器的 公钥PKcs;
该数据加密模块,用于基于位置服务器对自身拥有的每一项数据资源都计算位置坐标 参数,利用对称加密算法E()和对称加密密钥k计算数据资源加密结果,并将上述计算结 果组成数据列表发送给外包云服务器。
所述的外包云服务器,包括:云服务器认证模块、数据存储模块和服务提供模块。
该云服务器认证模块,用于外包云服务器在注册时生成自己的公私钥对,在给用户终 端提供服务前对用户终端的服务请求进行验证,并在计算得到用户终端查询的数据信息列 表后,对该数据信息列表进行签名;
该数据存储模块,用于根据基于位置服务器的编号来存储基于位置服务器发送的加密 数据资源;
该服务提供模块,用于根据用户终端发送的基于位置服务请求中提供的参数,对指定 的基于位置服务器存储在其上的每一项加密的数据列表都进行匹配,得到满足用户需求的 数据信息列表,并在云服务器认证模块对该数据信息列表进行签名后,将数据信息列表和 对应签名组成查询结果列表,发送该查询结果列表给用户终端。
所述的用户终端,包括:用户认证模块、服务请求模块和数据解密模块。
该用户认证模块,用于用户终端在注册时生成自己的公私钥对,在发送基于位置服务 请求前对服务请求参数进行签名,并在接收到外包云服务器发送的数据信息列表后对外包 云服务器的签名进行验证;
该服务请求模块,用于用户终端在需要基于位置服务时,根据自身位置坐标计算四个 位置参数,并选择合理的查询参数,对上述参数用自身私钥进行签名,并发送请求参数和 对应签名给外包云服务器;
该数据解密模块,用于用户终端在验证外包云服务器发送的数据信息列表后,对加密 的数据资源执行解密操作得到满足查询条件的基于位置服务信息。
参照图2,本发明面向基于位置服务的用户隐私保护方法,包括如下步骤:
步骤1,系统参数初始化。
1.1)基于位置服务器选择一个安全参数l,该安全参数l越大,则系统的安全性能越 好,同时系统的计算开销也越大;
1.2)基于位置服务器根据安全参数l,找到两个l位的大素数q1和q2,计算得到以g 为生成元的n阶双线性映射群G,其中n=q1·q2,g∈Zn*,Zn*是n-1阶非零整数群;
1.3)根据双线性映射群G,基于位置服务器计算双线性映射群G的另一个生成元u, 并根据双线性映射函数e()计算双线性映射群G的映射群GT;
1.4)基于位置服务器根据生成元u和大素数q2,计算系统参数
1.5)基于位置服务器根据生成元g和大素数q1,以及双线性映射函数e(),计算对位 置坐标加密处理的私钥和与该私钥SB对应的公钥
1.6)基于位置服务器随机选择SKLBS∈Zn*作为自己的私钥,其中Zn*是n-1阶非零整 数群,同时根据生成元g计算与其私钥SKLBS对应的公钥
1.7)基于位置服务器随机选择k∈Zn*作为对称加密的密钥。
步骤2,用户终端和外包云服务器注册。
2.1)用户终端在注册时,随机选择作为自己的私钥,同时根据生成元g计 算与其私钥对应的公钥并将自己的公钥发送给基于位置服务器;
2.2)外包云服务器在注册时,随机选择SKcs∈Zn*作为自己的私钥,同时根据生成元 g计算与其私钥SKcs对应的公钥并将自己的公钥PKcs发送给基于位置服务器。
步骤3,基于位置服务器分发密钥。
3.1)基于位置服务器发送对位置坐标加密处理的私钥SB和对称加密的密钥k给注册 成功的用户,保存自己的私钥SKLBS和大素数q1;
3.2)基于位置服务器向注册成功的用户终端和外包云服务器公开自己的公钥PKLBS、 群参数n、生成元g、n阶双线性映射群G和GT、系统参数h和对位置坐标加密处理的公 钥PB,并公开所有注册成功的用户终端的公钥和外包云服务器的公钥PKcs;
3.3)基于位置服务器选择一个安全的对称加密算法E()和一个安全的杂凑函数H(), 并向注册成功的用户终端和外包云服务器公开该对称加密算法E()和杂凑函数H()。
步骤4,基于位置服务器对数据资源进行加密。
4.1)基于位置服务器根据数据资源的位置坐标(xs,ys)、对称加密密钥k和杂凑函数 H(),计算添加扰乱的位置坐标其中
4.2)基于位置服务器选择两个随机数和其中并根据生成元 g、系统参数h、添加扰乱的位置坐标和对位置坐标加密处理的公钥PB,计算四个 位置参数:
4.3)基于位置服务器根据对称加密密钥k,利用对称加密算法E()对数据资源的位置 坐标(xs,ys)和描述信息zs进行加密,得到加密后的数据资源Es=Ek(xs||ys||zs);
4.4)基于位置服务器把自己的编号IDLBS、数据资源编号Ns、四个位置参数 和加密后的数据资源Es组成数据列表,并发送数据列表给外包云服务器;
4.5)外包云服务器在接收到基于位置服务器发送的若干个数据列表后,按照基于位置 服务器的编号IDLBS将这些数据列表进行存储。
步骤5,用户终端产生服务请求。
5.1)用户终端获得自己的位置坐标(xc,yc)后,根据对称加密密钥k、杂凑函数H()和 自身位置坐标(xc,yc),计算添加扰乱的用户位置坐标(x0,y0),其中x0=xc+H(k), y0=yc+H(k);
5.2)用户终端根据对位置坐标加密处理的公钥PB和对应私钥SB,以及添加扰乱的用 户位置坐标(x0,y0),计算四个用户位置参数:
5.3)用户终端确定基于位置服务的查询参数d;
5.4)用户终端将基于位置服务器的编号IDLBS、查询参数d、用户位置参数 (rq1,rq2,rq3,rq4)、用户终端的编号Ui和时间戳TS共同作为杂凑函数H()的输入,计算用 户杂凑值H1=H(IDLBS||d||rq1||rq2||rq3||rq4||Ui||TS),并用自己的私钥对用户杂凑值H1进行签名,得到用户终端签名
5.5)用户终端将基于位置服务器的编号IDLBS、查询参数d、用户位置参数 (rq1,rq2,rq3,rq4)、用户终端的编号Ui、时间戳TS和用户终端签名组成基于位置服 务请求;
5.6)用户终端将基于位置服务请求发送给外包云服务器。
步骤6,外包云服务器提供服务。
6.1)外包云服务器接收到用户终端发送的基于位置服务请求后,将时间戳TS与当前 时间T进行比较,若TS早于T且|T-TS|≤NT,则执行步骤6.2),否则,外包云服务器拒绝 提供服务,其中NT为系统的最大通信时延;
6.2)外包云服务器将基于位置服务器的编号IDLBS、查询参数d、用户位置参数 (rq1,rq2,rq3,rq4)、用户终端的编号Ui和时间戳TS共同作为杂凑函数H()的输入,计算得 到用户请求杂凑值H1=H(IDLBS||d||rq1||rq2||rq3||rq4||Ui||TS),并根据用户请求杂凑值H1、 生成元g、用户终端签名及用户终端的公钥利用双线性映射函数e(),判断等 式是否成立,若该等式成立,执行步骤6.3),否则,外包云服务器 拒绝提供服务;
6.3)外包云服务器对编号为IDLBS的基于位置服务器存储在其上的每一项加密数据资 源都进行匹配,具体步骤如下:
6.31)外包云服务器根据用户位置参数(rq1,rq2,rq3,rq4)和位置参数利 用双线性映射函数e()计算匹配参数
6.32)外包云服务器判断匹配参数T=1是否成立,如果成立,表示加密的数据资源满 足用户的查询条件,外包云服务器将该项加密的数据资源添加到数据信息列表TRL,匹配 操作完成,否则,执行步骤6.33);
6.33)外包云服务器根据变量v和查询参数d,判断等式v=d2是否成立,如果成立, 表明加密的数据资源不满足用户的查询条件,结束匹配操作,否则,执行步骤6.34);
6.34)外包云服务器给变量v加1,并根据对位置坐标加密处理的公钥PB、变量v和 匹配参数T,判断等式PBv=T是否成立,如果成立,表明加密的数据资源满足用户的查 询条件,外包云服务器将加密的数据资源添加到数据信息列表TRL,匹配操作完成,否则, 返回步骤6.33);
外包云服务器完成对编号为IDLBS的基于位置服务器在其上存储的加密数据资源的匹 配后,得到满足用户查询条件的数据信息列表TRL;
6.4)外包云服务器将数据信息列表TRL、外包云服务器的编号IDcs和时间戳TS′共同 作为杂凑函数H()的输入,计算云服务器服务杂凑值H2=H(TRL||IDCS||TS′),并用自己的 私钥SKcs对云服务器服务杂凑值H2进行签名,得到外包云服务器的签名
6.5)外包云服务器将数据信息列表TRL、外包云服务器的编号IDCS、时间戳TS′和外 包云服务器的签名Sigcs组成查询结果列表,并将该查询结果列表发送给用户终端。
步骤7,用户终端获得查询结果步骤。
7.1)用户终端接收到外包云服务器发送的查询结果列表后,将时间戳TS′与当前时间T′ 进行比较,若TS′早于T′且|T′-TS′|≤NT,则执行步骤7.2),否则,返回步骤5.1),其中NT为系统的最大通信时延;
7.2)用户终端将数据信息列表TRL、外包云服务器的编号IDCS和时间戳TS′共同作为 杂凑函数H()的输入,计算得到云服务器服务杂凑值H2=H(TRL||IDCS||TS′),并根据云服 务器服务杂凑值H2、生成元g、外包云服务器的签名Sigcs及外包云服务器的公钥PKcs, 利用双线性映射函数e(),判断等式e(g,Sigcs)=e(PKCS,H2)是否成立,若该等式成立,执 行步骤7.3),否则,返回步骤5.1);
7.3)用户终端根据对称加密密钥k,利用对称加密算法E()对数据信息列表TRL进行 解密,得到满足查询条件的数据资源。
机译: 面向多个用户的程序传输优化方法,面向多个用户的程序传输优化系统,用于优化程序传输的系统传输程序的接收器以及用于优化程序传输的系统规划设备
机译: 面向用户的卫星图像分发系统和使用该系统的面向用户的卫星图像分发方法
机译: 进行和管理公共和私人通信系统以及官方或非官方在线平台的用户的自我更新通用标识的方法,该方法需要所有现有系统和平台中每个现有系统和平台上的每个用户都具有唯一的用户身份验证面向每个用户的平台