【毕业设计】基于全同态加密的跨域医疗数据联邦学习隐私保护系统研究
目录
选题的意义与背景
随着信息技术的迅猛发展,海量数据的产生已经成为日常现象。智能设备和物联网的普及带来了大量的个人、商业、社交和医疗数据。这些数据具有重要价值,但也带来了隐私泄露的巨大风险。数据泄露不仅会导致个人损失,还可能对企业造成严重法律和信誉影响。隐私数据泄露事件的频繁发生使得公众对数据安全的关注不断升高,推动了各国政府在数据保护领域出台一系列严格的法律法规,意在规范数据的采集、存储、传输和使用过程,确保个人隐私不被侵犯。
联邦学习作为一种新兴的分布式机器学习技术,通过将模型训练分布到各本地设备进行,避免了数据的集中传输,从而降低了隐私泄露的风险。联邦学习的核心思想是:各个设备利用自己持有的数据在本地训练模型,只将模型的更新发送到服务器。服务器负责聚合这些更新信息,更新全局模型,然后将改进后的模型再分发回各个参与设备。这样,数据就无需离开本地设备,可以有效保护用户的隐私。

作为联邦学习的扩展,隐私保护联邦学习通过引入差分隐私、安全多方计算和同态加密等技术,进一步减少潜在的隐私风险。其中,同态加密因其能够在加密数据上直接进行计算,无需解密即可获得正确结果,成为隐私保护联邦学习中的重要技术手段。

同态加密是一种加密算法,它允许在加密数据上执行计算操作,且计算结果解密后与对原始数据进行相同操作的结果相同。这意味着,数据可以被加密存储、传输和计算,同时计算者无法直接访问原始数据内容,这进一步提升了联邦学习的安全性,特别是在处理敏感数据时提供了更高的隐私保护。
然而,基于同态加密的隐私保护联邦学习也面临着亟待解决的问题。首先,传统的单密钥同态加密存在密钥共享风险,一旦有恶意用户与服务器合谋,将会导致其他参与方的隐私泄露;其次,现有的基于多密钥同态加密的隐私保护联邦学习方案在可信度、系统鲁棒性和通信效率等方面仍存在缺陷:一方面,现有方案缺乏对模型参数完整性与一致性的有效验证机制,导致隐私保护联邦学习过程的可信性面临挑战;另一方面,用户离线状态会引发聚合解密流程中断;最后,聚合过程中通信开销较大。
因此,研究基于同态加密的联邦学习隐私保护方法,解决上述关键问题,对于构建更加安全、可信、高效的联邦学习框架具有重要的理论意义和实际应用价值。
数据集
在本研究中,为了验证所提出的基于同态加密的隐私保护联邦学习方法的有效性和性能,我们采用了多个标准数据集进行模拟实验。这些数据集涵盖了不同的应用场景和数据特性,以便全面评估方案在各种情况下的表现。
实验中使用的主要数据集包括MNIST、CIFAR-10和Synthetic数据集。MNIST是一个手写数字识别数据集,包含60,000张训练图像和10,000张测试图像,每张图像为28×28像素的灰度图像,涵盖0-9共10个数字类别。CIFAR-10是一个常用的图像分类数据集,包含60,000张32×32像素的彩色图像,分为10个类别,每个类别有6,000张图像。Synthetic数据集是根据特定分布生成的合成数据集,用于模拟不同的数据分布情况和用户数据异质性。
在数据分割策略方面,我们采用了非独立同分布(Non-IID)数据分割方法,以更真实地模拟实际联邦学习场景中的数据分布情况。在非独立同分布设置下,每个参与方只能访问整个数据集中的一部分类别,并且数据分布在不同参与方之间存在显著差异。具体来说,我们使用了Dirichlet分布参数化方法,通过调整Dirichlet分布的浓度参数来控制数据分布的异质性程度。浓度参数越小,数据分布的异质性越大,各参与方的数据分布越不均衡。
在数据预处理方面,对于图像数据集,我们进行了以下预处理步骤:首先,将图像像素值归一化到[0,1]范围;然后,对训练集图像应用随机翻转、随机裁剪等数据增强技术,以提高模型的泛化能力;最后,将图像数据转换为适合神经网络输入的张量格式。对于合成数据集,我们确保数据符合预设的分布特性,并进行适当的缩放和标准化处理。
通过使用这些标准数据集和数据处理策略,我们能够在接近实际应用的场景下,全面评估所提出方案的模型准确率、计算开销和通信开销等关键性能指标,为方案的可行性和有效性提供有力支持。
项目功能介绍

