土法炼钢兴趣小组的算法知识备份

【密码学百科】密码学与 AI:隐私机器学习、联邦学习与 AI 安全

目录

当深度学习在计算机视觉、自然语言处理和科学发现领域不断刷新纪录时,一个根本性的张力也随之浮现:训练强大的 AI 模型需要大规模数据,而大规模数据的汇聚不可避免地带来隐私泄露、合规风险和信任问题。密码学——这门研究如何在敌手存在的环境下安全计算和通信的学科——恰好为这一张力提供了理论上完备、工程上日益可行的解决方案。与此同时,AI 也在反向影响密码学本身:从辅助密码分析到加速协议设计,机器学习正在成为密码学研究者的新工具。本文将系统梳理这一双向交叉的全景图。

一、AI 与密码学的双向关系

AI 与密码学的交叉可以从两个方向来理解。

第一个方向是”密码学服务于 AI”(Crypto for AI)。在这个方向上,密码学的核心目标是使 AI 系统能够在不泄露敏感数据的前提下完成训练和推理任务。典型场景包括:多家医院希望联合训练一个疾病诊断模型,但各自的患者数据受到严格的隐私法规(如 GDPR、HIPAA)约束,不能直接共享;一家云服务商希望为用户提供模型推理服务,但用户不愿暴露自己的查询内容,模型提供方也不愿暴露模型参数。在这些场景中,全同态加密(Fully Homomorphic Encryption, FHE)、安全多方计算(Secure Multi-Party Computation, MPC)、差分隐私(Differential Privacy, DP)和可信执行环境(Trusted Execution Environment, TEE)等密码学与安全计算原语为问题提供了不同层次的解决方案。

第二个方向是”AI 服务于密码学”(AI for Crypto)。在这个方向上,机器学习被用于辅助密码分析——即对密码算法进行攻击。2019 年 Adi Gohr 利用神经网络构造了对 SPECK 分组密码的区分器(neural distinguisher),其性能在特定轮数上超过了已知的差分密码分析结果,引发了密码学界的广泛关注。此外,AI 也被应用于侧信道分析(side-channel analysis)中的功耗轨迹分类、协议模糊测试(protocol fuzzing)中的覆盖率引导搜索,以及密码学参数的自动选取和安全性估计。

这两个方向并非孤立发展,而是存在深层的协同效应。例如,隐私保护机器学习的进步推动了 FHE 和 MPC 的工程优化,这些优化反过来惠及了密码学的其他应用领域;AI 辅助密码分析的成果则帮助密码设计者更早地发现方案中的潜在弱点,从而提高了密码方案的整体安全性。

二、隐私保护机器学习概览

隐私保护机器学习(Privacy-Preserving Machine Learning, PPML)的核心目标是在保护数据隐私和模型隐私的同时,实现与明文计算近似的模型质量。为了精确定义”保护”的含义和范围,PPML 研究建立了系统化的威胁模型框架。

首先需要区分两种隐私目标。数据隐私(data privacy)是指保护训练数据或推理输入不被未授权方获取。例如,在医学影像诊断场景中,患者的 CT 图像不应被模型提供方看到。模型隐私(model privacy)是指保护模型的参数和结构不被数据提供方或第三方窃取。例如,一个经过大量投资训练的大语言模型,其权重对提供方而言是核心知识产权。在许多实际场景中,两种隐私需要同时得到保护。

其次需要区分两个阶段。训练阶段(training phase)的隐私问题涉及多方数据的联合使用——如何在不汇聚原始数据的情况下训练出高质量模型。推理阶段(inference phase)的隐私问题则涉及模型部署后的查询处理——如何在不暴露查询内容或模型参数的情况下返回预测结果。通常,推理阶段的计算量远小于训练阶段,因此在工程上更容易实现密码学保护;但训练阶段的隐私问题在数据法规日益严格的背景下同样至关重要。

PPML 的工具箱可以按照安全保障的性质分为几大类:FHE 提供了纯密码学的计算能力,允许在加密数据上直接进行运算;MPC 通过多方协议实现了函数的分布式安全计算;差分隐私通过噪声注入提供了可量化的统计隐私保证;TEE 则利用硬件隔离提供了基于信任根的执行环境保护。这些工具各有优势和局限,在实际系统中往往需要组合使用。接下来的几节将逐一深入讨论每种工具在机器学习场景中的应用。

