发明名称 一种基于MAC单向散列函数的工业无线网络密钥管理方法
摘要 本发明请求保护一种基于MAC单向散列函数的工业无线网络密钥管理方案,加密时引入基于时间的混合随机nonce值,使其难以被破解,引入双散列密钥链,重点解决了单密钥链时全网共享密钥更新暂时中断的问题,并结合广播通信和广播超时后的单播通信执行全网共享密钥更新,提高了密钥更新的可靠性。该方法的特征在于:1)加密时引入nonce值,其包括的时间值、信道号及序列号有效保证了密钥传输的安全性;2)引入双密钥链,保证了密钥更新不会中断;3)广播和单播通信的结合,提高密钥更新的可靠性。与传统的工业无线网络密钥管理方案相比,在不增加节点计算能耗和存储开销的情况下,提高了工业无线网络的安全性,并降低了工业无线网络的通信能耗。
申请公布号 CN104735655A 申请公布日期 2015.06.24
申请号 CN201510136297.9 申请日期 2015.03.26
申请人 重庆邮电大学 发明人 谢昊飞;胡宇;苏德龙;王平;黄森宇;贺洋;温鑫荣
分类号 H04W12/04(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W12/04(2009.01)I
代理机构 重庆市恒信知识产权代理有限公司 50102 代理人 刘小红
主权项 一种基于MAC单向散列函数的工业无线网络密钥管理方法,其特征在于:包括以下步骤:101、预先设计单向散列函数h(x),安全管理器随机生成密钥链a和密钥链b的初始链密钥K<sub>a,0</sub>、K<sub>b,0</sub>,采用单向散列函数h(x)构造两条长度为n的单向密钥链:{K<sub>a,0</sub>,K<sub>a,1</sub>,K<sub>a,2</sub>,K<sub>a,n‑1</sub>},{K<sub>b,0</sub>,K<sub>b,1</sub>,K<sub>b,2</sub>,K<sub>b,n‑1</sub>},其中密钥链a和密钥链b中的第j+1个密钥可以用K<sub>a</sub>,<sub>j+1</sub>=h(K<sub>a,j</sub>),K<sub>b,j+1</sub>=h(K<sub>b,j</sub>)来得到,根据安全管理器的计算和存储容量选择密钥链长度n;102、将步骤101得到的单向散列函数h(x)和两条密钥链存储在安全管理器中,节点i初始入网密钥K<sub>J,i</sub>,和认证信息TrustID<sub>i</sub>也预先存储在安全管理器中;103、将密钥链中最末位的链密钥K<sub>a,n‑1</sub>和K<sub>b,n‑1</sub>及函数h(x)预置到每个终端节点中;104、终端节点S<sub>i</sub>采用预置或者通过手持设备配置方式预配置K<sub>J,i,</sub>,用于加密认证信息并发送给安全管理器;105、安全管理器通过认证后,采用入网密钥K<sub>J,i</sub>加密数据链路层和传输层初始密钥K<sub>DL</sub>和K<sub>TL</sub>并发送给节点S<sub>i</sub>;106、终端节点S<sub>i</sub>收到安全管理器发送的初始密钥K<sub>DL</sub>和K<sub>TL</sub>后,发送安全确认消息给安全管理器;107、安全管理器采用当前密钥K<sub>a,j+1</sub>对新密钥K<sub>a,j</sub>进行加密,并发送给节点S<sub>i</sub>;108、如果发生发送广播包超时,则改用节点与安全管理器之间的共享密钥K<sub>SMU,i</sub>加密新密钥K<sub>a,j</sub>发送给节点S<sub>i</sub>;109、终端节点S<sub>i</sub>如果收到广播包,则采用已有链密钥K<sub>a,j+1</sub>解密该包得到新的链密钥K<sub>a,j</sub>;终端节点S<sub>i</sub>如果收到单播包,则采用节点与安全管理器之间的共享密钥K<sub>SMU,i</sub>解密出新的链密钥K<sub>a,j</sub>;110、节点需判断h(K<sub>a,j</sub>)是否与K<sub>a,j+1</sub>相等,如果h(K<sub>a,j</sub>)与K<sub>a,j+1</sub>相等,则执行全网密钥更新:K<sub>DL</sub>=h(K<sub>DL</sub>⊕K<sub>a,j</sub>);如果h(K<sub>a,j</sub>)与K<sub>a,j+1</sub>不相等,则不执行全网密钥更新。111、若某一节点发现邻居节点没有按预期要求转发数据包,而是将数据包丢弃或者执行非法的路由转发,则该节点即可检测出邻居节点行为异常,同时,每个节点必须定期的发送网络健康报告给系统管理器,安全管理器检测到该节点被捕获,此时则需执行密钥更新;112、如果有节点被捕获后,则该终端节点的全网共享密钥,节点与安全管理器的共享密钥,单向散列函数都会泄露;113、安全管理器采用h(x)重新产生两条密钥链,采用与正常节点共享的K<sub>NMU,</sub><sub>i</sub>加密新的链密钥K<sub>a,n‑1</sub>及K<sub>b,n‑1</sub>发送到正常节点,然后重复步骤109‑110执行全网密钥的更新。
地址 400065 重庆市南岸区黄桷垭崇文路2号