基于数据纵向分布的隐私保护逻辑回归

2019-10-21 08:07马春光段广晗
计算机研究与发展 2019年10期
关键词:同态密文加密

宋 蕾 马春光 段广晗 袁 琪

1(哈尔滨工程大学计算机科学与技术学院 哈尔滨 150001) 2(山东科技大学计算机科学与工程学院 山东青岛 266590) 3(齐齐哈尔大学通信与电子工程学院 黑龙江齐齐哈尔 161006)

得益于计算资源的丰富及大数据积累,近年来机器学习在视觉、自然语言处理、医疗健康等领域取得突破性进展.在机器学习技术飞速发展的同时,其安全与隐私问题也引起人们广泛关注.传统的机器学习训练方法是将训练数据收集起来进行集中训练.然而,训练数据通常会涉及到人们的隐私,如医疗健康数据、兴趣爱好、政治偏向等.将私有数据直接暴露给数据收集者进行模型训练,这种传统的模式已经不能适用于当下人们隐私保护意识增强的社会环境中.《中华人民共和国网络安全法》和欧洲《通用数据保护条例》相继颁布实施,预示对数据的安全使用和个人信息的隐私保护越发严格,给基于数据训练的机器学习方法带来前所未有的挑战.

为解决以上问题,本文提出隐私保护的逻辑回归解决方案.逻辑回归作为机器学习的典型算法,适用于分类问题.一个逻辑回归的单元可以看作为一个神经元,多个多层神经元叠加就组成了神经网络.解决逻辑回归算法的隐私保护问题是实现隐私保护机器学习的重要一步.为打破数据壁垒,如何在数据纵向分布场景中,保护隐私的情况下进行协作式、联合训练,实现逻辑回归算法是本文关注的重点.数据纵向分布,即数据以特征维度切分存储在两方,在现实中较为常见.如公司A和公司B拥有相同的用户,但业务不同.现A和B两方联合起来训练一个共同的模型,训练数据作为商业机密不能直接与对方分享.文献[1]已经实现数据纵向分布时的逻辑回归算法,利用中心服务器协助两方进行训练,客户端本地计算时使用乘法掩码.而本文实现2个参与方直接进行训练,并且只加密中间计算结果,利用加法掩码防止梯度信息泄露.相比之下,本文计算和通信开销更小.

本文的主要贡献有3个方面:

1) 在数据纵向分布的情况下,提出两方协作式的逻辑回归方案.2个参与方在各自数据集上进行训练,通过交换中间参数,学习得到一个共同的虚拟模型.

2) 利用Paillier同态加密保证计算安全,保护用户隐私.通过改变逻辑回归的目标函数,使其适用于加法同态加密方案来实现两方密文计算,保证交互及运算过程中安全性,不泄露用户隐私信息.

3) 本文给出隐私保护的预测方案,实现用户秘密预测.用户不暴露自身数据,而服务器也不能知晓用户的预测结果.

1 相关工作

2015年Shokri和Shmatikov[2]提出协作式隐私保护深度学习模型,每轮训练各方参与者从中心服务器下载最新模型参数,利用私有数据在本地训练模型,再上传更新服务模型.无需集中存储训练数据,从而保护用户敏感的训练数据;2018年Phong等人[3]利用加法同态加密算法加密模型参数,防止泄露梯度信息给诚实且好奇的中心服务器;2016年由Google[4]提出联邦学习用于预测Android手机键盘下一个输入词;类似于文献[2]用户在手机上训练模型再将参数上传到服务端,不同的是,为保证模型参数的安全聚合,使用秘密共享及安全多方计算协议保障用户隐私信息[5-6];2019年Yang等人[7]给出联邦学习正式定义,指数据拥有方在不暴露自身数据的前提下进行模型训练得到虚拟共有模型的过程,其模型与将各方数据聚集在一起训练所得到的模型差距足够小.同时根据数据分布,将联邦学习分为横向联邦学习、纵向联邦学习和联邦迁移学习;Hardy等人[1]实现纵向联邦学习逻辑回归算法,利用加法同态加密算法保障计算安全;SecureML[8]利用秘密共享、姚式电路,实现了一种有效保护隐私的,用于线性回归、逻辑回归和神经网络训练两方安全计算协议;Mohassel等人[9]将该方案扩展到三方安全计算;Ma等人[10]对文献[8]进行改进,实现非交互式隐私保护神经网络预测;DeepSecure[11]利用姚式电路实现两方安全计算,完成深度学习模型的安全预测.

不同于以上工作,本文关注于数据纵向分布的情况下,提出隐私保护的逻辑回归训练方法和预测方法.

2 基本定义及预备知识

本节主要介绍本文要解决的问题及其安全性定义.在2.3节介绍同态加密算法.

2.1 问题定义

2.2 安全性定义

