差分隐私引入统计噪声来保护数据,安全多方计算使用交互协议,而同态加密 (HE) 为联邦学习中的安全聚合提供了一种独特的加密方法。HE 允许直接在加密数据上进行计算,无需首先解密。对于典型的联邦聚合任务,我们关注那些具有加性同态性的方案。加性同态的奥妙假设你有一种特殊的加密方式,我们称之为 $\text{Encrypt}_{pk}(\cdot)$,使用公钥 $pk$。一个加性 HE 方案具有一个显著的属性:如果你使用为密文定义的特定运算 $\oplus$ 将两个消息(例如 $u_1$ 和 $u_2$)的加密版本结合起来,结果等同于原始消息之和的加密:$$ \text{Encrypt}{pk}(u_1) \oplus \text{Encrypt}{pk}(u_2) = \text{Encrypt}_{pk}(u_1 + u_2) $$这一属性自然地延伸到多个消息。在联邦学习的背景下,每个客户端 $i$ 计算其本地更新 $u_i$。客户端不是明文发送 $u_i$,而是使用公钥 $pk$ 将其加密,得到 $c_i = \text{Encrypt}_{pk}(u_i)$。客户端将其密文 $c_1, c_2, \dots, c_N$ 发送给中心服务器。服务器仅拥有公钥,无法解密任何单个 $c_i$。然而,通过运用加性同态性,它可以计算密文之和:$$ C = c_1 \oplus c_2 \oplus \dots \oplus c_N $$由于同态属性,得到的密文 $C$ 实际上是所有客户端更新之和的加密:$$ C = \text{Encrypt}{pk}\left(\sum{i=1}^{N} u_i\right) $$服务器现在拥有了加密的聚合结果。为了获取实际总和 $\sum u_i$,密文 $C$ 必须使用相应的私钥 $sk$ 进行解密。重要之处在于,服务器通常不持有此私钥。用于聚合的 HE 方案几种密码方案具有加性同态性,并可能适用于联邦学习聚合。一些广为人知的例子包括:Paillier 密码系统: 一种被广泛研究的加性同态方案。它在加法方面相对高效,但密文可能显著膨胀。基于格的密码学(例如 BGV、BFV、CKKS 变体): 这些方案可以支持加法和乘法(使其成为全同态或 FHE),但可以配置或以高效支持聚合所需的加法的方式使用。它们通常涉及更复杂的数学原理,但可以为某些操作或参数设置提供性能优势。为了简单的聚合目的($\sum u_i$),我们只需要严格支持加法的部分同态加密 (PHE)。FHE 方案虽然功能更强大,但会引入大量的计算和复杂度开销,这对于基本聚合通常是不必要的。基于 HE 的安全聚合流程让我们概述一下使用加性 HE 的典型联邦学习轮次中涉及的步骤:设置:某个实体(可以是受信任的第三方、客户端协作,或者在特定信任假设下是服务器)生成一个 HE 密钥对 $(pk, sk)$。公钥 $pk$ 分发给所有参与的客户端。私钥 $sk$ 保密,仅由指定的解密方持有。安全性取决于谁控制 $sk$。客户端训练和加密:每个客户端 $i$ 执行本地训练并计算其模型更新 $u_i$。客户端 $i$ 使用公钥加密其更新:$c_i = \text{Encrypt}_{pk}(u_i)$。此步骤对客户端来说计算量可能很大。客户端 $i$ 将密文 $c_i$ 发送给服务器。请注意,$c_i$ 通常比 $u_i$ 大得多。服务器聚合:服务器接收来自参与客户端的加密更新 $c_1, \dots, c_N$。服务器对密文进行同态加法:$C = \bigoplus_{i=1}^{N} c_i$。此步骤要求服务器对密文进行计算,这根据 HE 方案的不同也可能是资源密集型的。解密和模型更新:服务器将聚合密文 $C = \text{Encrypt}_{pk}(\sum u_i)$ 发送给持有私钥 $sk$ 的实体。该实体使用 $sk$ 解密 $C$ 以获取明文聚合总和:$S = \text{Decrypt}_{sk}(C) = \sum u_i$。然后,解密后的总和 $S$ 被用于(通常由服务器在从解密者接收后)更新全局模型参数。以下图表说明了此流程:digraph HE_FL_Workflow { rankdir=LR; node [shape=box, style=rounded, fontname="Arial", fontsize=10]; edge [fontname="Arial", fontsize=9]; subgraph cluster_clients { label = "客户端 (N)"; style=filled; color="#e9ecef"; Client_i [label="客户端 i"]; Client_i -> Client_i [label="计算更新 ui", style=invis]; } subgraph cluster_server { label = "服务器"; style=filled; color="#e9ecef"; Server [label="中心服务器"]; } subgraph cluster_decryptor { label = "解密方 (持有 sk)"; style=filled; color="#e9ecef"; Decryptor [label="解密实体"]; } KeyGen [label="生成\n(pk, sk)", shape=ellipse, style=filled, fillcolor="#a5d8ff"]; KeyGen -> Client_i [label="pk", color="#1c7ed6"]; KeyGen -> Decryptor [label="sk", style=dashed, color="#7048e8"]; Client_i -> Server [label="Encrypt_pk(ui) = ci", color="#1c7ed6"]; Server -> Server [label="聚合:\nC = c1 ⊕ ... ⊕ cN", style=invis]; Server -> Decryptor [label="C = Encrypt_pk(Σui)", color="#1c7ed6"]; Decryptor -> Server [label="Decrypt_sk(C) = Σui", color="#7048e8"]; Server -> Server [label="更新全局模型", style=invis]; }使用加性同态加密进行安全聚合的联邦学习轮次中的数据流。客户端加密更新,服务器聚合密文,一个独立的实体解密总和。权衡利弊HE 提供了一种富有吸引力的方法,但也伴随着重要的权衡:优点:强隐私性: 提供密码学保证,确保服务器无法获知单个客户端更新,前提是服务器不持有私钥。无精度损失: 与差分隐私不同,HE 不会对更新引入噪声。聚合结果是精确的,保持了模型精度。非交互式聚合: 一旦密钥设置完成,客户端只需发送其加密更新;聚合本身无需客户端之间进行复杂的多次往返协议(不同于许多 SMC 方法)。缺点:计算开销: HE 操作(特别是客户端的加密和服务器端的聚合)与明文操作相比计算成本较高。这对于资源受限的客户端(例如移动设备)可能是一个主要瓶颈,并需要强大的服务器。密文膨胀: 加密数据(密文)远大于原始明文数据(更新)。这大幅增加了通信成本,特别是从客户端到服务器的上行链路。{"layout": {"title": {"text": "明文与密文大小对比(示意)"}, "xaxis": {"title": {"text": "数据类型"}}, "yaxis": {"title": {"text": "相对大小"}, "range": [0, 25]}, "bargap": 0.3, "font": {"family": "Arial", "size": 11}}, "data": [{"type": "bar", "x": ["明文更新 (u_i)", "HE 密文 (c_i)"], "y": [1, 20], "marker": {"color": ["#4dabf7", "#ff8787"]}, "name": "大小对比"}]}示意性比较显示了使用 HE 加密模型更新时数据大小的明显增加。实际膨胀系数在很大程度上取决于具体的 HE 方案和所选的安全参数。密钥管理复杂性: 私钥 $sk$ 的安全生成、分发和存储非常重要。如果服务器持有 $sk$,则针对服务器的隐私保证将失效。像门限 HE(在多个参与方之间分发 $sk$)这样的解决方案可以提高安全性,但会增加系统复杂性。有限操作(PHE): 加性 HE 方案通常只支持加法。虽然足以用于基本的 FedAvg 式聚合,但它们不直接支持逐元素乘法或某些高级 FL 算法所需的更复杂函数,除非求助于 FHE 或将 HE 与其他技术结合。参数选择: 选择正确的 HE 方案及其参数(例如,多项式次数、系数模数、基于格的方案中的安全级别;Paillier 中的大小)是复杂的。这些选择会影响安全性、性能(计算和通信)以及可加密的值范围。实际考量门限同态加密: 为避免将私钥信任给单个实体,可以使用门限 HE 方案。私钥被分成多份,分发给多个参与方(例如,一部分客户端或专用的密钥服务器)。解密需要这些参与方的法定人数(最少数量)协作,这明显增强了针对单点故障或攻击的稳健性。混合方法: 有时,HE 会与其他隐私技术结合使用。例如,客户端可能使用 HE 加密数据,服务器可能使用 SMC 协议对这些密文执行操作,从而可能平衡性能和安全性的权衡。实现库: 实现 HE 需要专门的密码学库,如 Microsoft SEAL、PALISADE、HElib 或 TFHE。将这些集成到 FL 框架中需要细致的工程设计。与差分隐私相比,HE 提供无噪声的密码学保证,但会产生更高的计算和通信成本。与安全多方计算相比,HE 通常简化了聚合协议本身(更少交互),但将复杂性转移到计算和管理上。这些技术之间的选择在很大程度上取决于具体的系统约束、期望的隐私级别、信任模型和可接受的性能开销。HE 仍是一个活跃的研究领域,持续努力提高效率并使其在大规模联邦学习部署中更具实用性。