APP下载

基于内积加密的双向隐私保护医疗诊断云服务方案*

2023-11-21蔡梦媛张明武

密码学报 2023年5期
关键词:内积密文加密

蔡梦媛,张明武,2

1.桂林电子科技大学 计算机与信息安全学院,桂林541004

2.湖北工业大学 计算机学院,武汉430068

1 引言

云端医疗诊断系统不仅可以给患者提供在线实时远程医疗服务[1],而且可以帮助医生实时监测慢性病患者的身体状况并及时发现潜在的并发症[2],还可以根据患者的健康状况、遗传因子以及生活习惯等多种因素制定个性化的诊疗计划[3].传统的医疗诊断过程中,医生需要凭借个人知识储备和分析能力,整理分析包括症状、检验结果等在内的临床数据.然而,由于医学病灶的形状、位置和结构具有高度可变性[4],医生难以始终精确且高效地完成批量的医疗诊断任务[5].如今,医疗诊断服务可以借助深度学习算法等辅助手段实现自动化分析和诊断,帮助医生更细致地解析医学图像,减少医生判断失误导致的误诊情况.深度学习算法的引入,不仅能够提高医疗诊断的准确性和高效性,而且可以提供在线实时的云端医疗诊断服务.云端医疗诊断服务利用大数据分析和人工智能技术,提供更便捷、更高效的医疗诊断,比如帮助医生快速而精确地分析病症的智能辅助诊断服务、帮助医生识别X 射线和CT 等影像的医学影像诊断服务以及通过生物传感器监测患者生理数据的健康状况监测服务等.

云端医疗诊断服务通过收集整理包括患者特征、患者药物不良反应、临床检验数据等用户临床数据,利用大数据技术和人工智能算法分析、概括、应用临床数据,为临床诊断提供多方面的依据,为后续医疗决策提供支撑.云计算能够为医疗机构的智能化业务提供高效便捷的数据存储和共享技术,然而云计算的无边界性和流动性会造成云环境中数据的安全和隐私问题[6,7].云服务器上存储的生物信息、电子病历、诊疗数据、医学影像数据等用户医疗大数据,面临着严峻的机密性、完整性和可用性挑战.云端医疗诊断服务不仅需要避免用户医疗大数据和预训练模型信息的隐私泄露,而且需要应对云环境恶意攻击者造成的数据安全性和机密性挑战,还需要综合地考虑医疗诊断的计算效率和功能实现.为了提供满足云端数据安全隐私性、高效可用性的医疗诊断服务,差分隐私[8,9]、安全多方计算[10]、同态加密[11,12]和函数加密[13-15]等密码学技术被引入云计算领域.这些隐私保护措施不仅可以防止云计算处理数据时不慎泄露用户敏感信息,而且可以有效地控制医疗诊断的时间成本和计算开销,从而适应大数据应用环境.在这些技术中,差分隐私通过向数据中添加噪声来掩藏计算结果中可能泄露的敏感信息;安全多方计算允许多个参与方共同计算而不向彼此泄露自己输入的私有信息;同态加密允许对密文数据进行计算并产生加密结果;函数加密能够在密文数据上计算获得明文结果.相比之下,函数加密具有更低的通信成本和计算开销[13].用户个人信息通常可以表示为向量形式,内积加密是能够安全地计算两个向量内积值的函数加密,因此更适应医疗机构智能化业务的隐私保护任务[16].

