WO2018134925A1 - Data transmission/reception method, data transmission device, data reception device, data transmission program, data reception program, and data transmission/reception system - Google Patents

Data transmission/reception method, data transmission device, data reception device, data transmission program, data reception program, and data transmission/reception system Download PDF

Info

Publication number
WO2018134925A1
WO2018134925A1 PCT/JP2017/001606 JP2017001606W WO2018134925A1 WO 2018134925 A1 WO2018134925 A1 WO 2018134925A1 JP 2017001606 W JP2017001606 W JP 2017001606W WO 2018134925 A1 WO2018134925 A1 WO 2018134925A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
verification
transmission
divided
unit
Prior art date
Application number
PCT/JP2017/001606
Other languages
French (fr)
Japanese (ja)
Inventor
有沙 松原
保彦 阿部
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2017/001606 priority Critical patent/WO2018134925A1/en
Publication of WO2018134925A1 publication Critical patent/WO2018134925A1/en

Links

Images

Classifications

    • 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

  • an illegal message frame can be detected.
  • the transmission data acquisition unit 131 acquires data to be transmitted to the reception side ECU 200.
  • the transmission data acquisition unit 131 outputs the data to be transmitted to the transmission data division unit 132 when the data length of the data to be transmitted is larger than the data length that can be transmitted and received between the ECUs. In the following, a case where the data length that can be transmitted and received between ECUs is “8 bytes” will be exemplified.
  • the transmission data acquisition part 131 may output the data to transmit to the data output part 134, when the data length of the data to transmit is below the data length which can be transmitted / received between ECUs.
  • the transmission data division unit 132 divides the data to be transmitted according to the size of the message frame and outputs the divided data to the data output unit 134. For example, when the data length that can be transmitted and received between the ECUs is 8 bytes, the transmission data division unit 132 receives the output of 16-byte data from the transmission data acquisition unit 131, and the output data is 8 bytes long. Are divided into divided data (M1) and divided data (M2). Note that the transmission data dividing unit 132 may add adjustment data so that all pieces of divided data are 8 bytes long when the data length of some of the divided data is less than 8 bytes.
  • the transmission data dividing unit 132 is an example of a data dividing unit.
  • the verification data generation unit 133 generates a MAC for each divided data. For example, the verification data generation unit 133 generates a MAC (M1) that is a MAC of the divided data (M1) and a MAC (M2) that is a MAC of the divided data (M2).
  • the data length of the MAC is, for example, 2 bytes.
  • the verification data generation unit 133 generates a MAC using a common key held in advance by the transmission-side ECU 100. In the present embodiment, the receiving side ECU 200 also holds the same common key in advance.
  • the verification data generation unit 133 generates verification data including data obtained by combining the generated MACs and outputs the verification data to the data output unit 134. Note that the verification data generation unit 133 may add adjustment data so that the verification data is 8 bytes long when the data length of the verification data is less than 8 bytes.
  • MAC (M1) and MAC (M2) are examples of primary verification data.
  • the reception-side ECU 200 in the present embodiment includes a communication unit 210, a storage unit 220, and a control unit 230.
  • the reception side ECU 200 may be realized by a device such as a computer, and may include various functional units included in a known computer in addition to the functional units illustrated in FIG.
  • the transmission-side ECU 100 and the reception-side ECU 200 have been described, but a configuration in which one ECU has both the function of the transmission-side ECU 100 and the function of the reception-side ECU 200 may be employed.
  • 1 illustrates the configuration in which the data transmission / reception system 1 includes one transmission-side ECU 100 and one reception-side ECU 200.
  • the configuration is not limited thereto, and the data transmission / reception system 1 includes a plurality of transmission-side ECUs 100 or reception sides.
  • a configuration including ECU 200 may also be adopted.
  • the processor 9001 executes a program that executes the same functions as the transmission data acquisition unit 131, the transmission data division unit 132, the verification data generation unit 133, and the data output unit 134, for example. As a result, the processor 9001 operates a process that performs the same functions as the transmission data acquisition unit 131, the transmission data division unit 132, the verification data generation unit 133, and the data output unit 134.

Abstract

Provided are a data transmission/reception method, etc., with which it is possible to detect an invalid message frame. A data transmission/receive method executed in a data transmission/receive system (1) that includes a transmission device (100) and a reception device (200), wherein the transmission device divides data to be transmitted into a plurality of divided data. The transmission device generates, for each of the plurality of divided data, primary verification data from the divided data and a common key that the device itself holds, and transmits transmission data for verification that includes each of the generated primary verification data to the reception device. The transmission device transmits the plurality of divided data to the reception device after transmitting the transmission data for verification. Meanwhile, the reception device receives the transmission data for verification, and when the divided data are received, generates verification data from the divided data and a common key that the device itself holds. The reception device determines the validity of the divided data in accordance with the result of comparison of the generated verification data with each primary verification data that corresponds to the divided data included in the transmission data for verification.

Description

データ送受信方法、データ送信装置、データ受信装置、データ送信プログラム、データ受信プログラム及びデータ送受信システムData transmission / reception method, data transmission apparatus, data reception apparatus, data transmission program, data reception program, and data transmission / reception system
 本発明は、データ送受信方法、データ送信装置、データ受信装置、データ送信プログラム、データ受信プログラム及びデータ送受信システムに関する。 The present invention relates to a data transmission / reception method, a data transmission device, a data reception device, a data transmission program, a data reception program, and a data transmission / reception system.
 自動車等に搭載される複数のECU(Electronic Control Unit)の間のデータ転送を行うためのネットワークとして、例えばCAN(Controller Area Network)が知られている。CANにおいては、ECU間で送受信できるデータ長に制限があり、ECUは、規定されているデータ長よりも長いメッセージを送信する際には、複数のメッセージフレームにデータを分割して送信する。 For example, a CAN (Controller Area Network) is known as a network for transferring data between a plurality of ECUs (Electronic Control Units) mounted in an automobile or the like. In CAN, there is a limit to the data length that can be transmitted and received between ECUs. When transmitting a message that is longer than the prescribed data length, the ECU divides the data into a plurality of message frames and transmits them.
 また、CANにおいては、不正なデータの侵入を検出するために、例えば送信側ECUがメッセージにMAC(Message Authentication Code)を付加して送信し、受信側ECUが受信したMACを用いてメッセージ認証を行う技術が知られている。さらに、送信側ECUが分割された複数のメッセージフレームを送信する際に、分割する前のメッセージから導出されたMAC値を合わせて送信する技術が知られている。 In the CAN, in order to detect unauthorized data intrusion, for example, the sending ECU adds a MAC (Message Authentication Code) to the message and sends it, and the receiving ECU performs message authentication using the received MAC. The technology to do is known. Furthermore, a technique is known in which, when a transmission-side ECU transmits a plurality of divided message frames, a MAC value derived from a message before the division is transmitted together.
特開2014-195194号公報JP 2014-195194 A
 しかし、上記技術においては、分割された複数のメッセージフレームのうち、一部だけが不正なデータである場合においても、受信側ECUはどのメッセージフレームが不正なデータであるかを特定することができない。この場合において、受信側ECUは、受信した全てのメッセージフレームを破棄することになるため、メッセージの可用性が損なわれる。 However, in the above technique, even when only a part of the divided message frames is invalid data, the receiving ECU cannot specify which message frame is illegal data. . In this case, since the receiving side ECU discards all received message frames, the availability of messages is impaired.
 一つの側面では、不正なメッセージフレームを検出できるデータ送受信方法、データ送信装置、データ受信装置、データ送信プログラム、データ受信プログラム及びデータ送受信システムを提供することを目的とする。 In one aspect, an object is to provide a data transmission / reception method, a data transmission device, a data reception device, a data transmission program, a data reception program, and a data transmission / reception system that can detect an illegal message frame.
 一つの態様において、送信装置と受信装置とを含むデータ送受信システムにおいて実行されるデータ送受信方法において、送信装置は、送信対象となるデータを複数の分割データに分割する。送信装置は、複数の分割データのそれぞれにつき、分割データと自装置が保持する共通鍵とから一次検証データを生成し、生成された各一次検証データを含む検証用送信データを受信装置に送信する。送信装置は、検証用送信データの送信ののちに、複数の分割データを受信装置に送信する。また、受信装置は、検証用送信データを受信し、分割データを受信すると、分割データと自装置が保持する共通鍵とから検証データを生成する。受信装置は、生成された検証データと、検証用送信データに含まれる分割データに対応する各一次検証データとの比較結果に応じて、分割データの正当性を判定する。 In one aspect, in a data transmission / reception method executed in a data transmission / reception system including a transmission device and a reception device, the transmission device divides data to be transmitted into a plurality of divided data. The transmission device generates primary verification data for each of the plurality of pieces of divided data from the divided data and the common key held by the own device, and transmits the verification transmission data including the generated primary verification data to the reception device. . The transmission device transmits a plurality of pieces of divided data to the reception device after transmitting the verification transmission data. Further, when the receiving device receives the verification transmission data and receives the divided data, the receiving device generates verification data from the divided data and the common key held by the own device. The receiving apparatus determines the validity of the divided data according to a comparison result between the generated verification data and each primary verification data corresponding to the divided data included in the verification transmission data.
 一つの態様によれば、不正なメッセージフレームを検出できる。 According to one aspect, an illegal message frame can be detected.
