不正常检测方法、不正常检测电子控制单元以及不正常检测系统与流程

文档序号:23683311发布日期:2021-01-23 08:59阅读:137来源:国知局
不正常检测方法、不正常检测电子控制单元以及不正常检测系统与流程
不正常检测方法、不正常检测电子控制单元以及不正常检测系统
[0001]
本申请是申请日为2016年8月3日、申请号为201680001973.4、发明名称为“不正常检测方法、不正常检测电子控制单元以及不正常检测系统”的中国专利申请的分案申请。
技术领域
[0002]
本公开涉及检测电子控制单元进行通信的车载网络中的不正常帧的发送的技术。


背景技术:

[0003]
近年来,在汽车中的系统内,配置有多个称为电子控制单元(ecu:electronic control unit)的装置。连接这些ecu的网络被称为车载网络。车载网络存在多种标准。其中最主流的一种车载网络中,存在由iso11898-1规定的can(controller area network:控制器区域网络)这一标准。
[0004]
在can中,通信路径由两条总线构成,与总线连接的ecu被称为节点。与总线连接的各节点收发被称为帧的消息。发送帧的发送节点通过向两条总线施加电压,使总线间产生电位差,由此发送被称为隐性(recessive)的“1”的值和被称为显性(dominant)的“0”的值。多个发送节点在完全相同的定时(timing)发送了隐性和显性的情况下,使显性优先发送。接收节点在接收到的帧的格式存在异常的情况下,发送被称为错误帧的帧。错误帧是通过连续发送6个显性位,向发送节点或其他接收节点通知帧的异常的帧。
[0005]
另外,在can中不存在指示发送目的地或发送源的标识符,发送节点在每帧中附加id并发送(即,向总线送出信号),各接收节点仅接收预先确定的id的帧(即,从总线读取信号)。另外,采用csma/ca(carrier sense multiple access/collision avoidance:载波侦听多址访问/冲突避免)方式,在多个节点的同时发送时,进行利用消息id的仲裁,并优先发送消息id的值小的帧。
[0006]
对于can的车载网络系统,存在攻击者通过访问总线并发送不正常帧而不正常地控制ecu这样的威胁,正在研究安全对策。
[0007]
例如专利文献1所记载的车载网络监视装置进行如下不正常检测方法:在针对发送给can的总线的帧测定的接收间隔与预先规定的通信间隔之差从规定的基准范围偏离的情况下,将该帧判断为不正常。
[0008]
在先技术文献
[0009]
专利文献
[0010]
专利文献1:日本专利第5664799号公报


技术实现要素:

