一种基于雾计算的轻量级隐私保护数据多级聚合方法与流程

文档序号:19322213发布日期:2019-12-04 00:40阅读:498来源:国知局
一种基于雾计算的轻量级隐私保护数据多级聚合方法与流程

本发明涉及物联网数据处理领域,特别涉及一种基于雾计算的轻量级隐私保护数据多级聚合方法。



背景技术:

随着无线通信技术的发展,各种智能传感设备应运而生,智能设备可以通过收集数据并将数据传输到云中心,以进行实时观察和智能决策。于是智能家居、智能医疗、智能城市,智能电网等概念也被相继提出,而智能电网作为下一代电网受到了越来越多的关注。在智能电网系统中,分布式的智能电表生成数据报告,并通过互联网传输到远程云服务器以进行进一步分析,云服务器可以定期监控电力输送和用电信息,以便进行实时决策。但是这些智能电表会生成大量数据,这将为云中心带来极大的负担;同时在智能电表到云服务器的数据存储和数据传输过程中,智能电网必须确保这些数据的隐私性、可靠性、安全性、灵活性和可扩展性。而随着连接到智能电网的用户数量的增加,解决这些问题将变得更加困难。

目前关于智能电网中隐私数据聚合的研究主要有两种方法,第一种方法是通过屏蔽用户的真实身份来掩盖其隐私信息,但这种匿名性导致了控制中心无法对数据来源的有效性进行认证;除此之外,基于屏蔽身份的数据聚合方案中想要寻找一个可靠的第三方来保证匿名的安全性是很困难的。第二种方法是通过屏蔽用户的实时用电数据来保护用户的隐私信息,该方法又主要集中在以下三类。第一类是将智能电表连接到硬件设备,例如将智能电表连接到电池上,智能电网和家用电池同时为用户提供电力。当用户的用电量明显增加时,电池放电,反之,为电池充电,以此来隐藏用户的实时电力消耗,但是电池频繁的放电与充电会缩短电池的使用寿命。换言之,这些操作虽然减轻了智能电网在计算和通信上的负担,却需要频繁地进行维护,这种代价是非常昂贵的。第二类是在智能电表处添加噪声并在控制中心将其除去来掩盖智能电表的真实读数,这些方法虽然可以实现对隐私数据的保护,但是由于添加噪声的操作,导致控制中心无法准确地重建智能电表的真实读数,对于某些对精度要求较高的场景,这些方法并不适用。第三类是采用加密方法,近来的一些研究主要利用公钥加密方法的同态性来汇聚特定区域的电力消耗,在这个过程中,用户的个人读数一直处于加密状态,并不会被其它实体获知,从而实现保护用户隐私信息的目的。但这类研究方案大部分都无法实现更加细粒度的聚合,无法满足智能电网所需的灵活性,应用范围受限,同时采用了昂贵的加密算法和配对操作,导致它们在计算成本,通信开销,数据完整性验证,以及灵活性等方面存在不足。

雾计算是一种很有前途的分布式模型,它可以在网络边缘存储和处理数据,这不仅可以减少系统的传输开销,还可以提高其实时处理能力。尤其是在智能电网这种生成报告频率较高的基础设施中,雾计算设备可以首先在网络边缘预处理要报告的数据,然后将预处理结果转发到云服务器,从而大大地节省带宽。



技术实现要素:

发明目的:本发明目的是提供一种基于雾计算的轻量级隐私保护数据多级聚合方法,该方法的主要特点是利用改进的paillier加密系统结合多级聚合模型实现隐私数据的细粒度聚合,同时利用哈希函数的单向性在网络边缘和云端进行轻量级认证。

