APP下载

基于云计算的隐私保护支持向量机分类方案

2023-08-31马凤英吴黎明张芳芳

指挥与控制学报 2023年3期
关键词:用户端明文加密

马凤英 吴黎明 张芳芳

近年来,机器学习吸引了众多学者的研究兴趣,并已经成为人工智能领域研究的主流.支持向量机(support vector machine,SVM)是最为火热的机器学习算法之一,并被应用到各个领域,例如:风险检测[1]、图像识别[2]、故障诊断[3]等.支持向量机中使用的数据越多,学习模型预测的准确率越高.然而,大量数据的使用会给本地计算资源带来巨大挑战.

随着云计算应用范围越来越广泛,许多SVM 的训练和预测任务都外包到云服务器上运行,例如:文献[4]提出了一种在云计算环境中实现数据分类的SVM算法,文献[5]构建了一种云计算环境下利用SVM 改进医疗服务的机器学习模型,文献[6]在云计算环境中设计了一种基于SVM 的信息熵检测异常网络流量算法.然而,这些方案都涉及到用户私有数据的研究,不可避免地使用属于第三方利益相关者的可见数据,增加了隐私泄漏的风险[7-9].

对数据进行加密是实现隐私保护最简单有效的方法之一,混沌加密和同态加密各自具有不可比拟的优势,应用广泛.一方面,混沌加密中的混沌序列因具有初值敏感性、伪随机性和遍历性,众多学者将其应用到加密算法[10-13].其中,文献[13]设计的二维滞后复Logistic 映射(two dimension lag complex logistic mapping,2D-LCLM)将传统二维Logistic 映射的变量从实数域扩展到复数域,具有广泛的混沌区间,良好的遍历性以及不可预测的特性,将其应用到文本加密中能实现良好的加密效果.另一方面,同态加密算法不会损坏数据的可用性,使加密后的密文数据仍然可以执行计算操作.Paillier 密码系统是目前广泛应用的具有语义安全的同态加密算法之一,其安全性是基于决策复合剩余困难问题,具有非常高效的运行性能[14].文献[15-17]利用Paillier 加密方案保护机器学习中的数据隐私,例如:文献[15]在云计算环境中利用Paillier 同态加密方案实现图像数据外包,文献[17]为支持向量机模型设计了一种可验证的、保护隐私的机器学习预测服务.这些方案实现了在云计算环境中用户数据的隐私保护,但其要求用户实时在线并参与SVM 分类算法的计算过程.然而在现实世界中,由于时间、设备等原因,用户存在无法实时在线并参与计算过程的情况.

为了解决当前在云计算环境中进行SVM 分类时无法保护数据隐私和需要用户实时在线的问题,本文提出了利用2D-LCLM 和Paillier 加密方案的隐私保护SVM 分类方案,实现云计算环境中分类模型的安全和隐私保护,并有效减少本地计算开销.本文的主要工作如下:

1)使用2D-LCLM 和Paillier 同态加密结合的加密算法作为底层密码系统,并构造了基于两个非共谋云服务器模型的隐私保护SVM 分类方案.该方案可以在加密数据库上有效地执行分类任务.

2)将所有数据进行转换.原始训练数据和测试数据可能是带有分数部分的数字.而Paillier 加密方案只支持整数计算,因此,需要一种将其转换为整数的方案.本文采用缩放的数学格式完成这项工作,它的主要优点为小数的准确表示.

3)在半诚实安全模型下进行安全性分析.该方案从数据集安全、分类结果的隐私性和隐藏数据访问(即隐藏数据记录与分类之间的对应关系,防止合谋攻击)3 个方面保护了隐私性.

1 算法基础

1.1 支持向量机

SVM 是一种强大的机器学习算法,其基本思想是在特征空间中寻找最佳的分离超平面,使得训练集上的正、负样本区间最大化[18].SVM 既可以解决二分类问题,也可以解决多分类问题.因此,本文采用SVM 作为机器学习算法,将解决二分类问题作为研究内容,多分类问题的解决方法与二分类问题的解决方法类似.