假设A和B是非共谋、半诚实的参与者.A和B在协作期间遵守模型训练协议,但互相对对方的私有数据及模型参数是好奇的,在协作期间不断推理,想要获取关于对方额外的信息.如果在训练过程中,A和B不能获得对方额外的敏感信息,如训练数据及模型参数,则称训练过程是安全的.如果在预测阶段,模型部署在A和B上,询问者在预测过程中,A和B不能获得询问者的私有数据,则称预测过程是安全的.

2.3 同态加密

同态加密(HE)[12]可以实现在不知道密钥的情况下对加密数据进行安全计算,其运算结果解密后与直接在明文上计算结果相同.一个同态加密方案主要包含:秘钥生成、加密算法、解密算法.全同态加密(FHE)可以执行加法和乘法运算.但是全同态加密方案计算开销大,本文两方计算只涉及到加法操作,因此本文选用快速的加法同态加密方案Paillier,Paillier[13]加密方案工作原理为:

3 隐私保护逻辑回归

在本节中,我们主要介绍隐私保护逻辑回归算法,其具体包括密文梯度计算过程、隐私保护下的训练过程及隐私保护下的预测过程.

3.1 密文梯度计算过程

(1)

通过最小化目标函数即可得到模型参数θ.

(2)

则模型A和B参数更新为

(3)

(4)

则式(2)转换为

(5)

因为ln 2为常数,在最小化L的过程中并不影响结果,因此以下公式中将省略ln 2.设[·]为A和B使用同态加密后的结果.则加密后的目标函数为

(6)

(7)

(8)

3.2 隐私保护下的训练过程

隐私保护的逻辑回归具体训练过程为:

Step1.A和B分别产生一对公私钥,将公钥发给对方.

重复Step1~Step7,直到模型收敛.

3.3 隐私保护下的预测过程

当A,B一方作为询问者使用模型进行预测时,设询问者为K∈{A,B},当K=A时,令K′=B,反之亦然.

①K将预测数据分为xK和xK′两部分,用K的公钥加密后[xK′]K,发送给K′.

②K计算uK=θKxK.

③K′计算[uK′]K=θK′[xK′]K,将[uK′]K发送给K.

④K用私钥解密得到uK′,相加得到u=uK+uK′.

当询问者为第三方C时,模型部署在A和B中,预测过程和上述类似.

①C将预测数据分为xA和xB两部分,用C的公钥加密xA和xB,得到[xA]C和[xB]C,分别发送给A和B进行计算.

②A和B分别计算得到[uA]C=θA[xA]C和[uB]C=θB[xB]C,并发送给C.

4 隐私保护逻辑回归算法分析

4.1 安全性分析

回顾A和B的协作训练过程,得到模型后C进行预测的过程.在此过程中各方参与者获得的中间计算结果如表1所示:

在预测阶段,A和B获得的均是关于C的预测数据的密文[xA]C,[xB]C,并且均在密文下进行运算获得[uA]C,[uB]C.因此A和B无法获得关于C的私有数据的任何信息,预测过程是安全的.

在传输过程中,A和B传输的是中间计算结果的密文,敌手即使截获信道消息也无法解密.A和B之间传输的明文是加上掩码的模型参数梯度,由于敌手不知道掩码,故无法获得关于梯度的信息.因此敌手为第三方时,也无法通过信道获取任何敏感信息.

4.2 算法性能分析

与非隐私保护的逻辑回归算法相比,本文算法产生的额外开销主要包括时间开销与通信开销.时间开销主要来自于密文计算,本文使用Paillier加法同态加密算法,秘钥长度为1 024 b.在CPU为Intel Core i5-6500,3.20 GHz的计算机上进行加密计算,执行时间为:

加密时间T_E.执行100次耗时1.598 s.

解密时间T_D.执行100次耗时0.507 s.

加法时间T_A.执行2 000次2个密文相加运算耗时0.086 s.

乘法时间T_M.执行明文与密文之间的乘法时间与明文大小成正比.在本文算法训练过程中,只需执行12,14,18乘以密文,执行2 000次耗时平均为1.364 s.

分析忽略通信过程中的传送时间,训练过程中选取batch_size大小为n,在一个迭代周期内,加密时间复杂度为O(n×T_E),解密时间复杂度为O(n×T_D).计算[L]时间复杂度为O(n×T_M),计算A方梯度的时间复杂度为O(n×dA×T_M),计算B方梯度的时间复杂度为O(n×dB×T_M),其中dA,dB分别为A和B数据的特征维数.

在训练过程中,A和B之间的通信开销为Cost=2(3×n×ct+ct),其中ct为一条密文大小.空间复杂度为O(n×ct).在batch_size=64,ct=256 b,一个迭代过程中通信开销约为12 KB.

5 实验与结果

在本节中,我们搭建了本文提出的基于数据纵向分布的隐私保护逻辑回归模型,并且在7组数据集上测试了本文方案.

5.1 数据集描述

本文在4组随机生成的2分类数据集与3组现有的分类数据集上对所提出的模型进行测试,下面从数据维度、数据大小等方面对数据集进行介绍.