技术方案:本发明提供一种基于雾计算的轻量级隐私保护数据多级聚合方法,包括可信机构、用户、雾节点、云服务器四个实体,先将电网覆盖区域分成m个子区域,第j个子区域为uj,j=1,2,…,m,子区域uj下存在一个雾节点fogj,雾节点fogj下存在w个智能电表smij,smij表示第j个雾节点下的第i个智能电表,i=1,2,…,w,第i个智能电表实时采集用户的用电信息,并将加密后的数据生成报告上传到该子区域内的唯一雾节点fogj,雾节点fogj收集来自该子区域内w个智能电表的用电数据进行一级聚合并生成报告后上传到云服务器,云服务器对来自m个雾节点的数据进行二级聚合并生成报告,随后利用密钥解密,读取聚合数据,进而控制用电量,可信机构在前述数据聚合过程中用于系统参数的生成以及智能电表和雾设备注册。

进一步地,所述系统参数的生成,包括如下步骤:

(1)假设可信机构中存在一个由已生成密钥所组成的一个全局密钥池g={kij,kj;0≤i≤w;0≤j≤m},将密钥池不同的密钥分配给智能电表和雾计算设备用于注册使用;

(2)首先选择两个安全素数p和q,计算n=pq作为同态加密的公钥,同时定义函数l(u)=(u-1)/n,计算λ=lcm(p-1,q-1),令g=n+1,保证卢=(l(gλmodn2))-1modn存在,从而得到改进的paillier同态加密公钥n,私钥λ。同时,系统随机选择r∈z*n,预先计算s=rnmodn2,加密时用户随机选择一个s对明文进行加密即可;

(3)选择一个安全的加密散列函数用作隐私数据的签名:h:{0,1}*→{0,1}l,同时选择一个随机安全密钥d;

(4)生成系统参数(λ,n,kij,kj,s,h,d)后,发布系统参数(n,h),同时分配(λ,kij,kj,s,d)系统参数到各个实体。

进一步地,所述智能电表注册,包括如下步骤:

新加入的智能电表会通过自身的内置算法生成注册信息mij,mij包含智能电表的idij、户主信息或定位信息,该注册信息具有唯一标识性,智能电表用分发的初始密钥kij对智能电表smij的注册信息进行加密,初始密钥kij来自于中的全局密钥池g,加密后得到密文cij=e(mij,kij),将初始密钥kij和注册信息mij作为hash函数的输入,生成消息验证码macij=h(mij||kij),发送req=(cij||macij)到在收到新加入的智能电表的注册请求信息时,对加密的注册信息cij使用初始密钥kij进行解密,经过计算得到mij,然后将初始密钥kij与解密得到的mij作为hash函数的输入,得到消息验证码mac’ij=h(mij||kij),与接收的mac进行比较,若一致,则同意该智能电表注册要求,同时发送验证成功消息到智能电表,公布设备的idij,否则,拒绝注册。

进一步地,所述雾设备注册,包括如下步骤:

雾设备具有唯一标识,即注册信息mfd,将来自于中的全局密钥池g的初始密钥kj与注册信息mfd作为hash函数的输入,生成消息验证码macj,macj=h(mfd||kj),同时加密注册信息cj=e(mfd,kj),发送req=(cj||macj)到在收到雾计算设备的注册请求信息时,对加密的注册信息进行解密,得到mfd随后与kj一起生成mac’j=h(mfd||kj),与接收的macj进行比较,若一致,则同意该雾计算设备注册,同时发送验证成功消息到雾计算设备,公布设备的idj,否则,拒绝注册。

进一步地,所述智能电表生成报告,包括如下步骤:

(1)智能电表感知用户数据:idij||dij||tp;

(2)基于smij中产生的实时用电数据往往会暴露用户的隐私信息,所以首先对用户数据进行加密,智能电表中生成的数据会周期性地上传到雾节点,假设这个周期为15分钟,因此智能电表每隔15分钟对实时用电数据进行加密得到密文cij=(1+dijn)·s;

(3)为了提高密文签名的安全性,采用当前时间戳tp作为伪随机数生成器的种子,与智能电表的idij散列得到伪随机数yij,由于时间戳tp在不停地变化,与之对应的伪随机数也相应变化,从而生成的伪随机数也是一次性的,更能保证密文签名的安全性,随后生成聚合明文的签名macij,

yij=h(tp||idij),

macij=h(cij||yij)d

(4)将用户报告idij,cij,macij,tp)上传到雾节点fogj,等待雾节点对所收到的来自于其所覆盖子区域的用电数据进行安全聚合。

