CN115150220A - 控制器局域网装置 - Google Patents
控制器局域网装置 Download PDFInfo
- Publication number
- CN115150220A CN115150220A CN202210187832.3A CN202210187832A CN115150220A CN 115150220 A CN115150220 A CN 115150220A CN 202210187832 A CN202210187832 A CN 202210187832A CN 115150220 A CN115150220 A CN 115150220A
- Authority
- CN
- China
- Prior art keywords
- identifier
- message
- signal
- transceiver
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000011664 signaling Effects 0.000 claims description 26
- 238000001514 detection method Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 230000002265 prevention Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000703 anti-shock Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
- H04L12/4135—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
一种控制器局域网CAN装置,其包括:比较模块,其被配置成与CAN收发器接合;CAN解码器,其被配置成对从RXD输入接口接收的CAN消息的标识符进行解码;标识符存储器,其被配置成存储对应于至少一个标识符的条目;比较逻辑,其被配置成将从CAN消息接收到的标识符与存储在所述标识符存储器中的所述条目进行比较,并且在匹配时输出匹配信号;信号发生器,其被配置成响应于所述匹配信号而输出信号以使所述CAN消息失效,其中所述信号从TXD输出接口输出到所述CAN收发器;并且其中由所述信号发生器产生的所述信号提供被定时的一个或多个显性位,使得紧接在FDF字段之后的位或所述FDF字段成为显性的。
Description
技术领域
本公开涉及控制器局域网装置。具体地说,一个或多个例子涉及一种控制器局域网装置,其被配置成与CAN收发器接合,例如耦合到CAN收发器或形成CAN收发器的部分,以使CAN消息失效。
背景技术
控制器局域网(CAN)总线是通常在汽车内使用的基于消息的通信总线协议。CAN总线协议用于实现各个电子控制单元(ECU)之间的通信,所述ECU例如发动机控制模块(ECM)、传动系控制模块(PCM)、安全气囊、防震刹车、定速巡航、电动助力转向、音频系统、窗户、门、后视镜调整、用于混合/电动汽车的电池和再充电系统等等。CAN协议的数据链路层被标准化为国际标准组织(ISO)11898-1。CAN FD,即CAN协议的扩展,是ISO11898-1:2015的部分。正在开发的是“CAN XL”,其计划在适当的时候集成到CAN协议中。
例如使用CAN总线协议的车载网络等车载网络的日益受到关注的一个问题是网络安全,包括入侵检测和入侵防护。例如,受损的车载网络可允许攻击者恶意地控制车辆的组件。
发明内容
根据本公开的第一方面,提供了一种控制器局域网CAN装置,其包括:
比较模块,其被配置成与被配置成耦合到CAN总线的CAN收发器接合,所述比较模块具有;
接收数据RXD输入接口,其被配置成从所述CAN收发器接收数据;
传输数据TXD输出接口,其被配置成将数据输出到所述CAN收发器;
CAN解码器,其被配置成对从RXD输入接口接收的CAN消息的标识符进行解码;
标识符存储器,其被配置成存储对应于至少一个标识符的条目;
比较逻辑,其被配置成将从CAN消息接收到的标识符与存储在所述标识符存储器中的所述条目进行比较,并且在比较指示所述CAN消息的接收到的标识符与存储在所述CAN装置处的所述条目匹配时输出匹配信号;
信号发生器,其被配置成响应于所述匹配信号而输出信号以使所述CAN消息失效,其中所述信号从所述TXD输出接口输出到所述CAN收发器;
其中由所述信号发生器产生的所述信号提供被定时的一个或多个显性位,使得以下情况中的至少一个:紧接在FDF字段之后的位位置处的一个或多个位成为显性的;以及所述FDF字段成为显性的。
在一个或多个实施例中,所述信号被配置成使得所述CAN收发器将信令提供到所述CAN总线,所述信令提供所述被定时的一个或多个显性位,使得至少紧接在FDF字段或所述CAN消息的FDF字段之后的所述位成为显性的。
在一个或多个实施例中,所述信号发生器被配置成将信令提供到所述CAN总线,所述信令提供所述被定时的一个或多个显性位,使得至少紧接在FDF字段或所述CAN消息的FDF字段之后的所述位成为显性的。
在一个或多个实施例中,
所述CAN解码器另外被配置成对紧接在从所述RXD输入接口接收的CAN消息的FDF字段之后的所述位进行解码;
所述比较逻辑被配置成确定所述位是否为隐性的,并且在所述位为隐性时输出禁用信号;并且
响应于所述禁用信号,所述CAN装置被配置成阻止由所述CAN收发器向所述CAN总线进行传输,直到出现ACK时隙的开始或直到出现所述总线上使用的位速率低于阈值速率的指示为止。
在一个或多个例子中,在所述总线上使用的所述位速率低于阈值速率的所述指示包括所述CAN装置被配置成指示使用经典CAN位速率的信息,所述经典CAN位速率即不是由CAN FD和CAN XL提供的较快速率。
在一个或多个实施例中,所述CAN装置被配置成通过以下各项中的一个或多个阻止由所述CAN收发器进行的传输:
阻止来自CAN协议控制器的信令向前传输到所述CAN收发器,其中比较模块另外包括传输数据TXD输入接口,所述TXD输入接口被配置成从所述CAN协议控制器接收数据;
将指示其不产生用于所述CAN收发器的信令的消息传输到所述CAN协议控制器,直到出现所述ACK时隙的所述开始或直到出现所述总线上使用的所述位速率低于阈值速率的所述指示为止;
禁用所述CAN收发器的一个或多个传输器,所述一个或多个传输器用于将信令传输到所述CAN总线。
在一个或多个实施例中,所述标识符存储器被配置成存储以下各项中的一个或两个:
a)一个或多个标识符;以及
b)对应于一组标识符的标识符掩码。
在一个或多个实施例中,所述比较逻辑另外被配置成在所述比较指示所述CAN消息的所述接收到的标识符与存储在所述CAN装置处的所述条目匹配并且所述CAN装置目前不传输具有所述接收到的标识符的CAN消息时输出所述匹配信号。
在一个或多个实施例中,所述比较模块另外包括传输数据TXD输入接口,所述TXD输入接口被配置成从CAN协议控制器接收数据,并且其中所述比较逻辑另外被配置成使用在所述TXD输入接口处接收到的CAN消息的标识符填充所述标识符存储器。
在一个或多个实施例中,所述信号发生器另外被配置成将错误信号传输到所述CAN总线上,所述错误信号在帧结束字段中。
根据本公开的第二方面,我们公开了一种用于控制控制器局域网CAN业务的方法,所述方法包括:
在CAN装置处接收CAN消息的标识符,所述标识符在所述CAN装置处经由CAN总线接收;
将所述CAN消息的所述标识符与所述CAN装置处的标识符存储器中的条目进行比较;
在比较指示来自所述CAN消息的所述标识符与所述标识符存储器中的所述条目匹配时,输出匹配信号;以及
通过响应于所述匹配信号而产生使所述CAN消息失效的信号来使所述CAN消息失效,其中由所述信号发生器产生的所述信号提供以下情况中的至少一个:紧接在FDF字段之后的位位置处的一个或多个位成为显性的;以及所述FDF字段成为显性的。
在一个或多个实施例中,所述信号被配置成使得所述CAN收发器将信令提供到所述CAN总线,所述信令提供所述被定时的一个或多个显性位,使得至少紧接在FDF字段或FDF字段位之后的所述位成为显性的。
在一个或多个实施例中,将所述失效信号提供到所述CAN总线。
在一个或多个实施例中,所述方法包括:
对紧接在所述CAN消息的FDF字段之后的所述位进行解码;
确定紧接在所述FDF字段之后的所述位是否为隐性的;
在紧接在所述FDF字段之后的所述位为隐性时,输出禁用信号;以及
响应于所述禁用信号,阻止由所述CAN收发器向所述CAN总线进行传输,直到出现ACK时隙的开始或直到出现所述总线上使用的位速率低于阈值速率的指示为止。
在一个或多个实施例中,所述CAN装置被配置成通过以下各项中的一个或多个阻止由所述CAN收发器进行的传输:
阻止来自CAN协议控制器的信令向前传输到所述CAN收发器;
将指示其不产生用于所述CAN收发器的信令的消息传输到所述CAN协议控制器,直到出现所述ACK时隙的所述开始或直到出现所述总线上使用的所述位速率低于阈值速率的所述指示为止;
禁用所述CAN收发器的一个或多个传输器,所述一个或多个传输器用于将信令传输到所述CAN总线。
虽然本公开容许各种修改和替代形式,但是本公开的细节已借助于例子在附图中示出并且将进行详细描述。然而,应理解,超出所描述的特定实施例的其它实施例也是可能的。也涵盖属于所附权利要求书的精神和范围内的所有修改、等效物和替代实施例。
以上论述并非旨在表示当前或未来权利要求集的范围内的每个示例实施例或每个实施方案。以下图式和具体实施方式还举例说明了各种示例实施例。结合附图考虑以下具体实施方式可以更全面地理解各种示例实施例。
附图说明
现将仅借助于例子参考附图描述一个或多个实施例,在附图中:
图1描绘包括连接到CAN总线的多个CAN节点的示例CAN网络。
图2描绘来自图1的一个CAN节点的放大图。
图3A描绘在CAN正常模式中使用的ISO 11898-1帧的格式。
图3B描绘在CAN FD模式中使用的ISO 11898-1帧的格式。
图4A描绘标准CAN帧的IDENTIFIER字段。
图4B描绘扩展CAN帧的IDENTIFIER字段。
图5描绘被配置成实施入侵检测/防护技术的CAN节点的实施例。
图6描绘图5的比较模块的实施例。
图7描绘集成到CAN收发器中的比较模块的实施例。
图8是示出第一入侵检测/防护情境的CAN节点与攻击者节点之间的消息和信号业务的信号时间线。
图9是示出第二入侵检测/防护情境的CAN节点与攻击者节点之间的消息和信号业务的信号时间线。
图10示出示例流程图,其示出CAN装置实施本文所描述的技术的实行。
图11描绘CAN节点的实施例,所述CAN节点包括比较模块和集成到微控制器IC装置中的信号发生器。
图12描绘CAN节点的实施例,所述CAN节点包括比较模块和集成到微控制器IC装置中的信号发生器。
图13描绘CAN节点的实施例,其中CAN收发器、CAN协议控制器、比较模块和信号发生器集成到单个IC装置中。
图14描绘CAN节点的实施例,其中CAN收发器、CAN协议控制器、主机和比较模块集成到单个IC装置中。
图15是用于在CAN网络中实施入侵检测/防护的技术的过程流程图。
图16是用于填充用于在CAN网络中实施入侵检测/防护的标识符存储器的技术的过程流程图。
图17是用于在通过另一节点传输CAN XL帧期间控制由CAN节点进行的传输的技术的过程流程图。
具体实施方式
图1描绘包括多个CAN节点102的CAN网络100,所述CAN节点102也被称作“ECU”,每个ECU连接到CAN总线104。在图1的实施例中,每个CAN节点包括微控制器110,所述微控制器110具有嵌入的CAN协议控制器114和CAN收发器120。微控制器通常连接到至少一个装置(未示出),例如传感器、致动器或一些其它控制装置,并且被编程为确定接收到的消息的含义并且产生适当的传出消息。本领域中已知还被称为主机处理器、主机或数字信号处理器(DSP)的微控制器。在一个实施例中,主机支持与CAN协议控制器相互作用的应用程序软件。
如本领域中已知,可以嵌入在微控制器110内或在微控制器(例如,单独的IC装置)外部的CAN协议控制器114实施数据链路层操作。例如,在接收操作中,CAN协议控制器存储从收发器接收到的串行位,直到全部消息可用于通过微控制器提取。CAN协议控制器还可以根据CAN协议的标准化帧格式对CAN消息进行解码。在传输操作中,CAN协议控制器从微控制器接收消息并且将消息作为呈CAN帧格式的串行位传输到CAN收发器。
CAN收发器120位于微控制器110与CAN总线104之间并且实施物理层操作。例如,在接收操作中,CAN收发器将来自CAN总线的模拟差分信号转换成CAN协议控制器114可以解译的串行数字信号。CAN收发器还保护CAN协议控制器免受CAN总线上的例如电浪涌之类的极端电气条件影响。在传输操作中,CAN收发器将从CAN协议控制器接收到的串行数字位转换成在CAN总线上发送的模拟差分信号。
CAN总线104携载模拟差分信号并且包括CAN高(CANH)总线线路124和CAN低(CANL)总线线路126。CAN总线在本领域中是已知的。
图2描绘来自图1的一个CAN节点102的放大图。在图2的放大图中,微控制器包括主机116,所述主机116可以是例如存储在微控制器的存储器中并且通过微控制器的处理电路执行的软件应用程序。微控制器110和CAN节点的CAN收发器120连接在电源电压VCC与接地GND之间。如图2所示,从微控制器传送到CAN收发器的数据被标识为传输数据(TXD),并且从CAN收发器传送到微控制器的数据被称为接收数据(RXD)。在整个描述中,TXD携带在TXD路径上并且RXD携带在RXD路径上。数据分别经由CANH总线线路124和CANL总线线路126传送到CAN总线以及从CAN总线传送。
如上文所提及,CAN协议控制器114可以被配置成支持正常模式或灵活数据速率模式。如本文所使用,“CAN正常模式”(也被称为“经典CAN模式”)是指根据ISO 11898-1标准格式化的帧,并且“CAN FD模式”是指根据ISO标准ISO11898-1:2015(协议)和ISO 11898-2(收发器)或其等效物格式化的帧。
图3A描绘在CAN正常模式中使用的ISO 11898-1帧130的格式(呈经典的基础帧格式(CBFF)或标准格式),并且图3B描绘在CAN FD模式中使用的ISO 11898-1帧132的格式(呈FD基础帧格式或FBFF)。CAN正常模式和CAN FD模式帧的字段可以如下定义:
SOF:帧起始(始终是显性的)
IDENTIFIER:限定消息内容的标识符位
RTR:远程传输请求
IDE:ID扩展
r0:预留位0(由呈CAN FD格式的FDF代替)
FDF:FD格式(这是区分帧格式的位)
BRS:波特率开关
ESI:错误状态指示符
DLC:数据长度代码
Data:数据字节
CRC:循环冗余校验
CRC Del:CRC分隔符(始终是隐性的)
ACK:确认
ACK Del:确认分隔符
EOF:帧结束
还存在被称为“经典扩展帧格式(CEFF)”的经典帧格式的另一版本,其中FDF位在旧r1位置,而FDF位在CBFF中的r0位置。还存在“FD扩展帧格式(FEFF)”,其中“扩展”是指29位标识符。
CAN协议使用CAN帧内的预留位(r0或r1)(通常也被称为FDF位)以将帧标识为CANFD模式帧。具体地说,FDF位是指示帧是CAN正常模式帧(ISO 11898-1)还是CAN FD模式帧(ISO11898-2:2015)的1位字段。
当FDF位是显性的(例如,低或“0”)时,帧是CAN正常模式帧并且当FDF位是隐性的(例如,高或“1”)时,帧是CAN FD模式帧。在CAN正常模式帧中,预留位(r0、r1)始终显性地驱动到总线线路。
CAN消息是广播消息并且标识符对于发送器CAN节点是唯一的。接收CAN节点的CAN协议控制器具有标识符过滤器,所述标识符过滤器被“调谐”到某些标识符以确保主机接收相关消息并且不受无关消息的干扰。标准CAN帧具有11位IDENTIFIER字段以携带11位标识符并且扩展CAN帧具有29位IDENTIFIER字段以携带29位标识符。在图4A中描绘了标准CAN帧的IDENTIFIER字段152,并且在图4B中描绘了扩展CAN帧的IDENTIFIER字段。如图4B所示,29位IDENTIFIER字段被划分成两个区段,即11位基础IDENTIFIER字段154和18位扩展IDENTIFIER字段156。
如上文所陈述,车载网络的安全性日益受到关注。为了检测和防止CAN网络上的此攻击,CAN节点可以被配置成存储通过CAN节点自身发送的CAN消息的标识符,并且另外被配置成将传入CAN消息的标识符与所存储的标识符进行比较以确定任何传入CAN消息是否具有匹配标识符。由于标识符对于每个CAN节点是唯一的,因此如果接收到的标识符与所存储的标识符匹配,则接收CAN节点可以认为CAN消息来自入侵者,并且可以采取动作以阻止入侵。例如,响应于检测到接收到的标识符与所存储的标识符之间的匹配,CAN节点可以被配置成立即将失效信号发送到CAN总线上,以阻止恶意CAN消息被CAN总线上的任何CAN节点成功地和/或完全地接收,例如,以使CAN消息失效、被破坏和/或终止。应用此类技术,仅使用特定标识符的原始CAN节点可以在没有使CAN消息失效、破坏和/或终止的情况下发送具有所述标识符的CAN消息。
使用上述技术,CAN节点仅需要存储从所述特定CAN节点发送的CAN消息的标识符。也就是说,CAN节点仅需要存储一个条目,例如,从CAN节点发送并且受到攻击者干扰的最后一个CAN消息的标识符。在另一实施例中,CAN节点可以被配置成存储已经从相应CAN节点发送的多个不同标识符,例如,已经随时间推移从特定CAN节点发送的所有不同标识符。假设CAN节点自身不传输CAN消息,则在CAN节点处接收到的具有匹配标识符的任何CAN消息可能由CAN节点通过例如将例如错误标记之类的错误信号传输到CAN总线上而失效。在实施例中,足以存储多达三十二个不同标识符的存储器在灵活性与硬件资源需求(例如,管芯空间要求)之间提供了良好的平衡。在另一实施例中,标识符存储器填充有对应于一组标识符的至少一个掩码。例如,标识符存储器包括掩码寄存器,所述掩码寄存器允许掩码寄存器的每个位被设置成“1”、“0”或“不被注意”。掩码寄存器可以包括足够的位以覆盖整个标识符或仅覆盖标识符的一部分。在使用标识符存储器中的掩码寄存器的实施例中,掩码寄存器可以是可编程的。在操作中,将来自传入CAN消息的标识符与掩码进行比较,并且如果标识符与掩码匹配,则输出匹配信号。在实施例中,所关注的CAN消息是CAN“数据帧”,因为这些是携带有效载荷数据(例如,在DATA字段中)的CAN消息。如所属领域已知并且在CAN协议中所描述的,CAN“数据帧”是具有设置成“0”的RTR位的CAN帧。另一方面,CAN“远程帧”可能不受关注,并且可能不包括在标识符存储器中或不检查匹配,因为CAN远程帧不携带有效载荷(例如,它们不包括DATA字段)。如所属领域已知并且在CAN协议中所描述的,CAN“远程帧”是具有设置成“1”的RTR位的CAN帧。
图5描绘示例CAN节点102。CAN节点包括如上文参考图1所描述的CAN收发器120、CAN协议控制器114和主机116。在本公开的例子中,提供了比较模块160。比较模块可以是CAN收发器120的部分。然而,在示例图5中,所述比较模块示出为CAN收发器120与CAN协议控制器114之间的单独块。
参考图5,比较模块160可位于CAN收发器与CAN协议控制器之间的数据路径中。比较模块包括标识符存储器162,并且被配置成对在CAN总线104上接收到的CAN消息(例如,RXD路径上的CAN消息)的标识符进行解码,并且将CAN消息的标识符与存储在标识符存储器中的条目(例如,标识符或掩码)进行比较。如图5所示,比较模块位于CAN协议控制器前面,使得可以在CAN协议控制器处完全接收CAN消息之前以及在将任何对应消息提供到主机之前进行比较。如果比较指示来自CAN消息的标识符与所存储的条目(例如,标识符或掩码)匹配并且假设CAN节点自身不传输CAN消息,则从比较模块输出匹配信号。在实施例中,在将对应消息提供到主机之前,匹配信号触发CAN装置以使传入CAN消息失效、被破坏和/或终止以阻止CAN消息实施CAN节点自身内和/或CAN网络中的其它CAN节点内的任何恶意活动。
在实施例中,比较模块160对传出CAN消息(例如,TXD路径上的CAN消息)进行解码,并且用解码后的标识符填充标识符存储器。例如,比较模块将已经成功地传输到CAN总线上并且尚未存储在标识符存储器中的每个标识符添加到标识符存储器。在实施例中,仅在CAN协议控制器没有丢失仲裁时,例如CAN协议控制器在仲裁字段之后仍处于传输模式,在TXD路径上接收到的标识符才存储在标识符存储器中。这是因为在CAN协议控制器丢失仲裁时,TXD路径上的标识符的后续位都被设置成“1”。在实施例中,比较模块可以与TXD路径断开连接以排除仲裁效应。在另一实施例中,比较逻辑被配置成确认在TXD路径上接收到的标识符与在RXD路径上接收到的标识符相同,例如,仲裁未丢失的指示。
图6描绘图5的比较模块160的实施例。图6的比较模块包括标识符存储器162、比较逻辑164、CAN解码器166、TXD输入接口168A、TXD输出接口168B、RXD输入接口170A和RXD输出接口170B。RXD输入接口被配置成从RXD路径接收数据,并且TXD输入接口被配置成从TXD路径接收数据。标识符存储器可以被配置成以允许快速搜索标识符的方式将条目存储为标识符。多个标识符还可以存储在标识符存储器中。标识符存储器可以被配置成将条目存储为允许匹配一组标识符的掩码。多个掩码还可存储在标识符存储器中。在实施例中,标识符存储器是如所属领域中已知的内容可寻址存储器(CAM),但其它存储器类型也是可能的。在实施例中,标识符存储器被写入保护并且仅被写入一次,例如,由车辆制造商写入。在一个实施例中,标识符存储器被设定大小以存储单个标识符,并且在其它实施例中,标识符存储器被设定大小以存储多个标识符,例如,多达三十二个标识符。
CAN解码器166被配置成根据CAN协议对串行数据(例如,RXD和TXD)进行解码并且分析CAN消息的标识符。CAN解码器可以包括具有对所提议的CAN XL消息格式进行解码的能力,并且任选地具有对CAN FD消息格式进行解码的能力的CAN解码器。应了解,比较模块被配置成执行如本文所描述的读取标识符和输出匹配信号的特定任务。因此,比较模块的CAN解码器166可以被配置成或可以不被配置成对所有接收到的消息进行解码。因此,在一些例子中,CAN解码器166可以包括基本CAN解码器166,所述基本CAN解码器166包括具有提取标识符字段的功能并且可能缺乏提取、读取或处理消息的其它部分的功能的CAN解码器166。比较逻辑被配置成将从CAN消息接收到的标识符与标识符存储器中的所存储的一个(或多个)标识符进行比较,并且在比较指示CAN消息的接收到的标识符与所存储的标识符匹配时输出“匹配”信号。在实施例中,匹配信号触发CAN节点以在CAN协议控制器处完全且成功地接收到CAN消息之前使CAN消息失效、被破坏和/或终止。
在CAN XL中,位时间可以是“快速”或“缓慢”的,其中快速位(较短的位时间)可以包括由CAN XL提供的较高数据速率位,并且缓慢位(较长的位时间)可以包括提供用于与CAN和CAN FD的兼容的位。因此,接口可以提供“快速”和“缓慢”通信。CAN收发器、CAN装置或CAN协议控制器的一个或多个组件可以被配置成提供在任何一个时间是使用快速位速率还是缓慢位速率的指示。如在CAN和CAN FD中,接口可以不仅是一个位宽。
在一个示例实施例中,CAN装置被配置成通过将例如错误标记之类的错误信号发送到CAN总线上来使CAN总线上的可疑CAN消息失效。将例如错误标记之类的错误信号发送到CAN总线上将使得不正确地处理可疑CAN消息,由此使可疑CAN消息失效。
在实施例中,可以使用错误标记使CAN消息失效,所述错误标记包括由CAN节点102传输的紧接在CAN消息的FDF字段之后的显性位。在图3B中,紧接在FDF字段之后的位被标示为r0,并且还被称为呈CAN FD帧格式的RES。因此,在一个或多个例子中,在FDF字段中的隐性位之后,通过在隐性FDF位之后的位位置,即帧中的RES位置中发送显性位而使CAN消息失效。
在提供CAN和CAN FD规范的扩展的所提议的CAN XL规范中,提议CAN FD帧的RES字段(包括CAN FD帧中的位)用于在CAN FD帧与CAN XL帧之间作出区分。在CAN XL中,RES字段另外被称为XLF字段。
RES字段(位)在CAN FD帧中是显性的,并且它在CAN XL帧中是隐性的。当传输CANXL帧的节点对显性RES位进行采样时,传输CAN XL帧的节点将丢失仲裁并且将变成CAN FD帧的接收器。
因此,通过传输紧接在FDF位之后的位位置,即RES位位置(在示例图3B中标记为r0)中的显性位可使可能包括根据所提议的CAN XL规范的CAN消息的CAN消息失效,这具有阻止耦合到总线的其它CAN节点将CAN消息识别为CAN XL消息的作用。在其它例子中,可以传输多个显性位。
因此,对于CAN XL消息,FDF字段包括隐性位并且RES字段(在CAN FD中命名)或XLF字段(相同位位置,但在CAN XL中命名)包括隐性位。当此类消息被标识为失效或不良(rogue)时,通过所述CAN装置传输显性位以“覆写”紧接在FDF字段之后的位位置中的隐性位,或换句话说,覆写隐性XLF位来实现失效。
在一个或多个例子中,可以使用错误标记使CAN消息失效,所述错误标记包括由CAN节点102传输RES位位置中的显性位,如图3A中的r0所示。这将具有使得其它节点认为CAN XL消息是标准CAN消息的作用。
因此,其它CAN节点的CAN协议控制器114不会将其帧格式解码从CAN或CAN FD切换到所提议的CAN XL帧格式。根据CAN或CAN FD规范执行帧格式解码时,不良或失效CAN XL帧将无法正确地进行解码,并且因此实际上是失效的。因此,耦合到总线104的所有其它节点的CAN协议控制器114被配置成在接收到紧接在FDF位之后的位位置中的显性位时,将接收到的CAN消息解码为CAN FD消息。因此,当所述CAN消息实际上是CAN XL消息但是紧接在FDF字段位之后的“XLF”位已经通过CAN节点120中的一个节点的动作而改变时,所述CAN消息将不会被正确地解码或使得在其它CAN节点120的CAN协议控制器114中产生错误,并且因此其DATA部分将不会被正确地解码。类似地,如果图3A所示的隐性r0位通过CAN装置的动作成为显性的,则耦合到总线104的所有其它节点的CAN协议控制器114被配置成在接收到FDF位位置中的显性位时,将接收到的CAN消息解码为CAN消息。
这可能是有利的,因为这样为CAN节点102提供了一种从总线接收CAN消息的方式,并且通过CAN消息的标识符将其识别为可疑CAN消息,并且如果所述CAN消息是CAN XL消息或包括指定转换到CAN总线上使用CAN XL的信息,则应通过在CAN总线上传输与所述CAN消息的RES或“XLF字段”位一致的显性位来至少部分地阻止由其它CAN节点对所述CAN消息(即CAN消息的CAN XL部分)进行解码。
响应于匹配信号,可以不同方式实现用于使包括紧接在FDF位之后的隐性位的预留位成为显性(或FDF位)的装置。例如,所描述的功能可以是CAN收发器的部分,并且因此可以通过控制CAN收发器的传输器提供信令。在一个或多个其它例子中,可以提供存在于CAN收发器中的不同传输器以用于使紧接在FDF位之后的位成为显性的。下文将描述其它例子。
应了解,在一些例子中,还可以采用根据CAN FD规范的额外失效技术。额外失效技术可以包括发送另外的错误信号,因为EOF字段中的单个显性位将足以使CAN总线上的CAN消息失效。使EOF字段中的CAN消息失效可能是有益的,因为CRC已经被处理并且因此可以确保(具有对应标识符的)错误的CAN消息例如由于标识符字段中的接收错误而尚未失效。使用例如少于6个位之类的少量位使CAN消息失效也可能是有益的,这将产生错误标记。
在示例实施例中,比较模块160的比较逻辑164还被配置成确定CAN节点自身是否传输具有接收到的标识符的CAN消息。例如,比较逻辑可监测TXD输入接口168A或监测来自协议控制器114的传输状态信号。如果CAN节点主动地传输CAN消息,则预期CAN收发器120还将接收相同的CAN消息,并且比较模块的CAN解码器166将接收相同的标识符。因此,在实施例中,比较逻辑被配置成仅在接收到的标识符与所存储的标识符之间存在匹配时并且在CAN节点不主动地传输CAN消息时,才输出匹配信号。
在实施例中,存储在标识符存储器中的标识符被限制为应该从CAN装置传输的那些标识符。在另一实施例中,存储在标识符存储器中的标识符被限制成实际上已经成功地在CAN总线上传输的那些标识符。在实施例中,使用已经成功地在CAN总线上传输的那些标识符自动地填充标识符存储器。
在另一实施例中,可以直接从主机116填充比较模块160的标识符存储器162。例如,比较模块可以包括替代接口172(参见图6),例如SPI接口,其用于直接从主机接收标识符以填充标识符存储器。如果替代接口用于填充标识符存储器,则可能不需要比较模块上的TXD输入接口和TXD输出接口。另外,尽管图6的比较模块包括RXD输入接口和RXD输出接口,但取决于实施方案,例如将比较模块连接到RXD路径的方式,可能不需要RXD输出接口。同样地,尽管图6的比较模块包括TXD输入接口和TXD输出接口,但取决于实施方案,例如将比较模块连接到TXD路径的方式,可能不需要TXD输出接口。例如,如图7的实施例所示,分别经由RXD输入接口和TXD输入接口将RXD路径和TXD路径拼接到比较模块中。
图7描绘可如何将例如参考图5和6所描述的比较模块160之类的比较模块集成到CAN收发器120中的实施例。CAN收发器120包括接收器136、传输器138、RXD接口140、TXD接口142和具有CANH总线接口146和CANL总线接口148的CAN总线接口144。在CAN总线接口处接收的传入CAN业务(例如,RXD)经由接收器被传递到RXD接口140,并且在TXD接口142处接收的传出CAN业务(例如,TXD)经由传输器被传输离开CAN总线接口。如图7所示,比较模块的RXD输入接口170A连接到RXD路径,并且比较模块的TXD输入接口168A连接到TXD路径。在图7的实施例中,CAN收发器还包括信号发生器174,所述信号发生器174被配置成产生用于在CAN总线104上传输的信号,例如上文所描述的错误标记。在实施例中,CAN收发器是可以连接到印刷电路板(PCB)上的微控制器IC装置的离散独立集成电路(IC)装置。
在操作中,标识符存储器162经由TXD路径填充,并且RXD路径上的来自接收到的CAN消息的标识符由CAN解码器166进行解码并且由比较逻辑164检查。如果响应于通过比较逻辑将标识符与所存储的标识符进行比较而产生匹配信号,则将匹配信号提供到信号发生器174,所述信号发生器174被配置成产生错误标记以使传入CAN消息失效、被破坏和/或终止。尽管在图6和7中未示出,在一些实施例中,信号发生器是比较模块的一部分,在其它实施例中,信号发生器与比较模块分离。在实施例中,用于实施比较模块和信号发生器的硬件电路与用于实施CAN收发器的电路被制造在同一衬底上,并且这些电路被封装到单个IC装置中以提供单芯片安全解决方案。
在一个或多个例子中,由信号发生器174产生的信号被配置成使所述CAN收发器120或其传输器138将信令提供到CAN总线,所述信令提供所述被定时的一个或多个显性位,使得至少紧跟在CAN消息的FDF位之后的位位置成为显性的。因此,信号发生器可用于“发指令给(instruct)”CAN收发器。
在一个或多个例子中,所述信号发生器被配置成将信令提供到所述CAN总线,所述信令提供所述被定时的一个或多个显性位,使得至少紧跟在CAN消息的FDF位之后的位位置成为显性的(从隐性改变为显性)。因此,信号发生器可具有到CAN总线的连接以直接应用信令,例如,在不使用从节点传输CAN消息的CAN收发器的一个或多个传输器138的情况下。
如上文所描述,将比较模块包括在CAN节点中使得CAN节点能够实施入侵检测/保护。下文参考图8和9描述用于使用比较模块实施入侵检测/保护的两种情境。图8和9示出CAN XL交换,其中错误管理处于活动状态。通过关闭错误管理可能会应用不同的过程。图8是示出第一入侵检测/防护情境的CAN节点102(CAN节点1和2与攻击者节点)之间的消息和信号业务的信号时间线。在图8的例子中,CAN节点1被配置有仅存储单个标识符的比较模块(未示出)。在时间1时,CAN节点1将带有ID=0x3a4的CAN消息发送到CAN总线上,并且将标识符存储在标识符存储器中。在时间2时,攻击者节点发送错误标记。在时间3时,迫使CAN节点1发送带有ID=0x3a4的另一CAN消息(由于时间2时的错误标记),并且在时间4时,攻击者节点发送另一错误标记。如由CAN协议所规定,在时间3和4时的操作在时间5-32时重复十五次以上。在时间33处,CAN节点1进入“错误被动”状态,并且在重复三十二次“总线关闭”状态后,不再允许CAN节点发送由CAN协议指定的CAN消息。在时间34时,攻击者节点发送带有ID=0x3a4的CAN消息以尝试渗入CAN网络。然而,在时间35时,配备有如上文所描述的比较模块的CAN节点1在接收到的CAN消息的标识符与所存储的标识符匹配时产生匹配信号,并且CAN节点采取动作以使CAN消息失效、被破坏和/或终止。例如,响应于匹配信号,CAN节点1产生错误标记(例如,经由例如图7所示的信号发生器174)并且将错误标记传输到CAN总线上。错误标记通过如上文所描述的其它CAN节点阻止对CAN XL消息进行解码。
图9是示出第二入侵检测/防护情境的CAN节点(CAN节点1和2与攻击者节点)之间的消息和信号业务的信号时间线。在图9的例子中,CAN节点1被配置有存储多个标识符的比较模块(未示出)。在时间1时,CAN节点1将带有ID=0x2f0的CAN消息发送到CAN总线上,在时间2时,CAN节点1将带有ID=0x3a4的CAN消息发送到CAN总线上,并且在时间3时,CAN节点1将带有ID=0x145的CAN消息发送到CAN总线上。在实施例中,每次将CAN消息发送到CAN总线上时,通过发送CAN节点的比较模块对CAN消息的标识符进行解码,并且将新的标识符添加到标识符存储器中。在图9的例子中,标识符模块填充有三个不同的标识符(例如,标识符0x2f0、0x3a4和0x145)。在时间4时,攻击者节点发送具有ID=0x2f0的CAN消息以尝试渗入CAN网络。然而,在时间5时,配备有如上文所描述的比较模块的CAN节点1在接收到的CAN消息的标识符与所存储的标识符匹配时产生匹配信号,并且CAN节点采取动作以使CAN总线上的CAN消息失效、被破坏和/或终止。例如,响应于匹配信号,CAN节点1产生错误标记(例如,经由例如图7所示的信号发生器174)并且将错误标记传输到CAN总线上。错误标记通过如上文所描述的其它CAN节点阻止对CAN XL消息进行解码。
图10示出概述CAN装置的动作的实行的示例流程图。步骤1001表示通过攻击者在CAN总线上传输可疑CAN XL消息。FDF字段是隐性的。此外,紧接在FDF字段之后的字段(所谓的XLF字段)也是隐性的,用于将消息指定为CAN XL消息。步骤1002表示CAN装置从CAN总线接收消息,并且一旦接收到消息的标识符部分,就借助于匹配标识符将消息标识为可疑的。如上文所描述,CAN装置接着被配置成传输被定时的一个或多个显性位,使得相同CAN消息使其隐性XLF字段(也就是说,正在FDF字段之后的字段)成为显性的。因此,CAN节点已经使得由攻击者发送的CAN消息被其它节点视为非CANXL消息。步骤1003表示由其它CAN节点接收具有改变的XLF位的CAN消息(其实际上与CAN装置基本上同时发生)。这具有使CAN XL消息失效的作用,因为其它节点不会将其识别为CAN XL消息,并且因此其它CAN节点将不正确地接收CAN XL消息。
如上文参考图1和2所描述的,CAN节点通常包括CAN收发器、CAN协议控制器和主机。通常,CAN收发器体现为单独的IC装置,CAN协议控制器和主机体现为单独的微控制器IC装置,并且收发器IC和微控制器通过印刷电路板彼此连接以形成CAN节点。尽管描述了一个可能的集成水平,但可以各种不同方式实施上文所描述的入侵检测/防护技术。例如,比较模块和信号发生器可以按不同的组合与CAN收发器、CAN协议控制器和主机集成。
图11描绘CAN节点102的实施例,所述CAN节点102包括CAN收发器IC装置220、微控制器IC装置210和单独的主机116。在此实施例中,比较模块160和信号发生器174集成到CAN收发器IC装置中。如图11所示,匹配信号用于控制信号发生器以在TXD路径上产生错误标记。因此,上文所描述的入侵检测/保护技术可完全实施在CAN收发器IC装置内,由此提供具有单个CAN收发器IC装置或“芯片”的安全解决方案。
图12描绘CAN节点102的实施例,所述CAN节点102包括CAN收发器IC装置220、微控制器IC装置210和单独的主机116。比较模块160和信号发生器174集成到微控制器IC装置中。如图12所示,匹配信号用于控制信号发生器以在TXD路径上产生错误标记。因此,上文所描述的入侵检测/防护技术可完全实施在微控制器IC装置内,由此提供具有单个微控制器IC装置或“芯片”的安全解决方案。
图13描绘CAN节点102的实施例,其中CAN收发器120和CAN协议控制器114包括在单个微控制器IC装置210上。在此实施例中,比较模块160和信号发生器174也集成到相同的IC装置中。如图13所示,匹配信号用于控制信号发生器以在TXD路径上产生错误标记。因此,上文所描述的入侵检测/保护技术可完全实施在单个微控制器IC装置内,由此提供具有单个IC装置或“芯片”的安全解决方案。在如虚线190所指示的替代实施例中,可以将匹配信号提供到CAN协议控制器以触发协议控制器内的操作。在一个实施例中,匹配信号触发协议控制器以产生错误标记并且将错误标记输出到TXD路径上,在此情况下不需要单独的信号发生器。在另一实施例中,匹配信号仍然触发信号发生器以产生错误标记,但此外将匹配信号提供到CAN协议控制器,使得协议控制器可在将消息传递到主机之前局部地使传入的可疑CAN消息失效。在另一替代性实施例中,不存在额外的信号发生器,并且将匹配信号提供到CAN协议控制器,所述CAN协议控制器响应于匹配信号而产生错误标记。
图14描绘CAN节点的实施例,其中CAN收发器120、CAN协议控制器114和主机116包括在单个微控制器IC装置210上,所述微控制器IC装置构成CAN节点。在此实施例中,比较模块160集成到相同的微控制器IC装置中。如图14所示,将匹配信号发送到主机,所述主机接着可使用匹配信号来实施所需动作。例如,主机可以向CAN协议控制器发送信号,以产生输出到CAN总线上的错误标记,并且使传入的可疑CAN消息失效。因此,上文所描述的入侵检测/保护技术可完全实施在单个IC装置或“芯片”内。在替代性实施例中,如参考图7和11-13所描述,还可将匹配信号提供到CAN协议控制器和/或信号发生器(未示出)。尽管示出了一些示例配置,但其它配置也是可能的。
图15是用于在CAN网络中实施入侵检测/防护的技术的过程流程图。在框302处,对RXD进行解码并且解析CAN消息的标识符。在实施例中,在CAN装置处经由CAN总线接收标识符。在框304处,将标识符与标识符存储器中的条目进行比较。在决策点306处,确定标识符与所存储的标识符之间是否存在匹配。如果不存在匹配,则过程返回到框302。如果存在匹配,则在决策点308处,确定CAN节点是否主动地进行传输。如果CAN节点主动地进行传输,则过程返回到框302。过程至少返回到框202,因为认为接收到的标识符来自由CAN节点自身发送的CAN消息。如果CAN节点不主动地进行传输,则在框310处,输出匹配信号。在框312处,采取一些动作以使CAN消息失效。例如,如上文所描述,紧跟在FDF位位置之后的隐性位成为显性的,使得耦合到总线104的其它CAN节点中的CAN消息失效。
图16是用于填充用于在CAN网络中实施入侵检测/防护的标识符存储器的技术的过程流程图。在框320处,对TXD进行解码并且解析CAN消息的标识符。在决策点322处,确定标识符是否已经存储在标识符存储器中。如果标识符已经存储在标识符存储器中,则过程返回到框320。如果标识符尚未存储在标识符存储器中,则在框324处,将标识符添加到标识符存储器,并且过程返回到框320。
在实施例中,上文所描述的入侵检测/防护技术可以在CAN装置中实施,所述CAN装置例如CAN收发器IC装置、微控制器IC装置或包括CAN收发器和微控制器的IC装置。
图17公开可以由CAN节点102提供的另外的功能。在框330处,对RXD进行解码,即对从CAN总线接收的传入CAN消息进行解码。可标识并解析紧跟在FDF字段之后的位位置中的位。在决策点331处,确定紧跟在FDF字段之后的位位置中的位是否为隐性的。如果紧跟在FDF字段之后的位是显性的,则过程返回到框330,并且过程重复在RXD上接收到的下一CAN消息。如果紧跟在FDF字段之后的位是隐性的,则在框332处,CAN节点被配置成阻止由CAN节点进行的传输,直到出现ACK或确认时隙(参见图3A和3B中的ACK)为止或在另一实施例中,直到位速率已经从快速改变到缓慢为止。指定位速率变化速度的信息可由接收器136提供以示出总线是否处于CANXL快速阶段。因此,可使用小于快速速率并且高于或处于缓慢速率的阈值速率,使得在CAN缓慢速率阶段已经恢复时可以采取动作。过程返回到框330。因此,紧跟在FDF字段之后的隐性位提供用于对传输的所述阻止,而紧跟在FDF字段之后的显性位不会引起对传输的所述阻止。
图17的功能可以由比较模块160实施或可以由另一模块提供,所述另一模块可以是如上文关于比较模块160所公开的CAN收发器、CAN协议控制器或与其分离的模块的一部分。
为了在框332中实施由CAN节点进行的所述传输阻止,比较模块160可以被配置成在FDF之后的位的时间,即在FDF之后的位的结束的时间与ACK时隙的时间之间的时间段内不将TXD上接收到的信令从CAN协议控制器114传递到CAN收发器120。ACK时隙在图3A和图3B中示出为ACK和ACK DEL。在另一例子中,比较模块160(或另外的模块,取决于实施功能的方式)可以通过禁用CAN收发器的传输器来阻止所述传输。在另一例子中,比较模块160(或另外的模块,取决于实施功能的方式)可以通过将指示信号提供到CAN协议控制器来阻止所述传输。
因此,在一个或多个例子中,CAN解码器166或其它解码器另外被配置成对在从RXD输入接口接收的CAN消息的FDF位之后的位进行解码。比较逻辑164或其它比较逻辑被配置成确定FDF位之后的位是否为隐性的,并且在FDF位之后的位为隐性时输出禁用信号。响应于禁用信号,CAN装置被配置成阻止由CAN收发器120向CAN总线104进行传输,直到出现ACK时隙的开始为止。在替代方案中,直到位速率改变为“缓慢”CAN/CAN FD速率为止。因此,CAN解码器166或其它解码器可以被配置成观测所述CAN消息,并且在此后的时间观测所述ACK时隙或位速率变化。
在一个或多个例子中,CAN装置被配置成通过阻止来自CAN协议控制器114的信令向前传输到CAN收发器120来阻止由CAN收发器120进行的传输,其中比较模块160另外包括传输数据TXD输入接口168A,所述TXD输入接口168A被配置成从CAN协议控制器114接收数据。
在一个或多个例子中,CAN装置被配置成通过在ACK时隙开始之前将指示其不产生用于CAN收发器120的信令的消息传输到CAN协议控制器114来阻止CAN收发器120进行的传输。因此,CAN协议控制器114可以被配置成相应地响应于所述信令。
在一个或多个例子中,CAN装置被配置成通过禁用用于将信令传输到CAN总线104的CAN收发器120的一个或多个传输器138来阻止由CAN收发器120进行的传输。因此,传输器138可以包括使能终端,所述使能终端被配置成接收限定传输器138何时可以传输的信号。CAN装置可以被配置成控制或中断所述使能信号。
在实施例中,“CAN消息”是指CAN“数据帧”,它们是具有如在CAN协议中所规定的设置到“0”的RTR位的CAN帧。CAN“数据帧”是携带可能用于恶意意图的有效载荷数据(例如,在DATA字段中)的CAN帧,并且因此CAN“数据帧”对于监测入侵检测/防护来说非常重要。在协议中将RTR位设置成“1”的CAN帧被称作“远程帧”并且此类帧并不包括有效载荷数据,因为“远程帧”的功能是简单地请求具有相同标识符的CAN数据帧的传输。具有与对应的CAN数据帧相同的标识符的远程帧可以通过全部的其它CAN节点传输(例如,除了负责发送具有相同标识符的数据帧的CAN节点之外的全部CAN节点)。因此,存储传出CAN远程帧的标识符将是没有意义的,并且检查传入CAN远程帧以用于匹配标识符将是没有意义的。
在一些实施例中,标识符的所有位的匹配产生匹配信号。在其它实施例中,少于标识符的所有位的匹配可以产生匹配信号。
在实施例中,使CAN消息失效的上述功能适用于CAN、CAN-FD、CAN XL和ISO 11898兼容的网络。所述功能还可适用于通常在车辆中使用的其它网络协议,例如局域互连网络(LIN)和FLEXRAY协议。
根据例子,提供一种控制器局域网(CAN)装置,其包括被配置成与CAN收发器接合的比较模块。所述比较模块具有接收数据(RXD)接口、CAN解码器、标识符存储器、比较逻辑和信号发生器。接收数据(RXD)接口被配置成从CAN收发器接收数据。CAN解码器被配置成对从RXD接口接收的CAN消息的标识符进行解码。标识符存储器被配置成存储对应于至少一个标识符的条目。比较逻辑被配置成将来自CAN消息的接收到的标识符与存储在标识符存储器中的条目进行比较,并且在比较指示CAN消息的接收到的标识符与存储在CAN装置处的条目匹配时输出匹配信号。信号发生器被配置成响应于匹配信号而输出使CAN消息失效的信号。
根据例子,信号发生器产生错误信号以使CAN消息失效。根据例子,CAN装置另外被配置成将错误信号输出到CAN总线上以使CAN消息失效。根据例子,标识符存储器被配置成存储一个或多个标识符。根据例子,标识符存储器被配置成存储对应于一组标识符的标识符掩码。根据例子,比较逻辑另外被配置成在比较指示CAN消息的接收到的标识符与存储在CAN装置处的条目匹配并且CAN装置目前不传输具有接收到的标识符的CAN消息时输出匹配信号。根据例子,比较模块另外包括传输数据(TXD)输入接口,所述TXD输入接口被配置成从CAN协议控制器接收数据,并且其中比较逻辑另外被配置成使用在TXD输入接口处接收到的CAN消息的标识符填充标识符存储器。根据例子,如果标识符尚未存储在标识符存储器中,则将标识符添加到标识符存储器。根据例子,提供CAN收发器集成电路装置,其包括接收器、传输器、CAN总线接口、RXD接口、TXD接口和如上文所例示的CAN装置。根据例子,提供微控制器集成电路装置,其包括如上文所例示的CAN协议控制器和CAN装置。根据例子,提供集成电路装置,其包括CAN收发器、CAN协议控制器和如上文所例示的CAN装置。根据例子,提供一种用于控制控制器局域网(CAN)业务的方法。在CAN装置处接收CAN消息的标识符。在CAN装置处经由CAN总线接收标识符。将CAN消息的标识符与CAN装置处的标识符存储器中的条目进行比较。在比较指示来自CAN消息的标识符与标识符存储器中的条目匹配时,输出匹配信号。响应于匹配信号而使CAN消息失效。根据例子,使CAN消息失效包括将错误信号发送到CAN总线上。根据例子,使CAN消息失效包括通知CAN协议控制器以使CAN装置处的CAN消息失效。根据例子,将CAN消息的标识符与标识符存储器中的条目进行比较包括以下情况中的至少一个:将标识符与一个或多个所存储的标识符进行比较,或将标识符存储器与对应于一组标识符的掩码进行比较。根据例子,标识待从CAN装置传输的CAN消息的标识符,并且将标识符存储在CAN装置处的标识符存储器中。根据例子,在初始步骤中,对来自TXD路径的CAN消息的标识符进行解码,并且将解码后的标识符存储在CAN装置处的标识符存储器中。根据例子,如果标识符来自从CAN装置传输的CAN消息并且标识符尚未存储在标识符存储器中,则将标识符添加到标识符存储器。根据例子,在将CAN消息提供到CAN协议控制器之前,将CAN消息的标识符与标识符存储器中的条目进行比较。根据例子,提供一种控制器局域网(CAN)装置,其包括CAN收发器、CAN协议控制器和比较模块。比较模块位于CAN收发器与CAN协议控制器之间的信号路径中。比较模块具有接收数据(RXD)输入接口、CAN解码器、标识符存储器和比较逻辑。接收数据(RXD)输入接口被配置成经由CAN总线从CAN收发器接收数据。CAN解码器被配置成对从RXD输入接口接收的CAN消息的标识符进行解码。标识符存储器被配置成存储对应于至少一个标识符的条目。比较逻辑被配置成将来自CAN消息的接收到的标识符与存储在标识符存储器中的条目进行比较,并且在比较指示CAN消息的接收到的标识符与存储在CAN装置处的条目匹配时输出匹配信号。
除非明确陈述特定次序,否则可以任何次序执行上图中的指令和/或流程图步骤。而且,本领域的技术人员将认识到,虽然已经论述一个示例指令集/方法,但是在本说明书中的材料可以多种方式组合从而还产生其它例子,并且应在此详细描述提供的上下文内来进行理解。
在一些示例实施例中,上文描述的指令集/方法步骤实施成体现为可执行指令集的功能和软件指令,所述可执行指令集在计算机或由所述可执行指令编程和控制的机器上实现。此类指令被加载以在处理器(例如一个或多个CPU)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或其它控制或计算装置。处理器可以指单个组件或多个组件。
在其它例子中,本文中示出的指令集/方法和与其相关联的数据和指令存储于相应存储装置中,所述存储装置被实施为一个或多个非暂时性机器或计算机可读或计算机可用存储介质。此类计算机可读或计算机可用存储介质被视为物品(或制品)的部分。物品或制品可指代任何制造的单个组件或多个组件。如本文所定义的非暂时性机器或计算机可用介质不包括信号,但此类介质可能能够接收并处理来自信号和/或其它暂时性介质的信息。
本说明书中论述的材料的示例实施例可以完全或部分地通过网络、计算机或基于数据的装置和/或服务来实施。这些可以包括云、互联网、内联网、移动装置、台式计算机、处理器、查找表、微控制器、消费者设备、基础架构,或其它使能装置和服务。如本文和权利要求书中可以使用,提供以下非排他性定义。
在一个例子中,使本文所论述的一个或多个指令或步骤自动化。术语自动化或自动地(和其类似变型)意指使用计算机和/或机械/电气装置控制设备、系统和/或过程的操作,而不需要人为干预、观测、努力和/或决策。
应了解,据称要耦合的任何组件可直接或间接地耦合或连接。在间接耦合的情况下,可在据称要耦合的两个组件之间安置额外的组件。
在本说明书中,已经依据选定的细节集合而呈现示例实施例。然而,本领域的普通技术人员将理解,可实践包括这些细节的不同选定集合的许多其它示例实施例。希望所附权利要求书涵盖所有可能的示例实施例。
Claims (10)
1.一种控制器局域网CAN装置,其特征在于,包括:
比较模块,其被配置成与被配置成耦合到CAN总线的CAN收发器接合,所述比较模块具有;
接收数据RXD输入接口,其被配置成从所述CAN收发器接收数据;
传输数据TXD输出接口,其被配置成将数据输出到所述CAN收发器;
CAN解码器,其被配置成对从所述RXD输入接口接收的CAN消息的标识符进行解码;
标识符存储器,其被配置成存储对应于至少一个标识符的条目;
比较逻辑,其被配置成将从CAN消息接收到的标识符与存储在所述标识符存储器中的所述条目进行比较,并且在比较指示所述CAN消息的接收到的标识符与存储在所述CAN装置处的所述条目匹配时输出匹配信号;
信号发生器,其被配置成响应于所述匹配信号而输出信号以使所述CAN消息失效,其中所述信号从所述TXD输出接口输出到所述CAN收发器;
其中由所述信号发生器产生的所述信号提供被定时的一个或多个显性位,使得以下情况中的至少一个:紧接在FDF字段之后的位位置处的一个或多个位成为显性的;以及所述FDF字段成为显性的。
2.根据权利要求1所述的CAN装置,其特征在于,所述信号被配置成使得所述CAN收发器将信令提供到所述CAN总线,所述信令提供所述被定时的一个或多个显性位,使得至少紧接在FDF字段或所述CAN消息的FDF字段之后的所述位成为显性的。
3.根据权利要求1所述的CAN装置,其特征在于,所述信号发生器被配置成将信令提供到所述CAN总线,所述信令提供所述被定时的一个或多个显性位,使得至少紧接在FDF字段或所述CAN消息的FDF字段之后的所述位成为显性的。
4.根据在前的任一项权利要求所述的CAN装置,其特征在于,
所述CAN解码器另外被配置成对紧接在从所述RXD输入接口接收的CAN消息的FDF字段之后的所述位进行解码;
所述比较逻辑被配置成确定所述位是否为隐性的,并且在所述位为隐性时输出禁用信号;并且
响应于所述禁用信号,所述CAN装置被配置成阻止由所述CAN收发器向所述CAN总线进行传输,直到出现ACK时隙的开始或直到出现所述总线上使用的位速率低于阈值速率的指示为止。
5.根据权利要求4所述的CAN装置,其特征在于,所述CAN装置被配置成通过以下各项中的一个或多个阻止由所述CAN收发器进行的传输:
阻止来自CAN协议控制器的信令向前传输到所述CAN收发器,其中比较模块另外包括传输数据TXD输入接口,所述TXD输入接口被配置成从所述CAN协议控制器接收数据;
将指示其不产生用于所述CAN收发器的信令的消息传输到所述CAN协议控制器,直到出现所述ACK时隙的所述开始或直到出现所述总线上使用的所述位速率低于阈值速率的所述指示为止;以及
禁用所述CAN收发器的一个或多个传输器,所述一个或多个传输器用于将信令传输到所述CAN总线。
6.根据权利要求1至5中任一项所述的CAN装置,其特征在于,所述标识符存储器被配置成存储以下各项中的一个或两个:
a)一个或多个标识符;以及
b)对应于一组标识符的标识符掩码。
7.根据权利要求1至6中任一项所述的CAN装置,其特征在于,所述比较逻辑另外被配置成在所述比较指示所述CAN消息的所述接收到的标识符与存储在所述CAN装置处的所述条目匹配并且所述CAN装置目前不传输具有所述接收到的标识符的CAN消息时输出所述匹配信号。
8.根据权利要求1至6中任一项所述的CAN装置,其特征在于,所述比较模块另外包括传输数据TXD输入接口,所述TXD输入接口被配置成从CAN协议控制器接收数据,并且其中所述比较逻辑另外被配置成使用在所述TXD输入接口处接收到的CAN消息的标识符填充所述标识符存储器。
9.根据权利要求1至8中任一项所述的CAN装置,其特征在于,信号发生器另外被配置成将错误信号传输到所述CAN总线上,所述错误信号在帧结束字段中。
10.一种用于控制控制器局域网CAN业务的方法,其特征在于,所述方法包括:
在CAN装置处接收CAN消息的标识符,所述标识符在所述CAN装置处经由CAN总线接收;
将所述CAN消息的所述标识符与所述CAN装置处的标识符存储器中的条目进行比较;
在比较指示来自所述CAN消息的所述标识符与所述标识符存储器中的所述条目匹配时,输出匹配信号;以及
通过响应于所述匹配信号而产生使所述CAN消息失效的信号来使所述CAN消息失效,其中由所述信号发生器产生的所述信号提供以下情况中的至少一个:紧接在FDF字段之后的位位置处的一个或多个位成为显性的;以及所述FDF字段成为显性的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21166437.0A EP4068721B1 (en) | 2021-03-31 | 2021-03-31 | Controller area network device |
EP21166437.0 | 2021-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115150220A true CN115150220A (zh) | 2022-10-04 |
Family
ID=75339634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210187832.3A Pending CN115150220A (zh) | 2021-03-31 | 2022-02-28 | 控制器局域网装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11789886B2 (zh) |
EP (1) | EP4068721B1 (zh) |
CN (1) | CN115150220A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361934B2 (en) * | 2015-09-28 | 2019-07-23 | Nxp B.V. | Controller area network (CAN) device and method for controlling CAN traffic |
US9954892B2 (en) | 2015-09-28 | 2018-04-24 | Nxp B.V. | Controller area network (CAN) device and method for controlling CAN traffic |
US20180227145A1 (en) * | 2017-02-07 | 2018-08-09 | Nxp Usa, Inc. | Systems and methods for transmitting messages in a controller area network |
US11985150B2 (en) * | 2018-05-25 | 2024-05-14 | Securethings U.S., Inc. | Cybersecurity on a controller area network in a vehicle |
-
2021
- 2021-03-31 EP EP21166437.0A patent/EP4068721B1/en active Active
-
2022
- 2022-02-28 CN CN202210187832.3A patent/CN115150220A/zh active Pending
- 2022-03-29 US US17/657,069 patent/US11789886B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220318178A1 (en) | 2022-10-06 |
EP4068721A1 (en) | 2022-10-05 |
EP4068721B1 (en) | 2024-01-17 |
US11789886B2 (en) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10361934B2 (en) | Controller area network (CAN) device and method for controlling CAN traffic | |
EP3206361B1 (en) | Controller area network (can) message filtering | |
US10693905B2 (en) | Invalidity detection electronic control unit, in-vehicle network system, and communication method | |
US11256498B2 (en) | Node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network | |
US11677779B2 (en) | Security module for a can node | |
US9954892B2 (en) | Controller area network (CAN) device and method for controlling CAN traffic | |
CN112347021B (zh) | 用于串行通信装置的安全模块 | |
CN109104352B (zh) | 车辆网络操作协议和方法 | |
CN112347022B (zh) | 用于can节点的安全模块 | |
US10439840B1 (en) | Method and device for communicating data frames on a multi-master bus | |
CN112583786B (zh) | 用于警报的方法、发送器设备和接收器设备 | |
CN116266803A (zh) | 用于控制器局域网的设备 | |
US11789886B2 (en) | Controller area network device | |
CN112347023B (zh) | 用于can节点的安全模块 | |
EP4099642A2 (en) | Can transceiver | |
CN116471139A (zh) | 控制器局域网模块和用于所述模块的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |