一种基于ISA100.11a标准的工业传感网数据重复检测方法技术

技术编号:11622919 阅读:64 留言:0更新日期:2015-06-18 00:43
本发明专利技术公开了一种基于ISA100.11a标准的工业传感网数据重复检测方法,包括重复检测DL子网中终端设备和骨干网设备的方法。本发明专利技术提出的重复检测方法,能够有效的检测ISA100.11a网络中消息重复、乱序等问题,在终端设备上执行的重复检测方法简单,易于实现,同时节约了终端设备的存储资源,并很好地解决了传感网的重放攻击问题。

【技术实现步骤摘要】

本专利技术属于工业传感网通信
,尤其涉及一种ISA100.1la标准的传输层数据重复检测的方法。
技术介绍
目前,工业传感网的研宄和应用正在广泛的开展,被越来越多的应用在工业现场中。然而安全问题是工业传感网的首要问题,必须保证网络终端设备之间的数据可靠传输。尽管目前不同的标准体系都对安全传输做了很多技术要求,但由于传感器网络自身的局限性和应用环境的复杂性、多变性,信息传输面临着多种威胁,恶意干扰、完整性攻击和重放攻击等安全问题比较突出。其中,重放攻击是指传感网中的恶意节点冒充合法节点,向网络重放当前消息或历史数据,尽管重放的消息本身是合法的,但是消息已处理或者不是当前网络需要收集的数据。重放攻击不仅会占用信道资源而且还会造成网络信息传输混乱、终端设备不能正常处理其他业务等问题。ISA100.1la协议是工业传感网的国际标准之一,以低复杂度、低功耗、适当的通信数据速率来支持工业现场应用。其协议栈由应用层、传输层、网络层、数据链路层和物理层组成。传输层主要功能是负责端到端的通信并提供具有灵活安全性的无连接服务,向应用层提供传输的可靠性,避免报文的出错、丢失、延迟、时间紊乱等差错。通过UDP校验和或消息完整性检查(Message Integrity Code,MIC)来保证端到端 TPDU(Transport layerprotocol data unit,传输层服务数据单元)的完整性。通过这些机制实现了 TPDU的完整性保护,能够解决恶意干扰、完整性攻击等问题,但是对于TPDU的重放攻击问题,该标准并没有给出具体技术要求和技术规范,基于这样的背景,本专利技术提出一种数据重复检测的方法。
技术实现思路
本专利技术的目的是提供一种基于ISA100.1la标准的工业传感网数据重复检测方法,该方法对于传感网的重放攻击问题得到了很好的解决。根据ISA100.1la标准的描述,DL子网是由终端设备通过2.4G射频连接的传感器网络,一个骨干路由设备负责维护一个DL子网设备与网关等其他设备通信;骨干网是由具有骨干路由功能的设备和网关设备组成骨干网络,骨干网络传输的数据基于IPv6格式的数据包。介于DL子网和骨干网的区别,终端设备和骨干网设备的协议栈中采用的重复检测方法不完全一致。DL子网中的终端设备的传输层之间传输的TPDU,都携带了 MIC信息。MIC信息通过Hash算法计算得出,基本原理是将一个可变长的报文作为输入,输出一个固定长度的散列码,叫做报文摘要。该报文摘要占据的内存空间要远小于报文所占据的内存空间。这样有两个目的,一个是验证消息的发送者是否伪装;另一个是检验消息的完整性,消息在传递过程中是否被篡改。对于报文摘要相同而输入报文不同的情况在计算上是不可能的。基于这种完整性保护机制,考虑传感器终端设备本身的硬件资源比较紧张,而MIC信息占用内存空间少并且能够唯一表示接收的报文。因此,将MIC作为传感器终端设备重复检测的判别标志。骨干网上的设备之间传输的报文都为基于IPv6格式的数据包,而且该数据包可能通过校验和或MIC来保证完整性。如果有的数据包通过校验和进行完整性检查,则无法通过MIC来进行重复检测。因此,考虑到重复判别唯一性,将报文的源和目的端口号、源设备地址和序列号作为报文的检测标签,来进行重复检测的判别依据。本专利技术的技术方案是:一种基于ISA100.1la标准的工业传感网数据重复检测方法,包括重复检测DL子网中终端设备和骨干网设备,其中DL子网中终端设备重复检测方法是:当终端设备接收到的数据帧,数据链路层和网络层解析完成后送给传输层,传输层进行伪报头的恢复,再对数据进行完整性检查,最后进行报文的重复检测。报文解析完成后,将不重复的数据送给应用层。重复检测过程:传输层维护一个MIC缓存队列,将当前TPDU的MIC信息与队列中缓存的MIC逐个比较,如果比较结果相同,表明被检测TPDU重复,给出重复警报,丢弃该TPDU ;否则,表明被检测TPDU不重复,将该MIC信息添加到队列中存放时间最近的一组MIC后面,将当前的TPDU上报给应用层。骨干网络中设备重复检测方法是:骨干网设备的传输层接收到TPDU后同样需要进行IPv6伪报头的恢复,以获取源和目的设备的端口号、源设备地址。再进行UDP校验和或完整性检查。如果数据包通过校验或检查,再进行重复检测。最后将重复检测通过的报文送给应用层。传输层维护了一个缓存队列,每个缓存单元存储报文的时间戳和检测标签,队列内容以及报文检测标签内容如图1所示。时间戳表示该TPDU的接收时间,检测标签由TPDU的序列号、源地址、源端口和目的端口构成。其中:时间戳:当前接收时间。序列号:报文顺序的一个计数值。源地址:发送TPDU设备的IPv6地址。源端口:发送TPDU进程对象的端口号。目的端口:接收TPDU进程对象的端口号。重复检测过程:在进行重复检测前,根据接收的报文中相关信息构建一个报文检测标签。重复检测时,时间戳指示该检测标签是否为有效检测标签。如果当前时间与该时间戳的差值大于某个确定的时间窗口,则表示该检测标签无效,重复检测时不会再比较这些检测标签。将当前的检测标签和队列中存放的检测标签内容进行比较,如果比较结果相同,表明消息具有重复性,给出重复警报;否则,表明报文不重复,将当前时间戳和新封装的检测标签添加到队列中存放时间最近的一项报文标识的后面,并将数据送给应用层。在重复检测过程中,通过报文检测标签中的序列号的比较,还能检测出报文是否乱序,如果对于报文源地址、源端口和目的端口相等,而序列号非递增,则指示报文乱序。专利技术效果本专利技术提出的重复检测方法,能够有效的检测ISA100.1la网络中消息重复、乱序等问题,在终端设备上执行的重复检测方法简单,易于实现,同时节约了终端设备的存储资源。【附图说明】图1是本专利技术缓存队列结构及报文检测标签结构示意图。图2是本专利技术终端设备队列管理示意图。图3是本专利技术终端设备重复检测流程示意图。图4是本专利技术骨干网设备重复检测队列管理示意图。[0030当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种基于ISA100.11a标准的工业传感网数据重复检测方法,包括重复检测DL子网中终端设备和骨干网设备,其特征是DL子网中终端设备重复检测方法是:传输层维护一个MIC缓存队列,将当前TPDU的MIC信息与队列中缓存的MIC逐个比较,如果比较结果相同,表明被检测TPDU重复,给出重复警报,丢弃该TPDU;否则,表明被检测TPDU不重复,将该MIC信息添加到队列中存放时间最近的一组MIC后面,将当前的TPDU上报给应用层;骨干网络中设备重复检测方法是:在进行重复检测前,根据接收的报文中相关信息构建一个报文检测标签;重复检测时,时间戳指示该检测标签是否为有效检测标签,如果当前时间与该时间戳的差值大于某个确定的时间窗口,则表示该检测标签无效,重复检测时不会再比较这些检测标签;将当前的检测标签和队列中存放的检测标签内容进行比较,如果比较结果相同,表明消息具有重复性,给出重复警报;否则,表明报文不重复,将当前时间戳和新封装的检测标签添加到队列中存放时间最近的一项报文标识的后面,并将数据送给应用层。

【技术特征摘要】

【专利技术属性】
技术研发人员:张建奇张建锋成斐鸣支亚军李孟王鼎衡
申请(专利权)人:西安航天自动化股份有限公司
类型:发明
国别省市:陕西;61

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

1