本文提出一种云端医疗诊断的双向隐私保护方法,不仅可以保护用户医疗大数据中的隐私信息,而且能够帮助模型开发方避免云端模型的信息泄漏风险,从而提供双向隐私保护的医疗诊断服务,如图1 所示.服务器提供的医疗诊断服务依赖于模型开发方部署到服务器的预训练模型.模型开发方使用自行研发的深度学习算法训练明文形式的数据集,并修改获得的预训练模型,使之可以处理密文形式的数据.随后模型开发方使用密钥加密模型权重等信息,并将加密后的预训练模型部署到云服务器.而在用户使用医疗诊断服务时,首先将个人健康数据(例如结肠镜检查图像等) 提供给智能手机或智能手表等个人终端.个人终端使用密钥加密用户输入的健康数据后将其发送到云服务器.云服务器在接收到个人终端发送的医疗数据后,提供医疗诊断服务,得到用户的疾病出现概率,并将结果返回给用户个人终端.最后,由个人终端向用户呈现诊断结果.

图1 单向隐私保护和双向隐私保护的医疗诊断协议对比Figure 1 Comparison of medical diagnosis protocols with unilateral privacy-preserving and bilateral privacy-preserving

本文方案可实现用户医疗大数据和预训练模型信息的双向隐私保护.该方案不仅考虑到传统云端医疗诊断服务中用户面临的个人医疗大数据的隐私泄露风险,还特别关注了模型开发方部署到云端的预训练模型的信息泄漏问题.该方案的诊断任务直接使用收到的密文数据计算,无需且无法解密获得数据的明文,并且一次诊断任务中各个实体之间最多进行一轮通信.标签可以使用onehot 编码,不泄露标签的语义信息.预测标签直接以明文形式发回用户个人终端,用户终端根据约定的标签编码规则解析预测标签.相较于传统医疗诊断云服务方案,该方案具有高效、安全、便利的优点.本文还通过生成元求逆与零向量编码方法改造内积加密方案[17,18],实现负向量和零向量的安全内积计算,增强内积加密方案的实用性和安全性.此外,针对内积加密算法只能在整数上执行的问题,本文的浮点数缩放取整方法可以灵活调整缩放精度,从而动态适应医疗诊断服务要求的预测精度.

2 相关工作

近来,决策树[19]、支持向量机[20]、k-近邻、随机森林和神经网络[21,22]等机器学习算法已经被广泛应用到了生物医学领域,并构造了各类疾病预测模型、药物分析算法与健康监测系统.深度学习算法能够通过学习大规模医学图像数据,实现高效的医学图像智能分析,其中卷积神经网络在肺炎诊断[21]、肿瘤检测[22]、视网膜病变识别等方面取得了许多显著的成就.在开展深度学习相关的生物医学工作时,疾病预测系统的设计需要重视医疗大数据的隐私保护,防止生命体征、病历病史、个人信息等敏感数据被云服务器滥用或误用.因此,生物医疗领域的深度学习算法开发与设计,需要探索如何在不泄露医疗大数据和预测模型的情况下诊断疾病出现的可能性.此外,深度学习的医疗系统设计时还需要权衡安全性、有效性和效率.密码学技术能够防止云端存储的医疗大数据泄露,保护用户敏感信息,从而确保云端预测服务能够有效运行.在云服务器上,差分隐私、安全多方计算、同态加密和函数加密等传统密码学技术都可以保障医疗大数据的安全性和机密性.

在训练或预测时,差分隐私通过添加噪声保护样本数据中的敏感信息,并通过控制噪声大小调整原始数据的保留信息量,从而调整噪声对模型质量的影响.Lu 等人[8]针对移动医疗紧急情况提出了安全的隐私保护计算框架(SPOC),引入以用户为中心的属性基访问控制和隐私保护标量积计算.Khanna 等人[9]提出了预测乳腺癌状态的联邦学习隐私保护方案,客户端使用来自服务器的模型参数在本地数据上训练迭代,训练好的权重在添加差分隐私的噪声后发回服务器.

安全多方计算技术有助于实现多个客户端与服务器间不透露各自输入数据的协作计算,确保机器学习的各参与方能够在不暴露原始信息的情况下共享和处理敏感数据.Knott 等人[10]开发了一个安全多方计算的机器学习框架CRYPTEN,可作为通用的机器学习API,实现文本分类、语音识别和图像分类等任务中张量的安全计算,然而该方案难以实现加密标记数据的质量控制.