[0011]
本公开的一个技术方案涉及的不正常检测方法是一种在具备多个电子控制单元的车载网络系统中使用的不正常检测方法,所述多个电子控制单元遵循can(controller area network)协议并经由总线进行通信,所述不正常检测方法包括:接收步骤,接收在所
述总线上发送的数据帧;和检测步骤,作为对象数据帧的不正常检测,基于规定基准数据帧与该对象数据帧的接收间隔的预定规则,根据所述基准数据帧的接收定时和该对象数据帧的接收定时进行评价,所述对象数据帧是具有第一标识符的数据帧,所述基准数据帧是具有与该第一标识符不同的第二标识符的数据帧。
[0012]
另外,本公开的一个技术方案涉及的不正常检测电子控制单元(不正常检测ecu)是一种具备多个电子控制单元的车载网络系统中的不正常检测电子控制单元,所述多个电子控制单元遵循can(controller area network)协议并经由总线进行通信,所述不正常检测电子控制单元具备:接收部,接收在所述总线上发送的数据帧;规则保持部,保持表示预定规则的规则信息,所述预定规则规定对象数据帧与基准数据帧的接收间隔,所述对象数据帧是具有第一标识符的数据帧,所述基准数据帧是具有与所述第一标识符不同的第二标识符的数据帧;以及检测部,作为所述对象数据帧的不正常检测,基于所述预定规则,根据所述基准数据帧的接收定时和该对象数据帧的接收定时进行评价。
[0013]
另外,本公开的一个技术方案涉及的不正常检测系统是一种具备多个电子控制单元的车载网络系统中的用于不正常检测的不正常检测系统,所述多个电子控制单元遵循can(controller area network)协议并经由总线进行通信,所述不正常检测系统具备:接收部,接收在所述总线上发送的数据帧;规则保持部,保持表示预定规则的规则信息,所述预定规则规定对象数据帧与基准数据帧的接收间隔,所述对象数据帧是具有第一标识符的数据帧,所述基准数据帧是具有与所述第一标识符不同的第二标识符的数据帧;以及检测部,作为所述对象数据帧的不正常检测,基于所述预定规则,根据所述基准数据帧的接收定时和该对象数据帧的接收定时进行评价。
[0014]
根据本公开,即使不正常节点与can的总线连接并发送了不正常帧,也能降低将适当的帧误检测为不正常的可能性,并能适当地检测不正常帧的发送。
附图说明
[0015]
图1是表示实施方式1涉及的车载网络系统的整体构成的图。
[0016]
图2是表示由can协议规定的数据帧的格式的图。
[0017]
图3是表示由can协议规定的错误帧的格式的图。
[0018]
图4是实施方式1涉及的不正常检测ecu的构成图。
[0019]
图5是表示实施方式1涉及的不正常检测ecu的规则保持部保持的规则信息的一例的图。
[0020]
图6是表示存储在实施方式1涉及的不正常检测ecu的接收定时保持部中的接收定时信息的一例的图。
[0021]
图7是实施方式1涉及的ecu的构成图。
[0022]
图8是表示实施方式1涉及的ecu发送的数据帧的一例的图。
[0023]
图9是表示实施方式1涉及的不正常检测ecu进行的数据帧的不正常检测工作的一例的图。
[0024]
图10是表示实施方式1涉及的不正常检测ecu进行的数据帧的接收时的不正常检测处理的流程图。
[0025]
图11是表示实施方式2涉及的车载网络系统的整体构成的图。
[0026]
图12是实施方式2涉及的不正常检测ecu的构成图。
[0027]
图13是表示实施方式2涉及的不正常检测ecu的规则保持部保持的规则信息的一例的图。
[0028]
图14是表示实施方式2涉及的不正常检测ecu的接收状态保持部保持的接收状态信息的一例的图。
[0029]
图15是表示实施方式2涉及的ecu发送的数据帧的一例的图。
[0030]
图16是表示实施方式2涉及的不正常检测ecu进行的数据帧的不正常检测工作的一例的图。
[0031]
图17是表示实施方式2涉及的不正常检测ecu进行的数据帧的不正常检测工作的其他例的图。
[0032]
图18是表示实施方式2涉及的不正常检测ecu进行的数据帧的接收时的不正常检测处理的流程图。
具体实施方式
[0033]
(成为本发明的基础的见解)
[0034]
根据专利文献1的不正常检测方法,在基于预先规定的通信间隔的基准范围内接收到多个帧的情况下,在该多个帧中有可能包括由攻击者发出的不正常帧。当为了进行下次接收的帧的判断,以基准范围内的该非法帧的接收定时为基础,确定基于规定的通信间隔的基准范围时,其结果是,导致适当的帧可能被判断为不正常。
[0035]
本公开提供一种在预先规定的通信间隔的误差范围内接收到不正常帧的情况下,也可使将适当的帧误检测为不正常的可能性减小,并适当地进行不正常检测的不正常检测方法。另外,本公开提供一种作为能够实现该不正常检测方法的ecu的不正常检测电子控制单元(不正常检测ecu)和实现该不正常检测方法的不正常检测系统。
[0036]
本公开的一个技术方案涉及的不正常检测方法是一种在具备多个电子控制单元的车载网络系统中使用的不正常检测方法,所述多个电子控制单元遵循can(controller area network)协议并经由总线进行通信,所述不正常检测方法包括:接收步骤,接收在所述总线上发送的数据帧;和检测步骤,作为对象数据帧的不正常检测,基于规定基准数据帧与该对象数据帧的接收间隔的预定规则,根据所述基准数据帧的接收定时和该对象数据帧的接收定时进行评价,所述对象数据帧是具有第一标识符的数据帧,所述基准数据帧是具有与该第一标识符不同的第二标识符的数据帧。由此,由于将与不正常检测对象的标识符(id)的数据帧不同的id的数据帧作为接收间隔的基准,所以即使不正常节点与总线连接并发送了不正常数据帧,也能降低将适当的数据帧误检测为不正常的可能性,并能适当地检测不正常的数据帧的发送。
[0037]
另外,也可以是,在所述检测步骤中,在所述对象数据帧的接收定时与所述基准数据帧的接收定时的关系符合所述预定规则的情况下,评价为所述对象数据帧并非不正常,在所述关系不符合所述预定规则的情况下,评价为所述对象数据帧不正常。由此,能够针对作为不正常检测对象的数据帧是否不正常,进行利用择一评价的检查。此外,单独根据该评价结果或根据与其他评价等的组合,能够决定作为不正常检测对象的数据帧是否不正常。
[0038]
另外,也可以是,所述预定规则规定所述接收间隔的适当范围,在所述检测步骤
中,在所述对象数据帧的接收定时与先于该接收定时的所述基准数据帧的接收定时之差在所述适当范围内的情况下,认为符合所述预定规则并进行所述评价。由此,如果数据帧的接收间隔为容许误差的范围内,则能够做出不作为不正常的评价。
[0039]
另外,也可以是,作为所述对象数据帧的不正常检测,所述不正常检测方法还包括初始检测步骤:根据该对象数据帧的接收定时与先于该接收定时的所述对象数据帧的接收定时的间隔,评价该对象数据帧是否不正常,所述不正常检测方法中,先于在所述检测步骤中的所述不正常检测,进行在所述初始检测步骤中的所述不正常检测,在所述初始检测步骤中评价为所述对象数据帧不正常后,停止在所述初始检测步骤中的所述不正常检测,开始在所述检测步骤中的所述不正常检测。由此,应对发生了不适合继续进行基于作为不正常检测对象的数据帧彼此的接收间隔的不正常检测的状态,切换用于不正常检测的接收间隔的基准,因此,能够进行适当的不正常检测。
[0040]
另外,也可以是,在所述初始检测步骤中,作为所述对象数据帧的不正常检测,在该对象数据帧的接收定时处于以先于该接收定时的所述对象数据帧的接收定时为基准而预先确定的适当时间段外的情况下,以及,在该对象数据帧的接收定时处于所述适当时间段内且在该适当时间段内的定时接收到其他所述对象数据帧的情况下,评价为不正常。由此,由于发生了不适合继续进行基于作为不正常检测对象的数据帧彼此的接收间隔的不正常检测,所以切换用于不正常检测的接收间隔的基准。
[0041]
另外,也可以是,所述不正常检测方法还包括:基准检测步骤,进行所述基准数据帧的不正常检测;和后续检测步骤,作为所述对象数据帧的不正常检测,基于规定其他基准数据帧与该对象数据帧的接收间隔的规则,根据所述其他基准数据帧的接收定时和该对象数据帧的接收定时进行评价,所述其他基准数据帧是具有与所述第一标识符和所述第二标识符不同的第三标识符的数据帧,所述不正常检测方法中,在所述基准检测步骤中检测出所述基准数据帧不正常的情况下,停止在所述检测步骤中的所述不正常检测,开始在所述后续检测步骤中的所述不正常检测。由此,从检测出关于成为用于不正常检测的接收间隔的基准的数据帧的不正常时起,变更成为基准的数据帧并能够继续进行适当的不正常检测。
[0042]
另外,也可以是,所述不正常检测方法中,将与所述第一标识符不同的多个标识符中的、遵循预先确定的选择基准选择出的一个标识符确定为所述第二标识符后,开始在所述检测步骤中的所述不正常检测,将与所述第一标识符和所述第二标识符不同的多个标识符中的、遵循预先确定的所述选择基准选择出的一个标识符确定为所述第三标识符后,开始在所述后续检测步骤中的所述不正常检测。由此,如果预先适当地确定选择基准,则在针对成为用于不正常检测的接收间隔的基准的数据帧检测出不正常的情况下,能够将基准变更为适当的数据帧并继续进行不正常检测。
[0043]
另外,也可以是,所述不正常检测方法中,在将与所述第一标识符不同的多个标识符中的、针对具有一个标识符的数据帧尚未检测出不正常的该标识符选择为所述第二标识符后,进行在所述检测步骤中的所述不正常检测。由此,与将曾检测出不正常的数据帧作为用于不正常检测的接收间隔的基准使用的情况相比,能够适当地进行不正常检测。
[0044]
另外,也可以是,所述不正常检测方法中,在根据搭载有所述多个电子控制单元的车辆状态将与所述第一标识符不同的多个标识符中的一个标识符选择为所述第二标识符
后,进行在所述检测步骤中的所述不正常检测。由此,使用适合于车辆状态的基准作为用于不正常检测的接收间隔的基准,能够适当地进行不正常检测。
[0045]
另外,也可以是,在所述检测步骤中,基于包括所述预定规则的规则组,按集合中的每个数据帧,根据该数据帧的接收定时和所述对象数据帧的接收定时进行该对象数据帧是否不正常的评价,基于各评价的结果决定该对象数据帧是否不正常,所述集合是一对一地分别具有与所述第一标识符和所述第二标识符不同的一个以上标识符的一个以上数据帧与所述基准数据帧的集合,所述规则组针对所述集合中的各数据帧规定该数据帧与所述对象数据帧的接收间隔。由此,能够使用多个接收间隔所涉及的规则各自的评价结果,综合地精度良好地针对数据帧是否不正常进行判定。
[0046]
另外,也可以是,在所述检测步骤中,通过基于包括所述预定规则的规则组、集合中的各数据帧的接收定时以及所述对象数据帧的接收定时的预定运算,计算该对象数据帧为不正常的几率,由此进行所述评价,所述集合是一对一地分别具有与所述第一标识符和所述第二标识符不同的一个以上标识符的一个以上数据帧与所述基准数据帧的集合,所述规则组针对所述集合中的各数据帧规定该数据帧与所述对象数据帧的接收间隔。由此,能够得到数据帧为不正常的几率。
[0047]
另外,也可以是,所述不正常检测方法还包括将所述检测步骤中的所述评价的结果记录在存储介质中的记录步骤。由此,能实现活用了针对数据帧的不正常检测所涉及的评价结果的处理。
[0048]
另外,本公开的一个技术方案涉及的不正常检测电子控制单元是一种具备多个电子控制单元的车载网络系统中的不正常检测电子控制单元,所述多个电子控制单元遵循can(controller area network)协议并经由总线进行通信,所述不正常检测电子控制单元具备:接收部,接收在所述总线上发送的数据帧;规则保持部,保持表示预定规则的规则信息,所述预定规则规定对象数据帧与基准数据帧的接收间隔,所述对象数据帧是具有第一标识符的数据帧,所述基准数据帧是具有与所述第一标识符不同的第二标识符的数据帧;以及检测部,作为所述对象数据帧的不正常检测,基于所述预定规则,根据所述基准数据帧的接收定时和该对象数据帧的接收定时进行评价。由此,即使不正常节点与总线连接并发送了不正常数据帧,也能降低将适当的数据帧误检测为不正常的可能性,并能适当地检测不正常的数据帧的发送。
[0049]
另外,本公开的一个技术方案涉及的不正常检测系统是一种具备多个电子控制单元的车载网络系统中的用于不正常检测的不正常检测系统,所述多个电子控制单元遵循can(controller area network)协议并经由总线进行通信,所述不正常检测系统具备:接收部,接收在所述总线上发送的数据帧;规则保持部,保持表示预定规则的规则信息,所述预定规则规定对象数据帧与基准数据帧的接收间隔,所述对象数据帧是具有第一标识符的数据帧,所述基准数据帧是具有与所述第一标识符不同的第二标识符的数据帧;以及检测部,作为所述对象数据帧的不正常检测,基于所述预定规则,根据所述基准数据帧的接收定时和该对象数据帧的接收定时进行评价。由此,能适当地检测不正常的数据帧的发送。
[0050]
此外,这些全面或具体的技术方案既可以用系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等记录介质实现,也可以用系统、方法、集成电路、计算机程序或记录介质的任意组合实现。
[0051]
以下,参照附图,说明说明实施方式涉及的车载网络系统。在这里示出的实施方式均表示本公开的一个具体例。因此,在以下实施方式中示出的数值、构成要素、构成要素的配置和连接方式以及步骤(工序)和步骤的顺序等为一例,不限定本公开。以下实施方式的构成要素中未记载于独立权利要求的构成要素是能够任意附加的构成要素。另外,各图为示意图,并不是严格地进行了图示的图。
[0052]
(实施方式1)
[0053]
以下,作为本公开的实施方式,针对在多个电子控制单元(ecu)经由总线进行通信的车载网络系统10中使用的不正常检测方法,使用附图进行说明。
[0054]
不正常检测方法是检测不正常节点与can的总线连接并发送不正常帧这一情况的方法,主要由与总线连接的不正常检测ecu来执行。车载网络系统10中的不正常检测ecu100以具有相互不同的两个标识符(消息id)的数据帧(消息)间的接收间隔为基础检测不正常数据帧。由此,降低在发送了不正常数据帧的情况下,将具有与该不正常数据帧相同的标识符(消息id)的适当的数据帧误检测为不正常的可能性。
[0055]
[1.1车载网络系统10的整体构成]
[0056]
图1是表示实施方式1涉及的车载网络系统10的整体构成的图。
[0057]
车载网络系统10是遵循can协议进行通信的网络通信系统的一例,是搭载了控制装置、传感器、致动器、用户界面装置等各种设备的车辆中的网络通信系统。车载网络系统10具备经由总线进行与帧相关的通信的多个装置,并使用不正常检测方法。具体而言,如图1所示,车载网络系统10包括总线300、不正常检测ecu100、与各种设备连接的ecu(自动停车ecu)200a、ecu(动力转向ecu)200b、ecu(齿轮ecu)200c等各ecu这样的与总线300连接的各节点而构成。此外,在车载网络系统10中,除了不正常检测ecu100以及ecu200a、200b、200c以外还可以包含多个ecu,而这里,为了方便起见,关注不正常检测ecu100以及ecu200a、200b、200c而进行说明。ecu例如是包括处理器(微处理器)、存储器等数字电路、模拟电路以及通信电路等的装置。存储器为rom、ram等,能够存储由处理器执行的控制程序(计算机程序)。例如,处理器按照控制程序(计算机程序)工作,由此ecu实现各种功能。此外,计算机程序是为了实现预定的功能而将表示对处理器的指令的多条命令代码组合而构成的程序。
[0058]
自动停车ecu200a、动力转向ecu200b以及齿轮ecu200c与总线300连接,并分别与相机210、方向盘(转向盘)220以及齿轮(变速机构)230连接。另外,自动停车ecu200a与触摸面板240连接,并受理搭乘者的操作。自动停车ecu200a周期性地向总线300发送数据帧。另外,根据搭乘者进行的触摸面板240的操作,向自动停车模式转变,一边取得相机210的信息,一边将指示方向盘220的转向角的信号发送的总线300。动力转向ecu200b接收总线300上的数据帧,在有方向盘转向指示的情况下,将方向盘220向指定的角度转动。齿轮ecu200c取得齿轮230的状态,周期性地向总线300发送通知齿轮230的状态的数据帧。
[0059]
不正常检测ecu100是与总线300连接的一种ecu,并具有进行不正常检测处理的功能,所述不正常检测处理用于监视流经总线上的数据帧(即,出现在总线上的数据帧),并判别是否流过不正常数据帧(即,不符合预先确定的规则的数据帧)。
[0060]
在车载网络系统10中,各ecu遵循can协议进行帧的授受。在can协议下的帧中,有数据帧、远程帧、超载帧以及错误帧。在这里,以数据帧为中心进行说明。
[0061]
[1.2数据帧格式]
[0062]
以下,针对作为在遵循can协议的网络中使用的帧之一的数据帧进行说明。
[0063]
图2是表示由can协议规定的数据帧的格式的图。在该图中,示出了由can协议规定的标准id格式的数据帧。数据帧包括sof(start of frame:帧起始)、id字段、rtr(remote transmission request:远程发送请求)、ide(identifier extension:标识符扩展)、预约位“r”、dlc(data length code:数据长度码)、数据字段、crc(cyclic redundancy check:循环冗余校验)序列、crc分隔符“del”、ack间隙(acknowledgement slot:应答间隙)、ack分隔符“del”以及eof(end of frame:帧结尾)这些各字段。
[0064]
sof由1个显性位(bit)构成。在总线为空闲的状态下成为隐性,且通过sof向显性变更来通知帧的发送开始。
[0065]
id字段是由11位(bit)构成的保存id(消息id)的字段,所述id是表示数据的种类的值。在多个节点同时开始发送的情况下,为了用该id字段进行通信仲裁而设计为:id为小值的帧具有高的优先级。
[0066]
rtr是用于识别数据帧和远程帧的值,在数据帧中由1个显性位构成。
[0067]
ide和“r”双方由1个显性位构成。
[0068]
dlc由4位(bit)构成,并且是表示数据字段的长度的值。在这里,也将数据帧中的存储dlc的值的4位称为dlc的字段。
[0069]
数据字段是由最大64位构成的、表示将要发送的数据的内容的值。能够按8位调整长度。所发送的数据的标准不在can协议中规定,而在车载网络系统10中确定。因此,成为依存于车型、制造者(制造厂商)等的标准。
[0070]
crc序列由15位构成。根据sof、id字段、控制字段以及数据字段的发送值而算出。
[0071]
crc分隔符是由1个隐性位构成的表示crc序列的结束的分隔记号。此外,将crc序列和crc分隔符一起称为crc字段。
[0072]
ack间隙由1位构成。发送节点将ack间隙设为隐性并进行发送。如果到crc序列为止能够正常接收,则接收节点将ack间隙设为显性并发送。由于显性比隐性优先,所以如果在发送后ack间隙为显性,则发送节点能够确认某一个接收节点接收成功这一情况。
[0073]
ack分隔符是由1个隐性位构成的表示ack的结束的分隔记号。
[0074]
eof由7个隐性位构成,并表示数据帧的结束。
[0075]
[1.3错误帧格式]
[0076]
图3是表示由can协议规定的错误帧的格式的图。错误帧由错误标志(primary:主动)、错误标志(secondary:被动)以及错误分隔符构成。
[0077]
错误标志(主动)用于向其他节点告知错误的发生。检测出错误的节点为了向其他节点告知错误的发生而连续发送6个显性位。该发送违反can协议中的位填充规则(不连续地发送6位以上相同的值),引起来自其他节点的错误帧(被动)的发送。
[0078]
错误标志(被动)由用于向其他节点告知错误的发生的、连续6个显性位构成。接收错误标志(主动)并检测出违反位填充规则的全部节点发送错误标志(被动)。
[0079]
错误分隔符“del”为连续的8个隐性位,表示错误帧的结束。
[0080]
[1.4不正常检测ecu100的构成]
[0081]
图4是不正常检测ecu100的构成图。不正常检测ecu100包括收发部130、控制器部140以及微控制器部150而构成。
[0082]
收发部130是通信线路等电子电路。收发部130通过将从控制器部140通知的帧转换成能够发送给总线300的电信号并进行发送,另外,通过接收出现在总线300上的电信号,向控制器部140通知接收到的帧的内容。收发部130作为接收在总线300上发送的数据帧的接收部发挥功能。
[0083]
控制器部140是与微控制器部150和收发部130进行信号的授受的、包括数字电路和存储器等存储介质的半导体集成电路。控制器部140具有协议处理部141。
[0084]
协议处理部141与收发部130进行通信,并进行遵循协议(can协议等)的处理。例如在针对正在接收的帧检测出错误的情况下,协议处理部141为了使收发部130发送错误帧,向收发部130通知错误帧的发送(即发送请求)。在数据帧的接收完成的情况下,协议处理部141向微控制器部150通知数据帧的接收完成。针对来自微控制器部150的数据帧发送请求,协议处理部141向收发部130通知使其能够遵循协议发送数据帧。另外,协议处理部141向微控制器部150提供经由收发部130取得的、出现在总线300上的数据帧的内容(id、dlc、数据等)。
[0085]
微控制器部150是与控制器部140进行信号的授受的、包括执行程序的处理器(微处理器)以及存储器的半导体集成电路。作为由执行程序的处理器、存储器等实现的构成要素,微控制器部150具有:控制器通信部151、不正常检测处理部152、帧生成部153、规则保持部154、计时器保持部155以及接收定时保持部156。
[0086]
控制器通信部151向不正常检测处理部152通知从控制器部140接收到的数据帧。控制器通信部151向控制器部140通知从帧生成部153通知的数据帧,并进行数据帧发送请求。
[0087]
不正常检测处理部152作为检测部发挥功能,所述检测部针对从控制器通信部151通知的数据帧进行不正常检测处理。不正常检测处理是关于在总线300上发送的数据帧即出现在总线300上的数据帧的不正常进行评价的处理。作为具体例,该数据帧的与不正常相关的评价是在总线300上发送的数据帧即出现在总线300上的数据帧是否不正常的评价,即,判别是否不符合预先确定的规则。在该不正常检测处理中,参照存储在规则保持部154中的表示不正常检测规则的规则信息、存储在计时器保持部155中的当前定时的信息以及存储在接收定时保持部156中的表示数据帧的过去的接收定时的接收定时信息,判别当前接收到的数据帧是否不正常。此外,在这里,为了便于说明,作为不正常检测规则,主要针对接收间隔涉及的规则进行说明,但不正常检测规则可包括接收间隔以外的规则。作为不正常检测处理,不正常检测处理部152进行如下检查:在用规则保持部154的规则信息将正在接收的数据帧的id(消息id)确定为不正常检测规则的对象的情况下,判别其接收定时是否在从成为接收间隔的基准的其他数据帧的接收定时起的、用接收间隔和余量确定的范围内。如果接收到的数据帧的接收定时在基于规则信息表示的接收间隔和余量的范围内,则是适当的,如果是该范围外,则成为不正常。即,如果数据帧间的两个接收定时的关系符合规则信息表示的接收间隔和余量所涉及的不正常检测规则,则是适当的,如果不符合,则成为不正常。此外,在判别(判定)为接收到的数据帧不正常的情况下,为了向各ecu通知不正常的发生(发送了不正常数据帧这一情况),不正常检测处理部152可向帧生成部153通知与该不正常数据帧相关的信息。也可以是,在检测出不正常数据帧的情况下,不正常检测处理部152按每个数据帧的id对检测出不正常的累积次数进行计数并记录,并用于针对各id的
数据帧的综合性的不正常的判断等。另外,不正常检测处理部152可以在记录介质(存储介质)等中记录与不正常数据帧相关的日志信息(例如不正常数据帧的id以及其他的内容、接收日期和时间等),也可以进行用于报告不正常的控制(显示、向处于车辆外部的服务器装置的信息发送等)。
[0088]
例如在从不正常检测处理部152通知了与判定为不正常的数据帧相关的信息的情况下,帧生成部153向控制器通信部151通知数据帧的发送请求,所述数据帧的发送请求包括与不正常数据帧相关的信息。
[0089]
规则保持部154保持有不正常检测处理部152参照的、表示不正常检测规则的规则信息(参照图5),所述不正常检测规则是数据帧间的通信间隔(接收间隔)的规则。
[0090]
计时器保持部155保持有表示基于计数器等计时机构计时的当前定时(当前时刻)的信息,为了取得接收到数据帧的定时而由不正常检测处理部152参照。此外,当前定时可以将某时间作为基准进行计时,例如,可将向不正常检测ecu100开始电力供给的时刻等作为零而进行计时。
[0091]
接收定时保持部156保持接收定时信息,所述接收定时信息按每个id记录过去接收到的数据帧的接收定时。接收定时信息(参照图6)由不正常检测处理部152参照,用于判别当前接收到的数据帧是否不正常。
[0092]
[1.5不正常检测规则]
[0093]
图5是表示规则保持部154保持的、表示不正常检测规则的规则信息的一例的图。该图的例子示出了与id(消息id)为0x100的数据帧相关的接收间隔。不正常检测ecu100以非检查(不正常检测)对象的数据帧(称为基准数据帧)、和作为不正常检测对象的数据帧(称为对象数据帧)的接收间隔为基础进行不正常检测。根据该图的例子的规则信息,不正常检测ecu100根据id为0x200的基准数据帧、和id为0x100的对象数据帧的接收间隔,进行id为0x100的对象数据帧的不正常检测。如果id为0x100的对象数据帧的接收定时是从基准数据帧(在该例子中,id为0x200的数据帧)的接收定时起经过了25ms这一接收间隔后,则id为0x100的对象数据帧是适当的。
[0094]
考虑到在总线300上产生了数据帧间的冲突的情况下的仲裁(重传控制)导致的接收间隔的波动,针对25ms这一接收间隔确定了正负3ms的余量。此外,在总线300上产生了数据帧间的冲突的情况下的一次重传间隔例如比1ms短。在图5的例子中,如果id为0x200的基准数据帧与id为0x100的对象数据帧的接收间隔在22ms~28ms的范围内,则判定为对象数据帧适当,如果是在该范围外,则判定为不正常。
[0095]
在该例中,示出了仅与id为0x100的数据帧相关的不正常检测规则的例子,但也可以预先确定将多个id各自的数据帧分别作为对象的不正常检测规则。另外,虽然示出了规则信息表示关于id为0x100的对象数据帧,规定了一个id(0x200)的基准数据帧所涉及的接收间隔的不正常检测规则的例子,但作为基准数据帧的数据帧的id不限于一个,既可以是两个,也可以三个以上。另外,在规则信息表示针对多个基准数据帧各自的id以及接收间隔所涉及的规则的情况下,不正常检测处理部152可将任意个数的规则用于不正常检测。例如,在接收间隔所涉及的规则为5个,将其中的三个规则(将相互不同的三个id的各数据帧作为各基准数据帧并规定了各接收间隔的规则)用于不正常检测的情况下,既可以在不满足三个规则中的某一个的情况下,综合地判断为不正常,也可以在满足三个规则中的某一
个时,综合地判断为适当。另外,也可以是,通过多数表决,在基于用于不正常检测的三个规则中的两个以上规则而判定为不正常的情况下(不符合两个以上规则的情况下),综合地判断为不正常,在基于两个以上规则判定为适当的情况下(符合两个以上规则的情况下),综合地判断为适当。另外,在图5的例子中,不将id为0x100的对象数据帧彼此的接收间隔包括在不正常检测规则中,但例如也可以将id为0x100的数据帧的接收间隔(例如50ms)包括在不正常检测规则中。此外,也可以加密保持规则信息的内容。
[0096]
[1.6接收定时信息]
[0097]
图6是表示存储在接收定时保持部156中的接收定时信息的一例的图。该接收定时信息是参照计时器保持部155的当前定时,按每个id记录了针对不正常检测ecu100过去接收到的数据帧的接收定时的信息。图6的例子示出了:上一次接收到id(消息id)为0x100的数据帧的定时为201ms,上一次接收到id为0x200的数据帧的定时为176ms。
[0098]
[1.7自动停车ecu200a的构成]
[0099]
图7是ecu(自动停车ecu)200a的构成图。ecu200a包括收发部130、控制器部140以及微控制器部250而构成。
[0100]
由于收发部130和控制器部140与不正常检测ecu100(参照图4)中的收发部130和控制器部140相同,所以省略说明。
[0101]
微控制器部250是与控制器部140进行信号的授受的、包括执行程序的处理器和存储器的半导体集成电路。作为由执行程序的处理器、存储器等实现的构成要素,微控制器部250具有:控制器通信部151、帧处理部252、帧生成部253以及外部设备输入输出部254。
[0102]
控制器通信部151与不正常检测ecu100(参照图4)中的控制器通信部151相同。但是,ecu200a的控制器通信部151向帧处理部252通知从控制器部140接收到的数据帧。控制器通信部151向控制器部140通知从帧生成部253通知的数据帧,并进行数据帧发送请求。
[0103]
帧处理部252处理从控制器通信部151通知的数据帧并向外部设备输入输出部254通知结果。
[0104]
帧生成部253基于从外部设备输入输出部254通知的值生成数据帧(参照图8),并向控制器通信部151通知数据帧。
[0105]
外部设备输入输出部254与外部设备进行通信,所述外部设备与ecu200a连接。即,外部设备输入输出部254根据操作从触摸面板240受理向自动停车模式的转移指示,从相机210取得表示拍摄到的车辆周围的信息并向帧生成部253通知。
[0106]
动力转向ecu200b和齿轮ecu200c也具备与上述自动停车ecu200a同样的构成。但是,动力转向ecu200b中的外部设备输入输出部254向与动力转向ecu200b连接的方向盘220通知基于从帧处理部252通知的值的控制信号(用于进行转向的信号)。另外,齿轮ecu200c中的外部设备输入输出部254取得齿轮230的状态并向帧生成部253通知。
[0107]
[1.8数据帧例]
[0108]
图8是表示关于发送的数据帧的id(消息id)和数据字段(数据)的一例的图。
[0109]
在图8中,(a)是自动停车ecu200a发送的数据帧的例子,(b)是齿轮ecu200c发送的数据帧的例子。
[0110]
自动停车ecu200a发送的数据帧的消息id为“0x100”,dlc为“4”(4字节)。数据字段的第一字节表示模式,在自动停车模式时值成为1。在不是自动停车模式时,第二字节以后
的数据字段的值成为无效。数据字段的第二字节表示自动停车模式时将方向盘220向哪个方向转动。该值为0时,将方向盘220向右转动,该值为1时,将方向盘220向左转动。用组合了数据字段的第三字节和第四字节而成的两个字节来表示将方向盘220转动时的角度。图8的(a)的例子表示是自动停车模式,并且将方向盘220向右转动256(0x100)度。
[0111]
齿轮ecu200c发送的数据帧的消息id为“0x200”,dlc为“1”(1字节)。在数据字段中,包括表示齿轮230的状态的值。如果齿轮230是空档状态则该值成为“0”,如果齿轮230为倒档状态则该值成为“1”,如果齿轮230为驱动状态则成为“2”。图8的(b)的例子表示齿轮230为倒档状态。
[0112]
[1.9不正常检测ecu100的数据帧的不正常检测的工作例]
[0113]
图9是表示不正常检测ecu100接收逐次出现在总线300上的数据帧并进行不正常检测的例子的图。在图9中,示出了自动停车ecu200a周期性地发送的id为0x100的数据帧f2、f5、f8和齿轮ecu200c周期性地发送的id为0x200的数据帧f1、f4、f7逐次出现在总线300上的情形。另外,在图9中,示出了如下状况:能够访问总线300的攻击者(不正常ecu)向总线300周期性地发送id为0x100的不正常数据帧f3、f6、f9,并尝试方向盘220的不正常控制。在该例中,作为不正常检测(检查),不正常检测ecu100针对id为0x100的数据帧进行与不正常相关的评价(具体而言为是否不正常的判别)。此外,虽然在图9中没有示出,但不正常检测ecu100可进行将id为0x100以外的数据帧作为对象的不正常检测(与不正常相关的评价)。
[0114]
不正常检测ecu100将接收到id为0x200的数据帧f1的定时作为接收定时信息保持。接着,不正常检测ecu100基于规则保持部154保持的规则信息的不正常检测规则,检查id为0x100的数据帧f2的接收定时是否是从id为0x200的数据帧f1的接收定时(接收定时信息表示的定时)起22ms~28ms的范围t1内。范围t1表示以数据帧f1的接收定时为基准,以规则信息(参照图5)表示的接收间隔25ms为中心且前后取余量3ms的时间段。由于在范围t1内的定时接收自动停车ecu200a发送的id为0x100的数据帧f2,所以判定为是适当的数据帧。另外,针对接着接收的攻击者(不正常ecu)发送的id为0x100的数据帧f3,作为范围t1内外的判别(即是否不正常的判别)的结果,由于是范围t1外,所以判定为不正常。
[0115]
另外,同样地,不正常检测ecu100保持接收到id为0x200的数据帧f4的定时,检查id为0x100的数据帧f5的接收定时是否在从数据帧f4的接收定时起22ms~28ms的范围t2内,由于在范围t2内所以将数据帧f5判定为适当,针对接着接收到的id为0x100的数据帧f6,由于在范围t2外,所以判定为不正常。
[0116]
之后也同样地,不正常检测ecu100基于从id为0x200的数据帧f7的接收定时起的接收间隔,将在范围t3内接收到的id为0x100的数据帧f8判定为适当,将在范围t3外接收到的id为0x100的数据帧f9判定为不正常。
[0117]
[1.10不正常检测ecu100进行的不正常检测处理]
[0118]
以下,作为不正常检测处理,针对不正常检测ecu100在数据帧的接收时进行的处理,按照图10的流程图进行说明。
[0119]
不正常检测ecu100从总线300接收数据帧(步骤s1101)。
[0120]
不正常检测ecu100基于规则保持部154保持的规则信息,确认接收到的数据帧的id是否为0x100(步骤s1102),在接收到的数据帧的id不是0x100的情况下,确认是否为0x200(步骤s1103)。
[0121]
在步骤s1103中确认为id是0x200的情况下,不正常检测ecu100参照计时器保持部155得到当前定时,以表示当前定时的方式更新存储在接收定时保持部156中的表示与id为0x200相关的数据帧的接收定时的接收定时信息(步骤s1104)并结束处理。
[0122]
在步骤s1103中确认为id不是0x200的情况下,不正常检测ecu100结束与一个数据帧的接收对应的处理。
[0123]
在步骤s1101中接收到的数据帧的id为0x100的情况下(步骤s1102),不正常检测ecu100判别其接收定时是否在从id为0x200的数据帧的接收起经过22ms~28ms后的范围内(步骤s1105)。即,不正常检测ecu100检查参照计时器保持部155得到的当前定时是否在:将存储在接收定时保持部156中的接收定时信息表示的id为0x200的数据帧(基准数据帧)的接收定时与规则信息表示的id为0x200的数据帧的接收间隔(25ms)相加而成的定时减去余量(3ms)得到的值至加上余量得到的值的范围内。如果id为0x100的数据帧(对象数据帧)的接收定时没有保持在基于基准数据帧的接收定时的该范围内,则不正常检测ecu100将该对象数据帧判定为不正常,结束与一个数据帧的接收对应的处理(步骤s1106)。
[0124]
在步骤s1105中,如果id为0x100的对象数据帧的接收定时保持在基于基准数据帧的接收定时并用规定的接收间隔和余量确定的范围内,则不正常检测ecu100判定为对象数据帧是适当的。即,不正常检测ecu100在符合规定了接收间隔的适当范围的不正常检测规则的情况下判定为对象数据帧是适当的,在不符合的情况下判定为不正常。然后,不正常检测ecu100参照计时器保持部155,以表示当前定时的方式更新存储在接收定时保持部156中的表示id为0x100的数据帧的接收定时的接收定时信息(步骤s1107),并结束与一个数据帧的接收对应的处理。
[0125]
在图10中,示出了主要将id为0x100的数据帧作为对象进行不正常检测的例子,但作为不正常检测处理,不正常检测ecu100也可进行将其他id的数据帧作为对象的不正常检测。此外,例如,为了在图10的例子以外的不正常检测(例如id为0x100的数据帧彼此的接收间隔所涉及的检查或其他id的数据帧的检查)中作为基准使用,可利用在步骤s1107中更新而成的、表示id为0x100的数据帧的接收定时的接收定时信息。
[0126]
这样由不正常检测ecu100进行的不正常检测处理包括接收在总线300上发送的数据帧的接收步骤(步骤s1101)。另外,不正常检测处理包括如下检测步骤(例如步骤s1102、s1105、s1106等):作为对象数据帧的不正常检测,基于规定基准数据帧与对象数据帧的接收间隔的预定规则(即,规则信息表示的不正常检测规则),根据基准数据帧的接收定时和对象数据帧的接收定时进行评价(是否不正常的判别等),所述对象数据帧是具有第一标识符(例如0x100这样的id)的数据帧,所述基准数据帧是具有与该第一标识符不同的第二标识符(例如0x200这样的id)的数据帧。另外,不正常检测处理可包括将检测步骤中的评价结果记录在存储介质中的记录步骤。
[0127]
[1.11实施方式1的效果]
[0128]
在实施方式1涉及的车载网络系统10中,不正常检测ecu100基于作为数据帧的与不正常相关的评价(是否不正常的判别等)的对象的数据帧、和具有与该数据帧不同的id(消息id)的数据帧的接收间隔,进行该评价。
[0129]
由此,能够检测攻击者(访问总线300的不正常ecu等)进行的不正常的数据帧的发送。
[0130]
此外,例如,在基于针对自动停车ecu200a周期性地发送的id为0x100的正常数据帧的接收间隔(相同id的数据帧彼此间的接收间隔)来进行数据帧的与不正常相关的评价的情况下,作为攻击者进行的id为0x100的不正常的数据帧的发送的结果,可能将正常的数据帧判定为不正常。例如,这是由于:在数据帧会被判定为适当的时间段(基于接收间隔的范围)接收到多个数据帧的情况下,该多个数据帧中存在攻击者发送的不正常数据帧,且由该攻击者发送的数据帧可能成为下一次的基于接收间隔的评价基准。
[0131]
与此相对,在车载网络系统10中,由于根据从id为0x200的数据帧(基准数据帧)起的接收间隔来进行id为0x100的数据帧的与不正常相关的评价,所以能降低正常的数据帧判定为不正常的可能性。例如,将推定为不是不正常攻击的对象的可能性高的数据帧确定为基准数据帧是有用的,所述基准数据帧成为接收间隔的基准。另外,当为了进行某id的对象数据帧的与不正常相关的评价,设置多个不正常检测规则,基于多个基准数据帧中的每一个与对象数据帧的各接收间隔,综合地进行评价(是否不正常的判别等)时,有可能能够几率更良好地进行对象数据帧的与不正常相关的评价。
[0132]
(实施方式2)
[0133]
以下,针对将在实施方式1所示的车载网络系统10进行一部分变形而成的车载网络系统11进行说明。
[0134]
本实施方式涉及的车载网络系统11使用如下不正常检测方法:切换成为接收间隔的基准的数据帧,所述接收间隔是相对于作为不正常检测对象的数据帧的接收间隔。车载网络系统11中的不正常检测ecu2100首先以具有同一id的数据帧彼此的接收间隔为基础进行是否不正常的判别,当判定为不正常时,以没有检测出不正常的、具有其他id的数据帧为基准,以接收间隔为基础进行是否不正常的判别。
[0135]
[2.1车载网络系统11的整体构成]
[0136]
图11是表示本实施方式涉及的车载网络系统11的整体构成的图。
[0137]
如图11所示,车载网络系统11包括总线300、不正常检测ecu2100、与各种设备连接的ecu(自动停车ecu)200a、ecu(动力转向ecu)200b、ecu(齿轮ecu)200c、ecu(车速ecu)2200d等各ecu这样的与总线连接的各节点而构成。在本实施方式中,针对具有与实施方式1同样的功能的构成要素,标注相同的标号并省略说明。另外,关于在本实施方式中没有特别表示之处,车载网络系统11与车载网络系统10相同。
[0138]
车速ecu2200d与总线300连接,并与车速传感器2250连接。车速ecu2200d具备与自动停车ecu200a同样的构成(参照图7)。但是,车速ecu2200d中的外部设备输入输出部254以从车速传感器2250通知的信号为基础,以生成通知汽车当前速度的数据帧的方式向帧生成部253通知。由此,车速ecu2200d周期性地向总线300发送通知车辆当前速度的数据帧。
[0139]
不正常检测ecu2100是与总线300连接的一种ecu,并具有进行不正常检测处理的功能,所述不正常检测处理用于监视流经总线300上的数据帧,并判别是否流过不正常数据帧。
[0140]
[2.2不正常检测ecu2100的构成]
[0141]
图12是不正常检测ecu2100的构成图。不正常检测ecu2100包括收发部130、控制器部140以及微控制器部2150而构成。具有与实施方式1同样的功能的构成要素标注相同的标号并省略说明。
[0142]
微控制器部2150是与控制器部140进行信号的授受的、包括执行程序的处理器和存储器的半导体集成电路。作为由执行程序的处理器、存储器等实现的构成要素,微控制器部2150具有:控制器通信部151、帧生成部153、不正常检测处理部2152、规则保持部2154、计时器保持部155以及接收状态保持部2156。
[0143]
控制器通信部151向不正常检测处理部2152通知从控制器部140接收到的数据帧。
[0144]
不正常检测处理部2152针对从控制器通信部151通知的数据帧进行不正常检测处理。在该不正常检测处理中,不正常检测处理部2152参照存储在规则保持部2154中的表示不正常检测规则的规则信息、存储在计时器保持部155中的当前定时的信息以及存储在接收状态保持部2156中的表示数据帧的过去的接收状态等的接收状态信息,判别当前接收到的数据帧是否不正常。
[0145]
作为不正常检测处理,不正常检测处理部2152进行如下检查:在用规则保持部154的规则信息将正在接收的数据帧的id(消息id)确定为不正常检测规则的对象的情况下,判别其接收定时是否在从成为接收间隔的基准的数据帧的接收定时起的、用接收间隔和余量确定的范围内。如果接收到的数据帧的接收定时在基于规则信息表示的接收间隔和余量的范围内,则是适当的,如果是该范围外,则成为不正常。该范围是接收所涉及的适当时间段,称为接收适当时间段。此外,在判定为接收到的数据帧不正常的情况下,为了向各ecu通知不正常的发生,不正常检测处理部2152可向帧生成部153通知与该不正常数据帧相关的信息。也可以是,在检测出不正常数据帧的情况下,不正常检测处理部2152按每个数据帧的id对检测出不正常的累积次数进行计数并记录,并用于针对各id的数据帧的综合性的不正常的判断等。另外,不正常检测处理部2152可以在记录介质(存储介质)等中记录与不正常数据帧相关的日志信息(例如不正常数据帧的id以及其他内容、接收日期和时间等),也可以进行用于报告不正常的控制(显示、向处于车辆外部的服务器装置的信息发送等)。
[0146]
规则保持部2154保持有不正常检测处理部2152参照的、表示不正常检测规则的规则信息(参照图13),所述不正常检测规则是数据帧间的通信间隔(接收间隔)的规则。在不正常检测处理部2152中,基于该不正常检测规则确定接收适当时间段,根据成为不正常检测对象的数据帧是否在该接收适当时间段的范围内,判别该数据帧是否不正常。不正常检测处理部2152参照存储在接收状态保持部2156中的接收状态信息,进行接收适当时间段的确定。
[0147]
接收状态保持部2156保持接收状态信息(参照图14)。即,接收状态保持部2156按每个数据帧的id,保持过去接收到的数据帧的接收定时。另外,为了进行不正常检测处理,针对接收到满足存储在规则保持部2154中的接收间隔所涉及的不正常检测规则的数据帧(在接收适当时间段内接收到的数据帧)的时间,接收状态保持部2156参照计时器保持部155取得当前定时,作为下一次接收定时候选暂时保持。另外,接收状态保持部2156按每个数据帧的id保持表示是否发生了不正常的不正常发生状态。例如,若每次接收适当时间段的结束时间经过时将下一次接收定时候选设定为没有候选的状态,则在已经保持有时间值作为下一次接收定时候选的接收适当时间段内接收到多个数据帧的情况下,可判别为发生了不正常,并更新不正常发生状态。另外,接收状态保持部2156也按每个作为基准的数据帧的id,保持关于从基准数据帧起的、上一次的接收间隔的信息。接收状态保持部2156保持的接收状态信息由不正常检测处理部2152参照或更新,用于判别当前接收到的数据帧是否不
正常。
[0148]
[2.3不正常检测规则]
[0149]
图13是表示规则保持部2154保持的、表示不正常检测规则的规则信息的一例的图。相对于在实施方式1中由图5示出的规则信息表示一个接收间隔,该图的例子示出了:针对具有多个id中的每一个的数据帧彼此间规定的接收间隔和余量。
[0150]
图13的规则信息例如示出了:关于id为0x100的数据帧,与id为0x100的数据帧的接收间隔为50ms,即,相同id的数据帧彼此的接收间隔为50ms。在该id为0x100的数据帧彼此之间,将在最近的数据帧的接收定时上加上接收间隔(50ms)并减去余量的值而得到的47ms至加上余量的值而得到的53ms作为接收适当时间段。如果在该接收适当时间段内接收数据帧,则接收到的数据帧基本上判定为适当。但是,在该接收适当时间段内接收到多个数据帧的情况下,判定为发送了不正常数据帧。
[0151]
另外,图13的规则信息表示:在将id为0x100的数据帧作为不正常检测对象(对象数据帧)时,将id为0x200的数据帧作为基准数据帧,从基准数据帧的接收到接收对象数据帧为止的接收间隔是25ms。同样地,接收id为0x200的基准数据帧后,22ms~28ms之间成为针对id为0x100的对象数据帧的接收适当时间段。
[0152]
另外,图13的规则信息用“+2”的表述来表示:在将id为0x100的数据帧作为不正常检测对象(对象数据帧)时,将id为0x300的数据帧作为基准数据帧,从基准数据帧的接收到接收对象数据帧为止的接收间隔成为在上一次接收间隔上加上2ms得到的值。也就是说,每当接收时接收间隔发生变化,在该例子中,在上一次接收间隔上相加2ms得到的结果确定作为接下来的接收间隔。例如,在接收id为0x300的数据帧后到接收id为0x100的数据帧为止的间隔是10ms的情况下,接下来的id为0x100的数据帧的接收适当时间段计算为:从id为0x300的数据帧的接收定时起,经过在将10ms加上2ms而成的12ms上包括正负3ms的余量而成的9ms~15ms后。在该计算的9ms~15ms这样的接收间隔的范围比0小,或比针对成为基准的数据帧彼此而规定的间隔(如图13所示,针对id为0x300的数据帧是48ms)大的情况下,以将接收间隔的范围保持在0~该规定的接收间隔为止的值之间的方式正常化。通过该正常化,调整为相对于在即将接收到id为0x100的数据帧之前接收到的成为基准的数据帧数据帧的接收间隔。例如,为了进行id为0x100的数据帧的不正常检测,在将id为0x300的数据帧作为基准数据帧检查接收间隔时,在上一次的接收间隔为47ms时,接下来的接收间隔为将47ms加上2ms得到的49ms,但是该间隔超过了作为id为0x300的数据帧彼此的间隔的48ms。因此,接下来的接收间隔设为从49减去48得到的1ms。由于对其容许余量正负3ms的范围,所以最终的接收适当时间段成为:从0x300的数据帧的接收定时起经过0~4ms后的范围和经过46ms~48ms后的范围。
[0153]
针对将id为0x200的数据帧、id为0x300的数据帧中的每一个设为不正常检测对象时的、用于不正常检测的接收间隔和余量,也同样地利用规则信息规定。
[0154]
[2.4接收状态信息]
[0155]
图14是表示存储在接收状态保持部2156中的接收状态信息的一例的图。该接收状态信息按每个数据帧的id记录了针对不正常检测ecu2100过去接收到的数据帧的接收定时等。
[0156]
图14的例子示出了:关于id为0x100的数据帧,上一次接收定时为151ms,下一次接
收定时候选为201ms,且由于在接收适当时间段内接收到多个数据帧等而发生了不正常的状态(即,不正常发生状态为“有不正常”)。另外,图14的例子示出了:作为上一次接收间隔,id为0x100的数据帧彼此的接收间隔为51ms,id为0x200的数据帧与id为0x100的数据帧的接收间隔为25ms,id为0x300的数据帧与id为0x100的数据帧的接收间隔为10ms。
[0157]
关于id为0x200的数据帧和id为0x300的数据帧,也同样地保持有接收定时、下一次接收定时候选、不正常发生状态以及上一次接收间隔。下一次接收定时候选为“无”的状态表示:在目前的状况下,在接收适当时间段中没有接收对应的id的数据帧。另外,当接收适当时间段过后,不正常检测处理部2152用接收状态信息的下一次接收定时候选的值更新接收定时后,将下一次接收定时候选更新为表示“无”。
[0158]
[2.5数据帧例]
[0159]
图15是表示关于车速ecu2200d发送的数据帧的id(消息id)和数据字段(数据)的一例的图。
[0160]
如该图所示,车速ecu2200d发送的数据帧的消息id为“0x300”,dlc为“1”(1字节)。在数据字段中包括表示车速的值,图15的例子表示车速为16(0x10)km/h。
[0161]
[2.6不正常检测ecu2100的数据帧的不正常检测的工作例1]
[0162]
图16是表示不正常检测ecu2100接收逐次出现在总线300上的数据帧并进行不正常检测的例子的图。
[0163]
在图16中,示出了自动停车ecu200a周期性地发送的id为0x100的数据帧f11、f13、f16、f19和齿轮ecu200c周期性地发送的id为0x200的数据帧f12、f15、f18逐次出现在总线300上的情形。另外,在图16中,示出了如下状况:能够访问总线300的攻击者(不正常ecu)向总线300周期性地发送id为0x100的不正常数据帧f14、f17、f20,并尝试方向盘220的不正常控制。在该例中,作为不正常检测(检查),不正常检测ecu2100针对id为0x100的数据帧进行与不正常相关的评价(具体而言为是否不正常的判别)。在图16中,示出了如下例子:不正常检测ecu2100在进行id为0x100的数据帧的与不正常相关的评价时,根据不正常的发生状况(不正常发生状态),将作为接收间隔的基准的数据帧切换为具有未发生不正常的id的数据帧。此外,虽然在图16中没有示出,但不正常检测ecu2100可进行将id为0x100以外的数据帧作为对象的不正常检测(与不正常相关的评价)。作为前提,接收状态保持部2156保持的接收状态信息最初设为与各id对应的不正常发生状态成为“无不正常”来进行说明。
[0164]
关于作为不正常检测对象的id为0x100的数据帧,不正常检测ecu2100首先在没有发生不正常的状况(即,针对接收状态信息的各id的不正常发生状态为“无不正常”的状态)下,基于以与对象相同的id(0x100)的数据帧的接收定时为基准的接收间隔,检测不正常。此外,在该例子中,选择作为基准的数据帧的id的顺序设为0x100、0x200、0x300这样的顺序。
[0165]
不正常检测ecu2100将接收到id为0x100的数据帧f11的时间作为接收状态信息中的接收定时保持。
[0166]
接着,不正常检测ecu2100接收自动停车ecu200a发送来的、第二次的id为0x100的数据帧f13。不正常检测ecu2100基于规则信息表示的不正常检测规则(参照图13),将从id为0x100的数据帧f11的接收定时起经过了47ms~53ms的范围确定作为接收适当时间段t11,由于数据帧f13的接收定时在接收适当时间段t11的范围内,所以数据帧f13判定为适
当(非不正常)。
[0167]
此时,由攻击者发送第三次的id为0x100的数据帧f14。由于该数据帧f14的接收定时在接收适当时间段t11的范围内,所以暂时是适当的。但是,由于在接收适当时间段t11的范围内已经接收了具有相同的0x100这一id的数据帧f13,所以数据帧f13和数据帧f14中的某一个是不正常的,因此,不正常检测ecu2100针对具有0x100这一id的数据帧判定为发生了不正常,并将接收状态保持部2156保持的接收状态信息中的id为0x100的数据帧的不正常发生状态更新为“有不正常”。自此以后,作为设为基准的数据帧,不正常检测ecu2100选择接下来的顺序的id为0x200的数据帧来取代id为0x100的数据帧。由此,不将存在不正常可能性的、具有0x100这一id的数据帧作为基准来确定接收适当时间段,能降低将数据帧误检测为不正常的可能性。
[0168]
不正常检测ecu2100将接收到id为0x200的数据帧f15的时间作为接收状态信息中的接收定时保持。
[0169]
接着,不正常检测ecu2100接收自动停车ecu200a发送来的、第四次的id为0x100的数据帧f16。不正常检测ecu2100基于不正常检测规则(参照图13),将从id为0x200的数据帧f15的接收定时起经过了22ms~28ms的范围确定为接收适当时间段t12,由于数据帧f16的接收定时在接收适当时间段t12的范围内,所以数据帧f16判定为适当。
[0170]
接着,不正常检测ecu2100接收攻击者发送来的、第五次的id为0x100的数据帧f17。由于该数据帧f17的接收定时在接收适当时间段t12的范围外,所以不正常检测ecu2100将数据帧f17判定为不正常。
[0171]
以后,同样地,不正常检测ecu2100以id为0x200的数据帧f18的接收定时为基准确定接收适当时间段t13,将自动停车ecu200a发送的、在接收适当时间段t13内接收到的数据帧f19判定为适当,将攻击者发送的、在接收适当时间段t13外接收到的数据帧f20判定为不正常。
[0172]
[2.7不正常检测ecu2100的数据帧的不正常检测的工作例2]
[0173]
图17是表示不正常检测ecu2100接收逐次出现在总线300上的数据帧并进行不正常检测的其他个例子的图。
[0174]
在图17中,示出了自动停车ecu200a周期性地发送的id为0x100的数据帧f21、f26、f31、f36、齿轮ecu200c周期性地发送的id为0x200的数据帧f24、f29、f34以及车速ecu2200d周期性地发送的id为0x300的数据帧f23、f28、f32、f37逐次出现在总线300上的情形。另外,在图17中,示出了如下状况:能够访问总线300的攻击者(不正常ecu)向总线300发送id为0x100的不正常数据帧f22、f27、f33、f38和id为0x200的不正常数据帧f25、f30、f35,并尝试方向盘220等的不正常控制。在该例中,作为不正常检测,不正常检测ecu2100针对id为0x100的数据帧进行与不正常相关的评价(具体而言为是否不正常的判别)。在图17中,示出了如下例子:不正常检测ecu2100在进行id为0x100的数据帧的与不正常相关的评价时,根据不正常的发生状况,将作为接收间隔的基准的数据帧切换为具有未发生不正常的id的数据帧。此外,虽然在图17中没有示出,但不正常检测ecu2100可进行将id为0x100以外的数据帧作为对象的不正常检测。
[0175]
作为前提,接收状态保持部2156保持的接收状态信息最初设为与各id对应的不正常发生状态成为“无不正常”来进行说明。
[0176]
不正常检测ecu2100在接收到第一次和第二次的id为0x100的数据帧f21、f22时,关于id为0x100的数据帧,在接收适当时间段内接收多个数据帧而判定为发生了不正常,并将接收状态保持部2156保持的接收状态信息中的id为0x100的数据帧的不正常发生状态更新为“有不正常”。由此,以后,作为用于确定接收间隔所涉及的接收适当时间段的、设为基准的数据帧,不再使用id为0x100的数据帧。在该例中,选择作为基准的数据帧的id的顺序设为0x100、0x200、0x300这样的顺序。另外,进一步,不正常检测ecu2100在接收到第一次和第二次的id为0x200的数据帧f24、f25时,关于id为0x200的数据帧,在接收适当时间段内接收多个数据帧而判定为发生了不正常,并将接收状态保持部2156保持的接收状态信息中的id为0x200的数据帧的不正常发生状态更新为“有不正常”。由此,以后,作为用于确定接收间隔所涉及的接收适当时间段的、设为基准的数据帧,不再使用id为0x200的数据帧,接着,将id为0x300的数据帧选择为基准。
[0177]
不正常检测ecu2100将id为0x300的数据帧f23作为基准,并基于其接收定时确定接收适当时间段t21,关于第三次的id为0x100的数据帧f26,根据是否在接收适当时间段t21内接收到,判别是否不正常。由于数据帧f26在接收适当时间段t21内接收到,所以判定为适当。
[0178]
以后,同样地,不正常检测ecu2100将id为0x300的数据帧f28作为基准,并基于其接收定时确定接收适当时间段t22,关于id为0x100的数据帧f31,由于在接收适当时间段t22内接收到,所以判定为适当,关于数据帧f33,由于在接收适当时间段t22外接收到,所以判定为不正常。另外,不正常检测ecu2100将id为0x300的数据帧f32作为基准,并基于其接收定时确定接收适当时间段t23,关于id为0x100的数据帧f36,由于在接收适当时间段t23内接收到,所以判定为适当,关于数据帧f38,由于在接收适当时间段t23外接收到,所以判定为不正常。此外,基于不正常检测规则(参照图13),成为用于确定接收适当时间段的基准的、id为0x300的数据帧f23、f28、f32与作为不正常检测对象的id为0x100的数据帧的接收间隔每当id为0x100的数据帧的接收时发生变化(从36ms起每次增加2ms)。
[0179]
[2.8不正常检测ecu2100进行的不正常检测处理]
[0180]
以下,作为不正常检测处理,针对不正常检测ecu2100在数据帧的接收时进行的处理,按照图18的流程图进行说明。
[0181]
不正常检测ecu2100从总线300接收数据帧(步骤s2101)。
[0182]
不正常检测ecu2100基于规则保持部2154保持的规则信息(参照图13),确认是否规定有与接收到的数据帧的id关联的不正常检测规则(步骤s2102),在没有规定与接收到的数据帧的id关联的不正常检测规则的情况下,结束与一个数据帧的接收对应的处理。
[0183]
在步骤s2102中,在确认为规定有与接收到的数据帧的id关联的不正常检测规则的情况下,不正常检测ecu2100进行接收状态信息(参照图14)中的接收定时和下一次接收定时候选的更新(步骤s2103)。在步骤s2103中,具体而言,针对接收状态信息中的下一次接收定时候选不是“无”的全部id中的、从计时器保持部155得到的当前定时经过了与该id对应的接收适当时间段的结束时间的id,不正常检测ecu2100将下一次接收定时候选的值设定为接收状态信息中的接收定时(即,用下一次接收定时候选的值更新接收定时),以示出“无”的方式更新下一次接收定时候选。另外,在步骤s2103中,如果不存在接收状态信息中的下一次接收定时候选不是“无”的全部id中的、从计时器保持部155得到的当前定时经过
了与该id对应的接收适当时间段的结束时间的id,则什么也不做。
[0184]
接着步骤s2103之后,不正常检测ecu2100选择还没有发生不正常的id(接收状态信息的不正常发生状态为“无不正常”的id),作为用于确定接收适当时间段的成为基准的数据帧的id(步骤s2104)。该选择例如基于规则信息(参照图13)表示的不正常检测规则所涉及的数据帧的id的值的从小到大的顺序这一选择基准(选择顺序等)来进行,在该情况下,可按0x100、0x200、0x300的顺序选择id。
[0185]
不正常检测ecu2100通过参照接收状态保持部2156保持的接收状态信息,取得具有选择出的id的数据帧的接收定时。然后,不正常检测ecu2100参照规则保持部2154保持的规则信息表示的不正常检测规则,通过具有选择出的id的成为基准的数据帧的接收定时、和根据接收到的数据帧的id确定的接收间隔以及余量所对应的计算,确定接收适当时间段(步骤s2105)。
[0186]
接着,不正常检测ecu2100判别接收到数据帧的时间(即,从计时器保持部155得到的当前定时)是否在接收适当时间段的范围内。在接收到数据帧的时间不在接收适当时间段的范围内的情况下,不正常检测ecu2100将接收到的数据帧判定为不正常(步骤s2107),将接收状态信息中的关于该数据帧的id的不正常发生状态更新为表示“有不正常”(步骤s2108),并结束处理。
[0187]
在步骤s2106中,在判定为接收到数据帧的时间在接收适当时间段的范围内的情况下,不正常检测ecu2100确认接收状态信息中的、与接收到的数据帧的id对应的下一次接收定时候选是否为“无”(步骤s2109)。在下一次接收定时候选不是“无”的情况下,不正常检测ecu2100针对接收到的数据帧的id判定为不正常(步骤s2107),将接收状态信息中的关于该数据帧的id的不正常发生状态更新为表示“有不正常”(步骤s2108),并结束处理。在下一次接收定时候选不是“无”的情况下,接收到的数据帧或在其之前接收到的数据帧中的某一个为不正常。此外,在关于数据帧的是否不正常的判定中,既可以区别单独的数据帧的不正常的发生和相同id的一个以上数据帧中的不正常的发生,也可以不区别。但是,在任一种情况下,不正常检测ecu2100以接收状态信息中的不正常发生状态表示“有不正常”的方式进行更新,且不将与该不正常所涉及的数据帧的id相同id的数据帧作为用于确定接收适当时间段的基准。
[0188]
在步骤s2109中确认为接收状态信息中的、与接收到的数据帧的id对应的下一次接收定时候选为“无”的情况下,不正常检测ecu2100针对接收到的数据帧判定为适当,在接收状态信息中的关于该数据帧的id的下一次接收定时候选中设定当前定时(步骤s2110),并结束处理。也就是说,在步骤s2110中,不正常检测ecu2100用从计时器保持部155得到的当前定时更新下一次接收定时候选,并结束与一个数据帧的接收对应的处理。
[0189]
这样由不正常检测ecu2100进行的不正常检测处理包括接收在总线300上发送的数据帧的接收步骤(步骤s2101)。另外,作为是具有第一标识符(例如0x100这样的id)的数据帧的对象数据帧的不正常检测,不正常检测处理包括:根据该对象数据帧彼此的接收定时的间隔,评价是否是该对象数据帧的初始检测步骤(例如步骤s2102~s2106)。在该初始检测步骤中,作为对象数据帧的不正常检测,在该对象数据帧的接收定时在以先于该接收定时的、对象数据帧的接收定时为基准而预先确定的适当时间段外的情况下,以及,该对象数据帧的接收定时在接收适当时间段内且在接收适当时间段内的时间接收到其他对象数
据帧的情况下,评价为不正常(步骤s2109、s2107、s2108)。然后,在初始检测步骤中评价为对象数据帧为不正常后,停止在初始检测步骤中的不正常检测,在切换了接收适当时间段的基准的检测步骤中开始不正常检测。在该检测步骤中,基于规定基准数据帧与对象数据帧的接收间隔的预定规则(即,规则信息表示的不正常检测规则),根据基准数据帧的接收定时和对象数据帧的接收定时,进行评价(是否不正常的判别等)(例如步骤s2102~s2110等),所述基准数据帧是具有与第一标识符不同的第二标识符(例如0x200这样的id)的数据帧。另外,不正常检测处理包括进行基准数据帧的不正常检测的基准检测步骤(例如步骤s2106、s2109等),在不正常检测处理中,在基准检测步骤中基准数据帧被检测为不正常的情况下,停止在检测步骤中的不正常检测,开始在后续检测步骤中的不正常检测。在该后续检测步骤中,作为对象数据帧的不正常检测,基于规定其他基准数据帧与对象数据帧的接收间隔的规则(即,不正常检测规则),根据其他基准数据帧的接收定时和对象数据帧的接收定时,进行评价(例如步骤s2102~s2107等),所述其他基准数据帧是具有与第一标识符和第二标识符不同的第三标识符(例如0x300这样的id)的数据帧。另外,不正常检测处理可包括将检测步骤中的评价结果记录在存储介质中的记录步骤。
[0190]
[2.9实施方式2的效果]
[0191]
在实施方式2涉及的车载网络系统11中,不正常检测ecu2100基于作为数据帧的与不正常相关的评价(是否不正常的判别等)的对象的数据帧、和还没有检测出不正常的发生的成为基准的数据帧之间的接收间隔,进行该评价。并且,在成为基准的数据帧发生了不正常后,选择其他数据帧来用作基准。即,不正常检测ecu2100基于没有发生不正常的数据帧与成为不正常检测对象的数据帧之间的接收间隔,进行数据帧的不正常所涉及的判定等。
[0192]
由此,能够检测攻击者(访问总线300的不正常ecu等)进行的不正常的数据帧的发送,能降低正常的数据帧被判定为不正常的可能性。
[0193]
(其他实施方式)
[0194]
以上,作为本公开涉及的技术的例示对实施方式1、2进行了说明。然而,本公开涉及的技术不限定于此,也可应用于适当进行了变更、置换、附加以及省略等而成的实施方式。例如,以下变形例也包括于本公开的一个实施方式。
[0195]
(1)在上述实施方式中,不正常检测处理部152、2152作为不正常检测ecu100、2100的构成要素进行了说明,但可以作为其他ecu的构成要素,不论哪个ecu进行数据帧的不正常检测(与不正常相关的评价等)均可。
[0196]
(2)在上述实施方式中,以标准id格式记述了can协议中的数据帧,但也可以是扩展id格式。在扩展id格式的情况下,用标准id格式中的id位置的基础id和扩展id共29位来表示数据帧的id。
[0197]
(3)上述实施方式的不正常检测ecu100、2100既可以在数据帧的接收完成时进行对数据帧的不正常检测,也可以在数据帧的接收期间(具体而言,是接收id字段后的任意时间点)进行。
[0198]
(4)在上述实施方式中,不正常检测ecu100、2100保持数据帧的接收定时,并进行从该接收定时起经过了带余量的接收间隔这一情况的确认,但也可以不保持数据帧的接收定时,例如,也可以是,通过在数据帧的接收时将接收间隔设置在倒计数(downcount)的计时器中等,进行接收间隔的经过的确认。
[0199]
(5)在上述实施方式中,示出了:在不正常检测ecu100、2100检测出数据帧不正常的情况下,向各ecu通知不正常的发生、对检测出不正常的累积次数进行计数并记录、记录日志信息、报告不正常等,但也可以进行其他任何处理。例如,也可以是,在数据帧的接收期间检测出不正常的情况下,通过向总线300发送错误帧,使不正常数据帧无效化,并使各ecu不能正常处理不正常数据帧。
[0200]
(6)在上述实施方式中,作为针对成为不正常检测对象的数据帧的与不正常相关的评价,示出了进行该数据帧是否不正常这样的判别(即,择一性判定)的例子,但与不正常相关的评价不限于判别,例如,也可以进行以计算不正常的几率(例如概率)为内容的评价。数据帧为不正常的几率的计算例如能够用以下方法实现。在实施方式2中,作为不正常检测处理,按顺序选择了成为求出接收适当时间段的基准的数据帧(或该数据帧的id),但不进行选择,将不正常检测规则(参照图13)所包括的全部id的数据帧作为基准并分别求出接收适当时间段。并且,将作为不正常检测对象的数据帧的接收定时与重合了全部接收适当时间段而成的接收适当时间段组进行比较。在不正常检测ecu中,可评价为:作为不正常检测对象的数据帧的接收定时越是接收适当时间段组中的接收适当时间段的重复程度高的时刻,不正常的几率越低,越是重复程度低或不是任一个接收适当时间段的时刻,不正常的几率越高。例如,该评价是通过预定运算计算不正常的几率的评价,所述预定运算是基于作为规则组的不正常检测规则(参照图13)、该各数据帧的接收定时、以及作为不正常检测对象的数据帧的接收定时的运算,所述规则组规定多个id的各数据帧与作为不正常检测对象的数据帧之间的接收间隔。用于计算不正常的几率的预定运算的内容可任意地确定。此外,也可以是,通过将不正常的几率与阈值进行比较而进行是否不正常这样的择一性判定。另外,关于数据帧是否不正常这样的判别,也可以将不正常检测规则(参照图13)所包括的多个id的数据帧作为基准分别求出接收适当时间段进行,也可以是,综合在各接收适当时间段中是否包括作为不正常检测对象的数据帧的接收定时的评价结果(即,该数据帧是否不正常的评价结果),例如通过多数表决等,最终决定作为不正常检测对象的数据帧是否不正常。另外,除了多数表决外,例如也可以在作为不正常检测对象的数据帧的接收定时没有包括在全部该多个接收适当时间段中的情况下决定为不正常。
[0201]
(7)在上述实施方式中,作为在不正常检测处理中成为用于确定接收适当时间段的基准的数据帧(即,数据帧的id)的选择顺序,例示了id的值从小到大的顺序,但也可以用其他方法确定该顺序。例如,也可以按id的值从大到小的顺序从没有发生不正常的id之中选择。另外,也可以是,附加id的值比作为不正常检测对象的数据帧的id大或小等条件进行选择。另外,也可以是,按id的值距作为不正常检测对象的数据帧的id的值由近到远的顺序进行选择。另外,也可以是,按针对成为基准的数据帧彼此规定的接收间隔距作为不正常检测对象的数据帧彼此的接收间隔由近到远的顺序进行选择。
[0202]
(8)在上述实施方式中,作为在不正常检测处理中成为用于确定接收适当时间段的基准的数据帧(即,数据帧的id)的选择顺序,例示了id的值从小到大的顺序,也可以不附加顺序。例如,既可以随机地选择id,另外,也可以定期地变更(例如变更为随机选择的id)选择的id。另外,也可以根据当前的车辆(搭载了各ecu的车辆)的状态,切换选择的id。即,也可以是,基于按每个车辆状态预先确定了应选择的数据帧的id的选择基准,进行在车辆状态变化时id的选择的切换。车辆状态是停车状态、行驶状态等。可将能够用搭载于车辆的
传感器、设备等识别的各种状态作为车辆状态使用。例如,可将点火钥匙插入点火锁芯的状态、启动发动机的状态、齿轮位置(例如停车、空档、一档、二档等)的状态、总线300等网络负载的状态等作为车辆状态使用。另外,也可以是,基于流经总线300的数据帧的内容的变化、不正常检测的必要性的高低等区别车辆状态。
[0203]
(9)在上述实施方式中,示出了如下例子:作为接收状态保持部2156保持的接收状态信息的下一次接收定时候选,存储有在接收适当时间段内接收到的数据帧之中最初接收到的数据帧的接收定时,下一次接收定时候选的值在接收适当时间段经过后被设定为接收状态信息中的接收定时。但是,其仅为一例。作为成为下一次接收适当时间段的基准的、接收状态信息中的接收定时,例如,可以设定为在接收适当时间段内接收到的数据帧之中最后接收到的数据帧的接收定时,也可以是,设定为在最接近用不正常检测规则所示的接收间隔经过时的时间接收到的数据帧的接收定时。此外,在上述实施方式中,在接收适当时间段内接收到多个数据帧的情况下将接收状态信息中的不正常发生状态设为“有不正常”,但也可以是,仅在接收适当时间段内接收到预先确定的预定数以上数据帧的情况下将不正常发生状态设为“有不正常”。
[0204]
(10)在上述实施方式中,示出了保持于接收状态保持部2156的接收状态信息中的不正常发生状态一次设定为“有不正常”后不再进行变更的例子,但也可以在一定条件下将不正常发生状态变更为“无不正常”。例如,在确认了一定次数的、在接收适当时间段内只接收一个具有对应的id的数据帧的情况下,将不正常发生状态变更为“无不正常”,也可以定期地将不正常发生状态复位为“无不正常”。
[0205]
(11)在上述实施方式中,保持于规则保持部154、2154的规则信息表示的不正常检测规则针对多个id的每一个包括接收间隔所涉及的规则,但无需针对可在总线300上收发的数据帧中使用的全部id规定接收间隔所涉及的规则。另外,也可以是,针对具有全部id或一部分id的各数据帧,不正常检测规则包括接收间隔所涉及的规则以外的、成为数据帧的与不正常相关的评价(是否不正常的判别等)的基准的规则(例如数据长度、数据字段的内容的限制等)。
[0206]
(12)在上述实施方式中,示出了如下例子:在接收适当时间段内接收到多个对应的id的数据帧的情况下和在接收适当时间段以外接收到对应的id的数据帧的情况下,将保持于接收状态保持部2156的接收状态信息中的不正常发生状态更新为“有不正常”。其仅为一例,例如,也可以是,在检测出发送了不符合接收间隔以外的规则的数据帧的情况下,将对应的id的不正常发生状态更新为“有不正常”。
[0207]
(13)在上述实施方式中,用微控制器部150、2150进行了不正常检测处理,但也可以在控制器部140中进行不正常检测处理的全部或一部分。
[0208]
(14)在上述实施方式中,为了进行基于接收间隔的数据帧的适当、不正常的判别,不进行接收状态信息中的接收定时的更新直到经过接收适当时间段,但也可以是,在接收适当时间段内,在接收到数据帧的时间进行接收状态信息中的接收定时的更新。另外,也可以是,不是每在接收适当时间段内接收到数据帧时进行接收定时的更新。例如,也可以是,通过预先保持接收次数,并将规则信息表示的不正常检测规则所涉及的接收间隔与接收次数相乘,来计算接收适当时间段。此时的接收次数的复位和接收定时的更新可在任意的时间进行。
[0209]
(15)在上述实施方式中,示出了微控制器部150或微控制器部2150包括规则保持部154、2154、计时器保持部155、接收定时保持部156以及接收状态保持部2156的例子,但控制器部140可以包括规则保持部154、2154、计时器保持部155、接收定时保持部156以及接收状态保持部2156中的一个以上。
[0210]
(16)在上述实施方式中,作为接收适当时间段的确定方法,将从规则保持部2154的规则信息表示的接收间隔减去余量得到的值至在接收间隔上加上余量得到的值作为接收适当时间段,但不限于此。例如,可以将从规则信息表示的接收间隔减去余量得到的值以后的全部时间范围作为接收适当时间段。
[0211]
(17)在上述实施方式中,作为成为用于确认与具有不正常检测对象的id的数据帧的接收间隔的基准的、具有与该id不同的id的数据帧,使用了流经总线300上的数据帧。该成为基准的数据帧既可以是应流经总线300上的控制用或状态通知用数据帧,也可以是没有不正常检测以外的用途的虚拟数据帧。虚拟数据帧由某一个ecu周期性地发送,并由不正常检测ecu接收,无需在不正常检测ecu以外接收。在不正常检测ecu中,以虚拟数据帧的接收定时为基准,确定不正常检测对象的id的数据帧的接收适当时间段,可进行不正常检测。另外,也可以是,作为成为用于不正常检测的基准的数据帧,不正常检测ecu利用发送不正常检测对象的id的数据帧的ecu另行发送的、与不正常检测对象的id不同的id的数据帧。
[0212]
(18)上述实施方式中的不正常检测ecu和其他ecu例如是包括处理器、存储器等数字电路、模拟电路以及通信电路等的装置,但也可以包括硬盘装置、显示器、键盘以及鼠标等其他硬件构成要素。另外,也可以通过专用硬件(数字电路等)实现功能,取代通过处理器执行存储于存储器的控制程序而软件性地实现该功能。
[0213]
(19)构成上述实施方式中的各装置的构成要素的一部分或全部可以由一个系统lsi(large scale integration:大规模集成电路)构成。系统lsi是将多个构成部集成在一个芯片上制造而成的超多功能lsi,具体而言,是包括微处理器、rom以及ram等而构成的计算机系统。在所述ram中记录有计算机程序。通过所述微处理器按照所述计算机程序工作,系统lsi实现该功能。另外,构成上述各装置的构成要素的各部分既可以形成为独立的单片,也可以形成为包括一部分或全部的单片。另外,在这里,设为系统lsi,但根据集成度的不同,有时也称呼为ic、lsi、超级lsi以及超大规模lsi。另外,集成电路化的方法不限于lsi,也可以用专用电路或通用处理器实现。在lsi制造后,也可以利用可编程的fpga(field programmable gate array:现场可编程门阵列)或利用能够将lsi内部的电路单元的连接以及设定重新构建的可重构处理器。进而,如果因半导体技术的进步或派生的其他技术出现代替lsi的集成电路化的技术,当然也可以使用该技术进行功能块的集成化。也有可能应用生物技术等。
[0214]
(20)构成上述各装置的构成要素的一部分或全部可以由可拆装于各装置的ic卡或单体的模块构成。所述ic卡或所述模块是由微处理器、rom以及ram等构成的计算机系统。所述ic卡或所述模块也可以包括上述的超多功能lsi。通过微处理器按照计算机程序工作,所述ic卡或所述模块实现该功能。该ic卡或该模块也可以具有防篡改性。
[0215]
(21)上述实施方式所示的各种处理的步骤(例如图10、图18所示的处理步骤等)的执行顺序不一定限制为上述的顺序,能够在不脱离发明要旨的范围内更换执行顺序、并列进行多个步骤或省略其步骤的一部分。
[0216]
(22)作为本公开的一个技术方案,例如可以设为包括图10或图18所示的不正常检测处理等的全部或一部分的不正常检测方法。另外,既可以是利用计算机实现该方法的计算机程序,也可以是由所述计算机程序构成的数字信号。另外,作为本公开的一个技术方案,也可以将所述计算机程序或所述数字信号记录于计算机可读的记录介质,例如软盘、硬盘、cd-rom、mo、dvd、dvd-rom、dvd-ram、bd(blu-ray(注册商标)disc)以及半导体存储器等。另外,也可以是记录在这些记录介质中的所述数字信号。另外,作为本公开的一个技术方案,也可以经由电通信线路、无线或有线通信线路、以互联网为代表的网络以及数据广播等输送所述计算机程序或所述数字信号。另外,作为本公开的一个技术方案,是具备微处理器和存储器的计算机系统,所述存储器记录有上述计算机程序,所述微处理器按照所述计算机程序工作。另外,也可以通过将所述程序或所述数字信号记录于所述记录介质并转送,或经由所述网络等转送所述程序或所述数字信号,由此通过独立的其他计算机系统实施。
[0217]
(23)作为本公开的一个技术方案,例如可以是具备上述不正常检测ecu的一部分或全部功能的不正常检测系统。不正常检测系统例如可由与总线连接的ecu(可以是不正常检测ecu,也可以是其他ecu)、能够与该ecu进行通信的装置(例如处于车辆外部的服务器装置等)等构成。
[0218]
(24)通过任意组合上述实施方式和上述变形例所示的各构成要素和功能而实现的方式也包括在本公开的范围内。
[0219]
产业上的可利用性
[0220]
本公开可利用于在遵循can的车载网络中适当地进行向总线上的不正常帧的发送的检测。
[0221]
标号说明
[0222]
10、11 车载网络系统
[0223]
100、2100 不正常检测电子控制单元(不正常检测ecu)
[0224]
130 收发部
[0225]
140 控制器部
[0226]
141 协议处理部
[0227]
150、250、2150 微控制器部
[0228]
151 控制器通信部
[0229]
152、2152 不正常检测处理部
[0230]
153、253 帧生成部
[0231]
154、2154 规则保持部
[0232]
155 计时器保持部
[0233]
156 接收定时保持部
[0234]
200a 电子控制单元(自动停车ecu)
[0235]
200b 电子控制单元(动力转向ecu)
[0236]
200c 电子控制单元(齿轮ecu)
[0237]
210 相机
[0238]
220 方向盘(转向盘)
[0239]
230 齿轮(变速机构)
[0240]
240 触摸面板
[0241]
252 帧处理部
[0242]
254 外部设备输入输出部
[0243]
300 总线
[0244]
2156 接收状态保持部
[0245]
2200d 电子控制单元(车速ecu)
[0246]
2250 车速传感器。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1