一种无线体域网下的病人与医生的匿名身份认证方法

文档序号:25308077发布日期:2021-06-04 14:58阅读:119来源:国知局
一种无线体域网下的病人与医生的匿名身份认证方法

1.本发明涉及无线网络应用的技术领域,尤其涉及一种无线体域网下的病人与医生的匿名身份认证方法,基于椭圆曲线加密算法实现病人与医生的匿名认证,基于双线性对病人与医生进行认证、基于椭圆曲线加密算法对认证消息进行加密,利用时间戳对身份隐私进行保护。


背景技术:

2.近年来,随着移动设备、传感器和无线传感器网络的广泛使用以及物联网(iot)的不断发展,出现了一种由嵌入或者穿戴在身上所构成的一种新型网络
‑‑‑
无线体域网(wireless body area networks,wban)。wban由若干个小尺寸、低功耗的植入式和可穿戴式传感器组成,用于监测人体的一些重要生理指标。wban的传感器可以检测到诸如血压(bp)、体温、脑电图(eeg)、肌电图(emg)和心电图(ecg)等信息。另外,这些传感器主要采用wi

fi和蓝牙技术等设计,可以相互通信并与中央设备或宿节点通信。利用传感器直接从患者体内所收集的数据在医生的医学诊断应用中发挥了重要作用。另外,这项新技术不仅有助于监视和改善各个年龄段的人们的健康,而且还更适合老年人和残疾人等进行健康监视与照顾。此外,还可以通过定期观察和调查人们的重要体征(例如血压、血糖水平测试和心跳率等)来改善人们或患者的生活,从而避免令人不快的健康问题。
3.然而,由于无线网络的开放性质,wban的安全性和隐私性用于人们最为关注的医疗目的的问题。在无线体域网环境中,由于传感器节点所收集的信息对于患者的生命来说至关重要,因此非常敏感且机密。另外,由于移动的节点是通过无线信道传输机密数据,任何人都可能充当敌手来监听或者篡改这些机密数据。敌手也可以轻松地拦截用户与远程服务器之间所交换的数据,这将导致各种可能的攻击,例如重放、密钥模拟、验证程序被盗等。因此,在wban中提供安全可靠的身份验证协议是必要且重要的,以确保只有合法用户才能获得患者的敏感信息。换句话说,要想wban能够成功并且大规模的应用于医疗系统中,强大的安全解决方案和身份验证协议是必须的。另外,由于在wban环境中,医生的诊断信息对于病人的生命安全至关重要。因此,为了防止由于采用匿名化的技术,有些医生因为错误诊断或者滥用诊断对患者的生命安全造成损害。


技术实现要素:

