APP下载

基于EtherCAT的工业以太网安全技术的研究*

2016-01-22刘才思郑飂默尹震宇

组合机床与自动化加工技术 2015年12期

刘才思,刘 峰,郑飂默,尹震宇

(1.中国科学院大学,北京 100049; 2.中国科学院 沈阳计算技术研究所,沈阳 110171;3.沈阳高精数控技术有限公司,沈阳 110171)



基于EtherCAT的工业以太网安全技术的研究*

刘才思1,2,刘峰2,3,郑飂默2,3,尹震宇2,3

(1.中国科学院大学,北京100049; 2.中国科学院 沈阳计算技术研究所,沈阳110171;3.沈阳高精数控技术有限公司,沈阳110171)

摘要:在研究EtherCAT协议栈,以及EtherCAT的软、硬件结构特性和帧结构特点的基础上,分析了EtherCAT工业以太网存在的通信故障错误,及其对应的安全通信机制措施,建立了安全系统体系结构和安全通信协议模型,设计了EtherCAT功能安全通信过程,开发了安全协议层软件。经过试验测试表明,通过在EtherCAT应用层之上添加EtherCAT安全通信,并且对EtherCAT通信报文中用户数据单元进行扩展,来实现关键安全措施,满足了安全相关领域通信的要求,保障了EtherCAT系统的安全性和可靠性。

关键词:EtherCAT;安全协议;CRC校验;残余错误率

0引言

工业制造水平的不断提高,使得对于安全相关技术的需求更加明显,要求更加严格。安全,即免受不可接受的风险。安全从开始被认为是成本负担和“不可避免的祸”,逐步演化为提高生产率和减少停机时间的策略。另外,网络安全不仅可以缩短启动时间,降低布线成本,而且,从长远看,有助于快速高效的维护。

在国际标准IEC61508中,定义了安全相关系统的要求。此标准涵盖了从概念定义阶段到维护阶段的整个产品生命周期。其中,不仅对设备本身做出要求,而且还指定开发和维护过程中的要求。

一般来讲,要使得总线系统安全的方法有:设计一个全新的总线,或完善现有总线。基于开发成本以及兼容性的考虑,大部分现场总线都采用了完善安全功能的措施。

本文的第一部分,将阐述EtherCAT总线的协议基本结构。第二部分将在第一部分的基础上,阐明实现EtherCAT安全的安全需求、相应的安全措施以及安全层结构。最后,将讨论残余错误概率的计算方法,并给出相应的实验结果。

1EtherCAT通信协议结构

1.1EtherCAT协议结构

EtherCAT是一种工业以太网,它使用了以太网标准IEEE 802.3的物理层以及链路层。

EtherCAT将其数据帧嵌入到标准的以太网帧中,并在以太网帧类型字段中使用0x88A4作为其标识。嵌入EtherCAT帧的以太网数据帧包括以太网帧头、数据部分和帧检测序列FCS。以太网帧的数据部分包括EtherCAT帧头、EtherCAT报文。EtherCAT报文又分为多个子报文,子报文包括子报文头、数据和工作计数器(WKC)。EtherCAT也可以使用UDP/IP协议格式传输EtherCAT数据,需要在以太网帧头和数据部分之间插入IP报头和UDP报头。

1.2EtherCAT通信原理

以太网帧由EtherCAT主站发送,经过每个从站,一直到网段中的最后一个从站,当拓扑结构中的最后一个从站设备检测到其开放端口时,于是就将帧数据返回给主站。每个从站读取带有寻址信息的数据,同时在报文经过时将数据插入到帧中,这种数据传输方式称为移位同步,即从站设备读写其相应数据,同时将数据帧传送到下一设备。EtherCAT主站是一个网段中唯一一个可以主动发送EtherCAT帧的节点,所有其他节点仅向下游转发帧。

EtherCAT主站通过特定的寻址方式选择从站,当网络中有路由器或交换机时,主站根据目的MAC地址寻址到目的网段,其中目的地址是目的网段中第一个从站的MAC地址。当数据经过第一个网段后,从站将目的地址和源地址互换,因为数据经过全部从站后,要返回给主站。EtherCAT将上述的每个网段,看做成为一个以太网设备。

2EtherCAT安全通信机制的设计

2.1功能安全需求

国际标准IEC 61508中,将功能安全分为传感器、通信链路、可编程电子设备和执行器几个部分报文在传输过程中,由于随机、硬件错误或系统失效,可导致的通信错误有:

破坏(Corrutpion),由于总线错误、传输介质错误或报文冲突,而导致报文受到破坏。如,接收到的报文未通过CRC校验。

非预期的重发(Unintended repetition),由于错误、故障或冲突,使得报文在非预期的时间点上,出现重发。如,发送方在发出报文一段时间内,没有接收到接收方的确认,而再次发送原来的报文,导致了通信错误。

