,,
(上海工程技术大学 电子电气工程学院,上海 201620)
无线医疗传感网的匿名双向身份认证研究
丁邢涛,钟伯成,朱淑文
(上海工程技术大学 电子电气工程学院,上海 201620)
针对无线医疗传感网系统中通信实体身份问题,提出了一种双向身份认证方案,包括初始化、用户注册、身份认证和机密信息及口令更新4个阶段。该方案实现了用户、医疗传感节点和个人服务器三者之间的双向身份认证,保证用户匿名性的同时能够抵御多种攻击。与现有的两种认证方案相比,降低了时间复杂度,同时具有更高的安全性,适用于无线医疗传感网。
无线医疗传感网;安全隐私;身份认证
近几年随着“互联网+”口号的提出,无线医疗传感网吸引了众多研究领域专家的广泛关注。无线医疗传感网中包含许多可穿戴式医疗传感节点,通过这些节点可以对老人或者病人状况进行远程实时监控。无线医疗传感网作为一项富有前景的技术,将会改变传统的医疗方式,然而其使用又面临着病人数据与隐私泄露的问题,病人信息在无线信道传输过程中可能会被窃听甚至篡改,导致远程服务器端的医生作出错误诊断,严重威胁到病人生命安全。通常采用加密算法保证数据的安全传输,但是仅仅依靠加密技术还是不够的,对于用户想要访问的传感节点信息,既要保证用户的合法性,同时也要确保节点的合法性,即两者之间的身份认证。考虑到医疗节点计算能力有限和电池能源受限,传统网络的身份认证算法并不适合无线医疗传感网。
[2]基于零知识证明理论和承诺方案提出了BANZKP身份认证方案,相比TinyZKP方案[3]和W-ECDSA[4]占用更少的内存、消耗更少的能量。然而该方案只是基于两方通信实体的双向认证,当新的节点加入或节点失效时,不能识别这些节点,即不能很好地满足无线医疗传感动态网络拓扑性。参考文献[5]提出了一种基于无证书签名方案,实现了用户可匿名性,利用双线性映射密码体制,能够抵御多种攻击,但无法抵抗替换公钥攻击,在这种情况下,攻击者可以任意替换签名者的密钥,并伪造消息-签名对。参考文献[6]对其提出了改进,在同样资源消耗情况下,能够抵御更多的攻击,但该方案存在一定的缺陷:不能对基站的身份进行认证,一旦有伪造基站进入无线医疗传感网络中,将会对病人造成难以估量的损失。参考文献[7]把智能卡与用户密码结合起来,使用对称加密算法和单向哈希函数,保证合法用户访问医疗数据,但由于所有的机密信息都存储在网关节点中,一旦此节点被妥协,所有的秘密信息就都被暴露了,进而威胁到病人的生命安全。本文所提出的方案基于参考文献[7],但对其作出了改进:将网关节点代替为个人服务器(如智能手机),同时将个人服务器参与到医疗节点、用户的身份认证过程中,弥补了网关节点被妥协的缺陷。
密钥管理[8-9]是从密钥产生到密钥销毁的一个过程,主要包括管理体制、管理协议和密钥的产生、分配、更新、存储和验证。
通常将身份认证与密钥管理一起使用来实现病人的数据和隐私不被泄露。身份认证的目的是检验传感器节点身份的合法性、用户身份的合法性、信息来源的真实性和信息的真实性[10]。身份认证的方法有基于共享密钥和基于公钥两种方式。基于公钥的身份认证方式算法简单、安全性高,是目前主要的身份认证方式,主要包括椭圆曲线密码和双线性映射。
1985年,Neal Koblitz和V. S. Miller分别提出将椭圆曲线用于公开密钥密码体制。椭圆曲线密码体制使用160位密钥长度达到的安全等级和其他公钥密码体制(如RSA、ElGamal)使用1024位密钥长度达到的安全等级一样。
常用于身份认证的椭圆曲线密码体制[11]如下:给定一个有限域GF(p) , p为其阶数且为素数。给定有限域GF(p)上的一条椭圆曲线E,一般表现形式为:y2=x3+ax+b,其系数满足4a2+27b3≠0。如果P为椭圆曲线E上一点,则2p=p+p,3p=2p+p=p+p+p。对于两个给定整数j和k,j×(k×p)=(j×k)×p=k×(j×p)。椭圆曲线离散对数问题(ECDLP)就是给定点P和Q,确定整数k,使k×P=Q。ECDLP困难性意味着,给定点P和Q,很难从中确定整数k。在密码的使用上,曲线E和其中一个特定的基点G一起被选择和公布。一个私钥k被作为随机整数来选择,值P=k×G被作为公钥来公布。
图1 身份认证参与实体
本文提出的身份认证方案基本思想是使用智能卡和各种信息摘要值及时间戳进行用户的身份认证,主要包括初始化、注册、登录认证。身份认证的三方通信实体包括医疗传感节点、个人服务器和用户,如图1所示。
在医疗传感节点被部署之前,个人服务器保存自己的主密钥对(x,y),并为病人身上所有的医疗传感节点计算足够长的密钥SKgs=h(Sn‖y),Sn为各自传感器节点的身份。对于传感器节点,个人服务器会生成一个随机参数Yi(i=1,2,…,n),这些随机参数各自存储在与身份对应的医疗传感节点内部。而个人服务器内存储了所有的这些参数。该方案所用到的参数如表1所列。
表1 参数对应关系
从安全角度来看,用户需要从个人服务器那里注册得到一个合法身份。用户Uk首先选择自己的身份IDk和口令PWk,然后生成一个足够大的随机数r,计算h(r⊕PWk),接着用户Uk向个人服务器发出一个注册请求。收到用户Uk的请求后,个人服务器计算:
Ak=h(IDk⊕l),Bk=Ex[IDk‖l],Vk=h(IDk‖h(r⊕PWk))
计算结束后,个人服务器委托控制中心生成一张智能卡,然后将机密信息{Ak,Bk,Vk,Ekey[],Dkey[]}存储在智能卡中传递给用户Uk,接收到智能卡后,用户Uk将自己的随机数r输到智能卡中,这样智能卡中就存储了机密信息{Ak,Bk,Vk,Ekey[],Dkey[],r}。
(1)阶段1
当用户需要访问传感器网络时,在终端机插入自己的智能卡,输入用户身份和口令,然后进行以下操作:
② 用户通过智能卡计算Hk=h(Ak),AIDk=ETkTu[h(IDk)‖Sn‖Xg]。其中TkTu=(Tu‖Hk),Tu为此时刻的时间戳,Xg在认证过程中起辅助作用(它是由用户Uk生成的临时随机参数),Sn是用户Uk要访问的传感节点。
③ 用户Uk将消息M1={Bk,AIDk,Tu}发送给传感节点Sn,在这里假设用户Uk发来的信息M1传感器节点Sn在时间Ts能够收到。
(2)阶段2
节点Sn收到信息M1后,首先检查时间戳Tu是否有效。具体步骤是检查Tu-Ts≤ΔT是否成立,其中ΔT是规定的一个延迟时延。如果上述不等式成立,则继续认证过程,否则终止。
(3)阶段3
传感器节点Sn在认证用户Uk为合法用户后,生成消息M2={Bk,AIDk,Tu,Ts,Sn}和消息M2的消息验证码Q=MAC(SKgs‖Yn)(Bk‖AIDk‖Tu‖Ts‖Sn),Yn为存储在传感器节点Sn内部的参数,完成以上操作后,传感器节点Sn把消息{M2,Q}发送给个人服务器。
(4)阶段4
假设个人服务器在时间Tp时刻收到消息{M2,Q}。
① 首先个人服务器检查Tp-Ts≤ΔT是否成立,验证时间戳Ts的有效性。如果以上条件均成立,则继续认证过程,否则终止。
② 个人服务器计算得出与传感节点Sn共享的长密钥SKps=h(Sn‖y),将它与消息M2一起检索出Yn,并生成Q′=MAC(SKps‖Yn)(Bk‖AIDk‖Tu‖Ts‖Sn)。比较Q′=Q是否成立。如果成立,则个人服务器认证消息{M2,Q}是传感节点Sn发送的,即消息的来源是真实的,否则结束认证过程。
(5)阶段5
(6)阶段6
图2 认证过程
(1)匿名性
当合法用户访问传感节点信息时本方案能够保证用户的匿名性,即无法追踪用户的身份信息。用户在注册阶段使用Vk等参数进行认证而非身份信息IDk,因此攻击者或传感节点就无法确认与其通信的用户身份。本方案选择使用单项HASH函数,攻击者不可能通过h(IDk)逆向推出IDk。
(2)双向认证
本方案能够实现用户、医疗传感节点、个人服务器三方通信实体的双向认证。在阶段4中,当个人服务器收到传感节点发来的信息后,不确定医疗传感节点的身份,于是通过计算Q′,与收到的Q比对,如果相同,暂时认为医疗传感节点身份合法;接着个人服务器解密AIDk,获得用户与之通信的医疗传感节点,与之前医疗传感节点进行比较,如果相同,则个人服务器认证医疗传感节点。个人服务器通过解密Bk获得用户身份IDk,计算h(IDk),与收到的h(IDk)进行比较,如果相同,则认证用户身份合法。医疗传感节点通过与个人服务器共享的密钥解密,获得时间戳,与之前的时间戳进行比较,就可以认证个人服务器身份的合法性。
(3)抵御重放攻击
本方案设定了一个时延ΔT,当用户、医疗传感节点、个人服务器收到信息后,首先计算自己当下时间戳与收到的时间戳之差,然后与ΔT比较,如果差值小于ΔT,则认为发来的信息是最新的。
(4)抵御伪装攻击
攻击者不能冒充合法用户访问医疗传感节点信息。假设攻击者得到了用户智能卡,并获得了其中的机密信息,但是由于用户身份的匿名性,攻击者无法获取用户的身份及其口令,也就无法登陆系统。
(5)抵御内部攻击
攻击者无法在系统内部进行攻击。因为在认证过程结束后,终端机更新用户的机密信息及口令,在更新过程中不需要医疗传感节点与个人服务器的参与。
对于不同的解决方案,所使用的加密算法可能是不相同的,因此每种方案的复杂度也不同,可以从以下几个方面来分析方案的时间复杂度:
① 对称加密:表示对称加密算法,例如RC4、AES等。
② 非对称加密:表示非对称加密算法,例如RSA、ECC等。
③ HASH:表示哈希函数,例如MD5。
④ 多项式:表示多项式计算,例如加法、乘法和模运算等。
本文提出的方案与参考文献[12]、[13]提出的方案进行比较,结果如表2所列。
表2 方案比较
相比其他两种方案,本文提出的方案在对称加密次数方面更理想,且参考文献[13]还用到了非对称加密,非对称加密算法的计算量和计算复杂度都要远高于对称加密算法。虽然本文提出的方案比其他两种方案多了5次HASH算法,但由于HASH算法快捷、方便,对方案整体复杂度没有太大的影响。可见本文提出的方案在时间复杂度上优于其他两种方案。
参考文献
[1] Pardeep Kumar,Hoon-Jae Lee.Security Issues in Healthcare Applications Using Wireless Medical SensorNetworks:A Survey[J].Sensors,2012(12):55-91.
[2] Nesrine KHERNANE,MARIA POTOP-BUTUCARU,Claude CHAUDET.BANZKP:a Secure Authentication Scheme Using Zero Knowledge Proof for WBANs[C]//IEEE 13th International Conference on Mobile Ad Hoc and Sensor Systems,2016.
[3] Ma Limin,Ge Yu,Zhu Yuesheng.Tinyzkp:A lightweight authentication scheme based on zero-knowledge proof for wireless body area network[J].Wireless personal communications,2014,77(2):1077-1090.
[4] Wang Haodong,ShengBo,Tan Chiu C,et al.Public-key basedaccess control in sensornet[J].Wireless Networks,2011,17(5):1217-1234.
[5] Jingwei Liu,Zonghua Zhang,Xiaofeng Chen,et al.Certificateless remote anonymous authentication schemes for wireless body area networks[J].IEEETrans Parallel Distrib Syst,2014,25(2): 332-342.
[6] Daojing He,Sammy Chan,Yan Zhang.Light weight and Confidential Data Discovery and Dissemination for Wireless Body Area Networks[J].IEEE Journal of Biomedical and Health Informatics,2014,18(2):440-448.
[7] Pardeep Kumar,Sang-Gon Lee,Hoon-Jae Lee.A User Authentication for Healthcare Application using WirelessMedical Sensor Networks[C]//IEEE International Conference on High Performance Computing and Communications,2011.
[8] 苏忠,林闯,封富君,等.无线传感器网络密钥管理的方案和协议[J].软件学报,2007,18(5):1218-1231.
[9] 张曼君.无证书公钥密码体制的理论与应用研究[D].西安:西安电子科技大学,2013.
[10] 迟令.基于无线传感器网络的身份认证体系的研究[D].长春:吉林大学,2015.
[11] Neal Koblitz,Alfred Menezes,Scott Vanstone.The State of Elliptic Curve Cryptography[J].Designs,Codes and Cryptography,2000,19(2-3):173-193.
[12] H Wang,B Sheng,Q Li.Elliptic curve cryptography-based access control in sensor networks[J].Int.J.Security and Networks,2006(1):127-137.
[13] CC Chang,HC Tsai.An Anonymous and Self-Verified Mobile Authentication with Authenticated Key Agreement for Large-Scale Wireless Networks[J].IEEE Transactions on Wireless Communications,2010,9(11):3346-3353.
MutualUserAuthenticationofWirelessMedicalSensorNetwork
DingXingtao,ZhongBocheng,ZhuShuwen
(Electronic Institute of Electrical Engineering,Shanghai University of Engineering Science,Shanghai 201620,China)
In the paper,a mutual user authentication scheme is proposed,including initialization,user registration,identity authentication,confidential information and password updated.The scheme realizes the mutual user authentication between users,medical sensor nodes and individual servers,which ensures the anonymity of users while resisting multiple attacks.Compared with the two existing authentication schemes,the time complexity is reduced and the scheme is suitable for medical sensor network.
wireless medical sensor network;security and privacy;user authentication
TP393
A
薛士然
2017-09-05)