朱淑文, 钟伯成, 王加宾, 丁邢涛
(上海工程技术大学 电子电气工程学院,上海 201620)
无线体域网(wireless body area networks,WBAN)应用于医疗领域过程中,智能传感器终端采集传输的数据都是与患者生命紧密相关的生理信息,确保相关信息安全是WBAN中一项至关重要的任务,而身份认证作为实现数据安全第一道屏障,成为WBAN中的研究热点。文献提出一种基于心脏搏动间隔的轻量级身份认证方法,根据对心脏搏动间隔的随机性和时变性的分析,设计了一种动态个体识别码的编码方案。文献提出了一种基于心电(electrocardiograph,ECG)信号的安全框架。发送者的ECG原始信号经特征值提取为二进制序列,哈希运算后生成消息认证码,接收者对消息认证码进行概率估算并与医疗数据库中储存的特征值匹配判断发送者的身份。但是目前生理特征的提取或准确率不高,或过于复杂,信息保护方案的性能有待进一步的提高。
本文针对WBAN中传感器节点能量资源严重受限与生理特征提取准确性不高的实际情况,设计了一种基于集合编码的ECG生物特征提取方法和零知识认证相结合的双向身份认证协议。
以往对ECG信号处理的方法是基于模糊提取器的生物密钥算法,将生物特征表征为有序的二进制序列,这会使生物密钥产生大量的冗余编码。本文心电特征表征方法基于整数集合的表示模式将心电特征表示为无序的集合,在分发过程中不用产生大幅冗余的编码,大大降低了编码过程中的平均错误率。传感器节点采集到ECG信号后采用文献提出的Vita Code心电生物特征提取表示方法。图1为Vita Code心电图特征提取处理流程。
图1 Vita Code心电图特征提取处理流程
全球定位系统(global positioning system,GPS)身份识别协议具有以下特点:在一般任意模数离散对数问题难解的假设下是可以证明安全的,基于身份的短密钥,有非常小的信息传输量和最小化的在线计算量,适用于WBAN节点能量受限和安全需求较高的情况。
医疗传感网主要有无线体域网、用户终端和医疗云服务器组成,用户终端收集各个医疗传感器发送的生理信息,通过基站、网关等外部网络将医疗信息传送至医疗云服务器。认证协议将基于ECG特征口令的认证实现用户终端对云服务器的验证,并在基于协议的基础上,用心电特征值作为用户终端的私钥进行认证,实现用户终端和云服务器之间的双向认证。认证协议主要包括系统初始化、用户终端注册、认证。协议的简单流程如图2。
图2 认证协议流程
认证协议的符号定义为CT为用户终端,X为注册的心电特征集合,CS为云服务器,Y为待验的心电特征集合,⊕为逻辑异或操作,id为用户身份。
阶段一UT→CS
1)UT采集并提取病人的ECG特征集合为X={x1,…,xi,…,xm},0 2)利用ECG特征集合X构建一个m阶的特征多项式 (1) 式中p=2q为公开的,该过程在有限域GF(2q)上计算。 3)在整数集U中随机的抽取t个不同的元素构成集合E={e1,…,ei,…,et},计算多项式P(z)在集合E上的函数值,而得到点集 V={〈e1,P(e1)〉,…,〈ei,P(ei)〉,…,〈et,P(et)〉} (2) 4)选取私钥s∈[0,S],计算D≡g-Xmod(n),θ=s⊕X,H(s)=hash(s),并将id,θ,D,V,H(s)发送给CS。 阶段二CS→UT发送注册成功信息 CS检查UT的合法性后,将UT发来的id,θ,D,V,H(s)存储在CS的数据库中,然后向UT发送注册成功的消息。 阶段一UT→CS,id UT发送id请求CS认证。 阶段二CS→UT,θ,V,H(s) CS通过数据库找出id对应的θ,V,H(s),发送给UT。 阶段三UT→CS,φ 1)UT将采集的心电生物特征Y表示为一个m阶的无序整数集合Y={y1,…,yi,…,ym},0 (3) 从V提取出t个互异的元素构建E={e1,…,ei,…,et},计算多项式Q(z)在集合E上的函数值,从而得到点集 {〈e1,Q(e1)〉,…,〈ei,Q(ei)〉,…,〈et,Q(et)〉} (4) 2)假设有t个未知的变量:A={a1,…,ai,…,au}和B={b1,…,bi,…,bv},A⊂U,B⊂U,其中u=mX-(mX+mY-t)/2=(mX-mY+t)/2,v=mY-(mX+mY-t)/2=(mX-mY+t)/2,由此构建两个特征多项式 (5) 3)基于上述t个未知变量,构建t个独立的方程 P(ei)B(ei)=Q(ei)A(ei),i=1,…,t (6) 因为{P(e1),…,P(ei),…,P(et)}和{Q(e1),…,Q(ei),…,Q(et)}已经被计算出来,故该方程组可解的唯一的值,A={a1,…,ai,…,au},B={b1,…,bi,…,bv}。假如B⊄Y,则认证过程停止,如果B⊂Y,从m阶集合Y中减去那些也在u阶集合B中的共同元素,再加上u阶集合A的所有元素,可以计算出一个新的m阶集合 X*=(Y-B)∪A (7) 此时X*为恢复出来的注册的ECG特征值集合。 4)UT计算私钥s*=X*⊕θ,计算H(s*)=hash(s*),比较H(s*)与接收的H(s)是否相同,如果相同,则证明CS是合法的,然后从[0,M)中随机选择一个数r,并计算φ≡gr(mod(n)),将其发送给服务器。 阶段四CS→UT,c CS从[0,B)中随机选择一个挑战c发送给UT。 阶段五UT→CS,y 计算y=r+cX并将其发送给CS,y为响应应答。 阶段六CS通过验证y∈[0,M+Φ)及φ*≡gyDz(mod(n))是否与φ相同,如果验证通过则接收UT的证明,否则协议停止。 根据协议安全需求,CS要求UT重复上述认证过程l次。一般在实际应用中,当参数|N|=32的情况下,只认证1次即满足安全需要。 定理1 在本协议中当ECG生理特征集合X与Y满足互异相似门限条件时,即当|X|+|Y|-2|X∩Y|≤t时,得到(Y-B)∪A=X,可实现对注册心电特征X进行复现。 定理2 合法的CS能通过UT的验证,即正确的H(s)能够通过等式H(s*)=H(s)的验证。 证明:因为s*=X*⊕θ=X*⊕(s⊕X)=s,所以正确的H(s)能够通过等式H(s*)=H(s)的验证。 定理3 合法的UT能通过CS的验证,即正确的(c,y)能够通过等式φ*≡φ(mod(n))的验证。 证明:由于y=r+cX,D≡g-X(mod(n)),φ*≡gr(mod(n)),故φ*≡gyDc≡gr+cX(g-X)c≡gr(mod(n)),故φ*≡φ(mod(n))。所以正确的(c,y)能够通过等式φ*≡φ(mod(n))的验证。 1)保护ECG隐私属性在UT认证CS合法性过程中,攻击者有机会获取密钥恢复的辅助信息θ,为了获得私钥s,只能通过暴力猜测的方式获得除了V中部分X信息之外的X信息,而注册ECG特征X中元素的取值在(0,MAX〗之间,破解出V中t个元素之外的其他X元素的计算复杂度为MAXm-1。因此攻击者不能获得UT的ECG特征集合X*。整个认证阶段ECG特征值X以D≡g-X(mod(n))存储,因为由D和g解出X是离散对数难题,所以生物特征认X是安全的。 2)抵御伪造攻击 由于攻击者无法获得UT的ECG特征集合X*,所以,不能由θ解出的私钥s,从而无法获取注册时的生物特征信息X。在认证过程中如果θ被伪造,UT在恢复出私钥s后,计算出的H(s)*如果与CS发送的H(s)不相等时,说明θ被伪造,立即终止协议。 3)抵御重放攻击 对于重放攻击来说,尽管注册ECG特征X为GPS协议的私钥不会改变,但CS对UT的验证中采用了一次性随机数的挑战,可见攻击者重放在以前通信过程中窃听到的随机数时无法通过认证。 4)双向认证 本协议实现了UT 和CS之间的双向认证。UT对CS的验证采用的是基于ECG特征口令的身份认证技术,协议安全性是基于私钥s的安全性,s的安全性由单向哈希函数保证。CS对UT的认证是基于GPS的身份识别协议设计的,认证过程中由注册的心电特征集合作为用户的秘密信息,GPS协议的安全性可以保证这部分的安全性。 在UT对CS认证过程中,采用基于集合编码的心电特征作为口令信息,通过实验比较文献中介绍的有序二进制编码和本协议所用的Vita Code的集合编码方法对ECG特征识别的准确性的影响。 图3给出了实验采用有序二进制编码方法与集合编码方法(编码长度m=64;特征选取RR;值量化参数q=4)时,所得的错误接受率(FAR)和错误拒绝率(FRR)曲线。鉴于两种表征方法采取的不同测度距离,故平均错误率(EER)是相对准确且合理的对比指标。图3(a)中二进制编码的ERR为3.27 %,图3(b)中集合编码的ERR为2.66 %。因此,本文采用的集合编码表征方法在准确性上有更好的效果,平均错误率更少。在CS对UT的GPS认证过程中,可以只需1次验证,就可达到安全水平。本文的通信量和计算量均较少,适用于WBAN中能源受限的UT。 图3 准确性分析结果 本文在介绍WBAN的相关背景知识和ECG特征提取方法的基础上,根据医疗无线体域网认证机制的安全需求,提出了一种满足UT和CS之间的双向身份认证协议。通过对协议的正确性、安全性和效率分析表明该协议满足医疗无线体域网的认证需求。2.3 认证阶段
3 协议分析
3.1 正确性分析
3.2 安全性分析
3.3 效率分析
4 结束语