(12)发明专利申请
(10)申请公布号 CN 111224917 A(43)申请公布日 2020.06.02
(21)申请号 201811406369.7(22)申请日 2018.11.23
(71)申请人 广州汽车集团股份有限公司
地址 510030 广东省广州市越秀区东风中
路448-458号成悦大厦23楼(72)发明人 杜仲 陈林 倪静波 张金池
杨晓松 涂孝军 (74)专利代理机构 深圳汇智容达专利商标事务
所(普通合伙) 44238
代理人 潘中毅 熊贤卿(51)Int.Cl.
H04L 29/06(2006.01)H04L 12/66(2006.01)H04L 12/40(2006.01)
权利要求书2页 说明书6页 附图2页
CN 111224917 A(54)发明名称
一种汽车网关防火墙报文健康检查方法及网关装置、汽车(57)摘要
本发明提供一种汽车网关防火墙报文健康
接检查方法及装置、汽车,该方法包括如下步骤:
收CAN报文,并根据CAN报文生成中断信号;根据所述中断信号获取中断邮箱的邮箱索引号;根据所述邮箱索引号获取所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值;根据每个信号的位置信息和长度信息获取所述CAN报文的每个信号的信号值;将所述每个信号值和与其对应的预设标准信号值进行对比分析;根据所述对比分析结果确定所述CAN报文的信号值为有效或无效。所述装置用于实现所述方法,所述汽车包括所述装置。本发明大幅降低了CAN报文健康检查功能对网关芯片的性能要求,提高了网关防火墙对CAN总线的防护能力。
CN 111224917 A
权 利 要 求 书
1/2页
1.一种汽车网关防火墙报文健康检查方法,其特征在于,包括如下步骤:接收CAN报文,并根据所述CAN报文生成中断信号;根据所述中断信号获取中断邮箱的邮箱索引号;
根据所述邮箱索引号获取所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值;
根据每个信号的位置信息和长度信息获取所述CAN报文的每个信号的信号值;将所述每个信号值和与其对应的预设标准信号值进行对比分析;根据所述对比分析结果判断所述CAN报文的信号值为有效或无效。2.如权利要求1所述的汽车网关防火墙报文健康检查方法,其特征在于,所述根据所述邮箱索引号获取对应的预设标准信号值包括:
根据所述邮箱索引号查询控制信号索引表,获取所述CAN报文的每个信号对应的信号信息;
其中,所述控制信号索引表包括有各类CAN报文的各信号所对应的信号信息以及各邮箱索引号和相应信号信息之间的索引关系;所述信号信息包括信号的位置信息、信号的长度信息和预设标准信号值。
3.如权利要求2所述的汽车网关防火墙报文健康检查方法,其特征在于,所述根据所述邮箱索引号获取CAN报文每个信号的位置信息、长度信息和预设标准信号值包括:
根据所述邮箱索引号获取对应的CAN报文的控制信号索引起点和信号长度;根据所述控制信号索引起点和信号长度,查找所述控制信号索引表得到所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值。
4.如权利要求1或2或3所述的汽车网关防火墙报文健康检查方法,其特征在于,所述预设标准信号值包括CAN报文各信号对应的预设最大标准值和预设最小标准值。
5.如权利要求4所述的汽车网关防火墙报文健康检查方法,其特征在于,所述将所述每个信号值和与其对应的预设标准信号值进行对比分析包括:
所述CAN报文的每个信号值和与其对应的预设最大标准值和预设最小标准值进行比较;若信号值大于等于预设最小标准值小于等于预设最大标准值,则对比分析结果为真;若信号值大于预设最大标准值或小于预设最小标准值,则对比分析结果为假。
6.如权利要求5所述的汽车网关防火墙报文健康检查方法,其特征在于,所述根据所述对比分析结果判断所述CAN报文的信号值为有效或无效包括:
若对比分析结果为真,则判断相应的信号值有效;若对比分析结果为假,则判断相应的信号值有效。
7.一种用于实现权利要求1-6任一项所述方法的网关装置,其特征在于,包括处理器及与所述处理器连接的CAN模块、中断模块、服务模块、分析对比模块和判断模块;
所述处理器被配置为控制所述CAN模块、中断模块、服务模块、分析对比模块和判断模块工作;
所述CAN模块被配置为接收CAN报文并根据所述CAN报文生成中断信号;所述中断模块被配置为根据所述中断信号获取中断邮箱的邮箱索引号;
所述服务模块被配置为根据所述邮箱索引号获取所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值,并根据每个信号的位置信息和长度信息获取所述CAN报
2
CN 111224917 A
权 利 要 求 书
2/2页
文的每个信号的信号值;
所述分析对比模块被配置为将所述每个信号值和与其对应的预设标准信号值进行对比分析;
所述判断模块被配置为根据所述对比分析结果判断所述CAN报文的信号值为有效或无效。
8.如权利要求7所述的网关装置,其特征在于,所述装置还包括一数据存储模块,所述数据存储模块用于存储所述控制信号索引表。
9.如权利要求7所述的网关装置,其特征在于,还包括过滤器,所述过滤器用于根据CAN报文的标识符过滤CAN报文。
10.一种汽车,其特征在于,包括权利要求7或8或9所述的网关装置。
3
CN 111224917 A
说 明 书
1/6页
一种汽车网关防火墙报文健康检查方法及网关装置、汽车
技术领域
[0001]本发明涉及车辆技术领域,具体涉及一种网关防火墙健康检查的信号索引方法及装置、汽车。背景技术
[0002]随着智能网联的发展,车网安全问题日益突出。一方面车辆对外接口越来越多(例如OBD,Wi-Fi,4G等),在提供丰富应用的同时,风险源也越来越多;另一方面,车内网络也增加了更多的功能和选项使得车内网更加复杂,车内网安全问题也日益收到工业界重视。[0003]汽车的CAN总线(控制器局域网络,Controller Area Network Bus)上以高频率运行着数百个不同的CAN报文,车内各个ECU(Electronic Control Unit,电子控制单元)之间的信号通过CAN报文传送。网关(Gateway)作为车辆内外网络分界的关口和车内网通讯的要塞,开发基于网关的安全防护功能(防火墙)是目前各个车厂都十分重视的研发领域。[0004]为了确保CAN总线中传输的信号值安全可信,网关防火墙中设计了健康检查模块,网关收到一个CAN报文后,该健康检查模块会对相应的信号做严格检查,包括报文长度、信号大小范围,对不符合定义的信号进行丢弃和记录。
[0005]传统以太网防火墙的报文健康检查是基于专有的软件或芯片进行的,由于需要检索的报文与规则数量较大,因此为了满足网络通讯的实时性需要消耗大量的CPU、内存等计算资源。而市场上已有的车内网网关防火墙,受限于网关芯片的CPU计算能力与内存大小,基本只实现了黑名单规则过滤等基本功能,无法实现进一步的报文健康检查等高级功能。发明内容
[0006]本发明目的在于提供一种汽车网关防火墙报文健康检查方法及网关装置、汽车,以解决目前汽车网关防火墙报文健康检查需要耗费大量CPU、内存等计算资源的技术问题。[0007]为了实现本发明目的,本发明第一方面提供一种汽车网关防火墙报文健康检查方法,包括如下步骤:
接收CAN报文,并根据所述CAN报文生成中断信号;根据所述中断信号获取中断邮箱的邮箱索引号;
根据所述邮箱索引号获取所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值;
根据每个信号的位置信息和长度信息获取所述CAN报文的每个信号的信号值;将所述每个信号值和与其对应的预设标准信号值进行对比分析;根据所述对比分析结果判断所述CAN报文的信号值为有效或无效。[0008]在一些实施例中,所述根据所述邮箱索引号获取对应的预设标准信号值包括:
根据所述邮箱索引号查询控制信号索引表,获取所述CAN报文的每个信号对应的预设标准信号值;
其中,所述控制信号索引表包括有各类CAN报文的各信号所对应的信号信息以及各邮
4
CN 111224917 A
说 明 书
2/6页
箱索引号和相应信号信息之间的索引关系;所述信号信息包括信号的位置信息、信号的长度信息和预设标准信号值。[0009]在一些实施例中,所述根据所述邮箱索引号获取CAN报文每个信号的位置信息、长度信息和预设标准信号值包括:
根据所述邮箱索引号获取对应的CAN报文的控制信号索引起点和信号长度;根据所述控制信号索引起点和信号长度,查找所述控制信号索引表得到所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值。[0010]在一些实施例中,所述预设标准信号值包括CAN报文各信号对应的预设最大标准值和预设最小标准值。
[0011]在一些实施例中,所述将所述每个信号值和与其对应的预设标准信号值进行对比分析包括:
所述CAN报文的每个信号值和与其对应的预设最大标准值和预设最小标准值进行比较;若信号值大于等于预设最小标准值小于等于预设最大标准值,则对比分析结果为真;若信号值大于预设最大标准值或小于预设最小标准值,则对比分析结果为假。[0012]在一些实施例中,所述根据所述对比分析结果判断所述CAN报文的信号值为有效或无效包括:
若对比分析结果为真,则判断相应的信号值有效;若对比分析结果为假,则判断相应的信号值有效。
[0013]本发明第二方面提供一种用于实现第一方面所述方法的网关装置,包括:
包括处理器及与所述处理器连接的CAN模块、中断模块、服务模块、分析对比模块和判断模块;
所述处理器被配置为控制所述CAN模块、中断模块、服务模块、分析对比模块和判断模块工作;
所述CAN模块被配置为接收CAN报文并根据所述CAN报文生成中断信号;所述中断模块被配置为根据所述中断信号获取中断邮箱的邮箱索引号;
所述服务模块被配置为根据所述邮箱索引号获取所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值,并根据每个信号的位置信息和长度信息获取所述CAN报文的每个信号的信号值;
所述分析对比模块被配置为将所述每个信号值和与其对应的预设标准信号值进行对比分析;
所述判断模块被配置为根据所述对比分析结果判断所述CAN报文的信号值为有效或无效。
[0014]在一些实施例中,所述装置还包括一数据存储模块,所述数据存储模块用于存储所述控制信号索引表。
[0015]在一些实施例中,还包括过滤器,所述过滤器用于根据CAN报文的标识符过滤CAN报文。
[0016]本发明第三方面提供一种汽车,包括第二方面所述的网关装置。[0017]以上实施例至少具有以下有益效果:
提供了一种汽车网关防火墙报文健康检查方法及网关装置、汽车,基于通信矩阵中对
5
CN 111224917 A
说 明 书
3/6页
所有信号的详细规定,对所有控制信号预先设定了相应的预设标准信号值;根据CAN 总线的邮箱接收中断,建立汽车控制相关CAN报文的控制信号索引表,通过快速查找所述控制信号索引表得到中断邮箱对应的预设标准信号值,读取接收到的CAN报文信号的信号值,根据该信号值和预设标准值的比较结果,快速判断该CAN报文的信号是否符合正常定义,检查内容包括报文长度、信号值大小范围等,对不符合定义的信号进行丢弃和记录。所述汽车网关防火墙报文健康检查方法及网关装置、汽车克服了传统报文健康检查方法计算量大效率低的问题,能够在计算资源受限的嵌入式系统网关上,实现对CAN总线上的所有控制信号进行健康检查。
附图说明
[0018]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本发明实施例一中所述汽车网关防火墙报文健康检查方法流程图。[0020]图2为本发明实施例一中所述控制信号索引表的索引结构示意图。[0021]图3为本发明实施例二中所述网关装置的框架示意图。[0022]图中元件标记:
处理器1,CAN模块2,中断模块3,服务模块4,分析对比模块5,判断模块6,数据存储模块7。
具体实施方式
[0023]以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。[0024]另外,为了更好的说明本发明,在下文的具体实施例中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的手段、元件和电路未作详细描述,以便于凸显本发明的主旨。[0025]本发明实施例一提供一种汽车网关防火墙报文健康检查方法,该方法可以应用于具有控制器局域网络系统(CAN总线系统)的汽车,汽车的控制器局域网络系统由多个电子控制单元(ECU)同时控制多个工作装置或系统,各电子控制单元的共用信息通过CAN总线互相传递。本实施例方法可以在车内网网关防火墙软件的报文健康检测功能的实现过程中,在十分有限的硬件资源限制下,对网关接收到的每一条CAN报文进行报文长度、信号值大小范围的检查,判断CAN报文是否健康。[0026]具体而言,如图1所示,所述方法包括如下步骤:
S100接收CAN报文,并根据所述CAN报文生成中断信号。[0027]其中,对于CAN报文的接收采用的是中断方式接收,当网关接收到一个CAN报文之后,就会向CPU触发一个中断信号,网关接收CAN报文的邮箱会产生中断接收,即在接收CAN报文之后停止接收其他CAN报文,直到邮箱为空,重新接收CAN报文。
6
CN 111224917 A[0028]
说 明 书
4/6页
S200根据所述中断信号获取中断邮箱的邮箱索引号。
[0029]其中,在CPU接收到所述中断信号之后,调出中断程序,中断程序读取中断邮箱的邮箱索引号。
[0030]S300根据所述邮箱索引号获取所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值。
[0031]S400根据每个信号的位置信息和长度信息获取所述CAN报文的每个信号的信号值。
[0032]S500将所述每个信号值和与其对应的预设标准信号值进行对比分析。[0033]S600根据所述对比分析结果判断所述CAN报文的信号值为有效或无效。[0034]具体而言,本实施例基于目前汽车网关防火墙报文健康检查受限于车内网网关嵌入式芯片的性能,为了便于在现有汽车网关芯片的性能基础上实现快速检查,本实施例方法基于通信矩阵中对所有信号的详细规定,对所有控制信号预先设定了相应的预设标准信号值,CAN模块具有多个邮箱,用于接收和发送CAN报文,而不同的邮箱可以被配置为接收具有特定ID的CAN报文,因此根据这些预设标准信号值和CAN模块的邮箱信息建立了一个控制信号索引表,根据中断邮箱的邮箱索引号,利用信号索引的方式来快速查找与网关接收到CAN报文对应的控制信号的预设标准值,并将网关接收到的CAN报文的信号值和查找到的预设标准值进行比对,最后根据比对结果来判断网关CAN模块接收到的CAN报文的信号值是否有效,从而克服了传统报文健康检查方法计算量大效率低的问题,能够在计算资源受限的嵌入式系统网关上,实现对CAN总线上的所有控制信号进行健康检查,确保CAN总线中传输的信号值安全可信。
[0035]在一些实施例中,所述步骤S300具体包括:
根据所述邮箱索引号查询控制信号索引表,获取所述CAN报文的每个信号对应的信号信息;其中,所述信号信息包括信号的位置信息、信号的长度信息和预设标准信号值。[0036]其中,如图2所示,所述控制信号索引表包括有各类CAN报文的各信号所对应的信号信息以及各邮箱索引号和相应信号信息之间的索引关系。例如,图2中邮箱索引号为0对应0号邮箱索引,0号邮箱索引对应信号索引ms0和信号索引me0,其中,ms0和me0对应不同控制信号。又例如,邮箱索引号为1对应1号邮箱索引,1号邮箱索引对应信号索引ms1和信号索引me1,其中,ms1和me1对应不同控制信号;又例如,邮箱索引号为n对应n号邮箱索引, n号邮箱索引对应信号索引msn和信号索引men,其中,msn和men对应不同控制信号。[0037]其中,所述步骤S300进一步具体包括:
根据所述邮箱索引号获取对应的CAN报文的控制信号索引起点和信号长度。[0038]根据所述控制信号索引起点和信号长度,查找所述控制信号索引表得到所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值。[0039]具体而言,通过图2所示的控制信号索引表,可以根据网关接收到的CAN报文和邮箱中断信号,确定控制信号索引起点和信号长度,并根据控制信号索引起点和信号长度快速地进行查询所述控制信号索引表得到预设标准值,并将预设标准值和接收到的CAN报文的信号值进行对比,快速检查判断接收到的CAN报文的信号值是否有效,快速判断该CAN报文的信号是否符合正常定义,检查内容包括报文长度、信号值大小范围等,对不符合定义的信号进行丢弃和记录。
7
CN 111224917 A[0040]
说 明 书
5/6页
在一些实施例中,所述预设标准信号值包括CAN报文各信号对应的预设最大标准
值和预设最小标准值。[0041]具体而言,汽车车内网通信矩阵中对所有控制信号都有详细规定,也就是说,所有控制信号都有相应的标准,据此,本实施例针对CAN报文每一控制信号均对应预先设置了预设最大标准值和预设最小标准值,以用作判断网关接收的CAN报文是否有效的基准。[0042]在一些实施例中,所述步骤S500包括:
所述CAN报文的每个信号值和与其对应的预设最大标准值和预设最小标准值进行比较。
[0043]若信号值大于等于预设最小标准值小于等于预设最大标准值,也就是处于了预设的范围内,则对比分析结果为真。
[0044]若信号值大于预设最大标准值或小于预设最小标准值,也就是超出了预设的范围,则对比分析结果为假。[0045]在一些实施例中,所述步骤S600包括:
若对比分析结果为真,则判断相应的信号值有效。[0046]若对比分析结果为假,则判断相应的信号值有效。
[0047]本发明第二方面提供一种用于实现第一方面所述方法的网关装置,如图3所示,该网关装置包括处理器及与所述处理器1连接的CAN模块2、中断模块3、服务模块4、分析对比模块5和判断模块6。[0048]其中,处理器1被配置为控制所述CAN模块、中断模块、服务模块、分析对比模块和判断模块工作;
其中,CAN模块2被配置为接收CAN报文并根据所述CAN报文生成中断信号。[0049]其中,中断模块3被配置为根据所述中断信号获取中断邮箱的邮箱索引号。[0050]其中,服务模块4被配置为根据所述邮箱索引号获取所述CAN报文的每个信号对应的位置信息、长度信息和预设标准信号值,并根据每个信号的位置信息和长度信息获取所述CAN报文的每个信号的信号值。[0051]其中,分析对比模块5被配置为将所述每个信号值和与其对应的预设标准信号值进行对比分析。[0052]其中,判断模块6被配置为根据所述对比分析结果判断所述CAN报文的信号值为有效或无效。
[0053]具体而言,本实施例中所述CAN模块对于CAN报文的接收采用的是中断方式接收,当网关CAN模块接收到一个CAN报文之后,就会向网关处理器触发一个中断信号,所述处理器接收到该中断信号后,控制中断模块根据该中断信号获取中断邮箱的邮箱索引号,邮箱索引号是预设设置的,例如图2中的0号索引邮箱、1号索引邮箱、2号索引邮箱…… n-1号索引邮箱、n号索引邮箱。
[0054]在一些实施例中,所述装置还包括一与所述处理器1连接的数据存储模块7,所述数据存储模块7用于存储所述控制信号索引表。[0055]在一些实施例中,还包括过滤器,所述过滤器用于根据CAN报文的标识符过滤CAN报文。需说明的是,使用本实施例装置运行所述方法时,需要将网关装置的CAN模块的邮箱配置为硬件滤波模式,使得CAN模块的每一个邮箱只接收具有相应ID(Identifier,标识符)
8
CN 111224917 A
说 明 书
6/6页
的CAN报文。
[0056]需说明的是,本申请实施例中,所述装置与上文实施例中的一种方法属于同一构思,在所述装置上可以运行所述方法实施例中提供的任一方法,其具体实现过程详见所述方法实施例,此处不再赘述。
[0057]本发明第三方面提供一种汽车,包括第二方面所述的网关装置。[0058]具体而言,所述汽车包括多条CAN总线和多个ECU,分别用于实现不同应用功能,例如驱动CAN总线、舒适CAN总线和信息娱乐CAN总线等等,ECU例如有发动机控制单元、ABS控制单元、ESP控制单元和变速器控制单元等等。其中,每一CAN总线包括CAN-High线和CAN-Low线;根据功能的不同,不同ECU对于CAN总线的数据传输性能也有所不同,不同CAN总线和连接在该CAN总线上的多个ECU组成一个CAN局域网络,由于不同的CAN总线的塑料和识别信号不同,因此不同的CAN局域网络之间的通讯则通过所述网关装置来实现,通过实施例二所述网关装置识别信号和速率,使得某一CAN局域网络的信号能被另一CAN局域网络所接收和识别;其中,信号的检查则有实施例一所述方法来实现,当使用实施例一的方法检查得到网关装置接收的一CAN总线发送过来的CAN报文信号值为真时,则将该CAN报文发送给另一CAN总线。
[0059]通过以上实施例的描述可知,本发明实施例提供了一种汽车网关防火墙报文健康检查方法及网关装置、汽车,基于通信矩阵中对所有信号的详细规定,对所有控制信号预先设定了相应的预设标准信号值。根据CAN 总线的邮箱接收中断,建立汽车控制相关CAN报文的控制信号索引表,通过快速查找所述控制信号索引表得到中断邮箱对应的预设标准信号值,读取接收到的CAN报文信号的信号值,根据该信号值和预设标准值的比较结果,快速判断该CAN报文的信号是否符合正常定义,检查内容包括报文长度、信号值大小范围等,对不符合定义的信号进行丢弃和记录。所述汽车网关防火墙报文健康检查方法及网关装置、汽车克服了传统报文健康检查方法计算量大效率低的问题,能够在计算资源受限的嵌入式系统网关上,实现对CAN总线上的所有控制信号进行健康检查。[0060]在本说明书的描述中,参考术语“一些实施例”等的描述意指结合所述实施例或示例描述的具体特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征可以在任何的一个或多个实施例或示例中以合适的方式结合。[0061]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
9
CN 111224917 A
说 明 书 附 图
1/2页
图1
10
CN 111224917 A
说 明 书 附 图
2/2页
图2
图3
11
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务