一种抗恶意传输数据攻击的数据聚合签名系统及方法技术方案

技术编号:30315552 阅读:28 留言:0更新日期:2021-10-09 23:01
本发明专利技术公开了一种抗恶意传输数据攻击的数据聚合签名系统及方法,系统包括用户A(User A)和用户B(User B)。用户A和用户B通过合作,基于我们的方案,完成梯度下降模型的训练。方法包括系统参数和验证密钥的生成、两方合作更新θ、聚合签名、集合验证、消除多余参数五部分;本发明专利技术能够保证在恶意攻击下用户隐私不被泄露。露。露。

【技术实现步骤摘要】
一种抗恶意传输数据攻击的数据聚合签名系统及方法


[0001]本专利技术属于安全多方计算
和隐私保护深度学习
,涉及一种两方隐私保护的模型训练方法;特别涉及一种针对恶意传输数据攻击,用户数据隐私保护需要的抗恶意传输数据攻击的数据聚合签名系统及方法。

技术介绍

[0002]线性回归模型是深度学习的典型应用模型。无论在医学,农业还是金融行业,回归模型都有很好的应用。随着大数据的蓬勃发展,线性回归模型得以建立。已被用作深度学习的通用模型。如今,线性回归模型已用于许多领域,例如计算机视觉,语音识别,疾病诊断和其他场景。对于像百度这样的大公司,他们有足够的数据为他们提供线性回归模型的训练。
[0003]所以对于大多数中小公司而言,他们需要合作才能进行线性回归模型的训练,这样会涉及到多种多样的数据安全问题。当两个公司进行合作时,双方都希望能够获取对方的数据,同时又不希望暴露自己的数据,显然这是存在隐私安全问题的。同时在双方合作传输的过程当中,攻击者可能对数据进行破坏从而导致训练失败,以此来破坏线性回归模型的训练。
[0004]目前已经出现了一些解决上述问题的方法,例如通过同态加密以及最小二乘法完成线性回归模型的训练,简单来说就是用户通过加密将数据合并,从而在加密的情况下计算得出(X
T
X)
‑1X
T
Y的结果。
[0005]现有的方案能够有效地防止用户双方获取另一方的数据,但是在加密的情形下计算得出θ=(X
T
X)
‑1Xr/>T
Y显然是非常困难的。在密文上计算(X
T
X)
‑1需要耗费大量的时间,这样的方法实用效果并不高。并且在用户传输数据的过程中,敌手可以通过破坏数据从而导致训练失败。
[0006]两方隐私保护线性回归的现有的方案并不能抵抗敌手的攻击,且由于耗时过大并不具有实用性。

技术实现思路

[0007]为了解决上述问题,本专利技术提供了一种针对恶意传输数据攻击,用户数据隐私保护需要的抗恶意传输数据攻击的数据聚合签名系统及方法。
[0008]本专利技术所采用的技术方案是:一种抗恶意传输数据攻击的数据聚合签名方法,采用抗恶意传输数据攻击的数据聚合签名系统;所述系统包括用户A和用户B;
[0009]所述方法包括以下步骤:
[0010]步骤1.1:用户B选择安全参数κ,然后根据κ随机选择两个大素数p1,q1并计算N1=p1×
q1,选择生成元Paillier密码系统的公钥pk=(N1,g)和私钥sk=(λ,μ),其中用户B选择BLS短签名的密钥x
B
和生成元.g1并计算BLS短签名的公共密钥其中,表示集合{1,2,

,N
12

1}。
[0011]步骤1.2:用户A选择BLS短签名的密钥x
A
以及选择g2作为生成元并计算BLS短签名的公共密钥用户A选择学习率α;
[0012]步骤1.3:用户A和用户B协商迭代次数N;
[0013]步骤1.4:用户B公布公共参数{m1,pk,pk
B
};用户A公布公共参数{m2,α,pk
A
},其中m1为用户B的数据总量,m2为用户A的数据总量;
[0014]步骤1.5:用户A和用户B分别计算出用户数据总量m=m1+m2;
[0015]步骤2:两方合作更新参数模型θ;
[0016]步骤2.1:用户B计算和其中X1为用户B的数据矩阵,Y1每一行为X1每一行对应的结果,为矩阵X1的转置;并将和加密,得到C
B1
,C
B2
;然后将加密后的C
B1
,C
B2
通过聚合签名算法进行签名,得到D
B1
,D
B2

[0017]步骤2.2:用户B将C
B1
,C
B2
和D
B1
,D
B2
发送给用户A;
[0018]步骤2.3:用户A通过集合验证算法验证D
B1
,D
B2
是否正确,如果正确用户A接受C
B1
,C
B2
;用户A计算和并计算出X
T
X和X
T
Y;用户A选择一个随机向量R
A1
,并计算出C
A1
=E
pk
(α(X
T
xθ0‑
X
T
Y)+R
A1
),其中θ0为第一轮计算的参数模型;用户A通过聚合签名算法对C
A1
进行签名,得到D
A1
;其中,E
pk
()表示使用公钥pk进行加密的通用加密算法。
[0019]步骤2.4:用户A将C
A1
和D
A1
发送给用户B;
[0020]步骤2.5:用户B通过集合验证算法验证D
A1
是否正确,如果正确则用户B接受C
A1
;用户B解密得到α(X
T
Xθ0‑
X
T
Y)+R
A1
;用户B选择一个随机向量R
B1
,计算用户B通过聚合签名算法对C
B3
[0021]进行签名得到D
B3