同态加密(homomorphic encryption,HE) 可以在不暴露原始数据信息的情况下完成各种复杂的安全计算操作,确保机器学习算法使用的数据在计算过程中始终处于密文状态.Xie 等人[11]通过HE 技术提供了安全预测方案,用户使用第三方预测模型时不会泄露私有信息,但第三方返回的预测结果为密文形式,需要用户自行解密.Sarkar 等人[12]设计了一种有效处理高维数据的快速矩阵乘法算法,旨在以高性能实现隐私保护的癌症预测.

函数加密(functional encryption,FE) 技术允许接收者访问密文数据的特定部分,而不泄露关于明文的额外信息,能够保护机器学习各参与方的数据隐私并减少数据泄漏风险.Ligier 等人[14]结合FE 方案与机器学习算法,提出了一种保护隐私的数据分类协议.Dufour-Sans 等人[15]构建了一种高效计算加密向量二次多元多项式的FE 方案,并设计了密文数据分类技术.在文献[15] 的基础上,Nguyen 等人[13]使用HE 和FE 分别提出了预测加密电子邮件标签的垃圾邮件分类方案,其中FE 方案在31 秒内预测出加密邮件的标签,而HE 方案则需要265 秒才能完成,但FE 方案更容易造成潜在的信息泄露.Zhang 等人[23]基于内积加密方案提出了多客户端分布式敏感数据的安全预测方法,具有比二次多项式方案更高效的加密计算和更高的预测精度,然而可能损失一定解密效率.

云环境中大量的恶意攻击可能导致模型无法正常运行,甚至可能泄露用户隐私[6,7].为了保障模型和数据的安全性,不仅需要确保模型和数据不受非法访问和恶意攻击,还要确保模型能够在云环境中正常运行.然而,传统的医疗诊断隐私保护技术[8-15]只关注医疗大数据的隐私,却很少关注模型结构和参数的泄露.本文采用内积加密方案,能够高效预测疾病并实现双向隐私保护.

3 预备知识

对偶向量空间(dual pairing vector space,DPVS)[24]是由n个素阶群的直积展成的空间,其上的双线性运算相当于在n个素阶群上的双线性运算.通过DPVS 的单位正交向量构造密文和密钥,可以实现双系统加密,也可以在保证同等安全性的同时牺牲存储复杂度提高双线性映射运算的计算效率.

3.1 内积加密

内积加密(inner product encryption,IPE) 是一种特殊的函数加密方案,Abdalla 等人[18]在2015年提出的经典内积加密方案能够满足线性密钥同态性和线性密码文本同态性,可以通过密文和解密密钥解密获得关联向量的内积值<>.该方案可以抵抗选择明文攻击,但没有考虑私钥中敏感信息的隐私问题.内积加密方案ΠIPE包括四个PPT 算法,即Setup,Keygen,Encrypt 和Decrypt,如下所示:

3.2 函数隐藏内积加密

· Setup(1λ,1n)→(mpk,msk): 给定安全参数λ和向量长度n,Setup 算法输出关于λ和n的公共参数mpk 和主密钥msk.具体而言,Setup 生成非对称双线性映射(G1,G2,GT,p,),及群上生成元G1和G2.接着,算法生成矩阵B ←GLn(Zp),其中GLn(Zp) 是Zp上(n×n) 矩阵的一般线性群.然后,使用B的行列式det(B) 和逆矩阵B-1的转置(B-1)T设置矩阵B*det(B)·(B-1)T.最后,算法输出公共参数mpk(G1,G2,GT,p,ˆe) 和保存主密钥msk(u,v,B,B*).

4 双向隐私保护云端医疗诊断方案

4.1 符号定义

表1 概述了本文中出现的一些符号.

表1 本文符号定义Table 1 Notations and terms

4.2 系统模型