多密钥同态加密方案
TMK-CKKS是本研究提出的核心加密组件,它是对传统MK-CKKS方案的改进。该功能模块实现了多密钥环境下的同态加密和解密操作,支持多个参与方使用各自的密钥加密数据,并在服务器端进行安全的聚合计算。主要功能包括:

- 密钥生成:每个参与方生成自己的公钥和私钥对,以及用于多密钥同态计算的重加密密钥
- 数据加密:支持使用参与方自己的公钥对本地模型参数进行加密
- 重加密:支持将使用不同密钥加密的密文转换为可进行同态运算的统一格式
- 同态运算:支持在加密数据上执行加法和乘法等基本运算,用于模型参数的聚合
- 解密:实现安全的多密钥解密过程,支持部分用户离线情况下的解密操作
基于TEE的密钥管理与安全计算
该功能模块利用可信执行环境(TEE)技术,为联邦学习系统提供安全的密钥管理和计算环境。主要功能包括:
- 密钥安全存储:在TEE中安全存储参与方的密钥材料,防止密钥泄露
- 密钥协商:实现服务器与参与方之间的安全密钥协商,建立安全通信通道
- 部分解密计算:在TEE环境内执行部分解密操作,减少用户与服务器之间的通信
- 安全聚合:在TEE内执行模型参数的聚合计算,确保计算过程的安全性
- 离线保护机制:当部分用户离线时,TEE可以利用预先存储的密钥材料完成解密
基于聚合签名的参数完整性验证
该功能模块实现了对模型参数完整性和一致性的高效验证机制。主要功能包括:
- 签名生成:参与方为其本地模型参数生成数字签名,证明参数的完整性
- 签名聚合:将多个参与方的签名聚合成一个单一的聚合签名,减少通信开销
- 签名验证:在TEE环境内验证参与方上传的模型参数签名的有效性
- 一致性检查:验证全局模型参数与聚合结果的一致性,防止篡改
- 抗重放保护:通过时间戳和会话标识等机制,防止重放攻击
联邦学习模型训练与聚合
该功能模块实现了完整的联邦学习训练流程,包括模型的本地训练、参数加密上传、安全聚合和全局模型更新等环节。主要功能包括:
- 本地模型初始化:根据全局模型初始化本地模型参数
- 本地训练:使用本地数据训练模型,更新模型参数
- 参数加密与上传:对本地模型参数进行加密并上传至服务器
- 安全聚合:对加密的模型参数进行同态聚合,生成全局模型更新
- 全局模型更新:使用聚合结果更新全局模型,并分发至各参与方
安全性分析与性能评估
该功能模块提供了全面的安全性分析和性能评估工具,用于验证方案的安全性和效率。主要功能包括:
- 安全性分析:评估方案对各种攻击的防御能力,包括合谋攻击、伪造攻击和重放攻击等
- 正确性验证:验证加密、解密和同态运算的正确性
- 性能测试:测量方案在不同设置下的计算开销和通信开销
- 模型准确率评估:评估使用隐私保护技术对模型准确率的影响
- 扩展性测试:评估方案在不同规模用户和数据量下的表现
算法理论介绍
联邦学习技术基础
联邦学习是一种分布式机器学习技术,其核心思想是在不共享原始数据的情况下,多参与方协同训练一个共享的机器学习模型。联邦学习的基本流程包括:

