结合区块链的可认证医疗图像共享方案

温文媖,简云鹏,方玉明,张玉书,杨 勇

1(江西财经大学 信息管理学院,南昌 330000)2(南京航空航天大学 计算机学院,南京 210000)

随着科学技术的发展和人们对健康需求的日益增长,从20世纪90年代开始,我国的医疗建设逐步朝着数字化、标准化和智能化的方向发展.其中,医疗图像在医疗数据中占了很大一部分.医疗图像在医疗健康行业已经形成一种存储量越来越大的信息资源,癌细胞以及身体各个器官等疾病的诊断和研究一般都需要对CT、B超、X光片、核磁共振等成像技术所得到的医疗图像进行分析.医疗图像包含了患者身体的各项健康信息,因此医疗图像对患者疾病的治疗具有极大的辅助作用.更重要的是,将医疗图像与其他医疗研究机构进行共享,在一定程度上可以加强对疾病的研究和诊断效率.因此,在医疗健康领域,加强医疗图像的安全共享是必不可少的一项工作.

早期的医疗图像需要病人自己刻制CD,并亲自将其送至另一个医疗机构以此来完成患者医疗图像的共享[1].在这个过程中,病人必须自己花钱刻制CD,具有成本高、效率低等弊端.为了解决物理媒体传输的缺点,北美一家机构研发了一种图像共享网络,该网络通过一个第三方来获取医疗图像,并集中共享给被授权的参与方[2].然而,第三方是否真正可信,这无法断定.由于区块链具有的一些特性,包括安全去信任、数据可溯源和链上数据不可篡改等,以区块链来代替可信第三方,就消除了第三方的信任安全.Patel等人[3]使用区块链技术,在区块链中存储了患者授权的一组实体签名信息,当其中一个实体需要获得患者的某一医疗图像时,首先需要获得患者先前授予访问权的公钥相对应的私钥对事务签名来作为身份验证凭据,进而从数据源得到患者的医疗图像.Sultana等人[4]使用区块链对医疗/健康数据的传输进行审计跟踪,以便将来进行检查.将零信任原则用在传输期间保证医疗数据的安全,发送方利用密码学原理将共享的医疗数据存储在区块链上,接收方利用其私钥登录验证后可获得共享的数据.以上基于区块链的医疗图像共享方案都有一个缺陷,那就是都需要进行密钥保管.若密钥丢失,则无法共享所需的医疗图像.因此,为了解决密钥丢失无法恢复的问题,秘密共享技术被提出.

在1979年,Shamir和Blakley分别提出了基于拉格朗日插值法的(k,n)秘密共享和具有多维空间点性质的(k,n)秘密共享[5,6].在Shamir的方法中,秘密数据被隐藏到一个(k-1)次多项式的常数项中,生成n个阴影(也称为共享份额).秘密共享中的(k,n)阈值属性表示秘密可以从任意k个共享份额中恢复,而任何(k-1)或更少的份额都不能获得关于原始秘密的任何信息[7].Thien和Lin进一步扩展了Shamir的秘密共享方法,将文本数据换为图像数据,实现了数字秘密图像的共享[8].Thien和Lin的(k,n)秘密图像共享(SIS)方案具体做法是,把共享的图像的每一个像素都嵌入其构造的(k-1)次多项式的系数中,最终生成n幅影子图像(简称阴影).同样的,最少需要k幅影子图像才可以恢复出原来的秘密图像,否则无法获得有关秘密图像的任何信息.为了更快地恢复秘密图像,降低其计算复杂度,可视化秘密共享(VSS)应运而生,VSS的提出使秘密图像的恢复具有人眼可视化的特点.具体的过程是将秘密图像分为n个影子图像,并将其印在一个透明胶片上,通过至少k张印有影子图像的透明胶片进行简单的堆叠操作,即可恢复出原始秘密图像,无需计算[9-11].但这种方法仅仅应用于二值图像.随着秘密图像共享的发展,近年来也有很多比较好的图像共享方案.例如,Zheng等人[12]提出了一种基于生成对抗网络(GAN)的秘密图像共享方案,先使用图像分割技术和DNA编码生成原始子图像,然后利用GAN来学习和训练这些子图像,通过其生成网络生成秘密子图像,以此方式使秘密图像的共享更安全,秘密图像的重构效果更佳.然而该方案无法实现对参与者的认证.Yang等人[13]提出了一种基于视觉密码学(VC)和参与者密码的秘密共享方法,实现了患者医疗图像的共享和管理.在该方案中,图像共享的参与方是通过一个公共系统完成身份的认证和获取影子图像,然后通过堆叠操作得到共享的医疗图像.该方案的认证是需要进行哈希计算的,因此具有一定的计算量.Yan等人[14]提出了一种适用于经销商参与和不参与两种情况的可认证的秘密图像共享方案.该方案通过改良的基于多项式的秘密图像共享算法,使秘密图像能够得到更优的恢复效果.