本文描述的医疗诊断系统涉及以下四个角色,其作用描述如下:

· 可信第三方(third party authority,TPA): 受信任的第三方机构,可视为受信任的密钥分发中心或任何其他受信任的机构实体,主要任务是生成系统参数并分发.TPA 执行系统初始化算法,并调用IPE.Setup 和FHIPE.Setup 算法,生成密码系统参数(mpkIPE、mskIPE、mpkFHIPE及mskFHIPE).在完成系统初始化后,TPA 向数据持有者、模型持有者和云服务器发送且仅发送一次系统参数.

· 数据持有者(data owner,DO): 接收来自TPA 的mskFHIPE,拥有个人医疗数据.DO 首先进行浮点数处理、零向量编码、数据im2col 调整等预处理操作,然后调用FHIPE.RightEncrypt 算法使用mskFHIPE加密持有的数据,并将密文数据提交给服务器进行诊断.

· 模型持有者(model owner,MO): MO 先训练出模型,调整模型以识别密文数据,然后调用FHIPE.LeftEncrypt 和IPE.Encrypt 算法使用mskFHIPE和mskIPE加密预训练模型参数.最后MO 将受保护的模型提交给服务器以提供医疗诊断服务.

· 云服务器(cloud server,CS): 接收来自TPA 的mpkFHIPE和mpkIPE,提供存储和计算资源,基于MO 部署的预训练模型提供在线医疗诊断服务.当CS 从DO 接收到医疗数据时,调用IPE.Decrypt 和FHIPE.Decrypt 安全地执行具有双向隐私保护的图像识别算法.

4.3 威胁模型

在本文中,TPA 是一个可信的第三方,负责所有密码系统参数的生成和分配,确保所有参数的安全性和正确性.在实际应用中,它通常由公钥基础设施提供服务.面对来自DO、MO、CS 和外部攻击者的攻击,本文考虑了以下威胁模型:

·诚实但好奇的DO: DO 持有医疗数据并使用云端诊断服务,诚实地执行系统算法并遵循系统的协议,能访问用户医疗数据.DO 会通过ΠFHIPE加密用户数据并准确无误地发送到云服务器CS,但DO 会好奇MO 持有的模型参数,即通过监听MO 和CS 的通道收集加密的模型参数,从中获取MO 持有的模型信息.

·诚实但好奇的MO: MO 训练明文形式的数据集,并修改预训练模型使之能够识别密文数据,会诚实地执行系统算法并遵循系统的协议,能自行研发深度学习算法并训练模型.MO 会通过ΠIPE和ΠFHIPE加密本地模型参数并准确无误地发送到云服务器CS,但MO 会好奇DO 持有的用户医疗数据,即通过监听DO 和CS 的通道收集加密的医疗数据,从中获取DO 持有的医疗数据.

·诚实但好奇的CS: 为DO 提供云端预测服务,为MO 提供部署预训练模型的云平台,CS 被认为是诚实但好奇的,会诚实地执行系统算法并遵循系统的协议,但会好奇DO、MO 的私有信息.

·恶意攻击者:系统外部攻击者,可以窃听各个通信通道,具有入侵云服务器CS 以获取更多敏感信息的能力.

4.4 设计目标

本文方案的设计目标是避免DO 的医疗数据和MO 的模型信息泄露,并通过部署在CS 上的预训练模型提供有效的医疗诊断服务.DO 和MO 的明文数据在整个运行过程中必须得到充分的保护.所以我们需要满足以下设计要求:

· 安全性和隐私性: 需要实现双向隐私保护,同时保护DO 持有的医疗数据和MO 持有的模型参数,并避免泄露给任何其他实体.此外,还需要具有足够的安全性以抵御来自DO、MO、CS 和任何外部攻击者的攻击.

· 功能性: 模型训练需要和原模型有相同的图像识别功能和相似的精度,所以要求能够安全且正确地计算模型参数和各层输入的内积值,并且能够正确处理浮点数和负数的输入值.