三、FHE 推理

全同态加密允许对密文执行任意计算,计算结果解密后与在明文上计算的结果一致。这一特性天然契合加密推理(encrypted inference)的需求:用户将输入数据加密后发送给服务器,服务器在密文上执行神经网络的前向传播,将密文结果返回给用户解密。在整个过程中,服务器既无法获知输入数据,也无法获知输出结果。

在众多 FHE 方案中,CKKS(Cheon-Kim-Kim-Song)方案因其对近似计算的原生支持而特别适合机器学习场景。CKKS 允许对浮点数的加密向量执行加法和乘法运算,运算结果与明文计算之间存在可控的近似误差。这与深度学习本身的近似计算特性高度吻合——神经网络的训练和推理本质上就是近似优化过程,对微小的数值扰动具有天然的鲁棒性。

CryptoNets 是将 FHE 应用于神经网络推理的开创性工作之一,由微软研究院在 2016 年提出。该工作展示了如何用多项式近似替代 ReLU 等非线性激活函数(因为 FHE 原生支持的运算是加法和乘法,而非比较和取最大值),从而在加密数据上执行卷积神经网络的推理。后续的研究沿着多条路线不断推进:GAZELLE 引入了同态加密与混淆电路(garbled circuit)的混合方案,用混淆电路高效处理非线性层;CHET 开发了编译器来自动优化 FHE 推理的参数配置;更近期的工作如 ResNet-20 在 CIFAR-10 上的加密推理已经可以在分钟级别完成。

尽管如此,FHE 推理的性能开销仍然是其大规模商用的主要瓶颈。当前,一次加密推理的延迟通常是明文推理的 \(10^3\)\(10^5\) 倍,具体取决于模型的复杂度和 FHE 参数的选择。对于简单的分类任务(如 MNIST 手写数字识别),加密推理可以在秒级完成;但对于 ImageNet 规模的深层模型或大语言模型,延迟仍然难以接受。密文膨胀(ciphertext expansion)也是一个显著问题——加密后的数据量通常是明文的数十到上百倍,给网络传输和内存带来巨大压力。

当前业界和学术界正从多个维度推动 FHE 推理的实用化。在算法层面,研究者探索更高效的多项式近似、更优的自举(bootstrapping)策略和更适合 FHE 的网络架构设计。在硬件层面,多家公司(如 Intel、DARPA DPRIVE 项目)正在开发 FHE 专用加速芯片,目标是将 FHE 运算的速度提升数个数量级。在编译器和框架层面,OpenFHE、Microsoft SEAL、Concrete(Zama)等开源项目提供了日益成熟的开发工具链,降低了 FHE 应用的开发门槛。

四、MPC 训练与推理

安全多方计算提供了另一条实现隐私保护机器学习的技术路线。与 FHE 不同,MPC 不依赖单一的加密方案,而是通过多方之间的交互式协议来实现安全计算。其核心思想是将敏感数据拆分为多个”份额”(share),分别由不同的参与方持有,各方在本地对份额执行运算并交换中间结果,最终重组得到计算结果——而整个过程中没有任何一方能获知其他方的原始数据。

在 PPML 领域,秘密共享(secret sharing)是最常用的 MPC 范式。典型的做法是将数据和模型参数在两到三个计算方之间进行加法秘密共享或复制秘密共享。ABY3 是该方向的代表性工作,由 Mohassel 和 Rindal 在 2018 年提出。ABY3 在三个服务器之间使用复制秘密共享,支持算术共享(Arithmetic sharing)、布尔共享(Boolean sharing)和姚氏共享(Yao’s sharing)之间的高效转换——“ABY”正是这三种共享方式首字母的缩写。这种灵活的转换能力使得不同类型的运算(如矩阵乘法适合算术共享,比较运算适合布尔共享)都能在其最高效的表示形式下执行。

