ISA100.11a安全开发平台的设计与实现

2012-06-21 09:58浩,张晓,王平,梁
电气电子教学学报 2012年6期
关键词:链路层传输层数据包

王 浩,张 晓,王 平,梁 晶

(重庆邮电大学自动化学院工业物联网与网络化控制教育部重点实验室,重庆 400065)

0 引言

ISAl00.11a标准由美国仪器仪表协会(ISA)下属的ISA100工业无线委员会制定,是工业无线领域的三大标准之一[1]。笔者所在的重点实验室作为国际Voting Member和ISA WCI工作组的成员参加了ISA 100.11a标准的制定工作。

ISA100.11a作为一个开放性网络,可能受到非法入侵、毁坏数据和重放攻击等威胁,攻击者会利用工业无线网络存在的漏洞对网络资源和信息进行未授权访问和篡改等恶意操作[2,3],因此,我们必须采取一定的安全措施,以保证用户的安全操作和网络节点间的安全通信,保护网络内部的资源和维持正常的生产秩序。针对工业物联网的安全需求,本实验室设计并实现一种基于ISA100.11a协议的安全开发平台,为安全技术的推广提供技术支持。

1 ISA100.11a安全开发平台

我们的ISA100.11a安全开发平台是基于本实验室开发的硬件平台和ISA100.11a通信协议栈,实现标准中的安全服务,并预留二次开发接口,用于学习和开发基于ISA100.11a协议的安全系统。

1.1 硬件平台

(1)网关设备

ISA100.11a网关是一种集成 ISA100.11a核心协议的短程无线通信设备。它需要现场总线电源供电,工作频段为2.4GHz,选用美国 ATMEL公司的AT91R40008微处理器,提供串口和以太网口两种连接方式。

(2)无线模块

ISA100.11a路由设备和终端节点设备的无线模块主要由天线部分、CC2530芯片部分、电源模块部分和晶体振荡电路四部分组成。其工作频段为2.4GHz,集成 ISA100.11a 核心协议,由自带电源供电,是一种低能耗、短程无线网络通信设备。

(3)传感器类型

本安全开发平台提供的传感器类型包括温湿度传感器、烟雾传感器和瓦斯传感器。

1.2 ISA100.11a 安全体系

ISA100.l1a标准协议体系结构定义了物理层、数据链路层、网络层、传输层和应用层。数据链路层包括 IEEE 802.15.4 的 MAC 子层、ISAl00.lla的MAC扩展层和数据链路层上层;应用层包括应用子层、用户应用进程和设备管理器。

在ISA安全体系中,安全管理器负责整个网络的安全管理:①设备自身的安全是通过设备的管理应用进程DMAP中设备安全管理对象DSMO进行管理,可以由DSMO向设备的应用进程发起安全服务请求;②ISA的安全服务主要应用于通信协议栈的数据链路层和传输层,当使用特定的密钥时,数据链路层安全可以抵御来自系统外部的攻击者,而传输层安全是抵御那些存在于网络边缘的攻击者。ISA提供的安全服务主要由设备内的安全管理对象DSMO和网络中安全管理器进行交互式管理。

2 关键技术实现

2.1 安全算法

加密算法使用标准中规定的AES加密算法[4,5],其密钥长度为 128bit,加密和完整性校验使用CCM模式。本平台中的安全算法由CC2530中的AES硬件协处理器辅助实现,并根据是否加密与校验码长度,将数据安全操作分成8种安全级别。

本平台密钥生成使用标准中规定的SKG协议,该协议中使用的算法为HMAC,HMAC算法的原理框图如图1所示。图中ipad表示16个值为0x36的十六进制值串;opad表示16个值为0x5C的十六进制值串;表示异或运算; II表示连接运算;MMO Hash算法为无密钥的散列算法,通过AES加密算法协助完成。

图1 HMAC算法原理框图

2.2 密钥管理

ISA100.11a支持对称密钥和非对称密钥的使用,由于非对称密钥只是在高安全级别下用于安全引导操作,因此本文主要介绍对称密钥的管理。根据密钥的使用特点可将密钥分为如下五种类型。

(1)全网密钥(Global key):全网共享密钥,不具备安全性能,为保持数据结构的一致性在未建立共享密钥的时候处理PDU。

(2)加入密钥(Join key):设备与安全管理者共享,共享密钥准备阶段时接收,引导新设备入网。

