CN112640365B - 一种控制器区域网can总线安全通信方法及装置 - Google Patents

一种控制器区域网can总线安全通信方法及装置 Download PDF

Info

Publication number
CN112640365B
CN112640365B CN202080004609.XA CN202080004609A CN112640365B CN 112640365 B CN112640365 B CN 112640365B CN 202080004609 A CN202080004609 A CN 202080004609A CN 112640365 B CN112640365 B CN 112640365B
Authority
CN
China
Prior art keywords
identifier
electronic unit
message
security
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.)
Active
Application number
CN202080004609.XA
Other languages
English (en)
Other versions
CN112640365A (zh
Inventor
林孝盈
雷哈娜·雅思敏
黄涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112640365A publication Critical patent/CN112640365A/zh
Application granted granted Critical
Publication of CN112640365B publication Critical patent/CN112640365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

本申请提供一种控制器区域网CAN总线安全通信方法及装置,用以保证CAN总线通信系统的安全。本申请中,第一电子单元基于第一安全标识符生成待发送CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;第一电子单元监听CAN总线上的报文,根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文,能够对CAN报文的标识符进行安全保护,还保持了CAN报文的标识符的优先顺序的决策功能,从而保证CAN总线通信系统的安全通信。

Description

一种控制器区域网CAN总线安全通信方法及装置
技术领域
本申请涉及通信技术领域,特别涉及一种控制器区域网CAN总线安全通信方法及装置。
背景技术
控制器区域网(Controller Area Network,CAN)通信协议是车内通信的主要网络通信协议。CAN通信协议在数据链路层(data link layer,DLL)规范了CAN报文的格式,其中CAN报文中的标识符(Identifier)能够用于表示CAN报文中的数据区(data)承载的信息所属的功能业务的类型,以及所述报文标识符还可以用于确定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总线通信系统的正常通信。
第二方面,本申请实施例还提供一种装置,所述装置用于执行上述第一方面或第一方面任一可能的设计中的方法。具体地,所述装置可以包括用于执行第一方面或第一方面任一可能的设计中的方法的单元(模块),例如包括处理单元和收发单元。示例性地,收发单元可以包括发送单元和接收单元,发送单元和接收单元可以是不同的功能单元,或者也可以是同一个功能单元,但能够实现不同的功能。示例性地,所述装置为电子单元,或者为设置在电子单元中的芯片或其他部件。示例性地,所述电子单元为网关ECU和/或CAN总线ECU。例如,所述收发单元也可以通过收发器实现,所述处理单元也可以通过处理器实现。或者,发送单元可以通过发送器实现,接收单元可以通过接收器实现,发送器和接收器可以是不同的功能单元,或者也可以是同一个功能单元,但能够实现不同的功能。在第二方面的介绍过程中,以所述装置是第一电子单元为例进行介绍。其中,
处理单元,用于基于第一安全标识符生成待发送控制器区域网CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;
收发单元,用于监听CAN总线上的报文;
所述处理单元,还用于根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文。
在一种可能的设计中,所述第二安全标识符根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定。
在一种可能的设计中,所述第一标识符为所述第一电子单元的预置标识符。
在一种可能的设计中,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
在一种可能的设计中,所述处理单元,还用于周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期更新后的安全标识符。
在一种可能的设计中,还包括:
存储单元,用于存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
应理解,所述收发单元还用于执行上述第一方面及第一方面任一种可能的设计中的发送操作和接收操作,处理单元还用于执行上述第一方面及第一方面任一种可能的设计中除了收发操作之外的其他操作。
第三方面,本申请实施例还提供一种装置,该装置包括处理器和通信接口,处理器和通信接口相互耦合,用于实现上述第一方面或第一方面任一可能的设计中的方式所描述的方法。通信接口用于与其他装置或设备进行通信。可选的,还可以包括存储器,用于存储计算机指令。处理器、存储器和通信接口相互耦合,用于实现上述第一方面或第一方面各种可能的设计方式所描述的方法。例如,当处理器执行所述存储器存储的计算机指令时,使装置执行上述第一方面或第一方面任一种可能的设计中的方法。示例性地,所述装置为电子单元,或者为设置在电子单元中的芯片或其他部件。示例性的,所述电子单元为网关ECU和/或CAN总线ECU。
其中,如果装置为设置在电子单元中的芯片,那么通信接口例如为芯片的输入/输出接口,例如输入/输出管脚等,该通信接口与通信设备中的射频收发组件连接,以通过射频收发组件实现信息的收发。
第四方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第五方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第六方面,本申请实施例还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述各方面的方法。
第七方面,本申请实施例还提供一种CAN总线安全通信方法,该方法可以应用于通信系统,所述通信系统包括至少两个电子单元和CAN总线。所述方法包括所述CAN总线在所述至少两个电子单元之间传输报文;第一电子单元基于第一安全标识符生成待发送CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;所述第一电子单元监听所述CAN总线上的报文,根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文;所述第一电子单元为所述至少两个电子单元中的一个。
在一种可能的设计中,所述第二安全标识符根据所述监听到的报文的发送的第二标识符和保持顺序的单向函数确定。
在一种可能的设计中,所述第一标识符为所述第一电子单元的预置标识符。
在一种可能的设计中,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
在一种可能的设计中,所述第一电子单元还可以周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
在一种可能的设计中,所述第一电子单元中还可以存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
所述第三标识符为所监听到的CAN报文的发送方的第三标识符。
第八方面,本申请实施例还提供一种通信系统,所述通信系统包括至少两个电子单元和控制器区域网CAN总线,所述CAN总线与所述至少两个电子单元相连接;所述CAN总线用于在所述至少两个电子单元之间传输报文;第一电子单元用于基于第一安全标识符生成待发送CAN报文,所述待发送CAN报文中的标识字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;监听所述CAN总线上的报文,根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文;所述第一电子单元为所述至少两个电子单元中的一个。
在一种可能的设计中,所述第二安全标识符根据所述监听到的报文的发送的第二标识符和保持顺序的单向函数确定。
在一种可能的设计中,所述第一标识符为所述第一电子单元的预置标识符。
在一种可能的设计中,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
在一种可能的设计中,所述第一电子单元还可以周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
在一种可能的设计中,所述第一电子单元中还可以存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
第九方面,本申请实施例提供一种车辆,所述车辆包括至少两个电子单元和CAN总线。其中,车辆可以用于执行上述第七方面或第七方面任一种可能的设计中的方法。
上述第二方面至第九方面所能达到的技术效果请参照上述第一方面所能达到的技术效果。
附图说明
图1为本申请实施例提供的CAN报文的格式示意图;
图2为本申请实施例提供的CAN总线通信系统的结构示意图;
图3为车内通信的CAN通信网络中CAN报文被窃听并注入的示意图;
图4为CAN标识符的划分示意图;
图5为本申请实施例提供的CAN总线安全通信的流程示意图;
图6为本申请实施例提供的CAN标识符的更新过程示意图;
图7为本申请实施例提供的CAN标识符更新前后的关系示意图;
图8为本申请实施例提供的更新后的CAN标识符的集合示意图;
图9为本申请实施例提供的一种CAN总线安全通信装置的结构示意图;
图10为本申请实施例提供的一种CAN总线安全通信装置的结构示意图;
图11为本申请实施例提供的一种通信系统的结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”一词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下对本申请实施例的部分用语进行解释说明,以便于本领域技术人员理解。
1)车内网,指分布在车内的电子单元在物理上互相连接,并按照一定的网络通信协议相互进行通信,以实现数据通信和信息收发,在本申请实施例中车内网也称车内局域网或车内通信。
2)电子单元,一般安装在车内,用于对数据的分析处理和收发,实现相应的功能业务。示例性的,电子单元包括控制器区域网(controller area network,CAN)总线电子控制单元(electronic control unit,ECU),和/或网关ECU。
3)CAN通信协议,是车内通信的一种网络通信协议,车内的电子单元可以基于CAN通信协议收发信息。CAN通信协议定义了物理层(physical layer)和数据链路层的数据传输标准,规范了各电子单元之间进行通信过程中传输的CAN报文的格式。
CAN报文的格式如图1所示,CAN报文中包括报文头(start of frame,SOF),CAN标识符(Identifier,ID),远程传输要求(remote transmission request,RTR)码,控制区(Control),数据区(data),循环冗余校验(cyclic redundancy check,CRC),响应(acknowledgment,ACK),报文结尾(end of frame,EOF)。其中,CAN标识符(也称标识符)可用于标识不同的CAN报文,并包括两种格式,分别是11字符与29字符。CAN标识符还可以用于确定CAN报文传输的优先顺序,即CAN标识符还可以作为用于决策CAN报文传输的优先顺序的依据。CAN标识符还可以用来表示数据区承载的是哪种功能业务的信息或功能业务系统的信息,即CAN标识符还可以用来标识数据区承载的信息属于的功能业务的类型或功能业务系统的类型。数据区在CAN标准中最多为8个字节。
本申请中的“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请中所涉及的多个,是指两个或两个以上。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请实施例的技术方案可以应用于CAN总线安全通信系统。为了便于理解本申请实施例,以图2所示的CAN总线安全通信系统架构为例对本申请使用的应用场景进行说明。参阅图2所示,所述CAN总线安全通信系统中可以包括:网关ECU(也称中央网关ECU),与网关ECU相连接的至少一个CAN总线,每个CAN总线上连接有至少一个CAN总线ECU。网关ECU和CAN总线ECU中均具有进行运算处理的处理器,用于存储命令的内部存储空间以及进行信息发送与接收的收发器。其中,CAN总线ECU中通常可包括一组收发器,与一个CAN总线相连。网关ECU中可包括多组收发器,并与多个CAN总线相连。CAN总线可以理解为是CAN总线安全通信的发送通道,网关ECU可以通过与其连接的多个CAN总线进行信息的并行发送与接收。CAN总线ECU通过与其相连的CAN总线,进行信息的发送和接收。其中,各CAN总线ECU可与网关ECU进行通信,各CAN总线ECU之间也可进行通信。车内包括多个功能业务系统(如动力传动系统,舒适系统,诊断系统和信息娱乐系统等一种或多种),每个功能业务系统用于实现一个或多个业务功能。举例来说,动力传动系统中可以实时侦测引擎转速并将转速值传送到CAN总线,仪表板收到数据后可以实时显示。每个CAN总线ECU可以负责车内的一个功能业务的通信网络。
需要说明的是,图2所示CAN总线安全通信系统中的网关ECU以及CAN总线ECU的结构仅仅是本申请实施例的一种实现方式,实际应用中,网关ECU以及CAN总线ECU还可以包括更多或更少的部件,这里不作限制。
其中,收发器可通过实体CAN总线与其他收发器相互连接并通信。实体CAN总线使用CAN通信协议进行通信,所述CAN通信协议可包括但不限于:CAN2.0A,CAN2.0B,CAN-FD(CAN flexible data-rate)。收发器还可能与其他通信设备使用不同的通信网络进行通信,如以太网(Ethernet),无线接入网(radio access technology,RAN),无线局域网(wireless local area networks,WLAN)等。具体实现中,收发器支持的通信协议可包括但不限于:2G/3G、长期演进(long term evolution,LTE)、无线保真(wireless-fidelity,Wi-Fi)、5G新无线(new radio,NR)等等。
存储空间(也可称为存储器)与处理器耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储空间可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储空间可以存储CAN总线安全通信的操作系统。存储空间可用于存储本申请实施例的实现程序。存储空间还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。
处理器可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
在一些实施例中,网关ECU以及CAN总线ECU还可以包括输出设备和输入设备(图2未示出)。输出设备和处理器通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备和处理器通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。为了便于输出设备和输入设备的用户使用,在一些实施例中,存储器还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。
利用CAN通信协议进行通信过程中,发送者发出CAN报文,接收者按照CAN标识符选择要接收的CAN报文,一个CAN标识符所对应的CAN报文可以有两个以上的接收者。例如,图2中,CAN总线ECU1发送的CAN报文,可被CAN总线ECU2和CAN总线ECU3接收。CAN标识符在CAN报文发送过程中,不仅可以用于标识不同的CAN报文,还可以用于确定CAN报文传输的优先顺序。在一条CAN总线上,如果同时有两个电子单元需要发送CAN报文,则CAN标识符数值对应的优先顺序较高的CAN报文进行发送,例如CAN标识符数值越小,优先顺序越高,CAN标识符数值越大,优先顺序越低,则CAN标识符数值较小的CAN报文优先进行发送。
目前CAN通信协议中没有规范信息的认证或加密机制,所以恶意攻击者易对CAN报文的窃听,注入或重放攻击。早期车内网属于封闭网络,攻击者必须通过物理接触进行攻击,难度较高且破坏规模有限,但是由于车联网技术的发展,使得车辆暴露在远程攻击者的攻击范围内,远程攻击可以破坏CAN总线通信系统的功能,并在短时间内扩大攻击范围,导致引起人身安全的问题。例如,动力传动系统中存在CAN报文发送引擎转速数值,仪表盘在接收到引擎转速数值后进行显示,恶意攻击者可以先解析出报文格式,再针对攻击目标(引擎转速数值)植入错误的数值,仪表盘接收并显示错误的数值。如图3所示,在原始的CAN报文中,标识符为0x123,字节0和字节1承载引擎转速数值0x5DC,表示引擎转速数值为1500转/分(RPM),恶意攻击者对字节0和字节1承载的信息进行篡改,篡改的CAN报文中引擎转速数值为0x1F40,表示引擎转速数值为8000RPM,仪表盘显示错误的引擎转速数值8000RPM。
一般的,可以通过以下方式来保证CAN总线的安全通信。
第一种,如图4所示,CAN报文的标识符包括11比特或29比特,将CAN标识符分为两部分,其中a比特用于确定优先顺序,对其余的(11-a)比特或(29-a)比特采用预先预设的密码进行加密,实现匿名化功能,只有保存有预设密码才能够正确解密(11-a)比特或(29-a)比特,从而保证标识符的安全性,进而保证CAN总线通信系统的安全性。但是该方式中标识符用于确定优先顺序的信息的长度变短,导致标识符可能不能保证优先顺序的决策功能。
第二种,电子单元的收发器中设置标识符白名单,当接收或发送的CAN报文中的标识符位于标识符白名单中,电子单元才会接收或发送CAN报文。但是对于通信过程中,CAN标识符是明文,攻击者仍可以通过一定时间的监听,逆向解析出标识符所对应的信息,从而进行攻击和篡改,标识符的安全性仍然还是无法保证。
第三种,对CAN报文中的数据区进行加密,但是对于通信过程中,CAN标识符是明文,攻击者仍可以通过一定时间的监听,逆向解析出标识符所对应的信息,从而进行攻击和篡改,标识符的安全性仍然还是无法保证。
综上,上述几种方式均无法有效保证CAN总线的安全通信,导致CAN报文被攻击和篡改后,可能引起人身安全的问题。鉴于此,本申请提出一种CAN总线安全通信方法,对CAN报文的标识符进行安全保护,来避免通信过程中攻击者对CAN报文的攻击和篡改。
在该方法中,在CAN总线通信系统的通信过程中,第一电子单元根据第一电子单元的第一标识符和保持顺序的单向函数确定第一安全标识符,第一电子单元基于安全标识符生成待发送CAN报文,待发送CAN报文中的标识符字段为安全标识符,这样,通过保持顺序的单向函数对第一电子单元的第一标识符进行处理,可以保证攻击者在有限时间内根据第一安全标识符无法计算出处理前的第一标识符,实现对CAN报文的标识符的安全保护,并且单向函数还具有保持顺序的性质,可以使得第一安全标识符和其他CAN报文的安全标识符之间的大小关系,与第一标识符和其他CAN报文的标识符之间的大小关系保持一致,第一电子单元根据所监听到的报文的标识符字段的第二安全标识符和第一安全标识符的大小关系,仍然可以准确地确定是否发送所述待发送CAN报文。因此,通过该方法,不仅可以对CAN报文的标识符进行安全保护,还保持了CAN报文的标识符的优先顺序的决策功能,从而实现了CAN总线通信系统的安全通信。
本申请实施例提供了一种CAN总线安全通信方法,该方法可以应用于如图2所示的CAN总线通信系统中。下面参考图8,详细说明CAN总线安全通信方法的具体过程。如图5所示,该过程包括:
S501:第一电子单元基于第一安全标识符生成待发送CAN报文。
在本申请实施例中,第一电子单元可以为车内CAN总线通信系统中的任一电子单元,并非限定为特定的一个电子单元。例如,第一电子单元包括网关ECU和/或CAN总线ECU。
在CAN总线通信系统的通信过程中,第一电子单元可以根据实际需求确定是否需要生成CAN报文,例如第一电子单元按照设定的第一时间间隔,周期性的生成CAN报文,或者车辆行驶过程中用户踩刹车,第一电子单元生成关于刹车制动的CAN报文等,在此不一一列举。
所述待发送CAN报文中的标识符字段为第一安全标识符。所述待发送CAN报文中数据区承载的信息可以包括加密后的数据信息,或者可以包括明文的数据信息。
所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定。如图6所示,所述第一电子单元中存储了设定更新条件,所述设定更新条件能够确定所述第一电子单元更新安全标识符的规则和频率。例如,设定更新条件可以包括更新信号和/或更新周期(如设定的第二时间间隔)。当所述设定更新条件被满足/触发时,所述第一电子单元通过所述保持顺序的单向函数(如函数F)对所述第一标识符进行更新,得到所述第一安全标识符。所述第一电子单元采用所述第一安全标识符对现有的所述第一标识符进行更新,后续所述第一电子单元采用所述第一安全标识符接收和发送CAN报文。
在一种可能的实现方式中,所述第一电子单元识别到更新信号时,采用所述保持顺序的单向函数对所述第一标识符进行更新,得到所述第一安全标识符。例如,所述更新信号包括整车上电信号等。
在该实现方式中,所述第一标识符可以为所述第一电子单元的预置标识符,或者所述第一标识符可以为根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定,或者所述第一标识符可以为所述第一电子单元上一次基于所述保持顺序的单向函数更新后的安全标识符。
所述预置标识符为车辆出厂时预置在电子单元内的标识符。
在另一种可能的实现方式中,第一电子单元周期性的更新安全标识符,如所述第一电子单元按照设定的周期长度或第二时间间隔,采用所述保持顺序的单向函数对当前保存的第一标识符进行更新。所述第一电子单元中存储有设定的周期长度T,以使所述第一电子单元对安全标识符进行周期性的更新。
在该实现方式中,所述第一标识符可以为所述第一电子单元的预置标识符,或者所述第一标识符可以为根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定,或者所述第一标识符可以为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
不管是第一电子单元根据更新信号的触发更新安全标识符,还是第一电子单元周期性的更新安全标识符,由于攻击者无法获知安全标识符的更新规则和频率,因此加大了攻击者窃听攻击逆向工程的难度,从而进一步保证CAN总线通信系统的安全性。
本申请实施例所涉及的所述保持顺序的单向函数F至少具有以下两个性质:单向计算(One-way computation)和保持顺序(Order-preserving),其中单向计算指将a输入所述保持顺序的单向函数F,可以得到输出值f(a),但是根据获取到的f(a),在有限时间内无法计算出f(a)对应的输入值a;保持顺序指存在两个数值a和b,将a和b分别输入所述保持顺序的单向函数F中,分别得到输出值F(a)和F(b),若a大于b,则F(a)大于F(b),或者如图7所示,若a小于b,则F(a)小于F(b)。所述保持顺序的单向函数不同于简单地套用加密算法或哈希算法进行标识符的保护,避免了优先权的顺序被破坏。
可选的,所述第一电子单元中存储有所述保持顺序的单向函数F的参数,所述保持顺序的单向函数F中的参数包括一个或多个密钥参数,所述一个或多个密钥参数可以用于保证F具有保持顺序的性质,且所述一个或多个密钥参数对攻击者不可知。
所述第一电子单元可以对所述第一标识符的全部内容进行更新,或者所述第一电子单元可以对所述第一标识符的部分内容进行更新。如图7所示,对所述第一标识符的部分内容A进行更新,得到F(A),且第二标识符的部分内容B进行更新,得到F(B),若A小于B,则F(A)小于F(B)。
例如,所述保持顺序的单向函数满足F(x)=c*log(x+d),其中x为第一标识符的全部内容或部分内容,F(x)为第一安全标识符,c和d为所述保持顺序的单向函数F的密钥参数。若每次整车上电时触发标识符的更新,车内的每个电子单元对当前的第一标识符Xt进行更新,更新后得到的第一安全标识符Xt+1为F(Xt)=a*log(xt+b)。
当所述设定更新条件被触发,车内的每个电子单元还可以对每个与其存在收发关系的标识符都进行更新。
在本申请实施例中,还可以预先计算更新的标识符,并将更新的标识符预先进行存储,这样,进行CAN报文发送时,可以直接在预先存储的更新的标识符中选取使用,而不需要实时计算,从而提高CAN总线通信系统的通信效率。例如图8所示,预置标识符和更新的标识符分别按照标识符更新的先后顺序进行存储,其中,第一列表示预置标识符,预置标识符包括A1,B1,C1,D1和E1,第二列为对第一列的预置标识符进行更新得到的安全标识符,分别包括对A1进行更新得到的A2,对B1进行更新得到的B2,对C1进行更新得到的C2,对D1进行更新得到的D2,和对E1进行更新得到的E2,第三列为对第二列的安全标识符进行更新得到的安全标识符,分别包括对A2进行更新得到的A3,对B2进行更新得到的B3,对C2进行更新得到的C3,对D2进行更新得到的D3,和对E2进行更新得到的E3,以此类推,第四列为对第三列的安全标识符进行更新得到的安全标识符等。
因此本申请实施例中在遵循CAN通信协议的基础上,采用保持顺序的单向函数F作为安全标识符的更新机制,由于保持顺序的单向函数具有保持顺序的性质,标识符在更新前后保持有相同的传输优先顺序,并且由于保持顺序的单向函数F具有单向计算的性质,通过更新后的标识符无法追溯到其对应的更新前的标识符,保证了标识符的不可预测性,提高了逆向工程难度,提高了标识符的攻击和篡改难度。
可以理解的是,在该S501之前,对CAN总线通信系统进行预设。例如,CAN总线上的电子单元内设置有时间同步系统,该时间同步系统用于保证每个电子单元之间的相对时间同步,以使每个电子单元之间在同一时间确定的安全标识符一致。又如,CAN总线上的电子单元内设置有保持顺序的单向函数F,以及保持顺序的单向函数F使用的参数,可以理解的是,电子单元内设置有一个或多个保持顺序的单向函数F,若设置有多个保持顺序的单向函数F,还可以另外设置,在不同的时间或不同的更新次数时,收发CAN报文的电子单元之间使用相同的保持顺序的单向函数F。又如,CAN总线上的电子单元内设置有一个或多个设定更新条件,如更新信号和/或更新周期。又如,CAN总线上的电子单元内设置有预置标识符,电子单元基于所述预置标识符进行安全标识符的更新,以及CAN报文的传输。
S502:所述第一电子单元监听CAN总线上的报文。
如图2所示,CAN总线ECU2和CAN总线ECU3可以监听CAN总线ECU1发送的CAN报文,另外,CAN总线ECU1也可以监听CAN总线ECU2和CAN总线ECU3发送的CAN报文。
S503:所述第一电子单元根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系,确定是否发送所述待发送CAN报文。
如果所述第一电子单元未监听到报文,所述第一电子单元发送所述待发送CAN报文。
如果所述第一电子单元监听到报文,所述第一电子单元根据所监听到的报文的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系,确定所监听到的报文和所述待发送CAN报文的优先顺序,如果所述待发送CAN报文的优先级高于(或不低于)所监听到的报文,所述第一电子单元发送所述待发送CAN报文,如果所述待发送CAN报文的优先级不高于(或低于)所监听到的报文,所述第一电子单元不发送所述待发送CAN报文,所述监听到的报文的发送方发送所述监听到的报文。
其中,所述第二安全标识符是根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定,所述第二安全标识符的确定过程可以参见上述S501,在此不进行赘述。
所述第一电子单元中存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方。所述第三安全标识符根据所述第三标识符和保持顺序的单向函数确定,所述第二安全标识符的确定过程可以参见上述S501,在此不进行赘述。这样,所述第一电子单元根据所述监听到的CAN报文的标识符字段的第三安全标识符,可以识别所监听到的CAN报文的发送方,从而确定所监听到的CAN报文的数据区承载是哪种功能业务的信息。可选的,CAN总线上的每个电子单元保存都保存有自身的安全标识符,以及CAN总线上的其他电子单元的安全标识符。
本申请实施例在遵循CAN通信协议的基础上,提出保持顺序的单向函数F作为标识符的更新机制,可对各CAN总线ECU之间,以及各CAN总线ECU与网关ECU之间传输的CAN报文进行加密与认证。保持顺序的单向函数提供了标识符的不可预测性,保持顺序的单向函数F的顺序保护性质保证了标识符更新之后CAN报文在传输上保持原有的优先权顺序,保持顺序的单向函数F的单向计算性质保证通过更新后的标识符无法追溯到其对应的更新前的CAN标识符,提高逆向工程难度,保证CAN报文数据的安全性,以抵挡恶意攻击者对CAN报文的窃听﹑注入与重放攻击,从而实现CAN总线通信系统的安全性。
基于与方法实施例同一技术构思,本申请实施例还提供了一种装置,用于执行上述如图5至图8所示的方法实施例中电子单元执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图9所示,该装置包括处理单元901以及收发单元902:
处理单元901,用于基于第一安全标识符生成待发送控制器区域网CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;
收发单元902,用于监听CAN总线上的报文;
所述处理单元901,还用于根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文。
在一种可能的实施方式中,所述第二安全标识符根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定。
在一种可能的实施方式中,所述第一标识符为所述第一电子单元的预置标识符。
在一种可能的实施方式中,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
在一种可能的实施方式中,所述处理单元901,还用于周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期更新后的安全标识符。
在一种可能的实施方式中,还包括:
存储单元903,用于存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
在本申请实施例中,电子单元可以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
本申请实施例中对单元(模块)的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个单元或一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现,或者可以采用硬件加软件的形式实现,本申请实施例不做限制。例如:上述处理单元901可以通过处理器实现,上述收发单元902可以通过收发器或者通信接口等实现,上述存储单元903可以通过存储器实现。
在一个简单的实施例中,本领域的技术人员可以想到电子单元可采用图10所示的形式。
如图10所示的通信装置1000,包括至少一个处理器1001、存储器1002,可选的,还可以包括通信接口1003。
存储器1002可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1002可以是上述存储器的组合。
本申请实施例中不限定上述处理器1001以及存储器1002之间的具体连接介质。本申请实施例在图中以存储器1002和处理器1001之间通过总线1004连接,总线1004在图中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1004可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
如图10装置中,可以设置独立的数据收发模块,例如通信接口1003,用于收发数据;处理器1001在与其他设备进行通信时,可以通过通信接口1003进行数据传输。
当电子单元采用图10所示的形式时,图10中的处理器1001可以通过调用存储器1002中存储的计算机执行指令,使得所述电子单元可以执行上述任一方法实施例中的所述电子单元执行的方法。
具体的,图9的处理单元和收发单元的功能/实现过程均可以通过图10中的处理器1001调用存储器1002中存储的计算机执行指令来实现。或者,图9中的处理单元的功能/实现过程可以通过图10中的处理器1001调用存储器1002中存储的计算机执行指令来实现,图9的收发单元的功能/实现过程可以通过图10中的通信接口1003来实现。
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时可以执行上述方法实施例中的CAN总线安全通信方法。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,该指令被执行时可以执行上述方法实施例中的CAN总线安全通信方法。
作为本实施例的另一种形式,提供一种芯片,所述芯片运行时,可以执行上述方法实施例中的CAN总线安全通信方法。
基于与方法实施例同一技术构思,本申请实施例还提供一种通信系统。如图11所示,所述通信系统包括至少两个电子单元1101和CAN总线1102,所述CAN总线1102与所述至少两个电子单元1101相连接。所述CAN总线1102用于在所述至少两个电子单元之间传输报文,电子单元1101用于执行上述如图5至图8所示的方法实施例中电子单元执行的方法,相关特征可参见上述方法实施例,此处不再赘述。其中,所述通信系统可以为车辆,或者所述通信系统位于车辆中。可以理解的是,通信系统中可以包括一个或多条CAN总线1102。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用中央处理器(central processingunit,CPU),通用处理器,数字信号处理(digital signal processing,DSP),专用集成电路(application specific integrated circuits,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合;也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解,本申请实施例中的存储器或存储单元可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,DVD;还可以是半导体介质,例如,固态硬盘(solid state disk,SSD)。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于电子单元中。可选地,处理器和存储媒介也可以设置于电子单元中的不同的部件中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征对本申请实施例进行了描述,显而易见的,在不脱离本申请实施例的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请实施例的示例性说明,且视为已覆盖本申请实施例范围内的任意和所有修改、变化、组合或等同物。

Claims (26)

1.一种控制器区域网CAN总线安全通信方法,其特征在于,包括:第一电子单元基于第一安全标识符生成待发送CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;
所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;
第一电子单元监听CAN总线上的报文,根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文。
2.如权利要求1所述的方法,其特征在于,所述第二安全标识符根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定。
3.如权利要求1或2所述的方法,其特征在于,所述第一标识符为所述第一电子单元的预置标识符。
4.如权利要求1或2所述的方法,其特征在于,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
5.如权利要求1所述的方法,其特征在于,还包括:所述第一电子单元周期性的更新安全标识符;
所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
6.如权利要求1所述的方法,其特征在于,所述第一电子单元中存储有第三安全标识符,所述第三标识符为所监听到的CAN报文的发送方的第三标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
7.一种控制器区域网CAN总线安全通信装置,其特征在于,包括:
处理单元,用于基于第一安全标识符生成待发送控制器区域网CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;所述第一安全标识符根据第一电子单元的第一标识符和保持顺序的单向函数确定;
收发单元,用于监听CAN总线上的报文;
所述处理单元,还用于根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文。
8.如权利要求7所述的装置,其特征在于,所述第二安全标识符根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定。
9.如权利要求7或8所述的装置,其特征在于,所述第一标识符为所述第一电子单元的预置标识符。
10.如权利要求7或8所述的装置,其特征在于,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
11.如权利要求7所述的装置,其特征在于,所述处理单元,还用于周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
12.如权利要求7所述的装置,其特征在于,还包括:
存储单元,用于存储有第三安全标识符,所述第三标识符为所监听到的CAN报文的发送方的第三标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在被一个或多个处理器读取并执行时实现如权利要求1-6中任一项所述的方法。
14.一种芯片,其特征在于,所述芯片与存储器相连,所述芯片用于读取并执行存储器中存储的软件程序,执行如权利要求1-6中任一项所述的方法。
15.一种控制器区域网CAN总线安全通信方法,其特征在于,应用于通信系统,所述通信系统包括至少两个电子单元和CAN总线,所述方法包括:
所述CAN总线在所述至少两个电子单元之间传输报文;
第一电子单元基于第一安全标识符生成待发送CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;
所述第一电子单元监听所述CAN总线上的报文,根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文;
所述第一电子单元为所述至少两个电子单元中的一个。
16.如权利要求15所述的方法,其特征在于,所述第二安全标识符根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定。
17.如权利要求15或16所述的方法,其特征在于,所述第一标识符为所述第一电子单元的预置标识符。
18.如权利要求15或16所述的方法,其特征在于,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
19.如权利要求15所述的方法,其特征在于,还包括:所述第一电子单元周期性的更新安全标识符;
所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
20.如权利要求15所述的方法,其特征在于,所述第一电子单元中存储有第三安全标识符,所述第三标识符为所监听到的CAN报文的发送方的第三标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
21.一种通信系统,其特征在于,所述通信系统包括至少两个电子单元和控制器区域网CAN总线,所述CAN总线与所述至少两个电子单元相连接;
所述CAN总线用于在所述至少两个电子单元之间传输报文;
第一电子单元用于基于第一安全标识符生成待发送CAN报文,所述待发送CAN报文中的标识字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;监听所述CAN总线上的报文,根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文;
所述第一电子单元为所述至少两个电子单元中的一个。
22.如权利要求21所述的系统,其特征在于,所述第二安全标识符根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定。
23.如权利要求21或22所述的系统,其特征在于,所述第一标识符为所述第一电子单元的预置标识符。
24.如权利要求21或22所述的系统,其特征在于,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
25.如权利要求21所述的系统,其特征在于,所述第一电子单元还用于周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
26.如权利要求21所述的系统,其特征在于,所述第一电子单元还用于存储有第三安全标识符,所述第三标识符为所监听到的CAN报文的发送方的第三标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据所述第三标识符和保持顺序的单向函数确定。
CN202080004609.XA 2020-02-29 2020-02-29 一种控制器区域网can总线安全通信方法及装置 Active CN112640365B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/077345 WO2021168859A1 (zh) 2020-02-29 2020-02-29 一种控制器区域网can总线安全通信方法及装置

Publications (2)

Publication Number Publication Date
CN112640365A CN112640365A (zh) 2021-04-09
CN112640365B true CN112640365B (zh) 2022-04-08

Family

ID=75291162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080004609.XA Active CN112640365B (zh) 2020-02-29 2020-02-29 一种控制器区域网can总线安全通信方法及装置

Country Status (2)

Country Link
CN (1) CN112640365B (zh)
WO (1) WO2021168859A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113328919B (zh) * 2021-05-28 2023-10-10 江苏徐工工程机械研究院有限公司 一种can总线标识符、通信方法以及通信系统
CN116488953A (zh) * 2022-01-14 2023-07-25 华为技术有限公司 Can通信方法、电子设备及can通信系统
CN115571072A (zh) * 2022-10-24 2023-01-06 中国第一汽车股份有限公司 抬头显示器模式转换方法、装置、电子设备及存储介质
CN116781448B (zh) * 2023-08-17 2023-11-07 北京芯驰半导体科技有限公司 一种can报文防丢失方法、装置、系统、芯片及介质
CN116847004B (zh) * 2023-08-30 2023-11-17 江铃汽车股份有限公司 一种汽车can信号的解析方法、系统及计算机设备
CN117336247A (zh) * 2023-09-27 2024-01-02 三一汽车起重机械有限公司 一种通信网络负载率控制方法、装置和设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571259A (zh) * 2010-12-09 2012-07-11 中国科学院沈阳计算技术研究所有限公司 一种用于数控总线的安全可控通信方法
CN103281224A (zh) * 2013-04-02 2013-09-04 中船重工(武汉)凌久高科有限公司 一种智能照明控制系统中can总线安全通信方法
CN108494725A (zh) * 2018-01-30 2018-09-04 惠州市德赛西威汽车电子股份有限公司 一种车载can总线报文的加密通信方法
CN110247760A (zh) * 2019-06-18 2019-09-17 徐州徐工挖掘机械有限公司 一种can总线数据的加密、解密方法及装置
CN110545257A (zh) * 2019-07-22 2019-12-06 北京航盛新能科技有限公司 一种汽车can总线加密方法
CN110661746A (zh) * 2018-06-28 2020-01-07 中车株洲电力机车研究所有限公司 一种列车can总线通信安全加密方法、解密方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038579A1 (en) * 2005-08-12 2007-02-15 Tsys-Prepaid, Inc. System and method using order preserving hash
KR20150122494A (ko) * 2014-04-23 2015-11-02 삼성전자주식회사 암호화 장치, 암호화 방법, 복호화 방법 및 컴퓨터 판독가능 기록매체
CN108965218B (zh) * 2017-05-25 2020-09-29 华为技术有限公司 一种控制器区域网总线安全通信方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571259A (zh) * 2010-12-09 2012-07-11 中国科学院沈阳计算技术研究所有限公司 一种用于数控总线的安全可控通信方法
CN103281224A (zh) * 2013-04-02 2013-09-04 中船重工(武汉)凌久高科有限公司 一种智能照明控制系统中can总线安全通信方法
CN108494725A (zh) * 2018-01-30 2018-09-04 惠州市德赛西威汽车电子股份有限公司 一种车载can总线报文的加密通信方法
CN110661746A (zh) * 2018-06-28 2020-01-07 中车株洲电力机车研究所有限公司 一种列车can总线通信安全加密方法、解密方法
CN110247760A (zh) * 2019-06-18 2019-09-17 徐州徐工挖掘机械有限公司 一种can总线数据的加密、解密方法及装置
CN110545257A (zh) * 2019-07-22 2019-12-06 北京航盛新能科技有限公司 一种汽车can总线加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于智能网联汽车的CAN总线攻击与防御检测技术研究;杨宏;《中国优秀硕士学位论文全文数据库工程科技II辑》;20171015(第10期);全文 *
车载CAN总线认证与加密机制研究;孙瑶等;《北京信息科技大学学报(自然科学版)》;20190630;第34卷(第3期);全文 *

Also Published As

Publication number Publication date
WO2021168859A1 (zh) 2021-09-02
CN112640365A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN112640365B (zh) 一种控制器区域网can总线安全通信方法及装置
US11271771B2 (en) Controller area network bus based security communications method, apparatus, and system
US10728229B2 (en) Method and device for communicating securely between T-box device and ECU device in internet of vehicles system
Woo et al. Can id shuffling technique (cist): Moving target defense strategy for protecting in-vehicle can
Kurachi et al. CaCAN-centralized authentication system in CAN (controller area network)
US11245535B2 (en) Hash-chain based sender identification scheme
US20220276855A1 (en) Method and apparatus for processing upgrade package of vehicle
KR102450811B1 (ko) 차량 내부 네트워크의 키 관리 시스템
WO2018214487A1 (zh) 一种控制器区域网总线安全通信方法、装置及系统
CN111740942B (zh) 一种登录/注册方法、装置、系统、电子设备及存储介质
US11811922B2 (en) Key generation device, a vehicle-internal communication system, and a method for the vehicle-internal management of cryptographic keys
CN111756698B (zh) 一种消息传递方法、装置、设备和计算机可读存储介质
Püllen et al. Securing FlexRay-based in-vehicle networks
Oberti et al. Taurum p2t: Advanced secure can-fd architecture for road vehicle
WO2022110688A1 (zh) 基于现场总线的数据传输方法、身份识别方法及系统
CN113014391A (zh) 嵌入式系统的鉴权方法、终端设备及计算机可读存储介质
CN115398429A (zh) 用于处理数据异常的方法,特别是在机动车辆中
CN116070250B (zh) 一种安卓系统应用程序的密码算法测评方法及装置
CN114513371B (zh) 一种基于交互数据的攻击检测方法及系统
CN112738219B (zh) 程序运行方法、装置、车辆及存储介质
JP7467670B2 (ja) 特に自動車におけるデータの異常を処理するための方法
US20230345239A1 (en) Data transmission method and apparatus
CN111526108B (zh) 防止网络攻击的方法与装置
Piao et al. Research of FlexRay Network Security based on Star Topology
CN116566609A (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
GR01 Patent grant
GR01 Patent grant