本发明属于信息安全技术领域,具体涉及基于无线体域网的云存储医疗数据批量自审计方法。
背景技术:
随着无线通信、低功耗集成、传感器技术的迅速发展,无线传感网络开始广泛应用于智能电网、医疗健康、工业控制等各个领域。作为无线传感器网络的一个重要应用,无线体域网已日益受到学术界和医学界的重视。无线体域网使用传感器节点收集患者的心率、脉搏、体温等医疗信息。这些医疗数据需要被及时处理的同时还需要从医生处及时获得反馈。由于受到存储、处理、供能等有限的资源制约,依靠传统的无线体域网要达到这些目的是相当困难的。因此,需要无线体域网与云计算平台集成来存储和处理实时的医疗数据。
云辅助无线体域网配备了强大的基于云计算和存储资源,将医疗传感器植入患者的体表并周期性地收集健康医疗信息并通过移动设备或是互联网发送给云辅助医疗系统。一旦收到这些数据,云辅助医疗系统发送数据到相关医疗工作者做临床诊断并将其存储于云存储系统。此外,患者的家人与亲属亦同样可以通过云辅助医疗系统检索相关健康状态信息。对于许多慢性疾病,医疗工作者对大量的数据进行的详尽分析以辅助实现正确地诊断。一旦收到医疗工作者的指令,云辅助系统使用它基于云的强大计算资源来有效、迅速地完成所下达的任务。
存储于云服务器上的健康医疗数据,可以作为医生临床诊断的基础。虽然云存储服务带来了许多便利优势,例如成本效益,更方便的数据访问。但是在云存储拥有这些优势的同时,它同时对患者的外包医疗数据带来了新的安全性威胁。一旦这些医疗数据遭到攻击者的恶意篡改,都会造成医生的临床误诊致使患者病情加重甚至具有死亡的危险,因此云服务器上的健康医疗数据的完整性变得格外重要。出于对医疗数据完整性以及安全性的考虑,患者需要使用一个完整性审计方案来确保患者的医疗数据在云服务器上能够正确地存储。目前典型的云存储数据完整性审计方案,由于需要计算开销很大的双线性对运算,并不适用于云辅助的无线体域网的应用场景。因此设计轻量级的具有隐私保护性能的云辅助无线体域网的医疗数据完整性安全审计方案是一项具有重要意义的研究工作。
技术实现要素:
本发明的目的是,提供一种适用于无线体域网的云存储医疗数据批量自审计方法。
本发明的技术方案为:基于无线体域网的云存储医疗数据批量自审计方法,其特征在于,包括以下步骤:
a.系统初始化:系统对医疗数据文件进行分块处理获得多个医疗数据块,并生成签名算法的公私钥对;同时生成用于对医疗数据文件的身份标识进行轻量级签名的公私钥对,系统再选取一个轻量级对称加密算法及其对称密钥;
b.签名产生:用户首先调用伪随机数发生器和伪随机函数产生每个医疗数据块的同态消息认证码的匹配系数,并采用与步骤a中相同的签名算法计算同态消息认证码的数字签名,同时分别对不同的医疗数据文件的身份标识计算数字签名产生医疗数据文件标签,并将多个医疗数据文件进行对称加密;最后将这些数字签名以及医疗数据文件的密文发送到云服务器,并在本地客户端删除这些数据;
c.审计证明产生:由用户产生一个审计挑战信息,并将挑战信息发送给云服务器;云服务器收到审计挑战信息后,产生多个医疗数据文件的聚合审计证明响应信息,并返回给用户;
d.审计证明验证:用户得到聚合的审计证明响应信息之后,利用与步骤a中相同的签名算法的公钥以及对称加密算法的密钥验证这个聚合的审计证明响应信息的有效性。
进一步的,所述步骤a的具体方法为:
a1.将医疗数据文件F分成n个医疗数据块,这n个医疗数据块分别进一步分成在Zq(Zq是模q剩余类环,q是素数)中的k个元素;F表示为:
a2.用户选取(Zp是模p剩余类环,p是素数),满足gq≡1mod p,随机地选取私钥x,满足1<x<q,计算公钥y=gxmod p;用户选取一个轻量级对称加密算法设置对称密钥为τ,并选取一个轻量级数字签名算法SSig,其公私钥对为(spk,ssk);
a3.系统产生伪随机数发生器伪随机函数PRF:Kprf×I→Zq,其中Kprg,Kprf分别为PRG和PRF的私钥集合,I为文件中每个数据块的索引指数集合;系统随机选取对称密钥对skp=(skprg,skprf),其中skprg∈Kprg,skprf∈Kprf。
进一步的,所述步骤b的具体方法为:
b1.对于L为医疗数据文件的总数,为当前选定的医疗数据文件编号,给定每一个医疗数据文件包含n个医疗数据块,其中每一个医疗数据块医疗文件的身份标识为为了确保医疗数据文件身份标识的唯一性,用户调用一个轻量级数字签名算法SSig计算的标签
b2.用户利用伪随机数发生器PRG和伪随机函数PRF分别产生随机向量随机数用户计算医疗数据块的同态消息认证码然后,用户利用私钥x计算的数字签名如下:
b21.随机选择计算
b22.计算
b23.输出同态消息认证码的数字签名定义这些签名的集合为
b3.对于1≤l≤L,给定每一个医疗数据文件为了确保用户的医疗数据文件的机密性,用户调用对称加密算法对称密钥为τ,将加密为则加密为
b4.用户发送给云服务器,并在客户本地端删除这些信息。
进一步的,所述步骤c的具体方法为:
c1.用户首先取回每一个医疗数据文件标签并利用公钥spk验证签名的有效性;当验证完标签的有效性之后,用户产生审计挑战信息如下:
c11.从{1,2,…,n}中随机选取一个含有c个元素的子集
c12.对于每一个用户产生相应的随机值βj∈Zq,最后用户发送审计挑战信息给云服务器;
c2.一旦接收到审计挑战信息云服务器产生审计证明响应信息如下:
c21.计算组合信息块其中θ∈{1,…,k},得到
c22.计算聚合签名
c23.云服务器发送作为审计证明响应信息给用户。
进一步的,所述步骤d的具体方法为:
d1.对于每一个计算
d2.计算其中1≤θ≤k,
d3.验证方程是否成立,若成立,则审计证明响应有效,若不成了,则审计证明响应无效。
本发明的有益效果为,本发明方法设计的密码算法的安全性基于离散对数困难问题,能够确保恶意云服务器不能产生伪造的审计证明响应信息欺骗云用户通过审计验证过程。在审计方法中,云用户利用线性同态聚合签名算法构造同态线性认器,可以同时批量审计多个医疗数据文件的完整性,并且审计过程不需要计算开销较大的双线性对运算,特别适用于需要轻量级计算量,存储空间有限,需要高效实现无线体域网的应用场景。
具体实施方式
下面详细描述本发明的技术方案:
本发明的步骤分为四个部分:
系统初始化:系统对医疗数据文件进行分块处理,并生成Schnorr变型签名算法的公私钥对,生成用于对医疗数据文件的身份标识进行轻量级签名的公私钥对,系统再选取一个轻量级对称加密算法及其对称密钥。
签名产生步骤:用户首先调用伪随机数发生器和伪随机函数产生每个医疗数据块的同态消息认证码的匹配系数,并采用Schnorr变型签名算法计算同态消息认证码的数字签名,同时分别对不同的医疗数据文件的身份标识计算数字签名产生医疗数据文件标签,并将多个医疗数据文件进行对称加密。最后将这些数字签名以及医疗数据文件的密文发送到云服务器,并在本地客户端删除这些数据。
审计证明产生步骤:为了能够同时批量审计外包存储在云服务器上的医疗数据的完整性,用户产生一个审计挑战信息,并将挑战信息发送给云服务器。云服务器收到挑战信息后,产生多个医疗数据文件的聚合审计证明响应信息,并返回给用户。
审计证明验证步骤:用户得到这个聚合的审计证明响应信息之后,利用Schnorr变型签名算法的公钥以及对称加密算法的密钥验证这个聚合的审计证明响应信息的有效性。
以下给出一个具体实例说明:
本发明所要解决的技术问题是,适用于无线体域网的云存储医疗数据完整性批量自审计方法。
该批量自审计方法包括以下基本步骤:Setup,SigGen,ProofGen,VerifyProof。
Setup:包括以下三个子步骤:
(1)将医疗数据文件F分成n个医疗数据块,这n个医疗数据块分别进一步分成在Zq中的k个元素。F表示如下:
(2)用户选取满足gq≡1(modp),随机地选取私钥x,满足1<x<q,计算公钥y=gxmod p。接着用户选取一个轻量级对称加密算法(设置对称密钥为τ),并选取一个轻量级数字签名算法SSig,其公私钥对为(spk,ssk)。
(3)系统产生伪随机数发生器伪随机函数PRF:Kprf×I→Zq,其中Kprg,Kprf分别为PRG和PRF的私钥集合,I为文件中每个数据块的索引指数集合。接着系统随机选取对称密钥对skp=(skprg,skprf),其中skprg∈Kprg,skprf∈Kprf。
SigGen:用户同时产生L个医疗数据文件的数字签名,以及产生这L个医疗数据文件的密文如下:
(1)对于给定每一个医疗数据文件包含n个医疗数据块,其中每一个医疗数据块医疗文件的身份标识为为了确保医疗数据文件身份标识的唯一性,用户调用一个轻量级数字签名算法SSig计算的标签
(2)用户利用伪随机数发生器PRG和伪随机函数PRF分别产生随机向量随机数用户计算医疗数据块的同态消息认证码然后,用户利用私钥x计算的数字签名如下:
(2a)随机选择计算
(2b)计算
(2c)输出同态消息认证码的数字签名定义这些签名的集合为
(3)对于1≤l≤L,给定每一个医疗数据文件为了确保用户的医疗数据文件的机密性,用户调用对称加密算法(对称密钥为τ)将加密为这样加密为
最后,用户发送给云服务器,并在客户本地端删除这些信息。
ProofGen:用户产生审计挑战信息,云服务器对此产生审计证明响应信息,步骤如下:
(1)用户首先取回每一个医疗数据文件标签并利用公钥spk验证签名的有效性。当验证完标签的有效性之后,用户产生审计挑战信息如下:
(1a)从{1,2,…,n}中随机选取一个含有c个元素的子集
(1b)对于每一个用户产生相应的随机值βj∈Zq,最后用户发送审计挑战信息给云服务器。
(2)一旦接收到审计挑战信息云服务器产生审计证明响应信息如下:
(2a)计算组合信息块其中θ∈{1,…,k},这样得到
(2b)计算聚合签名
(2c)云服务器发送作为审计证明响应信息给用户。
VerifyProof:用户按照如下步骤验证审计证明响应信息的有效性:
(1)对于每一个计算
(2)计算其中1≤θ≤k,
(3)验证方程是否成立。
审计证明验证过程正确性如下:
这样方程成立。
本发明基于无线体域网以及云计算的前沿应用场景,通过设计新颖的安全数字聚合签名算法,即设计并改进Schnorr数字签名算法为线性同态聚合签名算法,并进一步构造轻量级审计方案,使之能够有效适用于云辅助的无线体域网,帮助患者验证存储在云辅助医疗系统的健康数据的完整性,且有效检测出云医疗数据是否被篡改,从而防止医生的临床误诊。该发明方法设计的密码算法的安全性基于离散对数困难问题,能够确保恶意云服务器不能产生伪造的审计证明响应信息欺骗云用户通过审计验证过程。在审计方法中,云用户利用线性同态聚合签名算法构造同态线性认器,可以同时批量审计多个医疗数据文件的完整性,并且审计过程不需要计算开销较大的双线性对运算,特别适用于需要轻量级计算量,存储空间有限,需要高效实现无线体域网的应用场景。