図1は、実施例1におけるデータ送受信システムの一例を示す図である。FIG. 1 is a diagram illustrating an example of a data transmission / reception system according to the first embodiment. 図2は、実施例1における送信データの一例を示す図である。FIG. 2 is a diagram illustrating an example of transmission data according to the first embodiment. 図3は、実施例1におけるデータ送信処理の一例を示すフローチャートである。FIG. 3 is a flowchart illustrating an example of the data transmission process according to the first embodiment. 図4は、実施例1におけるデータ受信処理の一例を示すフローチャートである。FIG. 4 is a flowchart illustrating an example of the data reception process according to the first embodiment. 図5は、実施例2における送信データの一例を示す図である。FIG. 5 is a diagram illustrating an example of transmission data according to the second embodiment. 図6は、実施例2におけるデータ送信処理の一例を示すフローチャートである。FIG. 6 is a flowchart illustrating an example of a data transmission process according to the second embodiment. 図7は、実施例2におけるデータ受信処理の一例を示すフローチャートである。FIG. 7 is a flowchart illustrating an example of data reception processing according to the second embodiment. 図8は、ECUのハードウェア構成の一例を示す図である。FIG. 8 is a diagram illustrating an example of a hardware configuration of the ECU.
 以下に、本願の開示するデータ送受信方法、データ送信装置、データ受信装置、データ送信プログラム、データ受信プログラム及びデータ送受信システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。 Hereinafter, embodiments of a data transmission / reception method, a data transmission device, a data reception device, a data transmission program, a data reception program, and a data transmission / reception system disclosed in the present application will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. Moreover, you may combine suitably each Example shown below in the range which does not cause contradiction.
[機能ブロック]
 まず、本実施例におけるデータ送受信システム1の一例について、図1を用いて説明する。図1は、実施例1におけるデータ送受信システムの一例を示す図である。図1に示すように、本実施例におけるデータ送受信システム1は、送信側ECU100と、受信側ECU200とを含む。送信側ECU100と、受信側ECU200とは、例えばCANなどのネットワークNによって相互に通信可能に接続されている。なお、送信側ECU100は送信装置の一例であり、受信側ECU200は受信装置の一例である。
