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

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

Info

Publication number
WO2021168859A1
WO2021168859A1 PCT/CN2020/077345 CN2020077345W WO2021168859A1 WO 2021168859 A1 WO2021168859 A1 WO 2021168859A1 CN 2020077345 W CN2020077345 W CN 2020077345W WO 2021168859 A1 WO2021168859 A1 WO 2021168859A1
Authority
WO
WIPO (PCT)
Prior art keywords
identifier
message
electronic unit
security
security identifier
Prior art date
Application number
PCT/CN2020/077345
Other languages
English (en)
French (fr)
Inventor
林孝盈
雅思敏·雷哈娜
黄涛
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2020/077345 priority Critical patent/WO2021168859A1/zh
Priority to CN202080004609.XA priority patent/CN112640365B/zh
Publication of WO2021168859A1 publication Critical patent/WO2021168859A1/zh

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

Definitions

  • This application relates to the field of communication technology, and in particular to a method and device for secure communication of a controller area network CAN bus.
  • the Controller Area Network (CAN) communication protocol is the main network communication protocol for in-vehicle communication.
  • the CAN communication protocol regulates the format of CAN messages in the data link layer (DLL).
  • DLL data link layer
  • the identifier in the CAN message can be used to indicate the data carried in the CAN message.
  • the type of the functional service to which the information belongs, and the message identifier can also be used to determine the priority order of CAN message transmission.
  • the attacker can reversely parse the format of the CAN message, and then reversely derive the information carried in the data area according to the identifier, thereby tampering with the data information of the CAN message, resulting in the failure of the CAN bus communication system.
  • Security is difficult to guarantee. Therefore, how to securely protect the identifier of the CAN message so as to ensure the safety of the CAN bus communication system is a problem that needs to be solved urgently.
  • This application provides a CAN bus safety communication method and device to ensure CAN bus communication safety.
  • an embodiment of the present application provides a CAN bus secure communication method.
  • the method includes: a first electronic unit generates a CAN message to be sent based on a first security identifier, and an identifier field in the CAN message to be sent Is the first security identifier; the first security identifier is determined according to the first identifier of the first electronic unit and a one-way function that maintains the order; the first electronic unit monitors the message on the CAN bus, according to The magnitude relationship between the second security identifier of the identifier field of the monitored message and the first security identifier of the CAN message to be sent determines whether to send the CAN message to be sent.
  • the first electronic unit uses a one-way function that maintains the order to process the first identifier, which can ensure that the attacker cannot calculate the first identifier before processing based on the first security identifier within a limited time, and realizes the
  • the security protection of the identifier of the CAN message, and the one-way function also has the nature of maintaining the order, which can make the size relationship between the first security identifier and the security identifiers of other CAN messages differ from the first identifier and other security identifiers.
  • the size relationship between the identifiers of the CAN messages is kept consistent, and the decision-making function of the priority order of the identifiers of the CAN messages is maintained, and the safety protection of the identifiers of the CAN messages is realized, thereby realizing the safe communication of the CAN bus communication system .
  • the second security identifier is determined according to the second identifier of the sender of the monitored message and a one-way function that maintains the order.
  • the first identifier is a preset identifier of the first electronic unit.
  • the preset identifier is an identifier preset in the first electronic unit when the vehicle leaves the factory, and the preset identifier can also be understood as an initial identifier.
  • the first identifier is determined according to the preset identifier of the first electronic unit and the one-way function of the preserving order.
  • the first security identifier is determined based on the previously determined security identifier, thereby ensuring the unpredictability of the identifier, further increasing the difficulty of reverse engineering, and increasing the difficulty of identifier attacks and tampering.
  • the method further includes: the first electronic unit periodically updates the security identifier; the first identifier is a one-way function of the first electronic unit based on the maintaining order in the previous cycle The updated security identifier.
  • the first electronic unit periodically updates the security table identifier to ensure the unpredictability of the identifier, further increase the difficulty of reverse engineering, and increase the difficulty of identifier attacks and tampering.
  • a third security identifier is stored in the first electronic unit, and the third security identifier is used to identify the sender of the monitored CAN message, and the third security identifier The symbol is determined according to the third identifier and a one-way function that maintains the order.
  • the third identifier is the third identifier of the sender of the monitored CAN message.
  • the first electronic unit can identify the sender of the monitored CAN message according to the third security identifier, so as to determine the functional service to which the information carried in the data area of the monitored CAN message belongs Type, so as to realize the normal communication of the CAN bus communication system.
  • an embodiment of the present application further provides a device configured to execute the foregoing first aspect or any possible design method in the first aspect.
  • the device may include a unit (module) for executing the method in the first aspect or any possible design of the first aspect, for example, including a processing unit and a transceiver unit.
  • the transceiving unit may include a sending unit and a receiving unit, and the sending unit and the receiving unit may be different functional units, or may also be the same functional unit, but can implement different functions.
  • the device is an electronic unit, or a chip or other component provided in the electronic unit.
  • the electronic unit is a gateway ECU and/or a CAN bus ECU.
  • the transceiver unit may also be implemented by a transceiver, and the processing unit may also be implemented by a processor.
  • the sending unit may be realized by a transmitter
  • the receiving unit may be realized by a receiver.
  • the transmitter and the receiver may be different functional units, or may be the same functional unit, but can implement different functions.
  • the introduction is made by taking the device as the first electronic unit as an example. in,
  • the processing unit is configured to generate a controller area network CAN message to be sent based on a first security identifier, where the identifier field in the CAN message to be sent is the first security identifier; the first security identifier Determined according to the first identifier of the first electronic unit and the one-way function maintaining the order;
  • the transceiver unit is used to monitor the messages on the CAN bus;
  • the processing unit is further configured to determine whether to send the to-be-sent CAN message according to the magnitude relationship between the second security identifier of the identifier field of the monitored message and the first-security identifier of the CAN message to be sent. Send CAN message.
  • the second security identifier is determined according to the second identifier of the sender of the monitored message and a one-way function that maintains the order.
  • the first identifier is a preset identifier of the first electronic unit.
  • the first identifier is determined according to a preset identifier of the first electronic unit and the one-way function of maintaining the order.
  • the processing unit is further configured to periodically update the security identifier; the first identifier is the security identifier updated by the first electronic unit in the previous period.
  • it also includes:
  • the storage unit is configured to store a third security identifier, the third security identifier is used to identify the sender of the monitored CAN message, and the third security identifier is based on the third identifier and keeping the order One-way function is determined.
  • transceiving unit is also used to perform the sending operation and receiving operation in any possible design of the first aspect and the first aspect
  • processing unit is also used to perform any one of the first aspect and the first aspect.
  • Other operations in the possible design besides sending and receiving operations.
  • an embodiment of the present application further provides a device, which includes a processor and a communication interface, and the processor and the communication interface are coupled with each other, and are used to implement the above-mentioned first aspect or any of the possible design methods of the first aspect
  • the described method The communication interface is used to communicate with other devices or equipment.
  • it may also include a memory for storing computer instructions.
  • the processor, the memory, and the communication interface are coupled with each other, and are used to implement the methods described in the foregoing first aspect or various possible design manners of the first aspect.
  • the device is caused to execute the foregoing first aspect or any one of the possible design methods in the first aspect.
  • the device is an electronic unit, or a chip or other component provided in the electronic unit.
  • the electronic unit is a gateway ECU and/or a CAN bus ECU.
  • the communication interface is, for example, the input/output interface of the chip, such as input/output pins, etc., and the communication interface is connected to the radio frequency transceiver component in the communication device to transmit and receive via radio frequency.
  • the component realizes the sending and receiving of information.
  • the embodiments of the present application also provide a computer-readable storage medium, and the computer-readable storage medium stores instructions, which when run on a computer, cause the computer to execute the methods of the above aspects.
  • the embodiments of the present application also provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the methods of the above aspects.
  • the embodiments of the present application also provide a computer chip, which is connected to a memory, and the chip is used to read and execute a software program stored in the memory, and execute the methods of the foregoing aspects.
  • the embodiments of the present application also provide a CAN bus secure communication method, which can be applied to a communication system, and the communication system includes at least two electronic units and a CAN bus.
  • the method includes the CAN bus transmitting a message between the at least two electronic units; the first electronic unit generates a CAN message to be sent based on a first security identifier, and the identifier in the CAN message to be sent
  • the field is the first security identifier;
  • the first security identifier is determined according to the first identifier of the first electronic unit and a one-way function that maintains the order;
  • the first electronic unit monitors the CAN bus To determine whether to send the CAN message to be sent according to the magnitude relationship between the second security identifier of the identifier field of the monitored message and the first security identifier of the CAN message to be sent ;
  • the first electronic unit is one of the at least two electronic units.
  • the second security identifier is determined according to the second identifier of the transmission of the monitored message and a one-way function that maintains the order.
  • the first identifier is a preset identifier of the first electronic unit.
  • the first identifier is determined according to a preset identifier of the first electronic unit and the one-way function of maintaining the order.
  • the first electronic unit may also periodically update the security identifier; the first identifier is the one-way function update of the first electronic unit in the previous cycle based on the maintaining order Security identifier after the.
  • a third security identifier may be stored in the first electronic unit, and the third security identifier is used to identify the sender of the monitored CAN message.
  • the security identifier is determined based on the third identifier and a one-way function that maintains the order.
  • the third identifier is the third identifier of the sender of the monitored CAN message.
  • an embodiment of the present application also provides a communication system, the communication system includes at least two electronic units and a controller area network CAN bus, the CAN bus is connected to the at least two electronic units;
  • the CAN bus is used to transmit messages between the at least two electronic units;
  • the first electronic unit is used to generate a CAN message to be sent based on the first security identifier, and the identification field in the CAN message to be sent is all
  • the first security identifier is determined according to the first identifier of the first electronic unit and a one-way function that maintains the order; monitors the messages on the CAN bus, according to what is monitored
  • the size relationship between the second security identifier in the identifier field of the message and the first security identifier of the CAN message to be sent determines whether to send the CAN message to be sent;
  • the first electronic unit is One of at least two electronic units.
  • the second security identifier is determined according to the second identifier of the transmission of the monitored message and a one-way function that maintains the order.
  • the first identifier is a preset identifier of the first electronic unit.
  • the first identifier is determined according to a preset identifier of the first electronic unit and the one-way function of maintaining the order.
  • the first electronic unit may also periodically update the security identifier; the first identifier is the one-way function update of the first electronic unit in the previous cycle based on the maintaining order Security identifier after the.
  • a third security identifier may be stored in the first electronic unit, and the third security identifier is used to identify the sender of the monitored CAN message.
  • the security identifier is determined based on the third identifier and a one-way function that maintains the order.
  • an embodiment of the present application provides a vehicle.
  • the vehicle includes at least two electronic units and a CAN bus.
  • the vehicle can be used to implement any one of the possible design methods in the seventh aspect or the seventh aspect described above.
  • FIG. 1 is a schematic diagram of the format of a CAN message provided by an embodiment of the application
  • FIG. 2 is a schematic structural diagram of a CAN bus communication system provided by an embodiment of the application.
  • Fig. 3 is a schematic diagram of CAN messages being eavesdropped and injected in the CAN communication network for in-vehicle communication;
  • Figure 4 is a schematic diagram of the division of CAN identifiers
  • FIG. 5 is a schematic diagram of a CAN bus safety communication process provided by an embodiment of the application.
  • FIG. 6 is a schematic diagram of the update process of the CAN identifier provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of the relationship before and after the update of the CAN identifier provided by the embodiment of the application.
  • FIG. 8 is a schematic diagram of a collection of updated CAN identifiers provided by an embodiment of the application.
  • FIG. 9 is a schematic structural diagram of a CAN bus safety communication device provided by an embodiment of the application.
  • FIG. 10 is a schematic structural diagram of a CAN bus safety communication device provided by an embodiment of the application.
  • FIG. 11 is a schematic structural diagram of a communication system provided by an embodiment of this application.
  • the word "exemplary” is used to mean serving as an example, illustration, or illustration. Any embodiment or design solution described as an "example” in this application should not be construed as being more preferable or advantageous than other embodiments or design solutions. Rather, the term example is used to present the concept in a concrete way.
  • In-vehicle network refers to that the electronic units distributed in the vehicle are physically connected to each other and communicate with each other according to a certain network communication protocol to realize data communication and information transmission and reception.
  • the in-vehicle network is also called In-car local area network or in-car communication.
  • the electronic unit is used for data analysis and processing, sending and receiving, and realizing corresponding functional services.
  • the electronic unit includes a controller area network (CAN) bus electronic control unit (ECU), and/or a gateway ECU.
  • CAN controller area network
  • ECU electronice control unit
  • CAN communication protocol is a network communication protocol for in-car communication.
  • the electronic unit in the car can send and receive information based on the CAN communication protocol.
  • the CAN communication protocol defines the data transmission standards of the physical layer (physical layer) and the data link layer, and regulates the format of the CAN messages transmitted during the communication between various electronic units.
  • the format of the CAN message is shown in Figure 1.
  • the CAN message includes a message header (start of frame, SOF), CAN identifier (ID), remote transmission request (RTR) code, and control area (Control), data area (data), cyclic redundancy check (CRC), response (acknowledgment, ACK), end of frame (EOF).
  • CAN identifier also called identifier
  • the CAN identifier can also be used to determine the priority order of CAN message transmission, that is, the CAN identifier can also be used as a basis for determining the priority order of CAN message transmission.
  • the CAN identifier can also be used to indicate what kind of functional service information or functional service system information is carried in the data area, that is, the CAN identifier can also be used to identify the type of functional service or functional service system to which the information carried in the data area belongs type.
  • the data area is up to 8 bytes in the CAN standard.
  • the "and/or” in this application describes the association relationship of the associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone. This situation.
  • the character "/” generally indicates that the associated objects before and after are in an "or” relationship.
  • the multiple involved in this application refers to two or more.
  • the CAN bus safety communication system may include: a gateway ECU (also called a central gateway ECU), at least one CAN bus connected to the gateway ECU, and at least one CAN bus ECU connected to each CAN bus .
  • a gateway ECU also called a central gateway ECU
  • Both the gateway ECU and the CAN bus ECU have a processor for arithmetic processing, an internal storage space for storing commands, and a transceiver for sending and receiving information.
  • a CAN bus ECU usually includes a set of transceivers, which are connected to a CAN bus.
  • the gateway ECU may include multiple sets of transceivers and connect to multiple CAN buses.
  • the CAN bus can be understood as a transmission channel for CAN bus safety communication, and the gateway ECU can send and receive information in parallel through multiple CAN buses connected to it.
  • CAN bus ECU transmits and receives information through the CAN bus connected to it.
  • each CAN bus ECU can communicate with the gateway ECU, and each CAN bus ECU can also communicate with each other.
  • the vehicle contains multiple functional business systems (such as one or more of power transmission system, comfort system, diagnostic system and infotainment system), and each functional business system is used to implement one or more business functions.
  • the power transmission system can detect the engine speed in real time and transmit the speed value to the CAN bus.
  • the instrument panel can display the data in real time after receiving the data.
  • Each CAN bus ECU can be responsible for a functional business communication network in
  • the structure of the gateway ECU and the CAN bus ECU in the CAN bus safety communication system shown in FIG. 2 is only an implementation of the embodiment of the present application. In actual applications, the gateway ECU and the CAN bus ECU may also include more There are no restrictions on more or less parts.
  • the transceiver can be connected to and communicate with other transceivers through the physical CAN bus.
  • the physical CAN bus uses the CAN communication protocol for communication.
  • the CAN communication protocol may include but is not limited to: CAN2.0A, CAN2.0B, CAN-FD (CAN flexible data-rate).
  • the transceiver may also communicate with other communication devices using different communication networks, such as Ethernet (Ethernet), radio access technology (RAN), wireless local area networks (WLAN), etc.
  • the communication protocols supported by the transceiver may include, but are not limited to: 2G/3G, long term evolution (LTE), wireless-fidelity (Wi-Fi), and 5G new radio (new radio, NR) and so on.
  • the storage space (may also be referred to as a memory) is coupled with the processor, and is used to store various software programs and/or multiple sets of instructions.
  • the storage space may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
  • the storage space can store the operating system for CAN bus safety communication.
  • the storage space can be used to store the implementation program of the embodiment of the present application.
  • the storage space may also store a network communication program, which may be used to communicate with one or more additional devices, one or more terminal devices, and one or more network devices.
  • the processor may be a general-purpose central processing unit (central processing unit, CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of this application Circuit.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the gateway ECU and the CAN bus ECU may also include output devices and input devices (not shown in FIG. 2).
  • the output device communicates with the processor and can display information in a variety of ways.
  • the output device can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc.
  • the input device communicates with the processor and can receive user input in a variety of ways.
  • the input device can be a mouse, a keyboard, a touch screen device, or a sensor device.
  • the memory can also store a user interface program, which can vividly display the content of the application program through a graphical operation interface, and through the menu Input controls such as dialog boxes and buttons receive the user's control operations on the application.
  • a user interface program which can vividly display the content of the application program through a graphical operation interface, and through the menu Input controls such as dialog boxes and buttons receive the user's control operations on the application.
  • the sender sends out a CAN message, and the receiver selects the CAN message to be received according to the CAN identifier.
  • a CAN message corresponding to a CAN identifier can have more than two receivers.
  • the CAN message sent by the CAN bus ECU1 can be received by the CAN bus ECU2 and the CAN bus ECU3.
  • the CAN identifier can not only be used to identify different CAN messages in the process of CAN message transmission, but also can be used to determine the priority order of CAN message transmission.
  • the CAN messages with the higher priority corresponding to the CAN identifier value are sent. For example, the smaller the CAN identifier value, the higher the priority. The larger the CAN identifier value, the lower the priority order, and the CAN message with the smaller CAN identifier value will be sent first.
  • the malicious attacker can parse the message format first, and then implant errors for the attack target (engine speed value) Value, the dashboard receives and displays the wrong value.
  • the identifier is 0x123
  • byte 0 and byte 1 carry the engine speed value 0x5DC, which means that the engine speed value is 1500 revolutions per minute (RPM).
  • RPM revolutions per minute
  • the information carried in section 0 and byte 1 is tampered with.
  • the engine speed value in the tampered CAN message is 0x1F40, which means that the engine speed value is 8000 RPM, and the dashboard displays the wrong engine speed value 8000 RPM.
  • the safe communication of the CAN bus can be ensured by the following methods.
  • the identifier of the CAN message includes 11 bits or 29 bits, and the CAN identifier is divided into two parts, where a bit is used to determine the priority order, and the rest (11-a) bits Or (29-a) bits are encrypted with a preset password to achieve anonymization. Only when the preset password is stored can the (11-a) bits or (29-a) bits be decrypted correctly, so as to ensure the identity of the identifier Security, thereby ensuring the security of the CAN bus communication system.
  • the length of the information used by the identifier to determine the priority order is shortened, which may not guarantee the priority decision function of the identifier.
  • a white list of identifiers is set in the transceiver of the electronic unit.
  • the electronic unit will receive or send CAN messages.
  • the CAN identifier is plain text, and the attacker can still parse the information corresponding to the identifier through a certain period of monitoring, so as to attack and tamper. The security of the identifier is still not guaranteed.
  • the third type is to encrypt the data area in the CAN message, but for the communication process, the CAN identifier is plaintext, and the attacker can still analyze the information corresponding to the identifier through a certain period of monitoring and reversely analyze the information corresponding to the identifier to attack And tampering, the security of the identifier is still not guaranteed.
  • the present application proposes a CAN bus secure communication method, which securely protects the identifier of the CAN message to avoid attack and tampering of the CAN message by an attacker during the communication process.
  • the first electronic unit determines the first security identifier according to the first identifier of the first electronic unit and the one-way function maintaining the order, and the first electronic unit is based on the security identifier
  • the identifier generates a CAN message to be sent, and the identifier field in the CAN message to be sent is a security identifier.
  • the first identifier of the first electronic unit is processed by a one-way function that maintains the order, which can ensure that the attacker is
  • the first identifier before processing cannot be calculated based on the first security identifier within a limited time, so that the security protection of the identifier of the CAN message is realized, and the one-way function also has the property of maintaining the order, which can make the first security identifier
  • the size relationship between the security identifier and the security identifier of other CAN messages is consistent with the size relationship between the first identifier and the identifiers of other CAN messages.
  • the first electronic unit is based on the identifier of the monitored message.
  • the size relationship between the second security identifier of the field and the first security identifier can still accurately determine whether to send the CAN message to be sent. Therefore, through this method, not only can the identifier of the CAN message be safely protected, but also the decision-making function of the priority order of the identifier of the CAN message is maintained, thereby realizing the safety communication of the CAN bus communication system.
  • the embodiment of the present application provides a CAN bus secure communication method, which can be applied to the CAN bus communication system as shown in FIG. 2.
  • CAN bus secure communication method which can be applied to the CAN bus communication system as shown in FIG. 2.
  • Figure 8 the specific process of the CAN bus safety communication method will be described in detail. As shown in Figure 5, the process includes:
  • S501 The first electronic unit generates a CAN message to be sent based on the first security identifier.
  • the first electronic unit may be any electronic unit in the CAN bus communication system in the vehicle, and is not limited to a specific electronic unit.
  • the first electronic unit includes a gateway ECU and/or a CAN bus ECU.
  • the first electronic unit can determine whether it needs to generate CAN messages according to actual needs. For example, the first electronic unit periodically generates CAN messages according to the set first time interval, or the vehicle When the user steps on the brakes during driving, the first electronic unit generates CAN messages about braking, etc., which are not listed here.
  • the identifier field in the CAN message to be sent is the first security identifier.
  • the information carried in the data area of the CAN message to be sent may include encrypted data information, or may include plaintext data information.
  • the first security identifier is determined according to the first identifier of the first electronic unit and a one-way function maintaining the order.
  • the first electronic unit stores a setting update condition, and the setting update condition can determine the rule and frequency of the first electronic unit to update the security identifier.
  • setting the update condition may include an update signal and/or an update period (such as a set second time interval).
  • the first electronic unit updates the first identifier through the one-way function (such as function F) that maintains the order to obtain the first security identifier symbol.
  • the first electronic unit uses the first security identifier to update the existing first identifier, and subsequently the first electronic unit uses the first security identifier to receive and send CAN messages.
  • the first electronic unit when the first electronic unit recognizes the update signal, it updates the first identifier by using the one-way function that maintains the order to obtain the first security identifier.
  • the update signal includes a power-on signal of the entire vehicle and so on.
  • the first identifier may be a preset identifier of the first electronic unit, or the first identifier may be based on the preset identifier of the first electronic unit and the The order-maintaining one-way function is determined, or the first identifier may be a security identifier of the first electronic unit last updated based on the one-way function of the order-maintaining.
  • the preset identifier is an identifier preset in the electronic unit when the vehicle leaves the factory.
  • the first electronic unit periodically updates the security identifier.
  • the first electronic unit uses the one-way function that maintains the order according to a set period length or a second time interval. Update the currently saved first identifier.
  • a set period length T is stored in the first electronic unit, so that the first electronic unit periodically updates the security identifier.
  • the first identifier may be a preset identifier of the first electronic unit, or the first identifier may be based on the preset identifier of the first electronic unit and the The order-maintaining one-way function is determined, or the first identifier may be a security identifier of the first electronic unit updated based on the order-maintaining one-way function in the previous cycle.
  • the attacker Regardless of whether the first electronic unit updates the security identifier according to the trigger of the update signal, or the first electronic unit updates the security identifier periodically, since the attacker cannot know the update rule and frequency of the security identifier, the attacker's eavesdropping is increased. Attack the difficulty of reverse engineering, thereby further ensuring the security of the CAN bus communication system.
  • the order-preserving one-way function F involved in the embodiments of the present application has at least the following two properties: one-way computing (one-way computing) and order-preserving (Order-preserving), where one-way computing refers to inputting a to the According to the one-way function F that maintains the order, the output value f(a) can be obtained, but according to the obtained f(a), the input value a corresponding to f(a) cannot be calculated within a finite time; the maintenance order means that there are two A and b, respectively input a and b into the one-way function F that maintains the order, and obtain the output values F(a) and F(b) respectively.
  • F(a) is greater than F( b), or as shown in Figure 7, if a is less than b, then F(a) is less than F(b).
  • the one-way function of maintaining the order is different from simply applying an encryption algorithm or a hash algorithm to protect the identifier, which prevents the priority order from being destroyed.
  • the first electronic unit stores the parameters of the order-maintaining one-way function F, and the parameters in the order-maintaining one-way function F include one or more key parameters, and the one or Multiple key parameters can be used to ensure that F has the property of maintaining order, and the one or more key parameters are unknown to the attacker.
  • the first electronic unit may update all the content of the first identifier, or the first electronic unit may update part of the content of the first identifier. As shown in Figure 7, the partial content A of the first identifier is updated to obtain F(A), and the partial content B of the second identifier is updated to obtain F(B). If A is less than B, then F(A) is less than F(B).
  • each electronic unit in the vehicle can also update each identifier with which it has a transceiving relationship.
  • the updated identifier can also be pre-calculated, and the updated identifier can be stored in advance. In this way, when the CAN message is sent, it can be directly selected and used from the pre-stored updated identifiers. No real-time calculation is required, thereby improving the communication efficiency of the CAN bus communication system.
  • the preset identifiers and updated identifiers are stored in the order of identifier update respectively.
  • the first column represents the preset identifiers.
  • the preset identifiers include A1, B1, C1, D1 and E1
  • the second column is the security identifier obtained by updating the preset identifier in the first column, including A2 obtained by updating A1, B2 obtained by updating B1, C2 obtained by updating C1, and D2 obtained by updating D1 and E2 obtained by updating E1.
  • the third column is the security identifier obtained by updating the security identifier in the second column, including A3 obtained by updating A2 and updating B2.
  • the fourth column is the security obtained by updating the security identifier in the third column Identifiers, etc.
  • the order-maintaining one-way function F is used as the update mechanism of the security identifier. Since the order-maintaining one-way function has the property of maintaining the order, the identifier is kept before and after the update. Have the same transmission priority order, and because the one-way function F that maintains the order has the nature of one-way calculation, the updated identifier cannot be traced back to its corresponding identifier before the update, which ensures the unpredictability of the identifier. The difficulty of reverse engineering is improved, and the difficulty of identifier attack and tampering is improved.
  • the CAN bus communication system is preset.
  • the electronic unit on the CAN bus is equipped with a time synchronization system, which is used to ensure the relative time synchronization between each electronic unit, so that the security identifier determined at the same time between each electronic unit is consistent .
  • the electronic unit on the CAN bus is provided with a one-way function F that maintains the order, and the parameters used by the one-way function F that maintains the order. It can be understood that the electronic unit is provided with one or more order-keeping orders. Directional function F. If there are multiple one-way functions F that maintain the order, you can also set them separately.
  • the same one-way function that maintains the order is used between the electronic units that send and receive CAN messages.
  • Function F the electronic unit on the CAN bus is provided with one or more setting update conditions, such as update signals and/or update cycles.
  • the electronic unit on the CAN bus is provided with a preset identifier, and the electronic unit updates the security identifier and transmits the CAN message based on the preset identifier.
  • S502 The first electronic unit monitors the message on the CAN bus.
  • CAN bus ECU2 and CAN bus ECU3 can monitor CAN messages sent by CAN bus ECU1, and CAN bus ECU1 can also monitor CAN messages sent by CAN bus ECU2 and CAN bus ECU3.
  • the first electronic unit determines whether to send the second security identifier of the identifier field of the monitored message and the first security identifier of the CAN message to be sent. CAN message to be sent.
  • the first electronic unit If the first electronic unit does not monitor the message, the first electronic unit sends the CAN message to be sent.
  • the first electronic unit determines the magnitude relationship between the second security identifier of the monitored message and the first security identifier of the CAN message to be sent , Determine the priority order of the monitored message and the CAN message to be sent, if the priority of the CAN message to be sent is higher (or not lower than) the monitored message, the first The electronic unit sends the CAN message to be sent, and if the priority of the CAN message to be sent is not higher (or lower) than the monitored message, the first electronic unit does not send the CAN message to be sent Message, the sender of the monitored message sends the monitored message.
  • the second security identifier is determined according to the second identifier of the sender of the monitored message and a one-way function that maintains the order. For the process of determining the second security identifier, refer to the above S501. I will not repeat them here.
  • a third security identifier is stored in the first electronic unit, and the third security identifier is used to identify the sender of the monitored CAN message.
  • the third security identifier is determined according to the third identifier and a one-way function that maintains the order. For the determination process of the second security identifier, refer to the foregoing S501, which will not be repeated here.
  • the first electronic unit can identify the sender of the monitored CAN message according to the third security identifier of the identifier field of the monitored CAN message, thereby determining the monitored CAN message
  • the data area bears the information of what kind of functional service.
  • each electronic unit on the CAN bus has its own security identifier and the security identifiers of other electronic units on the CAN bus.
  • the embodiment of this application proposes a one-way function F that maintains the order as an update mechanism for the identifier, which can be used for CAN bus ECUs and between CAN bus ECUs and gateway ECUs.
  • the message is encrypted and authenticated.
  • the order-maintaining one-way function provides the unpredictability of identifiers.
  • the order-protection nature of the order-maintaining one-way function F ensures that the CAN message maintains the original priority order in transmission after the identifier is updated, and the order is maintained.
  • the one-way calculation nature of the function F ensures that the updated identifier cannot be traced back to the corresponding CAN identifier before the update, which increases the difficulty of reverse engineering, ensures the security of CAN message data, and resists malicious attackers to CAN messages. Eavesdropping, injection and replay attacks of texts, so as to realize the security of CAN bus communication system.
  • the embodiment of the present application also provides a device for executing the method executed by the electronic unit in the method embodiment shown in FIG. 5 to FIG. 8.
  • the device includes a processing unit 901 and a transceiver unit 902:
  • the processing unit 901 is configured to generate a controller area network CAN message to be sent based on the first security identifier, where the identifier field in the CAN message to be sent is the first security identifier; the first security identifier The symbol is determined according to the first identifier of the first electronic unit and a one-way function that maintains the order;
  • the transceiver unit 902 is used to monitor messages on the CAN bus;
  • the processing unit 901 is further configured to determine whether to send the second security identifier of the identifier field of the monitored message and the first security identifier of the CAN message to be sent. CAN message to be sent.
  • the second security identifier is determined according to the second identifier of the sender of the monitored message and a one-way function that maintains the order.
  • the first identifier is a preset identifier of the first electronic unit.
  • the first identifier is determined according to a preset identifier of the first electronic unit and the one-way function of maintaining the order.
  • the processing unit 901 is further configured to periodically update the security identifier; the first identifier is the security identifier updated by the first electronic unit in the previous period.
  • the storage unit 903 is configured to store a third security identifier, the third security identifier is used to identify the sender of the monitored CAN message, and the third security identifier is based on the third identifier and the retention sequence The one-way function is determined.
  • the electronic unit may be presented in the form of dividing various functional modules in an integrated manner.
  • the "module” here can refer to a specific ASIC, circuit, processor and memory that executes one or more software or firmware programs, integrated logic circuit, and/or other devices that can provide the above-mentioned functions.
  • the division of units (modules) in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, there may be other division methods.
  • the functional units in the various embodiments of the present application may be integrated In one unit or one processor, it may also exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware or software functional unit, or may be implemented in the form of hardware plus software, which is not limited in the embodiment of the present application.
  • the above-mentioned processing unit 901 may be realized by a processor
  • the above-mentioned transceiving unit 902 may be realized by a transceiver or a communication interface
  • the above-mentioned storage unit 903 may be realized by a memory.
  • the electronic unit can take the form shown in FIG. 10.
  • the communication device 1000 shown in FIG. 10 includes at least one processor 1001, a memory 1002, and optionally, a communication interface 1003.
  • the memory 1002 may be a volatile memory, such as a random access memory; the memory may also be a non-volatile memory, such as a read-only memory, flash memory, hard disk drive (HDD) or solid-state drive (solid-state drive, SSD) or the memory 1002 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory 1002 may be a combination of the above-mentioned memories.
  • the specific connection medium between the foregoing processor 1001 and the memory 1002 is not limited in the embodiment of the present application.
  • the memory 1002 and the processor 1001 are connected through a bus 1004, and the bus 1004 is indicated by a thick line in the figure. Is limited.
  • the bus 1004 can be divided into an address bus, a data bus, a control bus, and so on. For ease of representation, only one thick line is used to represent in FIG. 10, but it does not mean that there is only one bus or one type of bus.
  • an independent data transceiver module such as a communication interface 1003, can be set to send and receive data; when the processor 1001 communicates with other devices, data can be transmitted through the communication interface 1003.
  • the processor 1001 in FIG. 10 can call the computer to execute instructions stored in the memory 1002, so that the electronic unit can execute the electronic unit in any of the foregoing method embodiments. Method of execution.
  • the functions/implementation processes of the processing unit and the transceiver unit in FIG. 9 can be implemented by the processor 1001 in FIG. 10 calling a computer execution instruction stored in the memory 1002.
  • the function/implementation process of the processing unit in FIG. 9 may be implemented by the processor 1001 in FIG. 10 calling computer execution instructions stored in the memory 1002, and the function/implementation process of the transceiver unit in FIG. 9 may be implemented by The communication interface 1003 is implemented.
  • a computer-readable storage medium is provided, and an instruction is stored thereon.
  • the instruction is executed, the CAN bus safety communication method in the foregoing method embodiment can be executed.
  • a computer program product containing instructions is provided.
  • the instructions are executed, the CAN bus secure communication method in the foregoing method embodiment can be executed.
  • a chip which can execute the CAN bus secure communication method in the foregoing method embodiment when the chip is running.
  • the embodiment of the present application also provides a communication system.
  • the communication system includes at least two electronic units 1101 and a CAN bus 1102, and the CAN bus 1102 is connected to the at least two electronic units 1101.
  • the CAN bus 1102 is used to transmit messages between the at least two electronic units, and the electronic unit 1101 is used to execute the method executed by the electronic unit in the method embodiments shown in FIG. 5 to FIG. Refer to the foregoing method embodiment, which will not be repeated here.
  • the communication system may be a vehicle, or the communication system may be located in a vehicle. It can be understood that one or more CAN buses 1102 may be included in the communication system.
  • the processor in the embodiment of the present application may be an integrated circuit chip with signal processing capability.
  • the steps of the foregoing method embodiments can be completed by hardware integrated logic circuits in the processor or instructions in the form of software.
  • the above-mentioned processor may be a general-purpose central processing unit (central processing unit, CPU), general-purpose processor, digital signal processing (digital signal processing, DSP), application specific integrated circuits (ASIC), field programmable gate array Field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof; it can also be a combination that implements computing functions, such as a combination of one or more microprocessors, DSP and micro-processing The combination of the device and so on.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the memory or storage unit in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electrically available Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • static random access memory static random access memory
  • dynamic RAM dynamic RAM
  • DRAM dynamic random access memory
  • synchronous dynamic random access memory synchronous DRAM, SDRAM
  • double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • synchronous connection dynamic random access memory serial DRAM, SLDRAM
  • direct rambus RAM direct rambus RAM
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer programs or instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer program or instruction may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server integrating one or more available media.
  • the usable medium may be a magnetic medium, such as a floppy disk, a hard disk, and a magnetic tape; it may also be an optical medium, such as a DVD; and it may also be a semiconductor medium, such as a solid state disk (SSD).
  • the various illustrative logic units and circuits described in the embodiments of this application can be implemented by general-purpose processors, digital signal processors, application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, Discrete gates or transistor logic, discrete hardware components, or any combination of the above are designed to implement or operate the described functions.
  • the general-purpose processor may be a microprocessor.
  • the general-purpose processor may also be any traditional processor, controller, microcontroller, or state machine.
  • the processor can also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors combined with a digital signal processor core, or any other similar configuration. accomplish.
  • the steps of the method or algorithm described in the embodiments of the present application can be directly embedded in hardware, a software unit executed by a processor, or a combination of the two.
  • the software unit can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other storage medium in the art.
  • the storage medium may be connected to the processor, so that the processor can read information from the storage medium, and can store and write information to the storage medium.
  • the storage medium may also be integrated into the processor.
  • the processor and the storage medium can be arranged in an ASIC, and the ASIC can be arranged in an electronic unit.
  • the processor and the storage medium may also be arranged in different components in the electronic unit.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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的密钥参数。若每次整车上电时触发标识符的更新,车内的每个电子单元对当前的第一标识符X t进行更新,更新后得到的第一安全标识符X t+1为F(X t)=a*log(x t+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 processing unit,CPU),通用处理器,数字信号处理(digital signal processing,DSP),专用集成电路(application specific integrated circuits,ASIC),现场可编程门阵列(field programmable 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 data rate 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或2或4所述的方法,其特征在于,还包括:所述第一电子单元周期性的更新安全标识符;
    所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
  6. 如权利要求1-5任一项所述的方法,其特征在于,所述第一电子单元中存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
  7. 一种装置,其特征在于,包括:
    处理单元,用于基于第一安全标识符生成待发送控制器区域网CAN报文,所述待发送CAN报文中的标识符字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;
    收发单元,用于监听CAN总线上的报文;
    所述处理单元,还用于根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文。
  8. 如权利要求7所述的装置,其特征在于,所述第二安全标识符根据所述监听到的报文的发送方的第二标识符和保持顺序的单向函数确定。
  9. 如权利要求7或8所述的装置,其特征在于,所述第一标识符为所述第一电子单元的预置标识符。
  10. 如权利要求7或8所述的装置,其特征在于,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
  11. 如权利要求7或8或10所述的装置,其特征在于,所述处理单元,还用于周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期更新后的安全标识符。
  12. 如权利要求7-11任一项所述的装置,其特征在于,还包括:
    存储单元,用于存储有第三安全标识符,所述第三安全标识符用于识别所监听到的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或16或18所述的方法,其特征在于,还包括:所述第一电子单元周期性的更新安全标识符;
    所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
  20. 如权利要求15-19任一项所述的方法,其特征在于,所述第一电子单元中存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据第三标识符和保持顺序的单向函数确定。
  21. 一种通信系统,其特征在于,所述通信系统包括至少两个电子单元和控制器区域网CAN总线,所述CAN总线与所述至少两个电子单元相连接;
    所述CAN总线用于在所述至少两个电子单元之间传输报文;
    第一电子单元用于基于第一安全标识符生成待发送CAN报文,所述待发送CAN报文中的标识字段为所述第一安全标识符;所述第一安全标识符根据所述第一电子单元的第一标识符和保持顺序的单向函数确定;监听所述CAN总线上的报文,根据所监听到的报文的标识符字段的第二安全标识符和所述待发送CAN报文的所述第一安全标识符的大小关系确定是否发送所述待发送CAN报文;
    所述第一电子单元为所述至少两个电子单元中的一个。
  22. 如权利要求21所述的系统,其特征在于,所述第二安全标识符根据所述监听到 的报文的发送方的第二标识符和保持顺序的单向函数确定。
  23. 如权利要求21或22所述的系统,其特征在于,所述第一标识符为所述第一单子单元的预置标识符。
  24. 如权利要求21或22所述的系统,其特征在于,所述第一标识符根据所述第一电子单元的预置标识符和所述保持顺序的单向函数确定。
  25. 如权利要求21或22或24所述的系统,其特征在于,所述第一电子单元还用于周期性的更新安全标识符;所述第一标识符为所述第一电子单元上一周期基于所述保持顺序的单向函数更新后的安全标识符。
  26. 如权利要求21-25任一项所述的系统,其特征在于,所述第一电子单元还用于存储有第三安全标识符,所述第三安全标识符用于识别所监听到的CAN报文的发送方,所述第三安全标识符根据所述第三标识符和保持顺序的单向函数确定。
PCT/CN2020/077345 2020-02-29 2020-02-29 一种控制器区域网can总线安全通信方法及装置 WO2021168859A1 (zh)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
WO2021168859A1 true WO2021168859A1 (zh) 2021-09-02

Family

ID=75291162

Family Applications (1)

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

Country Status (2)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115571072A (zh) * 2022-10-24 2023-01-06 中国第一汽车股份有限公司 抬头显示器模式转换方法、装置、电子设备及存储介质
CN115664592A (zh) * 2022-10-11 2023-01-31 华人运通(上海)自动驾驶科技有限公司 报文时间戳对齐方法、电子设备和车辆
WO2023134428A1 (zh) * 2022-01-14 2023-07-20 华为技术有限公司 Can通信方法、电子设备及can通信系统
CN116781448A (zh) * 2023-08-17 2023-09-19 北京芯驰半导体科技有限公司 一种can报文防丢失方法、装置、系统、芯片及介质
CN116847004A (zh) * 2023-08-30 2023-10-03 江铃汽车股份有限公司 一种汽车can信号的解析方法、系统及计算机设备
CN117336247A (zh) * 2023-09-27 2024-01-02 三一汽车起重机械有限公司 一种通信网络负载率控制方法、装置和设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113328919B (zh) * 2021-05-28 2023-10-10 江苏徐工工程机械研究院有限公司 一种can总线标识符、通信方法以及通信系统
CN114942623B (zh) * 2022-05-31 2024-07-09 中国第一汽车股份有限公司 控制器的测试方法、装置、车辆及计算机可读存储介质

Citations (6)

* 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
US20150312029A1 (en) * 2014-04-23 2015-10-29 Samsung Electronics Co., Ltd. Encryption apparatus, method for encryption, method for decryption and computer-readable recording medium
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
CN102571259B (zh) * 2010-12-09 2014-05-07 中国科学院沈阳计算技术研究所有限公司 一种用于数控总线的安全可控通信方法
CN103281224B (zh) * 2013-04-02 2016-08-10 中船重工(武汉)凌久高科有限公司 一种智能照明控制系统中can总线安全通信方法
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
US20070038579A1 (en) * 2005-08-12 2007-02-15 Tsys-Prepaid, Inc. System and method using order preserving hash
US20150312029A1 (en) * 2014-04-23 2015-10-29 Samsung Electronics Co., Ltd. Encryption apparatus, method for encryption, method for decryption and computer-readable recording medium
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
SUN YAO, WANG XIAONI, LIU PENG, YU ZHAOXIAN, WANG JIAPO, WU JIE: "Research on vehicle CAN bus authentication and encryption mechanism", JOURNAL OF BEIJING INFORMATION SCIENCE & TECHNOLOGY UNIVERSITY, BEIJING INFORMATION SCIENCE & TECHNOLOGY UNIVERSITY, CN, vol. 34, no. 3, 1 June 2019 (2019-06-01), CN, pages 73 - 78, XP055841757, ISSN: 1674-6864, DOI: 10.16508/j.cnki.11-5866/n.2019.03.015 *
YANG HONG: "Research on CAN Bus Attack and Defense Detection Technology Based on Intelligent Network of Car", CHINESE MASTER'S THESES FULL-TEXT DATABASE, TIANJIN POLYTECHNIC UNIVERSITY, CN, 15 October 2017 (2017-10-15), CN, XP055841761, ISSN: 1674-0246 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023134428A1 (zh) * 2022-01-14 2023-07-20 华为技术有限公司 Can通信方法、电子设备及can通信系统
CN115664592A (zh) * 2022-10-11 2023-01-31 华人运通(上海)自动驾驶科技有限公司 报文时间戳对齐方法、电子设备和车辆
CN115571072A (zh) * 2022-10-24 2023-01-06 中国第一汽车股份有限公司 抬头显示器模式转换方法、装置、电子设备及存储介质
CN116781448A (zh) * 2023-08-17 2023-09-19 北京芯驰半导体科技有限公司 一种can报文防丢失方法、装置、系统、芯片及介质
CN116781448B (zh) * 2023-08-17 2023-11-07 北京芯驰半导体科技有限公司 一种can报文防丢失方法、装置、系统、芯片及介质
CN116847004A (zh) * 2023-08-30 2023-10-03 江铃汽车股份有限公司 一种汽车can信号的解析方法、系统及计算机设备
CN116847004B (zh) * 2023-08-30 2023-11-17 江铃汽车股份有限公司 一种汽车can信号的解析方法、系统及计算机设备
CN117336247A (zh) * 2023-09-27 2024-01-02 三一汽车起重机械有限公司 一种通信网络负载率控制方法、装置和设备

Also Published As

Publication number Publication date
CN112640365B (zh) 2022-04-08
CN112640365A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
WO2021168859A1 (zh) 一种控制器区域网can总线安全通信方法及装置
US11271771B2 (en) Controller area network bus based security communications method, apparatus, and system
US11595422B2 (en) Method for preventing electronic control unit from executing process based on malicious frame transmitted to bus
US10728229B2 (en) Method and device for communicating securely between T-box device and ECU device in internet of vehicles system
US11321074B2 (en) Vehicle-mounted device upgrade method and related apparatus
KR102243114B1 (ko) 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증
US11245535B2 (en) Hash-chain based sender identification scheme
KR102450811B1 (ko) 차량 내부 네트워크의 키 관리 시스템
JP2015114907A (ja) ネットワーク装置およびネットワークシステム
WO2021147100A1 (zh) 报文传输方法及装置
WO2018214487A1 (zh) 一种控制器区域网总线安全通信方法、装置及系统
WO2020259169A1 (zh) 认证方法、设备及系统
WO2024022096A1 (zh) 消息加密方法、解密方法、装置及存储介质
Püllen et al. Securing FlexRay-based in-vehicle networks
Ansari et al. IntelliCAN: Attack-resilient controller area network (CAN) for secure automobiles
WO2023000313A1 (zh) 一种密钥验证方法及相关装置
WO2022110688A1 (zh) 基于现场总线的数据传输方法、身份识别方法及系统
KR20220095503A (ko) 오토모티브 이더넷 기반 차량 내부 네트워크 데이터 통신 장치 및 방법
JP2023519910A (ja) 特に自動車におけるデータの異常を処理するための方法
US20230345239A1 (en) Data transmission method and apparatus
CN111526108B (zh) 防止网络攻击的方法与装置
US20240007480A1 (en) Method of verifying the integrity of an application in a vehicle controller
Piao et al. Research of FlexRay Network Security based on Star Topology
CN116405284A (zh) 数据传输方法、数据获取方法、装置、设备及介质
XUE A Novel Approach for Flexray Protocol with Confidentiality and Authenticity

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20921565

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20921565

Country of ref document: EP

Kind code of ref document: A1