在工业级框架方面,多个开源项目使 MPC 训练和推理变得越来越实用。Meta 的 CrypTen 建立在 PyTorch 之上,通过模拟 PyTorch 的张量接口,使机器学习研究者可以用近乎标准的 Python 代码编写安全计算协议。蚂蚁集团的 SecretFlow 框架则提供了更完整的隐私计算平台,集成了 MPC、FHE、TEE 等多种技术路线,并内置了联邦学习、隐私求交等高层应用组件。此外,MP-SPDZ 作为一个通用的 MPC 研究框架,支持数十种 MPC 协议的实验和性能对比。

MPC 方法的主要瓶颈在于通信开销。与 FHE 推理的计算密集型特征不同,MPC 方法是通信密集型的——参与方之间在每一轮运算中都需要交换消息,通信轮次和数据量直接决定了协议的端到端延迟。对于深层神经网络,线性层(如卷积、全连接层)的计算可以高效地在算术秘密共享下执行,通信开销与明文计算相比增加有限;但非线性层(如 ReLU、Softmax)需要比较运算和条件选择,这在 MPC 中代价高昂,通常需要数十到数百轮的交互。近年来的研究通过设计”MPC 友好”的网络架构(如用二次多项式替代 ReLU)、优化截断协议和预处理阶段,不断缩小 MPC 与明文计算之间的性能差距。

在安全模型方面,MPC 方案通常区分半诚实(semi-honest)安全和恶意(malicious)安全。半诚实安全假设所有参与方都按照协议规定执行,但可能尝试从接收到的消息中推断额外信息;恶意安全则允许参与方任意偏离协议。后者的安全性更强,但通信和计算开销也显著更高。对于 PPML 应用,需要根据具体场景的信任模型来选择合适的安全级别。

五、联邦学习与安全聚合

联邦学习(Federated Learning, FL)是一种分布式机器学习范式,其核心设计原则是”数据不动、模型动”——训练数据始终留在各个数据所有者(称为”客户端”)的本地设备上,而非被上传到中心服务器。在每一轮训练中,中心服务器将当前的全局模型分发给被选中的客户端子集,各客户端在本地数据上执行若干轮梯度下降,然后将更新后的模型参数(或梯度)发送回服务器,由服务器进行聚合以生成新的全局模型。这一过程迭代进行直至模型收敛。

联邦学习由 Google 在 2017 年的奠基性论文(McMahan 等人的 FedAvg 算法)中正式提出,最初应用于移动设备上的键盘预测。其吸引力在于:原始数据无需离开本地设备,在一定程度上降低了集中式数据收集带来的隐私风险。然而,仅仅不传输原始数据并不足以保证隐私——研究表明,模型梯度本身就可能泄露敏感信息。梯度反演攻击(gradient inversion attack)已经证明,在某些条件下,攻击者可以从梯度中高保真度地重建训练样本。因此,联邦学习需要与密码学工具结合使用,才能提供有意义的隐私保障。

安全聚合(Secure Aggregation)是联邦学习中最核心的密码学构建块。其目标是确保服务器只能获得所有客户端模型更新的聚合结果(通常是求和或加权平均),而无法获知任何单个客户端的模型更新。Bonawitz 等人在 2017 年提出了一个实用的安全聚合协议,专门为联邦学习场景设计,能够高效处理数千个客户端的同时参与,并且对客户端的掉线(dropout)具有鲁棒性。

该协议的核心思想基于成对遮蔽(pairwise masking):每对客户端协商一个伪随机掩码(通过 Diffie-Hellman 密钥协商生成),一方加上掩码,另一方减去同样的掩码。当服务器对所有客户端的遮蔽后更新求和时,掩码两两抵消,得到的正是未遮蔽更新的真实总和。为了处理客户端掉线的情况,协议引入了 Shamir 秘密共享来备份掩码种子,使得即使部分客户端在协议执行过程中掉线,剩余客户端仍然可以协助恢复被抵消的掩码。

以下是一个简化的安全聚合演示,展示了成对遮蔽的核心机制:

"""
简化的安全聚合演示(Secure Aggregation Demo)
展示联邦学习中成对遮蔽(pairwise masking)的核心思想。
真实系统还需要 Diffie-Hellman 密钥协商、Shamir 秘密共享容错等机制。
"""

import os
import hashlib
import struct