假设给定一个线性不可分的训练集DB,DB 中包含m 个训练数据(xi,yi),i=1,2,…,m,其中,表示n 维的特征向量;表示n 维实数集;yi∈{1,-1}表示特征向量xi的特征值.SVM 的解决思路是使用核函数,将原始空间样本映射到高维特征空间,将线性不可分的问题转化为线性可分的问题.

在训练分类模型之前,为防止尺度较大的数据对结果产生偏差,需要将数据进行标准化处理,其过程如式(1)所示:

SVM 在训练结束后会产生一个分类模型,分类模型可以用式(2)和式(3)来表示:

本文只考虑采用高斯函数作为核函数,即:

如果使用明文数据,分类模型将使用式(5)对未分类的数据进行分类.为了满足在密文下进行计算的要求,将在下一节重新表述式(5),它将在不影响分类性能的前提下保护数据、模型参数和分类结果的隐私.

1.2 Pailler 加密方案

1)加法同态属性:

2)同态标量乘属性:

1.3 二维滞后复Logistic 映射

二维滞后复Logistic 映射的数学表达如式(8)所示:

其中,ωn=xn+jyn为复变量;xn,yn,zn为实变量;a,b 均系统参数且b>0.

将ωn的实部和虚部分开表示可以得到式(9):

2 系统模型和设计目标

本章将详细描述系统模型和威胁模型,并确定设计目标.

2.1 系统架构

本文考虑在云计算环境中的隐私保护SVM 分类模型,如图1 所示.由于服务商本地的通信和计算能力有限,事先便将用于训练的明文数据委托给受服务商信任的一个服务器,被称为模型服务器(model server,MS),为用户提供可靠的在线分类任务.MS 在训练过程中使用未加密的数据进行训练,使训练后的分类模型可以处理不同的测试数据.因此,用户端可以将加密后的密文数据集应用于该分类模型.在此过程中分类模型只需进行一次训练,可以减少处理时间.

图1 系统架构Fig.1 System architecture

假设用户端向MS 和云服务器(cloud server,CS)发送请求后,CS 能够产生密钥对(pk,sk),其中,pk表示公钥,分发给MS 和用户端;sk 表示私钥,由CS 独自保管.然后,用户端加密明文数据集合D 得到密文数据集合并发送给MS.最后,MS 与CS 在密文数据集合上协同计算分类结果.但是由于用户端无法访问私钥sk,MS 将含噪声的密文分类结果交给CS 解密,并将相应的噪声发送给用户端.CS 解密后将含噪声的明文分类结果发送给用户端,用户端减去噪声得到最终的分类结果.

需要注意的是,由于用户数据存在隐私信息,用户端将保存明文集合D 的副本,分类结果与明文数据副本进行匹配.

2.2 威胁模型

在本文中,假设MS、CS 和用户端都是潜在的威胁,它们都是半诚实系统,也就是说它们将严格遵循协议的执行,但是会试图在分类过程中找出其他私有信息.另外,在本文中假设两个服务器不会进行合谋攻击,即这两个服务器不会串通在一起,试图打探用户端的隐私数据.这种使用两个云服务器的非共谋模型在文献[19-20]中得以应用,并且模型在现实中可以实现,这是因为两个服务器在现实中是属于不同的公司,一旦发现双方存在共谋,便会产生十分恶劣的影响.最后,假设CS 不会和用户端相互勾结,试图寻找模型参数.

2.3 设计目标

基于系统模型和威胁模型,设计目标包含下面两个部分:

1)安全:系统模型中各方都是半诚实的系统,因此,系统模型中各方的安全性需要保护.既需要保护用户端的明文数据集合D 和分类结果不会透漏给CS,同时也应当保护模型参数不会被用户端获得.

2)效率:由于用户端的计算和通信能力不足,因此,在整个分类过程中应当尽可能减小用户端的计算和通信过程,即希望用户端在加密数据时使用的加密算法的计算过程较少,并且在接收分类结果之前,用户端保持离线状态,无需参与分类结果的计算过程.

3 隐私保护SVM 分类算法研究

基于云计算的隐私保护SVM 分类算法主要包含以下几部分:

1)初始化.CS 生成一幅密钥对(pk,sk),并将公钥pk 分发给模型服务器和用户端,并将私钥sk 保存.同时,模型服务器使用数据训练,得到分类模型.