(3)主密钥(Master key):设备与安全管理者共享,由密钥协商机制导出,用于密钥分发以及安全管理,需要定期更新。

(4)数据链路层密钥(DL key):本地DL子网共享,由安全管理者分发,用于数据链路层的完整性校验码MIC的计算,需要定期更新。

(5)会话密钥(Session key):设备与安全管理者或设备之间共享,可由安全管理者分发或者由密钥协商机制产生,用于传输层数据加密及校验,需要定期更新。

密钥的建立和更新根据安全策略的不同而有所区别,主要方法由安全管理者生成,并使用主密钥进行安全下发。

密钥需要定期地更新,其生命周期如图2所示。每个密钥从建立到撤销的整个有效期之内,可能会处在多个不同阶段,需要根据具体应用需求对密钥进行维护和更新。

图2 密钥生命周期

2.3 入网认证

入网认证是一种基于网络的安全机制,用于验证加入节点身份的真实性,同时根据该节点身份为其分配相应的网络资源。

一个新设备安全加入网络的过程如图3所示,共包括六个步骤。

图3 ISA100.11a安全入网

(1)在新设备入网之前,已通过手持设备写入或者其它方式存储加入密钥和全网密钥;

(2)新设备依次监听网络内的可用信道,直到成功收到某个路由设备发出的信标并根据其时间信息完成时间同步。构造安全系统加入请求报文根据默认安全策略进行安全处理后发送给路由设备;

(3)路由转发新设备的安全系统入网请求给网络管理者;

(4)网络管理者的管理实体收到设备网络层链接请求,根据网络实际情况为设备分配通信资源并产生加入响应,并将这个响应连同安全入网请求信息传送给安全管理者。该安全管理者验证设备加入请求的合法性。如果认证失败,该网络管理者撤回分配给新设备的资源,断开连接。如果认证成功,安全管理者将提供包括随机数、主密钥、会话密钥、和链路层加密密钥在内的安全信息,生成响应报文返回给系统管理者;

(5)路由设备的安全管理模块收到该包,完成完整性校验后将该报文发送给新设备的管理模块;

(6)新设备中的安全管理模块对安全系统加入响应报文进行校验。如果认证失败,则该包将被抛弃,同时新设备重新发起加入请求。如果认证成功,新设备将解密获得相关密钥,并回复安全入网确认。此时新设备与安全管理者和安全管理代理建立了安全的连接关系,同时新设备根据响应包中的安全策略进行安全通信。

2.4 安全数据传输

ISA100.11a网络安全着重关注安全数据传输的机密性和完整性,其安全通信协议栈能够实现数据点到点和端到端的安全保护。图4为网络数据安全传输流程。

图4 ISA100.11a安全数据传输

在此过程中,如下的不同设备角色可选择不同安全相关操作。

(1)现场设备:对数据包在传输层和数据链路层进行加密/解密,生成数据链路层的时间戳,并利用时间戳、DPDU及密钥生成完整性认证码MIC;

(2)路由设备:对数据包进行数据链路层完整性校验和加密/解密,利用数据链路层时间戳抵御重放攻击;

(3)网关:对数据包进行数据链路层、传输层完整性校验和加密/解密,利用数据链路层时间戳抵御重放攻击;

(4)控制系统:对数据包进行传输层完整性校验和加密/解密。

①数据链路层安全

数据链路层帧结构基于IEEE Std 802.15.4数据帧,因此具有相同的MAC帧头。DPDU帧结构如图5所示。

图5 数据链路层帧格式

MMIC对整个DHR和DL负载进行完整性保护,而DL负载根据安全策略可能会进行加密保护。在DHR中,DMXHR是设计用于安全的扩展头。

②传输层安全

传输层所提供的安全服务由传输层策略决定,因此,在处理流入流出数据的时候,DSMO需要首先查看MIB表以确定相应的策略。

3 安全开发平台测试分析

安全开发平台测试系统包括9个传感设备、4个路由节点和1个网关节点。网关连接了现场设备层与监控层,且安全管理器功能在网关上实现。本节内容针对该测试系统,从安全功能实现,系统功耗与工作效率这三个方面进行分析。

3.1 安全功能测试

采用Chipcon General Packet Sniffer实时监听无线网中传输的无线报文并进行协议分析,其安全通信数据包如图6所示。

图6 安全实验系统分析