[Function block]
First, an example of the data transmission / reception system 1 in the present embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a data transmission / reception system according to the first embodiment. As shown in FIG. 1, the data transmission / reception system 1 in the present embodiment includes a transmission-side ECU 100 and a reception-side ECU 200. The transmission-side ECU 100 and the reception-side ECU 200 are connected to each other via a network N such as CAN so that they can communicate with each other. The transmission-side ECU 100 is an example of a transmission device, and the reception-side ECU 200 is an example of a reception device.
 次に、本実施例における送信側ECU100は、例えばプロセッサとメモリとを有するコンピュータにより実現できる。図1に示すように、送信側ECU100は、通信部110、記憶部120及び制御部130を有する。 Next, the transmission-side ECU 100 in this embodiment can be realized by a computer having a processor and a memory, for example. As illustrated in FIG. 1, the transmission-side ECU 100 includes a communication unit 110, a storage unit 120, and a control unit 130.
 通信部110は、後に説明するデータ出力部134から出力されたデータを、ネットワークNを通じて受信側ECU200に送信する。 The communication unit 110 transmits the data output from the data output unit 134 described later to the receiving ECU 200 through the network N.
 記憶部120は、例えば制御部130が実行するプログラム、各種データなどを記憶する。記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。 The storage unit 120 stores, for example, a program executed by the control unit 130, various data, and the like. The storage unit 120 corresponds to a semiconductor memory device such as a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory (Flash Memory), and a storage device such as an HDD (Hard Disk Drive).
 制御部130は、送信側ECU100の全体的な処理を司る処理部であり、例えばプロセッサなどである。図1に示すように、制御部130は、送信データ取得部131、送信データ分割部132、検証データ生成部133及びデータ出力部134を有する。なお、送信データ取得部131、送信データ分割部132、検証データ生成部133及びデータ出力部134は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。 The control unit 130 is a processing unit that controls the overall processing of the transmission-side ECU 100, and is, for example, a processor. As illustrated in FIG. 1, the control unit 130 includes a transmission data acquisition unit 131, a transmission data division unit 132, a verification data generation unit 133, and a data output unit 134. The transmission data acquisition unit 131, the transmission data division unit 132, the verification data generation unit 133, and the data output unit 134 are examples of electronic circuits included in the processor and processes executed by the processor.
 送信データ取得部131は、受信側ECU200に送信するデータを取得する。送信データ取得部131は、送信するデータのデータ長がECU間で送受信できるデータ長よりも大きい場合に、送信するデータを送信データ分割部132に出力する。なお、以下においては、ECU間で送受信できるデータ長が「8バイト」である場合について例示する。また、送信データ取得部131は、送信するデータのデータ長がECU間で送受信できるデータ長以下である場合は、送信するデータをデータ出力部134に出力してもよい。 The transmission data acquisition unit 131 acquires data to be transmitted to the reception side ECU 200. The transmission data acquisition unit 131 outputs the data to be transmitted to the transmission data division unit 132 when the data length of the data to be transmitted is larger than the data length that can be transmitted and received between the ECUs. In the following, a case where the data length that can be transmitted and received between ECUs is “8 bytes” will be exemplified. Moreover, the transmission data acquisition part 131 may output the data to transmit to the data output part 134, when the data length of the data to transmit is below the data length which can be transmitted / received between ECUs.
 送信データ分割部132は、送信するデータを、メッセージフレームのサイズに応じて分割して、データ出力部134に出力する。例えば、送信データ分割部132は、ECU間で送受信できるデータ長が8バイトである場合、送信データ取得部131から16バイト長のデータの出力を受けたときは、出力されたデータを8バイト長の分割データ(M1)及び分割データ(M2)に分割する。なお、送信データ分割部132は、一部の分割データのデータ長が8バイト長に満たない場合、全ての分割データが8バイト長になるように調整データを付加してもよい。また、送信データ分割部132は、データ分割部の一例である。 The transmission data division unit 132 divides the data to be transmitted according to the size of the message frame and outputs the divided data to the data output unit 134. For example, when the data length that can be transmitted and received between the ECUs is 8 bytes, the transmission data division unit 132 receives the output of 16-byte data from the transmission data acquisition unit 131, and the output data is 8 bytes long. Are divided into divided data (M1) and divided data (M2). Note that the transmission data dividing unit 132 may add adjustment data so that all pieces of divided data are 8 bytes long when the data length of some of the divided data is less than 8 bytes. The transmission data dividing unit 132 is an example of a data dividing unit.
 検証データ生成部133は、各分割データのMACを生成する。例えば、検証データ生成部133は、分割データ(M1)のMACであるMAC(M1)、及び分割データ(M2)のMACであるMAC(M2)を生成する。MACのデータ長は、例えば2バイト長である。検証データ生成部133は、例えば、送信側ECU100が予め保持する共通鍵を用いて、MACを生成する。本実施例においては、受信側ECU200も、同一の共通鍵を予め保持するものとする。また、検証データ生成部133は、生成したMACを結合したデータを含む検証データを生成して、データ出力部134に出力する。なお、検証データ生成部133は、検証データのデータ長が8バイトに満たない場合、検証データが8バイト長になるように調整データを付加してもよい。また、MAC(M1)及びMAC(M2)は、一次検証データの一例である。 The verification data generation unit 133 generates a MAC for each divided data. For example, the verification data generation unit 133 generates a MAC (M1) that is a MAC of the divided data (M1) and a MAC (M2) that is a MAC of the divided data (M2). The data length of the MAC is, for example, 2 bytes. For example, the verification data generation unit 133 generates a MAC using a common key held in advance by the transmission-side ECU 100. In the present embodiment, the receiving side ECU 200 also holds the same common key in advance. In addition, the verification data generation unit 133 generates verification data including data obtained by combining the generated MACs and outputs the verification data to the data output unit 134. Note that the verification data generation unit 133 may add adjustment data so that the verification data is 8 bytes long when the data length of the verification data is less than 8 bytes. MAC (M1) and MAC (M2) are examples of primary verification data.
 送信データ分割部132により分割された分割データ、及び検証データ生成部133により生成された検証データについて、図2を用いて説明する。図2は、実施例1における送信データの一例を示す図である。図2に示すように、送信データ分割部132は、例えば16バイト長のメッセージAの出力を受けると、メッセージAを、それぞれ8バイト長の分割データ(M1)A1及び分割データ(M2)A2に分割して、検証データ生成部133に出力する。 The division data divided by the transmission data division unit 132 and the verification data generated by the verification data generation unit 133 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of transmission data according to the first embodiment. As shown in FIG. 2, for example, when the transmission data dividing unit 132 receives the output of a 16-byte message A, the message A is converted into 8-byte divided data (M1) A1 and divided data (M2) A2, respectively. The data is divided and output to the verification data generation unit 133.
 次に、検証データ生成部133は、分割データ(M1)A1のMACであるMAC(M1)A1M、及び分割データ(M2)A2のMACであるMAC(M2)A2Mを生成する。そして、検証データ生成部133は、生成したA1M及びA2Mを連結した検証データAMを生成する。この場合において、検証データ生成部133は、検証データAMのデータ長が8バイトになるように、4バイト長の調整データADを付加する。そして、検証データ生成部133は、分割データであるA1及びA2、並びに検証データAMをデータ出力部134に出力する。 Next, the verification data generation unit 133 generates MAC (M1) A1M, which is the MAC of the divided data (M1) A1, and MAC (M2) A2M, which is the MAC of the divided data (M2) A2. Then, the verification data generation unit 133 generates verification data AM obtained by connecting the generated A1M and A2M. In this case, the verification data generation unit 133 adds 4-byte adjustment data AD so that the data length of the verification data AM is 8 bytes. Then, the verification data generation unit 133 outputs the divided data A1 and A2 and the verification data AM to the data output unit 134.
 図1に戻って、データ出力部134は、検証データ生成部133から出力されたデータを、通信部110を通じて、受信側ECU200に送信する。この場合において、データ出力部134は、まず、検証データであるAMを受信側ECU200に送信する。次に、データ出力部134は、分割データであるA1及びA2を受信側ECU200に送信する。このように、先に検証データAMを送信することにより、受信側ECU200は送信側ECU100から送信される分割データの数を事前に把握することができる。なお、データ出力部134は、送信部の一例である。 Returning to FIG. 1, the data output unit 134 transmits the data output from the verification data generation unit 133 to the reception-side ECU 200 through the communication unit 110. In this case, the data output unit 134 first transmits AM, which is verification data, to the reception-side ECU 200. Next, the data output unit 134 transmits the divided data A1 and A2 to the reception-side ECU 200. Thus, by transmitting the verification data AM first, the receiving side ECU 200 can grasp the number of divided data transmitted from the transmitting side ECU 100 in advance. The data output unit 134 is an example of a transmission unit.
 次に、本実施例における受信側ECU200の機能構成について説明する。図1に示すように、本実施例における受信側ECU200は、通信部210、記憶部220及び制御部230を有する。なお、受信側ECU200も、送信側ECU100と同様に、コンピュータ等の機器により実現され、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部を有することとしてもかまわない。 Next, the functional configuration of the receiving side ECU 200 in this embodiment will be described. As illustrated in FIG. 1, the reception-side ECU 200 in the present embodiment includes a communication unit 210, a storage unit 220, and a control unit 230. Similarly to the transmission side ECU 100, the reception side ECU 200 may be realized by a device such as a computer, and may include various functional units included in a known computer in addition to the functional units illustrated in FIG.
 通信部210は、ネットワークNを通じて送信側ECU100からデータを受信し、データ取得部231に出力する。 The communication unit 210 receives data from the transmission side ECU 100 through the network N and outputs the data to the data acquisition unit 231.
 記憶部220は、例えばデータ取得部231、データ検証部232及びデータ結合部233が実行するプログラム、各種データなどを記憶する。記憶部220は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。 The storage unit 220 stores, for example, programs executed by the data acquisition unit 231, the data verification unit 232, and the data combination unit 233, various data, and the like. The storage unit 220 corresponds to a semiconductor memory element such as a RAM, a ROM, and a flash memory, and a storage device such as an HDD.
 制御部230は、受信側ECU200の全体的な処理を司る処理部であり、例えばプロセッサなどである。図1に示すように、制御部230は、データ取得部231、データ検証部232及びデータ結合部233を有する。なお、データ取得部231、データ検証部232及びデータ結合部233は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。 The control unit 230 is a processing unit that controls the overall processing of the reception-side ECU 200, and is, for example, a processor. As illustrated in FIG. 1, the control unit 230 includes a data acquisition unit 231, a data verification unit 232, and a data combination unit 233. Note that the data acquisition unit 231, the data verification unit 232, and the data combination unit 233 are an example of an electronic circuit included in the processor and an example of a process executed by the processor.
 データ取得部231は、通信部210を通じて、送信側ECU100から送信された検証データ及び分割データを取得する。データ取得部231は、取得した検証データ及び分割データを、データ検証部232に出力する。 The data acquisition unit 231 acquires the verification data and the divided data transmitted from the transmission side ECU 100 through the communication unit 210. The data acquisition unit 231 outputs the acquired verification data and divided data to the data verification unit 232.
 データ検証部232は、データ取得部231から出力された分割データの正当性を、データ取得部231から出力された検証データを用いて検証する。データ検証部232は、検証データの出力を受けると、検証データに含まれるMACであるA1M及びA2Mを分割して記憶する。次に、データ検証部232は、例えば、分割データであるA1の出力を受けると、送信側ECU100及び受信側ECU200がそれぞれ保有する共通鍵を用いて、A1のMACであるA1Mを生成する。同様に、データ検証部232は、分割データであるA2の出力を受けると、共通鍵を用いてA2のMACであるA2Mを生成する。そして、データ検証部232は、検証データに含まれるMACであるA1M及びA2Mと、生成したA1のMAC及びA2のMACとがそれぞれ一致するか否かを検証する。 The data verification unit 232 verifies the validity of the divided data output from the data acquisition unit 231 using the verification data output from the data acquisition unit 231. When receiving the output of the verification data, the data verification unit 232 divides and stores the MACs A1M and A2M included in the verification data. Next, for example, when receiving the output of A1 that is the divided data, the data verification unit 232 generates A1M that is the MAC of A1 by using the common keys held by the transmission-side ECU 100 and the reception-side ECU 200, respectively. Similarly, when receiving the output of A2 that is the divided data, the data verification unit 232 generates A2M that is the MAC of A2 using the common key. Then, the data verification unit 232 verifies whether or not the A1M and A2M, which are MACs included in the verification data, match the generated A1 MAC and A2 MAC.
 データ検証部232は、A1Mと、生成したA1のMACとが一致したと判定した場合、A1をデータ結合部233に出力する。一方、データ検証部232は、A1Mと、生成したA1のMACとが一致しないと判定した場合、A1を破棄する。データ検証部232は、A1以外の分割データについても、同様の処理を繰り返す。 When the data verification unit 232 determines that A1M matches the generated MAC of A1, the data verification unit 232 outputs A1 to the data combination unit 233. On the other hand, if the data verification unit 232 determines that A1M does not match the generated MAC of A1, A1 is discarded. The data verification unit 232 repeats the same processing for the divided data other than A1.
 データ結合部233は、データ検証部232から出力された全ての分割データを結合して、元のメッセージを再現する。データ結合部233は、例えば、分割データであるA1とA2との両方の出力を受けると、A1とA2とを結合して、元のメッセージAを生成する。 The data combining unit 233 combines all the divided data output from the data verification unit 232 to reproduce the original message. For example, when receiving the output of both A1 and A2 which are the divided data, the data combining unit 233 combines A1 and A2 to generate the original message A.
