Communication network system, vehicle, counter value notification node, counter value sharing method, and computer program
Abstract
Problem to be solved.To improve the efficiency of a communication network system in which a transmitting node for transmitting a message and a receiving node for receiving the message are connected. In a communication network system in which a transmitting node that transmits a message and a receiving node that receives the message are connected, a counter value used for generating and inspecting a message authentication code for the message is used as the transmitting node. A counter value notification message to be notified to the receiving node is periodically transmitted. [Selection diagram] Fig. 6

Term
Projected expiry 14 March 2036.
- Priority and filed
- Published
- Today
- Projected expiry
8 claims: 5 independent, 3 dependent
- 1メッセージを送信する送信ノードと前記メッセージを受信する受信ノードとが接続される通信ネットワークシステムにおいて、 前記メッセージのメッセージ認証コードの生成と検査とに使用されるカウンタ値を前記送信ノードと前記受信ノードとへ通知するカウンタ値通知メッセージを定期的に送信するカウンタ値通知ノードを備える通信ネットワークシステム。
- 2前記送信ノードは、 前記受信ノードと共有するセッション鍵を記憶するセッション鍵記憶部と、 前記メッセージの送信毎に所定のカウント値だけ増加させるカウンタ値を保持するカウンタ部と、 前記メッセージに格納される送信データと前記カウンタ部が保持しているカウンタ値と前記セッション鍵記憶部が記憶しているセッション鍵とに基づいてメッセージ認証コードを生成するメッセージ認証コード生成部と、 前記送信データと前記カウンタ部が保持しているカウンタ値のビット列のうち所定の下位のビット数分と前記メッセージ認証コード生成部が生成したメッセージ認証コードとを格納する前記メッセージを送信する送信部と、 前記カウンタ値通知メッセージによって取得したカウンタ値を前記カウンタ部が保持する新しいカウンタ値に設定するカウンタ設定部と、を備え、 前記受信ノードは、 前記カウンタ値通知メッセージによって取得したカウンタ値を保持するカウンタ部と、 前記送信ノードと共有するセッション鍵を記憶するセッション鍵記憶部と、 前記送信ノードから受信した前記メッセージに格納されている送信データと、自受信ノードの前記カウンタ部が保持しているカウンタ値のビット列のうち前記所定の下位のビット数分以外の残りの上位のビット数分と、前記送信ノードから受信した前記メッセージに格納されている前記所定の下位のビット数分と、自受信ノードの前記セッション鍵記憶部が記憶しているセッション鍵とに基づいてメッセージ認証コードを生成し、該生成したメッセージ認証コードと前記送信ノードから受信した前記メッセージに格納されているメッセージ認証コードとが一致するかを検査するメッセージ認証コード検査部と、を備える、 請求項1に記載の通信ネットワークシステム。
- 3前記カウンタ値通知ノードは、 前記送信ノードと前記受信ノードとが共有するセッション鍵を記憶するセッション鍵記憶部と、 前記送信ノードと前記受信ノードとへ通知するカウンタ値を自カウンタ値通知ノードの前記セッション鍵記憶部が記憶しているセッション鍵で暗号化する暗号化部と、 前記暗号化部がカウンタ値を暗号化した結果である暗号化カウンタ値を格納する前記カウンタ値通知メッセージを定期的に送信する送信部と、 を備え、 前記送信ノードと前記受信ノードとは、前記カウンタ値通知メッセージに格納されている暗号化カウンタ値を自ノードの前記セッション鍵記憶部が記憶しているセッション鍵で復号する復号部を備える、 請求項1又は2のいずれか1項に記載の通信ネットワークシステム。
- 4前記カウンタ値通知ノードは、 前記送信ノードと前記受信ノードとが共有するセッション鍵を記憶するセッション鍵記憶部と、 前記送信ノードと前記受信ノードとへ通知するカウンタ値と自カウンタ値通知ノードの前記セッション鍵記憶部が記憶しているセッション鍵とに基づいてメッセージ認証コードを生成するメッセージ認証コード生成部と、を備え、 前記カウンタ値通知ノードの送信部は、前記暗号化カウンタ値と前記カウンタ値通知ノードのメッセージ認証コード生成部が生成したメッセージ認証コードとを格納する前記カウンタ値通知メッセージを定期的に送信し、 前記送信ノードと前記受信ノードとは、 前記復号部が復号した結果である復号カウンタ値と自ノードの前記セッション鍵記憶部が記憶しているセッション鍵とに基づいてメッセージ認証コードを生成し、該生成したメッセージ認証コードと前記カウンタ値通知メッセージに格納されているメッセージ認証コードとが一致するかを検査するメッセージ認証コード検査部を備える、 請求項3に記載の通信ネットワークシステム。
- 5請求項1から4のいずれか1項に記載の通信ネットワークシステムを備える車両。
- 6メッセージを送信する送信ノードと前記メッセージを受信する受信ノードとが接続される通信ネットワークシステムのカウンタ値通知ノードであり、 前記メッセージのメッセージ認証コードの生成と検査とに使用されるカウンタ値を前記送信ノードと前記受信ノードとへ通知するカウンタ値通知メッセージを定期的に送信する送信部を備えるカウンタ値通知ノード。
- 7メッセージを送信する送信ノードと前記メッセージを受信する受信ノードとが接続される通信ネットワークシステムのカウンタ値共有方法であり、 カウンタ値通知ノードが、前記メッセージのメッセージ認証コードの生成と検査とに使用されるカウンタ値を前記送信ノードと前記受信ノードとへ通知するカウンタ値通知メッセージを定期的に送信する送信ステップを含むカウンタ値共有方法。
- 8メッセージを送信する送信ノードと前記メッセージを受信する受信ノードとが接続される通信ネットワークシステムのカウンタ値通知ノードのコンピュータに、 前記メッセージのメッセージ認証コードの生成と検査とに使用されるカウンタ値を前記送信ノードと前記受信ノードとへ通知するカウンタ値通知メッセージを定期的に送信する送信機能 を実現させるためのコンピュータプログラム。
Independent claims8
80 paragraphs, as filed
0001The present invention relates to communication network systems, vehicles, counter value notification nodes, counter value sharing methods, and computer programs.
0002In recent years, automobiles have an ECU (Electronic Control Unit), and the ECU realizes functions such as engine control. In addition, CAN (Controller Area Network), which is known as one of the communication networks mounted on automobiles, is used for communication between various ECUs in automobiles. As a technique that enables message authentication in the CAN, for example, the message inspection technique described in Patent Document 1 is known. In the message inspection technique described in Patent Document 1, the transmitting node includes a transmission counter unit that holds a transmission counter value used for generating a message authentication code (MAC), and the receiving node is used for MAC inspection. A reception counter unit that holds a reception counter value is provided. The reception counter unit of the reception node holds a plurality of reception counter values corresponding to each of the plurality of transmission nodes. The receiving node uses the reception counter value corresponding to the transmitting node to check the MAC of the message received from the transmitting node.
<p num="0003"><patcit num="1"><text>Japanese Unexamined Patent Publication No. 2016-12917</text></patcit></p>
<p num="0004"> However, in the conventional message inspection technique described above, the MAC of the message received from the transmitting node is made by matching the transmission counter value of one transmitting node with the receiving counter value corresponding to the transmitting node of a plurality of receiving nodes. However, the process of matching the counter values may be a burden. For example, when a plurality of receiving nodes inquire the transmitting node for the counter value as a process of matching the transmitting counter value and the receiving counter value, the counter value inquiry is exchanged between the plurality of receiving nodes and the transmitting node. Occurs more than once. As a result, the load on the CAN may increase and the communication speed of the CAN may decrease.</p><p num="0005"> The present invention has been made in consideration of such circumstances, and it is possible to improve the efficiency of a communication network system in which a transmitting node that transmits a message and a receiving node that receives the message are connected. An object of the present invention is to provide a communication network system, a vehicle, a counter value notification node, a counter value sharing method, and a computer program.</p>
<p num="0006">(1) One aspect of the present invention is a counter used for generating and inspecting a message authentication code for a message in a communication network system in which a transmitting node for transmitting a message and a receiving node for receiving the message are connected. It is a communication network system including a counter value notification node that periodically transmits a counter value notification message that notifies a value to the transmission node and the reception node. (2) One aspect of the present invention is that in the communication network system of the above (1), the transmitting node has a session key storage unit that stores a session key shared with the receiving node, and a predetermined one for each transmission of the message. Based on the counter unit that holds the counter value that increases by the count value, the transmission data stored in the message, the counter value that the counter unit holds, and the session key that the session key storage unit stores. The message authentication code generation unit that generates the message authentication code, the number of lower bits of the bit string of the transmission data and the counter value held by the counter unit, and the message authentication generated by the message authentication code generation unit. The receiving node includes a transmitting unit that stores the code and transmits the message, and a counter setting unit that sets the counter value acquired by the counter value notification message to a new counter value held by the counter unit. A counter unit that holds the counter value acquired by the counter value notification message, a session key storage unit that stores the session key shared with the transmission node, and transmission data stored in the message received from the transmission node. , It is stored in the remaining upper bits other than the predetermined lower bits and the message received from the transmission node in the bit string of the counter value held by the counter unit of the self-reception node. A message authentication code is generated based on the predetermined number of lower bits and the session key stored in the session key storage unit of the self-reception node, and the generated message authentication code and the transmission node receive the message authentication code. It is a communication network system including a message authentication code inspection unit that inspects whether or not the message authentication code stored in the above-mentioned message matches. (3) One aspect of the present invention is that in the communication network system according to either (1) or (2) above, the counter value notification node stores a session key shared by the transmitting node and the receiving node. The session key storage unit, the encryption unit that encrypts the counter value notified to the transmission node and the reception node with the session key stored in the session key storage unit of the own counter value notification node, and the encryption unit. The transmission unit includes a transmission unit that periodically transmits the counter value notification message that stores the encryption counter value that is the result of the unit encrypting the counter value, and the transmission node and the reception node are the counter value notification. It is a communication network system including a decryption unit that decrypts an encryption counter value stored in a message with a session key stored in the session key storage unit of the own node. (4) In one aspect of the present invention, in the communication network system of the above (3), the counter value notification node includes a session key storage unit that stores a session key shared by the transmitting node and the receiving node, and the above. A message authentication code generation unit that generates a message authentication code based on a counter value notified to the transmitting node and the receiving node and a session key stored in the session key storage unit of the own counter value notification node is provided. , The transmission unit of the counter value notification node periodically transmits the counter value notification message storing the encryption counter value and the message authentication code generated by the message authentication code generation unit of the counter value notification node. The transmitting node and the receiving node generate a message authentication code based on the decoding counter value which is the result of decoding by the decoding unit and the session key stored in the session key storage unit of the own node, and the message authentication code is generated. It is a communication network system including a message authentication code inspection unit that inspects whether the generated message authentication code and the message authentication code stored in the counter value notification message match.</p><p num="0007">(5) One aspect of the present invention is a vehicle provided with the communication network system according to any one of (1) to (4) above.</p><p num="0008">(6) One aspect of the present invention is a counter value notification node of a communication network system to which a transmitting node for transmitting a message and a receiving node for receiving the message are connected, and generating and inspecting a message authentication code for the message. It is a counter value notification node including a transmission unit that periodically transmits a counter value notification message for notifying the transmission node and the reception node of the counter value used for.</p><p num="0009">(7) One aspect of the present invention is a counter value sharing method of a communication network system in which a transmitting node that transmits a message and a receiving node that receives the message are connected, and the counter value notification node is the message of the message. It is a counter value sharing method including a transmission step of periodically transmitting a counter value notification message for notifying the transmitting node and the receiving node of the counter value used for generating and inspecting the authentication code.</p><p num="0010">(8) One aspect of the present invention is to generate a message authentication code for the message on the computer of the counter value notification node of the communication network system to which the transmitting node for transmitting the message and the receiving node for receiving the message are connected. It is a computer program for realizing a transmission function of periodically transmitting a counter value notification message for notifying the transmission node and the reception node of the counter value used for inspection.</p>
<p num="0011"> According to the present invention, it is possible to improve the efficiency of a communication network system in which a transmitting node that transmits a message and a receiving node that receives the message are connected.</p>
0012<figref num="1">It is a figure which shows the configuration example of the communication network system 10 which concerns on one Embodiment.</figref><figref num="2">It is a figure which shows the structural example of the 1st ECU1 which concerns on one Embodiment.</figref><figref num="3">It is a figure which shows the structural example of the 2nd ECU2 which concerns on one Embodiment.</figref><figref num="4">It is a figure which shows the structural example of the data field of the data frame which concerns on one Embodiment.</figref><figref num="5">It is a figure which shows the structural example of the data field of the data frame which concerns on one Embodiment.</figref><figref num="6">It is a flowchart which shows the example of the counter value sharing method which concerns on one Embodiment.</figref><figref num="7">It is a flowchart which shows the example of the counter value sharing method which concerns on one Embodiment.</figref><figref num="8">It is a figure which shows the structural example of the automobile 300 which concerns on one Embodiment.</figref>
0013Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the embodiment shown below, an automobile will be described as an example of the vehicle. Further, as one aspect of the communication network system, a communication network system mounted on an automobile will be described as an example.
0014FIG. 1 is a diagram showing a configuration example of the communication network system 10 according to the present embodiment. The communication network system 10 is installed in an automobile. In FIG. 1, the communication network system 10 has a plurality of ECUs (electronic control units) 1 and 2 and CAN 3. ECUs 1 and 2 are connected to CAN3. ECUs 1 and 2 are composed of a CPU (Central Processing Unit), memory, and the like. ECUs 1 and 2 are a type of computer. The functions of ECUs 1 and 2 are realized by the CPU of ECUs 1 and 2 executing a computer program for realizing the functions of ECUs 1 and 2. For example, ECUs 1 and 2 have a control function for controlling equipment in an automobile. The ECUs 1 and 2 are, for example, a drive system ECU, a vehicle body system ECU, a safety control system ECU, and the like.
0015In the present embodiment, for convenience of explanation, the communication network system 10 is provided with four ECUs 1 and 2, and the four ECUs 1 and 2 are connected to CAN 3. CAN3 transmits messages exchanged between each ECU 1 and 2. Each ECU 1 and 2 sends and receives messages to and from each other via CAN3. In CAN3, messages are transmitted in a predetermined frame format. ECUs 1 and 2 function as nodes (communication devices) connected to CAN. In the present embodiment, ECUs 1 and 2 have a function of a transmitting node for transmitting a message and a function of a receiving node for receiving the message.
0016As shown in FIG. 1, ID10, ID11, ID12, and ID13 are assigned to each of the four ECUs 1 and 2 as CAN identifiers (IDs), respectively. ECU1 to which ID10 is given is called the first ECU1. ECU2 to which ID11, ID12, and ID13 are assigned is referred to as a second ECU2.
0017FIG. 2 is a diagram showing a configuration example of the first ECU 1 according to the present embodiment. In FIG. 2, the first ECU 1 includes a transmission unit 111, a reception unit 112, a frame reception processing unit 113, a MAC (message authentication code) generation unit 114, a counter unit 115, a MAC inspection unit 116, a session key storage unit 117, and a switching unit 118. The counter control unit 119, the counter value generation unit 120, and the encryption unit 121 are provided.
0018The transmission unit 111 transmits a message in a predetermined frame format of CAN3 to CAN3. The receiving unit 112 receives the message in the predetermined frame format from CAN3. There is a data frame as one of the frame types of the predetermined frame format of CAN3. The transmission unit 111 transmits the data frame to CAN3. The receiving unit 112 receives the data frame from CAN3.
0019The data to be stored in the data field (Data Field) of the data frame is input to the transmission unit 111 from the switching unit 118. Transmission data or an encryption counter value is input to the transmission unit 111 from the switching unit 118. The encryption counter value is data obtained by encrypting the counter value. The transmission unit 111 stores the data input from the switching unit 118 in the data field in the data frame. The upper limit of the data length that can be stored in the data field of the data frame is 64 bits (bit). The frame reception processing unit 113 performs reception processing on the data frame received from the CAN 3 by the reception unit 112.
0020The MAC generation unit 114 generates a MAC by using the data stored in the data field in the data frame. The MAC generation unit 114 outputs the generated MAC to the transmission unit 111. The transmission unit 111 stores the MAC received from the MAC generation unit 114 in a predetermined part in the data frame.
0021The counter unit 115 functions as a transmission counter unit. As a function of the transmission counter unit, the counter unit 115 holds a counter value that increases by a predetermined count value each time the data frame is transmitted by the transmission unit 111. In the present embodiment, as an example, the predetermined count value is 1. Therefore, the counter unit 115 holds a counter value that is incremented by 1 each time the transmission unit 111 transmits one data frame to CAN 3. This counter value is incremented by 1 each time the first ECU1 sends one data frame to CAN3. In the present embodiment, as an example, the data length of the count value held by the counter unit 115 is 32 bits.
0022The MAC inspection unit 116 inspects the MAC stored in the data frame received by the reception unit 112 from CAN3. The session key storage unit 117 stores the session key. The session key is shared in advance between the first ECU1 and the second ECU2. Transmission data is input to the switching unit 118. Further, the encryption counter value is input to the switching unit 118 from the counter control unit 119. The switching unit 118 switches whether the data to be output to the transmission unit 111 is the transmission data or the encryption counter value.
0023The counter value generation unit 120 generates a counter value. For example, the counter value generation unit 120 generates a random number and generates a counter value based on the random number. The predetermined number of bits lower than the bit string of the counter value generated by the counter value generator 120 may be set to 0. The counter control unit 119 controls the counter value. The encryption unit 121 encrypts the counter value by using the session key stored in the session key storage unit 117.
0024The counter control unit 119 outputs the counter value generated by the counter value generation unit 120 to the encryption unit 121. The encryption unit 121 encrypts the counter value received from the counter control unit 119 with the session key. The encryption unit 121 outputs the encryption counter value, which is the encrypted counter value, to the counter control unit 119. The counter control unit 119 outputs the encryption counter value received from the encryption unit 121 to the switching unit 118. When the switching unit 118 receives the encryption counter value from the counter control unit 119, the switching unit 118 outputs the encryption counter value to the transmission unit 111. In this embodiment, as an example, the encryption counter value is 32 bits.
0025Further, the counter control unit 119 outputs the original counter value of the encryption counter value before encryption to the counter unit 115. The counter unit 115 holds the counter value received from the counter control unit 119 in place of the counter value already held. That is, the counter value generated by the counter value generation unit 120 is held by the counter unit 115 as a new counter value. The new counter value held by the counter unit 115 is input from the counter control unit 119 to the transmission unit 111 via the switching unit 118 as an encrypted counter value, and is stored in a predetermined portion in the data frame.
0026FIG. 3 is a diagram showing a configuration example of the second ECU 2 according to the present embodiment. In FIG. 3, the second ECU 2 includes a transmission unit 211, a reception unit 212, a frame reception processing unit 213, a MAC generation unit 214, a counter unit 215, a MAC inspection unit 216, a session key storage unit 217, a counter setting unit 220, and a decoding unit 221. And.
0027The transmission unit 211 transmits a message in a predetermined frame format of CAN3 to CAN3. The receiving unit 212 receives the message in the predetermined frame format from CAN3. The transmission unit 211 transmits the data frame to CAN3. The receiving unit 212 receives the data frame from CAN3.
0028Transmission data to be stored in the data field of the data frame is input to the transmission unit 211. The transmission unit 211 stores the input transmission data in a data field in the data frame. The frame reception processing unit 213 performs reception processing on the data frame received from the CAN 3 by the reception unit 212.
0029The MAC generation unit 214 generates a MAC by using the transmission data or the like stored in the data field in the data frame. The MAC generation unit 214 outputs the generated MAC to the transmission unit 211. The transmission unit 211 stores the MAC received from the MAC generation unit 214 in a predetermined part in the data frame.
0030The counter unit 215 functions as a transmission counter unit. As a function of the transmission counter unit, the counter unit 215 holds a counter value that is incremented by a predetermined count value each time the data frame is transmitted by the transmission unit 211. The predetermined count value is the same as that of the counter unit 115 of the first ECU1. In this embodiment, the predetermined count value is 1. Therefore, the counter unit 215 holds a counter value that is incremented by 1 each time the transmission unit 211 transmits one data frame to CAN 3. This counter value is incremented by 1 each time the second ECU2 sends one data frame to CAN3. The data length of the count value held by the counter unit 215 of the second ECU 2 is the same as the data length of the count value held by the counter unit 115 of the first ECU 1. In the present embodiment, the data length of the count value held by the counter unit 215 is 32 bits.
0031The MAC inspection unit 216 inspects the MAC stored in the data frame received by the reception unit 212 from CAN3. The session key storage unit 217 stores the session key. The session key is shared in advance between the first ECU1 and the second ECU2.
0032The counter setting unit 220 sets a counter value in the counter unit 215. The decryption unit 221 decodes the encryption counter value stored in the data field of the data frame received from CAN3 by the reception unit 212. The decryption unit 221 outputs the decryption data of the decryption result of the encryption counter value to the counter setting unit 220. The decrypted data of the decryption result of the encryption counter value is used by the counter setting unit 220 to set the counter value of the counter unit 215.
0033The MAC generation method and inspection method are common to the first ECU1 and the second ECU2. Further, the MAC may be a CMAC (Cipher-based Message Authentication Code) or an HMAC (Hash-based Message Authentication Code).
00344 and 5 are diagrams showing a configuration example of a data field of the data frame according to the present embodiment.
0035[Example of data field configuration of data frame that notifies counter value] FIG. 4 shows a configuration example of a data field of a data frame that notifies a counter value. A data frame for notifying a counter value is called a counter value notification frame. The counter value notification frame will be described with reference to FIG.
0036The counter value notification frame is transmitted from the first ECU1 to CAN3. The first ECU1 transmits a counter value notification frame to each of the second ECU2s of ID11, ID12, and ID13 via CAN3. The first ECU1 may broadcast a counter value notification frame. The counter value notification frame transmitted by broadcasting is received by each second ECU2 of ID11, ID12, and ID13 via CAN3.
0037A 32-bit encryption counter value and a 32-bit MAC are stored in the data field of the counter value notification frame. The transmission unit 111 of the first ECU 1 stores the encryption counter value received from the switching unit 118 and the MAC received from the MAC generation unit 114 in the data field of the counter value notification frame. The MAC stored in the data field may be only a predetermined part of the MAC bit string generated by the MAC generation unit 114. For example, only a predetermined 32-bit portion of the 256-bit MAC bit string generated by the MAC generator 114 may be stored in the data field.
0038(How to generate the counter value notification frame of the 1st ECU1) The method of generating the counter value notification frame of the first ECU 1 will be described. The counter control unit 119 passes the encrypted counter value for the counter value generated by the counter value generation unit 120 to the transmission unit 111 via the switching unit 118. The counter control unit 119 outputs the original counter value of the encryption counter value before encryption to the counter unit 115. The counter unit 115 holds the counter value received from the counter control unit 119 in place of the counter value already held. The MAC generation unit 114 uses the session key stored in the session key storage unit 117 to generate a MAC with a new counter value held in the counter unit 115. The MAC generation unit 114 outputs the generated MAC to the transmission unit 111.
0039The transmission unit 111 uses the encrypted counter value received from the counter control unit 119 via the switching unit 118 and the MAC received from the MAC generation unit 114 as data in the counter value notification frame, as illustrated in FIG. Store in field. The encryption counter value and the MAC stored in the data field of one counter value notification frame are generated using the same counter value. For the part other than the data field in the counter value notification frame, the predetermined frame format of the CAN data frame is applied. The transmission unit 111 transmits the counter value notification frame to CAN3.
0040The number of lower predetermined bits of the bit string of the counter value generated by the counter value generation unit 120 may be set to 0. Specifically, among the bit strings of the counter value generated by the counter value generator 120, the number of bits lower than the counter value stored in the data field of the data frame illustrated in FIG. 5 (lower in the example of FIG. 5). 6 bits) may be set to 0.
0041(Reception processing method of counter value notification frame of 2nd ECU2) The reception processing method of the counter value notification frame of the second ECU 2 will be described. The receiving unit 212 receives the counter value notification frame from CAN3. The decryption unit 221 decrypts the encryption counter value stored in the data field of the counter value notification frame received by the reception unit 212. The data of the decryption result of this encryption counter value is referred to as a decryption counter value. The decoding unit 221 outputs the decoding counter value to the MAC inspection unit 216 and the counter setting unit 220.
0042The MAC inspection unit 216 inspects the MAC stored in the data field of the counter value notification frame received by the reception unit 212. The method of checking the MAC of this counter value notification frame will be described. The MAC inspection unit 216 receives the decoding counter value from the decoding unit 221. The MAC inspection unit 216 uses the session key stored in the session key storage unit 217 to generate a MAC of the decryption counter value. The MAC of this decoding counter value is referred to as the decoding counter value MAC. The MAC inspection unit 216 compares the decoding counter value MAC with the MAC stored in the data field of the counter value notification frame received by the reception unit 212. As a result of this comparison, if they match, the MAC test passes, and if they do not match, the MAC test fails.
0043If the MAC stored in the data field is only a predetermined part of the MAC bit string generated by the MAC generation unit 114, the MAC inspection unit 216 will perform a predetermined part of the decoding counter value MAC bit string. Use only for MAC inspection. For example, if the MAC stored in the data field is only a predetermined 32-bit portion of the 256-bit MAC bit string generated by the MAC generator 114, the MAC inspection unit 216 will determine the decryption counter value MAC. Only the specified 32-bit part of the bit string is used for MAC inspection.
0044If the MAC inspection is passed, the MAC inspection unit 216 notifies the counter setting unit 220 of the passing of the MAC inspection. When the MAC inspection unit 216 notifies the counter setting unit 220 that the MAC inspection has passed, the counter setting unit 220 outputs the decoding counter value received from the decoding unit 221 to the counter unit 215. The counter unit 215 holds the decoding counter value received from the counter setting unit 220 in place of the counter value already held.
0045On the other hand, if the MAC inspection fails, the MAC inspection unit 216 notifies the counter setting unit 220 of the failure of the MAC inspection. When the MAC inspection unit 216 notifies the MAC inspection unit 220 that the MAC inspection has failed, the counter setting unit 220 discards the decoding counter value received from the decoding unit 221. That is, when the MAC inspection unit 216 notifies the counter setting unit 220 that the MAC inspection has failed, the counter setting unit 220 does not output the decoding counter value received from the decoding unit 221 to the counter unit 215. Therefore, the counter unit 215 holds the counter value already held as it is.
0046The same counter value is notified from the first ECU1 to each second ECU2 by the above-mentioned counter value notification frame. As a result, the counter values held by the first ECU1 and the second ECU2 match.
0047If the MAC inspection of the counter value notification frame fails in a certain second ECU2, the second ECU2 may notify the first ECU1 of the failure of the MAC inspection. When the second ECU2 notifies the first ECU1 that the MAC inspection of the counter value notification frame has failed, the first ECU1 may transmit the counter value notification frame to each second ECU2 again. The counter value notification frame may be a counter value notification frame that notifies the same counter value as the previous time, or may be a counter value notification frame that notifies a new counter value different from the previous time.
0048[Example of data field configuration of data frame for transmitting transmission data] FIG. 5 shows a configuration example of a data field of a data frame that transmits transmission data. A data frame that transmits transmission data is called a transmission data transmission frame. The transmission data transmission frame will be described with reference to FIG.
0049The first ECU1 transmits a transmission data transmission frame to CAN3. The first ECU1 receives a transmission data transmission frame from CAN3. The second ECU2 transmits a transmission data transmission frame to CAN3. The second ECU2 receives the transmission data transmission frame from CAN3.
0050Transmission data In the data field of the transmission frame, transmission data of up to 26 bits, a bit string of the lower 6 bits of the counter value, and a 32-bit MAC are stored. The transmission unit 111 of the first ECU 1 transmits the transmission data received from the switching unit 118, the bit string of the lower 6 bits of the counter value held by the counter unit 115, and the MAC received from the MAC generation unit 114. Store in the data field of. The transmission unit 211 of the second ECU 2 transmits the input transmission data, the bit string of the lower 6 bits of the counter value held by the counter unit 215, and the MAC received from the MAC generation unit 214. Data field of the transmission data transmission frame. Store in.
0051The MAC stored in the data field may be only a predetermined part of the MAC bit strings generated by the MAC generation units 114 and 214. For example, only a predetermined 32-bit portion of the 256-bit MAC bit string generated by the MAC generators 114 and 214 may be stored in the data field.
0052(Method of generating transmission data transmission frame) A method of generating a transmission data transmission frame will be described. Here, the case where the second ECU 2 generates a transmission data transmission frame will be described as an example, but the same applies to the first ECU 1. The MAC generation unit 214 generates concatenated data in which the transmission data stored in the data field of the transmission data transmission frame and the counter value held in the counter unit 215 are concatenated. The MAC generation unit 214 uses the session key stored in the session key storage unit 217 to generate a MAC for the concatenated data. The MAC generation unit 214 outputs the generated MAC to the transmission unit 211.
0053The transmission unit 211 displays the input transmission data, the bit string of the lower 6 bits of the counter value held by the counter unit 215, and the MAC received from the MAC generation unit 214, as illustrated in FIG. Transmission data Stored in the data field of the transmission frame. For the parts other than the data field in the transmission data transmission frame, the predetermined frame format of the CAN data frame is applied. The transmission unit 211 transmits the transmission data transmission frame to CAN3.
0054(Reception processing method of transmission data transmission frame) The reception processing method of the transmission data transmission frame will be described. Here, the case where the second ECU 2 receives the transmission data transmission frame will be described as an example, but the same applies to the first ECU 1. The receiving unit 212 receives the transmission data transmission frame from CAN3. The transmission data transmission frame received by the receiving unit 212 is referred to as an inspection target transmission data transmission frame.
0055The MAC inspection unit 216 inspects the MAC stored in the data field of the transmission frame to be inspected. The method of inspecting the MAC of the transmission data transmission frame to be inspected will be described. The MAC inspection unit 216 includes transmission data stored in the data field of the inspection target transmission data transmission frame, a bit string of the upper 26 bits of the counter value held in the counter unit 215, and the inspection target transmission data transmission frame. Generates concatenated data by concatenating the lower 6 bits of the counter value stored in the data field. The MAC inspection unit 216 uses the session key stored in the session key storage unit 217 to generate a MAC for the concatenated data. The MAC of this concatenated data is called the inspection reference MAC. The MAC inspection unit 216 compares the inspection reference MAC with the MAC stored in the data field of the inspection target transmission data transmission frame. As a result of this comparison, if they match, the MAC test passes, and if they do not match, the MAC test fails.
0056If the MAC stored in the data field is only a predetermined part of the MAC bit strings generated by the MAC generation units 114 and 214, the MAC inspection unit 216 will perform only the predetermined part of the inspection reference MAC bit strings. Is used for MAC inspection. For example, if the MAC stored in the data field is only a predetermined 32-bit portion of the 256-bit MAC bit strings generated by the MAC generators 114 and 214, the MAC inspection unit 216 will perform the inspection reference MAC bit string. Only the specified 32-bit part is used for MAC inspection.
0057If the MAC inspection passes, the MAC inspection unit 216 notifies the frame reception processing unit 213 that the MAC inspection has passed. When the MAC inspection unit 216 notifies the frame reception processing unit 113 that the MAC inspection has passed, the frame reception processing unit 113 performs a predetermined reception processing on the normally received transmission data transmission frame for the transmission data transmission frame to be inspected.
0058On the other hand, if the MAC inspection fails, the MAC inspection unit 216 notifies the frame reception processing unit 213 of the failure of the MAC inspection. When the MAC inspection unit 216 notifies the frame reception processing unit 113 that the MAC inspection has failed, the frame reception processing unit 113 executes a predetermined error processing.
0059The transmission data transmission frame described above exchanges transmission data between the first ECU1 and the second ECU2, or between the second ECU2s.
00606 and 7 are flowcharts showing an example of the counter value sharing method according to the present embodiment. First, the procedure of the counter value sharing process executed by the first ECU 1 according to the present embodiment will be described with reference to FIG.
0061(Step S1) The counter control unit 119 of the first ECU 1 determines whether the timing is the cycle for notifying the counter value (referred to as the counter value notification cycle). As a result of this determination, if it is the timing of the counter value notification cycle, the process proceeds to step S2, and if it is not the timing of the counter value notification cycle, step S1 is continued. A fixed time is set in advance in the counter value notification cycle.
0062The counter value notification cycle may be less than the time required for the lower 6 bits of the counter value stored in the data field of the transmission data transmission frame to overflow. As a result, before the lower 6 bits of each counter value of the 1st ECU1 and the 2nd ECU overflow, the same counter value is shared by the 1st ECU1 and the 2nd ECU2 again by the counter value notification frame, and the 1st ECU1 and the 2nd ECU2 hold the same counter value. The counter values can be matched.
0063(Step S2) The first ECU1 generates a counter value notification frame. (Step S3) The first ECU1 transmits the counter value notification frame to CAN3.
0064(Step S4) When the counter value sharing process shown in FIG. 6 is completed, this process is terminated. On the other hand, if the counter value sharing process shown in FIG. 6 is continued, the process returns to step S1.
0065Next, with reference to FIG. 7, the procedure of the counter value sharing process executed by the second ECU 2 according to the present embodiment will be described.
0066(Step S11) The receiving unit 212 of the second ECU2 determines whether or not the counter value notification frame has been received from CAN3. As a result of this determination, if the counter value notification frame is received, the process proceeds to step S12, and if the counter value notification frame is not received, step S11 is continued.
0067(Step S12) The MAC inspection unit 216 of the second ECU 2 executes the MAC inspection of the counter value notification frame received by the reception unit 212. (Step S13) If the MAC inspection is passed, the process proceeds to step S14. On the other hand, if the MAC test passes, the process returns to step S11.
0068(Step S14) The second ECU 2 sets the decryption counter value, which is the decryption result of the encryption counter value stored in the data field of the counter value notification frame received by the reception unit 212, to the new counter value of the counter unit 215.
0069(Step S15) When the counter value sharing process shown in FIG. 7 is completed, this process is terminated. On the other hand, if the counter value sharing process shown in FIG. 7 is continued, the process returns to step S11.
0070[Example of automobile configuration] FIG. 8 is a diagram showing a configuration example of the automobile 300 according to the present embodiment. In FIG. 8, the vehicle 300 includes a first ECU 1, a plurality of second ECUs 2, CAN 3, a diagnostic port 304, and an Infotainment device 302. The first ECU1 and the plurality of second ECU2s are connected to CAN3. The first ECU1 and the second ECU2 are in-vehicle computers provided in the automobile 300. The first ECU 1 is an ECU having a gateway function among the ECUs mounted on the automobile 300. The second ECU 2 is an ECU that has functions such as engine control among the ECUs mounted on the automobile 300. As the second ECU 2, for example, there are an ECU having an engine control function, an ECU having a handle control function, an ECU having a brake control function, and the like.
0071The first ECU1 exchanges data with each second ECU2 via CAN3. The second ECU2 exchanges data with another second ECU2 via CAN3.
0072Examples of the infotainment device 302 include a navigation function, a location information service function, a multimedia playback function such as music and video, a voice communication function, a data communication function, and an Internet connection function. The infotainment device 302 connects to the external device 400 and exchanges data with the external device 400. Examples of the external device 400 include a mobile communication terminal and an audiovisual device. The infotainment device 302 is connected to the first ECU1.
0073The diagnostic port 304 connects the diagnostic tool 410. The diagnostic tool 410 installs updates such as the first ECU1 and the second ECU2 and changes data settings via the diagnostic port 304. As the diagnostic port 304, for example, an OBD (On-board Diagnostics) port may be used.
0074The infotainment device 302 transmits / receives data to / from the second ECU2 connected to the CAN3 via the first ECU1. The first ECU1 monitors the transmission and reception of data between the infotainment device 302 and the second ECU2.
0075The diagnostic tool 410 sends and receives data to and from the second ECU2 connected to CAN3 via the diagnostic port 304 and the first ECU1. The first ECU1 monitors the transmission and reception of data between the diagnostic tool 410 and the second ECU2.
0076As a communication network mounted on the vehicle, the vehicle 300 is equipped with a communication network other than CAN, and data is exchanged between the first ECU1 and the second ECU2 and between the second ECU2 via the communication network other than CAN. Data may be exchanged between them. For example, a LIN (Local Interconnect Network) may be provided in the automobile 300. In addition, CAN and LIN may be provided in the automobile 300. Further, the automobile 300 may be provided with a second ECU 2 connected to LIN. Further, the first ECU1 may be connected to CAN and LIN. Further, the first ECU1 exchanges data with the second ECU2 connected to the CAN via the CAN, and also exchanges data with the second ECU2 connected to the LIN via the LIN. May be good. In addition, the second ECU2 may exchange data with each other via LIN.
0077According to the present embodiment, as a process of sharing the counter value used for MAC generation and inspection between the first ECU1 and the second ECU2, the same counter value is periodically transmitted from the first ECU1 to each second ECU2 by a counter value notification frame. Notice. As a result, it is not necessary to exchange counter value inquiries between the first ECU1 and each of the second ECU2s, and it is possible to improve the efficiency of MAC inspection.
0078When the data length of the counter value is a data length that does not fit in one counter value notification frame, the first ECU1 divides the bit string of the counter value into a plurality of counter values, and each bit string after the division is divided into a plurality of counter values. Store in a notification frame in a distributed manner. The second ECU 2 restores the bit string of one counter value from a plurality of counter value notification frames in which the bit string of one counter value is distributed and stored. In this case, as the MAC stored in the data fields of the plurality of counter value notification frames, the MAC generated by using the original counter value before division is used.
0079In the present embodiment, the first ECU 1 corresponds to a transmitting node, a receiving node, and a counter value notification node. The second ECU2 corresponds to a transmitting node and a receiving node. The counter value notification frame corresponds to the counter value notification message. In addition, the transmission data transmission frame corresponds to the message.
0080In this embodiment, the counter value notification node may be provided as a single node. Further, in the configuration example of the automobile 300 of FIG. 8 above, the first ECU1 having a gateway function has a function of a counter value notification node, but one second ECU2 is a counter value notification node instead of the first ECU1 having a gateway function. It may have the function of.
0081Although the embodiments of the present invention have been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and design changes and the like within a range not deviating from the gist of the present invention are also included.
0082In the above-described embodiment, an automobile is taken as an example of the vehicle, but the present invention can be applied to other vehicles other than automobiles such as motorized bicycles and railway vehicles.
0083Further, a computer program for realizing the above-mentioned functions of the first ECU1 or the second ECU2 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. May be good. The "computer system" referred to here may include hardware such as an OS and peripheral devices. The "computer-readable recording medium" is a writable non-volatile memory such as a flexible disk, a magneto-optical disk, a ROM, or a flash memory, a portable medium such as a DVD (Digital Versatile Disc), or a built-in computer system. A storage device such as a hard disk.
0084Furthermore, a "computer-readable recording medium" is a volatile memory inside a computer system that serves as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line (for example, DRAM (Dynamic)). It also includes those that hold the program for a certain period of time, such as Random Access Memory)). Further, the program may be transmitted from a computer system in which this program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the "transmission medium" for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above program may be for realizing a part of the above-mentioned functions. Further, a so-called difference file (difference program) may be used, which can realize the above-mentioned functions in combination with a program already recorded in the computer system.
00851 ... 1st ECU, 2 ... 2nd ECU, 3 ... CAN, 10 ... Communication network system, 111,211 ... Transmitter, 112,212 ... Receiver, 113,213 ... Frame reception processing unit , 114,214 ... MAC generation unit, 115,215 ... counter unit, 116,216 ... MAC inspection unit, 117,217 ... session key storage unit, 118 ... switching unit, 119 ... counter control unit, 120. .. Counter value generator, 121 ... Encryption unit, 220 ... Counter setting unit, 221 ... Decryption unit, 300 ... Automobile, 302 ... Infotainment device, 304 ... Diagnostic port
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2019161605A | Cited by | Japan | Search report |
| WO2013065689A1 | Cites | World Intellectual Property Organization (WIPO) | Search report |
| JP2015177697A | Cites | Japan | Search report |
| WO2015186825A1 | Cites | World Intellectual Property Organization (WIPO) | Search report |
| WO2015186825A1 | Cites | World Intellectual Property Organization (WIPO) | Search report |
| JPH11265309A | Cites | Japan | Search report |
| 山本 成一 ほか: "フローを意識したトラフィック解析のための基礎実験", 電子情報通信学会技術研究報告, vol. 104, no. 35, JPN6017025613, 6 May 2004 (2004-05-06), JP, pages 35 - 39, ISSN: 0003596605 | Non-patent | – | Search report |
| 上田 浩史 ほか: "車載ネットワークのセキュリティ監視システム", SEIテクニカルレビュー, JPN6017011680, 31 July 2015 (2015-07-31), JP, pages 1 - 5, ISSN: 0003679160 | Non-patent | – | Search report |
10 members in 5 offices
Members10
| Document | Office | Kind | |
|---|---|---|---|
| JP2017168931AThis record | Japan | A | |
| WO2017159671A1 | World Intellectual Property Organization (WIPO) | A1 | |
| JP6260064B2 | Japan | B2 | |
| CN108781164A | China | A | |
| EP3432511A1 | European Patent Office (EPO) | A1 | |
| US2019109716A1 | United States of America | A1 | |
| EP3432511A4 | European Patent Office (EPO) | A4 | |
| US11095453B2 | United States of America | B2 | |
| CN108781164B | China | B | |
| EP3432511B1 | European Patent Office (EPO) | B1 |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Transfer to examiner for re-examination before appeal (zenchi)AppealJAPANESE INTERMEDIATE CODE: A911A911 | A911 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Decision of refusalJAPANESE INTERMEDIATE CODE: A02A02 | A02 |
Numbers
- Publication
- 2017168931
- Application
- 50125
Titles2
- Japanese
- 通信ネットワークシステム、車両、カウンタ値通知ノード、カウンタ値共有方法、及びコンピュータプログラム
- English
- Communication network system, vehicle, counter value notification node, counter value sharing method, and computer program
Classification
- CPC, 14
- H04L63/123
- H04L9/3242
- B60R16/023
- H04L67/12
- H04L63/0428
- H04L2209/84
- H04L2012/40273
- H04L12/40
- H04L9/12
- H04L9/0869
- H04L9/0838
- H04L9/0861
- H04L9/3228
- H04L2012/40215
- IPC, 3
- H04L9 32
- G09C1 00
- H04L12 28