- 初始化阶段:中央服务器初始化全局模型参数,并分发给各参与方
- 本地训练阶段:各参与方使用本地数据训练模型,更新本地模型参数
- 参数上传阶段:参与方将本地模型参数上传至中央服务器
- 聚合阶段:中央服务器聚合所有参与方的模型参数,更新全局模型
- 模型分发阶段:中央服务器将更新后的全局模型分发给各参与方
- 迭代训练:重复上述过程,直到模型收敛或达到预设的迭代次数
联邦学习可以分为横向联邦学习和纵向联邦学习两种主要类型。横向联邦学习适用于参与方拥有相同特征空间但用户群体不同的场景;纵向联邦学习适用于参与方拥有相同用户群体但特征空间不同的场景。本研究主要关注横向联邦学习场景。
同态加密技术原理
同态加密是一种允许在加密数据上直接进行计算的密码学技术。根据支持的运算类型和次数,同态加密可以分为部分同态加密(PHE)、层级同态加密(SHE)和全同态加密(FHE)。
部分同态加密仅支持在加密数据上执行一种类型的运算(加法或乘法)任意次数。例如,Paillier加密方案支持加密数据的任意次数加法运算,而RSA加密方案支持加密数据的任意次数乘法运算。
层级同态加密支持在加密数据上执行有限次数的加法和乘法运算。随着运算次数的增加,密文的噪声会逐渐积累,当噪声超过一定阈值时,解密将无法得到正确结果。
全同态加密支持在加密数据上执行任意次数的加法和乘法运算,理论上可以计算任何可计算函数。全同态加密方案通常通过噪声管理技术(如密文重加密)来控制噪声的积累。
CKKS是一种支持浮点数运算的层级同态加密方案,非常适合机器学习应用。CKKS方案的核心思想是将实数编码到复数域,然后在复数域上进行同态运算。CKKS支持近似计算,可以处理机器学习中常见的矩阵运算和神经网络操作。
多密钥同态加密原理
多密钥同态加密(MKHE)是同态加密的一个重要扩展,允许在使用不同密钥加密的数据上直接进行计算。MKHE的核心挑战是如何处理使用不同密钥加密的密文之间的运算。
MK-CKKS是基于CKKS方案的多密钥同态加密扩展,支持在使用不同密钥加密的复数数据上进行同态运算。MK-CKKS的主要技术包括:
- 密钥生成:每个参与方生成自己的密钥对,包括公钥、私钥和重加密密钥
- 重加密:将使用不同密钥加密的密文转换为可以进行同态运算的统一格式
- 同态运算:在重加密后的密文上执行加法和乘法运算
- 解密:需要所有参与方的合作才能完成解密,每个参与方提供部分解密结果
可信执行环境技术
可信执行环境(TEE)是一种硬件支持的安全计算技术,提供了隔离的执行环境,保护代码和数据免受外部攻击。TEE的主要特性包括:
- 隔离性:TEE中的代码和数据与普通执行环境隔离,不受普通环境的影响
- 完整性:确保TEE中执行的代码未被篡改
- 机密性:保护TEE中的数据不被未授权访问
- 远程验证:允许远程验证TEE中的代码和环境
常见的TEE技术包括Intel SGX、ARM TrustZone和AMD SEV等。在本研究中,我们使用TEE来安全存储密钥材料并执行敏感的计算操作,增强系统的安全性和鲁棒性。
聚合签名技术
聚合签名是一种密码学原语,允许将多个签名聚合成一个单一的签名,验证者可以通过验证这个聚合签名来确认所有原始签名的有效性。聚合签名的主要优势在于减少签名的存储和传输开销。
Schnorr聚合签名是一种高效的聚合签名方案,基于离散对数问题。其主要步骤包括:
- 密钥生成:每个签名者生成自己的密钥对
- 签名生成:签名者对消息生成签名
- 签名聚合:将多个签名聚合成一个聚合签名
- 签名验证:验证聚合签名的有效性
在本研究中,我们使用聚合签名技术来实现对模型参数的完整性验证,确保模型训练过程的可信性。
核心代码介绍
TMK-CKKS多密钥同态加密模块
TMK-CKKS多密钥同态加密方案:MK-CKKS是对传统MK-CKKS方案的改进,主要增强了在部分用户离线情况下的解密能力。该模块实现了密钥生成、加密、重加密、同态运算和分阶段解密等关键功能。通过将解密过程分为部分解密和最终解密两个阶段,并结合TEE技术,可以在部分用户离线的情况下仍能完成聚合密文的解密,显著提高了系统的鲁棒性。同时,该模块优化了重加密过程,减少了计算开销,提高了加密数据处理的效率。
class TMK_CKKS:
def __init__(self, params):
# 初始化参数设置,包括多项式模数、系数模数等
self.poly_mod = params.poly_mod
self.coeff_mod = params.coeff_mod
self.scale = params.scale
self.key_pair_cache = {}
def keygen(self, user_id):
# 为用户生成密钥对,包括私钥、公钥和重加密密钥
# 使用格密码学技术生成安全的密钥材料
sk = generate_secret_key(self.poly_mod, self.coeff_mod)
pk = generate_public_key(sk, self.poly_mod, self.coeff_mod)
rlk = generate_relin_key(sk, self.poly_mod, self.coeff_mod)
# 存储密钥对
self.key_pair_cache[user_id] = (sk, pk, rlk)
return pk, rlk
def encrypt(self, message, pk):
# 使用公钥加密消息,返回密文
# 消息首先被编码到多项式环,然后进行加密
plaintext = encode_message(message, self.poly_mod, self.scale)
ciphertext = encrypt_plaintext(plaintext, pk, self.poly_mod, self.coeff_mod)
return ciphertext
def reencrypt(self, ciphertext, user_pk, target_pks):
# 重加密密文,使其可以与使用其他密钥加密的密文进行同态运算
# 这是MK-CKKS的核心操作之一
reencrypted = []
for target_pk in target_pks:
# 为每个目标公钥生成重加密的密文
reencrypted.append(transform_ciphertext(ciphertext, user_pk, target_pk,
self.poly_mod, self.coeff_mod))
return reencrypted
def homomorphic_add(self, ciphertext1, ciphertext2):
# 执行同态加法运算
return add_ciphertexts(ciphertext1, ciphertext2, self.coeff_mod)
def homomorphic_mult(self, ciphertext1, ciphertext2, rlk):
# 执行同态乘法运算,需要重加密密钥来控制噪声增长
product = multiply_ciphertexts(ciphertext1, ciphertext2, self.coeff_mod)
# 执行重线性化操作,控制密文大小
relinearized = relinearize(product, rlk, self.coeff_mod)
return relinearized
def partial_decrypt(self, ciphertext, sk):
# 执行部分解密操作,生成部分解密结果
return partial_decrypt_ciphertext(ciphertext, sk, self.poly_mod, self.coeff_mod)
def aggregate_partial_decrypts(self, partial_decrypts):
# 聚合所有部分解密结果,得到最终解密结果
aggregated = sum(partial_decrypts)
return aggregated
def final_decrypt(self, aggregated, sk):
# 使用主密钥完成最终解密
plaintext = final_decrypt_aggregated(aggregated, sk, self.poly_mod)
# 解码得到原始消息
message = decode_message(plaintext, self.scale)
return message
基于TEE的密钥管理与安全聚合模块
基于TEE的密钥管理与安全聚合模块:利用可信执行环境的安全特性,实现了安全的密钥管理和计算功能。主要功能包括:与用户建立安全通信通道、安全存储用户密钥份额、在TEE环境内执行模型参数的安全聚合,以及处理部分用户离线情况下的解密操作。通过在TEE中执行敏感操作,可以有效防止密钥泄露和计算过程中的隐私泄露。同时,该模块实现了离线保护机制,当部分用户离线时,可以利用预先存储在TEE中的密钥份额完成解密,显著提高了系统的鲁棒性。此外,通过在TEE中执行聚合操作,可以减少用户与服务器之间的通信轮数,提高通信效率。
class TEE_Manager:
def __init__(self, tmk_ckks):
self.tmk_ckks = tmk_ckks
self.tee_enclave = initialize_tee_enclave()
self.user_keys = {}
self.session_keys = {}
def establish_secure_channel(self, user_id, user_public_key):
# 与用户建立安全通信通道,使用密钥协商协议
# 在TEE中安全执行密钥协商过程
session_key = self.tee_enclave.execute_within_enclave(
perform_key_exchange, user_id, user_public_key
)
self.session_keys[user_id] = session_key
return generate_session_token(session_key)
def store_user_key_share(self, user_id, encrypted_key_share, session_token):
# 安全存储用户的密钥份额,用于离线情况下的解密
session_key = self.verify_session_token(session_token)
if not session_key:
raise SecurityException("Invalid session token")
# 在TEE中解密并存储密钥份额
key_share = self.tee_enclave.execute_within_enclave(
decrypt_with_session_key, encrypted_key_share, session_key
)
# 使用安全存储机制保存密钥份额
self.tee_enclave.execute_within_enclave(
secure_store, f"key_share_{user_id}", key_share
)
def secure_aggregate(self, encrypted_params, user_ids):
# 在TEE环境内执行安全聚合操作
result = self.tee_enclave.execute_within_enclave(
perform_secure_aggregation,
encrypted_params,
user_ids,
self.tmk_ckks
)
return result
def partial_decrypt_with_tee(self, aggregated_ciphertext, online_users, offline_users):
# 利用TEE和在线用户进行部分解密,处理离线用户情况
partial_decrypts = []
# 在线用户执行部分解密
for user_id in online_users:
sk = self.user_keys[user_id][0] # 获取用户私钥
partial = self.tmk_ckks.partial_decrypt(aggregated_ciphertext, sk)
partial_decrypts.append(partial)
# TEE使用存储的密钥份额为离线用户生成部分解密结果
for user_id in offline_users:
# 在TEE中安全获取密钥份额并生成部分解密结果
partial = self.tee_enclave.execute_within_enclave(
generate_partial_decrypt_for_offline,
aggregated_ciphertext,
user_id
)
partial_decrypts.append(partial)
return partial_decrypts
基于聚合签名的参数完整性验证模块
基于聚合签名的参数完整性验证:利用聚合签名技术,实现了对模型参数完整性和一致性的高效验证。主要功能包括:为用户生成签名密钥对、对模型参数生成签名、聚合多个签名、验证单个签名和聚合签名的有效性,以及验证模型参数的完整性和全局模型的一致性。通过在模型训练过程中对参数进行签名和验证,可以有效防止参数被篡改,确保联邦学习过程的可信性。同时,通过使用聚合签名,可以将多个签名合并为一个,减少通信开销。此外,该模块还实现了防重放攻击机制,通过时间戳和会话ID确保签名的新鲜性,进一步增强了系统的安全性。
class AggregateSignatureManager:
def __init__(self, params):
self.curve = params.curve # 椭圆曲线参数
self.hash_func = params.hash_func # 哈希函数
self.user_keys = {}
def generate_key_pair(self, user_id):
# 为用户生成签名密钥对
private_key = generate_ec_private_key(self.curve)
public_key = derive_public_key(private_key, self.curve)
self.user_keys[user_id] = (private_key, public_key)
return public_key
def sign_model_params(self, user_id, model_params, timestamp, session_id):
# 为模型参数生成签名,包含时间戳和会话ID防止重放攻击
private_key = self.user_keys[user_id][0]
# 构建待签名消息:模型参数 + 时间戳 + 会话ID
message = construct_message(model_params, timestamp, session_id)
# 生成签名
signature = sign_message(message, private_key, self.curve, self.hash_func)
return signature
def aggregate_signatures(self, signatures, public_keys):
# 将多个签名聚合成一个聚合签名
# 使用Schnorr聚合签名技术
aggregated_signature = aggregate_schnorr_signatures(
signatures, public_keys, self.curve, self.hash_func
)
return aggregated_signature
def verify_signature(self, message, signature, public_key):
# 验证单个签名的有效性
return verify_schnorr_signature(
message, signature, public_key, self.curve, self.hash_func
)
def verify_aggregate_signature(self, message, aggregated_signature, public_keys):
# 验证聚合签名的有效性
return verify_aggregated_schnorr_signature(
message, aggregated_signature, public_keys, self.curve, self.hash_func
)
def verify_model_integrity(self, model_params, signature, user_id, timestamp, session_id):
# 验证模型参数的完整性,检查是否被篡改
public_key = self.user_keys[user_id][1]
# 构建待验证消息
message = construct_message(model_params, timestamp, session_id)
# 验证签名
is_valid = self.verify_signature(message, signature, public_key)
# 检查时间戳,防止重放攻击
if is_valid:
is_valid = verify_timestamp(timestamp, session_id)
return is_valid
def verify_global_model_consistency(self, global_model, signature, server_public_key,
aggregated_params_hash, session_id):
# 验证全局模型的一致性,确保聚合结果正确
# 构建一致性验证消息
consistency_message = construct_consistency_message(
global_model, aggregated_params_hash, session_id
)
# 验证服务器签名
return self.verify_signature(
consistency_message, signature, server_public_key
)
重难点和创新点介绍
多密钥同态加密方案的改进与优化
难点分析:传统的多密钥同态加密方案在联邦学习应用中面临着几个关键挑战:首先,解密过程需要所有参与方的合作,如果有用户离线,将导致解密失败;其次,聚合阶段通常需要多轮通信,导致通信开销较大;最后,密钥管理复杂,存在密钥泄露的风险。
创新点:本研究提出了改进的多密钥同态加密方案TMK-CKKS,通过以下创新点解决上述问题:
- 分阶段解密机制:将解密过程分为部分解密和最终解密两个阶段,允许部分解密结果的安全聚合。
- TEE辅助解密:利用可信执行环境安全存储用户的密钥份额,当用户离线时,可以由TEE代替用户生成部分解密结果。
- 密钥协商集成:集成密钥协商协议,实现服务器与用户之间的安全密钥共享,避免显式的密钥传输。
这些创新使得TMK-CKKS方案能够在部分用户离线的情况下仍能完成解密,同时减少了通信轮数,显著提升了系统的鲁棒性和效率。
基于TEE的安全密钥管理与计算
难点分析:在分布式环境中,安全地管理密钥材料和执行敏感计算是一个重大挑战。传统的密钥管理方案要么依赖于可信第三方,要么需要复杂的密钥协商协议,存在单点故障或安全隐患。
创新点:本研究将TEE技术引入联邦学习系统,实现了安全的密钥管理和计算环境:
- 硬件级安全保障:利用TEE的硬件隔离特性,为密钥存储和敏感计算提供硬件级的安全保障。
- 安全通道建立:在TEE中执行密钥协商,建立服务器与用户之间的安全通信通道。
- 离线保护机制:在TEE中安全存储用户的密钥份额,实现对离线用户的支持。
- 可信聚合计算:在TEE中执行模型参数的聚合计算,确保计算过程的安全性和正确性。
通过TEE技术,我们能够在不依赖可信第三方的情况下,实现安全的密钥管理和计算,显著提升了系统的安全性和可靠性。
基于聚合签名的参数完整性验证
难点分析:在联邦学习中,确保模型参数的完整性和一致性是一个重要挑战。传统的完整性验证方案通常需要为每个参数生成单独的签名,导致较大的计算和通信开销。此外,验证过程通常在不可信环境中执行,存在被攻击的风险。
创新点:本研究提出了基于聚合签名和TEE的参数完整性验证方案:
- 高效签名聚合:使用Schnorr聚合签名技术,将多个用户的签名聚合成一个单一的签名,大幅减少通信开销。
- TEE内可信验证:在TEE环境内执行签名验证,确保验证过程的安全性和正确性。
- 双向验证机制:实现用户对本地模型参数的完整性验证和服务器对全局模型参数的一致性验证,确保整个训练过程的可信性。
- 抗重放攻击设计:通过时间戳和会话ID机制,防止重放攻击,增强系统安全性。
该创新方案不仅能够高效验证模型参数的完整性和一致性,还能在保护隐私的同时确保联邦学习过程的可信性,为构建可信赖的联邦学习系统提供了新的技术路径。
总结
本研究聚焦于基于同态加密的联邦学习隐私保护方法,针对当前研究中存在的安全性、可信性和效率问题,提出了两种创新方案:基于多密钥同态加密的隐私保护联邦学习方案和基于聚合签名和多密钥同态加密的可信联邦学习方案。
主要研究成果和贡献包括:
-
提出了改进的多密钥同态加密方案TMK-CKKS,通过结合密钥协商技术和TEE,解决了用户与服务器合谋攻击问题,同时实现了在部分用户离线情况下的正确解密,显著提升了系统的鲁棒性。
-
设计了基于TEE的安全密钥管理和计算框架,利用TEE的硬件隔离特性,为密钥存储和敏感计算提供了硬件级的安全保障,避免了密钥泄露风险。
-
提出了基于聚合签名和TEE的参数完整性验证方案,实现了对模型参数完整性和一致性的高效验证,确保了联邦学习过程的可信性。
-
通过理论分析和实验验证,证明了所提出方案在安全性、鲁棒性和效率方面的优势,为构建更加安全、可信、高效的联邦学习框架提供了新的技术路径。
本研究的成果对于推动隐私保护联邦学习技术的发展具有重要意义。在医疗、金融、物联网等对隐私保护要求较高的领域,本研究提出的方法可以为敏感数据的安全共享和协作提供有力支持,促进跨组织的数据合作,同时保护个人隐私。
然而,本研究也存在一些局限性。例如,TEE技术的普及程度和硬件支持情况可能限制方案的广泛应用;同态加密的计算开销仍然较大,在大规模模型训练中的效率有待进一步提高;此外,方案的形式化安全证明还可以进一步完善。
未来的研究方向包括:优化同态加密算法,减少计算开销;探索与其他隐私保护技术的结合,如差分隐私和安全多方计算;扩展方案的应用场景,如纵向联邦学习和跨设备联邦学习;以及针对新兴威胁模型,进一步提升系统的安全性和鲁棒性。
参考文献
[1] Cheon J H, Kim A, Kim M, et al. Homomorphic encryption for arithmetic of approximate numbers[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Cham, 2023: 409-437.
[2] López-Alt A, Tromer E, Vaikuntanathan V. On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption[J]. Journal of the ACM (JACM), 2025, 62(4): 1-43.
[3] Chen H, Han K, Li J, et al. Multi-key homomorphic encryption from TFHE[J]. Advances in Cryptology–EUROCRYPT 2020: 42nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, May 10–14, 2020, Proceedings, Part I, 2020: 433-462.
[4] Kim M, Song Y, Cheon J H. Efficient multi-key homomorphic encryption with packing techniques[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Cham, 2021: 395-425.
[5] Ma X, Zhang Y, Ding M, et al. xMK-CKKS: Efficient multi-key homomorphic encryption for federated learning[C]//IEEE INFOCOM 2022-IEEE Conference on Computer Communications. IEEE, 2022: 1831-1840.
[6] Walskaar H, Ivey-Law H, Smith G. An implementation of multi-key CKKS in flutter[C]//2022 IEEE International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom). IEEE, 2022: 409-415.
[7] Du Z, Xu J, Liu J, et al. Threshold multi-key homomorphic encryption for robust federated learning[J]. IEEE Transactions on Information Forensics and Security, 2023, 18: 3258-3273.
[8] Cai H, Liu Y, Chen C, et al. Efficient multi-key homomorphic encryption with trusted execution environment for privacy-preserving federated learning[J]. IEEE Transactions on Information Forensics and Security, 2023, 18: 4351-4365.
更多推荐
所有评论(0)