[処理の流れ]
 次に、本実施例における処理の流れについて説明する。まず、送信側ECU100によるデータ送信処理について、図3を用いて説明する。図3は、実施例1におけるデータ送信処理の一例を示すフローチャートである。
[Process flow]
Next, the flow of processing in the present embodiment will be described. First, data transmission processing by the transmission-side ECU 100 will be described with reference to FIG. FIG. 3 is a flowchart illustrating an example of the data transmission process according to the first embodiment.
 図3に示すように、送信側ECU100の送信データ取得部131は、例えば、図示しないデータ送受信システム1のユーザ又はデータ送受信システム1内の他のECUから、データ送信指示を受け付けるまで待機する(S100:No)。送信データ取得部131は、データ送信指示を受け付けると(S100:Yes)、送信データを取得して、送信データ分割部132に出力する(S101)。 As illustrated in FIG. 3, the transmission data acquisition unit 131 of the transmission-side ECU 100 waits until a data transmission instruction is received from, for example, a user of the data transmission / reception system 1 (not shown) or another ECU in the data transmission / reception system 1 (S100). : No). When receiving a data transmission instruction (S100: Yes), the transmission data acquisition unit 131 acquires transmission data and outputs it to the transmission data division unit 132 (S101).
 次に、送信データ分割部132は、送信データ取得部131から出力された送信データを、ECU間で送受信できるデータ長に応じて、n個の分割データmsg_iに分割する(S102)。次に、検証データ生成部133は、以下に説明するS112の処理を、n個の分割データmsg_i全てを対象に繰り返す(S111)。 Next, the transmission data division unit 132 divides the transmission data output from the transmission data acquisition unit 131 into n pieces of divided data msg_i according to the data length that can be transmitted and received between ECUs (S102). Next, the verification data generation unit 133 repeats the process of S112 described below for all n pieces of divided data msg_i (S111).
 検証データ生成部133は、分割データmsg_iのMACであるMAC_iを順次生成する(S112)。検証データ生成部133は、全てのmsg_iについて処理が完了するまで、S111に戻って処理を繰り返す(S113:No)。 The verification data generation unit 133 sequentially generates MAC_i that is the MAC of the divided data msg_i (S112). The verification data generation unit 133 returns to S111 and repeats the process until the process is completed for all msg_i (S113: No).
 検証データ生成部133は、全ての分割データmsg_iについてS112の処理を完了した場合(S113:Yes)、生成した全てのMAC_iを連結して、検証データであるMAC_ALLを生成し、データ出力部134に出力する(S121)。次に、データ出力部134は、検証データ生成部133から出力されたMAC_ALLを、受信側ECU200に送信する(S122)。 When the verification data generation unit 133 completes the process of S112 for all the divided data msg_i (S113: Yes), the verification data generation unit 133 generates a MAC_ALL that is verification data by concatenating all the generated MAC_i to the data output unit 134 Output (S121). Next, the data output unit 134 transmits MAC_ALL output from the verification data generation unit 133 to the reception-side ECU 200 (S122).
 次に、検証データ生成部133は、n個の分割データmsg_iをデータ出力部134に出力する。そして、データ出力部134は、以下に説明するS132の処理を、検証データ生成部133から出力されたn個の分割データmsg_i全てを対象に繰り返す(S131)。 Next, the verification data generation unit 133 outputs n pieces of divided data msg_i to the data output unit 134. Then, the data output unit 134 repeats the process of S132 described below for all the n pieces of divided data msg_i output from the verification data generation unit 133 (S131).
 データ出力部134は、出力された分割データmsg_iを、順次受信側ECU200に送信する。そして、データ出力部134は、全ての分割データmsg_iについて処理が完了するまで、S131に戻って処理を繰り返す(S133:No)。そして、データ出力部134は、全ての分割データmsg_iについてS132の処理を完了した場合(S133:Yes)、処理を終了する。 The data output unit 134 sequentially transmits the output divided data msg_i to the reception-side ECU 200. Then, the data output unit 134 returns to S131 and repeats the process until the process is completed for all the divided data msg_i (S133: No). When the data output unit 134 completes the process of S132 for all the divided data msg_i (S133: Yes), the process ends.
 次に、受信側ECU200によるデータ受信処理について、図4を用いて説明する。図4は、実施例1におけるデータ受信処理の一例を示すフローチャートである。 Next, data reception processing by the receiving side ECU 200 will be described with reference to FIG. FIG. 4 is a flowchart illustrating an example of the data reception process according to the first embodiment.
 図4に示すように、受信側ECU200のデータ取得部231は、受信側ECU200から検証データであるMAC_ALLを受信するまで待機する(S200:No)。データ取得部231は、MAC_ALLを受信すると(S200:Yes)、MAC_ALLに含まれる各MAC(msg_i)を分割して記憶する(S211)。次に、データ取得部231及びデータ検証部232は、以下に説明するS222乃至S226の処理を、n個の分割データmsg_i全てを対象に繰り返す(S221)。 As shown in FIG. 4, the data acquisition unit 231 of the receiving ECU 200 waits until receiving MAC_ALL, which is verification data, from the receiving ECU 200 (S200: No). When receiving the MAC_ALL (S200: Yes), the data acquisition unit 231 divides and stores each MAC (msg_i) included in the MAC_ALL (S211). Next, the data acquisition unit 231 and the data verification unit 232 repeat the processes of S222 to S226 described below for all n pieces of divided data msg_i (S221).
 まず、データ取得部231は、分割データmsg_iを順次受信し、データ検証部232に出力する(S222)。次に、データ検証部232は、取得した分割データmsg_iのMACを生成する(S223)。次に、データ検証部232は、生成したMACと、MAC_ALLに含まれるMAC_iとが一致するか否かを検証する(S224)。 First, the data acquisition unit 231 sequentially receives the divided data msg_i and outputs it to the data verification unit 232 (S222). Next, the data verification unit 232 generates the MAC of the acquired divided data msg_i (S223). Next, the data verification unit 232 verifies whether or not the generated MAC matches the MAC_i included in the MAC_ALL (S224).
 データ検証部232は、生成したMACと、MAC_ALLに含まれるMAC_iとが一致しないと判定した場合(S225:No)、取得したmsg_iを破棄する(S226)。その後、データ検証部232は、全てのmsg_iについて処理が完了するまで、S221に戻って処理を繰り返す(S227:No)。 When it is determined that the generated MAC and the MAC_i included in the MAC_ALL do not match (S225: No), the data verification unit 232 discards the acquired msg_i (S226). Thereafter, the data verification unit 232 returns to S221 and repeats the process until the process is completed for all msg_i (S227: No).
 データ検証部232は、生成したMACと、MAC_ALLに含まれるMAC_iとが一致すると判定した場合(S225:Yes)、全てのmsg_iについて処理が完了するまで、S221に戻って処理を繰り返す(S227:No)。そして、データ検証部232は、全てのmsg_iについてS222乃至S226の処理を完了した場合(S227:Yes)、全てのmsg_iを連結して元のメッセージAを復元し、記憶部220に記憶して(S231)、処理を終了する。 If the data verification unit 232 determines that the generated MAC matches the MAC_i included in the MAC_ALL (S225: Yes), the process returns to S221 and repeats the process until the process is completed for all msg_i (S227: No). ). When the data verification unit 232 completes the processing from S222 to S226 for all msg_i (S227: Yes), the data verification unit 232 restores the original message A by concatenating all the msg_i and stores it in the storage unit 220 ( S231), the process ends.
[効果]
 以上説明したように、本実施例におけるデータ送受信方法は、送信装置が、送信対象となるデータを複数の分割データに分割し、複数の分割データのそれぞれにつき、分割データと自装置が保持する共通鍵とから一次検証データを生成する。そして、送信装置が、生成された各一次検証データを含む検証用送信データを、受信装置に送信した後に、複数の分割データを受信装置に送信する。また、本実施例におけるデータ送受信方法は、受信装置が、検証用送信データを受信し、分割データを受信すると、分割データと自装置が保持する共通鍵とから検証データを生成する。そして、受信装置が、生成した検証データと、検証用送信データに含まれる分割データに対応する各一次検証データと、の比較結果に応じて、分割データの正当性を判定する。これにより、受信装置は、不正なメッセージフレームを検出できる。
