一. 引言
随着ChatGPT的爆火与大语言模型的兴起,人们对人工智能的研究热度再次被推向新高,各行业中多种人工智能应用开始不断涌现。诸如智能问答、文本生成、图像生成、数据处理等人工智能应用开始成为人们广泛使用的热门工具。然而,大量人工智能应用的出现带来的不仅仅是机遇,伴随而生的隐私泄露问题亦是其所面临的巨大挑战。一方面,模型训练离不开海量数据的支持,其中会涉及大量数据的流转、存储与使用;另一方面,当前大多人工智能应用都以在线服务的形式被用户使用,用户在输入指令时,指令信息中可能会包含用户隐私信息。因此,人工智能场景下的隐私保护问题成为了研究人员所关注的重点。
本文我们将简单介绍Zama公司对上述问题所提出的解决方案,即利用同态加密为人工智能提供隐私保护。我们将介绍同态加密的基本概念,Zama公司的基本情况,并最终阐述Zama是如何利用同态加密技术保护人工智能场景下的隐私信息。
二. 同态加密基本概念
同态加密(Homomorphic Encryption,HE)[1]是密码学中的一种特殊加密技术,它允许在不解密数据的情况下对密态数据执行特定的计算操作。简单来说,同态加密能够使得密文数据直接参与计算,并且计算结果仍然是密文状态,对密态结果解密后可以得到与直接用明文数据计算相同的结果。由于其具有可以执行密文计算的特殊性质,因此广泛应用于隐私计算与安全多方协同计算领域。同态加密可分为半同态加密(Partially Homomorphic Encryption, PHE)与全同态加密(Fully Homomorphic Encryption, FHE)两大类。其中半同态加密是指算法仅支持某一种类型的运算(如加法或乘法),但不能同时支持这两种运算。而全同态加密则是能够支持任意的加法和乘法运算。
人们对同态加密的研究最早可追溯至20世纪70年代,Revist等人在其论文中首次提出了这一概念。对于半同态加密算法来说,RSA算法可视为第一个实用的半同态加密算法,其允许对加密数据执行乘法操作,即实现了乘法同态。而全同态加密算法的真正突破则是发生在2009年,当时IBM的研究员Craig Gentry提出了第一个可行的全同态加密方案。随后大量研究人员对Gentry的方案进行不断优化与改进,提出了各种优化方案,如今具有代表性的全同态加密方案有BGV(Brakerski-Gentry-Vaikuntanathan)、BFV(Brakerski/Fan-Vercauteren)、CKKS(Cheon-Kim-Kim-Song)等。
三. Zama公司简介
Zama是一家开源加密公司,其主旨是为区块链与人工智能领域提供先进的全同态加密解决方案,公司主页网址为https://www.zama.ai/。该公司成立于2020年,公司由Rand Hindi博士与Pascal Paillier博士联合创办,其中Paillier是著名同态加密领域专家,他曾提出了著名的半同态加密算法Paillier算法,至今仍被广泛使用。目前,Zama团队共有78人,其中36人具有博士学位。
Zama目前有四项主要工作内容,分别为TFHE-rs、Concrete、Concrete ML以及fhEVM。其中TFHE-rs是使用Rust语言对环面全同态加密(Fully Homomorphic Encryption over the Torus,TFHE)方案的实现,TFHE是一种基于LWE(Learning With Errors)的全同态加密方案,它是一种可以抗量子计算机的安全密码原语。Concrete是一个开源框架,它通过结合基于LLVM(Low Level Virtual Machine,一个编译器基础设施项目)的TFHE编译器,供开发人员轻松编写 FHE 程序。Concrete ML则是基于Concrete所构建的具有隐私保护能力的机器学习开源框架。而fhEVM则是一项使用FHE在以太坊虚拟机(Ethereum Virtual Machine,EVM) 上启用机密智能合约的技术,实现对区块链的隐私保护。本文我们仅对Concrete ML进行介绍。
四. Concrete ML
Concrete ML[2]使用FHE为机器学习提供隐私保护,它提供的能力如下:
模型自动转换:用户可以使用scikit-learn和PyTorch中常用的API将机器学习模型转换成其FHE等效模型。目前主要适用于线性模型、树模型以及神经网络。
加密数据训练与推理:用户可以直接使用密文数据进行模型训练与模型推理,保护数据隐私信息。
机密数据处理:用户可以使用DataFrame范式对密文数据执行预处理。
基于这些能力,用户可以使用Concrete ML构建完整的具有隐私保护能力的模型训练与模型推理流程。这里我们以云端推理场景为例,介绍一个用户如何在保护隐私信息的同时使用云服务器上的模型执行推理,我们将用户定义为客户端,云服务器作为服务端,其通信流程如图1所示。要使用含有FHE能力的模型,需要模型开发人员对其进行编译。
图1 云端推理通信流程
1.模型部署:模型开发人员将编译好的机器学习模型部署到服务器,该模型包括加密所需参数,DataFrame 的加密参数和编译程序直接包含在 Concrete ML 中。
2.客户端请求:客户端请求加密参数,并根据请求结果生成加密密钥与评估密钥。
3.密钥交换:客户端将使用加密密钥加密后的数据与评估密钥发送给服务端。
4.密态推理:服务端使用评估密钥,对用户密文数据执行预处理、推理等操作,并返回密文结果。
5.解密:用户对收到的密文结果进行解密,得到明文推理结果。
在上述过程中,服务端无法拿到用户的明文数据,实现了对用户数据的隐私保护。目前Concrete ML也存在一些限制,由于其FHE仅能对整数执行运算,因此需要将机器学习模型进行量化,这一操作可能会带来一定的精度损失。此外,Concrete ML能够支持多种模型的推理,但仅支持部分特定模型能够使用密态数据进行训练。但总体来说,Zama利用全同态加密技术实现密态机器学习,可以大大降低机器学习过程中的隐私泄露风险。在人工智能迅速发展的今天,其或将能够在大语言模型等更多的人工智能应用中保护用户隐私信息。
五. 结语
随着人工智能技术的迅猛发展,未来各种人工智能应用可能会像汽车、手机一样成为与人们的工作与生活息息相关的一部分,其伴随的安全风险与合法合规需求也将成为无法回避的问题。使用同态加密这种密码学技术是能够提升人工智能安全性的重要手段之一,Zama公司已经开始了对其的探索与解决方案的实现。尽管同态加密的功能十分强大,但其原生的计算效率低、密文长度大、算法复杂等缺陷依旧制约着同态加密的实际应用。但随着技术的更新迭代与软硬件的不断升级,同态加密的现有缺陷在未来可能不再是无法跨越的鸿沟。我们期望同态加密能够成为人工智能领域中不可或缺的隐私保护关键技术。
参考文献
[1]. https://en.wikipedia.org/wiki/Homomorphic_encryption#Third-generation_FHE
[2]. https://github.com/zama-ai/concrete-ml
内容编辑:创新研究院 王拓
责任编辑:创新研究院 陈佛忠
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。
关于我们
绿盟科技研究通讯由绿盟科技创新研究院负责运营,绿盟科技创新研究院是绿盟科技的前沿技术研究部门,包括星云实验室、天枢实验室和孵化中心。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。
绿盟科技创新研究院作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。
我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。