基于以上分析,本文将区块链与秘密图像共享技术相结合,提出一种结合区块链的可认证医疗图像共享方案.本方案的创新性与优势在于:1)利用区块链技术消除第三方,使数据共享更加可信并且无第三方管理成本;且利用智能合约来进行秘密图像的认证和恢复,降低了共享机构本地客户端的负载;2)采用简单的异或和堆叠操作进行认证,比哈希计算的复杂度更低;3)利用患者的一些隐私信息,如姓名、性别和身份证号来生成二值认证图,丰富了数据共享的内容,提高了共享的安全性.实验表明,本文方案能够在无损恢复秘密图像的同时具有较高的安全性和较低的计算复杂度,且所采用的认证方法简单,可应用于医疗图像的内容保护和安全共享.

2.1 区块链

区块链[15]是一种以区块为基本单位的链式结构,每个区块按照交易产生和存储的时间顺序首尾连接起来.由于其突破了传统的中心化系统的缺点,具有非中心化、无信任安全问题、防篡改等安全特性,并且可以通过在其链上布置智能合约来实现大量分布式计算,这一系列优点使得区块链在现实生活中受到广泛的关注和发展.

其中,智能合约[16]的引入是区块链发展的一个里程碑.比如金融借贷、社会保障服务、供应链、游戏等各种类别的应用,几乎都是以智能合约的形式,部署在不同的含有区块链的系统之上.一般来说,智能合约是充当协议的计算机程序,协议的条款可以预先编程.合同一旦部署,任何人都不能修改内容,协议将被执行和强制执行.与传统合约不同,智能合约是构建公平协议的强大工具[17].

目前,区块链主要有3种关系链,即公有链和私有链,还有一个就是联盟链.其中联盟链是介于公有链和私有链之间的,它是一种由多个组织或机构参与的区块链.由于联盟链技术可以用来改善很多传统信息化系统的业务流程,因此其能够应用到的领域很广泛,比如银行之间的交易来往.将联盟链应用在医疗健康行业,创建一个医疗数据共享系统,不仅可以将患者医疗数据安全共享,还可以准确追溯共享记录[18],并且通过智能合约完成与认证相关的各项操作.因此,将联盟链融入整个医疗系统具有很好的应用前景.

2.2 基于多项式的秘密图像共享(PSIS)

秘密共享的思想基础是将一个秘密分成n份,分别分发给n个不同的参与者,若收集到至少k个份额,则可以恢复原始秘密信息.Shamir提出的基于多项式的(k,n)秘密共享方案分为两个部分,即秘密共享和秘密恢复两部分.在共享部分,对于一个秘密I,首先构造一个(k-1)次多项式g(x)∈GF(P),其中g(x)的表达式见式(2),秘密值为I=g(0).利用g(x)将秘密I分成n个秘密份额I1,I2,…,In,然后分发给n个参与者.在恢复部分,选择任意k个秘密份额,计算秘密份额上的拉格朗日插值多项式g(x),其数学表达式见式(1):

(1)

因此,利用拉格朗日插值法可计算出原始的秘密信息I.该方案满足:至少拥有k个秘密份额才能解密出原始秘密信息,若份额数量少于指定的阈值k,则不能得到有关秘密的任何信息.

将秘密共享运用于图像上,假设一幅原始的灰度图像为SI,Shamir提出基于多项式的(k,n)秘密共享方案是将图像SI分成n幅影子图像(也叫阴影)SI1,SI2,…,SIn.在28个灰度级的灰度图像中,每个像素的定值范围是[0,255],原始的共享方案取一个素数P=251,特别地,对于任何一个像素点,其像素值若大于250,均设定为250.

具体的算法步骤如下:

Step 1.输入一张大小为H×W的灰度秘密图,设定该方案阈值(k,n),选取素数P=251,每一个像素点(h,w)∈{(h,w)|1≤h≤H,1≤w≤W}.

Step 2.对于每一个像素s=SI(h,w),如果s≥P,则设定s=P-1.为了将s加密为n个份额s1,s2,…,sn,需构造一个k-1次多项式:

g(x)=(a0+a1x+…+ak-1xk-1)modP

(2)

式(2)中a0=s,ai是随机的,其中i=1,2,…,k-1.

Step 3.计算这n个秘密份额的值,分别为:

s1=g(1),…,si=g(i),…,sn=g(n)

