隐私保护机器学习的密码学方法

摘要:

新一代人工智能技术的特征,表现为借助GPU计算、云计算等高性能分布式计算能力,使用以深度学习

算法为代表的机器学习算法,在大数据上进行学习训练,来模拟、延伸和扩展人的智能。不同数据来源、不同的

计算物理位置,使得目前的机器学习面临严重的隐私泄露问题,因此隐私保护机器学习(PPML)成为目前广受关注

的研究领域。采用密码学工具来解决机器学习中的隐私问题,是隐私保护机器学习重要的技术。该文介绍隐私保

护机器学习中常用的密码学工具,包括通用安全多方计算(SMPC)、隐私保护集合运算、同态加密(HE)等,以及

应用它们来解决机器学习中数据整理、模型训练、模型测试、数据预测等各个阶段中存在的隐私保护问题的研究

方法与研究现状。

1.引言

人工智能火热的同时,也带来了严重的隐私问题。由于这一代人工智能技术是建立在大数据技术和高性能计算之上的,而大数据一定来源多样,本身存在隐私范围扩大、隐私权利归属复杂、隐私保护难度大的问题。高性能计算一般以云计算和分布式计算为特征,用户数据脱离本地计算,数据的访问控制、隐私保护难度增大。为了解决人工智能中的隐私保护问题,研究者提出了各种隐私保护机器学习的方法,这其中,密码学技术在其中扮演了至关重要的角色。

2.机器学习及其面临的隐私风险

2.1 机器学习的定义

机器学习的一般过程,如图1所示,一般由数据收集,数据预处理,模型训练与测试,预测几个阶段构成,并且模型的生成是一个反复迭代优化的过程。

2.2 机器学习中的隐私保护问题

在目前大数据与高性能计算为特征的机器学习中,由于用户自有资源脱离用户的物理控制,也就

是资源的所有权和控制权相互分离,导致了在机器学习的每一个步骤中,都存在着隐私泄漏的危险。

(1) 在数据收集阶段,用户数据在多个数据集之间存在着一定的关联性,大数据的多样性带来的多源数据融合,使得隐私泄露风险大大增加。此阶段面临的最大隐私挑战在于如何保护用户原始数据,避免因数据挖掘而导致隐私泄露。

(2) 在数据预处理阶段,在某些场景之下,不同数据集的所有者,可能需要共同完成数据清洗、集成、转换等操作,还要保证参与数据处理的各方及彼此之间不能泄露数据的隐私。此阶段最主要的任务是隐私保护的集合运算,包括集合求交、并、差等运算。

(3) 在模型训练和测试阶段,鉴于训练数据、测试数据,以及训练所使用的计算资源,可能分属不同参与方,因此,此阶段的隐私分为训练数据隐私、模型隐私和模型输出隐私。此阶段的主要挑战在于如何在多个参与方之间安全地完成各类不同的机器学习计算任务。

(4) 在预测阶段,由于预测所使用的模型是在大数据集上经过高性能计算而得到,一般由服务器端拥有,而用户希望利用服务器端的模型,来计算自己的私有数据,并且仅有自己可以得到预测结果。此阶段需要保护模型的隐私性及输出结果的隐私性。对于机器学习中的隐私保护,目前已经存在各种不同种类的方法,这些方法中,不可避免地使用到了密码技术,其中通用安全多方计算、同态加密、隐私保护的集合计算是最为常用的密码学方法。

3.常用隐私保护密码技术

3.1 通用安全多方计算及其相关技术

安全多方计算协议最早是由Yao [1] 在1982年提出的。在安全多方计算中,两个或多个持有私有输入的参与者,想要联合计算某些(事先协定的)计算任务,得到他们的输出,并达到正确性、隐私性、输出可达性、公平性等安全特性。多方参与的计算任务可抽象为理想功能(functionality),为方便,在下文中“functionality”将广义地称为“函数”。

安全多方计算的研究大致可以划分为两个类别:通用安全多方计算,以及特定的安全多方计算。