· 可扩展性: 需要支持不同的神经网络架构,并且神经网络和激活函数可以针对不同的应用场景进行调整.

· 有效性: 需要实现高效、准确的医疗诊断,同时满足双向隐私保护功能.

4.5 具体实现

本小节给出了一个在线医疗诊断的双向隐私保护方案(参见图2) 的具体实现,由四个阶段组成: 系统初始化、数据预处理、模型生成以及安全医疗诊断.系统初始化(参见算法1) 由TPA 生成密码系统参数,随后向DO 和MO 发送加密密钥.数据预处理由DO 对医疗数据(x1,x2,···,xn) 预处理后加密,并发送医疗数据密文[[X]] 给CS.模型生成是指MO 训练一个EfficientNet[27]模型,并修改使之能够识别密文数据.然后MO 加密模型权重矩阵W,并部署受保护的模型[[W]] 到CS.安全预测是让CS 执行神经网络的安全前向传播算法,从而获得最终的预测标签并发送给DO.

图2 双向隐私保护医疗诊断系统Figure 2 Bilateral privacy-preserving medical diagnosis system process

4.5.1 数据预处理

在加密医疗数据之前,DO 需要从CS 获取医疗诊断云服务的神经网络采用的填充策略和内核大小等网络信息,并且进行数据预处理操作(参见算法2).DO 首先将每张医学图像映射成向量,接着根据im2col算法整理图像向量,然后处理浮点数和零向量的问题,最后加密图像向量并发送到CS.

由于本文采用的神经网络第一层是卷积层,因此DO 需要填充周围的样本数据,然后根据卷积核滑动采样,从而利用卷积值填充输出特征图.其中,根据im2col 算法[28,29]的卷积核滑动采样思想(参见图3),首先将样本数据根据卷积核的大小分割成若干个小块,然后按顺序排列各个小块的像素值,最后将各个小块的像素值拼接成为一个一维矩阵,方便后续通过ΠFHIPE加密样本数据.

图3 im2col 算法描述Figure 3 Description for im2col algorithm

内积加密方案只能在有限整数域上操作,但训练样本和模型参数通常会涉及负数和浮点数.本文使用生成元求逆方法扩展内积加密技术的向量有效范围,可以处理涉及负数的情况(参见4.5.3 节).而关于原始数据中的浮点数处理问题,本文采用数值缩放后向下取整的方法:

其中p是预定义的缩放值,用以控制计算精度,可以根据实际使用中不同的预测精度需求调整,从而降低浮点数的预处理对预测服务的影响.缩放实数的基本运算如下:

在数据预处理之后,DO 调用FHIPE.RightEncrypt 算法加密处理后的数据,并向服务器提交密文数据.而服务器使用从TPA 获取的公共参数mpkFHIPE,调用FHIPE.Decrypt 算法便可以在密文上实现安全前向传播(参见4.5.3 节).

4.5.2 模型生成

在模型生成(参见算法3) 阶段,MO 使用自行研发的深度学习算法(如EfficientNet,见图4) 训练明文形式的数据集获得预训练模型.当MO 想要将模型部署到CS 时,本文给出的方案是改造模型的前向传播计算,使其能够对加密的医疗数据进行实时预测.其中,模型第一层的计算涉及用户数据和模型权重,因此使用FHIPE 保护双向隐私.其后的各层计算只需考虑模型权重,则使用IPE 保护.

图4 EfficientNet 网络架构Figure 4 Architecture of EfficientNet

云端的在线医疗诊断服务对实时性要求较高,而激活函数Sigmoid 算法的计算时间较长,因此本文考虑了各类与Sigmoid 算法性质相似但计算速度更快的变体.Sigmoid 作为最基本的激活函数,广泛应用于各种场景,有Fast Sigmoid 和Hard Sigmoid[30]等变体:

从图5 可以看出,Fast Sigmoid 的曲线更接近Sigmoid,且计算效率更高,因此本文方案采用Fast Sigmoid 作为Sigmoid 的高效替代.

图5 Sigmoid 算法及其变体性能比较Figure 5 Comparison of Sigmoid variants

4.5.3 安全医疗诊断

CS 为DO 提供的在线医疗诊断服务依赖于MO 部署到CS 的预训练模型,并由CS 负责医疗诊断服务的运行和维护,在DO 提交医疗数据时CS 执行安全医疗诊断算法(参见算法4).本文方案的神经网络架构为EfficientNet (参见图4),其第一层网络是3×3 卷积层,而且受到ΠFHIPE保护,因此计算第一层输出W[1]·XDecrypt([[X]],[[W[1]]])Decrypt(RightEncrypt(X),LeftEncrypt(W[1])).此外,其他层受ΠIPE保护,CS 需要使用其前一层的输出Z[l-1]来调用ΠIPE的Keygen 算法,随后CS 计算第l层输出Z[l]为Z[l]Decrypt([[W[l]]],[[Z[l-1]]])Decrypt(Encrypt(W[l]),Keygen(Z[l-1])).

此外,为了更好地解决医疗预测服务中解密算法的离散对数问题,本文采用了传统的BSGS 策略[31],并且通过生成元求逆操作使BSGS 算法能够适用于负数(参见算法5).ΠFHIPE和ΠIPE方案的内积值需要限制在多项式大小内,以确保解密算法能够在多项式时间内完成.如果需要更高效的解密计算,可以考虑使用哈希表方法或者索引计算算法来降低离散对数求解的计算复杂度.

综上所述,在整个在线医疗诊断云服务中,模型持有者只能部署模型、用户只能获得诊断结果,且服务器无法从密文形式的医疗数据和模型参数中获知除预测标签外的有效信息,因而本文基于内积加密设计的双向隐私保护方案既能保护用户医疗数据的个人隐私,也能防止云端部署的预训练模型参数的泄露.

5 实验与分析

实验设置和库.本文通过理论分析和实验结果评估了所提出方案的性能.数据集为来自NCT 生物库的福尔马林固定石蜡包埋(FFPE) 的人类癌症组织样本CRC-VAL-HE-7K[32],其中包含来自N50 名结直肠腺癌患者的7180 个图像块,尺寸为224×224 像素,组织类别包括脂肪(ADI)、背景(BACK)、碎片(DEB)、淋巴细胞(LYM)、粘液(MUC)、平滑肌(MUS)、正常结肠粘膜(NORM)、癌症相关基质(STR)、结直肠腺癌上皮细胞(TUM) 等(参见图6).本文方案在Linux Ubuntu 操作系统上执行,采用Intel Core i5-12500 单核处理器、3.2 GHz、16 GB 内存,图像识别过程依赖于云服务的GPU 计算资源.所有实验的安全参数均设置为256 位,底层加密方法IPE 和FHIPE 基于AMCL 库和Charm 库实现,AMCL 是C 语言的密码学库用于实现密码系统参数的生成,Charm 是Python 语言的加密工具包用于实现高效地解密计算,神经网络模型训练通过科学计算基础库Numpy 实现.

图6 CRC-VAL-HE-7K 数据集类分布Figure 6 Distribution of CRC-VAL-HE-7K dataset

5.1 安全性分析

定理1若底层密码原语ΠFHIPE具有模拟安全性,则构造的安全预测方案也具有模拟安全性.

如果存在攻击者A 具有不可忽略的优势,能够破坏所构造的安全预测方案的模拟安全性,那么攻击者A 必须具有不可忽略的优势能够破坏ΠFHIPE的模拟安全性,而文献[17] 中Kim 等人基于通用群模型证明了ΠFHIPE的模拟安全性,因此不存在能够破解该安全预测方案模拟安全性的攻击者.