乱序(Incorrect sequence),由于错误、故障或冲突,导致来自某个源站的消息的预定义顺序错误。如,报文在传输过程中,经过存储转发设备时,可能出现报文被覆盖或者发生顺序改变。

丢失(Loss),由于错误、故障或冲突,发出的数据没有被接收,或者没有收到确认。

不可接受的延时(Unacceptable delay),由于传输介质错误、传输线路阻塞、冲突等,而导致报文延时,并超出预定义的传输时限。

插入(Insertion),由于故障或冲突,导致插入了一个未知或非预期源站的报文。

伪装(Masquerade),由于故障或冲突,使得非安全数据插入到安全报文中,而接收方却将其作为安全数据处理。

寻址出错(Addressing),由于故障或冲突,使得安全数据发送到错误的目的设备,同时该目的设备将该报文视作正确报文接收,并做出响应。

此外,还有可能出现的错误有:不一致(Unconsistency),当一个报文有很多接收方时,不同的接收方以不同的方式识别数据;另外,还有失序(Out-of-sequence)、回环(Loopback)错误。

2.2安全措施

报文在传输中,可能发生如上所述的错误:破坏、非预期的重发、乱序、丢失、延时、插入、伪装和寻址错误等。我们制定了如下安全相关的措施:顺序号、时间戳、时间预期、连接认证、回传、数据完整性、交叉校验的冗余信息和不同的数据完整性系统等。

顺序号(Sequence number),在安全报文中设置顺序号字段,使用预定义的数字标识报文与报文间的逻辑顺序。

时间戳(Time stamp),通信发送方在其发送报文中插入时间或时间数据,用以表示报文发送时间。

时间预期(Time expectation),通常作为接收方用来判断连续报文的时间间隔是否超过预期时间的依据,如过超出预期,则认为发生了通信错误。看门狗(Watchdog)定时器,可作为时间预期的应用。

连接认证(Connection authentication),通过设定系统中唯一的标识,来表示主站和从站的通信连接关系。

反馈(Feedback message),接收方在接收到报文之后,反馈给发送方的确认信息。

数据完整性(Data integrity assurance),通过差错控制编码技术,在信息中添加冗余码,用以发现报文是否破坏,常见的措施有海明码、循环冗余编码等。

交叉校验的冗余信息(Redundancy with cross checking),通过在一个报文中拷贝两份安全数据,或者在将同一报文中分为两次发送,并使用不同的完整性措施,检验两份数据的一致性,来判断是否是安全数据。

不同的数据完整性系统(Different integrity assurance systems),当安全和非安全相关报文通过同一通信线路传输时,可以通过不同的数据完整性方式和数据编码规则,来防止非安全相关报文影响安全相关报文。

通信错误与相应的安全措施的关系如表1。

表1 通信错误与相应的安全措施的关系

*仅限于串行总线

基于以上研究分析,设计出子报文中的安全帧结构如图1所示。

图1子报文安全帧结构

安全数据是主站点提供从站所需的数据。状态/控制位用于标识数据的状态。连接ID用于认证通信链路的权限。序列号用于标识消息传输的顺序。CRC用于检验传输数据的完整性。

2.3安全层结构

EtherCAT协议使用了ISO/OSI模型的1、2、7层分别作为其物理层、链路层和应用层的参考标准。安全层的设计位于应用层之上,负责处理上层安全应用提供的安全数据。

基于EtherCAT的安全根据“黑通道”原理,利用原有的EtherCAT通信软、硬件,并且对于通信硬件和软件的可靠性不做要求。在EtherCAT安全通信系统中,标准和安全应用共享同一通信线路(如图1所示)。

EtherCAT安全的协议结构如图:

图2 EtherCAT安全层结构

图中,黑色实心方块代表中继器、交换机、无线设备或智能IO数据路由器等。

3EtherCAT残余错误概率分析

循环冗余校验码,即循环码,广泛用于数字通信链路的差错检测,是检测数据传输错误有效的办法之一。如今衡量CRC多项式性能的主要标准是:残余错误概率(Residual Error Probability)和汉明距(Hamming Distance)。残余错误概率,是指传输的数据受到破坏而未被检测到的概率。它取决于单个位错的结合类型以及安全层检错措施。汉明距指出了完全可以检测到位错误的最大长度。数据完整性是其他安全措施行之有效的保证,所以一个系统的残余错误率的大小决定着这个系统安全级别。

3.1残余错误概率

实际的残余错误概率取决于报文长度,生成多项式g(x) 以及位错误概率p 。因此,选择适当的生成多项式,可以使得传输过程中数据完整性校验达到事半功倍的效果。假设转发信道是二元对称信道,则基于最小汉明距离的残余错误概率的公式为:

(1)

其中,n 为安全消息长度;d 为安全码的最小汉明距离;p 为误码率。

式(1)满足二项式定理中的通项要求,可将(1)变型为另一种形式。过程如下:

(2)

