面向医疗系统的隐私保护疾病预测研究
2023-04-26张艳玲张清媛
李 超,张艳玲,张清媛
(1.山东第一医科大学 第二附属医院,山东 泰安 271000;2.山东第一医科大学 医学信息工程学院,山东 泰安 271016)
0 引言
当前的医疗系统是一个复杂的数据驱动网络,依赖于对患者的连续监控、数据共享和流式传输[1],凭借先进的大数据分析为患者提供必要的医疗服务[2]。随着物联网(IoT)技术在现代医疗系统中的不断发展,为患者和医疗专业人员带来了便利。各种可穿戴式IoT监测设备采集不同类型的病理数据并最终传输到医院云服务器中,这对医疗系统的隐私性和安全性提出了更高的要求[3]。可穿戴式医疗数据采集设备有智能心电图机、蓝牙血糖测量设备和3G血压测量设备等,主要用于监测心率、血糖和血压等各种生理症状[4],并最终为疾病预测系统(DPS)提供数据支撑。然而,在现代医疗系统中,个人数据隐私越来越受到关注,尤其是涉及敏感的个人医疗数据。个人医疗数据面临非法共享机密信息、非法使用私人数据、个人身份、敏感数据暴露等系列隐私问题[5]。因此,医疗系统必须同时兼顾数据隐私的安全性和疾病预测的准确性。
对于患者数据隐私保护方面,文献[6]使用随机森林(RF)技术的隐私保护计算协议,结合属于多个终端的医疗系统提供安全训练,并能够做出准确疾病预测。此外,原始数据可执行安全和计算处理并保存在云中。文献[7]提出了隐私保护单决策树方法,使用同态加密方式保护用户数据,通过相同的密钥对生成随机数来防止攻击方解密数据,然而,同态加密提供的安全性较差。文献[8]开发了一种基于深度Q学习的神经网络框架,采用隐私保护方法(DQ-NNPP),以保护从医疗物联网设备传输的敏感患者医疗数据免受外部威胁。所有这些模型中的数据保密性和安全性都较低。此外,在所有上述方法中也普遍缺乏预测效率和准确性。对于疾病预测方面,文献[9]提出了基于模糊神经分类器的医疗保健疾病预测系统,然而,云数据库中的医疗数据的安全性不足。文献[10]提出了基于多标签k邻近的多级医学预诊断系统(ML-kNN),通过服务器自动减少需要使用k均值聚类计算的医疗保健实例的数量,并结合基于ML-kNN分类向医疗保健用户提供服务。然而,该系统的计算复杂度较高。文献[11]提出了利用云和基于物联网的数据库的预测方法,用于预测使用从生物传感器收集的患者数据的疾病。
为了在保护患者数据安全的前提下对疾病进行有效预测,DPS必须通过使用医疗数据建立分类预测模型,并且不能与第三方进行共享以防止数据泄密[12]。DPS能够提高诊断的速度和准确性,并且提高医疗服务的质量,因此,预测效率也是构建DSP时应考虑的关键因素。文献[13]提出了一种有效且保密的疾病预测系统。患者就诊的医疗记录被加密并发送到云服务器,使用单层感知器学习方法训练预测模型,同时仍然保持患者隐私。文献[14]提出了以混合推理为中心的隐私感知疾病预测支持系统(PDPSS)。利用模糊集理论、k邻近和以案例为中心的推理组合优势改进的预测结果,从而将疾病预测支持系统(DPSS)扩展到以Pailliers同态加密为中心的PDPSS,从而保护患者的敏感数据免受非法用户访问,然而,该系统具有较高的通信和计算成本。
图1 系统架构
本文构建了隐私保护疾病预测系统架构,利用加密组合文本生成密钥提高了系统认证阶段的隐私性,提出了基于对数循环值的椭圆曲线密码体制(LR-ECC)的数据加密方法,增强了数据传输阶段的医疗数据的安全性。采用基于象群遗传算法的的深度学习神经网络(EHGA-DLNN)分类技术对IoT监测设备采集的感知数据进行分类,提高了DPS阶段疾病预测的准确性。
1 系统结构及原理
为了在医疗系统中有效地保护数据安全性并准确地预测疾病,本文构建了面向医疗系统的隐私保护疾病预测系统,实现了保护患者数据的隐私性和疾病预测的准确性。由于IoT传感器设备穿戴在患者身体上,并考虑到部署以太网的复杂性和WIFI网络的局限性,本文的整体网络架构采用窄带物联网(NB-IoT)技术原理,NB-IoT是一种部署于GMS网络或LTE网络上的低频段、低速率的网络,支持低功率设备在广域网络的蜂窝数据连接,具有海量连接、深度覆盖、稳定可靠、综合成本低等优势。该系统分为系统认证、安全数据传输和疾病预测系统(DPS)3个阶段。用户利用医院的移动APP或网站向相应医院进行注册,当使用有效的认证方法成功完成登录后,则传感器值将通过雾层安全上传至医院云服务器。同时,相应的医生可以安全地下载患者数据,并使用分类模型准确地完成疾病预测。本文提出的隐私保护疾病预测系统架构,如图1所示。
2 系统认证阶段
为了加强系统和信息传输的安全性,本文在医生、医护人员和医院云服务器、患者和医院云服务器以及医院和医院云服务器之间设计了认证功能。系统认证阶段分为注册、登录和验证3个部分。
2.1 注册
在各种IoT设备访问系统数据之前,需经过系统管理员的批准。当批准通过后,管理员将数据反馈给IoT设备进行认证。注册过程包括如下4个部分。
1)患者详细信息:
用户在注册时提供患者详细信息,患者详细信息包含用户名、患者姓名、性别、年龄、地址、密码、患者ID、医院ID、医生名称等,通过移动APP或网站输入并保存到数据库中。患者详细信息集可以表示为:
(1)
2)组合文本:
输入患者详细信息后,将用户ID和医院ID合并为组合文本,组合文本可以表示为:
(2)
3)加密组合文本:
在注册期间完成组合文本后执行加密过程,从而使用替换密码将组合文本转换为密码。替换密码是根据预设系统将明码转化为密码的加密方式。在所有的替换密码中,密码字母仅为明码字母的简单循环移位[15]。此外,密码元素包括数字、标点符号和26个字母。组合文本的加密可以表示为:
(3)
在验证时,密码由医院云服务器发送给数据所有者。当用户试图下载医院云服务器中任何文件时,则医院云服务器会要求用户输入密码。当用户输入并发送正确的密码时,医院云服务器将用户验证为授权用户,并允许用户访问数据。则替换密码可以表示为:
(4)
(5)
4)密钥生成:
医院云服务器负责创建公钥和私钥,其中,公钥自动生成并保存在医院云服务器中;私钥则发送到用户注册期间提供的电子邮件。公钥与私钥的数学表达式为:
(6)
(7)
2.2 登录
登录功能是用于验证用户的凭证集。当用户请求登录时,则医院云服务器负责验证用户输入的用户ID和密码。如果用户提供了正确的私钥,则通过医院云服务器执行文本文件的解密并通过雾层传输给用户。当私钥不正确时,则拒绝用户访问医院云服务器。
2.3 验证
验证功能在系统登录后执行。系统将匹配用户ID和密码。如果所有详细信息都匹配,则系统最终确定用户已向相应的HCS完成注册。否则,系统返回到注册阶段。
3 数据安全传输阶段
(8)
4 疾病预测系统(DPS)阶段
DPS是预测疾病在患者身上出现可能性的过程,利用IoT感测值来确定患者是否患有疾病。DPS阶段分为数据收集、预处理、矩阵表示、矩阵降维和分类5个部分。
4.1 数据收集
DPS收集疾病数据集并形成数据库,用于处理的疾病数据集可以表示为:
(9)
其中:hj为疾病数据信息,m为疾病数据的数量。
4.2 预处理
由于IoT采集的数据集可能包含重复数据,为了避免重复训练相同的信息,降低系统计算的复杂度。本文通过重复数据删除方式[18]来消除冗余数据。重复数据删除是通过避免重复数据存储和节省带宽来有效管理云存储空间的方法。重复数据删除分为缺失值插补和最小最大归一化两个阶段:
1)缺失值插补。当IoT采集的数据集出现缺失值时,采用缺失值插补处理数据;将缺失数据转换为替代值的方法称为插补[19]。任何记录都包含少量缺失值,但可以通过改变针对特定属性的缺失值与平均值来加载生成缺失值,从而完成缺失值插补。
2)最小最大归一化。当IoT采集的数据集消除数据冗余(或重复)和不需要的特征(即插入、更新和删除异常)时,采用最小最大归一化处理数据。最小最大归一化是通过改变特定范围内的数据值,在系统中实现归一化的同时产生高效的输出[20]。利用最小值和最大值在0~1之间或在-1~1之间更改数据值。通过对每个数据分别进行最小最大处理得到归一化值:
(10)
以最小值和最大值为中心对缺失值进行替换,可以有效地提高数据的完整性。
4.3 矩阵表示
将预处理后的数据作为矩阵表示。通常,预处理后的数据表示为L×P矩阵,其中,L为实例数,P为实验中存在的属性数,即性别、年龄、地址等。矩阵中的每个单元格Ii,j均可等效,则预处理后的数据矩阵表示为:
(11)
4.4 矩阵降维
矩阵降维是将高维空间转换为低维空间的数据转换,从而使低维数据保留原始数据的关键属性。本文利用高斯核函数线性判别分析(GK-LDA)算法[21]对预处理后的矩阵表示进行降维。其中,线性判别分析(LDA)通过检测方向来降低类间散度与类内散度比来加密信息,并在降维过程中实现监督功能[22]。高斯核函数(GK)用于提高降维后的数据还原精度[23]。GK-LDA算法的具体步骤如下。
(12)
(13)
其中:
(14)
(15)
其中:Dn和Dm为数据点,sm为第m类样本的数量,s为数据矩阵表示中样本的数量。
步骤3:为了提高降维后的数据还原精度,利用GK计算数据点之间的距离,即权重:
(16)
其中:γmn为数据点Dn和Dm之间的超参数。
步骤4:在LDA搜索线性子空间R(c-1分量)中,利用不同类别的投影得到最佳划分,结合最大化后续判别准则可得:
(17)
其中:Tom(·)为矩阵的迹,R为特征向量。除了R的正交约束外,可以计算广义特征向量和特征值:
(18)
(19)
4.5 基于象群遗传算法的的深度学习神经网络(EHGA-DLNN)分类
将(Hrf)v输入到分类器,利用EHGA-DLNN算法[24]对训练数据进行分类。正常的深度学习神经网络(DLNN)[25]也可对数据进行分类,然而,随机权重值对正常和疾病严重程度的分类精度较低。利用遗传算法(GA)[26]对象群进行优化,可以减少DLNN算法中的反向传播问题。DLNN分为输入层、隐藏层和输出层。
4.5.1 输入层
将预处理后的矩阵降维集(Hrf)v用于训练系统,并确定其等效权重,其描述如下:
(Hrf)v={hi},i∈[1,k]
(20)
(Wew)v={wi},i∈[1,k]
(21)
象群优化算法(EHO)是以种群为中心的优化技术,主要分为氏族更新算子和分离算子[27]。将GA的交叉变异与EHO中的更新步骤相结合得到象群遗传算法(EHGA)[28],从而提高搜索精度。EHGA具体步骤如下:
初始化种群空间、置信空间和可调算子。当涉及到氏族更新时,通过搜索策略更新大象的位置:
(22)
Tw,xl=T[(Tmin)max·fr]min
(23)
其中:Tw,xl为氏族xl上具有最差适应值的公象,Tmin和Tmax分别为搜索空间的上限和下限,fr为[0,1]范围内的随机数。
将GA的交叉变异与EHO中的更新步骤相结合,从而提高搜索精度。因此,在公式(23)更新新位置之前,利用交叉变异中的两点交叉可以得到:
T(t+1)=Tfr(t)+C1+C2
(24)
(25)
(26)
其中:t为迭代次数,C1和C2为交叉点的两个点。
使用EHO算法更新新位置得到最优权重:
(27)
将输入值乘以权重后累加得到分配值:
(28)
因此,输入到隐藏层的激活函数为:
(29)
4.5.2 隐藏层
隐藏层的输出值为:
(30)
其中:Bias为偏置值。
4.5.3 输出层
输出层的输出值为:
(31)
计算损失函数为:
(32)
算法1:EHGA-DLNN算法输入:矩阵降维集(Hrf)v
输出:受疾病影响的分类数据
计算训练样本数λ
ifλ=0
错误(λ不是整数)
end if
for 每个减少的数据 do
使用EHGA更新权重值的位置
使用如下公式更新新位置
whilev小于迭代次数 do
则使用如下公式执行激活函数
计算隐藏层的输出
计算输出层的输出
end for
end while
5 实验分析
为了对患者数据在传输过程实现隐私保护,并将IoT感测数据按严重程度分为正常数据和疾病数据。利用医疗数据集在JAVA中运行实验评估本文方法的有效性。在数据安全传输阶段,利用数据安全传输时间和安全级别分析所提出的LR-ECC方法的安全性。在DPS阶段,采用不同的分类算法与所提出的EHGA-DLNN方法对比验证疾病分类预测有效性。EHGA-DLNN算法的具体参数设置如下:1)EHO中的象群种群数量为5,最大迭代次数为100,族长效应比例因子为0.5;2)GA中的交叉率设置为0.6,变异率为0.2;3)DLNN中的学习率为0.01,衰减系数为0.99。
5.1 评估参数
本文选取加密时间、解密时间、准确率、灵敏度、特异性、精度、召回率和F1值等8个指标作为评估参数。
1)加密时间:加密开始和结束时间与加密算法从明码构造密码所用时间之差。
2)解密时间:加密开始和结束时间之差。
3)准确率:准确地确定记录可能是正常或受疾病影响的概率。
4)敏感性:正确区分正常和疾病的比率。
5)特异性:影响总分类结果的疾病分类准确率。
6)精度:对于某个类别,准确记录属于该类别的概率。
7)召回率:对于特定类别,数据集中所有可用记录中准确预测受疾病影响结果的计数。
8)F1值:利用精度和召回率对模型进行整体估计的调和均值。
5.2 安全级别性能分析
本文利用加密时间和解密时间分析所提出LR-ECC方法在数据安全传输的性能,并与与椭圆曲线密码编码学(ECC)[17]、非对称加密(RSA)[29]、全同态加密(FHE)[30]和迪菲-赫尔曼(DH)算法[31]进行比较。数据安全传输时间性能比较,如图2所示。
图2 数据安全传输时间性能对比
由图2可见,为了安全传输10~50 kB不等的文件。对于加密时间指标,本文提出的LR-ECC方法加密10 kB的文件仅需465 ms。相比之下,ECC、RSA、FHE和DH算法分别需要801 ms、1 013 ms、1 346 ms和1 646 ms执行加密。类似地,LR-ECC方法对20~50 kB的文件加密实现了更优异的性能。对于解密时间指标,LR-ECC方法解密10 kB的文件仅需475 ms。相比之下,其他方法的性能明显低于LR-ECC方法。类似地,LR-ECC方法对20~50 kB的文件解密同样实现了更优异的性能。因此,在数据安全传输阶段,与其他方法相比,本文提出的LR-ECC方法在传输时间效率方面具有较高的性能。
本文提出的LR-ECC方法与ECC、RSA、FHE和DH算法的安全级别对比,如图3所示。
图3 安全级别对比
由图3可见,本文提出的LR-ECC方法安全性达到98.87%,而ECC、RSA、FHE和DH算法的安全性分别为96.43%、95.89%、92.18%和87.67%。因此,在数据安全传输阶段,与其他方法相比,本文提出的LR-ECC方法在传输安全性方面具有较高的性能。
5.3 疾病预测分类性能分析
利用人工神经网络(ANN)[32]、DLNN[25]、kNN[10]、支持向量机(SVM)[33]与本文提出的EHGA-DLNN方法对疾病预测分类进行对比。如表1所示。
表1 分类方法性能比较
由表1可见,与其他分类方法相比,所提出的EHGA-DLNN方法在疾病预测分类方面具有较高的性能。同时,就F1值和召回率等统计量而言,取得的结果表明,在DPS阶段,与其他方法相比,本文提出的EHGA-DLNN方法能够更快、更准确地预测疾病的严重程度。
6 结束语
在使用IoT设备的现代医疗系统中,患者的隐私和敏感医疗数据的安全性面临风险。同时,为了有效地通过IoT感测数据及时对疾病预测进行分类,本文构建了面向医疗系统的隐私保护疾病预测系统,实现了保护患者数据的隐私性和疾病预测的准确性。通过加密组合文本方式建立了系统加密认证,采用LR-ECC算法对IoT设备采集的感知数据进行加密,结合EHGA-DLNN分类技术对疾病数据进行分类。所提出的LR-ECC方法在加密时间、解密时间和安全级别分析方面,均优于传统ECC、RSA、FHE和DH算法的性能,且能够达到98.87%的安全级别。同时,EHGA-DLNN方法在疾病预测分类方面,均优于现有DLNN、ANN、KNN和SVM的性能,且准确率达到98.35%。实验结果表明,本文方法在医疗系统的安全性和疾病预测的准确性均具有更高的效率。在未来的研究中,可使用更通用的策略来改进模型,从而在保持更高的安全性和隐私性的同时处理其他数据集类型。