def prf(seed: bytes, label: bytes, length: int) -> list[float]:
    """用 HMAC-SHA256 模拟伪随机函数,生成浮点掩码向量。"""
    masks = []
    for i in range(length):
        h = hashlib.sha256(seed + label + struct.pack(">I", i)).digest()
        # 将哈希值映射到 [-1, 1) 的浮点数
        val = (int.from_bytes(h[:4], "big") / (2**32)) * 2 - 1
        masks.append(val)
    return masks

def vec_add(a: list[float], b: list[float]) -> list[float]:
    return [x + y for x, y in zip(a, b)]

def vec_sub(a: list[float], b: list[float]) -> list[float]:
    return [x - y for x, y in zip(a, b)]

def secure_aggregation_demo():
    num_clients = 4
    dim = 6  # 模型参数维度

    # 每个客户端的本地模型更新(模拟梯度)
    local_updates = [
        [float(c * 10 + d) for d in range(dim)]
        for c in range(num_clients)
    ]

    # 为每对 (i, j)(i < j)生成共享种子
    shared_seeds: dict[tuple[int, int], bytes] = {}
    for i in range(num_clients):
        for j in range(i + 1, num_clients):
            shared_seeds[(i, j)] = os.urandom(32)

    # 每个客户端对自己的更新施加成对掩码
    masked_updates = [u[:] for u in local_updates]
    for i in range(num_clients):
        for j in range(num_clients):
            if i == j:
                continue
            lo, hi = min(i, j), max(i, j)
            seed = shared_seeds[(lo, hi)]
            label = f"round=1,pair=({lo},{hi})".encode()
            mask = prf(seed, label, dim)
            if i < j:
                masked_updates[i] = vec_add(masked_updates[i], mask)
            else:
                masked_updates[i] = vec_sub(masked_updates[i], mask)

    # 服务器直接求和——掩码两两抵消
    agg_result = [0.0] * dim
    for mu in masked_updates:
        agg_result = vec_add(agg_result, mu)

    # 明文求和作为对照
    plain_sum = [0.0] * dim
    for u in local_updates:
        plain_sum = vec_add(plain_sum, u)

    print("各客户端明文更新:")
    for i, u in enumerate(local_updates):
        print(f"  客户端 {i}: {u}")
    print(f"\n服务器看到的遮蔽后更新(单个客户端信息不可辨认):")
    for i, mu in enumerate(masked_updates):
        print(f"  客户端 {i}: [{', '.join(f'{v:+.4f}' for v in mu)}]")
    print(f"\n安全聚合结果: {[round(v, 6) for v in agg_result]}")
    print(f"明文直接求和: {[round(v, 6) for v in plain_sum]}")
    max_err = max(abs(a - b) for a, b in zip(agg_result, plain_sum))
    print(f"最大误差:      {max_err:.2e}(浮点舍入)")

if __name__ == "__main__":
    secure_aggregation_demo()

安全聚合保证了服务器只能看到聚合后的全局模型更新,而无法窥探任何单个客户端的局部梯度。然而,聚合结果本身仍然可能泄露某些统计信息。为了提供更严格的隐私保障,安全聚合通常与差分隐私结合使用——在聚合之前或之后注入校准噪声,以限制任何单个样本对输出的影响。

六、差分隐私训练

差分隐私(Differential Privacy, DP)为隐私保护提供了一个严谨的数学框架。直觉上,一个满足 \((\varepsilon, \delta)\)-差分隐私的算法保证:对于任何一个训练样本的加入或移除,算法输出的分布变化都被 \(\varepsilon\)\(\delta\) 参数所约束。\(\varepsilon\) 越小,隐私保护越强;\(\delta\) 通常取极小值(如 \(10^{-5}\)),表示保护失效的极小概率。

将差分隐私应用于深度学习训练的标准方法是 DP-SGD(Differentially Private Stochastic Gradient Descent),由 Abadi 等人在 2016 年提出。DP-SGD 在标准随机梯度下降的基础上进行两处关键修改:第一,对每个样本的梯度进行裁剪(gradient clipping),将其 \(L_2\) 范数限制在一个预设的阈值 \(C\) 以内,以约束单个样本对梯度的最大贡献;第二,在裁剪后的梯度总和上添加高斯噪声,噪声的标准差与裁剪阈值 \(C\) 和隐私参数 \(\varepsilon\) 相关。

