一种车载以太网安全状态检测方法和装置与流程

文档序号:30986530发布日期:2022-08-03 01:36阅读:167来源:国知局
一种车载以太网安全状态检测方法和装置与流程

1.本技术涉及通信技术领域,特别是涉及一种车载以太网安全状态检测方法和装置。


背景技术:

2.近年来随着车载以太网的广泛使用,车辆的安全要从全局考虑,网络信息安全也应运而生,在车端的网络安全成为必不可少的部分。
3.现有的车载以太网中各个ecu的信息安全状态管理不够完善,在ecu处于一些状态时需要人为干预才可进行状态跳转,没有办法确保整车的所有ecu都工作在可控可管的状态下。


技术实现要素:

4.有鉴于此,本技术提供了一种车载以太网安全状态检测方法和装置,用于解决上述技术问题,其技术方案如下:
5.一种车载以太网安全状态检测方法,车载以太网的各个电子控制单元ecu上运行客户端,与客户端交互的服务器端运行在远程信息处理器t-box上,客户端启动后连接服务器端,并与服务器端交互信息,客户端的状态机在客户端启动后处于初始状态,客户端的状态机中包括有限状态集q、有限输入集合σ、有限输出集合λ,以及输出函数和转移函数,其中,有限状态集q表征运行客户端的ecu能够处于的状态集合,有限输入集合σ表征客户端接收到服务器端发送的报文事件和客户端中的定时器超时触发的事件的集合,有限输出集合λ表征客户端采取的输出动作集合;
6.车载以太网安全状态检测方法,包括:
7.根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态;
8.根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。
9.可选的,有限状态集q中包括初始状态q0、发送就绪状态q1、就绪状态q2、连接异常状态q3、关闭安全状态q4和恢复出厂状态q5;
10.有限输入集合σ中包括接收保活报文σ0、接收保活确认报文σ1、接收就绪确认报文σ2、接收关闭安全功能配置命令σ3、接收恢复出厂配置命令σ4、接收恢复出厂确认报文σ5、保活定时器超时σ6、通信检测定时器超时σ7和通信异常定时器超时σ8;
11.有限输出集合λ中包括发送就绪报文λ0、发送保活确认报文λ1、发送保活报文λ2、发送恢复出厂报文λ3、刷新接收时间戳λ4、清除安全配置λ5、重新与服务器端建连λ6和恢复出厂配置λ7。
12.可选的,根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态,包括:
13.当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状
态机的输出状态,其中,第一状态为有限状态集q中的任一状态,第一事件为有限输入集合σ中的任一事件。
14.可选的,根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作,包括:
15.当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作,其中,第二状态为有限状态集q中的任一状态,第二事件为有限输入集合σ中的任一事件。
16.可选的,在第一状态和第二状态相同,第一事件和第二事件相同的情况下,当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状态机的输出状态,当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作,包括:
17.当状态机处于初始状态q0,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送就绪报文λ0,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入发送就绪状态q1;
18.当状态机处于发送就绪状态q1,且接收到来自服务器端的就绪确认报文σ2时,结合输出函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入就绪状态q2,以及启动保活定时器;
19.当状态机处于就绪状态q2,且保活定时器超时σ6时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活报文λ2,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持就绪状态q2;
20.当状态机处于就绪状态q2,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活确认报文λ1,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持就绪状态q2。
21.可选的,在第一状态和第二状态相同,第一事件和第二事件相同的情况下,当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状态机的输出状态,当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作,还包括:
22.当状态机处于就绪状态q2,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入连接异常状态q3,以及启动通信异常定时器;
23.当状态机处于连接异常状态q3,且接收到来自服务器端的保活确认报文σ1时,结合输出函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入就绪状态q2,以及关闭通信异常定时器;
24.当状态机处于连接异常状态q3,且通信异常定时器超时σ8时,结合转移函数中输
入状态、事件和输出状态的关系,使状态机进入恢复出厂状态q5,并结合输出函数中输入状态、事件和输出动作的关系,恢复出厂配置λ7,并且向服务器端发送恢复出厂报文λ3。
25.可选的,在第一状态和第二状态相同,第一事件和第二事件相同的情况下,当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状态机的输出状态,当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作,还包括:
26.当状态机处于恢复出厂状态q5,且接收到来自服务器端的恢复出厂确认报文σ5时,结合输出函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入初始状态q0。
27.可选的,在第一状态和第二状态相同,第一事件和第二事件相同的情况下,当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状态机的输出状态,当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作,还包括:
28.当状态机处于就绪状态q2或连接异常状态q3或恢复出厂状态q5,且接收到来自服务器端的关闭安全功能配置命令σ3时,结合输出函数中输入状态、事件和输出动作的关系,清除安全配置λ5,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入关闭安全状态q4;
29.当状态机处于就绪状态q2或连接异常状态q3或关闭安全状态q4,且接收到来自服务器端的恢复出厂配置命令σ4时,结合输出函数中输入状态、事件和输出动作的关系,恢复出厂配置λ7,并且向服务器端发送恢复出厂报文λ3,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入恢复出厂状态q5。
30.可选的,在第一状态和第二状态相同,第一事件和第二事件相同的情况下,当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状态机的输出状态,当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作,还包括:
31.当状态机处于第三状态,且保活定时器超时σ6时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活报文λ2,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第三状态,其中,第三状态为连接异常状态q3或关闭安全状态q4或恢复出厂状态q5;
32.当状态机处于第三状态,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活确认报文λ1,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第三状态;
33.当状态机处于第四状态,且接收到来自服务器端的保活确认报文σ1时,结合输出
函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第四状态,其中,第四状态为就绪状态q2或关闭安全状态q4或恢复出厂状态q5;
34.当状态机处于第五状态,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第五状态,其中,第五状态为初始状态q0或连接异常状态q3;
35.当状态机处于发送就绪状态q1,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送就绪报文λ0,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持发送就绪状态q1;
36.当状态机处于恢复出厂状态q5,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,清除安全配置λ5,并重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入连接异常状态q3;
37.当状态机处于发送就绪状态q1,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入初始状态q0。
38.一种车载以太网安全状态检测装置,车载以太网的各个电子控制单元ecu上运行客户端,与客户端交互的服务器端运行在远程信息处理器t-box上,客户端启动后连接服务器端,并与服务器端交互信息,客户端的状态机在客户端启动后处于初始状态,客户端的状态机中包括有限状态集q、有限输入集合σ、有限输出集合λ,以及输出函数和转移函数,其中,有限状态集q表征运行客户端的ecu能够处于的状态集合,有限输入集合σ表征客户端接收到服务器端发送的报文事件和客户端中的定时器超时触发的事件的集合,有限输出集合λ表征客户端采取的输出动作集合;
39.车载以太网安全状态检测装置,包括:
40.输出状态确定模块,用于根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态;
41.输出动作确定模块,用于根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。
42.经由上述的技术方案可知,本技术提供的车载以太网安全状态检测方法,根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态,根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。本技术能够根据有限状态集q和有限输入集合σ,并结合转移函数和输出函数,确定状态机的输出状态和输出动作,整个状态跳转过程无需人为干预,确保整车的所有ecu都工作在可控可管的状态下。
附图说明
43.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
44.图1为本技术实施例提供的车载以太网安全状态检测方法的流程示意图;
45.图2为本技术实施例提供的状态机的状态切换示意图;
46.图3为本技术实施例提供的车载以太网安全状态检测装置的结构示意图;
47.图4为本技术实施例提供的车载以太网安全状态检测设备的硬件结构框图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.鉴于现有技术存在的问题,本案发明人进行了深入研究,最终提出了一种车载以太网安全状态检测方法,该车载以太网安全状态检测方法适用于客户端与服务器端交互的场景下,其中,客户端运行在车载以太网的各个电子控制单元ecu上,服务器端运行在远程信息处理器t-box上,且客户端启动后连接服务器端,并与服务器端交互信息,客户端的状态机在客户端启动后处于初始状态(即initial状态)。
50.在本实施例中,客户端的状态机运行在该客户端对应的ecu上,该客户端的状态机例如可以采用mealy型有限状态机,该mealy型有限状态机是一种基于当前状态和输入事件生成输出的有限状态变换器,并且该状态机中包括有限状态集q、有限输入集合σ、有限输出集合λ,以及输出函数和转移函数几大要素。
51.其中,有限状态集q表征运行客户端的ecu能够处于的状态集合,有限输入集合σ表征客户端接收到服务器端发送的报文事件和客户端中的定时器超时触发的事件的集合,有限输出集合λ表征客户端采取的输出动作集合。
52.上述初始状态是指有限状态集q中的一个状态,为便于后续描述,将该初始状态记为q0状态。
53.接下来通过下述实施例对本技术提供的车载以太网安全状态检测方法进行详细介绍。
54.请参阅图1,示出了本技术实施例提供的车载以太网安全状态检测方法的流程示意图,该车载以太网安全状态检测方法可以包括:
55.步骤s101、根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态。
56.在本步骤中,转移函数用于根据有限状态集q包含的状态和有限输入集合σ包含的事件,确定状态机需要跳转的下一状态,该下一状态即本步骤中的输出状态。
57.需要说明的是,状态集的输出状态为有限状态集q中的一个状态,也就是说,本步骤当状态机处于有限状态集q中的一个状态(本实施例将该状态称为输入状态)时,能够在有限输入集合σ包含的一个事件的作用下,基于转移函数使状态机跳转到有限状态集q中的输出状态。这里,输出状态可以与输入状态相同,也可以不同。步骤s102、根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。
58.在本步骤中,输出函数用于根据有限状态集q包含的状态和有限输入集合σ包含的事件,确定状态机需要执行的输出动作。
59.这里,状态机的输出动作为有限输出集合λ包含的动作,也就是说,本步骤当状态
机处于有限状态集q中的一个状态时,能够在有限输入集合σ包含的一个事件的作用下,基于输出函数使状态机执行有限输出集合λ中的输出动作。
60.本技术提供的车载以太网安全状态检测方法,根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态,根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。本技术能够根据有限状态集q和有限输入集合σ,并结合转移函数和输出函数,确定状态机的输出状态和输出动作,整个状态跳转过程无需人为干预,确保整车的所有ecu都工作在可控可管的状态下。
61.在一可选实施例中,本技术提供的有限状态集q中可以包括:初始状态q0、发送就绪状态q1、就绪状态q2、连接异常状态q3、关闭安全状态q4和恢复出厂状态q5,则有限状态集为q={q0,q1,q2,q3,q4,q5}。
62.通过下表1对上述各状态进行描述,以便本领域技术人员更加理解。
63.表1车载以太网ecu状态集合
[0064][0065]
表1中,server是指服务器端,hello报文为保活报文,ready为就绪报文,ready ack为就绪确认报文,security为安全配置。
[0066]
需要说明的是,本实施例提供的有限状态集q仅为示例,除此之外,有限状态集q中还可以包含其他状态,本技术对此不进行限定。
[0067]
在另一可选实施例中,本技术提供的有限输入集合σ中可以包括:接收保活报文σ0、接收保活确认报文σ1、接收就绪确认报文σ2、接收关闭安全功能配置命令σ3、接收恢复出厂配置命令σ4、接收恢复出厂确认报文σ5、保活定时器超时σ6、通信检测定时器超时σ7和通信异常定时器超时σ8,则有限输入集合σ={σ0,σ1,σ2,σ3,
……
,σ8}。
[0068]
通过下表2对上述各事件进行描述,以便本领域技术人员更加理解。
[0069]
表2车载以太网ecu状态输入集合
[0070]
[0071][0072]
表2中,keepalive报文与表1中的hello报文相似,都是保活报文,ka ack报文为保活确认报文,recover ack报文为恢复出厂确认报文,ka定时器为保活定时器,lost定时器为通信异常定时器。
[0073]
需要说明的是,本实施例提供的有限输入集合σ仅为示例,除此之外,有限输入集合σ中还可以包含其他事件,本技术对此不进行限定。
[0074]
在又一可选实施例中,本技术提供的有限输出集合λ中可以包括:发送就绪报文λ0、发送保活确认报文λ1、发送保活报文λ2、发送恢复出厂报文λ3、刷新接收时间戳λ4、清除安全配置λ5、重新与服务器端建连λ6和恢复出厂配置λ7,则有限输出集合λ={λ0,λ1,λ2,
……
,λ7}。
[0075]
通过下表3对上述各输出动作进行描述,以便本领域技术人员更加理解。
[0076]
表3车载以太网ecu输出集合
[0077][0078][0079]
表3中,recover报文为恢复出厂报文。
[0080]
需要说明的是,本实施例提供的有限输出集合λ仅为示例,除此之外,有限输出集合λ中还可以包含其他输出动作,本技术对此不进行限定。
[0081]
本技术的一个实施例,结合上述提供的有限状态集q、有限输入集合σ和有限输出集合λ,对前述步骤s101和前述步骤s102进行详细介绍。
[0082]
在一种可能的实现方式中,前述“步骤s101、根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态”的过程可以包括:当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状态机的输出状态。
[0083]
其中,第一状态为有限状态集q中的任一状态,第一事件为有限输入集合σ中的任一事件。
[0084]
在本实施例中,转移函数中描述了输入状态、事件和输出状态的关系,该输入状态和输出状态都是有限状态集q中的状态,其中,输入状态为状态机进行状态跳转前的状态,输出状态为状态机进行状态跳转后的状态,事件为有限输入集合σ中的事件。
[0085]
例如,在前述有限状态集q={q0,q1,q2,q3,q4,q5}和有限输入集合σ={σ0,σ1,σ2,σ3,
……
,σ8}的基础上,转移函数可以参见下表4中的描述。
[0086]
表4车载以太网ecu状态转移函数
[0087][0088][0089]
在一种可能的实现方式中,前述“步骤s102、根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作”的过程可以包括:当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作。
[0090]
其中,第二状态为有限状态集q中的任一状态,第二事件为有限输入集合σ中的任一事件。
[0091]
在本实施例中,输出函数中描述了输入状态、事件和输出动作的关系,该输入状态
是有限状态集q中的状态,且为状态机进行状态跳转前的状态,输出动作为有限输出集合λ中的一个或多个动作,事件为有限输入集合σ中的事件。
[0092]
例如,在前述有限状态集q={q0,q1,q2,q3,q4,q5}和有限输入集合σ={σ0,σ1,σ2,σ3,
……
,σ8}的基础上,输出函数可以参见下表5中的描述。
[0093]
表5车载以太网ecu输出函数
[0094][0095][0096]
接下来,结合上表4和表5,以及图2,对状态机进行状态跳转或保持的过程进行详细介绍。
[0097]
可选的,在第一状态和第二状态相同,且第一事件和第二事件相同的情况下,上述“当状态机处于有限状态集q中的第一状态,且接收到有限输入集合σ中的第一事件时,结合转移函数中输入状态、事件和输出状态的关系,确定在第一状态和第一事件下状态机的输出状态”和“当状态机处于有限状态集q中的第二状态,且接收到有限输入集合σ中的第二事件时,结合输出函数中输入状态、事件和输出动作的关系,确定在第二状态和第二事件下状态机的输出动作”的过程可以包括以下几种情况:
[0098]
情况1:当状态机处于初始状态q0,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送就绪报文λ0,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入发送就绪状态q1。
[0099]
具体的,参见图2和表4、表5所示,当ecu在initial状态(初始状态q0)接收到来自服务器端的hello交互报文(σ0事件)时,会发送ready报文给服务器端(λ0输出动作),同时状态机进入ready sent状态(发送就绪状态q1)。
[0100]
情况2:当状态机处于发送就绪状态q1,且接收到来自服务器端的就绪确认报文σ2时,结合输出函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入就绪状态q2,以及启动保活定时器。
[0101]
具体的,参见图2和表4、表5所示,当ecu在ready sent状态(发送就绪状态q1)接收
到来自服务器端的ready ack报文(σ2事件)时,更新本地接收消息时间戳(λ4输出动作),状态机进入ready状态(就绪状态q2),并启动keepalive定时器。
[0102]
情况3:当状态机处于就绪状态q2,且保活定时器超时σ6时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活报文λ2,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持就绪状态q2。
[0103]
具体的,参见图2和表4、表5所示,ecu在ready状态(就绪状态q2)下,当keepalive定时器到期(σ6事件)时,发送keepalive报文给服务器端(λ2输出动作),此时状态机不会进行状态跳转,而是仍然保持ready状态(就绪状态q2)。
[0104]
情况4:当状态机处于就绪状态q2,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活确认报文λ1,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持就绪状态q2。
[0105]
具体的,参见图2和表4、表5所示,ecu在ready状态(就绪状态q2)下,接收到来自服务器端的keepalive报文(σ0事件),发送ka ack报文给服务器端(λ1输出动作),此时状态机不会进行状态跳转,而是仍然保持ready状态(就绪状态q2)。
[0106]
情况5:当状态机处于就绪状态q2,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入连接异常状态q3,以及启动通信异常定时器。
[0107]
具体的,参见图2和表4、表5所示,ecu在ready状态(就绪状态q2)下,当ecu在通信检测定时器周期内,没有收到来自服务器端的ka ack报文或者keepalive报文时(σ7事件)时,状态机进入lost状态(连接异常状态q3),重新与服务器端建连(λ6输出动作),同时启动lost定时器(通信异常定时器)。
[0108]
情况6:当状态机处于连接异常状态q3,且接收到来自服务器端的保活确认报文σ1时,结合输出函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入就绪状态q2,以及关闭通信异常定时器。
[0109]
具体的,参见图2和表4、表5所示,ecu在lost状态(连接异常状态q3)时会尝试重新连接服务器端,如果尝试时发现客户端和服务器端能正常通信,即能够接收到来自服务器端的ka ack报文(σ1事件),状态机重新进入ready状态(就绪状态q2),更新本地接收消息时间戳(λ4输出动作),并关闭lost定时器(通信异常定时器)。
[0110]
可见,在ecu处于连接异常状态q3时,本技术能在σ1事件的作用下自动恢复到非异常的就绪状态q2,该过程无需人为干预,实现了ecu的异常自恢复。
[0111]
情况7:当状态机处于连接异常状态q3,且通信异常定时器超时σ8时,结合转移函数中输入状态、事件和输出状态的关系,使状态机进入恢复出厂状态q5,并结合输出函数中输入状态、事件和输出动作的关系,恢复出厂配置λ7,并且向服务器端发送恢复出厂报文λ3。
[0112]
具体的,参见图2和表4、表5所示,ecu在lost状态(连接异常状态q3)时会尝试重新连接服务器端,如果尝试时lost定时器到期(σ8事件),状态机将从lost状态(连接异常状态q3)进入到recover状态(恢复出厂状态q5),ecu恢复出厂配置(λ7输出动作),并且发送recover消息给服务器端(λ3输出动作)。
[0113]
可见,在ecu处于连接异常状态q3时,本技术能在σ8事件的作用下自动恢复到非异常的恢复出厂状态q5,该过程无需人为干预,实现了ecu的异常自恢复。
[0114]
情况8:当状态机处于恢复出厂状态q5,且接收到来自服务器端的恢复出厂确认报文σ5时,结合输出函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入初始状态q0。
[0115]
具体的,参见图2和表4、表5所示,ecu在recover状态(恢复出厂状态q5)收到来自服务器端的recover ack报文(σ5事件),ecu进入initial状态(初始状态q0),更新本地接收消息时间戳(λ4输出动作),开始新一轮状态机。
[0116]
情况9:当状态机处于就绪状态q2或连接异常状态q3或恢复出厂状态q5,且接收到来自服务器端的关闭安全功能配置命令σ3时,结合输出函数中输入状态、事件和输出动作的关系,清除安全配置λ5,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入关闭安全状态q4。
[0117]
具体的,参见图2和表4、表5所示,ecu在非initial和ready sent状态(即ecu在就绪状态q2或连接异常状态q3或恢复出厂状态q5)下接收来自服务器端的disable命令(σ3事件),清除所有的安全相关配置(λ5输出动作),并且进入disable状态(关闭安全状态q4)。
[0118]
情况10:当状态机处于就绪状态q2或连接异常状态q3或关闭安全状态q4,且接收到来自服务器端的恢复出厂配置命令σ4时,结合输出函数中输入状态、事件和输出动作的关系,恢复出厂配置λ7,并且向服务器端发送恢复出厂报文λ3,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入恢复出厂状态q5。
[0119]
具体的,参见图2和表4、表5所示,ecu在非initial和ready sent状态(即ecu在就绪状态q2或连接异常状态q3或关闭安全状态q4)下接收来自服务器端的recover命令(σ4事件),恢复ecu出厂配置(λ7输出动作),并且发送recover消息给服务器端(λ3输出动作),状态机进入recover状态(恢复出厂状态q5)。
[0120]
情况11:当状态机处于第三状态,且保活定时器超时σ6时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活报文λ2,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第三状态,其中,第三状态为连接异常状态q3或关闭安全状态q4或恢复出厂状态q5。
[0121]
具体的,参见图2和表4、表5所示,ecu在lost状态(连接异常状态q3)下,当keepalive定时器到期(σ6事件)时,发送keepalive报文给服务器端(λ2输出动作),此时状态机不会进行状态跳转,而是仍然保持lost状态(连接异常状态q3)。
[0122]
ecu在recover状态(恢复出厂状态q5)下,当keepalive定时器到期(σ6事件)时,发送keepalive报文给服务器端(λ2输出动作),此时状态机不会进行状态跳转,而是仍然保持recover状态(恢复出厂状态q5)。
[0123]
ecu在disable状态(关闭安全状态q4)下,当keepalive定时器到期(σ6事件)时,发送keepalive报文给服务器端(λ2输出动作),此时状态机不会进行状态跳转,而是仍然保持disable状态(关闭安全状态q4)。
[0124]
情况12:当状态机处于第三状态,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送保活确认报文λ1,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第三状态。
[0125]
具体的,参见图2和表4、表5所示,ecu在lost状态(连接异常状态q3)下,接收到来自服务器端的keepalive报文(σ0事件),发送ka ack报文给服务器端(λ1输出动作),此时状态机不会进行状态跳转,而是仍然保持lost状态(连接异常状态q3)。
[0126]
ecu在disable状态(关闭安全状态q4)下,接收到来自服务器端的keepalive报文(σ0事件),发送ka ack报文给服务器端(λ1输出动作),此时状态机不会进行状态跳转,而是仍然保持disable状态(关闭安全状态q4)。
[0127]
ecu在recover状态(恢复出厂状态q5)下,接收到来自服务器端的keepalive报文(σ0事件),发送ka ack报文给服务器端(λ1输出动作),此时状态机不会进行状态跳转,而是仍然保持recover状态(恢复出厂状态q5)。
[0128]
情况13:当状态机处于第四状态,且接收到来自服务器端的保活确认报文σ1时,结合输出函数中输入状态、事件和输出动作的关系,刷新接收时间戳λ4,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第四状态,其中,第四状态为就绪状态q2或关闭安全状态q4或恢复出厂状态q5。
[0129]
具体的,参见图2和表4、表5所示,ecu在ready状态(就绪状态q2)下接收到来自服务器端的ka ack报文(σ1事件)时,更新本地接收消息时间戳(λ4输出动作),此时状态机不会进行状态跳转,而是仍然保持ready状态(就绪状态q2)。
[0130]
ecu在disable状态(关闭安全状态q4)下接收到来自服务器端的ka ack报文(σ1事件)时,更新本地接收消息时间戳(λ4输出动作),此时状态机不会进行状态跳转,而是仍然保持disable状态(关闭安全状态q4)。
[0131]
ecu在recover状态(恢复出厂状态q5)下接收到来自服务器端的ka ack报文(σ1事件)时,更新本地接收消息时间戳(λ4输出动作),此时状态机不会进行状态跳转,而是仍然保持recover状态(恢复出厂状态q5)。
[0132]
情况14:当状态机处于第五状态,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持第五状态,其中,第五状态为初始状态q0或连接异常状态q3。
[0133]
具体的,参见图2和表4、表5所示,ecu在initial状态(初始状态q0)下,当ecu在通信检测定时器周期内,没有收到来自服务器端的ka ack报文或者keepalive报文时(σ7事件)时,重新与服务器端建连(λ6输出动作),此时状态机不会进行状态跳转,而是仍然保持initial状态(初始状态q0)。
[0134]
ecu在lost状态(连接异常状态q3)下,当ecu在通信检测定时器周期内,没有收到来自服务器端的ka ack报文或者keepalive报文时(σ7事件)时,重新与服务器端建连(λ6输出动作),此时状态机不会进行状态跳转,而是仍然保持lost状态(连接异常状态q3)。
[0135]
情况15:当状态机处于发送就绪状态q1,且接收到来自服务器端的保活报文σ0时,结合输出函数中输入状态、事件和输出动作的关系,向服务器端发送就绪报文λ0,并结合转移函数中输入状态、事件和输出状态的关系,使状态机保持发送就绪状态q1。
[0136]
具体的,参见图2和表4、表5所示,ecu在ready sent状态(发送就绪状态q1)接收到来自服务器端的hello交互报文(σ0事件)时,会发送ready报文给服务器端(λ0输出动作),此时状态机不会进行状态跳转,而是仍然保持ready sent状态(发送就绪状态q1)。
[0137]
情况16:当状态机处于恢复出厂状态q5,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,清除安全配置λ5,并重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入连接异常状态q3。
[0138]
具体的,参见图2和表4、表5所示,ecu在recover状态(恢复出厂状态q5)下,当ecu在通信检测定时器周期内,没有收到来自服务器端的ka ack报文或者keepalive报文时(σ7事件)时,状态机进入lost状态(连接异常状态q3),清除安全配置(λ5输出动作),并重新与服务器端建连(λ6输出动作)。
[0139]
情况17:当状态机处于发送就绪状态q1,且通信检测定时器超时σ7时,结合输出函数中输入状态、事件和输出动作的关系,重新与服务器端建连λ6,并结合转移函数中输入状态、事件和输出状态的关系,使状态机进入初始状态q0。
[0140]
具体的,参见图2和表4、表5所示,ecu在ready sent状态(发送就绪状态q1)下,当ecu在通信检测定时器周期内,没有收到来自服务器端的ka ack报文或者keepalive报文时(σ7事件)时,重新与服务器端建连(λ6输出动作),状态机进入initial状态(初始状态q0)。
[0141]
综上,以上给出了基于状态机进行状态跳转或保持的几种可选场景,在这几种场景中均不需要人为干预就能实现状态跳转或保持。由于状态跳转时无需人为干预,提高了状态跳转的效率。
[0142]
需要说明的是,上述几种场景仅为示例,不作为对本技术的限定。
[0143]
本技术实施例还提供了一种车载以太网安全状态检测装置,下面对本技术实施例提供的车载以太网安全状态检测装置进行描述。
[0144]
请参阅图3,示出了本技术实施例提供的车载以太网安全状态检测装置的结构示意图,该车载以太网安全状态检测装置中,车载以太网的各个电子控制单元ecu上运行客户端,与客户端交互的服务器端运行在远程信息处理器t-box上,客户端启动后连接服务器端,并与服务器端交互信息,客户端的状态机在客户端启动后处于初始状态,客户端的状态机中包括有限状态集q、有限输入集合σ、有限输出集合λ,以及输出函数和转移函数,其中,有限状态集q表征运行客户端的ecu能够处于的状态集合,有限输入集合σ表征客户端接收到服务器端发送的报文事件和客户端中的定时器超时触发的事件的集合,有限输出集合λ表征客户端采取的输出动作集合。
[0145]
如图3所示,该车载以太网安全状态检测装置可以包括:输出状态确定模块301和输出动作确定模块302。
[0146]
异常判断模块301,用于根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态。
[0147]
输出动作确定模块302,用于根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。
[0148]
本技术提供的车载以太网安全状态检测装置,根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态,根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。本技术能够根据有限状态集q和有限输入集合σ,并结合转移函数和输出函数,确定状态机的输出状态和输出动作,整个状态跳转过程无需人为干预,确保整车的所有ecu都工作在可控可管的状态下。
[0149]
综上所述,本实施例公开的车载以太网安全状态检测装置的工作原理,与前述实
施例公开的车载以太网安全状态检测方法的工作原理相同,在此不再赘述。
[0150]
本技术实施例还提供了一种车载以太网安全状态检测设备,该车载以太网安全状态检测设备上包括状态机,状态机中包括有限状态集q、有限输入集合σ、有限输出集合λ,以及输出函数和转移函数,其中,有限状态集q表征运行客户端的ecu能够处于的状态集合,有限输入集合σ表征客户端接收到服务器端发送的报文事件和客户端中的定时器超时触发的事件的集合,有限输出集合λ表征客户端采取的输出动作集合。
[0151]
可选的,图4示出了车载以太网安全状态检测设备的硬件结构框图,参照图4,该车载以太网安全状态检测设备的硬件结构可以包括:至少一个处理器401,至少一个通信接口402,至少一个存储器403和至少一个通信总线404;
[0152]
在本技术实施例中,处理器401、通信接口402、存储器403、通信总线404的数量为至少一个,且处理器401、通信接口402、存储器403通过通信总线404完成相互间的通信;
[0153]
处理器401可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
[0154]
存储器403可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
[0155]
其中,存储器403存储有程序,处理器401可调用存储器403存储的程序,所述程序用于:
[0156]
根据有限状态集q和有限输入集合σ,结合转移函数,确定状态机的输出状态;
[0157]
根据有限状态集q和有限输入集合σ,结合输出函数,确定状态机的输出动作。
[0158]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0159]
本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述车载以太网安全状态检测方法。
[0160]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0161]
最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0162]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0163]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1