2)用户端请求.用户端将明文数据集D 利用2D-LCLM 进行加密生成数据集D',并向两个服务器发送分类请求.然后将数据集D'使用公钥pk 加密后生成密文数据集,发送给模型服务器.

4)安全返回分类结果.用户端接收到MS 和CS的项目后进行处理并得到最终分类结果.

本文所提算法方案中使用的符号如表1 所示,同时基于云计算的隐私保护SVM 分类方案的主要过程如算法1 所示.

表1 符号Table 1 Notations

3.1 初始化

在初始化阶段,CS 将选取安全参数φ,并通过Paillier 密码系统用以产生密钥对(pk,sk).并将公钥pk 分发给模型服务器和用户端.同时模型服务器使用式(1)标准化后的数据进行训练,得到分类模型.

值得注意的是,训练数据无需加密,只用于构建SVM 模型,任何用户都可以直接使用,但用户数据必须进行加密后再进行分类.

3.2 用户端请求

用户端在本地使用将明文数据集进行混沌加密生成数据集D',并将D'使用CS 分发的公钥pk 进行加密后生成密文数据集并发送给MS.

如算法2 所示,用户端选取式(9)中的参数初始值X1,Y1,Z1,并按式(9)生成与明文数据集中元素个数相同的一维伪随机数列X,Y,Z,并计算其累计平均值获得混沌序列e,再将e 按照D 的维度进行分维,生成混沌矩阵e'.然后,将混沌矩阵e'中的每行数据按照数据的大小进行排序,得到位置矩阵CM.最后,再将明文数据D 按照位置矩阵CM的位置索引进行重新排列生成数据集D',用户端再将D'使用公钥pk 进行加密,并将密文矩阵发送给MS,明文数据D 进行加密的具体过程如图2 所示.

图2 数据混沌置乱Fig.2 Chaotic scrambling of data

3.3 在线分类

MS 和CS 接收到用户端的分类请求后,将协同运行分类算法并计算分类结果,主要包括:1)安全计算决策函数;2)安全计算分类函数;3)安全返回分类结果.

3.3.1 安全计算决策函数

当γ>0 时,式(5)和式(10)具有相同的结果,故若γ 足够大(如γ>106),则量化变量前后的结果近似相等:

3.3.2 安全计算分类结果

3.4 安全返回分类结果

4 分析与评估

4.1 安全性分析

4.1.1 抗半诚实攻击

根据威胁模型(第2.2 节)所提到的,MS、CS 和用户端都是潜在的攻击者,因为它们都是半诚实的系统,即它们在严格按协议执行的同时,也会试图根据计算的中间结果来推测额外的信息.简而言之,本文所提方案对MS 保留隐私,因为MS 所拥有的数据都是语义安全下的密文,而CS 获得的信息要么是伪随机值,要么是随机值,也不会泄露隐私.而且在本方案中,用户端只需要在本地进行混沌加密并向云端发送请求,最后从云端接收噪声r 和含有噪声的分类结果.用户没有在分类过程中与云端产生交互,用户端无法了解模型参数或其他中间结果.

4.1.2 抗共谋攻击

相比于单纯的半诚实攻击,CS 可以与用户端进行合作,利用用户的样本数据和最终分类结果来推测中间结果和分类模型参数.如算法5 所示,CS 根据接收到中间结果和最终的分类结果能够计算出决策函数的值,但无法获知更多的信息,这种隐藏数据访问模式极大地保护MS 的隐私.正如威胁模型(第2.2节)所提到的,两个服务器之间不会共谋损害用户的利益来获得额外的信息,因为一旦发现,带来的后果极为严重.通过上述分析,本文的方案可以抵抗各方的共谋攻击.

4.2 实验结果及分析

本节用实验来分析所提出方案的性能,比较所提出的方案与传统SVM 分类算法的准确性.实验均在Intel Core i7-8700 3.20 GHz 和8 RAM 的Windows系统上运行,并使用Python 3.8.13 编程语言.

4.2.1 数据集选取