定理2如果底层密码原语ΠIPE在选择明文攻击下具有选择性安全性,则构造的安全预测方案也具有s-IND-CPA 安全性.

如果存在攻击者A 具有不可忽略的优势,能够破坏所构造的安全预测方案的s-IND-CPA 安全性,那么攻击者A 必须具有不可忽略的优势能够破坏ΠIPE的s-IND-CPA 安全性,并且文献[18]中Abdalla 等人基于DDH 假设证明了ΠIPE的s-IND-CPA 安全性,因此不存在能够破解该安全预测方案s-IND-CPA安全性的攻击者.

定理3方程组是相同变量集的方程的集合,设(k1,k2)*×N*,令τ为包含k1个方程、k2个变量的方程组,记为τ(k1,k2).那么M[k×k]和A[k×k]的矩阵乘积可以看作涉及[(k×k)+(k×n)]个变量、(k×n) 个方程的方程组,即(M×A)τ(k×n,((k×k)+(k×n))).因此,对于(k1,k2)*×N*,若k1<k2,则τ(k1,k2) 有无穷个解.

本文基于ΠFHIPE和ΠIPE设计了四个实体: 可信第三方(TPA)、数据持有者(DO)、模型持有者(MO) 和云服务器(CS).实体之间存在五个通信通道,每个通道都存在隐私泄露的风险.在本文安全预测方案中,初始化系统后TPA 向其他三方发送密码系统的参数mpkIPE、mskIPE、mpkFHIPE及mskFHIPE仅与网络层的数据大小相关,而且不会泄露任何敏感信息,即使攻击者获得了密码系统参数也无法推断出关于原始样本X和模型参数W的任何隐私信息.本文方案的安全性来自于矩阵方程无解原理、底层密码原语ΠIPE和ΠFHIPE的安全性.具体如下:

· MO 可能监听CS 与DO 间的通信,获取加密的医疗数据,并希望从中推断出DO 的敏感信息.假设X是明文状态的医疗数据,则DO 发送给CS 的加密医疗数据为[[X]].根据定理1,MO 无法通过[[X]] 破解出X的明文,所以本文的方案可以抵抗好奇MO 的攻击.

· DO 可能监听CS 和MO 间的通信,获取加密的模型参数,并希望从中推断出MO 的模型信息.假设W为明文状态的模型参数,则MO 最终发送给CS 的加密模型参数为[[W]].根据定理1 和定理2,DO 无法通过[[W]] 破解出W的明文,因此本文的方案可以抵抗好奇DO 的攻击.

· CS 拥有加密的数据、加密的参数和密码系统的公共参数,但只能用于安全医疗诊断的前向传播算法,最后获得对CS 无意义的预测标签onehot 编码.在网络第一层,CS 拥有加密的模型参数[[W1]]、加密的医疗数据[[X]],以及由此安全计算出的明文W1·X,根据定理1 和定理3,CS 无法破解出W1和X的明文.在网络的后续各层中,CS 拥有加密的模型参数[[Wl]] 和上一层的计算输出[[Zl-1]],以及由此安全计算出的Wl·Zl-1,根据定理2 和定理3,CS 无法破解出Wl的明文.因此,本文方案可以抵御来自好奇的CS 的攻击.

· 同理,本文方案也可以抵御来自恶意攻击者的攻击,因为定理1、定理2 和定理3,密码系统参数、数据密文、参数密文以及网络的各层输出都不会泄露医疗数据、模型参数的隐私信息,入侵系统的攻击者只能获得对其无意义的预测标签和一系列密文和密钥.

5.2 效率分析

由于4.5.1 节中所述的浮点数缩放取整处理,向量元素的数值大小被限制在固定范围内.而且MO 会在预测服务开始前,将预训练模型部署到服务器.因此,在线医疗预测服务的效率分析只需要考虑DO 上传医疗数据与CS 进行医疗诊断,主要在ΠFHIPE的算法开销,所以我们主要分析数据向量长度与ΠFHIPE算法运行时间之间的关系(参见图7):