隐私预算记账(privacy budget accounting)是 DP-SGD 实践中的核心技术问题。由于训练过程涉及成百上千次迭代,每次迭代都会消耗一部分隐私预算。朴素的组合定理(composition theorem)给出的预算增长是线性的,但更精细的分析工具可以给出紧得多的估计。Rényi 差分隐私(Rényi Differential Privacy, RDP)通过 Rényi 散度对隐私损失进行参数化,能够更紧密地追踪多次组合的累积隐私损失。Rényi 记账法和后来的隐私损失分布(Privacy Loss Distribution, PLD)方法已经成为 DP-SGD 实现中的标准记账工具,它们使得在给定隐私预算下能够执行更多轮次的训练,直接提升了模型的实用质量。

差分隐私训练在工业界已经取得了大规模部署。Apple 在 iOS 系统中使用本地差分隐私(Local DP)收集用户使用统计数据(如热门表情符号和网站),每条数据在离开设备前就已经被加噪。Google 在 Chrome 浏览器中部署了 RAPPOR(Randomized Aggregatable Privacy-Preserving Ordinal Response)协议,同样基于本地差分隐私来收集浏览器使用统计。在联邦学习层面,Google 的 Gboard 输入法训练和 Apple 的设备端模型训练都采用了用户级差分隐私(user-level DP)——即保护的粒度是单个用户的全部数据,而非单条记录。

差分隐私的主要挑战在于隐私与模型效用之间的权衡(privacy-utility tradeoff)。更强的隐私保护(更小的 \(\varepsilon\))意味着更多的噪声注入,而噪声会降低模型的准确率。在小数据集上,这种效用损失可能非常显著。近年来的研究通过多种途径缓解这一问题:大批量训练(large batch training)可以在不增加额外隐私成本的情况下降低噪声的相对影响;预训练和微调范式(pre-train then fine-tune)允许在公开数据上预训练模型,然后仅在私有数据上进行少量的差分隐私微调,大幅减少了需要的隐私预算;参数高效微调方法(如 LoRA)通过减少可训练参数的数量,降低了差分隐私噪声对模型性能的影响。

七、机密计算与 TEE

可信执行环境(Trusted Execution Environment, TEE)提供了一种基于硬件隔离的隐私保护方案。TEE 在处理器内部划分出一块受保护的内存区域(称为”飞地”或 enclave),在该区域内执行的代码和处理的数据即使对操作系统内核和虚拟机管理程序(hypervisor)也不可见。这种硬件级别的隔离使得 TEE 能够在不信任整个软件栈的情况下保护敏感计算。

Intel SGX(Software Guard Extensions)是最早被广泛研究的 TEE 技术。SGX 允许应用程序创建加密的内存飞地,处理器在飞地边界自动对内存进行加密和完整性保护。SGX 还提供远程证明(remote attestation)机制,允许远程方验证飞地中运行的代码确实是预期的程序,且运行在真正的 SGX 硬件上。然而,SGX 的飞地内存受限于较小的 EPC(Enclave Page Cache)空间(早期版本仅 128 MB),这对需要大量内存的机器学习工作负载构成了严重限制。

AMD SEV(Secure Encrypted Virtualization)采用了不同的设计理念:它保护的是整个虚拟机而非单个飞地。SEV 对虚拟机的全部内存进行加密,密钥由 AMD 安全处理器管理,宿主机的管理程序无法解密虚拟机的内存内容。SEV-SNP(Secure Nested Paging)进一步增加了完整性保护,防止宿主机篡改虚拟机的内存映射。这种虚拟机级别的保护更适合机器学习场景,因为它不需要对应用程序进行特殊改造,且内存限制远小于 SGX。

ARM 的机密计算架构(Confidential Compute Architecture, CCA)则面向移动和边缘计算场景。CCA 引入了”领域”(Realm)的概念,类似于受保护的虚拟机,由硬件保证其内存隔离和完整性。CCA 的设计目标是在 ARM 生态系统中(包括智能手机、嵌入式设备和服务器)提供统一的机密计算能力。