4.针对无线体域网环境下的身份隐私保护和身份验证的技术问题,本发明提出一种无线体域网下的病人与医生的匿名身份认证方法,轻量级的具备身份隐私保护的身份认证方法,且不仅能实现病人和医生的双向匿名认证,而且在认证的过程中不需要一个信任第三方参与,避免了认证过程中的计算节点瓶颈问题,且能够对医生的真实身份进行追踪。
5.为了达到上述目的,本发明的技术方案是这样实现的:一种无线体域网下的病人与医生的匿名身份认证方法,其步骤如下:
6.步骤一:注册中心rc对基于医疗传感器的无线体域网进行初始化:在椭圆曲线上
选择一个基点,基于基点选择双线性映射和初始化两个安全的hash函数;
7.步骤二:无线体域网的医生和病人通过注册中心rc进行注册:医生利用终端设备通过一个hash函数生成的消息与注册中心rc进行通信,注册中心rc为医生生成数字执照,并将数字执照预置到智能卡中,实现医生的注册;注册中心rc向病人的手持终端中写入主密钥和公钥,实现病人的注册;
8.步骤三:医生到病人的匿名认证:当医生想要获取病人的生理数据时,医生通过终端设备登录无线体域网并生成查询信息demand,利用智能卡中的参数和另一个hash函数生成消息发送给病人,病人在收到消息后,利用双线性映射验证医生的合法性后按照查询信息demand发送给医生;
9.步骤四:病人到医生的匿名认证:当病人想要将所携带的医疗传感器采集的生理数据传递给医生时,病人利用另一个hash函数生成包含生理数据的消息并将该消息发送给医生,医生收到该消息后,通过双线性映射验证病人的合法性后接收病人发送的生理数据。
10.所述基于医疗传感器的无线体域网包括注册中心rc、穿戴或者内嵌在病人身上的医疗传感器、用于收集医疗传感器采集的数据的手持终端、医生使用的终端设备及医疗数据服务器,其中,注册中心rc分别通过系统参数与医疗传感器、终端设备及医疗数据服务器相连接,注册中心rc、手持终端、终端设备及医疗数据服务器均与internet相连接;手持终端所获取的病人生理数据通过无线的方式与internet相连接并将生理数据传输到医生处的终端设备,医疗数据服务器用于保存病人的生理数据。
11.所述步骤一中注册中心rc在有限域gf(p)上选择合适的椭圆曲线,注册中心rc选取一个双线性映射:其中,g1是由椭圆曲线上的基点p作为生成元所构建的循环加法群,g2为循环乘法群;注册中心rc利用随机数生成算法生成自己的私钥和两个秘密值,利用自己的私钥计算出对应的公钥;注册中心rc将初始化的参数公开给无线体域网中的医生和参与的病人。
12.所述注册中心rc对基于医疗传感器的无线体域网进行初始化的方法为:
13.步骤i1:选择一个大的素数p,并选择一个构建在由素数p构成的有限域gf(p)上的椭圆曲线e
p
(a,b):y
12
=x
13
+ax1+b且满足4a3+27b2(mod p)≠0,其中,a和b表示椭圆曲线e
p
(a,b)的两个参数,a和b为有限域上的常数,x1和y1分别表示椭圆曲线e
p
(a,b)的自变量和因变量;注册中心rc在椭圆曲线e
p
(a,b)上选取一个阶为大素数q的基点p,基于基点p分别构建一个循环加法群g1和一个循环乘法群g2,注册中心rc选择双线性映射使其满足
14.步骤i2:注册中心rc选择两个安全的hash函数h(
·
)和h(
·
),其中,为0,1字符串到有限域的hash函数;h(
·
):e
p
(a,b)

{0,1}
l
为椭圆曲线e
p
(a,b)上的点到长度为l的0,1字符串的hash函数;
15.步骤i3:注册中心rc利用随机数生成算法生成一个随机数并作为其私钥,利用私钥s计算出对应的公钥p
pub
=s
·
p;注册中心rc使用随机数生成算法生成两个随机数作为秘密值,并将秘密值保存;
16.步骤i4:注册中心rc将步骤i1‑
步骤i3中初始化的参数作为系统所使用的公共的系
统参数{e
p
(a,b),q,p,g1,g2,h(
·
),h(
·
),p
pub
}进行公开,无线体域网中的医生和参与的病人能够通过公开途径获取。
17.所述无线体域网的医生进行注册的方法为:
18.步骤dr1:医生d
i
通过终端设备选择自己的身份标识符did
i
以及口令dpw
i
;利用随机数生成函数生成随机数r
i
并利用hash函数h(
·
)计算变量h(r
i

dpw
i
),其中,

为按位异或操作;医生d
i
将消息{did
i
,h(r
i

dpw
i
)}通过安全的通信信道传递给注册中心rc;医生集合为{d
i
|i=1,2,,n},n为医生的总数;
19.步骤dr2:注册中心rc收到消息{did
i
,h(r
i

dpw
i
)}后,计算中间变量:
20.a
i
=h(did
i
||v),b
i
=h(a
i
),v
i
=a
i