[effect]
As described above, in the data transmission / reception method according to the present embodiment, the transmission apparatus divides the data to be transmitted into a plurality of pieces of divided data, and the divided data and the own apparatus hold each of the plurality of pieces of divided data. Generate primary verification data from the key. Then, after transmitting the transmission data for verification including the generated primary verification data to the receiving device, the transmitting device transmits a plurality of pieces of divided data to the receiving device. Also, in the data transmission / reception method according to the present embodiment, when the receiving device receives the verification transmission data and receives the divided data, the verification data is generated from the divided data and the common key held by the own device. Then, the receiving device determines the validity of the divided data according to the comparison result between the generated verification data and each primary verification data corresponding to the divided data included in the verification transmission data. Thereby, the receiving device can detect an illegal message frame.
 実施例1における送信側ECU100は、各分割データmsg_iのMACであるMAC_iを連結した検証データを送信するが、実施の形態はこれに限られない。例えば、以下に説明する本実施例における送信側ECU300のように、MAC_iを連結した検証データのMACをさらに生成し、生成したMACを検証データに連結して送信するような構成であってもよい。 The transmission-side ECU 100 according to the first embodiment transmits verification data obtained by concatenating MAC_i that is the MAC of each divided data msg_i, but the embodiment is not limited thereto. For example, as in the transmission-side ECU 300 in the present embodiment described below, a configuration may be adopted in which a MAC of verification data to which MAC_i is connected is further generated and the generated MAC is connected to the verification data and transmitted. .
[機能ブロック]
 まず、本実施例におけるデータ送受信システム2の一例について説明する。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。また、データ送受信システム2については図示を省略する。
[Function block]
First, an example of the data transmission / reception system 2 in the present embodiment will be described. In the following embodiments, the same parts as those shown in the drawings described above are denoted by the same reference numerals, and redundant description is omitted. Further, illustration of the data transmission / reception system 2 is omitted.
 本実施例におけるデータ送受信システム2は、送信側ECU300と、受信側ECU400とを含む。送信側ECU300と、受信側ECU400とは、例えばCANなどのネットワークNによって相互に通信可能に接続されている。 The data transmission / reception system 2 in the present embodiment includes a transmission-side ECU 300 and a reception-side ECU 400. The transmission side ECU 300 and the reception side ECU 400 are connected to each other via a network N such as CAN so as to be able to communicate with each other.
 送信側ECU300は、通信部110、記憶部120及び制御部330を有する。また、制御部330は、送信データ取得部131、送信データ分割部132、検証データ生成部333及びデータ出力部134を有する。 The transmission-side ECU 300 includes a communication unit 110, a storage unit 120, and a control unit 330. The control unit 330 includes a transmission data acquisition unit 131, a transmission data division unit 132, a verification data generation unit 333, and a data output unit 134.
 検証データ生成部333は、実施例1における検証データ生成部133と同様に、各分割データのMACを生成する。さらに、検証データ生成部333は、生成したMACを連結したデータについても、MACを生成する。例えば、検証データ生成部133は、分割データ(M1)のMACであるMAC(M1)、及び分割データ(M2)のMACであるMAC(M2)を連結したデータMAC(M1)|MAC(M2)を生成する。そして、検証データ生成部333は、MAC(M1)|MAC(M2)のMACであるMAC(MAC(M1)|MAC(M2))を生成する。なお、MAC(MAC(M1)|MAC(M2))は、二次検証データの一例である。 The verification data generation unit 333 generates the MAC of each divided data in the same manner as the verification data generation unit 133 in the first embodiment. Furthermore, the verification data generation unit 333 also generates a MAC for data obtained by concatenating the generated MACs. For example, the verification data generation unit 133 includes data MAC (M1) | MAC (M2) obtained by connecting the MAC (M1) that is the MAC of the divided data (M1) and the MAC (M2) that is the MAC of the divided data (M2). Is generated. Then, the verification data generation unit 333 generates a MAC (MAC (M1) | MAC (M2)) that is a MAC of MAC (M1) | MAC (M2). Note that MAC (MAC (M1) | MAC (M2)) is an example of secondary verification data.
 また、検証データ生成部333は、生成したMAC(1)及びMAC(2)に、さらにMAC(MAC(M1)|MAC(M2))を連結した検証データを生成して、データ出力部134に出力する。 In addition, the verification data generation unit 333 generates verification data in which MAC (MAC (M1) | MAC (M2)) is further connected to the generated MAC (1) and MAC (2), and the data is output to the data output unit 134. Output.
 検証データ生成部333により生成された検証データについて、図5を用いて説明する。図5は、実施例2における送信データの一例を示す図である。図5に示すように、検証データ生成部333は、実施例1における検証データ生成部133と同様に、A1M及びA2Mを生成する。次に、検証データ生成部333は、A1M及びA2Mを連結したデータCAMを生成する。さらに、検証データ生成部333は、CAMのMACであるCAMMを生成する。そして、検証データ生成部333は、A1Mと、A2Mと、CAMMとを連結した検証データAM’を生成する。この場合において、検証データ生成部333は、検証データAM’のデータ長が8バイトになるように、2バイト長の調整データAD’を付加する。そして、検証データ生成部333は、分割データ(M1)A1及び分割データ(M2)A2と、検証データAM’とをデータ出力部334に出力する。 The verification data generated by the verification data generation unit 333 will be described with reference to FIG. FIG. 5 is a diagram illustrating an example of transmission data according to the second embodiment. As illustrated in FIG. 5, the verification data generation unit 333 generates A1M and A2M in the same manner as the verification data generation unit 133 in the first embodiment. Next, the verification data generation unit 333 generates data CAM obtained by connecting A1M and A2M. Furthermore, the verification data generation unit 333 generates a CAMM that is the MAC of the CAM. Then, the verification data generation unit 333 generates verification data AM ′ obtained by connecting A1M, A2M, and CAMM. In this case, the verification data generation unit 333 adds the adjustment data AD ′ having a 2-byte length so that the data length of the verification data AM ′ is 8 bytes. Then, the verification data generation unit 333 outputs the divided data (M1) A1 and the divided data (M2) A2 and the verification data AM ′ to the data output unit 334.
 なお、検証データ生成部333は、A1M及びA2Mのデータ長を所定のデータ長にしてもよく、またCAMMをA1M及びA2Mと同一のデータ長としてもよい。また、検証データ生成部333は、A1M及びA2Mに、各分割データの識別子をさらに付与してもよい。 The verification data generation unit 333 may set the data length of A1M and A2M to a predetermined data length, and may set CAMM to the same data length as that of A1M and A2M. In addition, the verification data generation unit 333 may further add identifiers of the respective divided data to A1M and A2M.
 次に、本実施例における受信側ECU400の機能構成について説明する。本実施例における受信側ECU400は、通信部210、記憶部220及び制御部430を有する。また、制御部430は、データ取得部231、データ検証部432及びデータ結合部233を有する。 Next, the functional configuration of the receiving side ECU 400 in this embodiment will be described. The receiving side ECU 400 in this embodiment includes a communication unit 210, a storage unit 220, and a control unit 430. In addition, the control unit 430 includes a data acquisition unit 231, a data verification unit 432, and a data combination unit 233.
 データ検証部432は、データ取得部231から出力された分割データの正当性に加えて、データ取得部231から出力された検証データに含まれるMACの正当性も検証する。データ検証部432は、検証データAM’の出力を受けると、検証データAM’に含まれるCAMからMACを生成する。次に、データ検証部432は、生成したMACと、検証データAM’に含まれるCAMMとが一致するか否かを検証する。 The data verification unit 432 verifies the validity of the MAC included in the verification data output from the data acquisition unit 231 in addition to the validity of the divided data output from the data acquisition unit 231. When receiving the output of the verification data AM ′, the data verification unit 432 generates a MAC from the CAM included in the verification data AM ′. Next, the data verification unit 432 verifies whether or not the generated MAC matches the CAMM included in the verification data AM ′.
 データ検証部432は、生成したCAMと、検証データに含まれるCAMMとが一致したと判定した場合、データ検証部232と同様の処理を実行する。一方、データ検証部432は、一致しないと判定した場合、検証データを破棄する。このように、検証データに含まれるMACについても、さらに検証するためのMACを検証データに含ませることにより、受信側ECU400は検証データそのものの正当性を確認できる。 If the data verification unit 432 determines that the generated CAM matches the CAMM included in the verification data, the data verification unit 432 executes the same processing as the data verification unit 232. On the other hand, if the data verification unit 432 determines that they do not match, the data verification unit 432 discards the verification data. As described above, regarding the MAC included in the verification data, the reception side ECU 400 can confirm the validity of the verification data itself by including the MAC for further verification in the verification data.
