一种适用于Lora网络的MAC层通信安全机制制造技术

技术编号:24015679 阅读:25 留言:0更新日期:2020-05-02 03:18
本发明专利技术公开了一种适用于Lora网络的MAC层通信安全机制,包括以下步骤:S1、Lora网络部署之前,在Lora网关和通讯模组出厂时,分配AES128的网络秘钥;S2、入网完成后根据入网过程中的交互信息,生成网路会话秘钥;S3、入网过程中的交互信息和广播信息使用网络秘钥加密,节点与网关的私有信息交互使用网络会话秘钥与报文中携带的随机码生成该报文的加解密秘钥。本发明专利技术通过CRC校验保证MAC层报文的完整性,通过随机码防止重放攻击,通过S3所述加解密秘钥生成方法保证同一帧报文重复发送时密文不同。

A MAC layer communication security mechanism for Lora network

【技术实现步骤摘要】
一种适用于Lora网络的MAC层通信安全机制
本专利技术属于通信
,具体涉及一种适用于Lora网络的MAC层通信安全机制。
技术介绍
物联网的发展和应用依赖于无线通信技术,而无线信道是一个开放性信道,它给网络部署带来便利的同时,也增加了一些不安全的因素,比如信道窃听,假冒攻击,信息篡改和重放攻击。Lora是一种低功耗远距离的无线通信技术,在低功耗,大容量,远距离,低速率的物联网场景中得到了越来越广泛的应用。与其他无线通信技术类似,Lora网络同样存在着信道窃听,假冒攻击,信息篡改和重放攻击的安全风险,本专利技术针对以上所述安全问题,设计了一种适用于Lora网络的MAC层通信安全机制。
技术实现思路
为解决现有技术存在的缺陷,本专利技术提供一种适用于Lora网络的MAC层通信安全机制。为了解决上述技术问题,本专利技术提供了如下的技术方案:本专利技术提供一种适用于Lora网络的MAC层通信安全机制,包括以下步骤:S1、Lora网络部署之前,在Lora网关和通讯模组出厂时,针对部署的应用场景,分配AES128的网络秘钥NwKey,该网络秘钥NwKey以密文的形式存于Lora网关和通讯模组的flash中;S2、Lora通讯模组入网完成后,根据入网过程中的交互信息,生成网路会话秘钥NwSkey;S3、Lora网络信息交互的所有报文均携带随机码,网路中的数据信息交互的加解密算法为AES128,入网过程中的交互信息和广播信息使用网络秘钥NwKey加密,节点与网关的私有信息交互使用注册成功后生成的网络会话秘钥NwSkey与收发报文中携带的随机码生成针对本报文的加解密秘钥,接收方接收到发送方的报文后,从随机码中解析出发送方的报文计数器值。作为本专利技术的一种优选技术方案,步骤S2中Lora通讯模组入网完成后,根据入网过程中的交互信息,生成网路会话秘钥NwSkey,具体包括以下步骤:S21、Lora通讯模组的入网请求报文中携带节点ID和随机码,其中,节点ID记为nodeID,随机码记为nodeNonce;S22、Lora网关的入网应答报文中携带网关地址和随机码,其中,网关地址记为gwAddr,随机码记为gwNonce;S23、网络会话秘钥的计算:NwSkey=aes(nodeID|nodeNonce|gwAddr|gwNonce)。作为本专利技术的一种优选技术方案,网络部署完成,自组网过程和网络数据信息交互过程的加解密均与随机码nonce相关,步骤S3中随机码nonce的生成方法包括以下步骤:Q11、假设nonce占N个字节,将N个字节随机码由两部分组成,一部分为计数器counter,一部分为随机数randomValue,其中randomValue占9个bit位,那么randomValue的取值范围0~511;而counter的取值范围则是0~(2N*8-9-1);Q12、对于Lora网络中的发送方而言,随机码的计时器值就是发送报文计数器,记counter=txPacketCounter,txPacketCounter的初始值为0,每发送一帧报文,其值加1;Q13、生成随机数;以本地时间为随机种子,计算随机数randomValue=rand(currTime,[0,512));Q14、生成随机码;首先计算原始随机码oriNonce=(txPacketCounter<<9)+randomValue,原始随机码循环右移4位,得到随机码,nonce=ROR(oriNonce,4)。作为本专利技术的一种优选技术方案,网路中的数据信息交互的加解密算法为AES128,入网过程中的交互信息和广播信息使用网络秘钥加密,节点与网关的私有数据加解密使用网路会话秘钥,入网过程中的加解密步骤如下:Q21、记入网明文为J,记入网应答明文为A;Q22、网关和节点计算入网报文加解密秘钥,Nwskey=aes(NwKey|nodeNonce)Q23、节点对入网请求报文加密,EJ=aes(Nwskey,J)Q24、网关对入网请求报文解密,J=aes(Nwskey,EJ)Q25、入网应答帧的加解密秘钥,Nwskey=aes(NwKey|gwNonce)Q26、网关对入网应答报文加密,EA=aes(Nwskey,A)Q27、节点对入网应答报文解密,A=aes(Nwskey,EA)。作为本专利技术的一种优选技术方案,接收方接收到发送方的报文后,从随机码中解析出发送方的报文计数器值,解析步骤是随机码生成的逆过程,具体包括以下步骤:Q31、将nonce循环左移4位,生成原始随机码,oriNonce=ROL(nonce,4)Q32、从oriNonce中解析出发送方的计数器值,此处记为rxCounter,rxCounter=oriNonce>>9Q33、如果是第1次接收到发送方的报文,则将rxCounter的值保存在lastRxCounter变量中;如果非第1次接收到发送方的报文,通过对比lastRxCounter和rxCounter的值,判断是否丢包或者重放攻击。其中,重放攻击和丢包判断方法,具体包括以下步骤:Q331、如果rxCounter等于(lastRxCounter+1)%2N*8-9;则认为接收到了正确的报文;Q332、如果rxCounter≤lastRxCounter;则认为可能是重放攻击报文,接收方设置报警信息,通知后台服务;Q333、如果rxCounter>(lastRxCounter+1)%2N*8-9;则认为有部分数据报文丢了。本专利技术的有益效果是:本专利技术通过CRC校验保证MAC层报文的完整性,防止信息被篡改。随机码中携带的计数器信息防止重放攻击。通过随机码与网络秘钥或网络会话秘钥向结合的方式,生成报文的最终加解密秘钥,保证相同报文重复发送时,密文不同。具体实施方式以下对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。为了达到本专利技术的目的,在本专利技术的其中一种实施方式中提供一种适用于Lora网络的MAC层通信安全机制,包括以下步骤:S1、Lora网络部署之前,在Lora网关和通讯模组出厂时,针对部署的应用场景,分配AES128的网络秘钥NwKey,该网络秘钥NwKey以密文的形式存于Lora网关和通讯模组的flash中,NwKey的密文生成方法与网关和各个模组的芯片ID相关,确保同一个秘钥在各个硬件设备的密文不一致;S2、Lora通讯模组入网完成后,根据入网过程中的交互信息,生成网路会话秘钥NwSkey;S3、Lora网络信息交互的所有报文均携带随机码,网路中的数据信息交互的加解密算法为AES128,入网过程中的交互信息和广播信息使用网络秘钥NwKey加密,节点与网关的私有信息交互使本文档来自技高网...