在云计算层面,机密容器(Confidential Containers)项目正在将 TEE 技术与容器编排系统(如 Kubernetes)深度集成。用户可以将机器学习推理服务部署为机密容器,使其在 TEE 保护下运行,同时享受容器编排带来的弹性伸缩和运维便利。Azure Confidential Computing、Google Confidential VMs 和 AWS Nitro Enclaves 等主流云服务商都已提供了基于 TEE 的机密计算产品。

远程证明(attestation)是 TEE 安全模型中至关重要的一环。它允许数据所有者在将敏感数据发送给 TEE 之前,验证 TEE 的硬件真实性、固件版本和运行的程序身份。没有远程证明,TEE 的安全保障就无法延伸到远程场景——用户无法确认远端的”TEE”是否真实存在。当前的远程证明链条依赖于芯片厂商的签名密钥,这引入了对厂商的信任假设,与纯密码学方案相比是一个显著的信任模型差异。

TEE 方案的性能开销通常远低于 FHE 和 MPC——在 TEE 内部的计算接近原生速度,主要开销来自内存加密、上下文切换和证明过程。但 TEE 的安全性也更加依赖于硬件实现的正确性:自 SGX 推出以来,一系列侧信道攻击(如 Spectre、Meltdown、Foreshadow、ÆPIC Leak 等)不断暴露硬件隔离中的漏洞。因此,在高安全性场景中,TEE 通常作为密码学方案的补充而非替代——例如在 TEE 内部运行 MPC 协议,或在 TEE 中执行差分隐私噪声注入,形成多层防御。

八、AI 辅助密码分析

AI 对密码学的影响不仅体现在隐私保护上,也体现在密码分析——即对密码算法的攻击——领域。机器学习技术为密码分析者提供了一种全新的方法论:不再是手工构造数学上的区分器或密钥恢复攻击,而是让神经网络从大量明密文对中自动”学习”密码算法的统计弱点。

Adi Gohr 在 2019 年发表的工作是这一方向的里程碑。Gohr 训练了一个简单的残差神经网络(ResNet),使其能够区分 SPECK 32/64 分组密码的 5 轮加密输出与随机排列——这就是所谓的”神经区分器”(neural distinguisher)。更令人惊讶的是,Gohr 进一步将该神经区分器嵌入到经典的密钥搜索框架中,构造了对 SPECK 的 11 轮密钥恢复攻击,其数据复杂度优于当时已知的纯差分密码分析结果。这项工作的意义在于:神经网络不仅能够”模仿”已知的密码分析技术,还可能捕获人类分析者尚未理解的统计模式。

在侧信道分析领域,机器学习的应用更加成熟。传统的侧信道攻击(如差分功耗分析 DPA、相关功耗分析 CPA)需要分析者对目标设备的功耗或电磁辐射模型有深入的理解。深度学习方法(如卷积神经网络或多层感知机)可以直接从功耗轨迹中学习密钥相关的特征,无需显式建模——这种方法被称为”深度学习侧信道攻击”(Deep Learning Side-Channel Attack, DLSCA)。实验表明,DLSCA 在面对常见的侧信道防护措施(如随机延迟、掩码方案)时,往往比传统统计方法更具鲁棒性。

AI 在协议模糊测试(protocol fuzzing)中也展现了潜力。模糊测试通过向目标程序发送大量随机或半随机的输入来发现程序中的漏洞。覆盖率引导的模糊测试(coverage-guided fuzzing)工具如 AFL 和 LibFuzzer 已经在密码库中发现了大量实现缺陷。将机器学习引入模糊测试可以进一步提高效率——例如用神经网络学习输入与代码覆盖率之间的映射关系,从而更智能地生成测试用例,将测试资源集中在最可能触发新行为的输入上。

然而,AI 辅助密码分析目前仍然受到明显的局限。神经区分器的成功案例主要集中在低轮数的轻量级密码上(如 SPECK、SIMON),对于全轮数的 AES 或 ChaCha20 等主流密码算法,机器学习方法尚未取得实质性突破。理论上,全轮数的现代密码算法的输出与随机排列之间的统计偏差极其微小,现有的神经网络架构和训练数据量可能不足以捕获这些偏差。密码学界的主流共识是:AI 辅助密码分析是一种有价值的补充工具,但不太可能在短期内替代传统的数学密码分析方法。

