CN104270243B - 工业物联网芯片的安全功能实现方法 - Google Patents
工业物联网芯片的安全功能实现方法 Download PDFInfo
- Publication number
- CN104270243B CN104270243B CN201410531251.2A CN201410531251A CN104270243B CN 104270243 B CN104270243 B CN 104270243B CN 201410531251 A CN201410531251 A CN 201410531251A CN 104270243 B CN104270243 B CN 104270243B
- Authority
- CN
- China
- Prior art keywords
- register
- chip
- patterns
- data
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种工业物联网芯片利用硬件实现安全处理功能的方法,本发明基于IEEE802.15.4、WIA‑PA网络和ISA100.11a网络中的安全处理共性技术,在MAC层、数据链路层以及更高层通过硬件技术实现AES‑CCM*模式下安全处理功能;在此基础上,本发明提出在WIA‑PA和ISA100.11a模式下的数据安全预处理并在期望的未来时间将数据发送出去的安全处理机制、ISA100.11a模式下全自动安全处理模式及硬件构造Nonce方法、硬件全自动和半自动回复确认帧的方法。该发明中的方法在实现过程中配置简单、易操作,可提高工业无线网络中安全处理效率,增强可靠性,减少安全处理对时间同步的影响,同时减轻软件负担。
Description
技术领域
本发明属于工业无线通信技术领域,具体涉及工业物联网芯片安全预处理,数据链路层数据加密、完整性校验技术的硬件实现方法。
背景技术
近些年,工业物联网作为无线通信技术的一个分支取得了突飞猛进的发展。工业无线传感网络技术是一种面向设备间短程、低速率信息交互的无线通信技术,其网络具有低功耗、安装维护成本低等特点,已成为工业自动化领域的又一发展趋势。在工业环境下建立高可靠性,高实时性,高安全性的无线传感网络成为人们迫切的需求。
工业无线网络对时间同步的精度要求很高。ISA100.11a利用广告帧和确认帧携带时间信息完成时间同步,WIA-PA利用信标帧和时间同步命令帧完成时间同步。这些帧需要进行加密、完整性校验等安全处理,以保证网络安全。上述帧携带的时间信息需是射频芯片发送时刻的准确时间,以便接收方收到后进行精确时间同步,若在添加时间后再对这些帧进行安全处理,射频芯片的发送时间和携带的同步时间即会出现较大偏差,影响时间同步。
工业无线网络对确定性要求很高,对全网的资源进行了调度,设备需在确定的时隙(一般为10ms)发送数据给确定的对象,设备的安全处理能力和速度将极大的影响确定性的实现。
传统的安全处理是采用软件方式来实现的,代码移植性较差,并不能适应任何应用场景;采用利用软件方式实现安全处理速度比较慢,不能严格满足时间精度要求,保证时间同步;复杂的算法还会加大软件的负担,增加网络开销及后期维护成本。
现阶段,大部分的无线传感网芯片是基于IEEE802.15.4协议,用硬件只能实现MAC层点到点的安全,而ISA100.11a和WIA-PA均支持在数据链路层的安全,无法用硬件实现数据链路层安全处理功能。
本发明针对上述问题,提出了一种利用芯片的硬件进行安全处理的方法。不仅能够满足IEEE802.15.4下MAC层的安全,而且安全预处理功能和硬件实现数据链路层安全的方法,保证了WIA-PA协议和ISA100.11a协议下数据链路层的安全。本发明能够针对不同的应用环境,为工业无线网络中的数据提供高效、可靠的保密性和完整性服务,在满足时间同步精度要求的前提下实现信息的安全传输。
发明内容
针对以上现有技术中的不足,本发明的目的在于提供一种基于硬件的能够满足工业无线网络应用需求的安全处理方法。本发明的技术方案如下:
一种工业物联网芯片的安全功能实现方法,其包括以下步骤:
101、用户配置物联网芯片的协议选取PROTOCAL寄存器,选择IEEE802.15.4、WIA-PA、ISA100.11a三种模式中的一种模式,当选择IEEE802.15.4模式时跳转至步骤102;当选择WIA-PA模式时,跳转至步骤104;当选择ISA100.11a模式时跳转至步骤106;
102、当步骤101中选择IEEE802.15.4模式时,发送方配置寄存器SECCR0所需要的安全等级,然后配置待发送帧的MAC头的长度和帧的长度;构造待发送的帧,存储在Tx-Buff发送缓存器中等待安全处理;所述物联网芯片读取RF_NORMAL_KEY密钥存储寄存器中的密钥信息和UPNONCE 0随机数存储寄存器中的Nonce值;由芯片安全引擎在TX-FIFO中自动实现数据的加密、完整性校验;配置TXNTRIG发送寄存器,直接发送安全处理后的数据;接收方进入安全中断,跳转至步骤103;
103、接收方读取寄存器RF_RX_FLEN中接收报文的长度,并解析包头信息,添加安全辅助头;然后根据安全辅助头的信息,读取芯片寄存器RF_RX_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;接收方通过安全引擎重新生成完整性校验码MIC',与发送方的MIC码做比较,如果MIC'=MIC,则校验通过;否则,校验失败;MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断,否则直接丢弃报文。进入接收中断后,芯片通知上层接收成功还是失败,完成择IEEE802.15.4模式下的安全处理,结束;
104、当步骤101中选择WIA-PA模式时,发送方实现时间同步后,计算出数据期望发送的时刻并存储到寄存器TXTAIR2中;配置寄存器SECCR2,选择在上层FIFO中完成加密、完整性校验;配置寄存器SECCR0,选择需要的安全等级;配置要发送帧的MAC头的长度和帧的长度;芯片读取寄存器RF_NORMAL_KEY中的密钥信息和寄存器UPNONCE0里的Nonce值;由芯片安全引擎实现加密、完整性校验,并将结果存储到TX-FIFO中;配置调度表,等待数据发送时刻的到来;芯片时钟到达寄存器TXTAIR2存放的未来时间启动发送引擎自动将TX-FIFO密文发送;更新FIFO中的数据和寄存器TXTAIR2的TAI时间,跳转至步骤105;
105、接收方进入安全中断,读取寄存器RF_RX_FLEN中接收报文的长度;解析包头信息,添加安全辅助头;根据安全辅助头的信息,读取芯片读取寄存器RF_RX_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;接收方在RX-FIFO中通过芯片安全引擎重新生成的完整性校验码MIC',与发送方的MIC码做比较,如果MIC'=MIC,则校验通过,否则,校验失败;MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断;否则直接丢弃报文。进入接收中断后,判断是否需要回复确认帧,如果需要,则在同一个时隙中回复确认帧,如果不需要,接收方安全处理完成,完成WIA-PA模式下的安全处理,结束;
106、当步骤101中选择ISA100.11a模式时,发送方有两种安全处理机制。一种是使用芯片的上层FIFO进行安全预处理,即芯片将安全处理过后的数据存储到TX-FIFO中,等待发送时隙的到来;一种是全自动安全处理模式,即在数据发送的瞬间,芯片自动对数据进行安全处理/,跳转至步骤107;
107、接收方的安全处理也有两种模式。一种是接收方进入安全中断后通过读取接收时隙的起始时间,用程序构造出接收方Nonce后开始解密、完整性校验;一种是接收方进入安全中断后,由芯片硬件自动捕获接收时刻的准确时间,利用硬件自动生成Nonce后开始解密、完整性校验;完成ISA100.11a模式的安全处理,结束。
进一步的,步骤106中选择ISA100.11a模式时,使用芯片的上层FIFO进行安全处理的发送步骤如下所述:发送方实现时间同步后,计算出数据要发送的未来时间并存储到寄存器TXTAIR2中,该未来时间为数据将要发送时隙的起始时间;配置寄存器SECCR2,选择在上层FIFO中完成加密、完整性校验;配置寄存器SECCR0,选择需要的安全等级;配置要发送帧的MAC头的长度和帧的长度;
芯片读取寄存器RF_RX_KEY中的密钥信息;利用程序构造Nonce,读取寄存器TXTAIR2存储的未来时间,通过程序转化为4字节的时间信息,读取发送方的8字节的EUI地址和信道与帧序列号共同构成的1字节信息,构成13字节的Nonce,存到寄存器UPNONCE0里;由芯片安全引擎自动完成加密、完整性校验,并将密文存储到TX-FIFO中;配置调度表,等待发送时隙的到来;当芯片内部时钟运行到寄存器TXTAIR2存储的时间,启动发送引擎自动将FIFO里的数据发送出去;更新寄存器TXTAIR2中的时间信息。
本发明的优点及有益效果如下:
本发明提出了一种利用芯片的硬件进行安全处理的方法。通过配置需要安全处理的帧头和帧长度,选择安全等级后,硬件就可以自动实现AES-CCM*中的七种安全模式,不仅能够满足IEEE802.15.4下MAC层的安全,而且安全预处理功能和硬件实现数据链路层安全的方法,能够在不影响时间同步精度的前提下,保证WIA-PA协议和ISA100.11a协议下数据链路层的安全。本发明能够针对不同的应用环境,为工业无线网络中的数据提供高效、可靠的保密性和完整性服务,在满足时间同步精度要求的前提下实现信息的安全传输。
附图说明
图1所示为本发明优选实施例WIA-PA模式下安全预处理时隙安排示意图;
图2 ISA100.11a模式下安全预处理时隙安排示意图;
图3 ISA100.11a模式下全自动安全处理时隙安排示意图;
图4为IEEE802.15.4模式下数据安全处理流程图;
图5为WIA-PA模式下进行安全处理的发送流程图;
图6为WIA-PA模式下进行安全处理的接收流程图;
图7为ISA100.11a模式下在上层FIFO中实现安全处理的发送端流程图;
图8为ISA100.11a模式下数据帧在发送时刻实现安全处理的发送流程图;
图9为ISA100.11a模式下接收端安全处理流程图;
图10为接收端自动和半自动回复确认帧安全处理流程图;
图11为发送端收到确认帧安全处理流程图。
具体实施方式
下面结合附图给出一个非限定的实施例对本发明作进一步的阐述。但是应该理解,这些描述只是示例的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
用户配置芯片的协议选取寄存器PROTOCAL,选取IEEE802.15.4、WIA-PA、ISA100.11a中的一种模式。配置芯片寄存器SECCR0,选择所需要的安全等级,芯片安全引擎读取寄存器中的密钥和Nonce信息后自动实现AES-CCM*模式下数据的加密、解密、完整性校验。
1.IEEE802.15.4的安全处理硬件实现的方法
配置芯片PROTOCAL寄存器,选择IEEE 802.15.4模式。
在IEEE802.15.4模式下,发送方通过软件配置寄存器SECCR0,选择所需要的安全等级,读取密钥和Nonce信息后,用户通过软件写寄存器设置要发送帧的长度和该帧帧头的长度,芯片安全引擎就可以准确识别校验和加密校验这两种安全处理模式,自动实现AES-CCM*安全处理,并将结果放入发送缓存TX-FIFO中,发送方通过配置寄存器TXNTRIG将数据发送出去。
2.WIA-PA模式下的数据安全预处理机制
配置芯片PROTOCAL寄存器,选择WIA-PA模式。
WIA-PA模式下,发送方通过发送信标帧和时间同步命令帧进行时间同步后,对于要发送的数据帧,利用芯片安全引擎对其进行安全预处理后,在未来确定的时间将其发送出去。按照WIA-PA网络管理者的调度要求,发送方路由R1在时隙n内可将安全处理后的帧发送给节点N1,该帧需携带发送时刻T2的时间信息。
如图1所示,根据超帧调度的要求,发送方在当前国际原子时间(TAI)的T0时刻配置帧期望发送的准确时间T2,芯片安全引擎在T1时刻完成安全处理后将密文放入发送缓存器TX-FIFO中,在T2时刻到来时芯片启动发送引擎,自动将该帧发出,这样不会因为在发送时刻进行安全处理而影响时间同步。
3.ISA100.11a模式下的安全处理机制
在ISA100.11a模式下,本发明提出数据安全预处理并在期望的未来时间将数据发送出去的安全处理机制;同时提出全自动安全处理模式及硬件构造Nonce方法、全自动和半自动回复ACK帧的方法,用户可以根据实际需求切换不同的模式,增加了芯片应用的灵活性。
配置芯片PROTOCAL寄存器,选择ISA100.11a模式。
A.发送方:
发送方在数据链路层进行的安全处理需要用到Key、Nonce及明文等安全材料。
其中的Nonce的长度为13个字节,包括发送方的8个字节的EUI地址、发送时刻的4个字节TAI时间信息和发送方选择的帧发送信道与帧序列号共同构成的1个字节信息。
其中,发送时刻的4个字节TAI时间信息可由两种方式获取:
一种方式是通过软件计算出来,芯片读取TXTAIR2寄存器中的6个字节当前时隙的起始时刻信息,该6个字节时间信息精确到2^(-15)秒,然后通过一定的算法将其转化为所需要的4个字节TAI时间信息,即精确到2^(-10)秒。如果选择软件构造Nonce,在缓存器中读取发送方寄存器中的8个字节EUI地址和信道与帧序列号共同构成的1字节信息,同软件计算出来的4字节时间信息共同构成13字节的Nonce,用来对发送帧进行完整性校验。
另一种方式是通过硬件计算出来,芯片自动捕获发送时刻的6个字节TAI时间信息,通过芯片硬件逻辑门自动将其转化为所需要的4个字节TAI的时间信息。如果选择硬件构造Nonce,芯片的安全引擎自动捕获发送方的8个字节EUI地址、信道与帧序列号共同构成的1个字节信息和4个字节当前发送时刻的准确TAI时间信息,将其组合成13个字节的Nonce,用来对发送帧进行完整性校验。由于芯片硬件自动捕获当前发送时刻的准确TAI时间,不仅减轻了软件的负担,而且计算出来的Nonce值更加准确,使安全处理变的更加简单、高效。
按照ISA100.11a网络管理者的调度要求,发送方的路由设备R1在时隙n内将用于时间同步的广告帧发给节点设备N1,该广告帧需要携带发送时刻T2的时间信息。
可利用下述2种方式对将要发送的广告帧进行安全处理:
1)芯片利用硬件实现安全预处理,将帧在未来确定的时间发送
如图2所示,根据超帧调度的要求,芯片发送方在当前的时间T0将时间信息T2装载在待发送的帧中,芯片安全引擎读取明文、密钥和Nonce等信息后在T1时刻对该帧进行安全处理,处理完成后,将密文放入发送缓存器TX-FIFO中,在T2时刻到来时芯片启动发送引擎,自动将该帧发送出去,这样不会因在发送时刻对帧进行安全处理而影响时间同步。
2)全自动安全处理模式
全自动安全处理模式是芯片在广告帧发送时刻到来时,通过安全引擎对其自动进行安全处理,在一个时隙内,由硬件完成自动构造Nonce、安全处理和发送等动作。
如图3所示,根据超帧调度的要求,芯片在发送缓存TX-FIFO中存储需要进行安全处理的明文,等待发送时隙n的到来。当时隙n到来时,在T0时刻硬件自动构造Nonce,并读取FIFO中的明文和寄存器RF_NORMAL_KEY中的密钥,在T1时刻通过安全引擎对明文进行安全处理,处理完成后在T2将其发送出去。
在时间同步完成后,对将要发送的数据帧进行安全处理,其处理过程同广告帧的安全处理过程一样。
B.接收方:
在ISA100.11a模式下,接收方进入安全中断后,接收方在数据链路层进行安全处理。解密和校验处理需要的安全材料包括密钥Key、Nonce以及接收到的密文。通过密钥Key解密接收到的密文,得出明后后利用明文和Nonce,重新构造出接收方的校验码MIC',与发送方的校验码MIC做比较,如果MIC'=MIC,则校验通过,否则,校验失败。
其中接收方的Nonce是由发送方的8个字节的EUI地址、接收方4个字节的时间信息和接收方选择的帧接收信道与接收到的帧序列号共同构成的1个字节信息构成。
在安全处理过程中,Nonce的构造过程可以分为软件构造和硬件构造两种方式,用户可以通过配置芯片寄存器SlotExtR3来选择其构造方式。
当发送方采用软件构造Nonce模式时,首先通过接收到的帧的2个字节短地址查找发送方8个字节EUI长地址,然后读取寄存器存储的收到的帧所在时隙的起始时刻,通过一定的算法将6个字节的TAI时间转化为对应的4个字节的时间信息,最后读取由信道信息和帧序列号共同构成的1个字节信息,构造出13个字节的Nonce,在数据链路层实现解密、完整性校验。
当选择硬件构造Nonce模式时,芯片直接通过接收到的帧的2个字节短地址查找发送方8个字节EUI长地址,芯片获取发送方的长地址后,安全引擎捕获接收时刻的准确TAI时间信息,自动生成13个字节的Nonce,在数据链路层实现解密、完整性校验。
C.确认帧的发送:
接收方接收数据帧后,回复的安全确认帧方式分为全自动和半自动两种模式。
半自动确认帧的Buffer由软件控制构造,当接收方进入安全中断后,芯片准备对确认帧进行安全处理的安全材料,包括接收方的Key、Nonce和确认帧载荷。其中Nonce可由上述的两种方式构造,确认帧载荷是利用接收到帧的4字节校验码MIC构成的虚拟载荷。构造完成后,启动芯片安全引擎,对确认帧进行完整性校验,生成4个字节的完整性校验码DMIC,添加到确认帧的后面放入ACK-FIFO等待发送。当接收中断到来时,启动发送引擎,将安全处理后的不包含虚拟载荷的确认帧自动发送出去。
全自动确认帧在构造和安全处理的过程中,直接由芯片硬件完成,不需要软件的参与,硬件自动捕获接收帧的4个字节的校验码MIC、Key和安全中断中硬件构造的Nonce,通过芯片安全引擎生成带有完整性校验码DMIC的确认帧,并在当前时隙将不包含虚拟载荷的确认帧直接发送出去。
D.确认帧的接收:
发送方收到确认帧,首先进入安全中断,读取发送方寄存器存储的发送帧的4个字节的完整性校验码MIC,作为接收到的确认帧的虚拟载荷部分,安全引擎利用密钥Key和接收到的添加了虚拟载荷的确认帧构造出发送方的DMIC',其中Nonce根据前面选择的软件构造或者硬件构造。然后比较发送方计算的DMIC'和接收方发送的确认帧的DMIC是否一致,如果DMIC'=DMIC,则校验成功,说明接收方成功接收了前面发送的帧;否则,校验失败,说明接收方没有成功接收前面发送的帧。
一、在IEEE802.15.4模式下数据的安全处理
在IEEE802.15.4模式下,安全处理过程如下所述。
发送方的安全处理过程如下:
1.配置寄存器SECCR0选择所需要的安全等级;
2.配置要发送帧的MAC头的长度和帧的长度;
3.构造要发送的帧,存储在Tx-Buff中等待安全处理;
4.芯片读取寄存器RF_NORMAL_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;
5.由芯片安全引擎在TX-FIFO中自动实现数据的加密、完整性校验;
6.配置寄存器TXNTRIG直接发送安全处理后的数据。
接收方的安全处理过程如下:
1.进入安全中断;
2.读取寄存器RF_RX_FLEN中接收报文的长度;
3.解析包头信息,添加安全辅助头;
4.根据安全辅助头的信息,读取芯片寄存器RF_RX_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;
5.接收方通过安全引擎重新生成完整性校验码MIC',与发送方的MIC码做比较,如果MIC'=MIC,则校验通过;否则,校验失败;
6.MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断,否则直接丢弃报文;
7.CRC校验后进入接收中断,通知上层接收成功还是失败。
二、WIA-PA模式下数据的安全处理
在WIA-PA模式下,芯片利用4个TX-FIFO和1个RX-FIFO来实现AES-CCM*模式下数据的加密、解密、完整性校验。
发送方的安全处理过程如下所述:
1.实现时间同步后,计算出数据期望发送的未来时间并存储到寄存器TXTAIR2中;
2.配置寄存器SECCR2,选择在上层FIFO中完成加密、完整性校验;
3.配置寄存器SECCR0,选择需要的安全等级;
4.配置要发送帧的MAC头的长度和帧的长度;
5.芯片读取寄存器RF_NORMAL_KEY中的密钥信息和寄存器UPNONCE0里的Nonce值;
6.由芯片安全引擎自动实现加密、完整性校验,并将结果存储到TX-FIFO中;
7.配置调度表,等待数据发送时刻的到来;
8.芯片时钟到达寄存器TXTAIR2存放的未来时间启动发送引擎自动将TX-FIFO密文发送;
9.更新FIFO中的数据和寄存器TXTAIR2的TAI时间。
接收方的安全处理过程如下所述:
1.进入安全中断;
2.读取寄存器RF_RX_FLEN中接收报文的长度;
3.解析包头信息,添加安全辅助头;
4.根据安全辅助头的信息,读取芯片读取寄存器RF_RX_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;
5.接收方在RX-FIFO中通过芯片安全引擎重新生成的完整性校验码MIC',与发送方的MIC码做比较,如果MIC'=MIC,则校验通过,否则,校验失败;
6.MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断,否则直接丢弃报文;
7.CRC校验后进入接收中断后,判断是否需要回复确认帧,如果需要,则在同一个时隙中回复确认帧,如果不需要,接收方安全处理完成。
三、ISA100.11a模式下发送方的安全处理
在ISA100.11a模式下发送方有两种安全处理机制。一种是使用芯片的上层FIFO进行安全预处理,即芯片将安全处理过后的数据存储到TX-FIFO中,等待发送时隙的到来;一种是全自动安全处理模式,即在数据发送的瞬间,芯片自动对数据进行安全处理。
a)使用芯片的上层FIFO进行安全处理的发送流程如下所述:
1.实现时间同步后,计算出数据要发送的未来时间并存储到寄存器TXTAIR2中,该未来时间为数据将要发送时隙的起始时间;
2.配置寄存器SECCR2,选择在上层FIFO中完成加密、完整性校验;
3.配置寄存器SECCR0,选择需要的安全等级;
4.配置要发送帧的MAC头的长度和帧的长度;
5.芯片读取寄存器RF_RX_KEY中的密钥信息;
6.利用程序构造Nonce,读取寄存器TXTAIR2存储的未来时间,通过程序转化为4字节的时间信息,读取发送方的8字节的EUI地址和信道与帧序列号共同构成的1字节信息,构成13字节的Nonce,存到寄存器UPNONCE0里;
7.由芯片安全引擎自动完成加密、完整性校验,并将密文存储到TX-FIFO中;
8.配置调度表,等待发送时隙的到来;
9.当芯片内部时钟运行到寄存器TXTAIR2存储的时间,启动发送引擎自动将FIFO里的数据发送出去;
10.更新寄存器TXTAIR2中的时间信息。
b)芯片在发送时刻进行全自动安全处理的发送流程如下所述:
1.配置寄存器PROTOCAL实现时间同步;
2.配置寄存器SlotExtR35,选择硬件自动加密过程;
3.配置寄存器SECCR0,选择需要的安全等级;
4.构造需要安全处理的明文,存入Tx-FIFO;
11.配置要发送帧的MAC头的长度和帧的长度;
5.配置调度表,等待发送时隙;
6.到达数据发送时隙,利用硬件构造Nonce并进行安全处理;硬件捕获当前发送时刻的准确时间,并自动将其转化为4字节的时间信息,捕获发送设备的8字节的EUI地址和信道与帧序列号共同构成的1字节信息,构成13字节的Nonce,存储到寄存器UPNONCE0中;
7.芯片通过内部安全引擎用硬件实现加密、生成完整性校验码MIC,并将密文发送出去;
8.更新FIFO中数据和寄存器TXTAIR2的TAI时间。
四、ISA100.11a模式下接收方的安全处理
在ISA100.11a模式下,接收方的安全处理也有两种模式。一种是接收方进入安全中断后通过读取接收时隙的起始时间,用程序构造出接收方Nonce后开始解密、完整性校验;一种是接收方进入安全中断后,由芯片硬件自动捕获接收时刻的准确时间,利用硬件自动生成Nonce后开始解密、完整性校验;具体流程如下所述。
a)芯片启动自动构造Nonce模式时,接收方的安全处理流程
1.配置寄存器SlotExtR35,选择硬件自动构造Nonce模式;
2.进入安全中断;
3.读取寄存器RF_RX_FLEN中接收报文的长度;
4.解析包头信息,添加安全辅助头;
5.读取RF_RX_KEY中密钥信息,开始构造Nonce;
6.芯片自动捕获接收时刻的准确时间,利用硬件自动转化为4字节的时间信息,读取数据包中2字节的源地址信息,用硬件自动转为8字节的源EUI地址信息,读取信道与帧序列号共同构成的1字节信息,构造出13字节的Nonce值,存储在寄存器UPNONCE0中;
7.芯片通过安全引擎进行解密,计算接收方生成的完整性校验码MIC',与发送方的校验码MIC作比较,如果MIC'=MIC,则完整性校验通过;否则,校验失败;
8.MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断,否则直接丢弃报文;
9.CRC校验后进入接收中断;
10.判断是否需要回复确认帧,如果需要,则接收方开始构造确认帧并进行安全处理,否则接收方完成安全处理。
b)芯片不启动自动构造Nonce模式时,接收方的安全处理流程
1.配置寄存器SlotExtR35,选择半自动构造Nonce模式;
2.进入安全中断;
3.读取寄存器RF_RX_FLEN中接收报文的长度;
4.解析包头信息,添加安全辅助头;
5.读取RF_RX_KEY中密钥信息,开始构造Nonce;
6.程序读取接收时隙的起始时间,利用程序转化为4字节的时间信息,读取数据包中2字节的源地址信息,通过程序查表转化为8字节的源EUI地址信息,读取信道与帧序列号共同构成的1字节信息,构造出13字节的Nonce值,存储在寄存器UPNONCE0中;
7.芯片通过安全引擎进行解密,计算接收方生成的完整性校验码MIC',与发送方的校验码MIC作比较,如果MIC'=MIC,则完整性校验通过;否则,校验失败;
8.MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断,否则直接丢弃报文;
9.CRC校验后进入接收中断;判断是否需要回复确认帧,如果需要,则接收方开始构造确认帧并进行安全处理,否则接收方完成安全处理。
五、ISA100.11a模式下接收方发送安全确认帧处理过程
接收方在数据帧接收后,回复的安全确认帧的方式分为自动和半自动两种模式,其发送流程如下所述。
a)接收方自动回复安全处理过后的确认帧ACK流程:
1.配置寄存器ISAACKCTR,选择自动回复ACK模式;
2.接收方接收到数据帧,安全处理、CRC校验后,进入接收中断;
3.芯片硬件自动构造ACK帧,并读取RF_RX_KEY中的密钥信息UPNONCE0中构造的Nonce,利用接收到的帧中的4字节的MIC码作为确认帧的虚拟载荷字段,用来生成完整性校验码DMIC;
4.将生成的DMIC添加到确认帧的后面作为完整性校验码,由硬件直接发送出去,虚拟字段不发送。
b)接收方半自动回复确认帧ACK流程:
1.配置寄存器ISAACKCTR,选择半自动回复ACK模式;
2.接收方在收到数据帧,安全处理、CRC校验后,进入接收中断,通过主程序构造确认帧,读取RF_RX_KEY中的密钥信息和UPNONCE0中构造的Nonce;
3.利用接收到的帧中的4字节的MIC码作为确认帧的虚拟载荷字段,在ACK-FIFO中生成带完整性校验码DMIC添加到确认帧后面,并存放到ACK-FIFO中;
4.配置寄存器ISAACKCTR,将安全处理后的确认帧发送出去,虚拟载荷字段不发送。
六、ISA100.11a模式下发送方接收到确认帧的安全处理
发送方收到安全确认帧ACK的处理流程,如下所述:
1.进入安全中断;
2.读取寄存器RF_RX_FLEN中接收报文的长度;
3.读取芯片寄存器RF_RX_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;
4.将发送方安全处理后的数据帧中4字节完整性校验码MIC作为收到确认帧的虚拟载荷部分,利用芯片安全引擎生成确认帧的完整性校验码DMIC';
5.比较发送方重新生成的DMIC'和接收端发送的DMIC是否一致,如果DMIC'=DMIC,则校验通过,否则,校验失败;
6.DMIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断,否则直接丢弃报文;
7.CRC校验后发送方进入接收中断,通知上层接收方是否成功接收发送方发送的数据。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明方法权利要求所限定的范围。
Claims (2)
1.一种工业物联网芯片的安全功能实现方法,其特征在于:包括以下步骤:
101、用户配置物联网芯片的协议选取PROTOCAL寄存器,选择IEEE802.15.4、WIA-PA、ISA100.11a三种模式中的一种模式,当选择IEEE802.15.4模式时,跳转至步骤102;当选择WIA-PA模式时,跳转至步骤104;当选择ISA100.11a模式时跳转至步骤106;
102、当步骤101中选择IEEE802.15.4模式时,发送方配置寄存器SECCR0所需要的安全等级,然后配置待发送帧的MAC头的长度和帧的长度;构造待发送的帧,存储在Tx-Buff发送缓存器中等待安全处理;所述物联网芯片读取RF_NORMAL_KEY密钥存储寄存器中的密钥信息和UPNONCE 0随机数存储寄存器中的Nonce值;由芯片安全引擎在发送缓存器TX-FIFO中自动实现AES-CCM*模式下数据的加密、完整性校验;配置TXNTRIG发送寄存器,直接发送安全处理后的数据;接收方进入安全中断,跳转至步骤103;
103、接收方读取寄存器RF_RX_FLEN中接收报文的长度,并解析包头信息,添加安全辅助头;然后根据安全辅助头的信息,读取芯片寄存器RF_RX_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;接收方通过安全引擎重新生成完整性校验码MIC',与发送方的MIC码做比较,如果MIC'=MIC,则校验通过;否则,校验失败;MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断,否则直接丢弃报文;进入接收中断后,芯片通知上层接收成功还是失败,完成IEEE802.15.4模式下的安全处理,结束;
104、当步骤101中选择WIA-PA模式时,发送方实现时间同步后,计算出数据期望发送的时刻并存储到寄存器TXTAIR2中;配置寄存器SECCR2,选择在上层先入先出队列FIFO中完成加密、完整性校验;配置寄存器SECCR0,选择需要的安全等级;配置要发送帧的MAC头的长度和帧的长度;芯片读取寄存器RF_NORMAL_KEY中的密钥信息和寄存器UPNONCE0里的Nonce值;由芯片安全引擎实现AES-CCM*模式下数据的加密、完整性校验,并将结果存储到发送缓存器TX-FIFO中;配置调度表,等待数据发送时刻的到来;芯片时钟到达寄存器 TXTAIR2存放的未来时间启动发送引擎自动将发送缓存器TX-FIFO密文发送;更新先入先出队列FIFO中的数据和寄存器TXTAIR2的TAI时间,跳转至步骤105;
105、接收方进入安全中断,读取寄存器RF_RX_FLEN中接收报文的长度;解析包头信息,添加安全辅助头;根据安全辅助头的信息,读取芯片读取寄存器RF_RX_KEY中的密钥信息和寄存器UPNONCE0中的Nonce值;接收方在RX-FIFO中通过芯片安全引擎重新生成的完整性校验码MIC',与发送方的MIC码做比较,如果MIC'=MIC,则校验通过,否则,校验失败;MIC码校验后,接收方进行CRC校验,如果校验成功,进入接收中断;否则直接丢弃报文;进入接收中断后,判断是否需要回复确认帧,如果需要,则在同一个时隙中回复确认帧,如果不需要,接收方安全处理完成,完成WIA-PA模式下的安全处理,结束;
106、当步骤101中选择ISA100.11a模式时,发送方有两种安全处理机制;一种是使用芯片的上层先入先出队列FIFO进行安全预处理,即芯片将安全处理过后的数据存储到TX-FIFO中,等待发送时隙的到来;一种是全自动安全处理模式,即在数据发送的瞬间,芯片自动对数据进行安全处理,跳转至步骤107;
107、接收方的安全处理也有两种模式,一种是接收方进入安全中断后通过读取接收时隙的起始时间,用程序构造出接收方Nonce后开始AES-CCM*模式下数据的解密、完整性校验;一种是接收方进入安全中断后,由芯片硬件自动捕获接收时刻的准确时间,利用硬件自动生成Nonce后开始解密、完整性校验;完成ISA100.11a模式的安全处理,结束。
2.根据权利要求1所述的工业物联网芯片的安全功能实现方法,其特征在于:步骤106中选择ISA100.11a模式时,使用芯片的上层先入先出队列FIFO进行安全处理的发送步骤如下所述:发送方实现时间同步后,计算出数据要发送的未来时间并存储到寄存器TXTAIR2中,该未来时间为数据将要发送时隙的起始时间;
配置寄存器SECCR2,选择在上层先入先出队列FIFO中完成加密、完整性校验;
配置寄存器SECCR0,选择需要的安全等级;配置要发送帧的MAC头的长度和帧 的长度;
芯片读取寄存器RF_RX_KEY中的密钥信息;利用程序构造Nonce,读取寄存器TXTAIR2存储的未来时间,通过程序转化为4字节的时间信息,读取发送方的8字节的EUI地址和信道与帧序列号共同构成的1字节信息,构成13字节的Nonce,存到寄存器UPNONCE0里;由芯片安全引擎自动完成加密、完整性校验,并将密文存储到TX-FIFO中;配置调度表,等待发送时隙的到来;当芯片内部时钟运行到寄存器TXTAIR2存储的时间,启动发送引擎自动将先入先出队列FIFO里的数据发送出去;更新寄存器TXTAIR2中的时间信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410531251.2A CN104270243B (zh) | 2014-10-10 | 2014-10-10 | 工业物联网芯片的安全功能实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410531251.2A CN104270243B (zh) | 2014-10-10 | 2014-10-10 | 工业物联网芯片的安全功能实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104270243A CN104270243A (zh) | 2015-01-07 |
CN104270243B true CN104270243B (zh) | 2017-05-24 |
Family
ID=52161737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410531251.2A Active CN104270243B (zh) | 2014-10-10 | 2014-10-10 | 工业物联网芯片的安全功能实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104270243B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104796249B (zh) * | 2015-03-19 | 2018-10-30 | 柳州市新科电脑衡器制造有限责任公司 | 用于微电脑的串行通讯数据的加密方法 |
CN113055162B (zh) * | 2021-03-10 | 2022-07-08 | 重庆邮电大学 | 一种基于国密算法的wia-pa网络安全通信方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808355A (zh) * | 2009-12-28 | 2010-08-18 | 重庆邮电大学 | 工业无线网络协议一致性测试系统及测试方法 |
CN102869087A (zh) * | 2012-09-26 | 2013-01-09 | 重庆邮电大学 | 工业物联网芯片的硬件时间同步实现方法 |
CN102905384A (zh) * | 2012-10-26 | 2013-01-30 | 重庆邮电大学 | 工业物联网的无线网络确定性调度实现方法及确定性调度芯片 |
CN103152190A (zh) * | 2011-12-06 | 2013-06-12 | 沈阳中科博微自动化技术有限公司 | 一种用于工业物联网与以太网互联的管理系统及实现方法 |
CN103607316A (zh) * | 2012-03-15 | 2014-02-26 | 无锡信捷电气股份有限公司 | 一种基于工业物联网的状态防火墙状态检测系统及方法 |
WO2014127429A1 (en) * | 2013-02-25 | 2014-08-28 | Lockstep Technologies | Decoupling identity from devices in the internet of things |
WO2015130031A1 (ko) * | 2014-02-27 | 2015-09-03 | 주식회사 에이에스티소프트 | 사물인터넷 보안시스템 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227653A1 (en) * | 2008-11-29 | 2013-08-29 | Yu Yung Choi | System and method for streamlined registration of products over a communication network and for verification and management of information related thereto |
-
2014
- 2014-10-10 CN CN201410531251.2A patent/CN104270243B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808355A (zh) * | 2009-12-28 | 2010-08-18 | 重庆邮电大学 | 工业无线网络协议一致性测试系统及测试方法 |
CN103152190A (zh) * | 2011-12-06 | 2013-06-12 | 沈阳中科博微自动化技术有限公司 | 一种用于工业物联网与以太网互联的管理系统及实现方法 |
CN103607316A (zh) * | 2012-03-15 | 2014-02-26 | 无锡信捷电气股份有限公司 | 一种基于工业物联网的状态防火墙状态检测系统及方法 |
CN102869087A (zh) * | 2012-09-26 | 2013-01-09 | 重庆邮电大学 | 工业物联网芯片的硬件时间同步实现方法 |
CN102905384A (zh) * | 2012-10-26 | 2013-01-30 | 重庆邮电大学 | 工业物联网的无线网络确定性调度实现方法及确定性调度芯片 |
WO2014127429A1 (en) * | 2013-02-25 | 2014-08-28 | Lockstep Technologies | Decoupling identity from devices in the internet of things |
WO2015130031A1 (ko) * | 2014-02-27 | 2015-09-03 | 주식회사 에이에스티소프트 | 사물인터넷 보안시스템 및 방법 |
Non-Patent Citations (4)
Title |
---|
WIA-PA网络安全通信协议栈研究与实现;张萱;《中国优秀硕士学位论文全文数据库信息科技辑》;20121231;全文 * |
一种适用于WIA_PA网络的分层入侵检测方法;魏旻;《仪器仪表学报》;20120731;全文 * |
基于ISA100_11a标准的工业物联网开发平台的设计与实现;王恒;《智能处理与应用》;20120430;全文 * |
工业无线控制网络安全方法的研究与实现;魏旻;《仪器仪表学报》;20090430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104270243A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vilajosana et al. | Ietf 6tisch: A tutorial | |
CN106878138B (zh) | 一种报文传输方法和装置 | |
CN105230068B (zh) | 数据传输方法及设备 | |
US8774096B2 (en) | Method and apparatus for rapid group synchronization | |
CN106254147B (zh) | 一种用于Wi-Fi网络的配置方法、物联网终端和控制端 | |
CN103765848A (zh) | 用于媒体访问控制替换的装置和方法 | |
RU2009120475A (ru) | Способ эстафетной передачи между базовыми станциями | |
CN101640645B (zh) | 报文传输方法和系统 | |
CN107925629A (zh) | 一种IPv6网络中数据报文的发送方法及装置 | |
CN106211184A (zh) | 基于微网协议的微网构建法 | |
CN108882305A (zh) | 一种数据包的分流方法及装置 | |
CN103647724B (zh) | 一种mtu适配方法及装置 | |
CN104270243B (zh) | 工业物联网芯片的安全功能实现方法 | |
CN108270528B (zh) | 一种业务传输方法 | |
CN108200556B (zh) | 一种高可靠的业务传输方法 | |
CN109673021A (zh) | 业务时延确定方法 | |
CN105376800B (zh) | 一种微基站的组网通信方法、系统和集中控制设备 | |
CN106507346A (zh) | 入网密码同步方法、入网设备及无线访问接入点 | |
CN109150413A (zh) | 发送和接收反馈信息的方法和装置 | |
CN104468013A (zh) | 一种无线组网通信的时隙结构确定方法 | |
CN103607261A (zh) | 一种数据传输方法及装置 | |
KR20140006165A (ko) | 멀티홉 라우팅 및 루핑 방지 장치 및 방법 | |
CN103546892B (zh) | 一种数据传输方法、装置及系统 | |
CN102761955B (zh) | 一种多跳无线网络的数据传输控制方法 | |
CN104009982A (zh) | 基于超短波电台的文件分组群发装置及文件分组群发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |