发明名称 无线传感网络中基于密码hash计算的认证方法
摘要 本发明属于信息安全技术领域,涉及一种无线传感网络中基于密码hash计算的认证方法,包括初始化、认证与建立密钥阶段、旧节点撤销、新节点加入四个部分,其中,初始化时,BS作为一个特殊节点负责为普通节点产生密钥并存储所有节点的秘密信息,首先通过BS为普通节点共享密钥,并将共享密钥与对应的节点ID一起组成认证集,然后将该普通节点的认证集和hash函数一起预加载到该节点中,并将该节点的认证集中的共享密钥与该节点的ID一起加载到与该节点相对应的普通节点的认证集中。本发明提供的认证方法认证身份时只需要进行一次密码hash计算,实现十分简单,在安全方面也能同时抵抗针对认证协议的被动攻击和主动攻击。
申请公布号 CN103037367B 申请公布日期 2015.07.08
申请号 CN201210578596.4 申请日期 2012.12.27
申请人 天津大学 发明人 孙达志;王月娇;冯志勇
分类号 H04W12/04(2009.01)I;H04W12/06(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W12/04(2009.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 程毓英
主权项 一种无线传感网络中基于密码hash计算的认证方法,包括初始化、认证与建立密钥阶段、旧节点撤销、新节点加入四个部分,其中,(1)初始化部分:假设系统中共N个普通节点,BS作为一个特殊节点负责为它们产生密钥并存储所有节点的秘密信息,首先对于普通节点中的每一个,通过BS为该普通节点产生与其他一些普通节点及BS节点本身的共享密钥,并将共享密钥与对应的节点ID一起组成认证集,然后将该普通节点的认证集和hash函数一起预加载到该节点中,并将该节点的认证集中的共享密钥与该节点的ID一起加载到与该节点相对应的普通节点的认证集中,保证共享密钥出现在成对的节点中;(2)认证与建立密钥部分:普通节点之间需要认证并建立会话密钥,普通节点与特殊节点BS之间同样也需要认证和建立会话密钥,设A和B分别为两个需要认证和建立会话密钥的节点,两者之间的交互过程如下:步骤1:节点A产生随机数t<sub>A</sub>,然后广播ID<sub>A</sub>,t<sub>A</sub>;步骤2:节点B收到消息后产生随机数t<sub>B</sub>,计算K<sub>AB</sub>=h(k<sub>AB</sub>‖t<sub>A</sub>‖t<sub>B</sub>)、Z<sub>B</sub>=h(ID<sub>B</sub>‖t<sub>B</sub>‖K<sub>AB</sub>),然后广播ID<sub>B</sub>,t<sub>B</sub>,Z<sub>B</sub>,式中,‖为前后两个字符之间的连接运算,h()为对括号内的字符计算哈希函数值;步骤3:节点A收到消息后计算K<sub>AB</sub>=h(k<sub>AB</sub>‖t<sub>A</sub>‖t<sub>B</sub>),进行hash计算后检查Z<sub>B</sub>是否正确,如果Z<sub>B</sub>正确则节点A确认B的身份和会话密钥K<sub>AB</sub>,然后计算Z<sub>A</sub>=h(ID<sub>A</sub>‖t<sub>A</sub>‖K<sub>AB</sub>),并广播Z<sub>A</sub>,否则丢弃消息,认证失败;步骤4:节点B收到消息后对(ID<sub>A</sub>‖t<sub>A</sub>‖K<sub>AB</sub>)进行hash计算,检查Z<sub>A</sub>是否正确,如果正确,则节点B确认A的身份及会话密钥K<sub>AB</sub>,否则丢弃消息,认证失败;其中的旧节点撤销部分为:设节点N<sub>X</sub>为网络中某个已存在并需要退出网络的旧节点,BS将撤销旧节点N<sub>X</sub>的消息发送给那些与N<sub>X</sub>有共享密钥k<sub>iX</sub>的普通节点N<sub>i</sub>,然后再撤销旧节点N<sub>X</sub>在BS中的相关信息,BS与普通节点N<sub>i</sub>的交互过程如下:步骤1:BS产生随机数t<sub>S</sub>,然后广播R_D,<img file="FDA0000666032850000011.GIF" wi="110" he="66" />t<sub>S</sub>,其中R_D是旧节点撤销的标志,<img file="FDA0000666032850000012.GIF" wi="90" he="65" />为普通节点N<sub>i</sub>的ID;步骤2:节点N<sub>i</sub>收到消息后产生随机数t<sub>i</sub>,用与BS的共享密钥k<sub>is</sub>加密<img file="FDA0000666032850000013.GIF" wi="374" he="69" />得到Z<sub>i</sub>,然后发送<img file="FDA0000666032850000014.GIF" wi="113" he="69" />t<sub>i</sub>,Z<sub>i</sub>;步骤3:BS用其与节点N<sub>i</sub>的共享密钥k<sub>is</sub>对Z<sub>i</sub>进行解密检查Z<sub>i</sub>的正确性,如果正确,则利用k<sub>is</sub>对<img file="FDA0000666032850000015.GIF" wi="583" he="70" />进行加密计算并得到Z<sub>S</sub>,其中,ID<sub>X</sub>是要撤销的旧节点N<sub>X</sub>的ID,k<sub>iX</sub>是旧节点N<sub>X</sub>与普通节点N<sub>i</sub>的共享密钥,然后BS发送Z<sub>S</sub>;步骤4:节点N<sub>i</sub>收到消息后用共享密钥k<sub>is</sub>对Z<sub>S</sub>进行解密并检查R_D、<img file="FDA0000666032850000016.GIF" wi="117" he="67" />t<sub>S</sub>、t<sub>i</sub>是否正确,如果正确则认证BS,然后从AS<sub>i</sub>中删除ID<sub>X</sub>、k<sub>iX</sub>;其中的新节点加入部分:新节点N<sub>n+1</sub>加入网络中时,BS首先为它产生与其他已存在节点的共享密钥组成该节点的认证集(AS<sub>n+1</sub>),然后BS与已存在的一些普通节点进行通信,使他们添加有关新节点的记录;BS与普通节点N<sub>i</sub>的通信过程如下:步骤1:BS产生随机数t<sub>S</sub>,然后广播R_A,<img file="FDA0000666032850000017.GIF" wi="108" he="69" />t<sub>S</sub>,其中R_A是新节点加入的标志;步骤2:节点N<sub>i</sub>收到消息后产生随机数t<sub>i</sub>,用与BS的共享密钥k<sub>is</sub>加密<img file="FDA0000666032850000018.GIF" wi="372" he="75" />得到Z<sub>i</sub>,然后发送<img file="FDA0000666032850000019.GIF" wi="106" he="69" />t<sub>i</sub>,Z<sub>i</sub>;步骤3:BS用其与节点N<sub>i</sub>的共享密钥k<sub>is</sub>对Z<sub>i</sub>进行解密检查Z<sub>i</sub>的正确性,如果正确,则用k<sub>is</sub>对<img file="FDA0000666032850000021.GIF" wi="647" he="72" />进行加密得到Z<sub>S</sub>,其中,ID<sub>n+1</sub>是要加入的新节点N<sub>n+1</sub>的ID,k<sub>i(n+1)</sub>是新节点N<sub>n+1</sub>与普通节点N<sub>i</sub>的共享密钥,然后BS发送Z<sub>S</sub>;步骤4:节点N<sub>i</sub>收到消息后用共享密钥k<sub>is</sub>对Z<sub>S</sub>进行解密并检查R_A、<img file="FDA0000666032850000022.GIF" wi="111" he="67" />t<sub>S</sub>、t<sub>i</sub>是否正确,如果正确则认证BS,然后添加ID<sub>n+1</sub>、k<sub>i(n+1)</sub>到N<sub>i</sub>的认证集中。
地址 300072 天津市南开区卫津路92号