h(did
i
||h(r
i

dpw
i
));
21.随后,注册中心rc利用随机数生成器生成随机值作为医生d
i
的私钥并计算对应的公钥pk
di
=s
di
·
u
·
p;其中,||为字符串连接操作,u、v表示注册中心rc生成并保存的秘密值,a
i
、b
i
和v
i
均为中间变量;
22.步骤dr3:注册中心rc为医生d
i
颁发一个数字执照l
di
=s
di
·
v
·
p,并将医生d
i
的身份标识符与数字执照组成二元组<did
i
,l
d
>列入检查列表中;
23.步骤dr4:注册中心rc向医生d
i
发放一个智能卡,通过终端设备向智能卡里预置参数{b
i
,v
i
,s
di
,pk
di
,l
di
};收到智能卡后,医生d
i
将随机数r
i
输入到智能卡中,最终智能卡中包含的参数为{b
i
,v
i
,s
di
,pk
di
,l
di
,r
i
}。
24.所述无线体域网的病人进行注册的方法为:当病人p
j
去医院接受治疗时,注册中心rc为病人p
j
分配所需的医疗传感器及配套的手持终端,注册中心rc利用随机数生成器生成随机值作为病人p
j
的主密钥,并计算对应的公钥:pk
pj
=s
pj
·
u
·
p,注册中心rc将参数{s
pj
,pk
pj
}输入到病人的手持终端中;其中,病人集合pat={p
j
|j=1,2,,m},m为病人的总数。
25.所述查询信息demand中包含有医生想要查询的具体需要以及医生对病人的诊断操作命令,医生到病人的匿名认证实现消息身份验证的方法为:
26.步骤da1:医生d
i
将持有的智能卡插入终端设备中,输入自己的身份标识符did
i
及口令dpw
i
;智能卡计算中间变量:
[0027][0028]
智能卡检查等式是否成立,如果成立,则进入步骤da2;如果不成立,智能卡提示医生d
i
重新输入正确的身份标识符及口令;
[0029]
步骤da2:医生d
i
的终端设备生成一个随机数并计算中间变量:
[0030]
b1=r
·
p,b2=r
·
pk
pj
,b3=r
·
s
di
·
p
pub
,b4=r
·
pk
di
,b5=h(t
i
)
·
s
dj
·
p,cert
i
=(l
di
||t
i
)