将式(1)转换为求式(2),减少了计算量。式(2)虽然简化了运算方法,但是精度还是不尽人意。由于线性码残余错误概率的系数,满足[11]:

则相应的残余错误概率有:

(3)

3.2实验结果与分析

常用的确定Pre的方法有:直接代码分析,转换代码分析法(利用MacWilliams等式)以及Monte Carlo模拟。

假设多项式为13613h(16进制),报文长度为128比特,其中112比特信息位和16CRC校验码,汉明距为6。由于残余错误概率依赖于报文长度,所以将每个考虑到的报文长度的最大残余错误概率看做为0

图3 多项式为13613h的112比特信息的残余错误概率

实验结果表明,基于二元对称信道的残余错误概率满足上界为2-r(p<0.5 )。残余错误概率与误码率不一定是单纯的单调递增或单调递减的关系。

4结论

安全(Safety)和安全(Security)是两个不同的方面,前者指的是没有造成人或环境的灾难性的后果,后者指的是,机密性、完整性和可用性三者的结合。对于安全的这两个方面的研究,需要进一步分析二者的依赖关系,权衡代价,进而得出合理的对策。

[参考文献]

[1] International Electrotechnical Commission.IEC61508(all parts)Functional safety of electrical/electronic/Programmable electronic safety-related systems[S].1998.

[2] International Electrotechnical Commission.IEC61784-3 Digital data communications for measurement and control-Part3:Profiles for functional safety communications in industrial networks[S],2005.

[3] ETG.Ether CAT Communication Principles. EtherCAT Technology Group (ETG). 2011.http://www.ethercat.org/en/downloads.html.

[4] ETG. Ether CAT Technology Introduction. EtherCAT Technology Group. 2010. http:// www. ethercat.org/en/downloads.html.

[5] Dutuit Y, Innal F, Rauzy A, et al. Probabilistic assessments in relationship with safety integrity levels by using fault trees[J]. Reliability Engineering & System Safety, 2008, 93(12): 1867-1876.

[6] Novak T, Gerstinger A. Safety-and security-critical services in building automation and control systems[J]. Industrial Electronics, IEEE Transactions on, 2010, 57(11): 3614-3621.

[7] 卿斯汉. 安全协议 20 年研究进展[J]. 软件学报, 2004, 14(10): 1740-1752.

[8] 李正军. 现场总线与工业以太网及其应用技术[M].北京: 机械工业出版社, 2013.

[9] Kosmowski K T. Functional safety concept for hazardous systems and new challenges[J]. Journal of Loss Prevention in the Process Industries, 2006, 19(2): 298-305.

[10] Novak T, Treytl A, Palensky P. Common approach to functional safety and system security in building automation and control systems[C]//Emerging Technologies and Factory Automation, 2007. ETFA. IEEE Conference on. IEEE, 2007: 1141-1148.

[11] Kassey J L. Coding techniques for digital data networks[C]. Proceedings of the Int. Conf. on Info. Th. and Systems,1978. NTG Fachberiche,1978.

[12] Elia A, Ferrarini L, Veber C. Analysis of Ethernet-based safe automation networks according to IEC 61508[C]//Emerging Technologies and Factory Automation, 2006. ETFA'06. IEEE Conference on. IEEE, 2006: 333-340.

[13] Gilat A. MATLAB: an introduction with applications[M].New York:John Wiley & Sons, 2009.

(编辑赵蓉)

Researh and Application of Industrial Ethernet Safety Based on EtherCAT

LIU Cai-si1,2,LIU Feng2,3,ZHENG Liao-mo2,3,YIN Zhen-yu2,3

(1.University of Chinese Academy of Sciences,Beijing 100049,China;2.Shenyang Institute of Computing Technology, Chinese Academy of Sciences,Shenyang 110168,China)

Abstract:Under the study of EtherCAT protocol stack and the characteristics of software ,hardware and frame of EtherCAT , we analyzed communication faults and errors in the industrial ethernet and the counter safety communication mechanism measures, established the safety system architecture and safety communication protocol model, designed the EtherCAT safety communication process, and developed safety protocol layer software. As the result of experimental test shows, by adding EtherCAT safety layer upon application layer and safety measures into user data unit with some critical safety measures, we made the protocol meet the safety requirements of communication related fields and guarantee the EtherCAT system safety and reliability.

Key words:EtherCAT;safety protocol; CRC checksum;residual error probability

中图分类号:TH165;TG68

文献标识码:A

作者简介:刘才思(1989—),男,内蒙古赤峰人,中国科学院大学硕士研究生,研究方向为数控技术,(E-mail)iliucaisi@gmail.com。

*基金项目:“高档数控与基础制造装备”国家科技重大专项,数控系统功能安全技术研究(2014ZX04009-031)

收稿日期:2015-03-06;修回日期:2015-04-01

文章编号:1001-2265(2015)12-0043-03

DOI:10.13462/j.cnki.mmtamt.2015.12.012