WO2020246145A1 - 電子制御装置および通信システム - Google Patents

電子制御装置および通信システム Download PDF

Info

Publication number
WO2020246145A1
WO2020246145A1 PCT/JP2020/016512 JP2020016512W WO2020246145A1 WO 2020246145 A1 WO2020246145 A1 WO 2020246145A1 JP 2020016512 W JP2020016512 W JP 2020016512W WO 2020246145 A1 WO2020246145 A1 WO 2020246145A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
freshness
list
message
received
Prior art date
Application number
PCT/JP2020/016512
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 DE112020002661.2T priority Critical patent/DE112020002661T5/de
Priority to JP2021524691A priority patent/JP7226543B2/ja
Publication of WO2020246145A1 publication Critical patent/WO2020246145A1/ja
Priority to US17/457,097 priority patent/US11916904B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • This application relates to the verification of a message for ensuring the security of an electronic control unit (ECU: Electric Control Unit), and is mainly used for an in-vehicle electronic control unit.
  • ECU Electric Control Unit
  • a replay attack which steals a legitimate message, sends the stolen message as it is, and impersonates the legitimate message.
  • a method has been proposed in which a counter or a time stamp attached to the message is used to determine whether the message is a normal message or an invalid message due to the reproduction attack.
  • Patent Document 1 discloses that an illegal message due to a reproduction attack is detected by comparing the count value given to the message with the count value held by the receiving EUC. Further, according to the method of Patent Document 1, since the counter is composed of a plurality of types of count values, the count value is less likely to deviate between the transmitting side and the receiving side, and the count value deviates. Even if this occurs, it is possible to easily resynchronize between the transmitting side and the receiving side.
  • connection-oriented communication which establishes a connection before starting communication
  • connectionless communication which communicates without establishing a connection in advance.
  • the packet reception order is not guaranteed, so that the packet transmission order on the transmitting side and the packet receiving order on the receiving side may differ. Therefore, if the correct / invalid judgment of a message using the count value is performed in such connectionless communication, the receiving side cannot continuously receive the count value, and the normal message is mistakenly regarded as abnormal. There is a possibility to judge.
  • Non-Patent Documents 1 and 2 a permissible range (window) of the sequence number is set, and whether or not the sequence number included in the message transmitted from the transmitting electronic control device is within the predetermined permissible range. It is described that the correctness / invalidity judgment of the message is performed based on the above.
  • the permissible range of Non-Patent Documents 1 and 2 is set by using the maximum value of the sequence number received in the past and the value obtained by subtracting a predetermined value from the maximum value.
  • Non-Patent Documents 1 and 2 By setting such an allowable range, it is possible to suppress erroneous determination of messages to some extent when the reception order is changed.
  • the present inventor may change the value of the counter abruptly when the counter is composed of a plurality of types of count values as in Patent Document 1, and the timing at which such a sudden change occurs. It has been found that if the reception order is changed in the above, an erroneous determination may occur even if the permissible range described in Non-Patent Documents 1 and 2 is used.
  • an object of the present disclosure is to provide an electronic control device capable of determining the correctness / invalidity of a message with high accuracy.
  • the electronic control device is an electronic control device that receives the message and the freshness value from a transmitting side electronic control device that transmits the message and the freshness value given to the message by using connectionless communication.
  • the freshness value is composed of an upper bit that is updated according to a preset upper update condition and a lower bit that is updated according to a preset lower update condition, and the electronic control device is the subject.
  • a storage unit that stores an FV list showing a predetermined number of freshness values in descending order from the reference value, which is the highest freshness value among the freshness values received by the electronic control device in the past, and the transmitting side electronic control device.
  • a reception unit that receives the message and the freshness value transmitted from the receiver, an FV verification unit that compares the reception value that is the freshness value received by the reception unit with the FV list, and the FV verification unit are compared.
  • the received value is equal to or less than the reference value and equal to or more than the permissible value which is the smallest freshness value in the FV list and the received value is not in the FV list, the received value is retained.
  • a list update unit for updating the FV list.
  • the communication system is a communication system including a transmitting side electronic control device that transmits a message using connectionless communication and a receiving side electronic control device that receives the message.
  • the transmitting electronic control unit is composed of the message, an upper bit added to the message and updated according to a preset upper update condition, and a lower bit added to the message and updated according to a preset lower update condition.
  • the receiving side electronic control device includes a transmission unit that transmits a freshness value, and the receiving side electronic control device is determined in descending order from the reference value, which is the largest freshness value among the freshness values received by the receiving side electronic control device in the past.
  • a storage unit that stores an FV list showing a number of freshness values, a receiving unit that receives the message and the freshness value transmitted from the transmitting electronic control device, and a reception unit that receives the freshness value received by the receiving unit.
  • the received value is equal to or less than the reference value and equal to or more than the permissible value which is the smallest freshness value in the FV list.
  • There is a list update unit that updates the FV list so as to hold the received value when the received value is not in the FV list.
  • the message receiving program receives the message and the freshness value from the transmitting electronic control device that transmits the message and the freshness value given to the message by using connectionless communication.
  • a message receiving program executed by a control device the freshness value is composed of a high-order bit updated according to a preset high-level update condition and a low-level bit updated according to a preset low-level update condition.
  • the message receiving program receives the message and the freshness value transmitted from the transmitting electronic control device, and the received value which is the received freshness value and the receiving electronic control device have received in the past.
  • the FV list showing a predetermined number of freshness values in descending order from the reference value, which is the largest freshness value, is compared, and the received value is compared with the FV list. Is equal to or less than the reference value and equal to or greater than the permissible value which is the smallest freshness value in the FV list, and when the received value is not in the FV list, the FV list is set so as to hold the received value. Update.
  • the receiving side electron that receives the message and the freshness value from the transmitting side electronic control device that transmits the message and the freshness value given to the message by using connectionless communication.
  • a message receiving method executed by the control device the freshness value is composed of a high-order bit that is updated according to a preset high-level update condition and a low-order bit that is updated according to a preset low-level update condition. Then, the message receiving method receives the message and the freshness value transmitted from the transmitting side electronic control device, and the received value which is the received freshness value and the receiving side electronic control device have received in the past.
  • the FV list showing a predetermined number of freshness values in descending order from the reference value, which is the largest freshness value, is compared, and the received value is compared with the FV list. Is equal to or less than the reference value and equal to or greater than the permissible value which is the smallest freshness value in the FV list, and when the received value is not in the FV list, the FV list is set so as to hold the received value. Update.
  • the correctness / invalidity of the message is determined using the permissible range automatically set according to the communication status between the electronic control devices. Therefore, the accuracy of the determination can be improved. Further, even when the freshness value changes abruptly depending on the composition of the freshness value, it is possible to determine the correctness / invalidity of the message with high accuracy.
  • FIG. 1 is a block diagram illustrating the configuration of the communication system and the electronic control device of the first embodiment.
  • FIG. 2 is a diagram illustrating frames transmitted and received by the communication system of the first embodiment.
  • FIG. 3 is a diagram for explaining the freshness value of the first embodiment.
  • FIG. 4 is a diagram illustrating the operation of the receiving side electronic control device according to the first embodiment.
  • FIG. 5 is a diagram illustrating a list of received freshness values according to the first embodiment.
  • FIG. 6 is a diagram illustrating another example of the received freshness value list of the first embodiment.
  • FIG. 7 is a block diagram illustrating the configuration of the communication system and the electronic control device of the second embodiment.
  • FIG. 8 is a diagram illustrating the operation of the receiving side electronic control device according to the second embodiment.
  • FIG. 9 is a diagram illustrating the operation of the receiving side electronic control device according to the second embodiment.
  • the configuration and method described in the embodiment when the claims are broader than the description of the embodiment is also an arbitrary configuration and method in the present invention in the sense that it is an example of the configuration and method of the present invention. .. In either case, the description in the independent clause of the claims provides an essential configuration and method of the present invention.
  • the effects described in the embodiments are effects in the case of having the configuration of the embodiment as an example of the present invention, and are not necessarily the effects of the present invention.
  • the configuration disclosed in each embodiment is not closed only in each embodiment, but can be combined across the embodiments. For example, the configuration disclosed in one embodiment may be combined with another embodiment. Further, the disclosed configurations may be collected and combined in each of the plurality of embodiments.
  • the findings and problems described in the present disclosure are not publicly known problems, but are independently found by the present inventor, and are facts that affirm the inventive step of the invention together with the structure and method of the present disclosure.
  • FIG. 1 shows the communication system 10 of the present embodiment.
  • the communication system 10 has a plurality of "electronic control devices", that is, a transmitting side electronic control device (hereinafter, transmitting side ECU) 100 that transmits a frame containing a message, and a receiving side electronic control device (hereinafter, hereinafter, electronic control device) that receives the frame. It consists of a receiving side ECU) 200 and a communication path connecting them.
  • a transmitting side electronic control device hereinafter, transmitting side ECU
  • electronic control device a receiving side electronic control device
  • It consists of a receiving side ECU) 200 and a communication path connecting them.
  • the following embodiments will be described on the premise that a plurality of electronic control devices transmit and receive frames using a connectionless communication method such as Ethernet (registered trademark), but the present invention is not limited to this example.
  • the "electronic control device” may be any device that can acquire or process information and can transmit and / or receive the information with another device, and is an in-vehicle electronic control device.
  • Other examples include computers (personal computers, embedded microcomputers, etc.), communication devices (mobile phones, smartphones, tablets, base stations, etc.), circuit boards, semiconductor modules, semiconductors, etc., and are finished products and semi-finished products. , Including any of the forms of parts.
  • the transmitting side ECU 100 of the present embodiment includes a message generation unit 101, an FV generation unit 102, and a transmission unit 103.
  • the transmitting side ECU 100 and the individual functional blocks constituting the transmitting side ECU 100 may be realized by a dedicated or general-purpose central processing unit, a memory, a bus, and a program developed and executed in the memory, and a semiconductor module or a circuit. It may be realized by dedicated hardware such as a board. The same applies to the receiving side ECU 200 described later.
  • the message generation unit 101 generates a message (MSG) to be transmitted to the receiving side ECU 200.
  • MSG message
  • Specific examples of messages in the case of an in-vehicle ECU mounted on a vehicle include various control data for controlling the vehicle.
  • detection data, text data, voice data, image data, etc. detected by a sensor or the like can be mentioned.
  • the message generation unit 101 divides the vehicle into a transmittable size and generates a divided message.
  • MTU Maximum Transmission Unit
  • the FV generation unit 102 generates a "Freshness Value” (FV: Freshness Value) according to the number of transmissions or the scheduled number of transmissions of frames transmitted from the transmission unit 103 described later.
  • This freshness value is a value that is updated according to preset update conditions.
  • the number of times a frame is transmitted is referred to as a message counter (MsgCnt).
  • the update condition of the message counter (corresponding to the "lower update condition”) is the transmission of a frame from the transmitting side ECU 100.
  • the "freshness value” is a value indicating the number of times a specific frame is transmitted from the transmitting side electronic control device or received by the receiving side electronic control device, and is a concept including a counter and a sequence number. is there.
  • a relative value counted from a certain standard is also included.
  • the FV generation unit 102 may generate a freshness value in consideration of the number of "startups" of the transmitting side ECU in addition to the number of times the frame is transmitted.
  • the FV generation unit 102 counts, for example, the number of activations, the number of wakeups, the number of resets, or the number of times the ignition of the vehicle equipped with the communication system 10 is changed from OFF to ON, and counts these counts. Generates a freshness value that includes a value to indicate and a value to indicate the number of times a frame has been transmitted.
  • the number of activations of the transmitting side ECU is referred to as a trip counter (TripCnt).
  • the update condition of the trip counter (corresponding to the "upper side update condition") is the activation of the transmitting side ECU 100.
  • the value of the message counter may be initialized, that is, reset to 0 each time the trip counter is increased or initialized.
  • starting means changing from a state in which the electronic control device is not operating to a state in which it can be operated, and the electronic control device is not only turned on and started, but also electronically controlled in a sleep state. It also includes wake-up of the device and recovery from the reset state of the electronic control device.
  • the number of “startups” may indicate the number of times the electronic control device has been started as a result, and may not necessarily be the number of times obtained by counting the number of times the electronic control device has been started. For example, the number of times the system or vehicle equipped with the electronic control device is activated may be counted to obtain the number of times.
  • the transmission unit 103 adds or inserts the freshness value generated by the FV generation unit 102 to the message generated by the message generation unit 101, and further transmits a frame with a header added.
  • a specific receiving-side ECU 200 may be specified as the transmission destination for transmission, but the transmission may be performed by broadcasting without specifying the transmission destination, and as a result, it may be received by the receiving-side ECU 200.
  • the generation of the freshness value and the addition of the freshness value to the message can be realized by, for example, the SecOC (Secure Onboard Communication) of AUTOSAR, which formulates the standard software architecture of the in-vehicle electronic control unit. it can.
  • SecOC Secure Onboard Communication
  • FIG. 2 is a diagram illustrating an example of a frame transmitted from the transmitting side ECU 100.
  • the frame of FIG. 2 is given by the split message, the freshness value (FV) generated by the FV generation unit 102, the UDP header given by the transport layer, the IP header given by the network layer, and the data link layer.
  • FV freshness value
  • UDP header given by the transport layer
  • IP header given by the network layer
  • data link layer Each consists of an Ethernet header (Eth header).
  • the split messages 1 to n and the freshness values 1 to n are stored in the frames 1 to n, respectively. That is, the message generation unit 101 divides the control data to generate n divided messages. Further, the freshness values 1 to n given to these divided messages are continuous values. Then, the transmission unit 103 transmits the frames shown in FIG. 2 in order from the frame 1.
  • FIG. 2 shows a frame when a connectionless communication method is used, and a UDP header is added to the message.
  • a TCP header may be added instead of the UDP header.
  • FIG. 3 further shows an example of the configuration of the freshness value included in the frame.
  • the freshness value in FIG. 3 is composed of an upper 8 bit indicating a trip counter and a lower 8 bit indicating a message counter.
  • the FV1 shown in the figure is composed of a trip counter “00001100” and a message counter “001100100”.
  • the trip counter in the first 8th digit is incremented by 1 as compared with FV1, and the value of the message counter is initialized as the trip counter is increased, and is newly counted from 1. Indicates the state in which. If the value of the upper 8 digit is increased as shown in FIG. 3, it would increase the eighth power of up to 2 (2 8) as the value of the overall freshness value.
  • the freshness value shown in FIG. 3 may be composed of an upper bit indicating a message counter and a lower bit indicating a trip counter.
  • the freshness value may be composed of a value other than the message counter and the trip counter.
  • the freshness value may be composed of a counter whose value increases or decreases at regular intervals.
  • the counter constituting the upper bit and the counter constituting the lower bit are values updated by different update conditions.
  • the maximum value may be set in advance for the value of the trip counter or the message counter. In such a case, when the value of the counter exceeds the maximum value, that is, when the update condition occurs after the maximum value is reached, the value of the counter is initialized and counting is started again.
  • the receiving side ECU 200 of the present embodiment includes a receiving unit 201, a storage unit 202, an FV verification unit 203, and a list updating unit 204.
  • the receiving unit 201 receives the frame transmitted from the transmitting side ECU 100.
  • This frame is the frame shown in FIG. 2, that is, the frame in which the message and the freshness value given to the message are stored.
  • the transmitting side ECU 100 transmits the frames shown in FIG. 2 in order from the frame 1, the order of the frames may be changed on the communication path. That is, the receiving unit 201 may receive the frame 2 or the frame n before the frame 1 shown in FIG.
  • the storage unit 202 is a non-volatile memory such as a flash memory or a hard disk (HDD), or a volatile memory such as a DRAM or SRAM, and stores a received freshness value list (hereinafter, FV list).
  • the FV list is a list showing a "predetermined" number of freshness values in descending order from the largest freshness value among the freshness values transmitted from the transmitting side ECU 100 and received by the receiving unit 201. The same freshness value is not retained in the FV list more than once. In the FV list, the one with the largest value is used as the reference value, and the one with the smallest value is used as the allowable value.
  • the permissible value refers to a value for allowing a decrease in the freshness value in consideration of the change of order of frames on the communication path.
  • the term "predetermined” includes not only a case where it is always constant, but also a case where it is uniquely determined according to a condition.
  • the storage unit 202 may store the FV list for each message ID and each message type.
  • the number of freshness values included in the FV list may differ for each FV list according to the message ID and the type of message, and each number is preset by the factory or the dealer.
  • the number of freshness values included in the FV list may be a value that changes with time according to various parameters.
  • the FV list stored in the storage unit 202 is updated so as to retain the freshness value determined to be normal when the FV verification unit 203, which will be described later, determines that the freshness value is normal. Therefore, immediately after the vehicle equipped with the communication system 10 is started for the first time, there is no freshness value transmitted from the transmitting side ECU 100, and of course, there is no freshness value determined to be normal. Further, when the storage unit 202 is a volatile memory, the same applies immediately after the vehicle is newly started or the ignition is turned on. Therefore, the initial value set by the factory or the dealer may be stored in advance in the storage unit 202 as a reference value of the FV list. When the value of the trip counter is initialized, the FV list stored in the storage unit 202 is also initialized and returned to the initial value.
  • the trip counter value among the freshness values is stored in the non-volatile memory of the storage unit 202, and the message counter value is stored in the volatile memory. May be good.
  • the FV verification unit 203 compares the freshness value received by the receiving unit 201 (hereinafter referred to as the received value) with the freshness value included in the FV list stored in the storage unit 202. As a result of comparison, when the received value satisfies the following first condition or second condition, it is determined that the received value is normal and the verification result is OK.
  • the first condition is that the received value is larger than the reference value (reference value ⁇ received value).
  • the second condition is that the received value is equal to or less than the reference value and equal to or greater than the allowable value (allowable value ⁇ received value ⁇ reference value), and the received value is not in the FV list.
  • the received value does not satisfy the first and second conditions, for example, when the received value is smaller than the allowable value (received value ⁇ allowable value), the freshness value is not normal and the verification result is Judged as NG.
  • the list update unit 204 updates the FV list so as to hold the received value determined to be normal.
  • the updated FV list becomes a list including the received value.
  • the list update unit 204 updates the FV list corresponding to the message ID of the received value. That is, when the verification result is OK, the receiving side ECU holds the freshness value and updates the FV list corresponding to the message ID. Then, the FV list includes the values up to n (E_ReceivedFreshnessValueListSize) counting from the larger value among the freshness values held so far.
  • the list update unit 204 further determines the number of freshness values included in the FV list, such as the communication status of the communication system such as the occurrence status of frame order change in the communication path, the reception frequency of frames, or the congestion status of the communication path, and the message. It may be set as appropriate according to the number of divisions and the size of the division message. For example, the list update unit 204 extends the permissible range of freshness values by increasing the number of freshness values included in the FV list when the frame order is changed, and the frame order change occurs. If not, maintain or reduce the number of freshness values so that the permissible range of freshness values is not extended.
  • the number of freshness values included in the FV list such as the communication status of the communication system such as the occurrence status of frame order change in the communication path, the reception frequency of frames, or the congestion status of the communication path, and the message. It may be set as appropriate according to the number of divisions and the size of the division message. For example, the list update unit 204 extends the permissible
  • whether or not the order of the frames has been changed can be determined according to the comparison verification result in the FV verification unit 203, that is, whether it is the first condition or the second condition. .. That is, when the verification result in the FV verification unit 203 is the first condition, the order change has not occurred, but in the case of the second condition, it is determined that the order change has occurred.
  • the number of freshness values included in the FV list according to the communication status it is possible to set an allowable range of freshness values suitable for the actual communication status between the electronic control devices.
  • FIG. 4 not only shows a method of receiving a message in the electronic control device, but also shows a processing procedure of a program executed by the electronic control device. Further, the order of the processes shown in FIG. 4 can be changed as appropriate if a certain process is not a prerequisite for the next process. The same applies to the second embodiment below.
  • the receiving ECU 200 executes each of the following steps.
  • the message transmitted from the transmitting side ECU and the freshness value (FV) given to the message are received (S101).
  • the received value which is the freshness value received in S101
  • the received value is compared with the reference value and the permissible value of the FV list stored in the storage unit (S102).
  • the received value is further compared with the FV list, and it is determined whether or not the received value is in the FV list (S103).
  • the received value is not received and is not in the FV list, it is determined that the received value is normal (S104).
  • FIG. 5 shows an example of the FV list of this embodiment.
  • the reference value and the allowable value are set to 0 in advance as initial values.
  • the FV list shows a case where five freshness values are shown in order counting from the reference value.
  • FIG. 5B shows the FV list 2 after updating the FV list 1.
  • FIG. 5C shows the FV list 3 after the FV list 2 has been updated.
  • the freshness value included in the invalid frame due to the retransmission attack is received by the receiving ECU 200 in the past.
  • the freshness value is equal to or less than the permissible value in the FV list of the receiving ECU 200.
  • FV 6
  • the received value is FV. It will be the same as the value in the list.
  • the receiving side ECU 200 when the order of the frames transmitted by the transmitting side ECU 100 is changed on the communication path, the receiving side ECU 200 receives the freshness value whose value is smaller than the freshness value already received.
  • FIG. 6 further shows an example of an FV list when the freshness value is composed of a trip counter and a message counter as shown in FIG.
  • the FV list that is within the permissible range of freshness values includes freshness values that are greater than or equal to the permissible value and less than or equal to the reference value, and the reference value is the largest freshness value received so far and is permissible.
  • the value is a value obtained by subtracting a predetermined value from the reference value (reference value- [E_FreshnessValueToleranceWindow]). In this case, the difference between the reference value and the permissible value is always constant.
  • the order of arrival of frames does not change or is changed depending on the communication conditions such as the communication method, the congestion status of the communication path, and the communication performance. It is possible that there will be variations in.
  • the FV list by setting the FV list based on the number of freshness values, it is possible to automatically set an allowable range suitable for the communication situation. Further, even when the freshness value is rapidly increased due to the configuration of the freshness value, it is possible to prevent the normal freshness value from being erroneously determined.
  • the freshness value transmitted from the transmitting side ECU 100 is a value that increases, and the FV list is larger than the reference value, which is the largest freshness value among the received freshness values.
  • the list shows a predetermined number of freshness values in order has been described.
  • the freshness value transmitted from the transmitting side ECU 100 may be a value that decreases.
  • the FV list stored by the receiving side ECU 200 may be a list showing a predetermined number of freshness values in ascending order from the reference value, with the freshness value having the smallest value among the received freshness values as the reference value.
  • the permissible value is the freshness value with the largest value in the FV list.
  • FIG. 7 shows the communication system 11 of the second embodiment, and the transmitting side ECU 110 and the receiving side ECU 210 constituting the communication system 11.
  • the transmitting side ECU 110 of FIG. 7 includes a MAC generation unit 111 in addition to each configuration of the transmitting side ECU 100 shown in FIG.
  • the MAC generation unit 111 generates an authenticator (MAC: Message Authentication Code) using the message (MSG) generated by the message generation unit 101 and the freshness value (FV) generated by the FV generation unit 102.
  • an authenticator is generated by calculating based on a MAC algorithm using a MAC key stored in a memory (not shown) for data to which a freshness value is added or inserted in a message.
  • the transmission unit 103 adds or inserts the freshness value generated by the FV generation unit 102 and the authenticator generated by the MAC generation unit 111 to the message generated by the message generation unit 101, and further adds a header to the frame. To send.
  • the receiving side ECU 210 of FIG. 7 includes a verification MAC generation unit 211 and a MAC verification unit 212 in addition to each configuration of the receiving side ECU 200 shown in FIG.
  • the receiving unit 201 of the present embodiment receives the frame transmitted from the transmitting side ECU 110.
  • This frame is a frame that stores the message and the freshness value and authenticator added or inserted in the message.
  • the FV verification unit 203 of the present embodiment performs the same processing as the FV verification unit 203 of the first embodiment, and when it is determined that the freshness value is normal, the freshness value determined to be normal is used as the verification freshness value ( It is output to the verification MAC generation unit 211 described later as a verification FV).
  • the verification MAC generation unit 211 acquires the MAC key stored in the memory (not shown), and outputs the MAC key, the message stored in the frame received by the reception unit 201, and the FV verification unit 203.
  • a verification authenticator (verification MAC) is generated using the verification freshness value. For example, a verification authenticator is generated by calculating the data to which the verification freshness value is added or inserted into the message received by the receiving unit 101 based on the MAC algorithm using the MAC key.
  • the MAC key used by the verification MAC generation unit 211 is a key shared in advance with the transmitting side ECU.
  • the MAC verification unit 212 verifies by comparing the authenticator stored in the frame received by the reception unit 201 with the verification authenticator generated by the verification MAC generation unit 211. When the authenticator and the verification authenticator match, it is determined that the authenticator is normal and the verification result is normal (OK), and the received frame is processed. If they do not match, it is determined that the verification is not normal (NG), and the received frame is discarded.
  • the receiving-side ECU 210 of the present embodiment receives the message transmitted from the transmitting-side ECU 110, the freshness value given to the message, and the authenticator (S201).
  • MAC verification is performed (S202).
  • MAC verification the following processing shown in the subroutine of FIG. 9 is performed.
  • the received value of the freshness value determined to be normal in S104 of FIG. 8 is acquired as the verification freshness value (S302).
  • a verification authenticator is generated using the MAC key acquired in S301, the verification freshness value acquired in S302, and the message received by the receiving unit 201 (S303).
  • the authenticator received in S201 of FIG. 8 is compared with the verification authenticator generated in S303 (S304). As a result of comparison in S304, if the authenticator and the verification authenticator match, the process shown in FIG.
  • the authenticator stored in the frame and the verification authenticator generated by the receiving side ECU 210 will not match.
  • the receiving ECU 210 can detect an illegally tampered message.
  • the correctness / invalidity of the message is determined with high accuracy using the freshness value and the FV list, and the load is verified by using the authenticator only when the verification result of the freshness value is normal. It is possible to suppress the generation process of a large authenticator and improve the security of the communication system.
  • the block diagram used in the explanation of the embodiment is a classification and arrangement of the configuration of the electronic control device for each function. These functional blocks are realized by any combination of hardware or software. Further, since the block diagram shows the function, the block diagram can be grasped as the disclosure of the invention of the method.
  • first and second used in each embodiment and in the claims are used to distinguish two or more configurations or methods of the same type, and do not limit the order or superiority or inferiority. ..
  • Examples of electronic control devices include semiconductors, electronic circuits, modules, and ECUs (electronic control units) as parts and semi-finished products.
  • Examples of finished products include drive recorders, car navigation systems, smartphones, personal computers, mobile phones, and personal digital assistants.
  • the present disclosure can be realized not only by the dedicated hardware having the configuration and the function described in each embodiment, but also a program for realizing the present invention recorded on a recording medium such as a memory or a hard disk, and a program thereof. It can also be realized as a combination with an executable dedicated or general-purpose CPU and general-purpose hardware having a memory or the like.
  • a program stored in a non-transitional substantive recording medium of dedicated or general-purpose hardware is a recording medium. It can also be provided to dedicated or general-purpose hardware via the server or via a communication line, either via a memory stick or without a recording medium, so that the latest features can always be provided through program upgrades. ..
  • the electronic control device and the like of the present disclosure have been described with the electronic control device mounted on the automobile in each embodiment in mind, they can be applied to all moving moving objects such as motorcycles, ships, railways, and aircraft. It is possible and includes these. Moreover, it can be applied not only to mobile objects but also to all products including computers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

送信側ECUからメッセージおよびフレッシュネス値(FV)を受信する電子制御装置(200,210)であって、FVはそれぞれの更新条件に従って更新される上位側ビット及び下位側ビットから構成され、当該電子制御装置は、過去に受信したFVのうち最も値の大きいFVである基準値から大きい順に所定の数のFVを示すFVリストを保存する保存部(202)と、送信側ECUから送信されたメッセージおよびFVを受信する受信部(201)と、受信部で受信したFVである受信値とFVリストとを比較するFV検証部(203)と、FV検証部で比較した結果、受信値が基準値以下且つFVリストの中で最も値の小さいFVである許容値以上であり、受信値がFVリストにない場合に、受信値を保持するようにFVリストを更新するリスト更新部(204)と、を備える。

Description

電子制御装置および通信システム 関連出願の相互参照
 本出願は、2019年6月4日に出願された日本特許出願番号2019-104708号に基づくもので、ここにその記載内容を援用する。
 本出願は、電子制御装置(ECU:Electric Control Unit)のセキュリティを確保するためのメッセージの検証に関するものであり、主として車載の電子制御装置に用いるものである。
 近年、自動車は駆動、制動に限らず、車内環境全般、あるいは通信などにも電子制御装置を用いた制御が用いられるようになってきている。また、運転そのものについても、運転者に対する運転サポートを行う安全運転支援システム、さらには運転者そのものが不要な自動運転システムの開発が活発になっている。これらの流れの中で、電子制御装置が接続された車内ネットワークへの不正アクセスが大きな問題となる。電子制御装置が悪意の第三者による不正アクセスによって不正に制御されると、自動車運転の安全性が脅かされることとなる。そこで、車載向け電子制御装置のセキュリティに関する様々な技術が提案されている。
 不正アクセスの1つに、正規のメッセージを盗み取り、盗み取ったメッセージをそのまま送信して正規のメッセージになりすます、再生攻撃(replay attack)と呼ばれるものがある。このような再生攻撃に対しては、メッセージに付与されたカウンタやタイムスタンプを用いて、メッセージが正常なメッセージまたは再生攻撃による不正なメッセージのいずれかを判定する方法が提案されている。
 例えば、特許文献1には、メッセージに付与されたカウント値と、受信側EUCが保持するカウント値とを比較することにより、再生攻撃による不正なメッセージを検出することが開示されている。特許文献1の手法によればさらに、カウンタが複数の種類のカウント値から構成されていることにより、送信側と受信側との間でカウント値のずれが生じにくくなり、また、カウント値のずれが生じた場合でも送信側と受信側との間で容易に再同期することが可能となる。
 ところで、通信には、通信を開始する前に接続(コネクション)を確立するコネクション型通信と、接続を事前に確立せずに通信を行うコネクションレス型通信がある。コネクション型通信とは異なり、コネクションレス型通信ではパケットの受信順序は保証されないため、送信側でのパケットの送信順序と、受信側でのパケットの受信順序とが異なることが起こりうる。そのため、このようなコネクションレス型通信においてカウント値を用いたメッセージの正/不正判定を行うと、受信側がカウント値を連続して受信することができず、正常なメッセージを異常であると誤って判定する可能性がある。
 これに対し、非特許文献1、2には、シーケンス番号の許容範囲(window)を設定し、送信側電子制御装置から送信されたメッセージに含まれるシーケンス番号が所定の許容範囲であるかどうかに基づいてメッセージの正/不正判定を行うことが記載されている。非特許文献1、2の許容範囲は、過去に受信したシーケンス番号の最大値、および当該最大値から所定の値を差し引いた値を用いて設定される。
特開2017-38365号
Datagram Transport Layer Security、https://tools.ietf.org/rfc/rfc4347.txt IP Encapsulating Security Payload (ESP)、https://tools.ietf.org/rfc/rfc2406.txt
 このような許容範囲を設定することにより、受信順序の入れ替わりが発生した場合のメッセージの誤判定をある程度抑制することが可能となる。しかしながら、非特許文献1、2の技術では、実際の通信状況に応じた許容範囲を設定することができない。さらに、本発明者は、特許文献1のようにカウンタが複数の種類のカウント値から構成されている場合はカウンタの値が急激に変化することがあり、このような急激な変化が生じたタイミングで受信順序の入れ替わりが発生すると、非特許文献1、2に記載の許容範囲を利用しても誤判定が起こる可能性があることを知見した。
 そこで、本開示の目的は、メッセージの正/不正を高い精度で判定することができる電子制御装置を提供することにある。
 本開示の一態様による電子制御装置は、メッセージおよび前記メッセージに付与されたフレッシュネス値をコネクションレス型通信を用いて送信する送信側電子制御装置から、前記メッセージおよび前記フレッシュネス値を受信する電子制御装置であって、前記フレッシュネス値は、予め設定された上位更新条件に従って更新される上位側ビット、および予め設定された下位更新条件に従って更新される下位側ビットから構成され、当該電子制御装置は、当該電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストを保存する保存部と、前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信する受信部と、前記受信部で受信した前記フレッシュネス値である受信値と前記FVリストとを比較するFV検証部と、前記FV検証部で比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新するリスト更新部と、を備える。
 本開示の他の態様による通信システムは、コネクションレス型通信を用いてメッセージを送信する送信側電子制御装置、および前記メッセージを受信する受信側電子制御装置で構成される通信システムであって、前記送信側電子制御装置は、前記メッセージ、および前記メッセージに付与され、予め設定された上位更新条件に従って更新される上位側ビットおよび予め設定された下位更新条件に従って更新される下位側ビットから構成されたフレッシュネス値を送信する送信部を備え、前記受信側電子制御装置は、前記受信側電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストを保存する保存部と、前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信する受信部と、前記受信部で受信した前記フレッシュネス値である受信値と前記FVリストとを比較するFV検証部と、前記FV検証部で比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新するリスト更新部と、を備える。
 本開示の他の態様によるメッセージ受信プログラムは、メッセージおよび前記メッセージに付与されたフレッシュネス値をコネクションレス型通信を用いて送信する送信側電子制御装置から前記メッセージおよび前記フレッシュネス値を受信する受信側電子制御装置で実行されるメッセージ受信プログラムであって、前記フレッシュネス値は、予め設定された上位更新条件に従って更新される上位側ビット、および予め設定された下位更新条件に従って更新される下位側ビットから構成され、当該メッセージ受信プログラムは、前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信し、受信した前記フレッシュネス値である受信値と、前記受信側電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストとを比較し、前記受信値と前記FVリストとを比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新する。
 本開示の他の態様によるメッセージ受信方法は、メッセージおよび前記メッセージに付与されたフレッシュネス値をコネクションレス型通信を用いて送信する送信側電子制御装置から前記メッセージおよび前記フレッシュネス値を受信する受信側電子制御装置で実行されるメッセージ受信方法であって、前記フレッシュネス値は、予め設定された上位更新条件に従って更新される上位側ビット、および予め設定された下位更新条件に従って更新される下位側ビットから構成され、当該メッセージ受信方法は、前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信し、受信した前記フレッシュネス値である受信値と、前記受信側電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストとを比較し、前記受信値と前記FVリストとを比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新する。
 本開示の電子制御装置、通信システム、メッセージ受信プログラム、及びメッセージ受信方法によれば、電子制御装置間の通信状況に応じて自動的に設定される許容範囲を用いてメッセージの正/不正を判定することができるため、判定の精度を高めることができる。また、フレッシュネス値の構成によってフレッシュネス値が急激に変化する場合にも、高い精度でメッセージの正/不正を判定することが可能となる。
図1は、実施形態1の通信システムおよび電子制御装置の構成を説明するブロック図であり、 図2は、実施形態1の通信システムで送受信されるフレームを説明する図であり、 図3は、実施形態1のフレッシュネス値を説明する図であり、 図4は、実施形態1の受信側電子制御装置の動作を説明する図であり、 図5は、実施形態1の受信済みフレッシュネス値リストを説明する図であり、 図6は、実施形態1の受信済みフレッシュネス値リストの他の例を説明する図であり、 図7は、実施形態2の通信システムおよび電子制御装置の構成を説明するブロック図であり、 図8は、実施形態2の受信側電子制御装置の動作を説明する図であり、 図9は、実施形態2の受信側電子制御装置の動作を説明する図である。
 以下、本開示の実施形態について、図面を参照して説明する。
 なお、以下に示す本発明とは、請求の範囲に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともダブルクォーテーション内の語句は、請求の範囲に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
 請求の範囲の従属項に記載の構成および方法、従属項に記載の構成および方法に対応する実施形態の構成および方法、並びに請求の範囲に記載がなく実施形態のみに記載の構成および方法は、本発明においては任意の構成および方法である。請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成および方法も、本発明の構成および方法の例示であるという意味で、本発明においては任意の構成および方法である。いずれの場合も、請求の範囲の独立項に記載することで、本発明の必須の構成および方法となる。
 実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
 複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
 本開示に記載した知見や課題は公知の課題ではなく、本発明者が独自に知見したものであり、本開示の構成および方法と共に発明の進歩性を肯定する事実である。
 なお、以下の実施形態は、主として自動車の車載用電子制御装置を例として説明するが、本発明は、特許請求の範囲で限定がない限り、車載用途以外の電子制御装置等を含むものである。
(実施形態1)
1.通信システムの構成
 図1は、本実施形態の通信システム10を示している。通信システム10は、複数の“電子制御装置”、すなわち、メッセージを格納したフレームを送信する送信側電子制御装置(以下、送信側ECU)100、当該フレームを受信する受信側電子制御装置(以下、受信側ECU)200、およびこれらを接続する通信路からなる。以下の実施形態では、複数の電子制御装置が、Ethernet(登録商標)といったコネクションレス型の通信方式を用いてフレームを送受信することを前提として説明するが、この例に限定されるものではない。
 ここで、“電子制御装置”とは、情報を取得又は処理することができ、かつ情報を他の装置との間で送信及び/又は受信できるものであればよく、車載用の電子制御装置の他、例えば、コンピュータ(パーソナルコンピュータ、組み込み型のマイクロコンピュータ等)、通信装置(携帯電話、スマートフォン、タブレット、基地局等)、回路基板、半導体モジュール、半導体などが挙げられ、完成品、半完成品、部品の形態のいずれも含むものである。
2.送信側ECUの構成
 本実施形態の送信側ECU100は、メッセージ生成部101、FV生成部102、および送信部103を備える。送信側ECU100、およびこれを構成する個々の機能ブロックは、専用又は汎用の中央演算処理装置、メモリ、バス、およびメモリに展開されて実行されるプログラムによって実現されてもよく、また半導体モジュールや回路基板をはじめとする専用のハードウェアで実現されてもよい。後述の受信側ECU200も同様である。
 メッセージ生成部101は、受信側ECU200に送信するメッセージ(MSG)を生成する。車両に搭載された車載用のECUの場合におけるメッセージの具体例として、車両を制御するための各種制御データが挙げられる。車載用以外のECUの場合は、例えばセンサー等で検知した検出データ、テキストデータ、音声データ、画像データ等が挙げられる。
 ここで、電子制御装置間の通信では、通信方式毎に定められた最大データサイズ(MTU:Maximum Transmission Unit)を超えるデータを一度に送受信することができない。そのため、MTUを超えるデータは、MTU以下のサイズに分割する必要がある。そこで、メッセージ生成部101は、車両の制御データ等が所定のMTUを超える場合には、送信可能なサイズに分割して、分割メッセージを生成する。
 以下に示す実施形態では、メッセージ生成部101がデータを分割して分割メッセージを生成する例を説明するが、制御データのサイズが最大データサイズ以下の場合には、メッセージ生成部101はデータを分割することなく受信側ECU200に送信してもよい。
 FV生成部102は、後述の送信部103から送信されるフレームの送信回数または送信予定回数に応じて“フレッシュネス値”(FV:Freshness Value)を生成する。このフレッシュネス値は、予め設定された更新条件に従って更新される値である。FV生成部102は、例えば、フレームに格納されるメッセージに含まれるデータの種類に応じて設定されたメッセージID毎に送信回数をカウントすることにより、フレッシュネス値を生成する。例えば、メッセージID#1が付与されたフレームが4回送信された場合、メッセージ#1のフレッシュネス値は4(FV=4)となる。以下の実施形態では、フレームの送信回数をメッセージカウンタ(MsgCnt)と称する。なお、メッセージカウンタの更新条件(“下位側更新条件”に対応)は、送信側ECU100からのフレームの送信である。
 ここで、“フレッシュネス値”とは、特定のフレームが送信側電子制御装置から送信された回数、又は受信側電子制御装置で受信された回数を示す値であり、カウンタ、シーケンス番号も含む概念である。また、絶対的な値の他、例えばある基準を設けて当該基準からカウントした相対的な値も含む。
 FV生成部102は、フレームの送信回数に加えて、送信側ECUの“起動”回数を考慮したフレッシュネス値を生成してもよい。FV生成部102は、例えば、送信側ECUの起動回数、ウェイクアップ回数、リセット回数、あるいは、通信システム10を搭載する車両のイグニッションがOFFからONになった回数をカウントし、これらのカウント回数を示す値と、フレームの送信回数を示す値とを含むフレッシュネス値を生成する。以下の実施形態では、送信側ECUの起動回数をトリップカウンタ(TripCnt)と称する。トリップカウンタの更新条件(“上位側更新条件”に対応)は、送信側ECU100の起動である。なお、フレッシュネス値がトリップカウンタおよびメッセージカウンタから構成される場合、トリップカウンタが増加又は初期化する毎に、メッセージカウンタの値が初期化、すなわち、0にリセットされてもよい。
 ここで、“起動”とは、電子制御装置が動作していない状態から動作可能な状態に変化することをいい、電子制御装置の電源が入って起動することはもちろん、スリープ状態にある電子制御装置がウェイクアップすることや、電子制御装置がリセットされた状態から復帰することも含まれる。また、“起動”回数とは、結果的に電子制御装置が起動した回数を示すものであればよく、必ずしも電子制御装置の起動回数をカウントすることによって得られる回数でなくともよい。例えば、電子制御装置を搭載したシステムや車両等が起動する回数をカウントすることによって、当該回数を得てもよい。
 送信部103は、メッセージ生成部101で生成されたメッセージに、FV生成部102で生成されたフレッシュネス値を付与または挿入し、さらにヘッダを付与したフレームを送信する。送信先として特定の受信側ECU200を指定して送信してもよいが、送信先を指定せずにブロードキャストで送信してもよく、結果的に受信側ECU200で受信できるものであればよい。
 通信システム10が車載システムの場合、フレッシュネス値の生成およびメッセージへのフレッシュネス値の付与は、例えば、車載電子制御ユニットの標準ソフトウェア・アーキテクチャを策定するAUTOSARのSecOC(Secure Onboard Communication)によって実現することができる。
 図2は、送信側ECU100から送信されるフレームの例を説明する図である。図2のフレームは、分割メッセージ、FV生成部102で生成されたフレッシュネス値(FV)、トランスポート層で付与されるUDPヘッダ、ネットワーク層で付与されるIPヘッダ、およびデータリンク層で付与されるイーサネットヘッダ(Ethヘッダ)からそれぞれ構成されている。
 図2では、分割メッセージ1~nおよびフレッシュネス値1~nが、フレーム1~nにそれぞれ格納されている。つまり、メッセージ生成部101は制御データを分割してn個の分割メッセージを生成するものである。また、これらの分割メッセージに付与されたフレッシュネス値1~nは連続する値である。そして、送信部103は、図2に示すフレームをフレーム1から順に送信する。
 なお、図2は、コネクションレス型の通信方式を利用する場合のフレームを示しており、メッセージにはUDPヘッダが付与されている。しかしながら、コネクション型の通信方式を利用して通信を行う場合には、UDPヘッダに代えてTCPヘッダを付与してもよい。
 図3はさらに、フレームに含まれるフレッシュネス値の構成の一例を示している。図3のフレッシュネス値は、トリップカウンタを示す上位側8ビット、およびメッセージカウンタを示す下位側8ビットとから構成されている。例えば、図に示すFV1は、トリップカウンタ“00001100”およびメッセージカウンタ“00100100”から構成されている。これに対し、FV2は、FV1と比較して、上8桁目のトリップカウンタが1増加しており、さらに、トリップカウンタの増加に伴ってメッセージカウンタの値が初期化され、新たに1からカウントを開始した状態を示している。図3に示すように上8桁目の値が増加した場合、フレッシュネス値全体の値としては最大2の8乗(2)増加することになる。
 なお、図2のフレーム、および図3のフレッシュネス値はいずれも例示にすぎず、これらの構成に限定されるものではない。例えば、図3に示すフレッシュネス値は、メッセージカウンタを示す上位側ビットと、トリップカウンタを示す下位側ビットから構成されてもよい。あるいは、フレッシュネス値は、メッセージカウンタおよびトリップカウンタ以外の値から構成されてもよく、例えば、トリップカウンタまたはメッセージカウンタに代えて、一定時間ごとに値が増加または減少するカウンタから構成されてもよい。ただし、フレッシュネス値が2以上のカウンタから構成される場合には、上位側ビットを構成するカウンタと下位側ビットを構成するカウンタは、異なる更新条件によって更新される値であることが望ましい。
 また、トリップカウンタやメッセージカウンタの値には、予め最大値が設定されていてもよい。このような場合、カウンタの値が最大値を超えると、つまり、最大値になった後に更新条件が発生すると、カウンタの値を初期化して再びカウントを始める。
3.受信側ECUの構成
 本実施形態の受信側ECU200は、受信部201、保存部202、FV検証部203、およびリスト更新部204を備える。
 受信部201は、送信側ECU100から送信されたフレームを受信する。このフレームは図2に示すフレームであり、すなわち、メッセージおよびメッセージに付与されたフレッシュネス値が格納されたフレームである。
 上述したとおり、本実施形態では、コネクションレス型の通信方式を利用して電子制御装置間の通信を行う。そのため、送信側ECU100が図2に示すフレームをフレーム1から順に送信しても、通信路上でフレームの順序が入れ替わる可能性がある。つまり、受信部201は、図2に示すフレーム1よりも先にフレーム2やフレームnを受信することが起こりうる。
 保存部202は、フラッシュメモリやハードディスク(HDD)等の不揮発性メモリ、またはDRAMやSRAM等の揮発性メモリであり、受信済みフレッシュネス値リスト(以下、FVリスト)を保存する。FVリストは、送信側ECU100から送信され受信部201にて受信したフレッシュネス値のうち、最も値の大きいフレッシュネス値から大きい順に“所定の”数のフレッシュネス値を示すリストである。なお、FVリストには、同一のフレッシュネス値を重複して保持しない。FVリストの中で、最も値の大きいものを基準値とし、最も値の小さいものを許容値とする。許容値は、通信路上でのフレームの順序入れ替わりを考慮し、フレッシュネス値の減少を許容するための値を指す。
 ここで、“所定の”とは、常に一定の場合の他、条件に応じて一意に定まる場合も含む。
 なお、保存部202は、メッセージID毎、メッセージの種別毎にFVリストを保存してもよい。この場合、FVリストに含まれるフレッシュネス値の個数は、メッセージIDやメッセージの種別に応じてFVリスト毎に異なってもよく、それぞれの個数は工場やディーラーで予め設定される。あるいは、後述するように、FVリストに含まれるフレッシュネス値の個数は、種々のパラメータに応じて経時的に変化する値であってもよい。
 保存部202に保存されたFVリストは、後述するFV検証部203においてフレッシュネス値が正常であると判定された場合に、当該正常であると判定されたフレッシュネス値を保持するように更新される。そのため、通信システム10を搭載した車両が初めて起動した直後は送信側ECU100から送信されたフレッシュネス値はなく、当然のことながら、正常であると判定されたフレッシュネス値もない。また、保存部202が揮発性メモリである場合には、車両を新たに起動する、あるいはイグニッションをONした直後も同様である。そこで、工場やディーラーで設定された初期値が、FVリストの基準値として保存部202に予め保存されていてもよい。トリップカウンタの値が初期化される場合、保存部202に保存されるFVリストも同様に初期化され、初期値に戻される。
 なお、フレッシュネス値がトリップカウンタとメッセージカウンタとから構成されている場合、フレッシュネス値のうちトリップカウンタの値を保存部202の不揮発性メモリに記憶し、メッセージカウンタの値を揮発性メモリに記憶してもよい。
 FV検証部203は、受信部201で受信したフレッシュネス値(以下、受信値)と、保存部202に保存されたFVリストに含まれるフレッシュネス値とを比較する。比較した結果、受信値が、以下の第1の条件または第2の条件を満たす場合には、受信値は正常であり、検証結果はOKであると判定する。ここで、第1の条件とは受信値が基準値よりも大きい(基準値<受信値)ことである。また、第2の条件とは、受信値が基準値以下且つ許容値以上(許容値≦受信値≦基準値)であり、受信値がFVリストにないことである。これに対し、受信値が第1および第2の条件を満たさない場合、例えば、受信値が許容値よりも小さい場合(受信値<許容値)には、フレッシュネス値は正常ではなく、検証結果がNGであると判定する。
 リスト更新部204は、FV検証部203が受信値は正常であると判定した場合に、正常であると判定された受信値を保持するようにFVリストを更新する。更新後のFVリストは、当該受信値を含むリストとなる。
 なお、保存部202が複数のFVリストを保存している場合には、リスト更新部204は、受信値のメッセージIDに対応するFVリストを更新する。すなわち、受信側ECUは、検証結果がOKとなった場合、フレッシュネス値を保持し、メッセージIDに対応するFVリストを更新する。そして、FVリストには、これまで保持したフレッシュネス値の内、値の大きい方から数えてn(E_ReceivedFreshnessValueListSize)までの値が含まれる。
 リスト更新部204はさらに、FVリストに含まれるフレッシュネス値の個数を、通信路におけるフレームの順序入れ替わりの発生状況、フレームの受信頻度、あるいは通信路の混雑状況といった通信システムの通信状況や、メッセージを分割した個数、分割メッセージのサイズに応じて適宜設定してもよい。例えば、リスト更新部204は、フレームの順序入れ替わりが発生している場合には、FVリストに含まれるフレッシュネス値の個数を増加させることによってフレッシュネス値の許容範囲を拡張し、フレームの順序入れ替わりが発生していない場合はフレッシュネス値の個数を維持または減少させることによって、フレッシュネス値の許容範囲を拡張しないようにする。なお、フレームの順序入れ替わりが発生しているか否かは、FV検証部203での比較検証結果に応じて、つまり、第1の条件または第2の条件であるかに応じて判定することができる。つまり、FV検証部203での検証結果が第1の条件の場合には順序入れ替わりは発生していないが、第2の条件の場合には順序入れ替わりが発生したと判定する。FVリストに含まれるフレッシュネス値の個数を通信状況に応じて変化させることにより、電子制御装置間の実際の通信状況に適したフレッシュネス値の許容範囲を設定することができる。
4.メッセージ受信方法、および同方法を実行するプログラム
 図4を用いて、受信側ECU200で実行されるメッセージ受信方法を説明する。
 なお、図4は電子制御装置におけるメッセージの受信方法を示すだけでなく、電子制御装置で実行されるプログラムの処理手順を示すものである。また、図4に示す処理の順序は、ある処理が次の処理の前提条件となっていなければ、適宜入れ替えることが可能である。以下の実施形態2においても同様である。
 受信側ECU200は、以下の各ステップを実行する。
 送信側ECUから送信されたメッセージ、およびメッセージに付与されたフレッシュネス値(FV)を受信する(S101)。次いで、S101で受信したフレッシュネス値である受信値と、保存部に保存されたFVリストの基準値および許容値とを比較する(S102)。
 S102において比較した結果、受信値が基準値以下且つ許容値以上の場合にはさらに、受信値とFVリストとを比較し、受信値がFVリストにあるかどうかを判定する(S103)。そして、受信値が未受信でありFVリストにない場合には受信値は正常であると判定する(S104)。
 また、S102において比較した結果、受信値が基準値よりも大きい場合にも、受信値は正常であると判定する(S104)。
 そして、S104において受信値が正常であると判定されると、正常であると判定された受信値を保持するようにFVリストを更新する(S105)。
 一方、S102において比較した結果、受信値が許容値よりも小さい場合は、受信値は正常ではないと判定する(S106)。
 また、S103において比較した結果、受信値がFVリストにある場合にも、受信値は正常ではないと判定する(S106)。
 そして、S106において受信値が正常ではないと判定されると、当該受信値が付与されたフレームを廃棄する(S107)。
 図5は、本実施形態のFVリストの一例を示している。この例では、初期値として基準値および許容値が予め0に設定されている。また、FVリストが、基準値から数えて順に5個のフレッシュネス値を示す場合を示している。
 図5(a)は車両を初めて起動した直後のFVリスト1を示している。FV検証部203で正常であると判定されたフレッシュネス値はまだないため、FVリスト1は初期値として設定された基準値および許容値(FV=0)のみを示している。
 図5(a)に示すFVリスト1の状態でフレッシュネス値(FV=1)を受信した場合を検討する。受信値(FV=1)は基準値(FV=0)よりも大きいため、受信値は正常であると判定されFVリストが更新される。図5(b)は、FVリスト1を更新した後のFVリスト2を示している。FVリスト2では、最大のフレッシュネス値(FV=1)が基準値であり、最小のフレッシュネス値(FV=0)が許容値である。
 次に、図5(b)に示すFVリスト2の状態でフレッシュネス値(FV=5)を受信した場合を検討する。受信値(FV=5)は、基準値(FV=1)以上の値である。そこで、受信値は正常であると判定されFVリストが更新される。図5(c)は、FVリスト2を更新した後のFVリスト3を示している。
 さらに、図5(c)に示すFVリスト3の状態でフレッシュネス値(FV=3)を受信した場合、受信値(FV=3)は、基準値(FV=5)以下且つ許容値(FV=0)以上であり、FVリスト3にない値である。そこで、受信値は正常であると判定されFVリストが更新される。
 図5(d)は、フレッシュネス値(FV=5)の後にさらにフレッシュネス値(FV=3,2,6,7)を受信し、受信値がそれぞれ正常であると判定されてFVリストが更新された後の状態を示している。図5(d)に示すFVリスト4では、最大のフレッシュネス値(FV=7)が基準値であり、最小のフレッシュネス値(FV=2)が許容値である。FVリスト4によれば、初期値(FV=0)や、FVリスト2及び3に記載されているフレッシュネス値(FV=1)がリストから除外されたことが分かる。
 本実施形態において、第三者が、送信側ECU100が過去に送信したフレームを用いて再送攻撃をした場合、再送攻撃による不正なフレームに含まれるフレッシュネス値は、受信側ECU200が過去に受信した、受信側ECU200のFVリストに含まれるフレッシュネス値と等しいか、あるいは許容値未満の値のフレッシュネス値となる。
 例えば、保存部202に保存された図5(d)に示すFVリスト4の状態で、第三者がフレッシュネス値(FV=6)を含むフレームを用いて再送攻撃をした場合、受信値はFVリストにある値と同じとなる。そのため、FV検証部203は、フレッシュネス値(FV=6)は正常ではないと判定することができ、ひいては、当該フレッシュネス値が付与されたメッセージは正常ではないと判定することができる。
 また、第三者が、フレッシュネス値(FV=1)を含むフレームを用いて再送攻撃をした場合は、受信値はFVリストの許容値未満の値である。そのため、FV検証部203は、フレッシュネス値(FV=1)は正常ではないと判定することができ、ひいては、当該フレッシュネス値が付与されたメッセージは正常ではないと判定することができる。
 また、本実施形態において、送信側ECU100が送信したフレームの順序が通信路上で入れ替わる場合、受信側ECU200は、既に受信したフレッシュネス値よりも値が小さいフレッシュネス値を受信することになる。図5に示す例では、送信側ECU100は、数値が小さいフレッシュネス値を格納したフレームから順番に送信するが、受信側ECU200はフレッシュネス値(FV=1)から順番に受信しておらず、例えば、フレッシュネス値(FV=5)の後にフレッシュネス値(FV=3)を受信している。しかしながら、本実施形態では、フレッシュネス値の減少を許容する許容値が設定されているため、通信路でフレームの順序が入れ替わった場合でも、正常なフレッシュネス値が誤って正常ではないと判定されるのを防ぐことができる。
 図6はさらに、フレッシュネス値が、図3に示すようにトリップカウンタおよびメッセージカウンタから構成される場合のFVリストの例を示している。説明を容易にするため、図6では、フレッシュネス値を3桁の数値で表し、上位1桁がトリップカウンタ、下位2桁がメッセージカウンタを示している。つまり、図6に示すFVリストの基準値のフレッシュネス値(FV=201)は、他のフレッシュネス値(FV=120,119,118,117)よりもトリップカウンタが増加していることを示している。
 トリップカウンタおよびメッセージカウンタから構成されたフレッシュネス値を格納したフレームの順序が通信路上で入れ替わる場合も、図5の場合と同様に処理が行われる。
 例えば、送信側ECU100が、フレッシュネス値(FV=121)を送信した後に、当該フレッシュネス値からトリップカウンタが増加したフレッシュネス値(FV=201)を送信する。通信路上で順序が入れ替わった場合、受信側ECU200は、フレッシュネス値(FV=201)の後にフレッシュネス値(FV=121)を受信する。図6に示すFVリストは、フレッシュネス値(FV=201)の受信後、フレッシュネス値(FV=121)の受信前のリストを示している。この状態でフレッシュネス値(FV=121)を受信した場合、受信値は基準値(FV=201)以下且つ許容値(FV=117)以上であり、FVリストにないため、フレッシュネス値(FV=121)は正常であると判定される。
 ここで、本実施形態との比較のために、本実施形態とは異なる許容範囲を利用してメッセージの正/不正を判定する場合を検討する。例えば、フレッシュネス値の許容範囲となるFVリストには許容値以上且つ基準値以下のフレッシュネス値が含まれており、基準値がこれまでに受信したフレッシュネス値のうち最も値の大きいものであり、許容値が、基準値から所定値を減算して求まる値(基準値-[E_FreshnessValueToleranceWindow])である場合を検討する。この場合、基準値と許容値の差異は常に一定となる。
 例えば、送信側ECUと受信側ECUとの間でコネクションレス型通信を行っても、通信方式、通信路の混雑状況、通信性能といった通信状況によって、フレームの到達順序が入れ替わらない、あるいは、入れ替わりにばらつきが生じることが考えられる。しかしながら、上述した方法によれば基準値と許容値の差異は常に一定となるため、実際の通信状況に応じて適切な許容範囲を設定することは難しい。
 また、例えば、受信側ECU200がフレッシュネス値(FV=201)を受信し、図6に示すFVリストに更新した後にフレッシュネス値(FV=121)を受信する場合を検討する。当該フレッシュネス値(FV=121)が正常であると判断されるためには、許容値を求めるために基準値から減算する所定値を“80”に設定して、FVリストの範囲を広くする必要がある。しかしながら、FVリストの範囲を広く設定した場合、セキュリティ性が低下するおそれがあり、さらに、FVリストを保存するメモリの負荷が増加する。また、所定値を小さくしてFVリストの範囲を狭く設定すると、順序が入れ替わったフレッシュネス値は正常ではないと誤判定される可能性が高くなる。例えば、図6の例で所定値を“10”に設定した場合、許容値は“191(201-10)”となるため、フレッシュネス値(FV=121)は正常ではないと判定されることになる。
 これに対し、本実施形態によれば、FVリストをフレッシュネス値の個数を基準として設定することにより、通信状況に適した許容範囲を自動的に設定することが可能となる。
 さらに、フレッシュネス値の構成によってフレッシュネス値が急激に増加する場合でも、正常なフレッシュネス値が誤判定されるのを防止することができる。
 なお、上述した実施形態では、送信側ECU100から送信されるフレッシュネス値は増加する値であり、それに伴って、FVリストは、受信したフレッシュネス値のうち最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すリストである場合を説明した。しかしながら、送信側ECU100から送信されるフレッシュネス値は減少する値であってもよい。この場合、受信側ECU200が保存するFVリストは、受信したフレッシュネス値のうち最も値の小さいフレッシュネス値を基準値とし、基準値から小さい順に所定の数のフレッシュネス値を示すリストとしてもよい。この例では、許容値がFVリストの中で最も値の大きいフレッシュネス値となる。
(実施形態2)
 実施形態1では、フレッシュネス値およびFVリストを利用して、第三者による再送攻撃を防ぎ、通信システムのセキュリティを高める構成を説明した。本実施形態ではさらに、フレッシュネス値に加えて認証子をメッセージに付与して通信システムのセキュリティ性を高める構成を、実施形態1との相違点を中心に説明する。図7は、実施形態2の通信システム11、および通信システム11を構成する送信側ECU110および受信側ECU210を示している。
1.送信側ECUの構成
 図7の送信側ECU110は、図1に示す送信側ECU100の各構成に加えて、MAC生成部111を備えている。
 MAC生成部111は、メッセージ生成部101で生成されたメッセージ(MSG)、およびFV生成部102で生成されたフレッシュネス値(FV)を用いて認証子(MAC:Message Authentication Code)を生成する。例えば、メッセージにフレッシュネス値を付与又は挿入したデータに対し、メモリ(図示せず)に保存されたMAC鍵を用いてMACアルゴリズムに基づき計算することにより認証子を生成する。
 送信部103は、メッセージ生成部101で生成されたメッセージに、FV生成部102で生成されたフレッシュネス値、およびMAC生成部111で生成された認証子を付与又は挿入し、さらにヘッダを付与したフレームを送信する。
2.受信側ECUの構成
 図7の受信側ECU210は、図1に示す受信側ECU200の各構成に加えて、検証用MAC生成部211およびMAC検証部212を備えている。
 本実施形態の受信部201は、送信側ECU110から送信されたフレームを受信する。このフレームは、メッセージ、およびメッセージに付与又は挿入されたフレッシュネス値および認証子が格納されたフレームである。
 本実施形態のFV検証部203は、実施形態1のFV検証部203と同様の処理を行い、フレッシュネス値が正常であると判定した場合、正常であると判定したフレッシュネス値を検証用フレッシュネス値(検証用FV)として後述する検証用MAC生成部211に出力する。
 検証用MAC生成部211は、メモリ(図示せず)に保存されたMAC鍵を取得し、当該MAC鍵、受信部201で受信したフレームに格納されているメッセージ、およびFV検証部203から出力された検証用フレッシュネス値を用いて検証用認証子(検証用MAC)を生成する。例えば、受信部101が受信したメッセージに検証用フレッシュネス値を付与又は挿入したデータに対し、MAC鍵を用いてMACアルゴリズムに基づき計算することにより検証用認証子を生成する。なお、検証用MAC生成部211が使用するMAC鍵は、送信側ECUと予め共有する鍵である。
 MAC検証部212は、受信部201で受信したフレームに格納されている認証子と、検証用MAC生成部211で生成した検証用認証子を比較して検証する。認証子と検証用認証子が一致した場合、認証子は正常であり検証結果が正常(OK)であると判定して受信したフレームの処理を行う。一致しない場合は、検証が正常ではない(NG)と判定して、受信したフレームを破棄する。
3.受信側ECUの動作
 図8、9を参照して、本実施形態の受信側ECU210の動作を説明する。図4と同じ処理については、図4と同じ符号を付して説明を省略する。
 本実施形態の受信側ECU210は、送信側ECU110から送信されたメッセージ、メッセージに付与されたフレッシュネス値、および認証子を受信する(S201)。
 また、S104においてフレッシュネス値の受信値が正常であると判定されると、MAC検証を行う(S202)。MAC検証として、図9のサブルーチンに示す以下の処理を行う。
 メモリに保存されたMAC鍵を取得する(S301)。
 図8のS104において正常であると判定されたフレッシュネス値の受信値を検証用フレッシュネス値として取得する(S302)。
 S301において取得したMAC鍵、S302において取得した検証用フレッシュネス値、および受信部201で受信したメッセージを用いて、検証用認証子を生成する(S303)。
 図8のS201において受信した認証子と、S303において生成した検証用認証子とを比較する(S304)。
 S304において比較した結果、認証子と検証用認証子とが一致する場合には、図9に示す処理を終了し、図8に示すS105の処理に進みFVリストを更新する。これに対し、認証子と検証用認証子とが一致しない場合には、図8に示すAに進み、フレームを廃棄する(S107)。
 例えば、第三者が、送信側ECU110から送信されたフレームの中身を不正に改ざんした場合、フレームに格納された認証子と、受信側ECU210で生成した検証用認証子とは一致しなくなる。その結果、受信側ECU210は、不正に改ざんされたメッセージを検出することが可能となる。
 本実施形態によれば、フレッシュネス値とFVリストを用いてメッセージの正/不正を高い精度で判定するとともに、フレッシュネス値の検証結果が正常の場合のみ認証子を用いた検証を行うことにより、負荷の大きい認証子の生成処理を抑制するとともに、通信システムのセキュリティ性を高めることが可能となる。
(総括)
 以上、本開示の実施形態における電子制御装置の特徴について説明した。
 実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
 実施形態の説明に用いたブロック図は、電子制御装置の構成を機能毎に分類および整理したものである。これらの機能ブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明の開示としても把握できるものである。
 各実施形態に記載した処理、フロー、および方法として把握できる機能ブロックについては、一のステップで他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えても良い。
 各実施形態、および請求の範囲で使用する“第1”“第2”の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
 電子制御装置の例として、部品や半完成品としては、半導体、電子回路、モジュール、あるいはECU(エレクトロニックコントロールユニット)が挙げられる。また完成品としては、ドライブレコーダ、カーナビゲーションシステム、スマートフォン、パーソナルコンピュータ、携帯電話、携帯情報端末が挙げられる。
 加えて、本開示は、各実施形態で説明した構成および機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、およびこれを実行可能な専用又は汎用CPUおよびメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
 専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
 本開示の電子制御装置等は、各実施形態で自動車に搭載される電子制御装置を念頭に置いて説明したが、自動二輪車、船舶、鉄道、航空機等、移動する移動体全般に適用することが可能でありこれらを含むものである。また、移動体に限らず、コンピュータを包含する製品全般に適用可能である。

Claims (9)

  1.  メッセージおよび前記メッセージに付与されたフレッシュネス値をコネクションレス型通信を用いて送信する送信側電子制御装置(100,110)から、前記メッセージおよび前記フレッシュネス値を受信する電子制御装置(200,210)であって、
     前記フレッシュネス値は、予め設定された上位更新条件に従って更新される上位側ビット、および予め設定された下位更新条件に従って更新される下位側ビットから構成され、
     当該電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストを保存する保存部(202)と、
     前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信する受信部(201)と、
     前記受信部で受信した前記フレッシュネス値である受信値と前記FVリストとを比較するFV検証部(203)と、
     前記FV検証部で比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新するリスト更新部(204)と、
     を備える電子制御装置。
  2.  前記リスト更新部はさらに、前記受信値が前記基準値よりも大きい場合に、前記受信値を保持するように前記FVリストを更新する、
     請求項1記載の電子制御装置。
  3.  前記受信部はさらに、前記メッセージに付与された認証子(MAC)を受信し、
     当該電子制御装置はさらに、
     前記FV検証部で比較した結果、前記受信値が前記基準値以下且つ前記許容値以上であり、前記受信値が前記FVリストにない場合に、前記メッセージおよび前記受信値から検証用認証子(MAC)を生成する検証用MAC生成部(211)と、
     前記認証子と前記検証用認証子の同一性を検証するMAC検証部(212)と、
     をさらに備え、
     前記リスト更新部は、前記認証子と前記検証用認証子とが同一の場合に、前記受信値を保持するように前記FVリストを更新する、
     請求項1記載の電子制御装置。
  4.  前記上位側ビットは前記送信側電子制御装置の起動回数を示す値であり、前記下位側ビットは前記送信側電子制御装置による前記メッセージの送信回数を示す値である、
     請求項1記載の電子制御装置。
  5.  前記保存部は不揮発性メモリおよび揮発性メモリを有し、前記受信部で受信した前記フレッシュネス値のうち、前記上位側ビットの値は前記不揮発性メモリに保存し、前記下位側ビットの値は前記揮発性メモリに保存する、
     請求項1記載の電子制御装置。
  6.  前記リスト更新部はさらに、前記所定の数を前記FV検証部での検証結果に応じて設定する、
     請求項1記載の電子制御装置。
  7.  コネクションレス型通信を用いてメッセージを送信する送信側電子制御装置(100,110)、および前記メッセージを受信する受信側電子制御装置(200,210)で構成される通信システム(10)であって、
     前記送信側電子制御装置は、
      前記メッセージ、および前記メッセージに付与され、予め設定された上位更新条件に従って更新される上位側ビットおよび予め設定された下位更新条件に従って更新される下位側ビットから構成されたフレッシュネス値を送信する送信部(103)を備え、
     前記受信側電子制御装置は、
      前記受信側電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストを保存する保存部(202)と、
      前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信する受信部(201)と、
      前記受信部で受信した前記フレッシュネス値である受信値と前記FVリストとを比較するFV検証部(203)と、
      前記FV検証部で比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新するリスト更新部(204)と、を備える、
     通信システム。
  8.  メッセージおよび前記メッセージに付与されたフレッシュネス値をコネクションレス型通信を用いて送信する送信側電子制御装置(100,110)から前記メッセージおよび前記フレッシュネス値を受信する受信側電子制御装置(200,210)で実行されるメッセージ受信プログラムであって、
     前記フレッシュネス値は、予め設定された上位更新条件に従って更新される上位側ビット、および予め設定された下位更新条件に従って更新される下位側ビットから構成され、
     当該メッセージ受信プログラムは、
     前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信し、
     受信した前記フレッシュネス値である受信値と、前記受信側電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストとを比較し、
     前記受信値と前記FVリストとを比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新する、
     メッセージ受信プログラム。
  9.  メッセージおよび前記メッセージに付与されたフレッシュネス値をコネクションレス型通信を用いて送信する送信側電子制御装置(100,110)から前記メッセージおよび前記フレッシュネス値を受信する受信側電子制御装置(200,210)で実行されるメッセージ受信方法であって、
     前記フレッシュネス値は、予め設定された上位更新条件に従って更新される上位側ビット、および予め設定された下位更新条件に従って更新される下位側ビットから構成され、
     当該メッセージ受信方法は、
     前記送信側電子制御装置から送信された前記メッセージおよび前記フレッシュネス値を受信し、
     受信した前記フレッシュネス値である受信値と、前記受信側電子制御装置が過去に受信した前記フレッシュネス値のうち、最も値の大きいフレッシュネス値である基準値から大きい順に所定の数のフレッシュネス値を示すFVリストとを比較し、
     前記受信値と前記FVリストとを比較した結果、前記受信値が前記基準値以下且つ前記FVリストの中で最も値の小さいフレッシュネス値である許容値以上であり、前記受信値が前記FVリストにない場合に、前記受信値を保持するように前記FVリストを更新する、
     メッセージ受信方法。
PCT/JP2020/016512 2019-06-04 2020-04-15 電子制御装置および通信システム WO2020246145A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112020002661.2T DE112020002661T5 (de) 2019-06-04 2020-04-15 Elektronische steuereinheit und kommunikationssystem
JP2021524691A JP7226543B2 (ja) 2019-06-04 2020-04-15 電子制御装置および通信システム
US17/457,097 US11916904B2 (en) 2019-06-04 2021-12-01 Electronic control unit and communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019104708 2019-06-04
JP2019-104708 2019-06-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/457,097 Continuation US11916904B2 (en) 2019-06-04 2021-12-01 Electronic control unit and communication system

Publications (1)

Publication Number Publication Date
WO2020246145A1 true WO2020246145A1 (ja) 2020-12-10

Family

ID=73652751

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/016512 WO2020246145A1 (ja) 2019-06-04 2020-04-15 電子制御装置および通信システム

Country Status (4)

Country Link
US (1) US11916904B2 (ja)
JP (1) JP7226543B2 (ja)
DE (1) DE112020002661T5 (ja)
WO (1) WO2020246145A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438924B2 (ja) 2020-12-15 2024-02-27 株式会社東芝 情報処理装置、方法及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7396216B2 (ja) * 2020-06-26 2023-12-12 トヨタ自動車株式会社 サーバ、更新管理方法、更新管理プログラム及びソフトウェア更新装置
US20220158843A1 (en) * 2020-11-13 2022-05-19 Ford Global Technologies, Llc Diagnostic over ip authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011160098A (ja) * 2010-01-29 2011-08-18 Oki Electric Industry Co Ltd 通信システム及び通信装置
JP2012169829A (ja) * 2011-02-14 2012-09-06 Honda Motor Co Ltd 通信システムおよび通信方法
JP2017200040A (ja) * 2016-04-27 2017-11-02 日立オートモティブシステムズ株式会社 演算装置、認証システム、認証方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5246034B2 (ja) 2009-05-22 2013-07-24 富士通株式会社 パケット送受信システム、パケット送受信装置、および、パケット送受信方法
WO2013140455A1 (ja) * 2012-03-22 2013-09-26 富士通株式会社 アドホックネットワークシステム、ノード、および通信方法
JP6473674B2 (ja) 2015-07-28 2019-02-20 ルネサスエレクトロニクス株式会社 通信端末およびプログラム
JP6555209B2 (ja) 2015-08-07 2019-08-07 株式会社デンソー 通信システム、管理ノード、通信ノード、カウンタ同期方法、カウント値配信方法、カウント値初期化方法、プログラム、記録媒体
US10630481B2 (en) * 2016-11-07 2020-04-21 Ford Global Technologies, Llc Controller area network message authentication
JP7190255B2 (ja) 2017-12-13 2022-12-15 アース製薬株式会社 匍匐害虫の忌避方法
US10791125B2 (en) * 2018-01-03 2020-09-29 Ford Global Technologies, Llc End-to-end controller protection and message authentication
US11528162B2 (en) * 2020-07-01 2022-12-13 Ford Global Technologies, Llc Detecting and resolving desynchronization of trip counter values in authenticated messages
WO2022032548A1 (zh) * 2020-08-13 2022-02-17 华为技术有限公司 车载网络安全通信方法、装置和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011160098A (ja) * 2010-01-29 2011-08-18 Oki Electric Industry Co Ltd 通信システム及び通信装置
JP2012169829A (ja) * 2011-02-14 2012-09-06 Honda Motor Co Ltd 通信システムおよび通信方法
JP2017200040A (ja) * 2016-04-27 2017-11-02 日立オートモティブシステムズ株式会社 演算装置、認証システム、認証方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438924B2 (ja) 2020-12-15 2024-02-27 株式会社東芝 情報処理装置、方法及びプログラム

Also Published As

Publication number Publication date
DE112020002661T5 (de) 2022-03-24
US11916904B2 (en) 2024-02-27
JP7226543B2 (ja) 2023-02-21
JPWO2020246145A1 (ja) 2020-12-10
US20220094684A1 (en) 2022-03-24

Similar Documents

Publication Publication Date Title
WO2020246145A1 (ja) 電子制御装置および通信システム
US10104094B2 (en) On-vehicle communication system
US11277417B2 (en) System and method of generating rules for blocking a computer attack on a vehicle
US11451579B2 (en) System and method for protecting electronics systems of a vehicle from cyberattacks
EP3447971A1 (en) Update control apparatus, software update system and update control method
EP3151462B1 (en) Transmission device, reception device, transmission method, and reception method
US20170048241A1 (en) Transmission device, reception device, transmission method, and reception method
JPWO2019117184A1 (ja) 車載ネットワーク異常検知システム及び車載ネットワーク異常検知方法
JP6525824B2 (ja) 中継装置
JP7009305B2 (ja) ネットワーク監視器、ネットワーク監視方法およびプログラム
US11245535B2 (en) Hash-chain based sender identification scheme
WO2013128317A1 (en) Anti-replay counter measures
US20060093144A1 (en) Communications method for at least two system components of a motor vehicle
US20190123908A1 (en) Arithmetic Device, Authentication System, and Authentication Method
WO2017057165A1 (ja) 車載通信システム
KR101882694B1 (ko) Mac을 포함하는 can 메시지 송수신을 위한 방법 및 시스템
EP3547191A1 (en) System and method of generating rules for blocking a computer attack on a vehicle
US20220191040A1 (en) Devices and methods for the generating and authentication of at least one data packet to be transmitted in a bus system (bu), in particular of a motor vehicle
WO2017026360A1 (ja) 通信システム
EP3713190B1 (en) Secure bridging of controller area network buses
EP3547192B1 (en) System and method of blocking a computer attack on a means of transportation
KR20200040876A (ko) 차량의 제어 장치에 대한 공격을 검출하기 위한 방법
KR20180072340A (ko) 운송 수단 내부 네트워크에서의 제어 데이터를 보안 전송하는 방법
CN107444300B (zh) 用于运行用于车辆的数据处理装置的方法
US20230401306A1 (en) Electronic control unit adapted to intelligent transport system communications and corresponding method

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: 20818318

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021524691

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 20818318

Country of ref document: EP

Kind code of ref document: A1