进一步地,所述雾节点fogj一级聚合报告生成,包括如下步骤:

(1)第j个雾节点fogj接收到该子区域内所有智能电表smij发送的报告idij,cij,macij,tp)后,雾节点fogj对所接收到的数据进行真实性与完整性的验证,具体而言分别对智能电表的idij、当前时间戳tp、消息验证码macij进行验证,具体地,利用雾节点fogj收到的报告(idij,cij,macij,tp)与初始化阶段系统通过秘密信道分发的密钥d,按照前述方法生成macij′=h(cij||h(tp||idij))d,若mac′ij=macij,则通过验证;

(2)若通过验证,则执行隐私数据的一级聚合操作,即细粒度聚合,得到聚合密文

(3)生成细粒度聚合密文的签名macj=h(cj||h(tp||idj))d

(4)雾节点fogj将聚合报告(idj,cj,macj,tp)发送给云服务器。

进一步地,所述云服务器二级聚合报告的生成与读取,包括如下步骤:

(1)云服务器收到来自m个雾节点fogj的细粒度聚合报告(idj,cj,macj,tp)后,首先对接收的聚合报告进行验证,该验证过程旨在检查聚合报告的真实性以及完整性;

(2)若接收的聚合报告通过验证,则进行数据的二级聚合,即粗粒度聚合,得到二级聚合密文对密文进行进一步的解析:

同时令

则可获得符合paillier密文形式的密文c。

c=gm·rnmodn2.

随后云服务器利用paillier解密聚合数据,得到聚合明文m。

其中l(u)=u-1/n,

得到的m是一个符合霍纳规则的一元多项式,其中每项系数对应每个子区域uj的总用电量为

(3)运用霍纳法则对二次聚合数据进行解析,可以得到多项式的每项系数,即每个子区域uj的总用电量,从而实现细粒度的数据聚合,发送解析得到的子区域的用电量(u1,u2,...um)至雾节点,用于用户的实时查询。

进一步地,所述加密的算法为扩展的paillier同态加密算法,在现有的密文形式的基础上,令g=n+1,利用模数的性质得到形式为cij=(1+dijn)·s的密文,即为扩展的paillier同态加密算法。

进一步地,所述签名的算法基于哈希链的单向性。

进一步地,所述解析方法采用霍纳规则对多项式进行解析。

上述技术方案设计基于雾计算的轻量级隐私保护数据多级聚合方法,针对当前研究方案在计算成本,通信开销,数据完整性验证、以及灵活性等方面存在不足,利用云雾协作的多级聚合模型使中间层次的雾节点能够定期从连接的智能电表处收集数据,并导出细粒度的雾级聚合结果,该细粒度聚合可有效节省通信开销,提高聚合方案的灵活性;同时,为了提高多级聚合的效率,利用模数的性质对paillier加密算法进行优化使计算成本降低,而多级聚合的结果呈现为一元多项式系数即为细粒度电量的消耗量,随后利用霍纳法则对该聚合结果进行高速解析,以此提高智能电网的效率;再者,借助散列函数的单向性在网络边缘和云端实现轻量级认证;通过分析发现所述方法可以实现数据的机密性和隐私保护,确保雾设备和云中心在整个聚合过程中不能获知用户的私人信息。最后,本文在计算成本和通信开销方面对所述方法进行了评估,并通过与现有聚合方法的比较分析表明所述具有更低的计算和通信开销。

有益效果:本发明

(1)本发明方法利用云雾协作的多级聚合模型使中间层次的雾节点能够定期从连接的智能电表处收集数据,充分利用本地资源,并导出细粒度的雾级聚合结果,该细粒度聚合可有效节省通信开销,提高聚合方案的灵活性;同时,为云层的粗粒度聚合提供数据以进行云级聚合,实现了隐私数据的细粒度聚合;

(2)本发明方法采用同态加密方法实现对隐私数据的保护,同时利用模数的性质对加密算法进行优化使计算成本降低,又结合霍纳法则对聚合结果进行高速解析以提升多项式的解析速率,从而提高聚合方案的高效性;