(3)

式(3)中i是表示第i个参与者的一个身份标识.

Step 4.将计算出的s1,s2,…,sn依次分配给S1I1(h,w),S1I2(h,w),…,S1In(h,w).

Step 5.重复执行Step 2-Step 4,最后输出n个影子图像SI1,SI2,…,SIn.

根据算法描述,可以得到多项式秘密图像共享算法的时间复杂度为O(klog2k).在现有的加密算法中,对称加密算法的效率会更高,但因其安全性不强,会结合使用非对称加密算法保证其安全性.非对称加密算法中,常用的RSA算法的时间复杂度大约为O(log3P),其中P是一个大量级的素数.由此可见,多项式秘密共享算法比RSA算法效率更高,同时也避免了秘密信息因存在单一载体而出现的载体损坏无法恢复秘密的问题.

2.3 基于随机网格的可视化秘密共享(RG-VSS)

基于随机网格(RG)的可视化秘密共享,由于可以避免常规可视化秘密共享出现的像素扩展问题,并且不需要设计码本而受到广泛地关注.

在RG-VSS[19,20]中,二值图像的每一个像素取值只有0和1,其分别表示白色和黑色.包含秘密信息的影子图像表示为Si,恢复的秘密二值图像表示为S′.基于RG的(2,2)-VSS过程如下:

Step 1.利用一个0-1反转函数随机生成一个RG为影子图像S1.

Step 2.利用公式(4)计算影子图像S2.

Step 3.利用公式(5)计算恢复的秘密图像S′=S1⊗S2,其中符号⊗表示堆叠(布尔或)操作.

(4)

S′(i,j)=S1⊗S2=

(5)

3.1 系统模型

受Yan等人[14]的启发,结合区块链去信任、防篡改和智能合约等特性,针对区块链中医疗图像共享存在的密钥丢失问题,本文提出一种结合区块链的可认证医疗图像共享方案.该方案具有无损解密、无像素扩展和简单的认证方法等优点,可以应用于医疗图像的内容保护与安全共享.除此之外,在本文提出的方案中,联盟链可以记录每次共享结果,还可追溯每次的共享记录.

具体地,本文提出了一种结合区块链的可认证医疗图像共享方案并搭建了系统模型,该模型主要由医院、云服务器、共享机构和联盟链组成.每个实体的具体描述如下:

1)医院.医疗数据获取者以及提供者.可将医疗数据存储在云服务器上,也可从中获取并分享给其他机构.此外,默认患者属于医院的一个成员,使医院作为认证方对每个影子图像进行认证.

2)云服务器.拥有海量的数据存储空间和高效的检索效率.

3)共享机构.与医院一同诊断和研究患者疾病的一个组织,可以是其他医院,或医疗研究机构等.

4)联盟链.对参与认证的共享机构进行认证计算,并将恢复生成的原始秘密医疗图像返回给每个参与机构.

图1 系统模型

3.2 主要模块

本文提出的结合区块链的可认证医疗图像共享方案主要有以下几个模块:

1)共享生成模块:作为分发者的医院将需要共享的医疗图像从云服务器中取出,利用秘密图像共享的相关技术,计算生成医疗图像的影子图像,并分别将影子图像分发给共享机构.同时,保留属于自己的认证影子图像D.

2)认证模块:联盟链通过智能合约,将从医院得到的认证影子图像D和从任意一家共享机构得到的影子图像进行二值认证图的恢复计算,由医院对恢复的认证图进行确认,最终得到认证结果.

3)医疗图像恢复模块:联盟链通过智能合约,利用从共享机构获得的全部影子图像进行医疗图像的恢复计算,最终得到原始的医疗图像,并将其分享给相应的共享机构.

3.3 方案实施过程

本文提出的医疗图像共享方案实施过程如下:

1)首先,作为秘密图像分发者的医院从云端取出需要共享的患者医疗图像,然后通过多项式秘密图像共享策略生成秘密医疗图像的影子图像SIi,并分发给参与的共享机构,同时,医院将自己的认证份额D发给联盟区块链;

2)为了获得原始的秘密医疗图像,接收到影子图像SIi的共享机构将各自的影子图像发给联盟链,以进行下一步;

5)联盟链利用接收到的影子图像重构原始秘密医疗图像.如有虚假存在或参与者数量小于k,则无法恢复原始秘密图;如全部为真实,且参与者数量达到阈值k,则智能合约可调用算法恢复原始秘密医疗图SI′,并将其返回给所有参与共享机构.

3.4 秘密图像共享认证过程