[処理の流れ]
 次に、本実施例における処理の流れについて、図6及び図7を用いて説明する。図6は、実施例2におけるデータ送信処理の一例を示すフローチャートである。なお、以下の説明において、図3又は図4に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
[Process flow]
Next, the flow of processing in the present embodiment will be described with reference to FIGS. FIG. 6 is a flowchart illustrating an example of a data transmission process according to the second embodiment. In the following description, the same reference numerals as those shown in FIG. 3 or FIG. 4 are the same steps, and detailed description thereof is omitted.
 図6に示すように、送信側ECU300の検証データ生成部333は、生成した全てのMAC_iを連結してMAC_ALLを生成した後に(S121)、MAC_ALLのMACを生成する(S322)。次に、検証データ生成部333は、MAC_ALLに、生成したMACを連結した検証データを生成し、データ出力部134に出力する(S323)。そして、データ出力部134は、検証データを受信側ECU400に送信する(S324)。その後、データ出力部134は、S131に移行して処理を繰り返す。 As shown in FIG. 6, the verification data generation unit 333 of the transmission-side ECU 300 concatenates all the generated MAC_i to generate MAC_ALL (S121), and then generates a MAC of MAC_ALL (S322). Next, the verification data generation unit 333 generates verification data obtained by connecting the generated MAC to MAC_ALL, and outputs the verification data to the data output unit 134 (S323). Then, the data output unit 134 transmits the verification data to the receiving side ECU 400 (S324). Thereafter, the data output unit 134 proceeds to S131 and repeats the process.
 次に、受信側ECU400によるデータ受信処理について、図7を用いて説明する。図7は、実施例2におけるデータ受信処理の一例を示すフローチャートである。 Next, data reception processing by the receiving ECU 400 will be described with reference to FIG. FIG. 7 is a flowchart illustrating an example of data reception processing according to the second embodiment.
 図7に示すように、受信側ECU400のデータ検証部432は、データ取得部231が送信側ECU300から検証データを受信すると(S200:Yes)、検証データに含まれるMAC_ALLのMACを生成する(S401)。次に、データ検証部432は、生成したMACである(MAC_ALL)と、検証データに含まれるMAC(MAC(M1)|MAC(M2))とが一致するか否かを検証する(S402)。 As shown in FIG. 7, when the data acquisition unit 231 receives the verification data from the transmission side ECU 300 (S200: Yes), the data verification unit 432 of the reception side ECU 400 generates a MAC of MAC_ALL included in the verification data (S401). ). Next, the data verification unit 432 verifies whether or not the generated MAC (MAC_ALL) matches the MAC (MAC (M1) | MAC (M2)) included in the verification data (S402).
 データ検証部432は、生成したMACである(MAC_ALL)と、検証データに含まれるMAC(MAC(M1)|MAC(M2))とが一致すると判定した場合(S403:Yes)、S221に移行して処理を繰り返す。一方、データ検証部432は、生成したMACである(MAC_ALL)と、検証データに含まれるMAC(MAC(M1)|MAC(M2))とが一致しないと判定した場合(S403:No)、取得した検証データを破棄する(S404)。その後、データ検証部432は、S200に戻って処理を繰り返す。 If the data verification unit 432 determines that the generated MAC (MAC_ALL) matches the MAC (MAC (M1) | MAC (M2)) included in the verification data (S403: Yes), the process proceeds to S221. Repeat the process. On the other hand, if the data verification unit 432 determines that the generated MAC (MAC_ALL) does not match the MAC (MAC (M1) | MAC (M2)) included in the verification data (S403: No), the acquisition is performed. The verified data is discarded (S404). Thereafter, the data verification unit 432 returns to S200 and repeats the process.
[効果]
 以上説明したように、本実施例におけるデータ送受信方法は、送信装置が、各一次検証データを連結したデータと共通鍵とから二次検証データをさらに生成し、二次検証データをさらに含む検証用送信データを送信する。また、受信装置は、二次検証データをさらに含む検証用送信データを受信し、各一次検証データを連結したデータと共通鍵とから検証データを生成する。そして、受信装置は、受信した検証用送信データに含まれる二次検証データとの比較結果に応じて、各一次検証データを連結したデータの正当性を判定する。これにより、受信装置は、検証データそのものの正当性も検証することができる。
[effect]
As described above, in the data transmission / reception method according to the present embodiment, the transmission device further generates secondary verification data from the data obtained by concatenating the primary verification data and the common key, and further includes secondary verification data. Send transmission data. The receiving device receives verification transmission data further including secondary verification data, and generates verification data from the data obtained by concatenating the primary verification data and the common key. Then, the receiving device determines the validity of the data obtained by concatenating the primary verification data according to the comparison result with the secondary verification data included in the received verification transmission data. Thereby, the receiving device can also verify the validity of the verification data itself.
 また、本実施例におけるデータ送受信方法は、送信装置が、所定のデータ長である各一次検証データを連結したデータと、所定のデータ長である二次検証データとを連結した検証用送信データを生成する。これにより、受信装置は、一次検証データ及び二次検証データのデータ長に基づいて、一次検証データ及び二次検証データを検出できる。 Further, in the data transmission / reception method according to the present embodiment, the transmission apparatus transmits the verification transmission data in which the primary verification data having a predetermined data length is connected and the secondary verification data having the predetermined data length is connected. Generate. Accordingly, the receiving device can detect the primary verification data and the secondary verification data based on the data lengths of the primary verification data and the secondary verification data.
 また、本実施例におけるデータ送受信方法は、送信装置が、各一次検証データに対応する各分割データの識別子をさらに含む検証用送信データを送信する。そして、受信装置が、受信した各分割データの識別子に対応する分割データと共通鍵とから検証データを生成し、検証用送信データに含まれる一次検証データとの比較結果に応じて、分割データの正当性を判定する。これにより、受信装置は、識別子に基づいて、一次検証データ及び二次検証データを検出できる。 Also, in the data transmission / reception method according to the present embodiment, the transmission device transmits verification transmission data further including identifiers of the divided data corresponding to the primary verification data. Then, the receiving device generates verification data from the divided data corresponding to the received identifier of each divided data and the common key, and according to the comparison result with the primary verification data included in the verification transmission data, Determine validity. Accordingly, the receiving device can detect the primary verification data and the secondary verification data based on the identifier.
 さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。 The embodiments of the present invention have been described so far, but the present invention may be implemented in various different forms other than the above-described embodiments.
 例えば、各実施例においては、送信側ECU100と受信側ECU200とをそれぞれ説明したが、一つのECUが送信側ECU100の機能及び受信側ECU200の機能を併せ持つような構成であってもよい。また、図1においては、データ送受信システム1が送信側ECU100と、受信側ECU200とを1台ずつ含む構成を例示したが、これに限られず、データ送受信システム1が複数の送信側ECU100又は受信側ECU200を含むような構成であってもよい。 For example, in each embodiment, the transmission-side ECU 100 and the reception-side ECU 200 have been described, but a configuration in which one ECU has both the function of the transmission-side ECU 100 and the function of the reception-side ECU 200 may be employed. 1 illustrates the configuration in which the data transmission / reception system 1 includes one transmission-side ECU 100 and one reception-side ECU 200. However, the configuration is not limited thereto, and the data transmission / reception system 1 includes a plurality of transmission-side ECUs 100 or reception sides. A configuration including ECU 200 may also be adopted.
[システム]
 また、図示した各部の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、送信データ取得部131と送信データ分割部132とを統合してもよく、またデータ取得部231を、検証データ取得部と分割データ取得部とに分散してもよい。さらに、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
[system]
Each component of each part shown in the figure is functionally conceptual and does not necessarily need to be physically configured as shown. In other words, the specific form of distribution / integration of each unit is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed / integrated in arbitrary units according to various loads or usage conditions. Can be configured. For example, the transmission data acquisition unit 131 and the transmission data division unit 132 may be integrated, and the data acquisition unit 231 may be distributed between a verification data acquisition unit and a divided data acquisition unit. Furthermore, various processing functions performed in each device are performed on a CPU (Central Processing Unit) (or a microcomputer such as an MPU (Micro Processing Unit), MCU (Micro Controller Unit), etc.) in whole or in part. You may make it perform. In addition, various processing functions may be executed in whole or in any part on a program that is analyzed and executed by a CPU (or a microcomputer such as an MPU or MCU) or on hardware based on wired logic. Needless to say, it is good.
[ハードウェア構成]
 また、上述の各実施例にて説明した送信側ECU100は、例えば、車両に搭載されるマイコンなどの電子機器により実現される。図8は、ECUのハードウェア構成の一例を示す図である。図8に示すように、電子機器9000は、プロセッサ9001、通信インタフェース9002及びメモリ9003を有する。プロセッサ9001、通信インタフェース9002及びメモリ9003は、例えばワンチップ上に実装される。