h(h(t
i
)
·
s
dj
·
p
pub
),w2=(demand||b3||b4||cert
i
||t,c2=w2⊕
h(b2);
[0031]
其中,t
i
是医生d
i
生成的时间戳,cert
i
为医生d
i
的证书;h()为hash函数;b1、b2、b3、b4、b5、w2、c2均为中间变量;
[0032]
医生d
i
将消息{b1,b5,c2,cert
i
,t
i
}通过无线通信信道传递给病人p
j

[0033]
步骤da3:在收到消息{b1,b5,c2,cert
i
,t
i
}后,病人p
j
利用不等式t
c

t
i
≤δt判断其中的时间戳t
i
是否新鲜,其中,t
c
为病人p
j
收到消息{b1,b5,c2,cert
i
,t
i
}的时间,δt为系统所能够允许的最大时间间隔;如果时间戳t
i
新鲜,则进入步骤da4,否则终止认证过程;
[0034]
步骤da4:病人p
j
利用自己的私钥计算中间变量:
[0035]
病人p
j
从中间变量中提取出查询信息demand、中间变量b3、b4、证书cert
i
及时间戳t
i

[0036]
步骤da5:病人p
j
验证等式是否成立,如果成立,则病人p
j
认为医生d
i
是合法的医生,病人p
j
根据医生d
i
的查询信息demand提供生理数据;否则,病人p
j
认为医生d
i
为非法的,并拒绝为医生d
i
提供相关生理数据,其中,为双线性映射。
[0037]
所述医生d
i
身份的追踪的方法为:如果医生d
i
所发出的查询请求demand中包含有不合理的内容或者非法要求、错误诊断时,注册中心rc从医生d
i
所发出的消息{r,b1,b5,c2,cert
i
,t
i
}({b1,b5,c2,cert
i
,t
i
}中获取该医生的真实身份信息,即:注册中心rc从消息{b1,b5,c2,cert
i
,t
i
}中提取医生d
i
构建的证书cert
i
,注册中心rc计算:
[0038]
cert
i

h(s
rc
·
b5)
[0039]
=(l
di
||t
i
)

h(h(t
i
)
·
s
dj
·
p
pub
)

h(s
rc
·
b5)
[0040]
=(l
di
||t
i
)

h(h(t
i
)
·
s
dj
·
p
pub
)

h(s
rc
·
h(t
i
)
·
s
dj
·
p);
[0041]
=(l
di
||t
i
)
[0042]
注册中心rc利用医生d
i
的数字执照l
di
在所保存的检查列表中查找相应的二元组<did
i
,l
di
>,并从中找到该医生的身份标识符did
i

[0043]
所述步骤四中病人到医生的匿名认证的方法为:
[0044]
步骤pa1:病人p
j
利用随机数生成函数生成一个随机数并计算中间变量:
[0045]
a1=k
·
p,a2=k
·
pk
di
,a3=k
·
s
pj
·
p
pub
,a4=k
·
pk
pj
,w1=(data||a3||a4||t
j
),c1=w1⊕
h(a2);
[0046]
其中,data为病人p
j
的生理数据,t
j
为病人p
j
的时间戳,a1、a2、a3、a4、w1和c1均为中间变量;
[0047]
病人p
j
将消息{a1,c1,t
j
}通过普通的无线通信信道传递给医生d
i

[0048]
步骤pa2:收到消息{a1,c1,t
j
}后,医生d
i
计算中间变量:并从中间变量中提取出生理数据data、中间变量a3、a4以及时间戳t
j
;医生d
i
验证时间戳t
j
是否新鲜,如果时间戳t
j
不新鲜,则直接丢弃这些数据并终止认证过程,否则进入步骤pa3;
[0049]
步骤pa3:医生d
i
验证等式是否成立,如果等式成立,则医生d
i
认定病人p
j
是合法的并且所接收到的生理数据data为有效的、未被破坏的数据;否则,医生d
i
认定病人p
j
是非法的并拒绝接受传递过来的生理数据data。
[0050]
所述验证等式的方法为:
[0051][0052]
所述验证等式的方法为:
[0053][0054]
与现有技术相比,本发明的有益效果:本发明提出了一种wban环境下使用椭圆曲线加密的轻量级且安全的匿名用户身份验证协议,保证了wban环境下的医生和病人能够通过匿名的方式完成身份认证,同时,病人能够将医生所需的相关数据通过安全的方式传递给医生;医生也可以通过安全的方式将相关的命令传递给病人。本发明在认证成功的同时,实现了数据的有效传递(病人发送给医生的个人生理数据以及医生发送给病人的相关请求消息)。
[0055]
本发明引入了医生身份的追溯技术,医疗系统的管理方可以在保证医生的身份信息不被泄露的情况下,能够追溯到医生的真实身份,为后续的处理奠定基础。本发明不但能够保证病人和医生的身份隐私保护,还能够满足注册中心(rc)对医生的真实身份的追踪,防止医生出现恶意操作或者为事后追责提供了条件。
附图说明
[0056]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0057]
图1为本发明的无线体域网的系统模型图。
[0058]
图2为本发明的医生注册的流程图。
[0059]
图3为本发明的医生到病人的匿名认证的流程图。
[0060]
图4为本发明的病人到医生的匿名认证的流程图。
具体实施方式
[0061]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062]
如图1所示,一种无线体域网环境下的身份匿名认证方法,其步骤如下:
[0063]
步骤一:注册中心rc对基于医疗传感器的无线体域网进行初始化:在椭圆曲线上选择一个基点,基于基点选择双线性映射和初始化两个安全的hash函数。
[0064]
本发明所使用的无线体域网的系统模型,如图1所示,应用于医疗系统的无线体域网wban主要包括注册中心rc、穿戴或者内嵌在病人身上的医疗传感器及用于收集医疗传感器采集数据的手持终端pat={p
j
|j=1,2,,m}、使用的医疗系统的医生dct={d
i
|i=1,2,,n}及医疗数据服务器,m为手持终端即病人的总数,n为医生的总数,其中,注册中心rc分别
通过系统参数与医疗传感器、医疗系统及医疗数据服务器相连接,注册中心rc、手持终端、终端设备及医疗数据服务器均与internet相连接。病人的手持终端所获取的病人生理数据主要通过无线的方式(wifi、4g、5g等)与internet相连接并将数据传输到医生处的终端设备,为医生的诊断提供详细可靠的信息。医疗数据服务器保存病人的生理数据。本发明共包含系统的初始化、病人的匿名认证、医生的匿名认证、医生的身份追踪等几个不同的阶段。
[0065]
注册中心rc首先在有限域gf(p)上选择合适的椭圆曲线,椭圆曲线具备加解密的安全性要求。随后,注册中心rc选取一个合适的双线性映射:其中,g1是由椭圆曲线上的基点p作为生成元所构建的循环加法群,g2为循环乘法群;注册中心rc利用随机数生成算法生成自己的私钥和两个秘密值,利用自己的私钥计算出对应的公钥;注册中心rc将系统的初始化参数公开给无线体域网中的相关用户,主要包括医生和参与的病人。
[0066]
该阶段主要完成基于无线体域网wban的医生与病人匿名认证所需要的各种加密算法的选择、初始值的设定等工作。注册中心rc被视为无线体域网wban的可信的管理中心,整个初始化工作由注册中心rc来实施,本发明所使用的各种符号如表1所示。
[0067]
表1本发明所使用的符号及含义
[0068][0069]
注册中心rc进行初始化的实现方法为:
[0070]
步骤i1:选择一个大的素数p,并选择一个构建在由素数p构成的有限域gf(p)上的椭圆曲线e
p
(a,b):y
12
=x
13
+ax1+b且满足4a3+27b2(mod p)≠0,其中,a和b表示椭圆曲线e
p
(a,b)的两个参数,a和b为有限域上的常数,有限域与有限域gf(p)分别构建在大素数p和q上的,其中,大素数p是首先选择的,由大素数p所构成的有限域来构建椭圆曲线,然后在上面找另外一个素数q来构建满足条件的加法群,q时比p要小的大素数,有限域是有限域gf(p)的真子集,这些是构成椭圆曲线加密ecc的基础。x1和y1分别表示椭圆曲线e
p
(a,b)的自变量和因变量。随后,注册中心rc在椭圆曲线e
p
(a,b)上选取一个阶为大素数q的基点p,基于基点p分别构建一个循环加法群g1和一个循环乘法群g2。注册中心rc选择合适的双线性映射使其满足素数p需达到商用安全级别(至少512bit的量级),具体要求参见国密sm2算法。椭圆曲线e
p
(a,b)具备足够的安全性,以保证不被敌手采用暴力破解攻破。本发明建议大素数p的取值至少在512bit的量级。
[0071]
步骤i2:注册中心rc选择两个安全的hash函数h(
·
)和h(
·
),其中,为0,1字符串到有限域的hash函数;h(
·
):e
p
(a,b)