【技术保护点】
1.一种适用于Lora网络的MAC层通信安全机制,其特征在于,包括以下步骤:/nS1、Lora网络部署之前,在Lora网关和通讯模组出厂时,针对部署的应用场景,分配AES128的网络秘钥NwKey,该网络秘钥NwKey以密文的形式存于Lora网关和通讯模组的flash中;/nS2、Lora通讯模组入网完成后,根据入网过程中的交互信息,生成网路会话秘钥NwSkey;/nS3、Lora网络信息交互的所有报文均携带随机码,网路中的数据信息交互的加解密算法为AES128,入网过程中的交互信息和广播信息使用网络秘钥NwKey加密,节点与网关的私有信息交互使用注册成功后生成的网络会话秘钥NwSkey与收发报文中携带的随机码生成针对本报文的加解密秘钥,接收方接收到发送方的报文后,从随机码中解析出发送方的报文计数器值。/n

【技术特征摘要】
1.一种适用于Lora网络的MAC层通信安全机制,其特征在于,包括以下步骤:
S1、Lora网络部署之前,在Lora网关和通讯模组出厂时,针对部署的应用场景,分配AES128的网络秘钥NwKey,该网络秘钥NwKey以密文的形式存于Lora网关和通讯模组的flash中;
S2、Lora通讯模组入网完成后,根据入网过程中的交互信息,生成网路会话秘钥NwSkey;
S3、Lora网络信息交互的所有报文均携带随机码,网路中的数据信息交互的加解密算法为AES128,入网过程中的交互信息和广播信息使用网络秘钥NwKey加密,节点与网关的私有信息交互使用注册成功后生成的网络会话秘钥NwSkey与收发报文中携带的随机码生成针对本报文的加解密秘钥,接收方接收到发送方的报文后,从随机码中解析出发送方的报文计数器值。


2.根据权利要求1所述的适用于Lora网络的MAC层通信安全机制,其特征在于,步骤S2中Lora通讯模组入网完成后,根据入网过程中的交互信息,生成网路会话秘钥NwSkey,具体包括以下步骤:
S21、Lora通讯模组的入网请求报文中携带节点ID和随机码,其中,节点ID记为nodeID,随机码记为nodeNonce;
S22、Lora网关的入网应答报文中携带网关地址和随机码,其中,网关地址记为gwAddr,随机码记为gwNonce;
S23、网络会话秘钥的计算:
NwSkey=aes(nodeID|nodeNonce|gwAddr|gwNonce)。


3.根据权利要求1所述的适用于Lora网络的MAC层通信安全机制,其特征在于,网络部署完成,自组网过程和网络数据信息交互过程的加解密均与随机码nonce相关,步骤S3中随机码nonce的生成方法包括以下步骤:
Q11、假设nonce占N个字节,将N个字节随机码由两部分组成,一部分为计数器counter,一部分为随机数randomValue,其中randomValue占9个bit位,那么randomValue的取值范围0~511;而counter的取值范围则是0~(2N*8-9-1);
Q12、对于Lora网络中的发送方而言,随机码的计时器值就是发送报文计数器,
记counter=txPacketCounter,txPacketCounter的初始值为0,每发送一帧报文,其值加1;
Q13、生成随机数;以本地时间为随机种子,计算随机数randomValue=rand(currTime,[0,512));
Q14、生成随...

【专利技术属性】
技术研发人员:潘长城刘军刘峰
申请(专利权)人:中科芯集成电路有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1