孙隆隆, 李 辉, 于诗文, 王迎雪
1. 西安电子科技大学 综合业务网理论及关键技术国家重点实验室, 西安710071
2. 西安电子科技大学 网络与信息安全学院, 西安710126
3. 中国电子科学研究院 社会安全风险感知与防控大数据应用国家工程实验室, 北京100041
近年来, 人工智能相关技术的研究产生了突破性进展, 特别是以神经网络模型为核心代表的各种机器学习技术被广泛应用于计算机视觉、自然语言处理、语音识别等领域, 进而深刻地改变着人们的生活. 但是, 技术是一把双刃剑. 移动终端设备、视频监控网络和传感器网络等随时随地地获取着个人用户的各类信息数据, 规范利用此类数据可以为用户带来更便捷的使用体验, 而非法使用数据则会带来严重的安全和隐私风险. 从互联网科技巨头到传统的酒店、快递等服务行业, 无论是蓄意滥用还是受到攻击, 近年来各类信息泄露事件可谓层出不穷[1,2], 单纯依靠机构的自我约束显然不足以保证数据的安全, 为此以欧美为代表的各国政府加紧提出了如《通用数据保护条例》(General Data Protection Regulation, GDPR)、《加州消费者隐私法案》(California Consumer Privacy Act, CCPA) 等相关数据保护法规[3,4]. 这些法规对数据接入和使用做出了严格的限制. 部分现有机器学习技术要求用户将个人数据上传到服务提供商的服务器, 以便训练一个可用的模型或利用已训练模型进行推理得到结果, 而在这些法规限制下, 数据获取变得更加严格, 部分普通机器学习技术面临失效.
自动图像分类具有重要的应用价值, 一直以来都是研究的热点. 由于高性能计算、移动互联网等技术的发展与提高, 计算能力愈来愈高、图像收集愈来愈便捷. 图像分类技术已从人工设计特征[5]发展为自动提取特征, 从早期的支持向量机[6]、浅层神经网络[7]等模型发展为当前主流的深度学习模型[8,9], 图像数据量与模型复杂度均有了极大的提升. 然而, 图像分类应用的普及引出了一个重要的问题: 如何保障图像分类模型应用过程中的隐私安全?
同样,隐私保护技术的研究也由来已久. 早期有k 匿名化(k-anonymity)、l 多样化(l-diversity)[10,11]等技术用于隐私保护, 但此类方法多只适合于提供数据特定统计学信息, 难以应用于复杂机器学习模型.近年来研究人员提出了差分隐私(Differential Privacy, DP)[12]的概念, 一些学者将差分隐私引入各类机器学习模型, 提出了不同隐私保护方案, 旨在确保发布已训练完成的模型时, 用于训练模型的数据信息不被泄漏. 对于图像分类中目前主流的深度学习技术, 其使用涉及到两个基本过程: 模型训练和模型推理.模型训练过程需要用到大量的训练数据, 反复迭代使模型参数收敛到较优值, 完成训练; 模型推理过程相对简单, 即利用已训练完成的模型, 输入数据得到输出. 由此可以看出深度学习的使用无法简单看作数据发布过程, 还存在各种额外的隐私问题.
由于近年密码学发展研究迅速, 诸如同态加密(Homomorphic Encryption, HE) 和其他安全多方计算(Secure Multi-Party Computation, SMC) 协议等在计算效率上大幅提升, 实用性愈来愈强, 因此被认为在机器学习相关的隐私保护问题中具有应用前景[13], 同时各种加密技术也被引入到云环境下的密文计算与查询应用中[14,15]. 针对保护输入图像数据隐私条件下的模型训练与推理问题, 研究人员提出了结合密码学中的加密技术设计训练或推理方案. 此类方法通常被用来解决模型输入数据的隐私保护问题.
面对数据安全与隐私性、模型有效性等问题, 已有研究人员提出了许多兼顾两者的解决方案. 针对图像分类模型训练与推理过程中的相关隐私保护问题, 本文从问题定义、原理介绍、方案分析三个方面全面、系统地介绍了最新的研究进展, 探讨了未来的研究方向. 首先根据使用场景分析图像分类模型存在的隐私风险, 其次调研密码学研究领域中可用的相关加密与保护技术, 简要介绍它们的设计原理和适用场景. 最后系统介绍相关保护技术与图像分类模型相结合的研究进展, 对不同方法进行多维度的分析与比较. 特别指出, 本文着重于调研密码学技术在图像分类模型隐私保护中的应用, 对于非密码学技术(如差分隐私) 将不展开论述.
本文的剩余部分按如下结构组织: 第2 节介绍了图像分类模型应用过程中存在的相关隐私风险;第3 节介绍了相关密码学技术的基本原理和研究进展; 第4 节介绍针对推理过程的相关模型隐私保护方案; 第5 节介绍针对训练过程的相关模型隐私保护方案. 第6 节总结了当前的研究难点, 展望了未来的相关研究方向. 第7 节总结了全文.
同其他信息安全问题一样, 图像分类模型的隐私保护研究也需要定义安全模型, 目前各类保护方案使用的安全模型主要有半诚实模型(Semi-honest Security) 和恶意模型(Malicious Security). 半诚实模型假设参与方均严格按照约定计算协议内容执行计算, 在不违反协议的前提下推测对方隐私信息; 恶意模型可以使用任何攻击手段(容许违背协议内容) 来获取对方隐私信息.
由于深度学习的运用, 图像分类模型往往需要大规模存储和计算资源来支撑, 因此通常结合公有云服务来使用. 然而, 依托云服务完成分类模型训练和推理任务时, 将产生图像数据所有权与使用权分离的现象, 从而会带来一系列的安全隐私风险. 本文根据图像分类模型的使用场景将隐私保护问题分为模型推理和模型训练的隐私保护两类.
机构或企业针对图像分类需求利用自身已有样本数据在本地完成模型训练, 之后将训练好的模型部署到云端, 利用云服务面向个人或其他机构提供推理服务. 推理服务使用者在使用服务时需要将含有敏感信息的图像上传云端, 云端模型完成对图像推理, 向用户返回结果. 此场景中的数据拥有者为推理服务的使用者. 研究主要集中于保护推理服务使用者的图像信息不被云端非法使用.
根据对推理服务使用者的要求可分为在线推理(Online Inference) 和离线推理(Offline Inference).在线推理要求云端在执行推理过程中, 与使用者保持连接以便完成必要的交互计算, 最终获得推理结果;离线推理仅要求使用者仅完成上传(加密) 图像数据一步操作, 便可以得到推理结果.
图像分类模型的训练相比推理过程要复杂许多, 隐私保护难度更大. 通过调研图像分类模型的训练需求, 本文将模型训练进一步细分为外包训练和协同训练两种情况, 如图1所示. 不同情况对应的隐私保护问题也不同.
(1) 外包训练: 用户需要利用自己的图像数据训练一个图像分类模型, 由于缺少计算设备需要使用云服务商提供的训练服务. 因此用户需要将可能含有敏感信息的训练数据集上传到云端, 云端利用这些数据集训练一个分类模型返回给用户. 此场景中的数据拥有者为训练数据的提供者者. 研究主要集中于保护训练图像数据的隐私信息不被云端窃取.
(2) 协同训练: 深度学习中有一个基本共识是, 增加训练数据通常都能带来模型精度的提升. 对于某些训练任务, 训练图像可能来自于多个数据拥有者, 为了能够训练一个精度更高的模型从而共同受益, 数据拥有者们希望在相互不共享私有数据的前提下完成模型训练.
综上所述, 模型推理与训练涵盖了图像分类应用的主要使用场景, 下文中将根据这两类场景分别介绍当前的图像分类模型隐私保护方案.
密码学等安全保护技术是构建隐私保护模型的基础工具, 针对图像分类应用, 已有研究方案主要基于安全多方计算方法, 并尤其以同态加密技术为主. 安全多方计算起源于姚期智教授提出的百万富翁问题[16]: 两位百万富翁想知道谁更富有, 但是他们不想让对方知道有关自己财富的信息. 安全多方计算是一种重要的隐私保护技术, 可用于分布式投票、私人竞标和拍卖、共享签名或解密功能以及私人信息检索等, 同时在机器学习的隐私保护问题上也具有广泛的研究运用. 它早期被用于决策树、关联规则挖掘、朴素贝叶斯分类和K-means 聚类等模型的隐私问题研究[17–20], 近年来也被引入深度学习模型的隐私保护中. 为全文叙述的连贯性以及便于对后续各类方案的理解, 本节对同态加密以及其他相关技术做简单介绍.
早在1978 年, 麻省理工学院教授Rivest[21]首次提出了同态的概念, 提出了对密文执行计算的可能性. 同态加密是指一类加密方案, 其容许第三方对密文执行某些特定的运算类型, 并保证得到的密文解密后为原始明文执行对应运算的结果, 此过程保证第三方无法获得明文的任何信息. 同态加密的定义如下:
定义1 设x 为输入数据、f 为任意运算, 若存在加密方案E 满足以下等式, 其中Enc 为加密运算、Dec 为解密运算、f′为对应的密文运算, 则方案E 是一种同态加密.
同态加密思想巧妙, 用途广泛. 但遗憾的是, 目前学界还未找到一种实际理想的加密方案, 即已有的方案E 均对输入x、运算f 有一定限制. 通常来讲, 根据容许的运算类型和运算次数的不同, 可将现有的同态加密方案分为以下三类:
(1) 部分同态加密(Partially Homomorphic Encryption, PHE): 仅支持对密文执行特定的运算, 即对f 的类型有限制.
(2) Somewhat 同态加密(Somewhat Homomorphic Encryption, SWHE): 仅支持对密文执行有限次的运算, 即对f 的使用次数有限制.
(3) 全同态加密(Fully Homomorphic Encryption, FHE): 支持对密文执行任意次的任意运算, 即对f 无任何限制.
由于对于有限集合, 加法和乘法运算构成了对任意函数运算的完备性, 所以通常将部分同态加密分为加法同态和乘法同态两类:
(1) 加法同态: 将f 限制为加法运算, 满足Enc(x)+′Enc(y)=Enc(x+y).
(2) 乘法同态: 将f 限制为乘法运算, 满足Enc(x)×′Enc(y)=Enc(x×y).
部分同态加密在构造上相对容易, 主要依赖于各种公钥密码体制. 利用RSA 公钥密码体制的同态性, Rivest 等人构造了最早的乘法同态[21]. 基于GM 概率公钥密码体制可以实现加法同态[22,23]. 利用ElGamal 公钥密码体制同样可以构造一种乘法同态加密方案[24]. Paillier 于1999 年提出了一种新的概率加密体制, 基于此可以构造出加法同态[25]. 澳大利亚CSIRO 的研究人员实现并开源了Paillier 方案1https://github.com/n1analytics/python-paillier,已被广泛使用. 除此之外, 还有许多针对以上方案的改进与优化研究, 本文不再详细介绍.
Somewhat 同态加密尽管在理论上是不完美的, 但在一些计算相对简单的场景下, 却可以实际使用.更重要的是, Somewhat 同态加密是构造全同态加密的基础. 2005 年, Boneh 等人首次构造了同时支持加法和乘法同态的Somewhat 同态加密方案BGN[26].
2009 年是同态加密的里程碑之年, Gentry 在他的博士论文中首次提出了全同态加密的构造框架[27].简单来说, Gentry 首先构造了Somewhat 同态加密方案, 在加密过程中引入“噪声”, 每次执行密文运算操作都会使“噪声” 加大, 需要注意的是当“噪声” 达到一定程度后会造成解密错误, 因此只能执行有限次的加法、乘法操作. 为解决这一问题, Gentry 提出了自举(Bootstrapping) 技术, 可以将原密文转换为一个新的“噪声” 更小的密文, 并保证不改变对应明文. 至此, Gentry 完成了全同态构造. 此后在Gentry 工作的启发下, 研究人员提出了各种全同态构造方法. 根据构造工具的不同, 可分为四类: (1) 基于多项式环上的理想格构造Somewhat 同态加密[27,28]. (2) 基于整数上的分解困难构造[29,30]. (3) 基于容错学习问题(Learning with Error, LWE)[31–33]. (4) 基于NTRU 密码体制构造[34,35]. 可以说自2009 年来, 全同态的构造研究取得了飞速的进步.
近年来同态加密的方案设计与优化层出不穷, 但是将同态加密运用于实际中还离不开方案的完整可靠实现. 目前较有代表性的开源实现有: (1) HElib 库2https://github.com/shaih/HElib, 支持BGV 加密方案[36]和CKKS 加密方案[33], 依赖于NTL 库. (2) 由微软开发的SEAL 库[37], 实现了BGV 加密方案和CKKS 方案且不依赖于外部库.(3) TFHE 库3https://github.com/tfhe/tfhe, 实现了CGG 加密方案, 依赖于FFTW. (4) HEAAN 库4https://github.com/snucrypto/HEAAN, 由CKKS 加密方案的作者开发, 依赖于NTL 库. (5) 由NuCyper 公司开发的NuFHE 库5https://github.com/nucypher/nufhe, 提供了对TFHE 库的GPU 加速支持.计算速度提升两个数量级.
同态加密技术经过几十年的研究, 已有大量的研究成果, 有研究人员针对同态加密有更全面详细的综述性介绍[38,39]. 为了更好地推动同态加密研究和应用的发展, 学界和工业界成立了同态加密的标准化组织6http://homomorphicencryption.org/, 发布了相关技术标准[40].
图像分类模型的训练和推理需要大量的复杂计算, 而同态加密提供了密文数据上的计算能, 因此如果先对模型的输入数据加密(此过程实现了隐私保护) 然后使用同态计算实现模型训练或推理(此过程保证了模型的可用性) 便可满足保护隐私条件下使用模型的需求.
混淆电路[41](Garbled Circuit, GC) 容许计算参与方安全地求解约定好的布尔电路, 由于数学函数在计算机内部均由布尔电路实际表示, 因此可以利用这种方法计算任何函数. 给定一个函数f(x1,x2), x1和x2分别为不同参与方的私有输入, 其中一方执行混淆电路的生成, 另一方求解电路. 计算过程还需引入不经意传输(Oblivious Transfer, OT) 使得电路求解方可以安全地加密私有输入.
原始的混淆电路方案基于半诚实模型假设, 此后研究人员使用cut-and-choose 技术[42]将混淆电路拓展到恶意模型, 同时近些年来, 也有许多优化方法不断被提出[43,44], 从而大大提升了计算效率, 使得方案的实用性不断增强。
秘密共享(Secret Sharing, SS) 最早由Shamir 和Blakley 分别提出[45,46], 基本思想是将隐私数据拆分为多个子部分, 分发给多个参与者持有, 容许持有者直接对数据进行计算. 对于一个(n,t) 门限安全共享方案, 秘密被分割为n 部分且由n 个参与方分别持有, 方案保证任意大于t 个参与方可以协作还原秘密, 而任意小于等于t 个参与方共谋时无法还原秘密. 秘密共享基于不共谋假设, 以此来避免计算复杂度较高的密码学操作. 因此基于秘密共享的方案通常要比基于同态加密技术的方案计算效率更高.
利用训练好的模型对外提供推理服务是图像分类领域常用的应用模式. Gilad-Bachrach 等人[47]提出的CryptoNets 模型是将全同态加密与神经网络相结合的较早研究之一, 为后期的研究提供了基本思路.图2 描述了方案的流程与关键技术. 用户首先将自己的数据加密处理, 然后上传到存储图像分类模型的云服务商, 云端执行加密推理后返回加密的结果, 用户解密后获取真实结果. 由于同态加密不支持非多项式运算和比较运算, 故方案将卷积神经网络模型中的非线性激励函数ReLU:f(x) = max(0,x) 替换为平方激励函数f(x) = x2, 使用放缩求和函数f(⃗x) = ∑xi替换最大池化层, 放缩求和函数具备和平均池化类似的特性且避免了对密文执行除法运算. 由于其使用的全同态加密只支持整数运算, 因此方案使用多项式编码的方法近似表示浮点数, 同时针对密文下大数溢出的问题, 提出了利用中国剩余定理进行大数运算.以上技术使得同态加密与神经网络的结合成为可能, 但不足之处在于造成模型分类精度的损失. 文中基于SEAL 库实现了CryptoNets 模型, 在MNIST 数据集上的模型分类精度可达98.95%, 单次推理耗时250秒. 此外由于实验采用的同态加密方案支持单指令多数据(Single Instruction Multiple Data, SIMD) 操作, 因此支持多达4096 张图片的并行推理.
此后有许多新的研究方案被提出, 其中有部分研究工作引入了服务器与客户端的交互, 因此可进一步分为两类: (1) 非交互式方案. 客户端加密需要推理的图像后发送给推理服务提供方, 推理服务提供方计算后将结果返回客户端, 中间不容许额外的数据交互, 不需要客户端提供额外的计算, 因此适用于离线推理需求; (2) 交互式方案. 在推理服务提供方计算结果的过程中容许与客户端进行交互, 客户端具有一定的计算能力, 因此适用于在线推理需求.
Hesamifard 等人[48]提出的CryptoDL 模型同样采用了明文训练、密文推理的思想. 主要针对神经网络模型中非多项式函数的近似问题做了讨论与改进, 文中比较了数值分析、泰勒级数、切比雪夫多项式等方法, 提出低阶多项式近似ReLU、Sigmoid、Tanh 等激励函数并给出了误差理论保证, 相比CryptoNets方案使用的平方激活函数等降低了模型推理精度上的损失. 该方案基于HELib 库实现, 对MNIST 数据集可以实现99.25% 的分类精度.
Chou 等人提出的FasterCryptoNets[49]方案主要对模型简化与编码技术做了改进. 作者首先结合文献[50] 中提出的神经网络剪枝方法减小原始模型中的参数数量, 减少乘法运算量. 然后对剩余参数, 设计了一种适合同态运算的网络参数稀疏表示方法, 利用逐级量化方法实现明文编码的最大稀疏性,两种技术共同加快了推理速度但也损失少量的分类精度. 此外针对方案要求的最大稀疏编码, 方案使用f(x)=2−3x2+2−1x+2−2近似替换ReLU 函数. 实验结果表明新方案比原CryptoNets 方案在推理速度上快一个数量级.
此后Brutzkus 等人在文献[51] 中进一步对编码表示方法尝试改进, 以便加密方案可用于更深更复杂的模型, 从而提高分类精度. 文中提出了两种手段: 第一, 基于向量化思想精心设计数据表示方法, 并基于表示方法定义了一系列运算, 以提高计算速度; 第二, 在加密推理中首次引入迁移学习技术, 首先利用公开模型得到得到图像的语义特征表示, 此过程过滤了图像的敏感信息, 之后输入加密网络进行推理.
以上方案均采用多项式来近似神经网络的非线性激励函数, 对于CryptoNets 和CryptoDL 这类仅使用了一两层激励层的模型来说效果理想, 但对于更深层的网络模型, 这种处理方式使得在训练过程中网络模型难以收敛, 因此, 如何进一步拓展网络的深度成为一大挑战. Chabanne 等人[52]将深度学习中经常使用的BatchNorm 层与原有加密方案结合从而有效地加深了网络层数. 加入BatchNorm 层使得非线性激励层的输入都被限制在一个稳定的分布内, 从而使加深网络层数成为可能. 与之前方案不同的是, 在训练阶段模型仍采用ReLU 激励函数, 而在推理阶段使用多项式近似替换.
对医学图像进行自动分类可以显著减轻高昂的医疗成本, 而且对某些疾病诊断精度甚至优于经验丰富的医生. 但是由于医疗数据的高度敏感性, 迫切需要在推理过程中加入隐私保护手段. Chao 等人[53]提出了CaRENets 方案, 可以在实际应用中实现高分辨率加密图像的高效推理. CaRENets 的核心技术是采用新的全同态压缩打包方案, 该方案与卷积神经网络紧密集成, 使其具有内存占用效率和推理速度的双重优势. 他们将CaRENets 方案应用于早产儿视网膜病变(ROP) 和糖尿病视网膜病变(DR) 检测中. 实验表明使用压缩打包方案, 相比CryptoNets 内存效率提高了45 倍, 推理速度提高了4–5 倍. 但仍未能应用于复杂模型, 因此分类精度不理想.
Bourse 等人[54]提出了一种新的面向神经网络的同态加密框架FHE-DiNN. 文中首次提出针对参数离散化神经网络进行加密推理, 设计了第一个专门针对神经网络计算优化的同态加密方案. 该工作对同态加密方案[55]的Bootstrapping 过程进行修改, 以减小密文规模并实现同态符号函数运算, 进而利用此符号函数作为非线性激励函数, 此过程大大提高了网络的推理速度, 不过也因此损失了一些推理精确度. 实验表明在相同安全级别下, FHE-DiNN 模型推理速度比CryptoNets 方案有两个数量级的提高, 推理精度损失了2.6%. 文献[56] 进一步针对参数离散化神经网络中的二进制参数网络提出了几种加速密文推理的技巧, 提出约简树加法器(Reduce Tree Adder) 和排序网络(Sorting Network) 技术加速点积计算, 同时将参数由{−1,1} 转换为{0, 2} 计算以提高稀疏性. 最后将方案应用于人脸图像和手写体数字的识别.
神经网络使用到大量的矩阵运算, 文献[57] 针对矩阵的安全外包计算问题进行研究, 并将其应用于加密神经网络模型. 注意到同态加密方案中的密文包装(Ciphertext Packing) 技术可以大幅提高计算效率,作者将矩阵运算变换分解以便适用于密文包装, 将密文与密文矩阵乘法时间复杂度从O(d2) 降为O(d).文中基于以上改进提出了加密神经网络框架E2DM.
以上方案均使用CPU 进行加密计算, 借鉴深度学习领域广泛采用的GPU 计算思想, Badawi 等人[58]首次提出可支持GPU 计算的同态加密神经网络模型HCNN, 模型采用了低精度训练、同态加密优化和GPU 加速实现等技术, 相比CPU 推理速度可提升一个数量级以上.
交互式方案多基于安全多方计算实现, 相比单纯同态加密推理速度有极大提升. Liu 等人利用秘密共享成功构造了不经意神经网络(Oblivious Neural Networks, ONN)[59]. 方案采用了和SecureML[60]相同的思想, 由客户端C 和服务器S 加性共享网络每层的输入和输出值, 对于一个约定的函数y=f(x;w),设C、S 分别持有xC、xS, 满足x=xC+xS. 设计一种协议F 使得结果交互计算后C 和S 分别得到yC、yS, 且满足y=yC+yS, 则S 将yS发送给C, C 便可以得到结果y. 若服务器S 半诚实, 则协议过程S 无法获得xC, 从而满足数据的隐私性要求. 文中基于此构造了不经意线性层、激励层和池化层并依此提出了MiniONN 技术, 创新之处在于可以将现有神经网络模型不经过任何修改而转换为不经意神经网络. 同时为了加速计算, 方案还引入了离线的预计算手段. 协议基于ABY 两方计算库和SEAL 同态加密库实现, 对MNIST 图像的推理时间降到1.28 秒.
Juvekar 等人组合使用同态加密和混淆电路, 提出了安全神经网络推理框架GAZELLE[61]. 框架基于半诚实模型, 由同态层、线性代数核心和网络推理三部分组成, 同态层提供基本加密运算, 为此设计了PATH 加法同态库; 线性代数核心提供高效的矩阵运算, 结合密文包装和密文置换技术设计了用于同态矩阵-向量乘法和同态卷积的新算法; 网络推理基于安全两方计算实现模型推理, 为此设计了一种可以在同态和混淆电路编码之间进行转换的协议. 与MiniONN 方案相比, GAZELLE 框架可以隐藏关于神经网络的更多信息, 因此安全性更高, 同时推理时间缩短20–30 倍.
Xie 等人将贝叶斯学习与同态加密结合提出了BAYHENN 方案[62], 方案使用贝叶斯神经网络提供了对模型参数的额外保护. 在贝叶斯学习中将网络的每一个参数看作是一个分布而不是确定的值, 从而可以利用这种不确定性保护隐私. 方案使用全同态加密保护输入图像的隐私, 设计了SLC 和SNC 两种协议分别用于网络线性和非线性部分的计算, 同样要求服务器半诚实. 相比GAZELLE 方案, 推理速度提高了近5 倍, 但由于贝叶斯网络参数的不确定性, 推理精度略有下降.
通过以上调研可知, 针对模型推理已有多种隐私保护方案. 表1对当前主流方案进行了比较. 加密技术与安全假设一项展示了方案所依赖的密码学技术、秘钥强度和额外的安全性假设, 安全性假设影响方案的实际适用场景. 从分类精度来看, 对于一些小型数据集无论是交互还是非交互式方案, 均能满足较好的精度要求. 但是对于复杂数据集, 当前各类方案的精度离实用还有一定差距. 综合来看, 现有方案主要基于同态加密和安全多方计算技术, 前者安全性假设简单, 有较强的理论保证, 后者推理速度更快, 能应用于较复杂的分类模型.
数据集 方案 模型 层数 ∗ 加密技术与安全假设 是否交互 分类精度 †MNIST Gilad-Bachrach et al.[47] CNN 2 FHE;80 否 ⋆⋆⋆⋆Hesamifard et al. [48] CNN 1 FHE;80 否 ⋆⋆⋆⋆Chou et al. [49] CNN 2 FHE;128 否 ⋆⋆⋆⋆Brutzkus et al. [51] CNN 2 FHE;128 否 ⋆⋆⋆⋆Chabanne et al. [52] CNN 6 FHE;− 否 ⋆⋆⋆⋆Bourse et al. [54] MLP 2 FHE;80 否 ⋆⋆⋆⋆Sanyal et al. [56] BNN − FHE;− 否 ⋆⋆⋆⋆Jiang et al. [57] CNN 2 FHE;80 否 ⋆⋆⋆⋆Badawi et al. [58] CNN 2 FHE;128 否 ⋆⋆⋆⋆Liu et al. [59] CNN 3 FHE,SMP;128; 半诚实 是 ⋆⋆⋆⋆Juvekar et al. [61] CNN 2 PATH,SMP;128; 半诚实 是 −Xie et al. [62] BayesianNN 2 FHE;128; 半诚实 是 ⋆⋆⋆⋆CIFAR-10 Liu et al. [59] CNN 7 FHE,SMP;128; 半诚实 是 ⋆⋆Juvekar et al. [61] CNN 7 PATH,SMP;128; 半诚实 是 −IDC Xie et al. [62] BayesianNN 6 FHE;128; 半诚实 是 ⋆⋆⋆ROP Chao et al. [53] CNN 2 FHE;80 否 ⋆⋆DRChao et al. [53]CNN2 FHE;80 否 ⋆
由于Somewhat 同态加密方案支持SIMD 操作, 因而一些隐私保护方案利用SIMD 特性来实现对输入数据的批量推理功能. 当用户一次需要推理大量图片时, 这一特性可以有效地降低总推理时间, 但对只需要推理单张图片的情况没有帮助. 此外同态加密固有的低效性导致目前还难以将其运用于深层的卷积神经网络模型, 因此当前方案使用的模型与数据集相对较小.
图像分类模型隐私保护方案的实现涉及到深度学习、密码学和软件工程学等领域的知识, 少有研究团队开源方案实现, 实验复现难度较大. 为了方便进行不同实验的比较, 以及面向生产环境部署方案, 有研究团队致力于加密深度学习框架的开发. Intel 人工智能研究院开源了nGraph-HE 框架[63], 框架基于nGraph 深度学习编译器, 结合了当前先进的图编译技术, 向下兼容SEAL 和HEAAN 加密库, 向上兼容TensorFlow、MXNet 和Pytorch 深度学习框架. 利用nGraph-HE 框架实现的CryptoNets 模型取得了与原文中近似的推理速度, 表明框架引入的额外时间开销较小. SEALion 是另一个加密深度学习框架[64],其专注于明文训练、密文推理模式. 框架基于TensorFlow 和SEAL 库, 提供Keras 风格的接口, 支持浮点数到加密数据类型的自动编码.
图像分类模型的训练需要大量的图像数据, 同样存在泄漏图像敏感信息的风险. 从分类模型的计算过程来看, 模型推理仅执行一个前向传播; 而模型训练要比推理复杂许多, 对于非凸模型(如在图像分类领域广泛使用的卷积神经网络), 模型训练时通常使用随机梯度下降(Stochastic Gradient Descent, SGD) 优化, 因此需要多次迭代执行前向传播、损失计算和反向传播. 二者计算复杂度有多个数量级以上的差距.因此不同于推理, 在训练的隐私保护方案中往往需要用户将数据拆分到多个服务器, 服务器之间基于安全多方计算协议完成模型的迭代训练.
微软研究院的团队提出SecureNN[65], 同时适用于隐私保护的训练和推理. 与SecureML 方案不同的是SecureNN 基于三方或四方服务器训练模型, 安全模型要求任意两方服务器不共谋. 文中首先构造了多方矩阵计算、多方比较、多方除法等基本运算, 然后基于此实现了卷积、ReLU 函数、最大池化函数和它们导函数的计算, 从而实现在神经网络上的安全训练和推理. 方案通过新提出的最高有效位(MSB) 计算协议加速计算, 相比SecureML 方案速度提高了8–407 倍, 同时在安全推理中相比MiniONN 方案也更快. 通常对于此类多服务器训练方案, 参与方越多训练速度愈快, 但安全性假设愈强.
针对图像分类常用的分布式训练场景, 文献[66] 提出了隐私保护方案CodedPrivateML. 不同于以往方案, CodedProvateML 通过利用最新提出的Lagrange 编码技术[67]实现秘密共享来达到保护训练数据和模型参数的目的, 首先利用随机量化将数据和权重值变换在有限域, 然后使用Lagrange 编码技术将量化后的值与随机矩阵编码, 保证了协议信息论安全, 最后利用分布式计算节点训练. 但拉格朗日编码仅支持多项式计算, 为此文中尝试了一系列量化和近似计算方法. 假设对逻辑回归中Sigmoid 函数的近似阶数为r, 训练数据拆分为K 份, 分布式节点为N 个, 则当共谋节点个数T 满足N ≥(2r+1)(K+T −1)+1时可保证数据安全. CodedPrivateML 相比基于同态加密的方案训练速度更快, 但实验中仅进行了逻辑回归模型的训练, 是否适用于深度学习模型的训练仍需进一步探讨.
以上方案需要多个服务器参与协作才能完成训练, 并且严格要求这些服务器间不共谋, 该安全性模型要求较高, 现实应用中面临很多限制. 为此研究人员尝试完全使用同态加密技术训练模型, Han 等人[68]首次实现了完全基于同态加密训练的图像分类模型, 训练过程使用批梯度下降优化技术, 以便最大地利用加密方案的SIMD 特性, 同时使用NAG 优化方法避免同态运算中耗时的除法操作. 此外, 作者同样采用了在加密图像推理研究中广泛使用的多项式函数来近似激励函数. 较之推理过程, 模型训练需要较高的运算精度, 因而选择支持近似定点数计算的HEAAN 同态加密方案[33]. 不足之处在于方案同样仅实现了在MNIST 数据集的二分类问题上对逻辑回归模型的训练.
当数据所有者为多个时, 图像分类模型的训练由多个用户协同完成, 需要设计针对协同训练的隐私保护方案. 利用多密钥同态加密(Multi-Key Fully Homomorphic Encryption, MK-FHE) 技术可以满足这一需求, 文献[69] 对此进行研究, 首先利用MK-FHE 技术构造方案, 不同数据拥有者利用私钥加密数据并发送给服务器, 服务器计算后将得到的结果返回给每一个数据拥有者, 最后所有数据拥有者共同执行多方计算将结果解密. 为了避免解密阶段的交互过程, 作者又提出基于双重解密机制和同态加密相结合的方案, 并给出了详细的安全性分析.
多密钥同态加密的瓶颈在于巨大的计算复杂度, 文献[70] 针对多数据源情况下的模型训练需求提出了隐私保护方案PDLM. 不同的用户可以使用各自的公钥加密图像, 方案利用分布式双陷门公钥加密系统实现将多密钥加密的图像转换为单一秘钥加密的图像, 针对前向和反向传播分别设计了安全多方计算协议, 使用泰勒展开式近似计算Sigmoid 函数. 训练由秘钥生成中心、数据拥有者、服务提供者和云计算服务商协同完成, 安全模型假设服务提供者和云计算服务商不共谋.
Zhang 等人了提出GELU-Net[71]方案, 利用客户端和服务器的协同计算来避免多项式近似激励函数所造成的精度损失. 方案在训练过程中要求服务器半诚实, 利用服务器(模型所有者) 计算模型中除激励函数外的其他部分, 客户端(图像所有者) 计算激励函数部分. 以上思路同时避免了密文间的乘法同态运算, 因此可以采用更高效的加法同态加密方案Paillier. 另外针对训练过程中可能存在的隐私泄露问题,该方案还提出了一种基于添加噪声的安全梯度更新方法, 用于实现反向传播过程中的隐私保护, 并给出了安全性分析. 同时文中指出通过调整训练策略, 方案也可以支持多数据源训练的隐私保护.
从图像分类模型的训练的要求来看, 模型训练的隐私保护难度较大, 当前相关研究方案较少, 仍然处于研究的探索阶段. 表2 对现有研究方案进行了总结归纳, 可以看出基于多密钥加密的方案相比其他多方计算方案精度损失较大, 另外针对同样数据集, 与推理相比模型训练的精度损失也更大. 目前的研究方案多适用于浅层网络, 适用于当前图像分类领域的实际使用的深度卷积神经网络模型的隐私保护方案几乎还是空白. 同时部分方案安全性假设过强, 实际使用环境很难满足这些假设, 因此还需研究人员积极探索.
数据集 方案 模型 层数 ∗ 加密技术与安全假设 是否交互 分类精度 †MNIST‡ So et al. [66]SS; 不共谋 是 ⋆⋆⋆⋆Han et al. [68] FHE 否 ⋆⋆⋆⋆LR 1 Zhang et al. [71]MNIST 2 Paillier; 半诚实 是 ⋆⋆⋆⋆Mohassel et al. [60] 2 SMP; 不共谋 是 ⋆⋆⋆Wagh et al. [65] 3 FHE; 不共谋 是 ⋆⋆⋆⋆Ma et al. [70] 2 SMP; 不共谋 是 ⋆⋆CNN CIFAR-10 Ma et al. [70] CNN 2 SMP; 不共谋 是 ⋆
面向隐私保护的模型训练已有优秀的开源实现, PySyft 是其中的代表[72]. PySyft 框架集合了差分隐私、安全多方计算和联邦学习等技术, 底层基于Pytorch 框架, 框架内部实现了SPDZ 和SecureNN 训练方案. TF-Encrypted 是另一个基于TensorFlow 的安全多方计算框架[73], 支持常见的机器学习模型、优化方法和分布式计算.
从以上对各种方案的介绍分析来看, 虽然对于一些简单的图形分类任务, 如MNIST 数据集, 实验证明一些针对浅层分类模型的保护方案, 在安全性与可用性(分类精度和执行速度) 方面均取得了不错的效果. 但是对于复杂的分类任务, 如ImageNet 数据集, 需要使用大型深度分类模型时, 目前还不存在一种在安全性与可用性方面满足实用条件的保护方案. 客观来讲, 面向图像分类应用的隐私保护问题研究还有很大的探索空间.
安全性、分类精度和计算速度是评价图像分类模型隐私保护方案的三大指标. 不同的图像分类应用对三者的需求是不同的, 同时提高三者难度较大, 因此可以针对应用的特点适当侧重某些指标, 满足实用需求. 结合现有的工作, 本文对本图像分类模型隐私保护问题未来的研究方向给出了展望.
密码学技术是隐私保护方案的基础, 其性能直接决定图像分类模型最终的可用性.
使用同态加密的方案存在三个方面需要改进: 功能性、时效性和准确性. 在功能性上, 目前同态加密方案还不能支持机器学习模型中用到的所有操作, 如比较运算等, 因此需要研究这些操作的代替方法或利用其它安全密码协议或隐私保护手段对同态加密做补充; 在时效性上, 尽管不断有高效的同态机制被提出,同态运算的时间开销仍然显著高于明文上对应运算若干各数量级, 机器学习模型本就属于计算密集型任务, 直接用同态运算替换后必然导致模型执行时间的剧增, 因此需要研究加快同态加密的运算速度; 在准确性上, 目前的同态加密方案本质上只支持有限整数运算, 然而图像分类中广泛使用的深度学习需要大量的浮点运算, 为此需要研究编码技术弥补来提高效率. 以上问题的进一步解决才能推动隐私保护方案在图像分类应用中实际使用.
基于安全多方计算构建隐私保护训练方案较为灵活, 适用于一些复杂场景的隐私保护需求. 与同态加密方案一样, 也存在功能性、时效性和准确性的问题, 为此可以从密码学原语、密码学协议设计方向展开研究, 可以基于文献[74] 中提出的多方矩阵乘法协议构造神经网络模型. 在方案设计前应分析清楚部署场景的限制以及攻击者模型, 如文献[60,65] 提出的方案需要引入多个服务器并假设相互不共谋, 多数使用场景很难满足这一需求, 因此需要设计其他协议.
图像分类研究的进步离不开深度学习的技术发展, 而深度学习技术的突破得益于GPU 计算的运用.为了突破基于加密技术的隐私保护方案的计算速度瓶颈, 有必要研究同态加密等技术的硬件加速方法.
GPU 提供了强大的并行计算能力, 文献[58] 实现了基于GPU 同态加密的模型推理, 虽然提升了推理速度, 但使用的计算资源过于昂贵, 且没有开源实现方案. 目前支持GPU 加速的开源同态加密库有cuFHE 和nuFHE, 分别采用快速数论变换(Number Theoretic Transform, NTT) 和(Fast Fourier Transform, FFT) 变换加速多项式乘法, 不足之处在于只提供了布尔运算的同态加密, 无法直接应用于卷积神经网络等机器学习模型. 此外对于深度学习模型, GPU 显存占用较多, 而加密方案往往具有较大的密文膨胀率, 需要更多的显存空间, 这也限制了相关方案使用GPU 来加速, 因此GPU 加速还需进一步研究.
密码学算法大多依赖大数运算, GPU 对此支持有限, 这也是目前使用GPU 加速效果不甚理想的原因之一. 因此还可以使用FPGA 和ASIC 加速计算, 目前已有一些尝试, 但将同态加密与深度学习的硬件加速相结合的研究还是空白, 为此仅实现加法和乘法操作是远远不够的, 未来发挥并行计算的特点, 需要实现针对密文的张量运算, 模型常用操作的向量化.
对于密码学技术, 不论是同态加密还是安全多方计算, 都需要额外的大量计算开销, 除了以上从密码学方向进行改进优化, 还可以从图像分类模型的角度简化模型, 减小加密模型的时间开销, 从而增强相关隐私保护方案的实用性.
学界认为深度学习模型普遍存在参数冗余. 近年来, 深度学习领域的研究人员已经意识到了模型简化与压缩的重要性, 提出了许多改进方案. 主要分为两类: 模型轻量化设计和模型压缩.
模型轻量化在设计阶段即考虑到计算复杂度, 目的在于设计高效的图像分类模型. 已提出的SqueezeNet、MobileNet 和ShuffleNet 等模型[75–77]通过使用卷积核分解、深度可分离卷积、分组卷积等技术简化模型. 影响模型计算速度主要是模型的参数数量和参数执行运算的复杂度. 值得注意的是,尽管一些轻量化技术大幅的减少了模型参数量, 但变相地增加了运算复杂度, 因此计算时间仍然巨大.
模型压缩是指将一个已训练好的模型通过一些技术手段, 减少参数量或运算复杂度, 同时保持原始的分类精度. 常用的压缩方法可分为两类: 模型剪枝(Pruning) 和模型量化(Quantization). 模型剪枝可以通过剔除原始模型中不重要的连接和卷积核来减少参数量. 目前提出有正则化、随机、静态、动态等剪枝方法[50,78]. 模型量化针对模型参数, 不改变模型结构. 相关研究证实使用低精度浮点数训练模型, 也可以得到与浮点数训练相匹配的分类精度. 而针对模型推理过程, 可采用更激进的量化策略[79].
除此之外, 还有神经模型搜索(Neural Architecture Methods, NAS)[80]、知识蒸馏(Knowledge Distillation)[81]等方法用于高效模型设计.
目前模型简化研究多针对普通使用场景. 未来可根据密文运算的特点, 有针对性地研究模型简化技术,从而减小隐私保护方案的计算负荷, 提高方案的实用性.
针对多数据源模型训练的隐私保护可以利用联邦学习(Federated Learning) 技术, 联邦学习最早由Google 提出[82], 用于多个移动终端用户协同训练一个模型. 文献[83] 进一步提出了联邦迁移学习(Federated Transfer Learning). 在训练过程中参与方的数据均保存在本地, 不涉及原始数据的交换. 首先在本地进行模型训练, 然后通过加密手段交换参与各方的用户中间识别符, 而非用户数据本身. 任意一方可通过识别符找出相同的用户, 将这部分用户的不同特征作为输入, 进行模型训练和交换参数. 在整个训练的过程中参与方之间不能反推对方的特征数据, 从而有效保护训练数据的隐私.
联系学习目前的缺陷在于巨大的通信开销, 以及对参与方本地算力的要求, 因此目前仅适合于特定的训练场景. 运用于格式化数据的模型训练已有良好的效果, 适用于普通场景的图像(非格式化数据) 分类模型联邦学习训练还需进一步研究参数交换方案, 降低计算、通信开销.
尽管本文聚焦于图像分类任务, 但其所依赖的底层模型“卷积神经网络” 被广泛应用于其他计算机视觉基本任务, 如目标定位(Object Localization)、目标检测(Object Detection)、图像分割(Image Segmentation), 以及一些衍生的高级任务. 同时, 卷积神经网络与其他深度学习模型如循环神经网络等在优化方法等方面存在许多共性. 因此相关隐私保护方法也可以被其他领域借鉴.
本文综述了基于加密技术的面向图像分类应用隐私保护的相关研究进展. 将密码学技术、隐私保护技术与机器学习模型相结合可以解决图像分类应用中存在的安全问题, 具有重要的研究价值和现实的应用价值. 文中首先分析了图像分类应用过程存在的不同隐私风险. 简要介绍了当前主流的同态加密、安全多方计算的技术原理. 而后根据不同的隐私需求详细论述了不同保护技术与图像分类模型相结合的研究方案.最后, 针对这一领域的研究难点, 讨论了未来的研究方向.
总体来说, 面向图像分类应用的隐私保护研究仍处于起步阶段. 加密方法的低效性、模型计算的复杂性同时决定了此问题的解决还存在多方面的研究挑战.