通用安全多方计算协议主流的构造方法有两类:基于Yao [2] 混乱电路(garbled circuits)的构造和基于秘密分享(secret sharing)的构造 [3,4] 。早期的通用安全多方计算协议只是解决了通用安全多方计算协议的存在性问题,效率较低。而近年来,安全多方计算协议的实用化技术得到了飞速的发展,恶意敌手模型下,基于Yao混乱电路的安全两方计算协议,以及基于秘密分享的安全多方计算协议,都有了高效实现方案。

3.2同态加密技术

3.3隐私保护的集合运算

隐私保护的集合运算在隐私保护机器学习的数据预处理阶段非常有用,它可以使持有私有数据集合的参与方合作产生集合运算的结果,而不泄露各自私有数据集的隐私。基础的集合运算包括集合求交和集合求并。

4.密码技术在隐私保护机器学习中的应用

机器学习中的训练和预测问题最终转化为函数计算和数值比较问题,这些计算包括线性函数求值、线性方程组求解、非线性激活函数求值等,而前两种计算可归结为加法与乘法计算。因此隐私保护机器学习中要解决的问题,最终归结为安全数值比较,安全计算乘法、加法和安全计算非线性激活函数。

4.1 隐私保护的机器学习训练

隐私保护下的机器学习训练,涉及保护训练数据和模型两方面的隐私。这主要是通过同态加密和安全多方计算来实现的。

基于安全多方计算协议的隐私保护下的机器学习方案,由于不同的安全多方计算协议具有不同的特性,因而适用于不同的场景,因此相应地出现了使用不同安全多方计算原语组合构建的多种机器学习隐私保护方案。其中经典的计算方案有:混乱电路 + 茫然传输 [22] 、同态加密 + 混乱电路 [23] 、同态加密 + 混乱电路 + 秘密分享 + 茫然传输 [24] 和混乱电路 + 秘密分享 + 茫然传输 [25] 等,这其中Mo-hassel等人 [24] 提出的机器学习框架SecureML具有良好的代表意义。

4.2 隐私保护的深度机器学习预测

目前深度神经网络的机器学习算法是一大研究热点,在很多领域都得到了相当广泛的应用。为了

保护机器学习中模型的参数和用户的敏感数据,最简单的想法是在密文上运行深度神经网络,这当然

需要同态加密,另一方面利用多项式逼近神经网络中非线性激活函数是一个自然的思路。

4.3 联邦学习

传统机器学习中,一般是用户将数据上传服务器,由服务器在收集到的用户数据集合上进行学习,无法保护用户数据的隐私。2016年谷歌提出的一种隐私保护的机器学习框架:联邦学习。在联邦学习框架下,客户端不需要将自己的数据统一上传到服务器,而由各个终端用户训练出本地模型后,将各模型参数发送至各自服务器,各个服务器通过数据聚合得到整体模型。由于所有的本地模型都是各个终端用户利用本地数据训练后得到,因此可以比较易于实现整体数据隐私。具体过程见图3。

5.总结

机器学习中的隐私保护问题,得到了研究者越来越多的关注。越来越多的研究者开始使用密码学工具来解决这一类问题。但是,受到现有密码学工具在效率及安全性上的局限,目前的解决方案只能在一些小规模的问题上进行应用。隐私保护的机器学习目前处在发展初期,许多问题亟待解决。在隐私保护下的机器学习模型训练时,高效的安全计算工具和适合安全计算的准确的激活函数逼近是目前面临的主要挑战。安全高效性与训练模型准确性的平衡是实现隐私保护下机器学习的一个长期课题。在进行隐私保护下机器学习预测时,特别是利用神经网络的带符号整数权值和二进制激活函数进行加密预测时,目前所提出一些方案其预测的准确性不能令人满意,有待改善。在机器学习的各阶段,提取数据、模型参数或其统计特征的攻击也是值得注意的一个安全性问题。对于联邦学习来说,其聚合阶段的隐私保护需求是一个典型的安全多方计算场景,针对这种聚合的特殊性质,构造更加有效的安全多方计算协议,或者对更复杂的聚合函数进行讨论的成果,目前较少见到。在安全性方面,现在大多数可行方案都是半诚实模型安全的,恶意模型下安全的较为实用的模型不多,事实上这类模型具有更大需求。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值