[0022]步骤2.6:用户B将C
B3
和D
B3
发送给用户A;
[0023]步骤2.7:用户A通过集合验证算法验证D
B3
是否正确,如果正确则用户A接受C
B3
,用户A移除R
A1
/m并通过计算得到其中θ1为第二轮的参数模型;用户A选择随机向量R
A2
并计算C
A2
=E
pk
(α(X
T
Xθ0‑
X
T
Y)

αX
T
XR
B1
+R
A2
);用户A通过聚合签名算法对C
A2
进行签名,得到D
A2

[0024]步骤2.8:用户A将C
A2
和D
A2
发送给用户B;
[0025]步骤2.9:用户B通过集合验证算法验证D
A2
是否正确,如果正确则接受C
A2
;用户B解密得到α(X
T
Xθ0‑
X
T
Y)

αX
T
XR
B1
+R
A2
;用户B通过消除多余参数算法与用户A协商消除αX
T
XR...

【技术保护点】

【技术特征摘要】
1.一种抗恶意传输数据攻击的数据聚合签名方法,采用抗恶意传输数据攻击的数据聚合签名系统;所述系统包括用户A和用户B;其特征在于,所述方法包括以下步骤:步骤1:系统参数和验证密钥的生成;步骤1.1:用户B选择安全参数κ,然后根据κ随机选择两个大素数p1,q1并计算N1=p1×
q1,选择生成元Paillier密码系统的公钥pk=(N1,g)和私钥sk=(λ,μ),其中用户B选择BLS短签名的密钥x
B
和生成元g1并计算BLS短签名的公共密钥其中,表示集合{1,2,

,N
12

1};步骤1.2:用户A选择BLS短签名的密钥x
A
以及选择g2作为生成元并计算BLS短签名的公共密钥用户A选择学习率α;步骤1.3:用户A和用户B协商迭代次数N;步骤1.4:用户B公布公共参数{m1,pk,pk
B
};用户A公布公共参数{m2,α,pk
A
},其中m1为用户B的数据总量,m2为用户A的数据总量;步骤1.5:用户A和用户B分别计算出用户数据总量m=m1+m2;步骤2:两方合作更新参数模型θ;步骤2.1:用户B计算和其中X1为用户B的数据矩阵,Y1每一行为X1每一行对应的结果,为矩阵X1的转置;并将和加密,得到C
B1
,C
B2
;然后将加密后的C
B1
,C
B2
通过聚合签名算法进行签名,得到D
B1
,D
B2
;步骤2.2:用户B将C
B1
,C
B2
和D
B1
,D
B2
发送给用户A;步骤2.3:用户A通过集合验证算法验证D
B1
,D
B2
是否正确,如果正确用户A接受C
B1
,C
B2
;用户A计算和并计算出X
T
X和X
T
Y;用户A选择一个随机向量R
A1
,并计算出C
A1
=E
pk
(α(X
T
Xθ0‑
X
T
Y)+R
A1
),其中θ0为第一轮计算的参数模型;用户A通过聚合签名算法对C
A1
进行签名,得到D
A1
;其中,E
pk
()表示使用公钥pk进行加密的加密算法;步骤2.4:用户A将C
A1
和D
A1
发送给用户B;步骤2.5:用户B通过集合验证算法验证D
A1
是否正确,如果正确则用户B接受C
A1
;用户B解密得到α(X
T
Xθ0‑
X
T
Y)+R
A1
;用户B选择一个随机向量R
B1
,计算C
B3
=α(X
T
Xθ0‑
X
T
Y)/m+R
A1
/m+R
B1
;用户B通过聚合签名算法对C
B3
进行签名得到D
B3
;步骤2.6:用户B将C
B3
和D
B3
发送给用户A;步骤2.7:用户A通过集合验证算法验证D
B3
是否正确,如果正确则用户A接受C
B3
,用户A移除R
A1
/m并通过计算得到θ1‑
R
B1
=θ0‑
α(X
T
Xθ0‑
X
T
Y)/m

R
B1
,其中θ1为第二轮的参数模型;用户A选择随机向量R
A2
并计算C
A2
=E
pk
(α(X
T
Xθ0‑
X
T
Y)

αX
T
XR
B1
+R
A2
);用户A通过聚合签名算法对C
A2
进行签名,得到D
A2
;步骤2.8:用户A将C
A2
和D
A2
发送给用户B;步骤2.9:用户B通过集合验证算法验证D
A2
是否正确,如果正确则接受C
A2
;用户B解密得到α(X
T
Xθ0‑
X
T
Y)

【专利技术属性】
技术研发人员:张明武库汉超张语荻
申请(专利权)人:湖北工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1