九、AI 安全中的密码学

随着 AI 系统在社会中的角色日益重要,保障 AI 系统自身的安全性、完整性和可信性也成为迫切需求。密码学在这一领域提供了多种关键工具。

模型水印(model watermarking)是保护模型知识产权的技术手段。其基本思想是在模型训练过程中嵌入一个”后门”——模型对特定的触发输入(trigger input)产生预定义的输出,而对正常输入的行为不受影响。当怀疑模型被未经授权地复制或使用时,知识产权所有者可以通过提供触发输入来证明模型的所有权。更先进的水印方案使用密码学签名来保护水印的不可伪造性——只有持有签名密钥的合法所有者才能生成有效的触发输入和对应的预期输出。

模型完整性验证(model integrity verification)确保模型在部署和传输过程中未被篡改。最简单的方法是对模型文件计算密码学哈希值(如 SHA-256),并将哈希值发布在可信渠道上——用户在下载模型后可以验证哈希值以确认模型的完整性。更细粒度的方案使用 Merkle 树对模型的各层参数分别承诺(commit),这允许在不下载整个模型的情况下验证特定层的完整性。在联邦学习场景中,可验证计算(verifiable computation)技术可以用来证明服务器确实按照协议规定执行了聚合操作,而非注入了恶意更新。

对抗提示注入(prompt injection defense)是大语言模型(LLM)安全中的一个新兴挑战。提示注入攻击通过在输入中嵌入恶意指令来操控 LLM 的行为。虽然当前的防御主要依赖于过滤和检测机制,但密码学方法也开始被探索:例如使用密码学签名来标记可信指令与不可信用户输入之间的边界,或使用认证的数据结构来确保 LLM 只处理经过授权的上下文信息。

AI 对齐中的密码学工具(cryptographic tools for AI alignment)是一个更前瞻性的研究方向。当 AI 系统的能力越来越强大时,如何确保其行为符合人类的意图和价值观——即”对齐问题”(alignment problem)——变得至关重要。密码学承诺方案(commitment scheme)可以用于构建可审计的 AI 决策日志:AI 系统在做出决策前先对其推理过程进行密码学承诺,事后审计者可以验证承诺的一致性。零知识证明(zero-knowledge proof)可以用于证明 AI 系统的输出确实来自特定的模型和输入,而无需暴露模型参数或输入数据本身——这在需要 AI 决策可追溯性但同时保护隐私的场景中尤为有价值。安全多方计算则可以用于实现分布式的 AI 监督机制,确保没有单一实体能够单方面控制或篡改 AI 系统的关键行为参数。

此外,密码学在 AI 生成内容的认证(authentication of AI-generated content)方面也具有重要应用。随着深度伪造(deepfake)技术的普及,区分真实内容与 AI 生成内容变得越来越困难。C2PA(Coalition for Content Provenance and Authenticity)等标准使用密码学签名链来记录内容的创建和编辑历史——从相机拍摄到后期处理的每一步都附加密码学签名,使得内容的完整来源可以被验证。这种基于密码学的内容溯源机制为应对 AI 生成内容的信任危机提供了技术基础。

十、AI 全生命周期威胁模型与密码学防御矩阵

AI 系统在训练、推理和部署三个阶段面临不同的安全威胁。下表系统梳理各阶段的主要威胁类型、对应的密码学防御手段及其成熟度。

