本发明涉及一种群智感知中基于云辅助的隐私信息保护方法。
背景技术:
移动群智感知(mcs)通过从普通用户携带的嵌入了大量传感器的智能设备中获取感知数据,降低了任务所有者的数据采集成本,因此有着广阔的应用前景,出现了如环境监测智能交通、智慧医疗、公共安全等新兴应用。但是用户贡献的感知数据中会隐含着用户的年龄、行踪和健康状况等敏感信息。当这些信息被攻击者窃取时,将会导致严重的隐私泄露甚至人身攻击。现有的隐私保护方案虽然在一定程度上防止了隐私信息的泄露,但是当请求者在云端进行监听、请求者与诚实且好奇的云相互串通、请求者的同态加密私钥泄漏等情况发生时,用户的隐私信息将无法得到保护。
现有技术虽然在一定程度上能对用户隐私信息进行保护,但是并不能有效防止攻击者、云、请求者直接获取用户贡献的数据,并会增加请求者的计算与存储负担。
本申请方法结合数据扰动技术和密码学技术,通过对用户贡献的数据拆分处理使得数据脱敏,使用同态加密对拆分后的数据进行处理,并使用多个匿名凭证来隐藏身份,引入诚实且好奇的云对加密后的数据进行融合处理,实现了群智感知中在保护移动用户隐私信息的情况下进行数据的融合与分析。通过该方案,可防止攻击者、云、请求者直接获取用户贡献的数据,实现了对移动用户隐私信息的良好保护,并且由于诚实且好奇的云对数据融合后的结果仍是密文,防止了其数据提供给第三方,从而保护了请求者的权益并降低了请求者的计算与存储负担。
技术实现要素:
针对上述现有技术存在的问题,本发明提供一种群智感知中基于云辅助的隐私信息保护方法,该方法可防止攻击者、云、请求者直接获取用户贡献的数据,能实现对移动用户隐私信息的良好保护,并能降低请求者的计算与存储负担。
为了实现上述目的,本发明提供一种群智感知中基于云辅助的隐私信息保护方法,具体包括以下步骤:
步骤一:初始化;
可信任机构ta将移动用户、请求者、云、匿名证书颁发机构pca注册到系统,同时为请求者、云、移动用户、pca生成rsa密钥,用于身份认证以及通信;请求者的公钥/私钥对记为pkr/skr,云的公钥/私钥对记为pkc/skc,移动用户wi的公钥/私钥对记为pki/ski,pca的公钥/私钥对记为pkpca/skpca;
步骤二:任务生成;
请求者生成自己的paillier同态加密公钥hpk=(n,g)和私钥hsk=λ(n),然后将任务τ与公钥hpk发送给ta,并用自己的私钥skr对其进行签名,以标注自己的身份,其中,τ是任务标签;
步骤三:任务分发;
ta从请求者收到{τ,hpk}后,发送给所有参与任务的参与者,同时,将τ发送给云和pca;
步骤四:假名获取;
用户wi从pca请求多个假名作为匿名凭证,当pca对用户的身份验证成功后,通过公式(1)为其分配其请求数目的匿名凭证acwi,j;
其中,
步骤五:感知数据提交;
用户wi收到从pca颁发的假名后,使用自己的私钥ski对收到的信息进行解密,从而获得假名组
假设用户wi需要提交给云的感知数据是mi,从pca获得的匿名凭证数目是ni,将数据mi分解为
将mi分解为
由于paillier公钥密码体制具有加法同态性,所以
ehpk(mi)=ehpk(mi,1)×ehpk(mi,2)×l×ehpk(mi,n),云利用此属性得到用户贡献的完整数据;
当用户得到加密的数据后,将它们与
步骤六:身份验证与数据丢失重传;
云收到从用户w1,w2,…,wi,…发来的消息
云向pca验证匿名证书时,pca根据云与其通信发来的匿名证书
步骤七:数据融合;
云验证成功且与pca交互完成后,对接收到的所有数据进行统计求和操作;假设云收到完整数据的用户数为t,根据paillier密码体制的同态属性,云根据公式(4)进行如下计算:
当云融合完成后得到融合结果
步骤八:融合结果获取;
当请求者接收到云发送的数据得到
进一步,在步骤四中,为了防止pca颁发给用户的假名组被攻击者等窃取获得,pca利用用户wi的公钥pki将生成的所有假名
进一步,在步骤五中,如果请求者在云端监听或者与诚实且好奇的云相互串通,或者请求者的同态加密私钥hsk被泄露,用户的隐私信息将会受到泄露的风险;为了防止用户提交给云的数据被请求者、云、攻击者窃取,对感知数据进行拆分脱敏,将拆分的数据分别与获得的假名组任意搭配传送给云;这样,请求者、诚实且好奇云和恶意攻击者即使获得了一份数据也无法在众多数据中获得其它的数据,从而使敏感信息得到保护。
本发明中的方法通过匿名良好的保护了用户的身份隐私,实现了不可链接性,随着参与用户的增多,用户可以更好地隐藏在人群中,因此,攻击者、云、请求者将无法获得移动用户的真实身份,极好的实现了用户身份隐私的保护。同时,将用户的真实完整数据良好的隐藏在大量的数据中,实现了对用户数据的保护,解决了请求者的同态加密私钥被攻击者窃取或者请求者在云端监听等情况下用户的隐私安全。对于用户的数据安全,由于采用了单向的paillier同态加密,使攻击者或者云在不知道请求者同态加密私钥的情况下无法得知用户贡献数据的明文信息。通过pca可以对匿名证书的真实性以及有效性进行验证,通过云发送来的匿名证书验证信息来确认云是否接受到用户完整的数据分片,对于未收到的数据分片通过重传与丢弃机制对丢失的数据分片进行重传,防止了数据分片丢失影响融合结果的准确性,从而保证数据的完整性。
附图说明
图1是本发明的原理框图。
具体实施方式
paillier公钥密码体制是由paillier发明的概率公钥加密系统,它的安全性基于判定复合剩余类的困难问题。该加密算法是一种同态加密算法,支持任意多次的加法同态操作。和其它加密方案一样,它主要包含3种算法:keygen、encrypt和decrypt。
密钥生成算法keygen:设p,q是两个满足gcd(pq,(p-1)(q-1))=1的大素数,且n=pq,随机选择
加密算法encrypt:对于任意明文m∈zn,随机选取
c=epk(m)=gmrnmodn2;
解密算法decrypt:对于任意密文
由于paillier公钥加密算法具有加法同态性质,对消息m1和m2的密文做乘法操作就相当于对明文进行加法操作后再加密。
该方案主要包括移动用户(w)、请求者(r)、云(cloud)、可信任的权威机构(ta)以及匿名证书颁发机构(pca)五个实体,如图1所示。
1)可信任机构(trustauthority,ta):ta负责对整个系统进行初始化,包括对请求者、云、移动用户、pca等实体进行注册,生成公共参数,密钥分发以及感知任务分发等。
2)请求者(requester):请求者是群智感知任务的发起者,它想要获取移动用户数据的汇总统计数据,但是由于它的存储及计算能力的限制,请求者会将大部分任务委托给云。
3)移动用户(mobileuser):移动用户是指拥有智能设备,同时愿意为请求者的感知任务提供数据的人。这些数据可以是传感器感知数据也可以是其它数据。
4)云(cloud):云接收移动用户的加密数据,然会根据请求者的要求对加密数据进行计算。
5)匿名证书颁发机构(pca):pca根据移动用户的请求为其颁发多个匿名证书(即假名),这些假名之间没有任何联系。移动用户使用假名对自己提交的数据进行签名。
其中,ta与pca是可以完全信任的,不会被攻击者攻破,也不会与任何实体串通。假设请求者和云都是诚实且好奇的,这就意味着它们将严格遵循预定义的协议,但可能会根据现有信息挖掘它人隐私,泄露用户的数据。
1)移动用户:移动用户匿名的参与群智感知任务,其身份信息不应泄露。移动用户贡献的数据包含隐私信息,应该进行保护,即使发生请求者的同态加密私钥被攻击者窃取或者请求者在云端监听等情况,移动用户贡献的完整数据信息也无法被获取。同时用户的身份与数据信息是不可链接的。
2)请求者:请求者应在无法知道任何移动用户明文数据的情况下,获得移动用户数据的融合结果。
3)云:云在不知道移动用户身份与数据明文的情况下,根据请求者的要求诚实的对数据进行融合,同时将计算结果在不泄露的情况下传递给请求者。
初始时,可信任机构ta向请求者、云、匿名证书颁发机构pca和移动用户分配公钥/私钥,这些密钥用于相互之间的通信以及数字签名,保护数据的安全性及完整性;当请求者要获得特定数据的统计信息时,将它的请求以及同态加密公钥hpk发送给ta;ta收到任务请求时,广播请求者的任务及同态加密公钥给所有参与的移动用户;参与的移动用户从智能手机或者其它感知设备获取到所需数据m,从pca通过安全通道获取n个匿名凭证ac;为了防止pca颁发给用户的假名组被攻击者窃取,使用用户的公钥对其加密。
为了解决现有方案中请求者在云端监听、请求者与云相互串通或请求者的密钥泄露等情况从而危及用户的隐私安全,将数据m分拆为n份脱敏并使用请求者同态加密公钥hpk进行加密处理,完整的数据可以通过同态加密的同态性来计算获得,接着使用匿名凭证ac对加密后的数据进行签名,最后将处理好的数据发送给云;云接收到用户传来的信息后,首先向pca验证接收到的匿名凭证真实性,然后验证数据的真实性以及完整性,接着通过对密文进行计算获取统计信息,并将相应结果签名后发送给请求者;请求者接收到消息后验证数据的真实性以及完整性后,使用同态加密私钥hsk解密得到融合结果;
一种群智感知中基于云辅助的隐私信息保护方法,其具体方案包括以下步骤:
步骤一:初始化;
可信任机构ta生成必要的参数和密钥,并将移动用户、请求者、云、匿名证书颁发机构pca注册到系统,同时为请求者、云、移动用户、pca生成rsa密钥,用于身份认证以及通信;请求者的公钥/私钥对记为pkr/skr,云的公钥/私钥对记为pkc/skc,移动用户wi的公钥/私钥对记为pki/ski,pca的公钥/私钥对记为pkpca/skpca;为了方便叙述,表1将对本申请所涉及到的符号加以解释说明;
表1文中涉及符号
步骤二:任务生成;
请求者生成自己的paillier同态加密公钥hpk=(n,g)和私钥hsk=λ(n),然后将任务τ与公钥hpk发送给ta,并用自己的私钥skr对其进行签名,以标注自己的身份,其中,τ是任务标签,包含着任务的名称、操作类型、任务截止时间标签等。
步骤三:任务分发;
ta从请求者收到{τ,hpk}后,发送给所有参与任务的参与者,同时,将τ发送给云和pca,云接收后就会知道对于收到的数据做何种操作。
步骤四:假名获取;
用户为了隐藏真实身份,同时为了防止发送给云的信息被破解使得隐私信息泄露,用户wi会从pca请求多个假名作为匿名凭证,当pca对用户的身份验证成功后,通过公式(1)为其分配其请求数目的匿名凭证
其中,
为了防止pca颁发给用户的假名组被攻击者等窃取获得,pca利用用户wi的公钥pki将生成的所有假名
步骤五:感知数据提交;
用户wi收到从pca颁发的假名后,使用自己的私钥ski对收到的信息进行解密,从而获得假名组
如果请求者在云端监听或者与诚实且好奇的云相互串通,或者请求者的同态加密私钥hsk被泄露,用户的隐私信息将会受到泄露的风险;为了防止用户提交给云的数据被请求者、云、攻击者窃取,对感知数据进行拆分脱敏,将拆分的数据分别与获得的假名组任意搭配传送给云;这样,请求者、诚实且好奇云和恶意攻击者即使获得了一份数据也无法在众多数据中获得其它的数据,从而使敏感信息得到保护。
假设用户wi需要提交给云的感知数据是mi,从pca获得的匿名凭证数目是ni,将数据mi分解为
由算法1将mi分解为
由于paillier公钥密码体制具有加法同态性,所以
ehpk(mi)=ehpk(mi,1)×ehpk(mi,2)×l×ehpk(mi,n),云利用此属性得到用户贡献的完整数据;证明如下:
当用户得到加密的数据后,将它们与
移动用户对数据的具体提交方式见算法2;
步骤六:身份验证与数据丢失重传;
云收到从用户w1,w2,…,wi,…发来的消息
用户发送给云的信息由于存在网络阻塞、故障等原因可能发生某份数据分片丢失未能传递给云的情况。数据分片的丢失,使得云无法获取用户的完整数据参与运算,将会污染计算结果,降低计算结果的精度,因此需要采用合理的机制对数据进行丢失重传。本申请所采用的方案如下:
云向pca验证匿名证书时,pca根据云与其通信发来的匿名证书
步骤七:数据融合;
云验证成功且与pca交互完成后,对接收到的所有数据进行统计求和操作;假设云收到完整数据的用户数为t,根据paillier密码体制的同态属性,云根据公式(4)进行如下计算:
当云融合完成后得到融合结果
步骤八:融合结果获取;
当请求者接收到云发送的数据得到
上述过程的主要任务为对所有用户贡献的数据进行统计求和,作为一种优选,还可以计算获得平均值以及方差。
1)平均值
平均值在许多应用中是非常有用的。如一个机构通过发布群智感知任务获取某地区的工资数据,计算出平均工资来估计该地区的经济状况。工资数据由移动用户贡献。假设有t个用户贡献的工资数据为
2)方差
方差在统计和生活中也有着很多重要的应用。t个合法参与群智感知任务的用户贡献的数据为
为了便于计算可以将公式进一步化简为
根据以上公式,可知计算方差时可以分为两部分,第一部分是mi2的平均值,另一部分是
为了获得
对于移动用户而言,通过k-匿名实现了对用户身份信息的保护。用户在参与群智感知任务时,会向pca获取多个具有一定生命周期、无关联的匿名证书来隐藏自己的真实身份参与群智感知任务,通过k-匿名良好的保护了用户的身份隐私,实现了不可链接性,随着参与用户的增多,用户可以更好地隐藏在人群中。因此,攻击者、云、请求者将无法获得移动用户的真实身份,极好的实现了用户身份隐私的保护。
对于用户的数据安全,由于采用了paillier同态加密,它是基于n次剩余困难问题,在已知密文和公钥或者只知道密文的情况下,很难计算获取到私钥从而解密得到明文,因此paillier加密体制是单向的,攻击者或者云在不知道请求者同态加密私钥的情况下无法得知用户贡献数据的明文信息。
同时,当同态加密私钥被攻击者或者云通过某种手段获知的情况下,或者请求者拦截监听移动用户到云端的消息,请求者与云串通时,本申请的方案同样可以良好的保护用户的隐私。由于移动用户wi参与移动群智感知任务时,其数据mi将会被拆分为ni个子数据,然后通过请求者的paillier同态加密公钥进行加密后发送给云。假设请求者的同态加密私钥被攻击者或者云窃取,请求者拦截监听移动用户到云端的消息,或请求者与云串通时,由于用户对数据进行了拆分出来,并通过多个不同的无关联的匿名身份将数据通过匿名安全信道发送给云,攻击者、请求者、云也无法得到完整的真实数据。假如有n个移动用户参与移动群智感知任务,每个用户获取的假名平均为x(x>1),则攻击者、请求者或者云在得到一个数据的情况下,获取其他的分拆数据组成完整数据的概率为:
由于x远远小于n,则攻击者或者云得到完整的数据的概率近似为1/(xn)x-1。所以攻击者、请求者或者云要得到完整的真实数据是很难的。用户的真实完整数据良好的隐藏在大量的数据中。因此实现了对用户数据的保护,解决了请求者的同态加密私钥被攻击者窃取或者请求者在云端监听等情况下用户的隐私安全。
在本申请中,pca可以对匿名证书的真实性以及有效性进行验证,通过云发送来的匿名证书验证信息来确认云是否接受到用户完整的数据分片,对于未收到的数据分片通过重传与丢弃机制对丢失的数据分片进行重传,防止了数据分片丢失影响融合结果的准确性,从而保证数据的完整性。
对于请求者来说,将数据的收集与计算委托给了云,请求者只能获得数据的融合结果,防止了请求者直接接触用户的数据,而且由于用户对贡献的数据进行了拆分出来,使得请求者在云端进行监听或者与云串通时也无法获取到用户的完整数据。
对于云,委托给云的计算,由于同态加密的存在,计算是在密文上进行的,结果是密文,云在没有同态加密私钥的情况下也无法获得计算结果的明文信息,这保障了请求者的权益,防止了诚实且好奇的云将计算结果泄露。同时由于同态加密的存在也防止了攻击者监听云与请求者的通信时,计算结果的泄露。
该方案中请求者将感知数据的融合计算委托给云,减轻了请求者的计算以及存储负担;用户申请多个假名并将贡献的数据进行拆分脱敏,使用同态加密对拆分后的数据进行处理,实现了对移动用户的隐私信息的保护,解决了现有方案中当请求者在云端监听或者与云服务器串通时无法良好的保护用户隐私的问题。
1.一种群智感知中基于云辅助的隐私信息保护方法,其特征在于,具体包括以下步骤:
步骤一:初始化;
可信任机构ta将移动用户、请求者、云、匿名证书颁发机构pca注册到系统,同时为请求者、云、移动用户、pca生成rsa密钥,用于身份认证以及通信;请求者的公钥/私钥对记为pkr/skr,云的公钥/私钥对记为pkc/skc,移动用户wi的公钥/私钥对记为pki/ski,pca的公钥/私钥对记为pkpca/skpca;
步骤二:任务生成;
请求者生成自己的paillier同态加密公钥hpk=(n,g)和私钥hsk=λ(n),然后将任务τ与公钥hpk发送给ta,并用自己的私钥skr对其进行签名,以标注自己的身份,其中,τ是任务标签;
步骤三:任务分发;
ta从请求者收到{τ,hpk}后,发送给所有参与任务的参与者,同时,将τ发送给云和pca;
步骤四:假名获取;
用户wi从pca请求多个假名作为匿名凭证,当pca对用户的身份验证成功后,通过公式(1)为其分配其请求数目的匿名凭证
其中,
步骤五:感知数据提交;
用户wi收到从pca颁发的假名后,使用自己的私钥ski对收到的信息进行解密,从而获得假名组
假设用户wi需要提交给云的感知数据是mi,从pca获得的匿名凭证数目是ni,将数据mi分解为
将mi分解为
由于paillier公钥密码体制具有加法同态性,所以ehpk(mi)=ehpk(mi,1)×ehpk(mi,2)×l×ehpk(mi,n),云利用此属性得到用户贡献的完整数据;
当用户得到加密的数据后,将它们与
步骤六:身份验证与数据丢失重传;
云收到从用户w1,w2,…,wi,…发来的消息
云向pca验证匿名证书时,pca根据云与其通信发来的匿名证书
步骤七:数据融合;
云验证成功且与pca交互完成后,对接收到的所有数据进行统计求和操作;假设云收到完整数据的用户数为t,根据paillier密码体制的同态属性,云根据公式(4)进行如下计算:
当云融合完成后得到融合结果
步骤八:融合结果获取;
当请求者接收到云发送的数据得到
2.根据权利要求1所述的一种群智感知中基于云辅助的隐私信息保护方法,其特征在于,在步骤四中,为了防止pca颁发给用户的假名组被攻击者等窃取获得,pca利用用户wi的公钥pki将生成的所有假名
3.根据权利要求1或2所述的一种群智感知中基于云辅助的隐私信息保护方法,其特征在于,在步骤五中,如果请求者在云端监听或者与诚实且好奇的云相互串通,或者请求者的同态加密私钥hsk被泄露,用户的隐私信息将会受到泄露的风险;为了防止用户提交给云的数据被请求者、云、攻击者窃取,对感知数据进行拆分脱敏,将拆分的数据分别与获得的假名组任意搭配传送给云;这样,请求者、诚实且好奇云和恶意攻击者即使获得了一份数据也无法在众多数据中获得其它的数据,从而使敏感信息得到保护。
技术总结