(3)本发明方法利用散列函数的单向性过滤错误数据,避开复杂的配对运算,从而大大减少系统的计算成本和通信开销,实现隐私数据完整性和真实性的轻量级认证。

附图说明

图1是本发明设计的基于雾计算的轻量级隐私保护数据多级聚合方法的系统模型;

图2是本发明设计的基于雾计算的轻量级隐私保护数据多级聚合方法的流程示意图;

图3表示本发明设计方法与当前其它两类方法在计算开销方面的比较;

图4表示本发明设计方法与当前其它两类方法在通信开销方面的比较。

具体实施方式

如图1、2,本实施例是包括可信机构、用户、雾节点、云服务器四个实体,先将电网覆盖区域分成m个子区域,第j个子区域为uj,j=1,2,…,m,子区域uj下存在一个雾节点fogj,雾节点fogj下存在w个智能电表smij,smij表示第j个雾节点下的第i个智能电表,i=1,2,…,w,第i个智能电表实时采集用户的用电信息,并将加密后的数据生成报告上传到该子区域内的唯一雾节点fogj,雾节点fogj收集来自该子区域内w个智能电表的用电数据进行一级聚合并生成报告后上传到云服务器,云服务器对来自m个雾节点的数据进行二级聚合并生成报告,随后利用密钥解密,读取聚合数据,进而控制用电量,可信机构在前述数据聚合过程中用于系统参数的生成以及智能电表和雾设备注册。

001、系统参数的生成,包括如下步骤:

(1)假设可信机构中存在一个由已生成密钥所组成的一个全局密钥池g={kij,kj;0≤i≤w;0≤j≤m},将密钥池不同的密钥分配给智能电表和雾计算设备用于注册使用;

(2)首先选择两个安全素数p和q,计算n=pq作为同态加密的公钥,同时定义函数l(u)=(u-1)/n,计算λ=lcm(p-1,q-1),令g=n+1,保证μ=(l(gλmodn2))-1modn存在,从而得到改进的paillier同态加密公钥n,私钥λ。同时,系统随机选择r∈z*n,预先计算s=rnmodn2,加密时用户随机选择一个s对明文进行加密即可;

(3)选择一个安全的加密散列函数用作隐私数据的签名:h:{0,1}*→{0,1}l,同时选择一个随机安全密钥d;

(4)生成系统参数(λ,n,kij,kj,s,h,d)后,发布系统参数(n,h),同时分配(λ,kij,kj,s,d)系统参数到各个实体。

002、智能电表注册,包括如下步骤:

新加入的智能电表会通过自身的内置算法生成注册信息mij,mij包含智能电表的idij、户主信息或定位信息,该注册信息具有唯一标识性,智能电表用分发的初始密钥kij对智能电表smij的注册信息进行加密,初始密钥kij来自于中的全局密钥池g,加密后得到密文cij=e(mij,kij),将初始密钥kij和注册信息mij作为hash函数的输入,生成消息验证码macij=h(mij||kij),发送req=(cij||macij)到在收到新加入的智能电表的注册请求信息时,对加密的注册信息cij使用初始密钥kij进行解密,经过计算得到mij,然后将初始密钥kij与解密得到的mij作为hash函数的输入,得到消息验证码mac’ij=h(mij||kij),与接收的mac进行比较,若一致,则同意该智能电表注册要求,同时发送验证成功消息到智能电表,公布设备的idij,否则,拒绝注册。

003、雾设备注册,包括如下步骤:

雾设备具有唯一标识,即注册信息mfd,将来自于中的全局密钥池g的初始密钥kj与注册信息mfd作为hash函数的输入,生成消息验证码macj,macj=h(mfd||kj),同时加密注册信息cj=e(mfd,kj),发送req=(cj||macj)到在收到雾计算设备的注册请求信息时,对加密的注册信息进行解密,得到mfd随后与kj一起生成mac’j=h(mfd||kj),与接收的macj进行比较,若一致,则同意该雾计算设备注册,同时发送验证成功消息到雾计算设备,公布设备的idj,否则,拒绝注册。

