Modern Transportation December 2013, Volume 2, Issue 4, PP.58-63
Application of Petri Based Verification Approach in Safety Communication Protocol for ETCS Linfang Cheng, Fei Wang, Xianqiong Zhao# Signal and Communication Research Institute in China Academy of Rail Sciences, 100081, China #Email: zhaoxianqiong@gmail.com
Abstract As the performance of secure communication protocol directly affects the safety state of train in train operation control system, the performance analysis and verification is an important means to guarantee the train safety. secure communication protocol of ETCS is the subject of this paper; then performance analysis and verification are put forward based on Petri; by which model is developed by means of CPN (Colored Petri Net); then boundedness, liveness, and safety of the protocol are investigated using formal method; further, based on the model state and action, whether the protocol agrees with standard is examined. The above mentioned functions are realized by Petri including Poseidon and CPN Tools. Keywords: ETCS; Secure Communication Protocol; Petri
基于 Petri 网的通信协议性能分析与验证方法 及在 ETCS 中的应用* 程林芳,王菲,赵显琼 中国铁道科学研究院通信信号研究所,北京市 100081 摘 要:列车运行控制系统中,安全通信协议的性能直接影响到列车的行车安全。因此,对其进行性能分析和验证技术是 保证行车安全的重要技术之一。本文以欧洲列车运行控制系统(ETCS)安全通信协议为验证对象,提出基于 Petri 网的 安全通信协议性能分析和验证方法,首先用有色 Petri 网给建立模型,然后用形式化方法验证协议的有界性,活性和安全 性。根据模型表示的状态和行为检查协议是否符合规范的要求。以上功能都是通过 Petri 网软件实现,包括 Poseidon 和 CPN Tools。 关键词:ETCS;安全通信协议;Petri 网
引言 由于越来越多的列车运行控制系统使用无线通信来传输信息,安全通信的需求日益强烈,因此欧洲轨 道交通管理系统(European Rail Traffic Management System, ERTMS)给欧洲列车运行控制系统(European Train Control System, ETCS)提出了一套具备高安全要求的安全通信协议[1]。协议的研发过程需要经过以下 几个步骤:用户需求分析,协议设计规范制定,验证,运行和一致性测试。验证是检查协议是否符合期望 属性的重要的一步[2]。以非形式化方式描述的安全通信协议可能包含错误,导致严重后果。因此,可以考虑 将 Petri 网作为协议验证的形式化方法 [3]。参考 ETCS 规范中定义的安全通信协议状态转移过程,本文用 Petri 网工具之一 Poseidon 验证协议模型的有界性,然后用有色 Petri 网工具验证活性和安全性。本文首先介 绍了 ETCS 安全通信协议,然后用 CPN Tools 建立了协议模型,接着通过验证安全通信协议逻辑特性和时间 特性,证明协议的安全性。 *基金资助:受铁道部科技研究开发计划项目支持资助(2012X001) 。
- 58 www.ivypub.org/MT
1
ETCS 安全通信协议 ETCS 使用全球铁路通信系统(Global System for Mobile Communication Railway, GSM-R)传输信息。由于
GSM-R 的安全性不能满足列控系统的安全需求。因此有必要在不可信的通信系统之上增加一层安全相关传 输系统,安全通信协议由此引出[4]。 参考 ETCS 规范 subset037,ETCS 通信系统结构如图 1 所示,除了安全相关信息,安全相关设备的应用 进程可以通过底层开放通信系统交互非安全相关信息[1]。
图 1 ETCS 定义的通信系统结构[1]
2
安全通信协议的有色 Petri 网模型
2.1 安全通信协议的逻辑 安全通信协议的逻辑可以看作安全状态的转换过程。图 2 表示了安全状态的转换过程。
图 2 安全状态转移过程[1] 表 1 图 2 中状态说明 状态缩写 WFTC WFAR DATA WFAU3 WFRESP IDLE
状态含义 等待传输链接 等待授权响应 SaPDU 安全链接已建立,可以开始数据传输 等待第 3 授权消息 等待 Sa-CONNECT 响应 安全链接已经断开或不存在
如果状态是 IDLE,可以转换到 WFTC 或 WFAU3。一旦收到带有 AU2 的 T-CONN.conf,状态将从 WFTC 转换到 WFAR;一旦收到带有 AR 的 T-DATA.ind,状态将从 WFAR 转换到 DATA;一旦收到带有 AU3 的 T-DATA.ind,状态将从 WFAU 转换到 WFRESP,一旦收到 Sa-CONN.resp,状态将从 WFRESP 转换 - 59 www.ivypub.org/MT
到 DATA。 安全连接建立过程中,状态将从任何非正常状态转换到 IDLE。一旦车载协议收到 T-DISC.req,发送 Sa-DISC.ind;一旦车载协议收到 Sa-DISC.req,发送 T-DISC.req。如果状态是 DATA,除了断链数据,任何 应用数据都会使状态停留在 DATA。状态和收发消息的命令详见[1]。
2.2 安全通信协议的有色 Petri 网模型 适合对安全通信协议进行形式化描述的是有色 Petri 网[5]。有色 Petri 网是 Petri 网的一种扩展,库所包含 代表数据内容的颜色集,用子变迁和子网表示分层结构[6]。 本文中图 2 的发送方用车载表示。图 3 表示车载安全通信协议的 Petri 网模型,包含了图 2 涉及的状态。 库所 ConStatus 包含 4 种可能的令牌 IDLE、WFTC、WFAR 和 DATA,初始令牌为 IDLE,表示初始状态是 IDLE。
(T D T R e q ,D T ,0 ,0 )
S ta tus s
1 `(S a D T Ind ,D T ) T ra inR e ce ive In (T D IS R e q ,S a P ,0 ,0 ) T M sg
(T D T R e q ,A R ,0 ,0 )
T o ID L E
1 `ID L E (S a C O N R e q ,A U 1 )
s
C o nS ta tus D A TA ID L E
ID L E W FAR
T D IS C
1 `(T C O N R e q ,A U 1 ,0 ,0 )
W FAR W F TC
W F TC D A TA
TD A TA
1 `(T D T R e q ,A U 3 ,0 ,0 )
ToW F TC
(T C O N R e sp ,A U 2 ,0 ,0 )
D A TA
T ra inS e nd O ut
1 `(T D T R e q ,D T ,0 ,0 )
T M sg (S a D T R e q ,D T )
1 `(T D IS R e q ,S a P ,0 ,0 ) s
ToW F A R
S D A TA
1 `(S a C O N C o nf,A R )
S D IS C
(S a D IS R e q ,S a P )
1 `(S a D IS Ind , S a P ) T ra inT o A p p
(S P ri,S a P ) S M sg
T ra inA p p
(S P ri,S a P )
T ra inA p p
A p p T o T ra in S M sg
图 3 安全通信协议的有色 Petri 网模型
当变迁 ToIDLE 通过库所 AppToTrain 收到令牌“SaCONReq, AU1”以及 ConStatus 中的任何令牌,将激发 并分别将令牌 WFTC 和“TCONReq, AU1”放入库所 ConStatus 和 TrainSend 中。ConStatus 中的 WFTC 和库所 TrainReceive 中的令牌“TCONResp, AU2”将激发变迁 ToWFTC,将令牌 WFAR 和“TDTReq, AU3”放入 ConStatus 和 TrainSend 中。ConStatus 中的 WFAR 和 TrainReceive 中的令牌“TDTReq, AR”将激发变迁 ToWFAR,将令牌 DATA 和“SaCONConf, AR:放入 ConStatus 和 TrainToApp 中。ConStatus 中的 DATA 和 TrainReceive 中的“TDTReq, DT”将激发变迁 TDATA;ConStatus 中的 DATA 和 AppToTrain 中的令牌 “SaDTReq, DT”将激发变迁 SDATA;TDATA 的激发会将 DATA 和令牌“SaDTInd, DT”放入 ConStatus 和 TrainApp 中;SDATA 的激发会将 DATA 和令牌“TDTReq, DT”放入 ConStatus 和 TrainSend 中。
3
安全通信协议的形式化验证 以下是安全通信协议需要验证的重要属性[3]: 活性:期望的状态和行为最终会发生。 安全性:坏的状态从不会出现;系统从不会进入不可接受状态。 因此,本文中活性和安全性是需要验证的。由于本文用的验证方法是在模型有界的前提下进行的,因
此首先需要验证有界性。
3.1 有界性验证 定义 1:Petri 网是一个集合 PN = (S, T; F, M0)。S 是库所集合,T 是变迁集合,F 是连接库所和变迁的弧 - 60 www.ivypub.org/MT
的集合,M0 是初始标识。R(M0)是从 M0 开始所有可达标识的集合。 M R(M0):M(S) B|B 0,S 是有界的。如果 s S 是有界的,PN 是有界的。 定义 2:PN 的结构可以用矩阵 A 表示 1, if (ti , p j ) F
A = [aij], aij = aij+ - aij-, aij+ = 0
1, if ( p j , ti ) F
aij- = 0
A 是 PN 的关联矩阵。 定义 3:如果 Y: AY=0| y Y: y 0,Y 是 PN 的一个 S 不变量。 n
定义 4:设 n 是 Y 的个数,如果 Yi >0 (0≤ 𝑖 ≤ n),PN 是有界的。 i 1
图 4 是根据图 3 得到的安全通信协议的 Poseidon 模型的 S 不变量,可以发现 Y1 = [1, 1, 1, 1, 0]T,Y2 = [0, 0, 0, 0, 1]T,Yn = [1, 1, 1, 1, 1]T> 0,因此协议模型是有界的。
图 1 安全通信协议的 Poseidon 模型
3.2 活性验证 有色 Petri 网的状态空间分析是验证动态属性的常用方法。活性提供的信息是:死标识是不再具有激发 变迁的标识。死标识是协议的终端标识,需要进一步分析[7]。
图 2 协议模型的死标识
为了体现死标识,通过图 5 的搜索方法可以得到死标识的序号。
图 3 非法终端标识的查找 - 61 www.ivypub.org/MT
由于需要分析协议的终端标识是否正确,图 6 用状态空间搜索的方法检测是否死标识是合理的。函数 ValidTerminal n 定义可能合理的终端标识,即库所 ConStatus 包含令牌 IDLE,WFTC,WFAR 或 DATA。函 数 InValidTerminal()在所有死标识中搜索可能不满足合理终端标识的状态。可以看出协议模型不包含不合理 的终端标识,说明所有的死标识都是对的,安全状态可以转换到图 2 定义的任何状态,说明安全通信协议具 有活性。
3.3 安全性验证 安全通信协议的需求可以翻译成如下的验证目标: 安全性需求(“坏的事情永远不会发生”[8]):安全连接永远不会断开。
图 7 安全需求和验证结果(a)
安全需求的形式化描述为:M, S0 |= Inv (¬ Exception),其中 Exception 表示模型的非安全状态。安全通 信协议应该满足 Inv (¬ Unsafe)。 在安全通信协议中,非安全状态表示安全连接从来没有建立上。Unsafe 可以表示成函数 fun unsafe n = (TrainSend 1 n = [(TDISReq, AU1)] orelse [(TDISReq, AU2)] orelse [(TDISReq, AU3)] orelse [(TDISReq, AR)] orelse [(TDISReq, DT]),说明安全连接断开。图 7 中,fun unsafe n 定义非安全状态:库所 ConStatus 包含令 牌“TDISReq, AU1”、“TDISReq, AU2”、“TDISReq, AU3”、“TDISReq, AR”或“TDISReq, DT”。验证结果说明 没有危险状态。
图 8 安全需求和验证结果(b)
为了进一步分析协议的安全性,图 8 中,公式 formula 表示从初始状态开始,总会到达函数 unsafe 表示 的状态,即可以通过任何路径到达库所 TrainSend 中含有“TDISReq, AU1”、“TDISReq, AU2”、“TDISReq, AU3”、“TDISReq, AR”或“TDISReq, DT”。操作符 NF 表示原子命题 TrainSend 中含有“TDISReq, AU1”、 “TDISReq, AU2”、“TDISReq, AU3”、“TDISReq, AR”或“TDISReq, DT”,操作符 POS 表示原子命题 NF 总为 真。函数 eval_node 检查公式 formula 是否为真。 图 8 的第 2 部分是验证结果。公式 val unsafe 是将 unsafe 是从状态标识转换成布尔型的函数。公式 - 62 www.ivypub.org/MT
formula 将原始公式转成 CTL 库里的基本操作符[9]。最后表明公式 formula 是错的,说明不可能出现安全连 接建立不上的情况,同样说明安全通信协议符合安全需求。
4
结论 本文提出了给 ETCS 安全通信协议进行形式化验证的方法。用有色 Petri 网的形式表示安全通信协议的
状态,这使强大的形式化分析工具 Poseidon 和 CPN Tools 可以对协议进行验证。通过状态空间搜索方法证 明协议的逻辑是安全的,死标识是合理的。同时将验证目标转成形式化描述语言。验证结果是不会出现安 全连接建立不上的情况。
REFERENCES [1]
EuroradioFIS: class 1 requirements [EB/OL], 2003.
[2]
Jae-Dong Lee, Jae-Il Jung, Jae-Ho Lee, Jong-Gyu Hwang, Jin-Ho Hwang, Sung-Un Kim. Verification and conformance test generation of communication protocol for railway signalling systems. Computer Standards & Interfaces 29 (2007) 143–151
[3]
Jae-Ho Lee, Jong-Gyu Hwang, Gwi-Tae Park. Performance evaluation and verification of communication protocol for railway signaling systems. Computer Standards & Interfaces 27 (2005) 207–219
[4]
CENELEC, Railway Applications - Safety related communication in open transmission systems, EN 50159-2, 2001.
[5]
Jensen K. Coloured Petri nets. Basic concepts, analysis methods and practical use. Analysis methods, vol. 2. Monographs in theoretical computer science. Berlin: Springer; 1997 [2nd corrected printing. ISBN: 3-540-58276-2].
[6]
E. Nemeth, T.Bartha, Cs.Fazekas, K.M.Hangos. Verification of a primary-to-secondary leaking safety procedure in a nuclear power plant using coloured Petri nets. Reliability Engineering and System Safety 2009; 94: 942-953
[7]
PanagiotisKatsaros. A roadmap to electronic payment transaction guarantees and a Colored Petri Net model checking approach. Information and Software Technology 2009; 51: 235-257
[8]
Heiner M. Verification and optimization of control programs by Petri nets without state explosion. In: Proceedings of the second international workshop on manufacturing and Petri nets, held at the XVIII international conference on applications and theory of Petri nets (ICATPN’97), 1997. p. 69–84.
[9]
A. Cheng, S. Christensen, K.H. Mortensen, Model checking Colored Petri Nets exploiting strongly connected components, in: Proceedings of the International Workshop on Discrete Event Systems, Edinburgh, Scotland, UK, 1996, pp. 169–177.
【作者简介】 1
程林芳(1972- ),女,汉,硕士,助
2
王菲(1982- ),女,汉,硕士,助理研究员,列车通信信
理研究员,列车通信信号。
号。Email: 34272781@qq.com
Email: lindahcyyhk@sina.com
3
赵显琼(1982- ),男,汉,博士,助理研究员,列车通信
信息系统测试与安全,2004 年毕业于北京交通大学电子信息 工程学院,信息与通信工程专业,获得学士学位;2012 年毕 业于北京交通大学轨道交通控制与安全国家重点实验室交通 信息工程及控制专业,获得工学博士。 Email: zhaoxianqiong@gmail.com
- 63 www.ivypub.org/MT