一种车联网中基于同态加密的联邦学习隐私保护方法与流程

文档序号:24495074发布日期:2021-03-30 21:22阅读:1143来源:国知局
一种车联网中基于同态加密的联邦学习隐私保护方法与流程

本发明涉及车联网中隐私保护领域,特别是指一种车联网中基于同态加密的联邦学习隐私保护方法。



背景技术:

车联网中的海量数据使其拥有了强大的处理和分析能力,从而实现智能化交通管理、智能动态信息服务和车辆智能化控制。实时路况分析是车辆网中极其重要的部分,它以收集广泛的路况数据和出行数据为前提。目前大多数车联网厂商的实时路况信息大多数都来源于用户上传的ugc(usergeneratedcontent)数据。然而,位置分散的数据共享者使得传统的分布式计算受到挑战。其次,在共享的商业环境中,用户的出行隐私数据也在面临巨大威胁。无论这些数据是直接上传至云端处理,还是先由边缘节点接收,都存在很大的泄露风险。

联邦学习提供了一种有吸引力的结构,可以将整个机器学习工作流程分解为我们想要的可接近的模块单元,将其用于车联网的数据处理是一个非常合适的方案。云服务器不直接收集用户终端的数据,仅收集边缘设备上最新的模型训练结果,当某一用户产生最新数据时,其数据用于训练边缘模型,并在训练完成后将模型梯度更新上传至云数据中心用来更新云端的共享模型。与原始数据相比,这些模型更新更侧重于手头的学习任务,并且单个更新只需由服务器临时保存。

虽然这些特性可以提供显著的实际隐私改善,而不是集中所有的培训数据,但是在这个基线联合学习模型中,仍然没有正式的隐私保证。联邦学习的客户端、服务端仍然容易受到恶意攻击,比如,对客户端设备具有管理权限的人,可以通过控制客户端进行恶意攻击;被恶意操控的服务器可以在所有迭代中检查发送到服务器的所有消息(包括梯度更新),并可以篡改训练过程。同时,联邦学习还容易受到模型更新攻击和数据攻击等。这些严重的网络攻击不仅使得训练和过程遭到破坏,更将用户隐私数据置于极度危险的状态。

为了保护数据隐私,越来越多的研究开始将联邦学习引入到车联网的数据处理中。其中包括:联邦学习通过在拥有本地数据样本的用户设备上进行训练学习模型来确保数据隐私,而无需在设备之间交换样本,本地用户训练得到的模型参数由中央服务器对其进行汇总和反馈;基于分层区块链的联邦学习算法,模型参数共享可以看作可以封装为一种交易形式,由此可以建立一个记录fl模型的区块链账本,算法根据区域特征将车辆和基础设施分成若干组并配备专属的区块链账本等。尽管上述一些方案都能够适当改善隐私泄露的现状,但联邦学习本身依然存在一系列安全缺陷仍未得到弥补。

然而,这些目前这些技术普遍存在以下缺点。其一,联邦学习容易受到一些网络攻击,比如生成对抗网络(gan)攻击。其二,数据加密的过程也会导致通信的巨大延迟等。



技术实现要素:

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种车联网中基于同态加密的联邦学习隐私保护方法,将paillier和rsa的加解密部分拆分,分别部署在车节点和边缘层中,同时把对应的密钥分布式存放。加法同态在车辆节点和边缘服务器上完成,云服务器对模型参数中需要更新的部分进行乘法同态加密,这使得非本地端可以直接对密文进行操作,无需暴露明文。因此,云端可以在全程加密的情况下完成模型聚合和均值化,以确保用户的数据隐私。本发明提出的方法,能够显著抵御目前针对联邦学习的gan攻击,保护了用户隐私,同时提高了系统加密的效率。

本发明采用如下技术方案:

一种车联网中基于同态加密的联邦学习隐私保护方法,包括:

s1:密钥生成与分配边缘端生成paillier私钥skpaillier、公钥pkpaillier和rsa私钥skrsa、公钥pkrsa;密钥生成后,边缘端调用加密模块对paillier公钥进行加密,得到第一密文,并将第一密文发送至所有参与训练的客户端,并将rsa公钥和paillier私钥发送至云端,rsa私钥保留在边缘端;

s2:客户端进行训练云端选取参与训练的的n个车节点vi={v1,v1,…vn},车节点vi调用本地解密模块对第一密文进行解密,得到paillier公钥,车节点vi将自身行驶的过程中收集的图像信息输入到本地的机器学习模型中进行训练,输出本次训练结果模型参数μi,随后vi对μi进行paillier加密,得到第二密文,并将第二密文传送至边缘端;

s3:边缘端利用同态加法完成模型聚合边缘端接收客户端发送的第二密文后,利用加法同态性直接对第二密文进行求和,得到第三密文,第三密文为模型参数聚合结果,边缘端将第三密文发送给云端;

s4:云端利用乘法同态性完成模型均值化云端收到第三密文后,利用存储在本地的paillier私钥对第三密文进行解密,得到明文,云端调用生成的rsa公钥对明文进行rsa加密,得到模型参数聚合结果的rsa密文态,并利用乘法同态性对模型参数聚合结果的rsa密文态求平均值,得到第二模型参数聚合结果的rsa密文态,云端并将得到的第二模型参数聚合结果的rsa密文态发送边缘端;

s5:边缘端进行rsa解密新的模型参数边缘端收到第二模型参数聚合结果的rsa密文态后,利用存放在本地的rsa私钥对第二模型参数聚合结果的rsa密文态进行解密,得到更新后的模型参数,边缘端并将更新后的模型参数进行广播;

s6:客户端模型更新客户端再接收到边缘端广播的更新后的模型参数,将更新后的模型参数部署更新至本地的继续前行模型,完成了客户端在无需共享自身本地数据下的模型迭代。

由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:

1)将联邦学习引入iov中以解决用户隐私泄露问题,为了进一步地增强数据安全性,在联邦学习中引入高效的同态加密。

2)改进了具有加法同态性的paillier算法和具有乘法同态性的rsa算法,并结合aes算法和步长混淆的方式,构建一个具有全同态加密性的联邦学习架构。

3)将paillier和rsa的加解密部分拆分,分别部署在车节点和边缘层中,同时把对应的密钥分布式存放;加法同态在车辆节点和边缘服务器上完成,云服务器对模型参数中需要更新的部分进行乘法同态加密,这使得非本地端可以直接对密文进行操作,无需暴露明文。

附图说明

图1为基于联邦学习的车联网架构图;

图2为为本发明提出的基于同态加密的联邦学习架构图;

以下结合附图和具体实施例对本发明作进一步详述。

具体实施方式

以下通过具体实施方式对本发明作进一步的描述。

车联网系统由车辆、边缘设备(如rsu)和云服务器组成。在传统的基于边缘计算的车联网中,车辆节点将收集到的道路感知数据传输至rsu,由rsu进行初步的数据清洗和处理,然后上传到云端进行更复杂的处理。然而云端的共享性会使得用户的人数据,如时间、位置,处于隐私泄露的风险之中。联邦学习使多个资源受限的实体(例如车辆和rsu)能够使用其自身的本地数据对全局模型进行协作学习。云服务器不直接收集用户终端的数据,仅收集车辆和rsu上最新的模型更新,从而减少了延迟并保护了用户数据隐私。然而联邦学习依然容易受到一些常见的网络攻击(如gan攻击),同态加密来有效抵御这些攻击。在同态加密过程中,密文可以直接被进行加法操作或乘法操作,得到的结果与对明文进行操作的结果是一致的。基于同态加密的联邦学习架构,可以使模型参数在端与端的传输时得到了有效的保护。非本地端可以直接对密文进行操作、无需暴露明文,确保了数据私密性。将改进具有加法同态性的paillier算法和具有乘法同态性的rsa算法,并结合aes算法和步长混淆的方式,构建一个具有全同态加密性的联邦学习架构。

本发明实施例采用如下技术方案:

一种车联网中基于同态加密的联邦学习隐私保护方法,包括:

步骤1):密钥生成与分配。该步骤由边缘端(edge)在每一轮训练开始前完成。edge首先生成paillier私钥skpaillier、公钥pkpaillier和rsa私钥skrsa、公钥pkrsa生成。公式1定义了paillier私钥和公钥。公式2定义了rsa私钥和公钥。

skpaillier=lcm(p-1,q-1);pkpaillier=(n,g)#(1)

skrsa=d;pkrsa=(n,e)#(2)

paillier私钥为p-1和q-1两者最小公倍数,其中p、q为随机生成的大素数。pailler公钥由n,g共同组成,其中即g为随机整数且满足n整除g的阶。rsa公钥由(n,e)共同构成,其中n=p*q,p、q为随机生成大素数,与paillier中的取值一致;e为随机大整数且满足gcd(e,(p-1)(q-1))=1,即e与(p-1)(q-1)最大公约数为1。rsa私钥为整数d,满足(d*e)mod[(q-1)(p-1)]=1。

密钥生成后,edge调用加密模块对paillier公钥和rsa私钥进行加密,得到第一密文key,并将第一密文key发送至所有参与训练的客户端(client)。paillier私钥和rsa公钥将留在edge本地。

步骤2):client进行训练。本轮被云端(cloud)选中参与训练的的n个车节点vi={v1,v1,...vn}在训练开始前便收到第一密文key。vi调用本地解密模块对第一密文key进行解密,得到paillier公钥和rsa私钥。vi将自身行驶的过程中收集的图像信息输入到本地的机器学习模型中进行训练,输出本次训练结果模型参数μi。随后vi对μ进行paillier加密,得到第二密文:

其中(n,g)为paillier公钥,vi将第二密文ci传输至cloud。至此,client完成前期训练。

步骤3):cloud利用同态加法完成模型聚合。cloud收到来自n个client发送的密文后,利用加法同态性直接paillier加密下的模型参数进行求和,得到第三密文c为模型参数聚合结果paillier密文态。随后cloud将第三传输给edge。

步骤4):edge将聚合结果转换为rsa密文。edge收到c后,利用存储在本地的paillier私钥对聚合结果进行解密,得到明文:

其中n、g来自paillier公钥。m为各个client本轮模型聚合结果,其在cloud操作和传输中始终保持加密状态,且无法体现出具体某一个client的具体特征,因此用户隐私得到保障。

接着edge调用(1)中生成rsa公钥对m进行rsa加密:

c’=memodn#(5)

其中e、n来自rsa公钥。c’为模型参数聚合结果的rsa密文态。最后edge将c’传输给cloud。至此edge在本轮中任务全部完成。

步骤5):cloud利用同态乘法完成模型均值化。cloud收到c’后,利用乘法同态性对c’求平均值,得到:

其中n为本轮参与的client总数。c’new为第二模型参数的rsa加密态。最后cloud将c’new传输给client。

步骤6):client模型更新。clienti收到c’new后,调用(2)的rsa私钥对c’new进行解密:

其中d来自rsa私钥,n来自rsa公钥。μnew即为更新后的模型参数,client将其更新至本地的机器学习模型中,便完成了各个client在无需共享自身本地数据的模型迭代。

具体地,步骤1中密钥生成与分配,该步骤由edge在每一轮训练开始前完成。edge首先生成paillier私钥skpaillier、公钥pkpaillier和rsa私钥skrsa、公钥pkrsa生成,公式1定义了paillier私钥和公钥,公式2定义了rsa私钥和公钥;

步骤2中具体包括:

client进行训练。本轮被cloud选中参与训练的的n个车节点vi={v1,v1,...vn}在训练开始前便收到密文key。vi调用本地hkd模块对key进行解密,得到paillier公钥和rsa私钥。vi将自身行驶的过程中收集的图像信息输入到本地的机器学习模型中进行训练,输出本次训练结果模型参数μi。随后vi对μ进行paillier加密,得到密文:

其中(n,g)为paillier公钥,vi将密文ci传输至cloud。至此,client完成前期训练

步骤3):cloud利用同态加法完成模型聚合。cloud收到来自n个client发送的密文后,利用加法同态性直接paillier加密下的模型参数进行求和,得到新密文c为模型参数聚合结果paillier密文态。随后cloud将c传输给edge。

如图1基于联邦学习的车联网架构图;云服务器不直接收集用户终端的数据,仅收集边缘设备上最新的模型训练结果,当某一用户产生最新数据时,其数据用于训练边缘模型,并在训练完成后将模型梯度更新上传至云数据中心用来更新云端的共享模型;如图2是本发明提出的基于同态加密的联邦学习架构,其中训练逻辑:云服务器会根据一定策略选择若干client进行训练;client训练得出的模型参数在转换为paillier密文后与cloud进行通信和同态加法操作,得到的结果在edge的辅助下转换为rsa密文继续与cloud进行同态乘法操作,最终返回client完成模型更新。

本发明提供一种将基于同态加密的联邦学习引入车联网中,通过改进具有加法同态行的paillier算法和具有乘法同态性的rsa算法,并结合aes算法和步长混淆的方式,同时采用分层加密技术,使加法同态在边缘端完成,而乘法同态在云端完成以提高加密效率,从而有效防止联邦学习恶意攻击,并有效降低加密导致的延迟的方法。该发明可以应用在车联网中进行隐私保护将联邦学习引入iov中以解决用户隐私泄露问题。为了进一步地增强数据安全性,在联邦学习中引入高效的同态加密。而且改进了具有加法同态性的paillier算法和具有乘法同态性的rsa算法,并结合aes算法和步长混淆的方式,构建一个具有全同态加密性的联邦学习架构;此外,将paillier和rsa的加解密部分拆分,分别部署在车节点和边缘层中,同时把对应的密钥分布式存放。加法同态在车辆节点和边缘服务器上完成,云服务器对模型参数中需要更新的部分进行乘法同态加密,这使得非本地端可以直接对密文进行操作,无需暴露明文。

上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

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