MC-1数据集与MC-2数据集是使用Python的机器学习模块scikit-learn提供的make_classifi-cation函数构建的用于训练分类模型的数据集,其中MC-1数据集包含2 000条特征维度为6的数据,这些数据属于2个分类.MC-2是包含2 000条特征维度为10的2分类数据.MB-1数据集与MB-2数据集是使用scikit-learn提供的make_blobs函数生成的用于聚类的数据集,其中MB-1数据集包含1 000条特征维度为6、方差为5的具有2个聚类中心点的数据,MB-2数据集包含1 000条特征维度为10、方差为6的具有2个聚类中心点的数据.

digits是手写数字数据集,该数据集包含了1 797个共计10个分类的手写数字数据,其原始数据尺寸为8×8像素,其中每个像素点用整数0~16来表示其灰阶.为验证本文提出的基于数据纵向分布的隐私保护逻辑回归模型,我们将数字0~4设定为分类1,将数字5~9设定为分类2,将多分类问题简化为2分类问题.同时我们从digits数据集中抽取出数字7与9组成一个2分类数据集(digits-79),用以验证样本量较小时本文提出的模型性能.breastcancer是一个包含2分类数据的乳腺癌数据集,其中包含了569组特征维度为30样本.

对上述的全部数据集,我们将其特征均等纵分为2部分分别交给A,B双方,我们随机抽取其中的70%样本用于训练模型,剩余的30%样本用于测试模型性能.

5.2 实验和结果分析

在本节中,进行7组实验来验证本文提出模型的有效性.在所有的实验中,我们采用学习率为0.01的随机梯度下降法对模型进行训练,同时对于所有输入的数据,对其进行归一化处理以易于模型收敛到最优解.

使用泰勒展开式模拟原有的目标函数,会对训练过程收敛速度及精度产生一定影响.本文通过实验从3方面对具体差异进行评估,首先对比原目标函数和用泰勒公式近似的目标函数2个模型在训练过程中的Loss变化曲线,如图1所示.采用泰勒公式近似的目标函数的逻辑回归模型,其Loss的收敛速度与采用原目标函数的逻辑回归模型差别不大.其次,对原目标函数和用泰勒公式近似的目标函数2个模型的训练精度进行了实验,如图2所示.在经过200次迭代后,采用泰勒公式近似的目标函数模型的预测精度趋近于稳定,此时其预测精度高于采用原目标函数的逻辑回归模型;在400次迭代后,采用原目标函数的逻辑回归模型预测精度与采用泰勒公式近似的目标函数模型几乎相同,随着训练的继续进行;在800次迭代后,采用原目标函数的逻辑回归模型预测精度达到稳定状态,原模型的最终预测精度略高于采用泰勒公式近似的目标函数模型.

Fig. 1 Comparison of Loss during training process图1 训练过程Loss变化曲线对比图

Fig. 2 Comparison of performance between two models图2 2种模型测试精度对比图

本文在7组数据集上对2种模型进行分类实验,表2给出了2种模型的分类精度与AUC(area under curve).其中,AUC是ROC曲线下与横坐标轴围成的面积,其值通常在0.5~1之间,AUC的值越大,说明分类器的分类效果越好.从表2可以看出,采用原目标函数的逻辑回归模型与采用泰勒公式近似目标函数的逻辑回归模型在7组数据集上的预测精度与AUC差别不大,这说明本文提出的基于数据纵向分布的隐私保护逻辑回归在预测精度和模型性能没有明显损失的前提下,保护了训练数据的隐私.

Table 2 Results on Two Models
表2 在2种模型上的分类精度实验结果

DatasetSample SizeFeature DimentionLogisticTaylorAccuracy∕%AUCAccuracy∕%AUCMC-12000698.330.992797.670.9934MC-220001098.000.990697.330.9904MB-11000694.670.991593.670.9908MB-210001098.000.997198.670.9978breastcancer5693081.290.964181.870.9641digits17976489.440.954289.630.9566digits-793596497.220.997997.220.9979

6 总 结

本文提出了在数据纵向分布下的隐私保护逻辑回归解决方案,不仅实现隐私保护的训练过程,同时给出隐私保护的预测过程.保证在训练过程中,协作的双方不能获得对方的训练数据及其模型参数信息.在预测过程中,保护访问者的私有数据不泄露给部署模型的服务器.根据分析及实验得出,本文方案可以在可容忍的精度损失下提供隐私保护需求.训练数据纵向分布,双方协作共同训练模型在现实中具有广泛的应用价值.未来将会把本文中隐私保护逻辑回归扩展到深度学习中,并且寻求高效的加密算法降低计算开销.

猜你喜欢
同态密文加密
三角矩阵环上FC-投射模的刻画
相对于模N的完全不变子模F的N-投射模
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
支持多跳的多策略属性基全同态短密文加密方案
D4-δ-盖及其应用
保护数据按需创建多种加密磁盘
密钥共享下跨用户密文数据去重挖掘方法*
电力安全防护加密装置
加密与解密