Comments on “VERSA: Verifiable Secure Aggregation for Cross-Device Federated Learning” -- 对“VERSA:用于跨设备联邦学习的可验证安全聚合”的评论
来源
题目 | Comments on “VERSA: Verifiable Secure Aggregation for Cross-Device Federated Learning” |
---|---|
来源 | 2024 TDSC |
作者 | Fucai Luo, Haiyan Wang, and Xingfu Yan. |
单位 | 鹏城实验室新型网络研究部;南方科技大学 |
摘要
- 联邦学习(FL)[6]允许大量用户通过仅将其本地梯度发送到中央服务器进行聚合,在每次训练迭代中共同训练机器学习(ML)模型,而无需发送其原始训练数据。FL的主要安全问题,即梯度向量的隐私和聚合梯度的正确性验证,正在受到行业和学术界的越来越多关注。为了保护梯度的隐私,提出了一种安全聚合;为了验证聚合梯度的正确性,提出了一种可验证的安全聚合,要求服务器提供可验证的聚合梯度。
- 在2021年,Hahn等人提出了VERSA,一种可验证的安全聚合(DOI:10.1109/TDSC.2021.3126323)。然而,在本文中,我们将指出VERSA的一个缺陷,这表明VERSA无法正常工作。为了解决这个缺陷,我们提出了几种不同优势和劣势的方法。我们希望通过识别这个缺陷,可以在未来的可验证安全聚合设计中避免类似的错误。
一 INTRODUCTION
- 联邦学习(FL)是一种有前景的协作机器学习(ML)框架,允许模型在敏感的现实数据上进行训练,同时保护其隐私。在FL中,每个用户在其数据上本地训练全局模型的副本,并计算一个本地梯度向量,然后将其发送到一个中央聚合服务器(即聚合器)。服务器聚合这些梯度向量并获得一个聚合梯度,然后将其发送回所有用户。在接收到聚合梯度后,每个用户更新全局模型并继续进行下一次训练迭代。然而,这一FL过程引发了至少以下两个重要的隐私担忧。
- 服务器可以通过分析用户的梯度向量来获取有关用户本地训练数据的信息。这种攻击通常被称为推理攻击[7]。
- 服务器可能会通过向每个用户提供畸形的聚合梯度任意操控全局模型。特别是,一个“懒惰”的服务器可能会减少聚合操作以节省计算成本,或者更糟糕的是,恶意伪造聚合梯度。
- 针对上述隐私问题,提出了安全聚合[1]和可验证[8]的安全聚合的概念。
- 首个安全聚合协议是由Bonawitz等人提出的[1],他们使用了双重遮蔽技术、Shamir的秘密分享(SSS)、密钥协议(KA)和对称加密来保护本地梯度向量的隐私并处理失效问题。最近,Hahn等人[4]在[1]的基础上添加了一个没有可信授权(TA)的验证机制,以确保聚合梯度的正确性。然而,在此评论中,我们表明[4]中的方案由于一个错误而无法工作。
二 PRELIMINARIES
-
由于我们提出的对[4]的密码分析在很大程度上依赖于密钥协商,因此在此对其进行回顾。密钥协商协议包含多项式时间算法 K A = ( K A . S e t u p , K A . G e n , K A . A g r e e ) KA = (KA.Setup, KA.Gen, KA.Agree) KA=(KA.Setup,KA.Gen,KA.Agree) ,定义如下:
- K A . S e t u p ( 1 λ ) → K A p p KA.Setup(1^λ) → KApp KA.Setup(1λ)→KApp: 输出一个公共参数 K A p p KApp KApp。
- K A . G e n ( K A p p ) → ( p k u , s k u ) KA.Gen(KApp) → (pk_u, sk_u) KA.Gen(KApp)→(pku,sku): 为任何用户 u u u 输出一对公钥/私钥 ( p k u , s k u ) (pk_u, sk_u) (pku,sku) 。
- K A . A g r e e ( s k u , p k v ) → s u , v KA.Agree(sk_u, pk_v) → s_{u,v} KA.Agree(sku,pkv)→su,v: 输出共享秘密密钥 s u , v s_{u,v} su,v。
-
上述关键协议满足以下要求:
- 正确性。对于任何 ( p k u , s k u ) , ( p k v , s k v ) ← K A . G e n ( K A p p ) (pk_u, sk_u), (pk_v, sk_v) ← KA.Gen(KApp) (pku,sku),(pkv,skv)←KA.Gen(KApp),我们有 K A . A g r e e ( s k u , p k v ) = K A . A g r e e ( s k v , p k u ) KA.Agree(sk_u, pk_v) = KA.Agree(sk_v, pk_u) KA.Agree(sku,pkv)=KA.Agree(skv,pku)。
- 在诚实但好奇模型中的安全性。对于任何
(
p
k
u
,
s
k
u
)
,
(
p
k
v
,
s
k
v
)
←
K
A
.
G
e
n
(
K
A
p
p
)
(pk_u, sk_u), (pk_v, sk_v) ← KA.Gen(KApp)
(pku,sku),(pkv,skv)←KA.Gen(KApp) 和
s
u
,
v
←
K
A
.
A
g
r
e
e
(
s
k
u
,
p
k
v
)
s_{u,v} ← KA.Agree(sk_u, pk_v)
su,v←KA.Agree(sku,pkv),我们有:
s u , v ≈ c r s_{u,v} ≈_c r su,v≈cr
-
对于任何被给予公钥 ( p k u , p k v ) (pk_u, pk_v) (pku,pkv) 的概率多项式时间 (PPT) 对手来说,其中 r r r 是一个均匀随机字符串 “ ≈ c ” “≈_c” “≈c” 表示这两个分量在计算上是不可区分的。
-
像 [1] 一样,Hahn 等人 [4] 也使用了包含哈希函数的 Diffie-Hellman 密钥协商方案 [3]。也就是说, K A . S e t u p ( 1 λ ) → ( G , q , g , H ) KA.Setup(1^λ) → (\mathbb{G}, q, g, H) KA.Setup(1λ)→(G,q,g,H) 采样一个素数阶 q q q 的群 G \mathbb{G} G,以及一个生成元 g g g 和一个哈希函数 H H H; K A . G e n ( G , q , g , H ) → ( x u , g x u ) KA.Gen(\mathbb{G}, q, g, H) → (x_u, g^{x_u}) KA.Gen(G,q,g,H)→(xu,gxu) 采样一个随机元素 x u ← Z q x_u ← \mathbb{Z}_q xu←Zq 作为私钥 s k u sk_u sku,并计算 g x u g^{x_u} gxu 作为公钥 p k u pk_u pku;而 K A . A g r e e ( x u , g x v ) → s u , v KA.Agree(x_u, g^{x_v}) → s_{u,v} KA.Agree(xu,gxv)→su,v 输出 s u , v = H ( ( g x v ) x u ) s_{u,v} = H((g^{x_v})^{x_u}) su,v=H((gxv)xu)。
三 VERIFIABLE SECURE AGGREGATION
- 安全聚合是以一种安全的方式计算多方总和的问题,用户在此过程中不向任何人(甚至聚合者)明示其输入向量,也就是说,聚合者(例如服务器)计算 x = ∑ u ∈ U x u x = \sum_{u \in U} x_u x=∑u∈Uxu 而不学习其他任何信息,每个用户也一无所知,其中 x u x_u xu 是用户 u ∈ U u \in U u∈U 的私有向量( U U U 是用户集合)。Bonawitz 等人 [1] 提出了高度依赖密钥协商方案的双重掩蔽技术,以解决上述安全聚合问题。
- 可验证的安全聚合是安全聚合与上述聚合向量 x x x 的正确性验证的结合,换句话说,除了以安全的方式计算总和 x x x 之外,聚合者还向用户证明他/她诚实地计算了总和 x x x (即他/她提供了总和正确性的“证明”)。
四 REVIEW OF HAHN et al.’S VERSA
-
在[4]中,作者提出了VERSA,使用了双重遮蔽技术、Shamir秘密共享(SSS)、密钥协商(KA)方案、对称加密和伪随机生成器(PRG)。从结构上看,VERSA由两个组成部分构成:一个与[1]中相同的安全聚合协议,以及一个依赖于KA方案和PRG的验证机制。但与其他可验证的安全聚合协议不同,作者在[4]中声称他们提出的验证机制不需要信任代理(TA)。因此,VERSA的创新之处在于其验证机制不依赖于TA。接下来,我们将回顾该验证机制并指出其中的一个错误。
-
在VERSA中的验证机制[4]。 在VERSA中,服务器需要计算一个总和和该总和的“证明”。为了生成这样的证明,用户需要提供他们的掩码输入以及一些相应的辅助信息,以帮助服务器生成总和正确性的“证明”。更准确地说,给定输入向量 x u x_u xu ,每个用户 u u u 计算并发送两个掩码向量 y u 、 y ˉ u y_u、\bar{y}_u yu、yˉu(使用双重掩码技术;我们建议读者参考[1],[4]获取技术细节),其中 y u y_u yu 是 x u x_u xu 的掩码向量, y ˉ u \bar{y}_u yˉu 是 F ( x u ) = a ∘ x u + b F(x_u)=a \circ x_u+b F(xu)=a∘xu+b 的掩码向量(其中 ∘ \circ ∘是哈达玛乘积)。两个向量 ( a , b ) (a, b) (a,b) 是隐藏于服务器的秘密向量,所有用户可以计算同一对向量 ( a , b ) (a, b) (a,b) 。在接收到 y u 、 y ˉ u y_u、\bar{y}_u yu、yˉu 后,服务器计算并返回总和 z = ∑ u ∈ U y u z=\sum_{u \in U} y_u z=∑u∈Uyu 和证明 z ˉ = ∑ u ∈ U y ˉ u \bar{z}=\sum_{u \in U} \bar{y}_u zˉ=∑u∈Uyˉu,其中 z = ∑ u ∈ U x u z=\sum_{u \in U} x_u z=∑u∈Uxu和 z ˉ = a ∘ ∑ u ∈ U x u + ∣ U ∣ ⋅ b \bar{z} = a \circ \sum_{u \in U} x_u + |U| · b zˉ=a∘∑u∈Uxu+∣U∣⋅b 。每个在线用户通过检查以下等式Eq(1):是否成立来验证 z z z :
- z ˉ = ? a ∘ z + ∣ U ∣ ⋅ b \bar{z} \stackrel{\text{\tiny ?}}{=} a \circ z + |U | · b zˉ=?a∘z+∣U∣⋅b
-
现在让我们关注一下文献[4]中的作者是如何构建两个向量 ( a , b ) (a, b) (a,b) 的。
-
作者提出了以下方法:由于在 VERSA 的安全聚合协议中,每个用户 u u u 都与所有存活用户 v ∈ U v ∈ U v∈U 的公钥在本地运行 KA 方案,以计算一组秘密值 { s u , v } v ∈ U \{s_{u,v}\}_{v \in U} {su,v}v∈U 来掩码其输入向量,其中 s u , v ← K A . A g r e e ( s k u , p k v ) s_{u,v} ← KA.Agree(sk_u, pk_v) su,v←KA.Agree(sku,pkv) 对于 v ∈ U v ∈ U v∈U,用户 u u u 计算 α = ∑ u ∈ U s u , v α= \sum_{u \in U} s_{u,v} α=∑u∈Usu,v 以及:
- a = P R G ( α ∣ ∣ 0 ) , b = P R G ( α ∣ ∣ 1 ) a = PRG(α||0), b = PRG(α||1) a=PRG(α∣∣0),b=PRG(α∣∣1) .
-
每个存活的用户 v v v 可以从 { s v , u } u ∈ U \{s_{v,u}\}_{u \in U} {sv,u}u∈U 中推导出 α \alpha α 并生成 ( a , b ) (a, b) (a,b),从而验证 Eq.(1)。
-
根据上述验证机制和Eq(1),每个存活用户 v v v 需要使用上述方法计算相同的一对向量 ( a , b ) (a, b) (a,b) 。换句话说,由于这两个向量 ( a , b ) (a, b) (a,b) 是由 α \alpha α 决定的,验证机制要求,对于任何 α = ∑ v ∈ U s u , v \alpha = \sum_{v \in U} s_{u,v} α=∑v∈Usu,v 和 α ′ = ∑ u ∈ U s v , u \alpha^′ = \sum_{u \in U} s_{v,u} α′=∑u∈Usv,u,由任意两个用户 u u u 和 v v v 分别计算,必须满足以下等式Eq(2):
- α = α ′ \alpha = \alpha' α=α′.
-
然而,我们认为Eq(2)不成立。对于两个用户 u u u 和 v v v,他们只能通过运行KA方案计算出一个唯一的共享值,该共享值是相同的,即 s u , v = s v , u s_{u,v} = s_{v,u} su,v=sv,u 成立,其中共享值 s u , v ← K A . A g r e e ( s k u , p k v ) s_{u,v} ← KA.Agree(sk_u, pk_v) su,v←KA.Agree(sku,pkv) , s v , u ← K A . A g r e e ( s k v , p k u ) s_{v,u} ← KA.Agree(sk_v, pk_u) sv,u←KA.Agree(skv,pku) 分别由用户 u u u 和 v v v 计算。换句话说,除了 s u , v s_{u,v} su,v 和 s v , u s_{v,u} sv,u 相等之外,其他共享值在 { s u , v } v ∈ U \{s_{u,v}\}_{v \in U} {su,v}v∈U和 { s v , u } u ∈ U \{s_{v,u}\}_{u \in U} {sv,u}u∈U中可能不相等,因为其他共享值是由其他对应用户的公钥计算得出的;例如,我们不能从KA的安全性保证 s u , w = s v , w s_{u,w} = s_{v,w} su,w=sv,w(回想一下,使用的KA是一个双方密钥协商协议;参见第二节),其中 s u , w ← K A . A g r e e ( s k u , p k w ) s_{u,w} ← KA.Agree(sk_u, pk_w) su,w←KA.Agree(sku,pkw), s v , w ← K A . A g r e e ( s k v , p k w ) s_{v,w} ← KA.Agree(sk_v, pk_w) sv,w←KA.Agree(skv,pkw) 。我们还提供以下Toy Example来说明上述断言。因此,由于Eq(2)不成立,验证机制无法正常工作。
-
Toy Example 。为简化起见,我们假设有三个 u , v , w ∈ U u, v, w \in U u,v,w∈U,旨在计算相同的 α \alpha α。通过私钥 s k u sk_u sku 和公钥 p k v pk_v pkv、 p k w pk_w pkw,用户 u u u 可以通过运行 KA 计算两个共享值 s u , v ← K A . A g r e e ( s k u , p k v ) s_{u,v} ← KA.Agree(sk_u, pk_v) su,v←KA.Agree(sku,pkv), s u , w ← K A . A g r e e ( s k u , p k w ) s_{u,w} ← KA.Agree(sk_u, pk_w) su,w←KA.Agree(sku,pkw),并得出 α u = s u , v + s u , w \alpha_u = s_{u,v} + s_{u,w} αu=su,v+su,w 样,用户 v v v 可以计算两个共享值 s v , u ← K A . A g r e e ( s k v , p k u ) s_{v,u} ← KA.Agree(sk_v, pk_u) sv,u←KA.Agree(skv,pku), s v , w ← K A . A g r e e ( s k v , p k w ) s_{v,w} ← KA.Agree(sk_v, pk_w) sv,w←KA.Agree(skv,pkw) ,并得出 α v = s v , u + s v , w \alpha_v = s_{v,u} + s_{v,w} αv=sv,u+sv,w,而用户 w w w 可以计算两个共享值 s w , u ← K A . A ( s k w , p k u ) s_{w,u} ← KA.A(sk_w, pk_u) sw,u←KA.A(skw,pku) , s w , v ← K A . A g r e e ( s k w , p k v ) s_{w,v} ← KA.Agree(sk_w, pk_v) sw,v←KA.Agree(skw,pkv) ,并得出 α w = s w , u + s w , v \alpha_w = s_{w,u} + s_{w,v} αw=sw,u+sw,v。根据 KA 的正确性,我们有 s u , v = s v , u s_{u,v} = s_{v,u} su,v=sv,u, s u , w = s w , u s_{u,w} = s_{w,u} su,w=sw,u,, s v , w = s w , v s_{v,w} = s_{w,v} sv,w=sw,v。将这些结合起来,对于 α u \alpha_u αu, α v \alpha_v αv, α w \alpha_w αw,当且仅当 ( s u , w = s v , w (s_{u,w} = s_{v,w} (su,w=sv,w, s v , u = s w , u s_{v,u} = s_{w,u} sv,u=sw,u) 成立时,等式 α u = α v = α w \alpha_u = \alpha_v = \alpha_w αu=αv=αw 成立,而由于 KA 的安全性,这种情况发生的概率极小。换句话说, α u = α v = α w \alpha_u = \alpha_v = \alpha_w αu=αv=αw 成立的概率极小。
-
建议。 作为一种双方密钥协商协议,KA无法用于超过2方计算相同的值 α \alpha α 。我们提供以下替代解决方案:
- 多方密钥协商协议[5];
- 多方计算协议[2];
- 使用可信任的机构来分发该值 α \alpha α。
-
然而,请注意,(1) 需要大量的计算;(2)需要更多的通信轮次和流量;(3)始终是一个强假设。因此,用户可以权衡利弊,然后选择合适的方法。
五 CONCLUSION
通过数学分析,我们展示了 VERSA 的缺陷。此外,我们提供了几种替代解决方案,这意味着建立一个高效的可验证安全聚合协议并不容易,而不依赖于信任的第三方(TA)。作为一项次要贡献,本文也表明,在没有 TA 的情况下构建高效的可验证安全聚合仍然是一个具有挑战性的问题。
参考文献
[1]: K. Bonawitz, V. Ivanov, B. Kreuter, A. Marcedone, H. B. McMahan, S. Patel, D. Ramage, A. Segal, and K. Seth. Practical secure aggregation for privacy-preserving machine learning. In B. M. Thuraisingham, D. Evans, T. Malkin, and D. Xu, editors, Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, CCS 2017, Dallas, TX, USA, October 30 - November 03, 2017, pages 11751191. ACM, 2017.
[2]: R. Cramer, I. Damg ̊ard, and U. M. Maurer. General secure multi-party computation from any linear secret-sharing scheme. In B. Preneel, editor, Advances in Cryptology - EUROCRYPT 2000, International Conference on the Theory and Application of Cryptographic Techniques, Bruges, Belgium, May 14-18, 2000, Proceeding, volume 1807 of Lecture Notes in Computer Science, pages 316–334. Springer, 2000.
[3]: W. Diffie and M. Hellman. New directions in cryptography. IEEE transactions on Information Theory, 22(6):644–654, 1976.
[4]: C. Hahn, H. Kim, M. Kim, and J. Hur. Versa: Verifiable secure aggregation for cross-device federated learning. IEEE Transactions on Dependable and Secure Computing, 2021.
[5]: M. Just and S. Vaudenay. Authenticated multi-party key agreement. In K. Kim and T. Matsumoto, editors, Advances in Cryptology - ASIACRYPT ’96, International Conference on the Theory and Applications of Cryptology and Information Security, Kyongju, Korea, November 3-7, 1996, Proceedings, volume 1163 of Lecture Notes in Computer Science, pages 36–49. Springer, 1996.
[6]: J. Konecn ́y, H. B. McMahan, F. X. Yu, P. Richt ́arik, A. T. Suresh, and D. Bacon. Federated learning: Strategies for improving communication efficiency. CoRR, abs/1610.05492, 2016.
[7]: R. Shokri, M. Stronati, C. Song, and V. Shmatikov. Membership inference attacks against machine learning models. In 2017 IEEE Symposium on Security and Privacy, SP 2017, San Jose, CA, USA, May 22-26, 2017, pages 3–18. IEEE Computer Society, 2017.
[8]: G. Xu, H. Li, S. Liu, K. Yang, and X. Lin. Verifynet: Secure and verifiable federated learning. IEEE Trans. Inf. Forensics Secur., 15:911–926, 2020.