由数据包分析可以看出,本测试系统可实现安全策略可控,包括无安全、现场数据加密、数据链路层与传输层安全和数据链路层安全等形式。

3.1 功耗分析

ISA100.11a网络作为无线传感器网络在工业现场的典型应用,低功耗是其核心要求[7]。我们从如下三个开销对平台进行了测试分析。

(1)计算开销

计算开销取决于算法的复杂性和计算过程的响应时间。本平台中安全算法主要集中于AES密码算法。该算法实现基于CC2530中的AES协处理器,加解密过程中需要经过DMA通道上传下载数据,运算功率平均为7.68mW,计算开销较低。

(2)存储开销

ISA100.11a安全测试系统使用128位对称密钥。网络最低的安全等级是所有设备使用相同加入密钥进行入网认证,因此每个设备需要保存相同的安全信息,包括密钥值、密钥生存周期、加密算法等。这些安全信息都以数组的形式被保存在安全管理信息库中,仅占芯片代码区的5%,可见安全信息的存储将不会增加内存空间的负担。

(3)通信开销

根据CC2530芯片手册,在比特率为250kb/s的情况下,接收数据平均耗能ERx=324nJ/bit,发送数据平均耗能为ETx=296nJ/bit,因此,通信开销取决于信息交换次数以及发送数据包长度。在系统正常运行过程中,额外的交互操作仅存在于安全密钥建立和密钥确认部分;对每个数据包而言,其长度增加主要在于传输层校验码以及数据链路层的校验码,标准默认校验码长度为32bit,其开销认为可接受。

3.2 效率分析

针对工业现场传输延时的要求,我们进一步测试安全处理的时间消耗,以路由设备为被测设备,比较路由设备在处理无安全数据包和添加安全措施的数据包的时间消耗,选取20组时间值进行分析。处理时间结果如图7所示。

路由设备在转发普通数据时需要消耗的平均时间为139208μs。而当收到安全数据时,路由设备需要对收到的安全数据包进行校验和处理工作,此时路由设备消耗的的平均时间为139213μs。测试结果表明,路由设备解密和重新加密数据的操作并没有造成过多的时间消耗,加密解密等安全措施不会增加网络中现场设备、路由和网关处理数据的时间开销。

图7 数据安全和非安全处理时间比较

4 结语

工业无线网络作为一个开放性网络,具有较高的安全需求。我们设计并实现的ISA100.11a安全开发平台,建立以DSMO安全管理模块为核心的安全通信协议栈体系,提供数据完整性、数据保密性和设备认证等安全服务以保证网络运行安全。

本平台经过安全功能测试,表明可以实现多种安全策略的灵活部署,同时本平台以集成化、模块化为典型设计思路,可扩展性强。并且,本开发平台的功耗及效率测试结果表明使用本平台搭建的系统是能够满足工业现场的低开销低延时需求的。

[1]Wireless systems for industrial automation:Process control and related applications.ISA100.11a/2009 Draft standard

[2]Security framework for ubiquitous sensor network for Consent,Revised text of FCD 29180,ISO/IEC JTC1

[3]Xuan Zhang et al,Research and Implementation of Security Mechanism in ISA100.11a Networks,ICEMI'2009

[4]Cristina Alcaraz,Javier Lopez,A Security Analysis for Wireless Sensor Mesh Networks in Highly Critical Systems,IEEE,July,2010

[5]Gengyun WANG,Comparison and Evaluation of Industrial Wireless Sensor Network Standards ISA100.11a and WirelessHART,CHALMERS University of technology,Report No.EX036/2011

[6]WeiMin et al;Research and Implementation of the Security Method Based on WIA-PA Standard,Electrical and Control Engineering(ICECE),IEEE 2011

[7]王平;王泉;王恒;魏旻;李勇;工业无线技术ISA100.11a的现状与发展[J]北京;中国仪器仪表,2009(10)

猜你喜欢
链路层传输层数据包
二维隐蔽时间信道构建的研究*
基于Jpcap的网络数据包的监听与分析
基于多空间内存共享的数据链路层网络包捕获方法
基于Python语言的网络传输层UDP协议攻击性行为研究
ZnO电子传输层在有机无机杂化钙钛矿太阳能电池中的应用
SmartSniff
物联网无线通信传输层动态通道保障机制
基于物联网GIS的消防智能巡检系统设计与实现
基于FPGA全功能MVB网络从设备链路层IP核设计
数据链路层的选择重传协议的优化改进