{0,1}
l
为椭圆曲线e
p
(a,b)上的点到长度为l的0,1字符串的hash函数。
[0072]
步骤i3:注册中心rc利用随机数生成算法生成一个随机数并将其作为自己的私钥;同时,利用该私钥s计算出对应的公钥p
pub
=s
·
p。随后,注册中心rc再一次使用随机数生成算法生成两个随机数作为秘密值,并将秘密值妥善保存以防泄露。
[0073]
步骤i4:注册中心rc将步骤i1‑
步骤i3中初始化的参数作为系统所使用的公共的系统参数{e
p
(a,b),q,p,g1,g2,h(
·
),h(
·
),p
pub
}进行公开,无线体域网中的任何参与者包括所有的医生和参与的病人都能够通过公开途径获取上述公共的系统参数。其中g1,g2是上面生成双线性对所需的两个循环群,s,u,v为注册中心rc的秘密信息,所以不能够进行公开。
[0074]
步骤二:无线体域网的医生和病人通过注册中心rc进行注册:医生利用医院的终端设别通过hash函数进行的消息加密并与注册中心rc进行通信,注册中心rc为医生生成数字执照,并将数字执照预置到医生的智能卡中,实现医生的注册;注册中心rc向病人的手持终端中写入主密钥和公钥,实现病人的注册。
[0075]
参与医疗传感器网络的所有的个人终端节点和使用无线体域网的医生都需要在注册中心rc处进行注册。如图2所示,医生的注册:当医生d
i
想要登录到由无线体域网所构建的医疗传感器系统中以获取病人的相关数据时,其必须首先通过以下步骤在注册中心rc处进行注册。
[0076]
步骤dr1:医生d
i
首先选择他/她自己的身份标识符did
i
以及口令dpw
i
;随后,利用随机数生成函数生成随机数r
i
并利用hash函数h(
·
)计算变量h(r
i

dpw
i
),其中,