[Hardware configuration]
In addition, the transmission-side ECU 100 described in each of the above-described embodiments is realized by an electronic device such as a microcomputer mounted on the vehicle, for example. FIG. 8 is a diagram illustrating an example of a hardware configuration of the ECU. As illustrated in FIG. 8, the electronic device 9000 includes a processor 9001, a communication interface 9002, and a memory 9003. The processor 9001, the communication interface 9002, and the memory 9003 are mounted on, for example, one chip.
 プロセッサ9001の一例としては、CPU、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等が挙げられる。通信インタフェース9002は、他のECUとの通信を制御する有線インタフェースなどである。メモリ9003の一例としては、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM、ROM、フラッシュメモリ等が挙げられる。 Examples of the processor 9001 include a CPU, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), a PLD (Programmable Logic Device), and the like. The communication interface 9002 is a wired interface that controls communication with other ECUs. Examples of the memory 9003 include RAM, ROM, flash memory, etc. such as SDRAM (Synchronous Dynamic Random Access Memory).
 プロセッサ9001は、例えば、送信データ取得部131、送信データ分割部132、検証データ生成部133及びデータ出力部134と同様の機能を実行するプログラムを実行する。これにより、プロセッサ9001は、送信データ取得部131、送信データ分割部132、検証データ生成部133及びデータ出力部134と同様の機能を実行するプロセスを動作させる。 The processor 9001 executes a program that executes the same functions as the transmission data acquisition unit 131, the transmission data division unit 132, the verification data generation unit 133, and the data output unit 134, for example. As a result, the processor 9001 operates a process that performs the same functions as the transmission data acquisition unit 131, the transmission data division unit 132, the verification data generation unit 133, and the data output unit 134.
 なお、上述の各実施例にて説明した受信側ECU200及び400並びに送信側ECU300も、同様の電子機器9000により実現できる。この場合において、例えば受信側ECU200を実現するプロセッサ9001は、データ取得部231、データ検証部232及びデータ結合部233と同様の機能を実行するプログラムを実行する。これにより、プロセッサ9001は、データ取得部231、データ検証部232及びデータ結合部233と同様の機能を実行するプロセスを動作させる。 Note that the reception-side ECUs 200 and 400 and the transmission-side ECU 300 described in the above-described embodiments can also be realized by the same electronic device 9000. In this case, for example, the processor 9001 that implements the reception-side ECU 200 executes a program that executes the same functions as the data acquisition unit 231, the data verification unit 232, and the data combination unit 233. As a result, the processor 9001 operates a process for executing functions similar to those of the data acquisition unit 231, the data verification unit 232, and the data combination unit 233.
 1、2 データ送受信システム
 100、300 送信側ECU
 110、210 通信部
 120、220 記憶部
 130、230、330、430 制御部
 131 送信データ取得部
 132 送信データ分割部
 133、333 検証データ生成部
 134 データ出力部
 200、400 受信側ECU
 231 データ取得部
 232、432 データ検証部
 233 データ結合部
1, 2 Data transmission / reception system 100, 300 Transmission side ECU
110, 210 Communication unit 120, 220 Storage unit 130, 230, 330, 430 Control unit 131 Transmission data acquisition unit 132 Transmission data division unit 133, 333 Verification data generation unit 134 Data output unit 200, 400 Receiving side ECU
231 Data acquisition unit 232, 432 Data verification unit 233 Data combination unit