阶段 威胁类型 威胁描述 密码学防御手段 技术成熟度
训练阶段 数据投毒(Data Poisoning) 攻击者在训练数据中注入恶意样本,操纵模型行为 可验证数据来源(密码学签名的数据集)、安全多方计算(MPC)训练确保数据完整性 研究阶段——可验证数据溯源已有原型;MPC 训练效率尚不满足大模型需求
训练阶段 模型窃取(Model Extraction via Training) 内部人员或供应链攻击者在训练过程中窃取模型参数 机密计算(TEE)保护训练环境、同态加密(FHE)训练、联邦学习 + 差分隐私 中等——TEE 训练已在工业界部署(Azure Confidential Computing);FHE 训练仍限于小模型
训练阶段 数据隐私泄露 训练数据中的敏感信息被模型”记忆”并可被提取 差分隐私(DP-SGD)、安全聚合(Secure Aggregation)、联邦学习 较成熟——DP-SGD 已在 Apple、Google 产品中部署;但对模型精度有一定影响
推理阶段 对抗样本(Adversarial Inputs) 精心构造的输入使模型产生错误输出 可验证推理(使用 ZKP 证明推理过程的正确性)、输入认证(密码学签名的可信输入源) 早期研究——ZKP 推理验证已有概念验证(EZKL、zkML),但开销极大
推理阶段 成员推断(Membership Inference) 攻击者判断某条数据是否被用于训练 差分隐私保障输出的统计不可区分性、FHE 推理隐藏查询内容 中等——差分隐私理论成熟但实践中参数调优困难;FHE 推理延迟正在快速降低
推理阶段 隐私查询泄露 推理服务提供商获知用户的查询内容 全同态加密(FHE)推理、安全多方计算(MPC)推理、可信执行环境(TEE) 中等——FHE 推理延迟已从小时级降至分钟级;TEE 推理已在生产中使用
部署阶段 模型盗窃(Model Theft) 部署环境中的攻击者直接复制模型权重 模型水印(Watermarking)、模型加密部署、TEE 保护推理环境、模型指纹(Fingerprinting) 中等——水印技术较成熟但鲁棒性有限;TEE 部署已商用
部署阶段 API 滥用(API Abuse) 通过大量 API 调用进行模型蒸馏或功能克隆 速率限制 + 密码学认证、可验证计算(证明 API 调用者身份)、匿名凭证限制调用频率 较成熟——基于令牌的 API 认证广泛使用;密码学增强方案尚在研究中
部署阶段 输出篡改 中间人篡改模型的推理结果 推理结果的密码学签名、可验证推理(ZKP 证明输出确实来自指定模型) 早期——签名方案简单可用;ZKP 可验证推理仍面临性能挑战

笔者认为,密码学与 AI 的交叉地带正在汇聚计算机科学中最重要的未解难题。这一判断基于以下观察:隐私保护机器学习本质上要求我们在”不看数据的情况下从数据中学习”——这几乎是对全同态加密和安全多方计算最极致的应用场景;可验证 AI 推理要求我们在”不重新执行计算的情况下验证计算结果”——这正是可验证计算和零知识证明的核心目标;AI 对齐则要求我们在”不完全理解系统行为的情况下约束系统行为”——而密码学承诺和安全协议为此提供了形式化的工具。值得注意的是,这些问题的难度并非来自单一学科,而是来自密码学、机器学习和分布式系统三个领域的深度交织。当 GPT 级别的大模型需要在加密数据上进行推理时,我们面对的不仅是 FHE 的性能问题,还有如何在密文空间中高效表示 Transformer 注意力机制的数学问题。从工程实践来看,短期内最有可能落地的方向是 TEE 机密计算(成熟度最高)和差分隐私(理论基础最完善),而 FHE 推理和 ZKP 可验证推理则代表了中长期的技术愿景。这一领域的进展速度将在很大程度上决定我们能否在享受 AI 能力红利的同时守住隐私和安全的底线。


密码学与 AI 的交叉正处于快速发展的活跃期。在”密码学服务于 AI”的方向上,FHE、MPC、差分隐私和 TEE 等技术正在从理论原型走向工程实用——FHE 推理的延迟从小时级降至分钟级,MPC 框架开始融入主流机器学习生态系统,差分隐私训练已在数十亿用户的产品中落地,TEE 机密计算正在成为云服务的标准功能。在”AI 服务于密码学”的方向上,神经区分器和深度学习侧信道攻击为密码分析开辟了新的方法论空间,尽管其对主流密码算法的威胁目前仍然有限。在 AI 安全领域,密码学提供的完整性验证、知识产权保护和可审计性工具正在成为可信 AI 基础设施的关键组成部分。可以预见,随着 AI 能力的持续增长和数据隐私法规的不断加强,密码学与 AI 之间的协同进化将在未来十年显著加速。


密码学百科系列 · 第 64 篇

← 上一篇:可验证计算 | 系列目录 | 下一篇:密码学研究前沿


By .