为按位异或操作;随后,医生d
i
将消息{did
i
,h(r
i

dpw
i
)}通过安全的通信信道传递给注册中心rc。身份标识符可以用函数生成,也可以根据科室、工号等信息编辑组成,口令为医生d
i
人为选择的一组数字或字符。
[0077]
随机数生成函数与随机数生成算法是同一个东西,可以简单的用类似于c语言中的rand()函数来实现,也可以用专用的随机数生成函数,比如蒙特卡洛算法monte carlo、舍伍德算法sherwood等等。安全的通信信道指的是信道不会被攻击者攻击的加密通信信道或者医生d
i
就在注册中心rc的位置所在地进行注册,能够保证在注册过程中医生d
i
传递给注册中心rc的消息{did
i
,h(r
i

dpw
i
)}没有被任何攻击者或者个人所窃听。
[0078]
步骤dr2:注册中心rc收到消息{did
i
,h(r
i

dpw
i
)}后,计算中间变量:
[0079]
a
i
=h(did
i
||v),
[0080]
b
i
=h(a
i
),
[0081]
v
i
=a
i

h(did
i
||h(r
i

dpw
i
))。
[0082]
随后,注册中心rc利用随机数生成器生成随机值作为医生d
i
的私钥并计算对应的公钥pk
di
=s
di
·
u
·
p。||为字符串连接操作,a
i
、b
i
和v
i
均为中间变量。
[0083]
步骤dr3:注册中心rc为医生d
i
颁发一个数字执照l
di
=s
di
·
v
·
p,并将该医生的身份标识符与数字执照组成二元组<did
i
,l
di
>列入检查列表中。
[0084]
数字执照l
di
主要用于后期病人对于医生身份的验证,而检查列表中的二元组<did
i
,l
di
>主要用于注册中心rc对医生d
i
真实身份的追踪。当医生d
i
出现有争议的诊断或者
操作的时候,注册中心rc可以利用检查列表中的二元组<did
i
,l
di
>来追查该医生d
i
的真实身份,以便对医生进行追责等处理。检查列表是由与所有的医生的身份id相关的二元组<did
i
,l
di
>所构建的一个线性表,用以查找医生身份。
[0085]
步骤dr4:注册中心rc向医生d
i
发放一个智能卡,智能卡里预置参数{b
i
,v
i
,s
di
,pk
di
,l
di
,r
i
}。在收到该智能卡后,医生d
i
将随机值r
i
也输入到该智能卡中。最终,该智能卡中包含的参数为{b
i
,v
i
,s
di
,pk
di
,l
di
,r
i
}。
[0086]
智能卡包含一个微电子芯片,通过读写器进行数据交互,读写器与终端设备相连接。智能卡配备有cpu、ram和i/o,可自行处理数量较多的数据而不会干扰到主机cpu的工作。智能卡还可过滤错误的数据,以减轻主机cpu的负担,适应于端口数目较多且通信速度需求较快的场合。智能卡内的集成电路包括中央处理器cpu、可编程只读存储器eeprom、随机存储器ram和固化在只读存储器rom中的卡内操作系统cos(chip operating system)。
[0087]
病人的注册:当病人p
j
准备去医院接受治疗时,注册中心rc将为其分配所需的医疗传感器(嵌入或者穿戴等)以及配套的手持终端。随后,注册中心rc利用如下步骤对病人的手持终端进行注册。
[0088]
步骤pr1:注册中心rc利用随机数生成器生成随机值作为病人p
j
的主密钥,并计算对应的公钥:pk
pj
=s
pj
·
u
·
p。然后,注册中心rc将参数{s
pj
,pk
pj
}输入到病人的手持终端中,并将该手持终端分配给病人。
[0089]
本发明的匿名认证分为医生对病人的匿名认证以及病人对医生的匿名认证两个不同的部分。
[0090]
步骤三:医生到病人的匿名认证:当医生d
i
想要获取病人p
j
的相关生理数据时,医生d
i
通过终端设备登录无线体域网,根据需要生成查询信息demand,利用智能卡中的参数和另一个hash函数生成消息发送给病人p
j
,病人p
j
在收到消息后,利用双线性映射验证医生d
i
的合法性后将按照查询信息demand发送给医生d
i

