本发明涉及云计算和大数据的隐私保护领域,具体涉及一种保护用户隐私的群智感知真值发现方法。
背景技术:
随着科技的发展,越来越多的移动设备使用了传感器,这使得通过汇聚每个传感器的感知数据来挖掘真实信息变成可能,群智感知真值发现系统由此诞生。
由于每个传感器的质量以及周边噪音等不同,使得每个用户上传的感知数据与真值存在差别,所以需要通过一定的算法在大量数据中得到最可能的真值。
移动群智感知真值发现系统是利用用户的移动设备所携带的传感器来收集用户所处环境的感知数据,然后将这些数据上传到云服务器,再由云服务器进行相关的计算得到真值。由于用户传感器的感知数据可能涉及到用户的隐私,所以用户往往不希望上传自己的数据。
为了解决这个矛盾,保护隐私的群智感知系统应运而生,该系统可以在保护用户隐私的前提下进行真值发现。现有的隐私保护群智感知系统如miao等人设计的pptd协议(miaoetal.cloud-enabledprivacy-preservingtruthdiscoveryincrowdsensingsystems,sensys2015)采用了复杂的公钥加密算法,导致系统开销较大,不适合移动设备。
为此,本发明采用对称加密算法设计了一种新的隐私保护群智感知真值发现方法,该方法具有较少的计算和通信开销,比较适合于移动设备。
技术实现要素:
本发明的目的在于提供一种保护用户隐私的群智感知真值发现方法,以解决传统隐私保护群智感知真值发现方法计算复杂、开销大的问题。
为此,本发明提供了一种保护隐私的群智感知真值发现方法,包括三个参与方:可信第三方ta、用户和云服务器,所述方法包括以下步骤:(1)系统初始化阶段:可信第三方ta为云服务器和每个用户分配私钥;(2)更新权重阶段:云服务器首先生成一个初始化的真值,然后将该值发送给所有用户,每个用户收到后计算自己的观测值与初始化真值的距离,然后用各自得私钥将该距离加密传送给云服务器,云服务器收到各个用户的加密信息后,用自己的私钥和安全求和方法得到所有用户距离信息的和,然后将该信息发送给全体用户,各用户以此更新自己的权重;(3)更新真值阶段:每个用户再次将自己更新后的权重以及权重与观测值的乘积以同样的加密方法加密后发送给云服务器,云服务器同样通过安全求和方法计算出所有用户权重的和以及权重与观测值的乘积的和,进而更新真值;以及(4)迭代阶段:重复步骤(2)和(3),各个用户不断更新自己的权重,云服务器不断地更新目标真值,直到满足收敛准则,然后云服务器输出一个真值。
与现有技术相比,本发明具有以下的优点:
(1)加密/解密算法实现过程较为简单,且算法执行过程中总体开销较小。
(2)用户私钥是由一组秘密值而不是单个数据组成,提高了系统的安全性。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的系统模型示意图;以及
图2为根据本发明的群智感知真值发现方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
下面对本发明的系统模型的参与方进行解释和说明。
ta:一个可信的第三方,为云服务器和每个用户提供私钥;
用户:带有移动设备的个人,将自己的感知信息加密后传送给云服务器并负责更新自己的权重;
云服务器:拥有大量存储和计算资源的分布式存储系统,生成初始化真值并负责更新目标真值。
如图1所示,本发明所述的一种基于用户隐私保护的群感知真值发现方法,包括以下步骤:
s10、系统初始化阶段。可信第三方ta为云服务器和每个用户分配私钥。
s20、更新权重阶段。云服务器首先生成一个初始化的真值,然后将该值发送给所有用户。每个用户收到后计算自己的观测值与初始化真值的距离,然后用各自得私钥将该距离加密传送给云服务器。云服务器收到各个用户的加密信息后,用自己的私钥和安全求和协议得到所有用户距离信息的和,然后将该信息发送给全体用户,各用户以此更新自己的权重。
s30、更新真值阶段。每个用户再次将自己更新后的权重以及权重与观测值的乘积以同样的加密方法加密后发送给云服务器,云服务器同样通过安全求和协议计算出所有用户权重的和以及权重与观测值的乘积的和,进而更新真值。
s40、迭代阶段。重复步骤s20和s30,各个用户不断更新自己的权重,云服务器不断地更新目标真值,直到满足收敛准则,然后云服务器输出一个真值。
实施例
步骤s10的实施过程如下:
假设系统中包括k个用户和1个云服务器,可信第三方ta为k个用户生成kc份任意且互不相同的秘密值s1,...,skc,然后将这些秘密值随机分给k个用户,每个用户uk得到一组秘密值sk,ta利用该组值为每个用户生成私钥
其中,
这里解释下pk和p0的含义:pk表示第k个用户用其私钥集合生成的伪随机函数值再哈希之后的总和,该总和将作为第k个用户的加解密私钥;类似地,p0表示云服务器用其私钥集合生成的伪随机函数值再哈希之后的总和,由于云服务器的私钥集合是所有用户私钥集合的并,所以p0等于所有pk之和。
步骤s20实施过程如下:
1)云服务器生成一个初始化真值x*,然后将其发送给每个用户。
2)每个用户uk计算自己的观测值xk和初始化真值x*的距离dk。对于连续型实数数据xk,x*,dk=d(xk,x*)=(xk-x*)2;对于离散型向量数据xk,x*,dk=d(xk,x*)=(xk-x*)t(xk-x*),t在这里表示向量转置操作。
3)每个用户uk根据自己的私钥用公式ck=(dk+pk)modn加密其距离后,将密文ck发送到云服务器。
4)云服务器收到所有用户的密文之和
5)每个用户uk根据公式
步骤s30的实施过程如下:
1)每个用户uk通过与步骤s20的子步骤(3)相同的加密方式将自己的权重wk和权重与观测值的乘积wkxk分别加密后发送给云服务器。其中,同样的加密方式是指:。
将两数值分别加密为(wk+pk)modn和(wkxk+pk)modn。
2)云服务器通过与步骤s20的子步骤(4)相同的安全求和方法计算出所有用户的权重和权重与观测值的乘积的总和,然后通过公式
方法为:
步骤s40的实施过程如下:
云服务器和所有用户重复执行步骤s20和步骤s30,直到相邻两次迭代得到的目标真值差别小于预先设定的值或者算法重复执行次数超过设定值后,云服务器输出最后得到的目标真值x*作为最终真值。其中预先设定的值可取为两次运行结果均值的百分之一或更小,算法重复执行次数可以设定为例如100次或者1000次。
方案分析
(1)正确性:证明
(2)安全性:用户将信息加密后上传到云服务器,如果没有用户的私钥,无法得到用户的真实数据信息。云服务器利用自己的私钥只能够解密出用户信息的总和,而无法获得具体的用户信息,从而保护了用户的隐私。
(3)效率分析:本算法采用对称加密技术,而现有pptd协议采用非对称加密算法,与其相比,本算法主要仅涉及加法、哈希操作和模运算等,因此计算效率更高。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。