图7 计算开销与数据维度的关系Figure 7 Relationship between computational cost and data length

Setup 算法具有显著的计算时间开销,但该算法由TPA 预先执行,因此对方案的性能影响可以忽略不计.LeftEncrypt 算法受到向量长度的影响较大,时间成本昂贵,但该算法由MO 在部署预训练模型前执行,不会影响用户使用在线医疗诊断服务时的实时性.在线医疗诊断服务的延迟主要来自上传医疗数据和在线医疗诊断,DO 上传医疗数据时的延迟受RightEncrypt 算法影响,而CS 提供诊断服务时的延迟则受Decrypt 算法影响,因此医疗数据向量长度对系统延迟影响不大.

5.3 通信开销

本文采用内积加密方法,各方之间最多只需一轮交互乃至一次通信即可实现云端医疗诊断服务.TPA负责初始化系统并分发密钥,且TPA 仅发送一次密钥,因此可忽略系统初始化阶段的通信开销.在线医疗诊断的通信开销主要包括DO、CS 之间医疗数据和诊断结果的传输以及MO、CS 之间模型参数的传输.

MO 部署预训练模型仅需要上传一次模型参数,医疗诊断服务就可以由云服务器提供并维护.CS 传输的诊断结果、DO 传输医疗数据的总时间消耗和带宽开销随着数据向量维度和数量的增加而增加,即本文方案对于不同数量的训练样本保持常数级的通信开销.本文采用的内积加密技术,进行云端计算时无需交互,而且只需一次通信用户即可得到安全诊断的结果.

5.4 准确率

图像识别的准确性通常使用分类准确率衡量,准确率(Acc)的计算公式为Acc,即正确预测的样本比例,其中N代表测试的样本数量,TP 表示正确识别的正例,TN 表示正确识别的负例,TP+TN表示测试样本中正确预测的总数.

在本文方案中,模型持有者MO 使用EfficientNet 模型训练明文形式的医疗图像数据集CRC-VALHE-7K,其中包括来自50 名结直肠腺癌患者的7180 张图像(参见图8).本文模型训练可以在5 个epoch内将准确率提高到95% 以上,所得预训练模型需要调整使得能够提供密文数据的医疗诊断服务.本文方案虽然未能达到原始EfficientNet 超过99% 的准确率,但也能够在加密的医疗数据上以98% 的准确率诊断结直肠癌状态(参见图9).

图8 模型训练的准确率和损失值Figure 8 Accuracy and loss of model training

图9 对比密文和非密文数据的图像识别准确率Figure 9 Image recognition accuracy comparison on encrypted and clear data

6 总结

本文提出了一种能够实现双向隐私保护的云端医疗诊断服务方案,不仅能解决传统医疗诊断云服务中用户提供医疗数据时面临的个人信息泄露问题,还可以帮助模型开发方避免云端部署模型的信息泄漏风险.此外,该方案针对模型信息的保护措施也能进一步提高样本数据应对白盒成员推理攻击的能力.根据安全性和隐私性的分析,本文方案可以抵御好奇参与方和恶意攻击者的攻击.此外,我们还将本文方案与原始网络比较,实验表明本文方案能够达到与原网络相似的图像识别准确率,即98% 以上.本文的解决方案还采用了Fast Sigmoid、im2col 等方法来提高安全前线传播效率.未来我们将重点关注基于函数隐藏内积加密的安全模型训练方法[33-36],以及针对训练数据集的加密计算和加密域中梯度计算开销的优化.

猜你喜欢

内积密文加密
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
一种基于熵的混沌加密小波变换水印算法
基于矩阵的内积函数加密
关于矩阵的Frobenius内积的一个推广
认证加密的研究进展
云存储中支持词频和用户喜好的密文模糊检索
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密