[0091]
医生d
i
想要登录无线体域网访问病人的医疗数据时,需要登录无线体域网网络。查询信息demand中包含有医生想要查询的具体需要以及医生对病人的诊断操作命令等。该消息产生后,通过以下步骤完成消息身份验证,如图3所示:
[0092]
步骤da1:首先,医生d
i
将其所持有的智能卡插入终端设备中,输入自己的身份标识符did
i
以及对应的口令dpw
i
。随后,智能卡计算中间变量:
[0093][0094][0095]
随后,智能卡检查等式是否成立。如果成立,则继续后续步骤。如果不成立,智能卡提示医生d
i
重新输入自己正确的身份标识符以及口令。
[0096]
步骤da2:医生d
i
的终端设备生成一个随机数并计算中间变量:
[0097]
b1=r
·
p,b2=r
·
pk
pj
,b3=r
·
s
di
·
p
pub
,
[0098]
b4=r
·
pk
di
,b5=h(t
i
)
·
s
dj
·
p,
[0099]
cert
i
=(l
di
||t
i
)

h(h(t
i
)
·
s
dj
·
p
pub
),
[0100]
w2=(demand||b3||b4||cert
i
||t
i
),
[0101]
c2=w2⊕
h(b2);
[0102]
其中,demand为医生d
i
请求的查询信息,t
i
是医生d
i
生成的时间戳,cert
i
为医生的证书。随后,医生d
i
将消息{b1,b5,c2,cert
i
,t
i
}通过普通的无线通信信道传递给病人p
j
。步骤da3:在收到上述消息{b1,b5,c2,cert
i
,t
i
}后,病人p
j
首先利用不等式t
c

t
i
≤δt判断其中的时间戳t
i
是否新鲜,其中,t
c
为病人p
j
收到消息{b1,b5,c2,cert
i
,t
i
}的时间,δt为系统所能够允许的最大时间间隔。如果时间戳t
i
新鲜,则进入步骤da4病人p
j
继续后续的认证操作,否则终止认证过程。
[0103]
步骤da4:病人p
j
利用自己的私钥计算中间变量:
[0104][0105][0106]
随后,病人p
j
从中间变量中提取出查询信息demand、中间变量b3、b4、cert
i
以及时间戳t
i

[0107]
步骤da5:病人p
j
验证等式是否成立,如果成立,则病人p
j
认为医生d
i
是合法的医生,病人p
j
根据医生d
i
的要求即查询信息demand提供相关的生理数据。否则,病人p
j
认为该医生为非法的,并拒绝为医生d
i
提供相关生理数据。
[0108]
正确性证明:
[0109][0110]
医生d
i
身份的追踪:如果医生d
i
所发出的查询请求demand中包含有不合理的内容或者非法要求、错误诊断等内容时。注册中心rc可以从医生d
i
所发出的消息{b1,b5,c2,cert
i
,t
i
}中获取该医生的真实身份信息。获取的过程:首先,注册中心rc从消息{b1,b5,c2,cert
i
,t
i
}中提取医生d
i
所构建的证书cert
i
。随后,注册中心rc进行如下计算:
[0111]
cert
i