本文提出的秘密图像共享方案结合了改进的多项式秘密图像共享和基于随机网格的可视化秘密共享技术,通过筛选满足认证条件的影子图像得到最终的影子图像,其具体过程如图2所示,整个过程涉及到的变量如表1所描述.

表1 变量描述

图2 共享及认证过程

本方案是在P=257的数值域中进行,设定秘密共享的阈值为k和n,则影子图像生成过程如下:

Step 1.对于灰度医疗图像SI的每一个像素点SI(h,w),利用基于多项式的秘密图像共享算法计算每一个份额值,得到S1I1(h,w),S1I2(h,w),…,S1In(h,w).

Step 2.对于二值认证图S的每一个像素点S(h,w),利用以(2,2)RG-VSS为基础扩充来的(2,n+1)RG-VSS计算得到每一个份额的值S1(h,w),S2(h,w),…,Sn+1(h,w),其中Sn+1为图中的D,表示属于医院的认证份额.

Step 3.此处有一个条件判断,在Step 1中计算的秘密份额值应该满足两个条件,即:

1)S1Ii(h,w)

2)XOR4LBs(S1Ii(h,w))=Si(h,w).

如果不满足这两个条件,则再一次筛选多项式系数a1,a2,…,ak-1,重新按照Step 1计算S1Ii(h,w).

Step 4.将满足条件的秘密份额作为最终的秘密份额SI1(h,w),SI2(h,w),…,SIn(h,w),Sn+1(h,w).

Step 5.对原图像的每一个像素都进行以上Step 1-Step 4操作,可得到最终医疗图像的影子图像SI1,SI2,…,SIn,D,其中D就是Sn+1.

在本文的认证过程中,只需要计算每一个影子图像的每个像素点的最低4位的异或值,即可得到认证图的影子图像,将任意两张影子图像堆叠在一起便可得到辨识度较高的认证图.值得说明的是,为增加共享隐私信息的多样性,在本文的方案中,利用了患者的一些隐私信息,如姓名、性别和身份证号,生成用于认证的二值图像.

3.5 联盟链权限控制

本文提出的结合区块链的可认证医疗图像共享方案,其访问权限控制主要依靠影子图像的认证模块.若认证结果是影子图像为真,则该影子图像对应的共享机构可以访问最终恢复的医疗图像;若认证结果是影子图像为假,则该影子图像对应的共享机构不可以访问最终恢复的医疗图像.本文所提方案的数据访问权限控制就是根据每幅影子图像的认证结果来实现的.同时,若影子图像为假,则对应的共享机构无权获得清晰的含有患者隐私信息的认证图,即实现了患者的隐私保护.

由于本文方案具有其独有的访问权限控制机制,故可以解决区块链医疗图像共享的安全共享和隐私保护问题,保证了医疗图像的内容保护和安全共享.

本文所提出的方案不考虑影子图像在传输时的噪声影响,即假设医疗图像共享场景是无噪声干扰的.在实验中,选用大小为512×512的胸腔图作为原始秘密医疗图像,认证图是由患者隐私信息生成的二值图,其大小和原始医疗图像相同.实验平台使用MATLAB 2014b以上版本和Python 2.7,处理器Intel(R)Core(TM)i5-6500 CPU @3.20GHz,内存为8GB的Windows 10操作系统.

4.1 实验结果

本实验选取的(k,n)阈值为k=2和n=3.图3-图5展示了本文所提出的医疗图像共享方案的实验结果,其中包括无虚假影子图像参与和有虚假影子图像的参与两种情况.

图3(a)是原始医疗图像SI,图3(b)是原始二值认证图S,图3(c)-图3(e)是利用本文所提方案得到医疗图像的3幅影子图像SI1、SI2和SI3,图3(f)是属于医院(分发者)的认证图的影子图像D.

图3 原图和影子图像

图4 无虚假情况的恢复图

图5 有虚假情况的恢复图

从实验结果可以得到以下结论:

1)在给定阈值(2,3)的情况下,少于2个影子图像是无法得到秘密医疗图像的任何信息的.

2)在认证过程中,仅仅需要通过异或运算得到认证图的影子图像,将其和属于医院的影子图像D堆叠即可得到恢复后的认证图,辨识度比较高.

3)在虚假影子图像参与的情况下,通过其与D恢复的图像得不到关于认证图的任何信息,也无法捕获到原始医疗图像的任何信息,此方法可精确辨别出虚假的影子图像.

4.2 实验分析

4.2.1 实验方案对比

评估一个图像共享方案的优劣可以有很多指标,如图像共享策略、加密算法、实现的目标和算法复杂度等.为了展示所提出方案的优越性,本文选取了3个秘密图像共享方案与本文方案进行对比,分别是Zheng等人[12],Yang等人[13]和Beugnon等人[21]的方案.本文所选对比方案均利用了秘密共享的原理对图像进行处理,与本文一致.但由于其具体的应用场景、采用的秘密共享算法以及实现的目标等不尽相同,因此本文具体从应用场景、分享策略、认证操作和认证复杂度这4个方面进行了对比,如表2所示.

表2 不同方案的各项数据对比

在应用场景方面,Zheng等人[12]的方案未涉及到任何应用场景,而其他3种方案都有融入实际场景中,如Beugnon等人[21]的方案应用于社交图像的共享,Yang等人[13]的方案和本文方案均应用于医疗图像的共享;在分享策略的应用上,Zheng等人[12]利用生成对抗网络(GAN)生成影子图像,利用GAN方法得到的影子图像减少了图像的冗余,但要先对网络进行训练,还要对图像进行分割和DNA加密,过程比较繁琐;Yang等人[13]是利用VSS来进行秘密图像共享的,但传统的VSS需要设计码本(基本矩阵),而本文方案中利用到了随机网格,省略了此步骤,节约时间且无像素扩展.Beugnon等人[21]的方案与本文一样,采用了多项式秘密图像共享算法对图像进行分享,但其方案中不存在认证操作.Yang等人[13]的方案虽然存在认证,但其使用的是哈希认证,而本文方案仅使用简单的异或计算,认证复杂度只有O(k),哈希计算显然更加复杂.通过上述对比分析,表明本文所提方案在实际应用可以发挥更好的效果.

4.2.2 实验结果分析

PSNR即图像的峰值信噪比,可用来衡量恢复后图像的质量的高低.现实生活中,由于大部分信号都具有比较宽的动态范围,峰值信噪比常用对数分贝单位来表示.PSNR的计算公式如式(6)所示.

(6)

式(6)中,M和N是原图的尺寸,P是原图,C是恢复后的图.表3中对比了本文方案和其他3种方案的医疗恢复图的最小PSNR、平均PSNR和最大PSNR.

从表3中可以得出,本文方案的PSNR值明显高于其他方案,这表明由本文提出的医疗图像共享方案恢复后的秘密图像质量最高,是无损的恢复.

表3 不同方案的PSNR比较

信息熵可用来衡量图像信息的不确定性的.理想情况下,一张随机图像的信息熵的值是8.表4中对比了本文方案与其他3种方案的影子图像的平均信息熵.

表4 不同方案的信息熵比较

图6是本文方案与其他方案在不同阈值下的平均信息熵的曲线图.从图中可以得到,本文方案得到的影子图像的信息熵比其他方案的更接近数值8.

图6 不同方案信息熵对比

像素扩展对图像的传输效率有一定影响,像素扩展率越大的话,传输效率就会越低.像素扩展是重构后的秘密图像与初始秘密图像的比值.本文方案计算得到的像素扩展为1,这表明本文方案恢复后的图像无像素扩展,也即图像的传输消耗不会有额外的增加.

本文针对区块链医疗图像共享中存在的密钥丢失问题,提出了一种结合区块链的可认证医疗图像共享方案.该方案是基于改良的多项式秘密图像共享和可视化秘密共享技术使得至少有k个影子图像即可恢复原始秘密图像,从而达到医疗图像共享的目的.此外,本文还利用了区块链的智能合约来实现秘密医疗图像的恢复和认证,不仅创造了一个可信的环境,而且参与者无需耗费计算力来获得共享的医疗图像.实验结果表明,本文所提出的方案具有认证简单,无损恢复和无像素扩展等特点.

本文所提出的方案仅适合灰度医疗图像的共享与认证,然而现代医疗设备所生成的医疗图像大都是彩色图像.在未来的研究中,需将本文方案推广到彩色图像的共享认证,增加算法的适用性.

猜你喜欢 秘密影子像素 像素前线之“幻影”2000小哥白尼(军事科学)(2022年2期)2022-05-25“像素”仙人掌红领巾·萌芽(2019年8期)2019-08-27What a Nice Friend小学生时代·大嘴英语(2016年11期)2017-01-19愿望树的秘密(二)小溪流(画刊)(2016年11期)2017-01-05和影子玩耍读者(2016年20期)2016-10-09不可思议的影子作文大王·笑话大王(2016年3期)2016-03-11高像素不是全部CHIP新电脑(2016年3期)2016-03-10我心中的秘密作文与考试·小学低年级版(2015年22期)2015-12-07第十三章 进化的秘密!小学科学(2015年11期)2015-12-01您的像素,饱和吗?[上]数码影像时代(2006年5期)2006-05-29

推荐访问:区块 图像 认证