1.基于无线体域网的群匿名认证方法,其特征在于:包括以下步骤:
系统初始化阶段:网关节点发布安全哈希函数,并利用中国剩余定理将用户分组后计算各个用户组的密钥;
所述系统初始化阶段中,网关节点发布安全哈希函数,并利用中国剩余定理将用户分组后计算各个用户组的密钥的步骤,包括:网关节点GWN协商4个安全哈希函数,分别为H0、H1、H2、H3,有:
* 512
H0:{0,1}→{0,1}
* 256
H1:{0,1}→{0,1}
*
H2:{0,1}→{0,1,...,1023}
* 160
H3{0,1}→{0,1}
其中,H0将输入的任意长度的二进制串转换为长度为512的二进制串输出;H1将输入的任意长度的二进制串转换为长度为256的二进制串输出;H2将输入的任意长度的二进制串转换为集合{0,1,...,1023}中的任意一个元素作为输出;H3将输入的任意长度的二进制串转换为长度为160的二进制串输出;
网关节点GWN中预设有N个用户U1,U2,...,UN,各个用户的身份为ID1,ID2,...,IDN,每t个用户为一个用户组,共有m=N/t个组;第s个用户组{Us1,Us2,…Ust}共同拥有群假名GIDs,群密钥kgs,s∈m;
网关节点GWN选择m个两两互素的整数Z1,Z2,...,Zm,利用中国剩余定理计算:
得到Au1={ID1,IDt+1,ID2t+1,...,ID(m‑1)t+1}的同余方程解,每一个Auj对应一个密钥kj,j∈t,Auj为{IDj,IDt+j,ID2t+j,...,ID(m‑1)t+j}的解;使用群假名GIDs替代用户真实的ID,使用群密钥kgs对Auj进行加密;
传感器节点注册阶段:部署新的传感器节点时,向网关节点申请注册,注册后网关节点给传感器节点返回相关参数;
用户注册阶段:新的用户需要访问传感器节点之前,向网关节点申请注册,注册后网关节点给用户返回相关参数;
用户与传感器节点相互认证阶段:用户需要访问传感器节点的健康数据时,通过网关节点完成用户与传感器之间的相互认证;
用户口令更新阶段:用户若要更改新的口令,则更新智能卡中的相关参数。
2.根据权利要求1所述的基于无线体域网的群匿名认证方法,其特征在于:所述传感器节点注册阶段中,部署新的传感器节点时,向网关节点申请注册,注册后网关节点给传感器节点返回相关参数的步骤,包括:传感器节点SNk通过安全信道将其真实身份IDsnk发送给网关节点GWN,网关节点GWN收到IDsnk后,检查IDsnk在传感器节点身份信息表中是否存在,如果存在,则拒绝该注册请求;否则,网关节点GWN随机生成一个随机数rk,初始化序列号SGk=GSk=0;
网关节点GWN将元信息{rk,IDsnk,GSk}添加到传感器节点身份信息表中,并通过安全信道将{SGk,rk}发送给传感器节点SNk;传感器节点SNk接收到{SGk,rk}后将其秘密存储起来。
3.根据权利要求2所述的基于无线体域网的群匿名认证方法,其特征在于:所述用户注册阶段中,新的用户需要访问传感器节点之前,向网关节点申请注册,注册后网关节点给用户返回相关参数的步骤,包括:用户Ui生成自身的口令PWi,并随机生成一个随机数bi,计算哈希值Pui=H0(PWi||bi),其中||表示连接符,通过安全信道将{Pui}发送给网关节点GWN;
网关节点GWN接收到{Pui}后,从ID1,ID2,...,IDN中随机选择一个还未被使用的IDi分配给当前注册用户Ui,通过分配的IDi得到对应的群假名GIDs和Auj,以及对应的群密钥kgs和密钥kj;网关节点GWN选取一个随机数oi,计算哈希值Kui=H1(IDi||kj||oi),计算密文Fi=Pui⊕(Kui||Auj),计算哈希值Vui=H3(H2(Kui||Auj||Pui)),⊕表示异或符号;网关节点GWN将元信息{GIDs,IDi,oi}添加到用户身份信息表中,并将{GIDs,kgs,Fi,Vui}存储到智能卡SC中;
网关节点GWN通过安全信道将智能卡SC发送给用户Ui;用户Ui收到智能卡SC后,将随机数bi存储到智能卡SC中。
4.根据权利要求3所述的基于无线体域网的群匿名认证方法,其特征在于:所述用户与传感器节点相互认证阶段中,用户需要访问传感器节点的健康数据时,通过网关节点完成用户与传感器之间的相互认证的步骤,包括:用户Ui将口令PWi输入智能卡SC中,智能卡SC计算哈希值Pui*=H0(bi||PWi),计算Kui||Auj=Fi⊕Pui*,计算哈希值Vui*=H3(H2(Kui||Auj||Pui*)),比较Vui*与存储的Vui是否相等,若不相当,则拒绝用户Ui登录请求;否则,智能卡SC允许用户Ui登录请求;智能卡SC计算密文CT1=Auj⊕H0(GIDs||kgs||T),T为当前时间戳,随机生成随机数R1,计算密文CT2=(R1||IDsnk)⊕(GIDs||Auj||Kui||T),计算哈希值V1=H3(R1||Kui||GIDs||T);智能卡SC通过安全信道将元信息{GIDs,CT1,CT2,V1,T}发送给网关节点GWN;
网关节点GWN接收到用户Ui的智能卡SC发送的元信息后,验证当前时间戳T是否新鲜,若不新鲜,则网关节点GWN将终止回话;否则,网关节点GWN通过接收到的群假名GIDs找到对应的群密钥kgs,计算Auj=CT1⊕H0(GIDs||kgs||T),计算IDi=Auj mod Zs,得到用户Ui的真实IDi,计算哈希值Kui=H1(IDi||kj||oi),计算R1||IDsnk=CT2⊕H0(GIDs||Auj||Kui||T),计算哈希值V1`=H3(R1||Kui||GIDs|T),比较V1`与V1是否相等,如果不相等,则网关节点GWN拒绝此会话;如果相等,则网关节点GWN随机选择会话密钥R2,计算密文CT3=(R2||IDi)⊕H0(GSk||IDsnk||rk),计算哈希值V2=H3(R2||IDi||IDsnk||GSk||rk);网关节点GWN更新随机数rk=H1(rk||IDsnk),使序列号GSk=GSk+1,通过公共信道将元信息{GSk,CT3,V2}发送给传感器节点SNk;
传感器节点SNk接收到元信息后,检查等式1≤GSk‑SGk≤B是否成立,其中B是由特定应用环境确定的阈值,如果不成立,则传感器节点SNk拒绝此会话;否则,传感器节点SNk设置随机数rk*=rk,并计算x次rk*=H1(IDsnk||rk*),x=GSk‑SGk‑1,计算R2||IDi=CT3⊕H0(rk*||(GSk‑
1)||IDsnk),计算哈希值V2*=H3(R2||IDi||IDsnk||(GSk‑1)||rk*);比较V2*与V2是否相等,如果不相等,则传感器节点SNk拒绝此会话;否则,传感器节点SNk计算哈希值V3=H3(IDi||IDsnk||R2||GSk),并更新随机数rk=H1(rk*||IDsnk),使SGk=GSk;最后,传感器节点SNk向网关节点GWN发送元信息{IDsnk,V3};
网关节点GWN计算哈希值V3*=H3(IDi||IDsnk||R2||GSk),比较V3*与V3是否相等,如果不相等,则网关节点GWN拒绝此会话;否则,网关节点GWN计算密文CT4=(R2||IDi)⊕H0(IDsnk||R1||Kui||Auj),计算哈希值V4=H3(R2||R1||IDi||IDsnk),将元信息{CT4,V4}发送给用户Ui;
用户Ui收到元信息{CT4,V4}后,计算(R2||IDi)=CT4⊕H0(IDsnk||R1||Kui||Auj),计算哈希值V4*=H3(R2||R1||IDi||IDsnk),比较V4*与V4是否相等,如果不相等,则用户Ui拒绝此会话;否则,用户Ui与传感器节点SNk会话成功。
5.根据权利要求4所述的基于无线体域网的群匿名认证方法,其特征在于:所述用户口令更新阶段中,用户若要更改新的口令,则更新智能卡中的相关参数的步骤,包括:用户Ui向智能卡SC输入原始的口令PWi,智能卡SC计算哈希值Pui=H0(bi||PWi),计算Kui||Auj=Fi⊕Pui,计算哈希值Vui`=H3(H2(Kui||Auj||Pui*)),比较Vui`与Vui是否相等,如果不相等,则智能卡SC拒绝本次更新请求;否则,用户Ui向智能卡输入新的口令PWi*;
智能卡SC计算哈希值Pui`=H0(PWi*||bi),计算密文Fi`=Pui⊕(Kui||Auj),计算哈希值Vui``=H3(H2(Kui||Aui||Pui`));智能卡SC存储更新的口令PWi*,并使用Fi`和Vui``替换Fi和Vui。