针对现有无线医疗传感器网络环境下身份认证协议在登录和密码更新阶段效率低下的问题,提出了一种基于椭圆曲线加密的身份认证协议.该协议可快速检测不正确的输入,将Hash函数与椭圆曲线加密算法相结合,使登录和密码更新阶段更有效.通过形式化分析工具BAN逻辑和仿真实验对该协议进行安全及性能分析,发现其可以抵御常见的攻击,如仿冒、重放、在线或离线密码猜测等,同时在性能上也符合无线医疗传感器网络的应用需求.
Due to the inefficiency of the existing identity authentication protocol during the login and password update phase in the existing wireless medical sensor network environment, an elliptic curve cryptosystem based authentication protocol suing smart card was presented. The proposed protocol can quickly detect incorrect inputs. The proposed protocol combines the Hash function with the elliptic curve encryption algorithm, which makes its login and password update phases more efficient. Finally, using the BAN logic analysis, it is given that the proposed scheme is more secure than other protocols. The proposed protocol's computing performance and communication costs is also superior to other related authentication protocols.
近年来,随着网络技术的发展,可以为患者家庭提供医疗服务的远程医疗信息系统也得到了快速发展,并已成为现代医疗服务的一种新的模式[1].在这类医疗系统中,利用无线医疗传感器网络(WMSN, wireless medical sensor network)获取患者的生命体征(如血压、血糖)并通过无线通道将其发送给后台服务器的医疗系统发展最为迅速.
WMSN具有不同于传统网络的特征[2]:1)网络规模大,节点的计算能力和能量都有限;2) WMSN中的节点具有移动性,网络结构灵活;3)节点以无线方式通信,且部署在开放的环境中.因此,WMSN可能会面临各种安全威胁.再者,WMSN中存储着大量与患者相关的信息,在使用该系统的过程中若发生信息泄露将造成严重后果.为此,许多研究者提出身份认证与密钥协商协议来解决这类安全问题.
近些年,研究者提出许多基于远程医疗环境下的身份认证协议.例如,Hu等[2]提出了一种利用传感器的实时监测系统,该系统利用对称加密算法来保证传输数据的机密性与病人隐私,但该方案无法实施有效的身份认证. Le等[3]提出了一种远程医疗环境下基于椭圆曲线加密(ECC, elliptic curve cryptography)的身份认证与密钥协商协议,然而通过分析发现[4]该协议容易遭受信息泄露攻击,恶意用户可以获得其他用户的重要信息.随后,Yeh等[5]提出了一种无线传感器网络(WSN, wireless sensor network)环境下基于ECC技术的认证协议.然而,Shi等[6]发现Yeh等提出的协议并不能成功实施双向认证.
2012年,Wu等[7]提出了一种基于远程医疗信息系统的身份认证协议,该协议通过增加一个预计算阶段的方法使得其更适合使用在计算资源受限的设备中.然而,He等[8]指出Wu等所提协议不能抵抗伪装攻击并提出了一个改进的认证协议.随后,Wei等[9]指出上述协议存在计算效率低的问题并提出了一个适用于远程医疗系统的改进的认证协议.然而,Abdellaoui等[10]指出Wei等的方案易遭受离线字典攻击并提出了一个改进方案.
2013年,Chen等[11]提出了一种适用于远程医疗系统下的基于动态ID的身份认证协议.然而,Lin等[12]指出Chen等所提协议可以通过丢失的智能卡采用离线字典攻击来获得用户的身份信息,同时提出了一种改进的可以抵御字典攻击并保护用户隐私的认证协议. Cao等[13]指出Chen等的方案容易受到离线身份猜测攻击和使用盗用智能卡的在线密码猜测攻击,同时也提出了改进的认证协议来抵御猜测攻击.
上述认证协议大多没有考虑用户输入错误ID和口令情况下协议应采取的措施,这将导致认证协议易遭受拒绝服务攻击.为克服该缺陷,笔者提出一种改进的身份认证协议,协议能够保护用户的隐私并抵制猜测攻击.
1 预备知识 1.1 系统模型无线医疗系统是主要使用WSN来采集患者数据,并通过数据分析与处理技术在医疗机构中进行远程医疗服务的无线应用系统[14].该系统主要包括医疗传感器节点、网关以及医生等,其系统架构如图 1所示.当患者住进医院后,医疗传感器会持续监测并存储其生理数据.随后,传感器将所获得的数据通过Wi-Fi等方式传递到基站.基站通过有线或无线的方式将收集到的数据传输给远程医疗系统,供医生等专业人士分析和监测患者病情.
ECC方案[15]最早是由Miller和Koblitz分别独立提出的.与RSA相比,ECC只需更短的密钥长度,就能达到与RSA相同的安全级别[15].
假定p为一大素数,GF(p)表示模p构成的一个有限域. GF(p)上的椭圆曲线E定义为
$ {y^2} = {x^3} + ax + b $ | (1) |
其中a, b∈GF(p)且满足4a3+27b2≠0(mod p). P(x, y)是椭圆曲线E上的点,当且仅当P(x, y)满足式(1).无穷远点∞也在椭圆曲线上.所有满足式(1)的点加上无穷远点∞构成了椭圆曲线Ep(a, b)或者E.椭圆曲线E上的标量乘法定义为
$ kP = P + P + \cdots + P\left( {k次} \right) $ | (2) |
其中:k∈GF(p)是一正整数,P是E上的点.
椭圆曲线离散对数难题:给定一个定义在有限域GF(p)上的椭圆曲线E,给定点P, Q∈E,则找到一个整数k∈Zq*,使得Q=kP是困难的.
椭圆曲线Diffie-Hellman难题:给定一个定义在有限域GF(p)上的椭圆曲线E,给定P, aP, bP∈E,其中a, b∈Zq*,则计算abP是困难的.
2 所提出的认证协议 2.1 初始化阶段首先,服务器S选择一个大的素数p以及定义在有限域GF(p)上的椭圆曲线E.然后,在E上选择一个阶为q(q为素数且q≤p)的基点P. S选择一随机整数s∈Zq*为其私钥,并计算出对应的公钥Ppub=sP.
紧接着,S选定2个Hash函数h(·)和H(·).其中,h(·)的功能为将一个任意长度的字符串转换为一个小于q的整数,即h:{0, 1}*⇒Zq;H(·)的功能为将椭圆曲线E上的点转换成一个长度为l的0, 1字符串,即H:Ep(a, b)⇒{0, 1}l.
随后,S公布公共参数{E, h(·), H(·), P, Ppub, q}.
2.2 注册阶段步骤1 用户Ui选择其口令Ki和一个随机值b并计算Wi=h(Ki‖b).随后,Ui通过安全通道将消息{Ni, Wi}(其中Ni为用户的身份标识符)传递给S.
步骤2 当收到Ui的请求后,S首先验证用户的身份标识符Ni是否已注册过.如注册过,S要求用户重新选一个标识符;否则,S计算Hi=h(s⊕Ni)、vi = Wi⊕Hi.随后,S将参数vi输入到智能卡中并将该卡通过安全方式传递给Ui且将Ni存储在数据库中.
步骤3 用户Ui计算Hi=vi⊕Wi、Ai=b⊕h(Ni‖Ki)以及Bi=h(b‖Hi‖h(Ni‖Ki)).随后,Ui将Ai与Bi输入自己的智能卡中.
2.3 登录阶段步骤1 用户Ui向智能卡中输入其标识符Ni以及对应的口令Ki.
步骤2 智能卡计算b=Ai⊕h(Ni‖Ki)、Wi = h(Ki‖b)以及Hi=vi⊕Wi.随后验证Bi
步骤1 收到消息{C1, C2, Ti}后,S首先计算Tc1-Ti≤ΔT是否成立,其中Tc1为S收到消息的时间,而ΔT为所允许的最大时间间隔.如果成立,S计算Psu=sC1、M1*=C2⊕H(Psu)=(Ni‖Ri‖ri‖Ti)、Hi =h(d⊕Ni).随后,S验证Ri
步骤2 S计算通信密钥sksu=h(Hi‖ri‖Ti‖Ts)以及变量Yi=h(Ni‖sksu‖Hi),其中Ts为S的当前时间戳.随后,S将消息{Yi, Ts}返回给用户Ui.
步骤3 收到消息{Yi, Ts}后,用户Ui首先判断Tc2-Ts≤ΔT是否成立,其中Tc2为Ui收到消息的时间.如成立,Ui计算通信密钥skus=h(Hi‖ri‖Ti‖Ts),并判断Yi
用户Ui可以在没有服务器S的帮助下随时更新口令.具体步骤如下:
步骤1 Ui将智能卡插入终端,输入身份信息Ni和口令Ki.
步骤2 智能卡计算h(Ni‖Ki)、b=Ai⊕h(Ni‖Ki)以及Hi=vi⊕Wi.随后, 智能卡验证Bi
步骤3 当Ui输入新口令Knew后,智能卡计算Wnew=h(Knew‖b)、vnew=Hi⊕Wnew、Anew=b⊕h(Ni‖Knew)以及Bnew=h(b‖Hi‖h(Ni‖Knew)).随后,智能卡用Anew、Bnew、vnew分别替代Ai、Bi、vi.
3 协议的安全性分析 3.1 基于BAN逻辑的安全性证明BAN逻辑是一种基于信念的模态逻辑. BAN逻辑分析中使用的一些符号描述如下:
P|≡X:主体P相信X是真的;
P⊲X:主体P接收到含X的消息;
P|⇒X:P对X有管辖权;
#(X):消息X是新鲜的;
P|≡Q
P
{X}k:用密钥k加密后的密文.
常见的BAN逻辑推理规则描述如下:
规则1 消息含义规则:
规则2 临时值验证规则:
规则3 管辖规则:
规则4 消息新鲜性规则:
所提协议将满足以下目标:
$ \begin{gathered} {G_1}:{U_i}\left| { \equiv \left( {{U_i}\overset {sk} \longleftrightarrow S} \right)} \right. \hfill \\ {G_2}:S\left| { \equiv \left( {{U_i}\overset {sk} \longleftrightarrow S} \right)} \right. \hfill \\ \end{gathered} $ |
所提协议验证阶段传输的消息形式化描述如下:
消息1 Ui→S:{Ni, ri, (Ni, ri, Ti)H}e, Ti.
消息2 S→Ui:(Ui, Ui
所提协议的初始假设如下:
$ \begin{gathered} {A_1}:{U_i} \equiv \# \left( {{T_i}} \right) \hfill \\ {A_2}:S \equiv \# \left( {{T_s}} \right) \hfill \\ {A_3}:{U_i}\left| \equiv \right.\left( {{U_i}\overset H \longleftrightarrow S} \right) \hfill \\ {A_4}:S\left| \equiv \right.\left( {{U_i}\overset H \longleftrightarrow S} \right) \hfill \\ {A_5}:{U_i}\left| { \equiv S\left| \equiv \right.} \right.\left( {{U_i}\overset H \longleftrightarrow S} \right) \hfill \\ {A_6}:S\left| \equiv \right.{U_i}\left| \equiv \right.\left( {{U_i}\overset H \longleftrightarrow S} \right) \hfill \\ \end{gathered} $ |
基于BAN逻辑规则和初始状态假设,所提协议的形式化分析步骤如下:
由上述消息1可得S1:S⊲(Ni, ri, Ti)H, Ti.
根据A4,由规则1可得S2:S|≡Ui|~Ti.
根据A1,由规则4可得S3:S|≡#(Ni, ri, Ti)H.
根据S2、S3,由规则2可得
$ {S_4}:S\left| { \equiv {U_i}\left| { \equiv {{\left( {{N_i}, {r_i}, {T_i}} \right)}_H}} \right.} \right. $ |
根据A4与S4,由规则3可得S5:S|≡Ti.
根据sk=h(Hi‖ri‖Ti‖Ts)、S5以及A2,由规则2可得S6:S|≡(Ui
根据消息2,可得S7:Ui⊲(Ni, Ui
根据A3,由规则1可得S8:Ui|≡S|~Ts.
根据A2,由规则4可得
$ {S_9}:{U_i}\left| \equiv \right.\#{\left( {{N_i}, {U_i}\overset {sk} \longleftrightarrow S} \right)_H} $ |
根据S8、S9,由规则2可得
$ {S_{10}}:{U_i}\left| \equiv \right.S\left| \equiv \right.{\left( {{N_i}, {U_i}\overset {sk} \longleftrightarrow S} \right)_H} $ |
根据A3与S10,由规则3可得S11:Ui|≡Ts.
根据sk=h(Hi‖ri‖Ti‖Ts)、S11以及A1,可得
$ {S_{12}}:{U_i}\left| \equiv \right.\left( {{U_i}\overset {sk} \longleftrightarrow S} \right)\left( {目标{G_1}} \right) $ |
1) 重放攻击:在所提协议中,用户的登录消息{C1, C2, Ti}包含了时间戳Ti.如果攻击者A想用新的时间戳Ti*代替Ti以发动重放攻击,其必须同时修改C2.而C2=M1⊕H(Pus),其中M1=(Ni‖Ri‖Hi‖Ti).根据ECC的Diffie-Hellman难题,A无法获取Pus值,进而无法计算H(Pus).因此,A无法利用修改的时间戳计算正确的C2,故无法实施重放攻击.
2) 伪装攻击:攻击者A可能尝试生成消息{C1A, C2A, TA}来仿冒合法用户登录系统.为计算正确的C2A,A必须计算对应的Ri=h(Ni‖ri‖Hi‖Ti).由于A并未在服务器处注册,无法获得与其伪造的NA所对应的HA,故A无法伪装成合法的用户.
另外,A也可能试图仿冒为服务器.当Ui发送{C1, C2, Ti}到服务器时,A可能会拦截该消息并试图对用户进行响应.但该操作无法成功,因A如回复的是一个截获的消息{Yi, Ts},则该时间戳是失效的.如果将Ts改为当前时间TA,则需计算对应的Y′=h(Ni‖sk′su‖HA)以及sk′su=h(Hi‖ri‖Ti‖TA).为计算sk′su,A必须知道用户的秘密值HA以及ri.故A无法通过修改{Yi, Ts}来仿冒服务器参与认证过程.
3) 前向安全性:如果用户的秘密值Hi被A所获取,其也无法计算出有效的通信密钥skus.因为skus=h(Hi‖ri‖Ti‖Ts)包含了一个随机值ri,而该值在认证过程中被H(Pus)所加密:C2=(Ni‖Ri‖Hi‖Ti)⊕Pus.根据ECC的Diffie-Hellman难题,A无法获得Pus值,进而无法计算H(Pus),故A无法获取该随机值并计算出有效的通信密钥skus,所提协议具备前向安全性.
4) 离线猜测攻击:用户口令与vi=h(Ki‖b)⊕h(d⊕Ni)、Ai=b⊕h(Ni‖Ki)以及Bi=h(b‖Hi‖h(Ni‖Ki))相关.为了使用Bi验证口令的正确性,A需获取b以及Hi.由于Hi=vi⊕h(Ki‖),要想获得Hi,A须先获取b.由于b=Ai⊕h(Ni‖Ki),为了获取b,A须知道口令Ki.而无论是在认证的过程中,还是在智能卡中都没有该信息,依据Hash函数的抗原像性可知,A无法获取口令Ki,故无法实施离线猜测攻击.
5) 有效的双向认证:在认证的过程中,服务器通过判断等式Ri
6) 智能卡丢失攻击:A可能会从一个丢失的智能卡中恢复出信息{Ai, Bi, vi},并尝试使用这些参数生成有效的登录信息.然而,要构建一个有效的登录信息{C1, C2, Ti},A必须获取用户的身份信息Ni以及秘密值Hi,以便计算Ri=h(Ni‖ri‖Hi‖Ti).由于Hi=h(s⊕Ni),其中s为服务器的私钥,A无法获取,故其无法计算出Hi,从而无法构建有效的登录信息,故A无法发动智能卡丢失攻击.
7) 用户匿名性与不可追踪性:由于登录消息{C1, C2, Ti}被智能卡生成的值H(Pus)所加密,被加密的除了用户的ID还有随机值ri等,故A无法从C2中取出用户的身份信息Ni.此外,智能卡中也不包含用户信息,故A也无法通过丢失的智能卡获取身份信息.另外,在不同的会话中时间戳Ti不同,故A无法将同一用户发送的多个登录消息相关联.
4 协议的性能分析对所提协议进行性能评估.在该协议的验证性实验中,用户终端采用的是2.4 GHz的8核ARM和3.0 GB RAM的Android手机,服务器端采用配置为Intel i5-7400 (3.0 GHz)和8.0 GB RAM的台式机.在实验中,所提协议的Hash函数采用SHA-256进行构建,对称加密算法采用AES-128构建并且所有的加密运算都构建在Miracle[16]上.
为方便后续的性能评估,定义以下一些符号.
Th:运行1次Hash函数所需的时间;Tadd:运行1次E上点的加法所需的时间;Tmec:运行1次E上点的标量乘法所需的时间;Ts:运行1次对称加密所需的时间;TE:运行1次幂指运算所需的时间.
表 1所示为上述各种密码运算分别在2.4 GHz的Android智能手机和Intel i5-7400处理器的台式机上的运行时间.依实验得出,计算1次256 bit点的标量乘法在智能手机和应用服务器上所需的时间分别为12 ms和2.38 ms(10次实验的平均值).
表 2展示了所提方案的不同阶段在用户端和服务器端的运行时间.通过表 2可以看出,所提方案在不同阶段所需的运算时间比其他类似方案所需时间更短,并且都在几毫秒的时间内运算完毕.由此可以看出,所提协议在计算性能上能够满足WMSN环境的要求.同时,通过表 2也可以看出所提方案在安全性方面也比其他相关方案更优.
远程医疗系统是将互联网技术应用于医疗领域的一种新的模式.在远程医疗系统中,用户的身份认证与授权访问是十分重要的问题.针对所面临的安全问题,提出了一种基于ECC的动态身份ID的远程身份认证协议,并且通过BAN逻辑证明了所提协议的安全性符合远程医疗系统的要求,而且经分析发现所提协议在计算性能与通信开销方面也优于其他相关方案.
[1] |
彭彦彬, 田野, 彭新光. 一种端到端的医疗无线体域网轻量认证协议[J]. 计算机工程, 2017, 43(6): 73–77.
Peng Yanbin, Tian Ye, Peng Xinguang. An end-to-end lightweight authentication protocol for medical wireless body area network[J]. Computer Engineering, 2017, 43(6): 73–77. doi: 10.3969/j.issn.1000-3428.2017.06.012 |
[2] | Hu F, Jiang M, Wagner M, et al. Privacy-preserving telecardiology sensor networks:toward a low-cost portable wireless hardware/software codesign[J]. IEEE Transactions on Information Technology, 2007(11): 619–627. |
[3] | Le XH, Khalid M. An efficient mutual authentication and access control scheme for wireless sensor networks in healthcare[J]. Journal of Networks, 2011, 6(3): 355–364. |
[4] | He D, Kumar N, Chen J, et al. Robust anonymous authentication protocol for health-care applications using wireless medical sensor networks[J]. Multimedia Systems, 2015, 21(1): 49–60. doi: 10.1007/s00530-013-0346-9 |
[5] | Yeh H L, Chen T H, Liu P, et al. A secured authentication protocol for wireless sensor networks using elliptic curves cryptography[J]. Sensors, 2011, 11(5): 4767–4779. doi: 10.3390/s110504767 |
[6] | Shi W, Gong P. A new user authentication protocol for wireless sensor networks using elliptic curves cryptography[J]. International Journal of Distributed Sensor Networks, 2013: 51–59. |
[7] | Wu Z, Lee Y, Lai F, et al, A secure authentication scheme for telecare medicine information systems[J]. Journal of Medical Systems, 2012, 36(3): 1529-1535. |
[8] | He D, Chen Jianhua, Zhang Rui. A more secure authentication scheme for telecare medicine information systems[J]. Journal of Medical Systems, 2012, 36(3): 1989–1995. doi: 10.1007/s10916-011-9658-5 |
[9] | Wei J, Hu X, Liu W. An improved authentication scheme for telecare medicine information systems[J]. Journal of Medical Systems, 2012, 36(6): 3597–3604. doi: 10.1007/s10916-012-9835-1 |
[10] | Abdellaoui A, Khamlichi Y I. A robust authentication scheme for telecare medicine information system[J]. Procedia Computer Science, 2016(98): 584–589. |
[11] | Chen C, Mitchell Chris J, Tang S. Ubiquitous one-time password service using the generic authentication architecture[J]. Mobile Networks and& Applications, 2013, 18(5): 738–747. |
[12] | Lin X, Sun L. Insecurity of an anonymous authentication for privacy-preserving IoT target-driven applications[J]. Computers & Security, 2015, 48(9): 142–149. |
[13] | Cao Tianjie, Zhai Jingxuan. Improved dynamic ID-based authentication scheme for telecare medical information systems[J]. Journal of Medical Systems, 2013, 37(2): 1–7. |
[14] | Mohammad M, Safiyyeh A. A survey and taxonomy of the authentication schemes in telecare medicine information systems[J]. JNCA, 2017(87): 1–19. |
[15] | Hankerson D, Vanstone S, Menezes A J. Guide to elliptic curve cryptography[M]. New York: Springer-Verlag, 2004. |
[16] | Miracl Library[EB/OL]. Distributed Cryptography Company, 2018. https://libraries.docs.miracl.com. |