采用和鲸中的Credit Card Fraud Detection 数据集用于测试密文域下SVM 模型.该数据集共包含284 807 条经主成分分析法处理后的数据,其中,仅包含492 条欺诈数据,直接使用这种不平衡的数据集会导致严重的过拟合.本文通过SMOTE 算法进行上采样,然后从平衡后的数据中随机选取680 条数据作为本次的数据集,其中,476 条(70%)数据用作训练集,204 条(30%)数据用作测试集.

4.2.2 实验结果

测试的目的是比较应用于加密数据的改进SVM模型和应用于未加密数据的传统SVM 模型的性能,即评估改进后的SVM 模型是否建立正确,以及在加密数据上应用SVM 模型是否会降低其性能.

表2 展示了每个场景分类的准确性,其中,TP 表示真正例,FP 表示假正例,FN 表示假反例,TN 表示真正例.由表2 可知,对29 个属性未加密数据的分类正确率为96.5%,其中,TP 为136,FP 为6,FN 为1,TN 为61;对29 个属性加密数据的分类正确率为93.1%,其中,TP 为132,FP 为11,FN 为5,TN 为58.从表2 中可以得知,对已加密数据分类的正确率比对未加密数据分类的正确率下降了3.4%,这是因为2D-LCLM 和Paillier 加密方案仅支持整数型运算会产生部分计算误差,但数据的安全性得到了显著提升,因此,正确率的降低处于可接受范围.

表2 未加密数据和加密数据分类的正确率Table 2 The classification accuracy of unencrypted data and encrypted data

表3 从准确率、召回率和F1 分数3 部分对分类模型对未加密数据和已加密数据进行分类性能分析.从表3 中得知,在两种类型的数据上准确率均在93%以上.与未加密数据的分类结果进行对比,已加密数据的分类结果为正常的召回率达到96%,且对分类结果为异常的召回率为86%.另外,未加密数据中分类结果为正常和异常的F1 分数分别为97%和94%,已加密数据中分类结果为正常和异常的F1 分数分别为95%和90%.

表3 分类模型在未加密和加密数据上的性能比较Table 3 The performance comparison of classification model on unencrypted and encrypted data

4.2.3 结果分析

根据评估结果,该模型在加密数据上具有较好的效果.这体现在所有性能测量的数值上,即正确率、准确率、召回率和F1 分数上.该模型对已加密数据分类的正确率为93.1%,对已加密数据中分类结果为正常的准确率为93%,召回率为96%和F1 分数为95%,对已加密数据中分类结果异常的准确率为93%,召回率为86%,F1 分数为90%.这表明该模型在加密数据上具有良好的分类能力,并且与SVM 模型在未加密数据上的性能相差较小.

对于分类结果为异常的召回率比分类结果为正常的召回率大约低10%.这意味着分类异常的能力小于分类正常的能力,但此为正常现象.因为标记为正常的数据记录数量(296 个)远多于标记为异常的数据记录数量(180 个).

此外,该模型可以针对不同加密的测试数据使用相同的分类器,而不需要使用CS 的公钥再次对训练数据进行加密并训练分类模型,这极大减少了完成整个分类过程的时间.

5 结论

本文建立了一个基于云模型的隐私保护SVM 分类模型.测试数据采用2D-LCLM 和Paillier 加密方案进行加密,并对训练过程中得到的分类模型进行了修改以适应数据加密的要求.

该方案既能保护用户端的明文数据和分类结果,又能防止其他方学习分类模型参数.该模型的性能与应用于未加密数据的传统SVM 模型的性能相当,并且本方案的思想和框架也可以用于其他需要隐私保护的机器学习任务中,例如聚类和回归等,因此,该方案具有较高的实际应用价值.但目前本方案只适用于小样本,当测试数据较多时,存在着处理时间较长、计算成本和通信成本较大的问题.在未来的工作中,将考虑模型的计算和通信成本,研究和整合更有效的方法优化分类功能.

猜你喜欢

用户端明文加密
Android用户端东北地区秸秆焚烧点监测系统开发与应用
一种基于熵的混沌加密小波变换水印算法
奇怪的处罚
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
一种太阳能户外自动花架电气系统简介
奇怪的处罚
认证加密的研究进展
四部委明文反对垃圾焚烧低价竞争