Claims (9)

  1.  送信装置と受信装置とを含むデータ送受信システムにおいて、
     前記送信装置が、
     送信対象となるデータを複数の分割データに分割し、
     前記複数の分割データのそれぞれにつき、前記分割データと自装置が保持する共通鍵とから一次検証データを生成し、
     生成された各一次検証データを含む検証用送信データを、前記受信装置に送信し、
     前記検証用送信データの送信ののちに、前記複数の分割データを前記受信装置に送信する
     処理を実行し、
     前記受信装置が、
     前記検証用送信データを受信し、
     前記分割データを受信すると、前記分割データと自装置が保持する前記共通鍵とから検証データを生成し、
     生成された前記検証データと、前記検証用送信データに含まれる前記分割データに対応する各一次検証データと、の比較結果に応じて、前記分割データの正当性を判定する
     処理を実行することを特徴とするデータ送受信方法。
    In a data transmission / reception system including a transmission device and a reception device,
    The transmitting device is
    Divide the data to be sent into multiple pieces of data,
    For each of the plurality of divided data, primary verification data is generated from the divided data and a common key held by the device,
    Transmitting verification transmission data including each generated primary verification data to the receiving device;
    After the transmission of the verification transmission data, a process of transmitting the plurality of divided data to the receiving device is executed.
    The receiving device is
    Receiving the transmission data for verification,
    When the divided data is received, verification data is generated from the divided data and the common key held by the device,
    Performing a process of determining the validity of the divided data according to a comparison result between the generated verification data and each primary verification data corresponding to the divided data included in the verification transmission data. Characteristic data transmission / reception method.
  2.  前記送信装置が生成する処理は、前記各一次検証データを連結したデータと前記共通鍵とから二次検証データをさらに生成し、
     前記送信装置が送信する処理は、前記二次検証データをさらに含む前記検証用送信データを送信し、
     前記受信装置が受信する処理は、前記二次検証データをさらに含む前記検証用送信データを受信し、
     前記受信装置が判定する処理は、受信した前記各一次検証データを連結したデータと前記共通鍵とから検証データを生成し、受信した前記検証用送信データに含まれる前記二次検証データとの比較結果に応じて、前記各一次検証データを連結したデータの正当性を判定する
     ことを特徴とする請求項1に記載のデータ送受信方法。
    The process generated by the transmitting device further generates secondary verification data from data obtained by concatenating the primary verification data and the common key,
    The process transmitted by the transmission device transmits the verification transmission data further including the secondary verification data,
    The process received by the receiving device receives the verification transmission data further including the secondary verification data,
    The process of determining by the receiving device is to generate verification data from the data obtained by concatenating the received primary verification data and the common key, and to compare with the secondary verification data included in the received transmission data for verification The data transmission / reception method according to claim 1, wherein validity of data obtained by concatenating the primary verification data is determined according to a result.
  3.  前記送信装置が生成する処理は、所定のデータ長である前記各一次検証データを連結したデータと、前記連結したデータと前記共通鍵とから生成された、所定のデータ長である前記二次検証データとを連結した前記検証用送信データを生成することを特徴とする請求項2に記載のデータ送受信方法。 The processing generated by the transmitting device includes the secondary verification having a predetermined data length generated from the data obtained by concatenating the primary verification data having a predetermined data length, and the concatenated data and the common key. 3. The data transmission / reception method according to claim 2, wherein the verification transmission data concatenated with data is generated.
  4.  前記送信装置が送信する処理は、前記各一次検証データに対応する各分割データの識別子をさらに含む前記検証用送信データを送信し、
     前記受信装置が判定する処理は、受信した前記各分割データの識別子に対応する前記分割データと前記共通鍵とから検証データを生成し、受信した前記検証用送信データに含まれる前記一次検証データとの比較結果に応じて、前記分割データの正当性を判定する
     ことを特徴とする請求項1乃至3のいずれか1つに記載のデータ送受信方法。
    The process transmitted by the transmission device transmits the verification transmission data further including an identifier of each divided data corresponding to each primary verification data,
    The process of determining by the receiving device generates verification data from the divided data corresponding to the received identifier of each divided data and the common key, and the primary verification data included in the received transmission data for verification 4. The data transmission / reception method according to claim 1, wherein the legitimacy of the divided data is determined in accordance with the comparison result.
  5.  送信データを複数の分割データに分割するデータ分割部と、
     前記複数の分割データのそれぞれにつき、前記分割データと自装置が保持する共通鍵とから一次検証データを生成する検証データ生成部と、
     生成された各一次検証データを含む検証用送信データを受信装置に送信し、その後前記複数の分割データを前記受信装置に送信する送信部と
     を有することを特徴とするデータ送信装置。
    A data dividing unit for dividing the transmission data into a plurality of divided data;
    For each of the plurality of divided data, a verification data generation unit that generates primary verification data from the divided data and a common key held by the device,
    A data transmission apparatus comprising: a transmission unit configured to transmit verification transmission data including each generated primary verification data to the reception apparatus, and then transmit the plurality of pieces of divided data to the reception apparatus.
  6.  送信装置から、複数に分割されて送信される各分割データに対応する一次検証データを含む検証用送信データと、前記各分割データとを受信する受信部と、
     受信した前記各分割データと自装置が保持する共通鍵とから検証データを生成する生成部と、
     生成した各前記検証データと、受信した前記検証用送信データに含まれる前記一次検証データとの比較結果に応じて、前記各分割データの正当性を判定する検証部と
     を有することを特徴とするデータ受信装置。
    A transmission unit for receiving verification data including primary verification data corresponding to each piece of divided data transmitted by being divided into a plurality of pieces from the transmission device;
    A generating unit that generates verification data from each received divided data and a common key held by the device;
    A verification unit that determines the validity of each of the divided data according to a comparison result between each of the generated verification data and the primary verification data included in the received verification transmission data. Data receiving device.
  7.  送信データを複数の分割データに分割し、
     前記複数の分割データのそれぞれにつき、前記分割データと自装置が保持する共通鍵とから一次検証データを生成し、
     生成された各一次検証データを含む検証用送信データを受信装置に送信し、
     前記検証用送信データの送信ののちに、前記複数の分割データを前記受信装置に送信する
     処理をコンピュータに実行させることを特徴とするデータ送信プログラム。
    Divide the transmission data into multiple divided data,
    For each of the plurality of divided data, primary verification data is generated from the divided data and a common key held by the device,
    Send the verification transmission data including each generated primary verification data to the receiving device,
    A data transmission program for causing a computer to execute a process of transmitting the plurality of divided data to the receiving device after transmitting the verification transmission data.
  8.  送信装置から、複数に分割されて送信される各分割データに対応する一次検証データを含む検証用送信データと、前記各分割データとを受信し、
     受信した前記各分割データと自装置が保持する共通鍵とから検証データを生成し、
     生成した各前記検証データと、受信した前記検証用送信データに含まれる前記一次検証データとの比較結果に応じて、前記各分割データの正当性を判定する
     処理をコンピュータに実行させることを特徴とするデータ受信プログラム。
    From the transmission device, receiving verification transmission data including primary verification data corresponding to each divided data to be transmitted divided into a plurality, and each of the divided data,
    Generate verification data from each received divided data and a common key held by the device,
    According to a comparison result between each of the generated verification data and the primary verification data included in the received transmission data for verification, causing the computer to execute a process of determining the validity of each of the divided data To receive data.
  9.  送信装置と受信装置とを含むデータ送受信システムにおいて、
     前記送信装置が、
     送信データを複数の分割データに分割するデータ分割部と、
     前記複数の分割データのそれぞれにつき、前記分割データと自装置が保持する共通鍵とから一次検証データを生成する検証データ生成部と、
     生成された各一次検証データを含む検証用送信データを前記受信装置に送信し、その後前記複数の分割データを前記受信装置に送信する送信部と
     を有し、
     前記受信装置が、
     送信装置から、複数に分割されて送信される各分割データに対応する一次検証データを含む検証用送信データと、前記各分割データとを受信する受信部と、
     受信した前記各分割データと自装置が保持する前記共通鍵とから検証データを生成する生成部と、
     生成した各前記検証データと、受信した前記検証用送信データに含まれる前記一次検証データとの比較結果に応じて、前記各分割データの正当性を判定する検証部と
     を有することを特徴とするデータ送受信システム。
    In a data transmission / reception system including a transmission device and a reception device,
    The transmitting device is
    A data dividing unit for dividing the transmission data into a plurality of divided data;
    For each of the plurality of divided data, a verification data generation unit that generates primary verification data from the divided data and a common key held by the device,
    A transmission unit that transmits transmission data for verification including each generated primary verification data to the reception device, and then transmits the plurality of pieces of divided data to the reception device;
    The receiving device is
    A transmission unit for receiving verification data including primary verification data corresponding to each piece of divided data transmitted by being divided into a plurality of pieces from a transmission device; and a receiving unit that receives each piece of the divided data;
    A generating unit that generates verification data from each of the received divided data and the common key held by the device;
    A verification unit that determines the validity of each of the divided data according to a comparison result between each of the generated verification data and the primary verification data included in the received verification transmission data. Data transmission / reception system.
PCT/JP2017/001606 2017-01-18 2017-01-18 Data transmission/reception method, data transmission device, data reception device, data transmission program, data reception program, and data transmission/reception system WO2018134925A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/001606 WO2018134925A1 (en) 2017-01-18 2017-01-18 Data transmission/reception method, data transmission device, data reception device, data transmission program, data reception program, and data transmission/reception system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/001606 WO2018134925A1 (en) 2017-01-18 2017-01-18 Data transmission/reception method, data transmission device, data reception device, data transmission program, data reception program, and data transmission/reception system

Publications (1)

Publication Number Publication Date
WO2018134925A1 true WO2018134925A1 (en) 2018-07-26

Family

ID=62908222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/001606 WO2018134925A1 (en) 2017-01-18 2017-01-18 Data transmission/reception method, data transmission device, data reception device, data transmission program, data reception program, and data transmission/reception system

Country Status (1)

Country Link
WO (1) WO2018134925A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000513115A (en) * 1997-04-14 2000-10-03 シーメンス アクチエンゲゼルシヤフト Checksum formation and inspection method for digital data grouped into a plurality of data segments, and formation and inspection device
WO2013121951A1 (en) * 2012-02-13 2013-08-22 三菱電機株式会社 Program management system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000513115A (en) * 1997-04-14 2000-10-03 シーメンス アクチエンゲゼルシヤフト Checksum formation and inspection method for digital data grouped into a plurality of data segments, and formation and inspection device
WO2013121951A1 (en) * 2012-02-13 2013-08-22 三菱電機株式会社 Program management system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DENNIS K. ET AL.: "Efficient In-Vehicle Delayed Data Authentication Based on Compound Message Authentication Codes", IEEE 68TH VEHICULAR TECHNOLOGY CONFERENCE, 24 September 2008 (2008-09-24), pages 1 - 5, XP055234774 *

Similar Documents

Publication Publication Date Title
US20210365542A1 (en) Vehicle network system whose security is improved using message authentication code
US8671278B2 (en) Multiprotocol communication authentication
CN106464499B (en) Communication network system, transmission node, reception node, message checking method, transmission method, and reception method
CN111491299B (en) Data message authentication system and authentication method in vehicle communication network
WO2017038500A1 (en) Relay device
CN110896390B (en) Message sending method, message verification method, device and communication system
WO2017026359A1 (en) Communication device
JP6260064B2 (en) Communication network system and vehicle
US20180310173A1 (en) Information processing apparatus, information processing system, and information processing method
KR102437864B1 (en) Method of receiving firmware and method of transmitting firmware
US9237010B2 (en) Secure transmission of a message
US11228602B2 (en) In-vehicle network system
US10313131B2 (en) Secured daisy chain communication
JP7247365B2 (en) Message transmission system, method and vehicle based on heterogeneous operating system
US20170300444A1 (en) Message Translator
WO2018142504A1 (en) Encryption key delivery system, key delivery ecu, key reception ecu, key delivery program, key reception program, and method for delivering encryption key
EP3423986A1 (en) A flexible feature enabling integrated circuit and method to operate the integrated circuit
US20230379146A1 (en) Securing network communications using dynamically and locally generated secret keys
WO2018134925A1 (en) Data transmission/reception method, data transmission device, data reception device, data transmission program, data reception program, and data transmission/reception system
WO2023103689A1 (en) Method and device for generating random number in blockchain, blockchain node, storage medium and computer program product
KR102411841B1 (en) Method of receiving firmware and method of transmitting firmware
US20200092098A1 (en) Cryptographic diversity
US20220209946A1 (en) Key revocation for edge devices
JP7067508B2 (en) Network system
Rasheed et al. Using Authenticated Encryption for Securing Controller Area Networks in Autonomous Mobile Platforms

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17892395

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP