【技术实现步骤摘要】
一种适用于联邦学习场景中抵御拜占庭攻击的数据完整性审计方法
[0001]本专利技术涉及联邦学习
,特别涉及能综合防止推理攻击与拜占庭攻击,还能对联邦学习中数据进行完整性审计的一种适用于联邦学习场景中抵御拜占庭攻击的数据完整性审计方法
。
技术介绍
[0002]近些年备受关注的联邦学习
(Federated Learning
,简称
FL)
是一种很有应用前景的分布式学习范式,它能够使众多资源受限的客户能够在不共享隐私敏感数据的情况下共同学习到一个全局模型
。
联邦学习已经被广泛应用于金融
、
医疗
、
智慧城市等多种现实应用
。
具体来说,在联邦学习中,成千上万的客户端
(
如物联网设备
、
边缘设备
)
在其私有数据集上执行本地模型训练并上传更新
(
或本地模型
)
,同时一个中央服务器
(
例如,谷歌,
Apple)
提供策略来发布聚合的全局模型
。
然而,联邦学习很容易受到投毒攻击,其中,攻击者
(
例如,受影响的客户
)
可能篡改本地训练数据
(
称为数据投毒攻击
)
或本地模型
(
称为模型投毒攻击
)
,从而破坏全局模型
。
例如,攻击者可以修改数据的标签以使全 ...
【技术保护点】
【技术特征摘要】
1.
一种适用于联邦学习场景中抵御拜占庭攻击的数据完整性审计方法,其特征在于,包括以下步骤:步骤1:系统参数初始化;给定一个安全参数
λ
,密钥生成中心
KGC
选择一个素数
p
,定义阶为
p
的循环加法群
G1、G2和循环乘法群
G
T
,定义
g
是
G1的生成元,
h
是
G2的生成元,
g
和
h
组成同构映射:
g
=
ψ
(h)
,设置双线性映射
e:G1×
G2→
G
T
,令
P
=
e(g,h)
,
KGC
公开系统参数
pp
=
(p,g,h,e)
;步骤2:密钥生成中心
KGC
生成全同态加密算法
、
同态哈希函数密钥以及伪随机函数私钥,并发送至参与方与根服务器,参与方初始化神经网络模型;步骤3:参与方与根服务器收到生成的密钥后,对标准化后的本地梯度
、
基准梯度进行加密并签名,同时生成本地梯度
、
基准梯度的身份标识符,将本地梯度
、
基准梯度的密文
、
签名
、
身份标识符上传给聚合服务器;步骤4:聚合服务器计算在密文状态下本地梯度和根服务器生成的基准梯度之间的余弦相似度来进行梯度筛选,删除恶意梯度后更新全局模型,同时对参与方上传的签名和身份标识符进行聚合;聚合服务器把更新后的全局模型
、
聚合签名
、
聚合身份标识符发送给各个参与方;步骤5:各参与方通过双线性对运算
、
同态哈希运算
、
点乘运算计算出聚合签名的验证等式;若等式通过验证,则接收更新后的全局模型并进入下一轮训练;否则,拒绝更新后的全局模型并输出错误符号
。2.
根据权利要求1所述的适用于联邦学习场景中抵御拜占庭攻击的数据完整性审计方法,其特征在于,所述步骤2中密钥生成中心
KGC
生成公钥和私钥,包括以下步骤:
S2.1
:
KGC
根据安全参数
λ
和相关参数生成全同态加密算法的私钥
sk、
公钥
pk、
辅助计算密钥
evk
,其中
evk
是用来消除密文同态运算后产生的噪声,故全同态加密算法的密钥为
(sk,pk,evk)
;
S2.2
:定义同态哈希函数即将密文多项式映射成椭圆曲线上的点,其中
Z
q
[x][y]
表示关于
x
,
y
整数多项式环,
R
q
[y]
表示关于
x
,
y
的实数多项式环,
q
表示模数,
deg
x
(c),deg
y
(c)
分别表示在密文多项式中关于
x
,
y
的最高次幂;随机选取则同态哈希函数的密钥
k
=
(
α
,
β
)
,选取一个随机数
η
∈Z
q
,表示去掉元素0的整数环;
S2.3
:定义伪随机函数
F
k
:{0,1}
*
→
G1×
G2,选取两个随机种子
K1,K2,则伪随机函数私钥
K
=
(K1,K2)
;
S2.4
:
KGC
设置
PK
=
(pk,pp)
,
SK
=
(sk,k,K,
η
,
evk)
,
SK'
=
(k,K,
η
)
,并将公私钥对
(PK,SK)
发送给参与方,公私钥对
(PK,SK')
发送给根服务器
。3.
根据权利要求2所述的适用于联邦学习场景中抵御拜占庭攻击的数据完整性审计方法,其特征在于,所述步骤3中的聚合服务器先初始化全局模型参数,并在第
k
轮训练时,将加密后的全局模型发送给各参与方
。4.
根据权利要求3所述的适用于联邦学习场景中抵御拜占庭攻击的数据完整性审计方法,其特征在于,各本地参与方的训练包括以下步骤:
S3.1
:在第
k
轮训练中,每个参与方
P
i
从聚合服务器下载使用公钥
pk
加密后的全局模型
ω
k
‑
1 pk
,使用对应的私钥
sk
解密得到全局模型
ω
k
‑1;然后参与方
P
i
利用本地数据集
D
i
通过卷积神经网络
CNN
进行训练,得到本地梯度同时根服务器利用纯净的且与参与方数据分布接近的数据集
D
n+1
使用相同的卷积神经网络
CNN
进行训练,得到干净的基准梯度进行训练,得到干净的基准梯度进行训练,得到干净的基准梯度其中
L(
·
)
表示损失函数,为求导符号;
S3.2
:本地参与方
P
i
和根服务器分别对本地梯度和基准梯度通过下式进行标准化处理:式进行标准化处理:其中表示标准化后的本地梯度,表示标准化后的基准梯度;
S3.3
:本地参与方
P
i
和根服务器接收到
KGC
生成的公钥
PK
后,使用全同态加密算法对标准化后的本地梯度和基准梯度加密,得到梯度的密文定义
E
=
{c∈Z
q
[x][y]:deg
x
(c)
=
s,deg
y
(c)
=
t}
,其中
Z
q
[x][y]
表示关于
x
,
y
的整数多项式环,
q
表示模数,
deg
x
(c)
=
s
,
deg
y
(c)
=
t
表示密文多项式中关于
x
,
y
的最高次幂;
S3.4
:本地参与方
P
i
选择随机数
θ
i
∈{0,1}
*
,i∈{1,...,n}
作为本地梯度的身份标识符,根服务器选择
θ
n+1
∈{0,1}
*
作为基准梯度的身份标识符;
S3.5
:各参与方
P
i
和根服务器通过同态哈希函数计算
(T
i
,U
i
)∈G1×
G2,并通过伪随机函数
F
K
计算
(R
i
,S
i
)∈G1×
G2和简易验证值
ω
f
,根据上述生成的参数计算
X
i
,
Y
i
,则本地梯度和基准梯度的签名为
σ
i
=
(T
i
,U
i
,X
i
,Y
i
,
Λ
i
=
1)∈(G1×
G2)2×
G
T
,i
=
{1,...,n+1}
,并设置
lev(
σ
i
)
=1,其中
lev(
σ
i
)
表示签名的级别;
S3.6
:参与方将信息
μ
x
=
(
θ1,c1,
σ1,...,
θ
n
,c
n
,
σ
n
)
发送给聚合服务器,根服务器将信息
μ
'
x
=
(
θ
n+1<...
【专利技术属性】
技术研发人员:金春花,李路路,罗晨风,孔令文,刘畅,陈晓兵,陈冠华,
申请(专利权)人:淮阴工学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。