004、所述智能电表生成报告,包括如下步骤:

(1)智能电表感知用户数据:idij||dij||tp;

(2)基于smij中产生的实时用电数据往往会暴露用户的隐私信息,所以首先对用户数据进行加密,智能电表中生成的数据会周期性地上传到雾节点,假设这个周期为15分钟,因此智能电表每隔15分钟对实时用电数据进行加密得到密文cij=(1+dijn)·s;

(3)为了提高密文签名的安全性,采用当前时间戳tp作为伪随机数生成器的种子,与智能电表的idij散列得到伪随机数yij,由于时间戳tp在不停地变化,与之对应的伪随机数也相应变化,从而生成的伪随机数也是一次性的,更能保证密文签名的安全性,随后生成聚合明文的签名macij,

yij=h(tp||idij),

macij=h(cij||yij)d

(4)将用户报告idij,cij,macij,tp)上传到雾节点fogj,等待雾节点对所收到的来自于其所覆盖子区域的用电数据进行安全聚合。

005、雾节点fogj一级聚合报告生成,包括如下步骤:

(1)第j个雾节点fogj接收到该子区域内所有智能电表smij发送的报告(idij,cij,macij,tp)后,雾节点fogj对所接收到的数据进行真实性与完整性的验证,具体而言分别对智能电表的idij、当前时间戳tp、消息验证码macij进行验证,具体地,利用雾节点fogj收到的报告(idij,cij,macij,tp)与初始化阶段系统通过秘密信道分发的密钥d,按照前述方法生成macij′=h(cij||h(tp||idij))d,若mac′ij=macij,则通过验证;

(2)若通过验证,则执行隐私数据的一级聚合操作,即细粒度聚合,得到聚合密文

(3)生成细粒度聚合密文的签名macj=h(cj||h(tp||idj))d

(4)雾节点fogj将聚合报告(idj,cj,macj,tp)发送给云服务器。

006、云服务器二级聚合报告的生成与读取,包括如下步骤:

(1)云服务器收到来自m个雾节点fogj的细粒度聚合报告(idj,cj,macj,tp)后,首先对接收的聚合报告进行验证,该验证过程旨在检查聚合报告的真实性以及完整性;

(2)若接收的聚合报告通过验证,则进行数据的二级聚合,即粗粒度聚合,得到二级聚合密文对密文进行进一步的解析:

同时令

则可获得符合paillier密文形式的密文c。

c=gm·rnmodn2

随后云服务器利用paillier解密聚合数据,得到聚合明文m。

其中l(u)=u-1/n,

得到的m是一个符合霍纳规则的一元多项式,其中每项系数对应每个子区域uj的总用电量为

(3)运用霍纳法则对二次聚合数据进行解析,可以得到多项式的每项系数,即每个子区域uj的总用电量,从而实现细粒度的数据聚合,发送解析得到的子区域的用电量(u1,u2,...um)至雾节点,用于用户的实时查询。

加密的算法为扩展的paillier同态加密算法,在现有的密文形式的基础上,令g=n+1,利用模数的性质得到形式为cij=(1+dijn)·s的密文,即为扩展的paillier同态加密算法。

本实施例中签名的算法基于哈希链的单向性。解析方法采用霍纳规则对多项式进行解析。

基于上述本发明设计基于雾计算的轻量级隐私保护数据多级聚合方法在实际过程中的应用,如图3所示本发明设计方法相较于其他两种采用双线性配对验证的方案seda和pdaf在计算成本(timecosts)方面的比较,显示本发明设计方法在计算成本方面(timecosts)比其他两类方法要低的多,有效提高了隐私数据聚合的效率;还有,如图4所示本发明设计方法相较于其他两种聚合方法,在通信开销(communicationoverhead)上的比较,显示本发明设计方法具有较低的通信开销,有效降低了智能电网隐私数据传输的带宽。不仅如此,结合图3和图4所示结果可知,本发明设计方法相比其它两种方法更适用于智能电网这种对实时性要求很高的应用场景。

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