h(s
rc
·
b5)
[0112]
=(l
di
||t
i
)

h(h(t
i
)
·
s
dj
·
pk
rc
)

h(s
rc
·
b5)
[0113]
=(l
di
||t
i
)

h(h(t
i
)
·
s
dj
·
pk
rc
)

h(s
rc
·
h(t
i
)
·
s
dj
·
p)
[0114]
=(l
di
||t
i
)
[0115]
随后,注册中心rc利用医生d
i
的数字执照l
di
在自己所保存的检查列表中查找相应的二元组<did
i
,l
di
>,并从中找到该医生的身份标识符did
i
。至此,完成医生身份的追踪。
[0116]
步骤四:病人到医生的匿名认证:当病人p
j
想要将自己所携带的医疗传感器所采集的生理数据传递给医生时,其生成包含自己生理数据的消息并将该消息发送给医生d
i
。医生d
i
在收到消息后,通过双线性映射验证病人p
j
的合法性后接收病人p
j
所发送的生理数据。
[0117]
由于病人传输给医生的数据包含非常敏感的健康信息,因此,为了保护这些数据的私密性,患者需要使用加密和身份验证方法来处理数据,因此需要使用该认证过程。另外,本发明所提出的方法主要用于传递医疗传感器采集的病人的一些类似于血压(bp)、体
温计、脑电图(eeg)、心电图(ecg)等类型数据,不适用于传递图像等容量较大的数据。如图4所示,详细的认证过程如下所述:
[0118]
步骤pa1:首先,病人p
j
利用随机数生成函数生成一个随机数并计算中间变量:
[0119]
a1=k
·
p,
[0120]
a2=k
·
pk
di
,
[0121]
a3=k
·
s
pj
·
p
pub
[0122]
a4=k
·
pk
pj
,
[0123]
w1=(data||a3||a4||t
j
),
[0124]
c1=w1⊕
h(a2)。
[0125]
其中,data为病人p
j
的生理数据,t
j
为病人p
j
的时间戳。随后,病人p
j
将消息{a1,c1,t
j
}通过普通的无线通信信道传递给医生d
i

[0126]
步骤pa2:在收到消息{a1,c1,t
j
}后,医生d
i
计算中间变量:并从中间变量中提取出生理数据data、中间变量a3,a4以及时间戳t
j
。随后,医生d
i
验证时间戳t
j
是否新鲜。如果时间戳t
j
不新鲜,则直接丢弃这些数据并终止认证过程,否则进入步骤pa3。
[0127]
步骤pa3:医生d
i
检查等式是否成立。如果上述等式成立,则医生d
i
认定病人p
j
是合法的并且所接收到的关于病人的生理数据data为有效的、未被破坏的数据。否则,医生d
i
认定病人p
j
是非法的并拒绝接受其所传递过来的生理数据data。
[0128]
正确性证明:
[0129][0130]
本发明的步骤为:注册中心rc对系统所使用的各种安全参数进行初始化;医生以及病人的手持终端的注册;病人的匿名认证过程;医生的匿名认证过程;医生的身份追踪等。当病人身体不适入院后,医院会为其佩戴相关的医疗传感器以及收集这些传感数据且经过注册的手持终端。随后,病人依照医生的要求通过手持终端发送相应的个人病理数据,从而使得医生可以实时监测病人的相关状态。当医生需要获取某位病人的个人身体相关数据时,必须登录系统,经过验证通过后才能获取相关病人的数据;在认证的过程中,病人和医生所发送的消息都是采用加密与添加随机变量的方式对自己的身份信息进行匿名化,保证病人和医生的个人隐私不被泄露。另外,为了保证医生所做的各种诊断和操作合规,防止出现滥用医生身份进行误操作,注册中心rc具备追踪医生真实身份的能力。另外,本发明不仅有助于监视和改善病人的身体健康,而且还更适合老年人和残疾人等进行健康监视与照顾,在智能医疗领域具有较大的应用价值。
[0131]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精
神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1