JP6108251B2 - Receiving apparatus and receiving method - Google Patents
Receiving apparatus and receiving method Download PDFInfo
- Publication number
- JP6108251B2 JP6108251B2 JP2016007641A JP2016007641A JP6108251B2 JP 6108251 B2 JP6108251 B2 JP 6108251B2 JP 2016007641 A JP2016007641 A JP 2016007641A JP 2016007641 A JP2016007641 A JP 2016007641A JP 6108251 B2 JP6108251 B2 JP 6108251B2
- Authority
- JP
- Japan
- Prior art keywords
- mac
- message
- data
- unit
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 130
- 238000012795 verification Methods 0.000 claims description 46
- 230000008859 change Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 description 142
- 238000012545 processing Methods 0.000 description 122
- 238000000605 extraction Methods 0.000 description 68
- 230000008569 process Effects 0.000 description 56
- 230000006870 function Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 33
- 238000004519 manufacturing process Methods 0.000 description 28
- 238000004458 analytical method Methods 0.000 description 20
- 238000012544 monitoring process Methods 0.000 description 10
- 230000009467 reduction Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000000717 retained effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 description 1
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 101000849522 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S13 Proteins 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- XEBWQGVWTUSTLN-UHFFFAOYSA-M phenylmercury acetate Chemical compound CC(=O)O[Hg]C1=CC=CC=C1 XEBWQGVWTUSTLN-UHFFFAOYSA-M 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Description
本発明は、バスで接続された通信システムにおける受信装置、及び受信方法に関する。 The present invention relates to a receiving apparatus and a receiving method in a communication system connected by a bus.
車載ネットワークとしてCAN(Controller Area Network)が普及している。CANはバス型ネットワークを採用したシリアル通信プロトコルである。バスに接続される各ノードからのメッセージは、バスに接続される全てのノードにブロードキャストされる。当該メッセージには送信元ノード及び宛先ノードの識別情報が含まれない。従って受信ノードにおいて、正しい通信相手から来たメッセージであるか否かを単純に判断することはできない。 CAN (Controller Area Network) is widely used as an in-vehicle network. CAN is a serial communication protocol that employs a bus network. Messages from each node connected to the bus are broadcast to all nodes connected to the bus. The message does not include identification information of the transmission source node and the destination node. Therefore, the receiving node cannot simply determine whether or not the message comes from the correct communication partner.
メッセージの完全性を保証したり、CANに接続された不正機器からのリプレイ攻撃を防御するため、メッセージ認証コード(Message Authentication Code;MAC)を用いる方法が提案されている。例えば、通常のメッセージを生成・送信する度に、そのメッセージに対するMACを生成し、MACを含むメッセージを送信する方法が提案されている(例えば特許文献1参照)。 A method using a message authentication code (MAC) has been proposed in order to guarantee the integrity of a message or to prevent a replay attack from an unauthorized device connected to a CAN. For example, a method has been proposed in which a MAC for a message is generated and a message including the MAC is transmitted each time a normal message is generated / transmitted (see, for example, Patent Document 1).
通常のメッセージを生成・送信する度に、MACを生成するとノードの負荷が大きくなり消費電力も増大する。またメッセージの数が増えるため、バスの占有率も増大する。 Every time a normal message is generated / transmitted, generating a MAC increases the load on the node and increases the power consumption. Also, since the number of messages increases, the bus occupation rate also increases.
本発明はこうした状況に鑑みなされたものであり、その目的は、ネットワークの資源の負荷増大を抑制しつつ、セキュリティを向上させる技術を提供することにある。 The present invention has been made in view of such a situation, and an object thereof is to provide a technique for improving security while suppressing an increase in the load of network resources.
本発明のある態様の送信装置は、ブロードキャスト送信すべきデータを生成する第1生成部と、第1生成部において生成したデータを少なくとも対象としたメッセージ認証コードを生成する第2生成部と、第1生成部において生成したデータと、第2生成部において生成したメッセージ認証コードをブロードキャスト送信する送信部と、を備える。第2生成部は、第1生成部において生成される複数のデータの内、一部のデータに対するメッセージ認証コードの生成を省略する。 A transmission apparatus according to an aspect of the present invention includes a first generation unit that generates data to be broadcasted, a second generation unit that generates a message authentication code at least for the data generated in the first generation unit, The data generated in the 1 generation part and the transmission part which carries out the broadcast transmission of the message authentication code generated in the 2nd generation part are provided. The second generation unit omits generation of a message authentication code for some data among the plurality of data generated by the first generation unit.
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。 Note that any combination of the above-described constituent elements and the expression of the present invention converted between a method, an apparatus, a system, a computer program, a recording medium recording the computer program, etc. are also effective as an aspect of the present invention. .
本発明によれば、ネットワークの資源の負荷増大を抑制しつつ、セキュリティを向上させることができる。 According to the present invention, it is possible to improve security while suppressing an increase in the load of network resources.
本発明の実施の形態は、車両内に搭載される複数のECU(Electronic Control Unit)がノードとして接続された車載ネットワークであって、メッセージIDとデータとMACが含まれるメッセージがブロードキャストされるものに関する。以下、このようなネットワークとしてのCANシステムを例示して本発明の実施の形態を説明する。上述のように、CANはバス型ネットワークを採用しており、バスに接続される各ECUからのメッセージは、バスに接続される全てのECUにブロードキャストされる。近年、車両の電装化が進み一台の車両に搭載されるECUの数やECUが扱うデータ量が増えており、CANバスのトラフィック量が増えている。またECUの増加および高度化に伴い、バッテリの消費電力が増えている。 Embodiments of the present invention relate to an in-vehicle network in which a plurality of ECUs (Electronic Control Units) mounted in a vehicle are connected as nodes, in which a message including a message ID, data, and MAC is broadcast. . The embodiment of the present invention will be described below by exemplifying a CAN system as such a network. As described above, the CAN employs a bus network, and a message from each ECU connected to the bus is broadcast to all ECUs connected to the bus. In recent years, the number of ECUs mounted on a single vehicle and the amount of data handled by the ECUs have increased, and the amount of CAN bus traffic has increased. Further, with the increase and sophistication of the ECU, the power consumption of the battery is increasing.
図1は、CANで使用されるデータフレームのフォーマットの一例を示す図である。図1のデータフレームは、SOF、IDフィールド、RTR、IDE、r0、DLC、データフィールド、CRCデリミタ、Ack、Ackデリミタ、及びEOFを含む。各ボックス内の数字はビット数を示す。またボックスの上が開放されている項目は常に「0」をとる項目であり、ボックスの下が開放されている項目は常に「1」をとる項目である。上下が開放されていない項目は「0」と「1」の両方をとりうる項目である。 FIG. 1 is a diagram showing an example of a data frame format used in CAN. The data frame of FIG. 1 includes an SOF, an ID field, RTR, IDE, r0, DLC, a data field, a CRC delimiter, an Ack, an Ack delimiter, and an EOF. The numbers in each box indicate the number of bits. Also, items whose tops are open are always “0” items, and items whose bottoms are open are always “1”. Items whose top and bottom are not open are items that can take both “0” and “1”.
本実施の形態では主に、IDフィールドF1とデータフィールドF2に注目する。IDフィールドF1に格納されるID(以下適宜、CANIDともいう)は、メッセージの種類および優先度を表す識別情報である。本明細書では、送信可能な状態のデータフレームをメッセージと呼ぶ。CANにおけるメッセージは、車両内の特定の機能に関するメッセージである。当該機能には、特定の監視対象を監視する監視機能および特定の制御対象を制御する制御機能が含まれる。例えば車両内の特定の機能に関するメッセージとして、速度情報を含むメッセージ、ドアの開閉を指示するメッセージ等がある。 In the present embodiment, attention is mainly paid to the ID field F1 and the data field F2. The ID (hereinafter also referred to as CANID as appropriate) stored in the ID field F1 is identification information indicating the type and priority of the message. In this specification, a data frame in a transmittable state is called a message. The message in the CAN is a message regarding a specific function in the vehicle. The function includes a monitoring function for monitoring a specific monitoring target and a control function for controlling a specific control target. For example, as a message regarding a specific function in the vehicle, there are a message including speed information, a message instructing opening / closing of a door, and the like.
CANIDは、送信されるメッセージに含まれる情報に関連づけられており、メッセージを受信したECUでは、そのCANIDに基づいてメッセージに含まれる情報を判断する。データフィールドF2には最大64ビットのデータを格納できる。 The CANID is associated with information included in the transmitted message, and the ECU that has received the message determines the information included in the message based on the CANID. The data field F2 can store a maximum of 64 bits of data.
図1に示すようにCANのデータフレームには、送信先IDおよび受信先IDが含まれない。従って受信側ECUは、正しい通信相手から来たメッセージであるか否か判断できない。例えば、エンジン回転数を含むメッセージはエンジンECUから送信される。当該メッセージに付与されるCANIDと同じCANIDが付与されたメッセージが、不正ECUから送信されると、受信側ECUは正当なエンジンECUからのメッセージか不正ECUからのメッセージであるか判別できない。 As shown in FIG. 1, the CAN data frame does not include a transmission destination ID and a reception destination ID. Therefore, the receiving ECU cannot determine whether the message is from a correct communication partner. For example, a message including the engine speed is transmitted from the engine ECU. When a message with the same CANID as the CANID assigned to the message is transmitted from the unauthorized ECU, the receiving ECU cannot determine whether the message is from a legitimate engine ECU or from the unauthorized ECU.
このようにCANプロトコルでは、なりすましが容易である。またメッセージがCANバスに対してブロードキャスト送信されるため、ユニキャスト送信よりも盗聴が容易である。 In this way, impersonation is easy with the CAN protocol. Further, since the message is broadcasted to the CAN bus, wiretapping is easier than unicast transmission.
これらの脅威に対して本実施の形態では、MACを用いることでCANメッセージを認証する。MACは、認証対象のデータと共通鍵とに所定のMACアルゴリズムを適用して生成される。共通鍵は、CANに接続されたECU間で事前に共有される秘密の鍵である。MAC生成アルゴリズムには、ハッシュ関数を使う方式(HMAC)や、ブロック暗号アルゴリズムを使う方式(OMAC/CMAC、CBC−MAC、PMAC)などがある。受信側ECUでは、メッセージに含まれる認証対象のデータと自己が保持する共通鍵に、送信側ECUで使用されたMACアルゴリズムを適用してMACを算出する。この算出したMACと受信したMACが一致していれば認証が成功したと判定し、不一致であれば認証が失敗したと判定する。 In this embodiment, the CAN message is authenticated against these threats by using the MAC. The MAC is generated by applying a predetermined MAC algorithm to the data to be authenticated and the common key. The common key is a secret key shared in advance between ECUs connected to the CAN. The MAC generation algorithm includes a method using a hash function (HMAC), a method using a block encryption algorithm (OMAC / CMAC, CBC-MAC, PMAC) and the like. The receiving side ECU calculates the MAC by applying the MAC algorithm used in the transmitting side ECU to the authentication target data included in the message and the common key held by itself. If the calculated MAC and the received MAC match, it is determined that the authentication has succeeded, and if they do not match, it is determined that the authentication has failed.
従って共通鍵が漏洩しなければ不正なECUや悪意がある発信元などからのメッセージは、認証されないことになる。正当なメッセージとMACを受信した不正なECUなどからの再送攻撃に対しては、認証対象のデータに、カウント値などを含めることにより対処できる。本実施の形態では、送信側ECUで生成されるMACのデータ長を64ビット以下とする。64ビットを超えるMACが算出される場合、その任意の64ビット又はそれ以下のビットを抽出して使用する。 Therefore, if the common key is not leaked, messages from unauthorized ECUs or malicious sources will not be authenticated. A replay attack from an unauthorized ECU or the like that has received a valid message and MAC can be dealt with by including a count value or the like in the data to be authenticated. In the present embodiment, the data length of the MAC generated by the transmission side ECU is 64 bits or less. When a MAC exceeding 64 bits is calculated, any 64 bits or less are extracted and used.
以下本明細書ではデータフィールドに、特定の機能に関する情報(以下適宜、通常データという)を含みMACを含まないメッセージをメインメッセージという。メインメッセージは通常の制御を行うために送信されるメッセージである。通常データは、特定の機能の制御値などが該当する。データフィールドに、通常データを含まずMACを含むメッセージをMACメッセージという。データフィールドに、通常データとMACの両方を含むメッセージをMAC付きメインメッセージという。 Hereinafter, in this specification, a message that includes information on a specific function (hereinafter referred to as normal data as appropriate) in a data field and does not include a MAC is referred to as a main message. The main message is a message transmitted for normal control. The normal data corresponds to a control value of a specific function. A message that does not include normal data but includes MAC in the data field is called a MAC message. A message including both normal data and MAC in the data field is called a main message with MAC.
上記では、CANIDはメッセージに含まれる情報に関連づけられると説明した。この場合、そのメッセージがメインメッセージであるか、MACメッセージであるか、MAC付きメインメッセージであるかにより、それぞれに別のIDが付されてもよく、同一のIDが付されてもよい。 In the above, it has been described that the CANID is associated with the information included in the message. In this case, depending on whether the message is a main message, a MAC message, or a main message with MAC, different IDs may be assigned to the respective messages, or the same ID may be assigned.
各ECUにおいてメインメッセージが送信される度に、MACを生成する処理が行われ、MACメッセージがCANに送信されると、ECUの処理負荷および消費電流が増大し、バスの占有率も増加する。MACを生成する処理は暗号化処理を含むため、ECUの処理負荷が増大する。車両内のECUには処理能力が非力なものも存在するため、処理負荷が低く抑えられることが望ましい。また車両において、ECUの消費電流が増大するとバッテリの消費が早くなり、バッテリ上がりが発生しやすくなりバッテリの寿命も短くなる。従ってECUの消費電流は低いことが望ましい。またCANにおいて、バス占有率の増加による通信障害を回避するため、一般的にはバス占有率がある一定値以下になるように設定されている。メインメッセージが送信される度にMACメッセージが送信されると、単純に従来の2倍のメッセージ数になる。 Each time a main message is transmitted in each ECU, a process of generating a MAC is performed. When a MAC message is transmitted to CAN, the processing load and current consumption of the ECU increase, and the occupancy rate of the bus also increases. Since the process of generating the MAC includes an encryption process, the processing load on the ECU increases. Since some ECUs in a vehicle have inferior processing capability, it is desirable that the processing load be kept low. Further, in the vehicle, when the consumption current of the ECU increases, the consumption of the battery is accelerated, the battery is likely to run out and the life of the battery is shortened. Therefore, it is desirable that the consumption current of the ECU is low. In CAN, in order to avoid a communication failure due to an increase in the bus occupancy rate, the bus occupancy rate is generally set to be a certain value or less. If a MAC message is transmitted each time a main message is transmitted, the number of messages is simply doubled.
以上に鑑み、以下に説明する実施の形態では、メインメッセージの送信の度にMACを毎回送信するのではなく、MACを送信するタイミングを工夫することで、送信頻度を減らしながらも効率的にセキュリティを確保する方法を提供する。即ち、送信すべき複数の通常データの内、一部の通常データに対するMACの生成・送信を省略することにより、ECUの処理負荷および消費電流の増大を抑え、バス占有率の増加も抑制する。なお、以下の説明において「生成・送信」なる表現は、「生成かつ送信」および「送信のみ」のいずれか一方を意味する。 In view of the above, in the embodiment described below, the MAC is not transmitted every time the main message is transmitted, but the MAC transmission timing is devised, so that the security can be efficiently performed while reducing the transmission frequency. Provide a way to ensure. That is, by omitting the generation and transmission of MAC for some normal data among a plurality of normal data to be transmitted, an increase in processing load and current consumption of the ECU is suppressed, and an increase in bus occupancy is also suppressed. In the following description, the expression “generation / transmission” means either “generation and transmission” or “transmission only”.
図2は、本発明の実施の形態に係るCANシステム500の構成の一例を示す図である。当該CANシステム500では、CANバス200に複数のECU100(図2ではECU1(100a)、ECU2(100b)、ECU3(100c)及びECU4(100d))が接続されている。CANでは、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)と呼ばれるアクセス制御方式が採用されており、CANバス200に対して最初に送信を開始したECU100が送信権を取得する。なお同時に複数のECU100が送信した場合は、通信調停(bus arbitration)が行われる。CANではCANIDの値が小さいほうが優先される。
FIG. 2 is a diagram showing an example of the configuration of the
図3は、本発明の実施の形態に係るECU100の構成例を示す図である。ECU100は、アプリケーション処理部10、メッセージ処理部30及び送受信部50を備える。これらの構成は、ハードウエア的には、任意のプロセッサ、メモリ、及びその他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
FIG. 3 is a diagram showing a configuration example of the
アプリケーション処理部10は例えば、プロセッサ、メモリ、及びメモリにロードされたアプリケーションプログラムによって実現される。メッセージ処理部30は例えば、プロセッサ、メモリ、メモリにロードされたメッセージ処理プログラム、及びCANコントローラによって実現される。なおCANコントローラに全ての機能を実装する構成も可能である。送受信部50は例えば、トランシーバにより実現可能される。
The
アプリケーション処理部10は、各ECU100の制御対象または監視対象(例えばエンジン、ステアリング、ブレーキ、又はその他の各種補機)と接続し、それらの対象からステータス情報または指示情報を取得する。アプリケーション処理部10は当該対象から取得した情報をもとに、CANにおいてブロードキャスト送信すべきデータを生成し、メッセージ処理部30に渡す。またアプリケーション処理部10は、CANバス200から(他のECUからCANバス200を通じて)受信されたメインメッセージに含まれるデータをメッセージ処理部30から受け取り、当該データに応じて当該対象を制御する。
The
メッセージ処理部30は、メッセージ送信時にメッセージを生成するとともに、メッセージ受信時にメッセージを解析する。メッセージ処理部30の具体的な構成は後述する。
The
送受信部50は、メッセージ処理部30により生成されたメッセージをCANバス200に対してブロードキャスト送信する。上述のようにメッセージには、メインメッセージ、MACメッセージ、及びMAC付きメインメッセージがある。メッセージ処理部30は、アプリケーション処理部10により生成された通常データを少なくとも対象としたMACを生成する。当該MACは、当該通常データを含むメインメッセージに含めて送信されてもよいし、別のメッセージで送信されてもよい。前者の場合はMAC付きメインメッセージが送信され、後者の場合はメインメッセージとMACメッセージが別に送信される。いずれも場合も、当該通常データと当該通常データに対するMACが、CANバス200に対してブロードキャスト送信されることに変わりはない。
The transmission /
送受信部50は、他のECU100で生成され、CANバス200に対してブロードキャスト送信されたメッセージをCANバス200から受信する。送受信部50は、受信したメッセージをメッセージ処理部30に渡す。
The transmission /
図4は、MACを別メッセージで送信する方式にて、メッセージ処理部30の送信に必要な機能を示すブロック図である。図4では受信に関する機能は省略して描いている。図4のメッセージ処理部30は、メインメッセージ生成部31、CANID抽出部32、データフィールド抽出部33、MAC生成タイミング決定部34、MAC生成部35及びMACメッセージ生成部36を有する。
FIG. 4 is a block diagram illustrating functions necessary for transmission of the
図5は、図4のメッセージ処理部30によるメッセージ送信処理を示すフローチャートである。メインメッセージ生成部31は、送信すべきデータをアプリケーション処理部10から取得し、当該データをCANメッセージのデータフィールドに格納する。また当該データに対応するCANIDをIDフィールドに格納する。当該CANIDはアプリケーション処理部10から取得してもよいし、予め保持していてもよい。メインメッセージ生成部31は、CANメッセージのその他の項目の値を確定してメインメッセージを完成させる。メインメッセージ生成部31は、生成したメインメッセージを送受信部50に渡し、送受信部50は当該メインメッセージをブロードキャスト送信する。
FIG. 5 is a flowchart showing message transmission processing by the
CANID抽出部32は、メインメッセージ生成部31により生成されたメインメッセージのIDフィールドからCANIDを抽出する(図5のS10)。CANID抽出部32は、抽出したCANIDをMAC生成タイミング決定部34及びMAC生成部35に渡す。データフィールド抽出部33は、メインメッセージ生成部31により生成されたメインメッセージのデータフィールドに格納されたデータを抽出する(S11)。データフィールド抽出部33は、抽出したデータをMAC生成タイミング決定部34及びMAC生成部35に渡す。
The
MAC生成タイミング決定部34は、抽出されたCANID及びデータから、MACを生成すべきタイミングであるか否か判断する(S12)。なお、判断方法の具体例は後述する。MAC生成が必要なタイミングである場合(S13のY)、MAC生成タイミング決定部34はMAC生成部35にMACの生成を指示する。MAC生成部35は、抽出されたCANID及びデータをもとにMACを生成する(S14)。具体的には、少なくともCANID及びデータを含む認証対象に、保持する共通鍵35aを使用して所定のMACアルゴリズムを適用して、当該認証対象に対するMACを生成する。MAC生成部35は、生成したMACをMACメッセージ生成部36に渡す。
The MAC generation
MACメッセージ生成部36は、MAC生成部35から取得したMACをCANメッセージのデータフィールドに格納する。また上記データに対するMACを含むメッセージであることを示すCANIDをIDフィールドに格納する。例えば上記データそのものを含むメッセージであることを示すCANIDの値から所定の固定値を減算した値が使用されてもよい。MACメッセージ生成部36は、CANメッセージのその他の項目の値を確定してMACメッセージを完成させる。MACメッセージ生成部36は、生成したMACメッセージを送受信部50に渡し、送受信部50は当該MACメッセージをブロードキャスト送信する(S15)。ステップS13にて、MACの生成が必要なタイミングでない場合(S13のN)、ステップS14及びステップS15におけるMAC生成・送信処理はスキップされる。
The MAC
図6は、MACを別メッセージで送信する方式にて、メッセージ処理部30の受信に必要な機能を示すブロック図である。図6では送信に関する機能は省略して描いている。図6のメッセージ処理部30は、メッセージ解析部41、CANID抽出部42、データフィールド抽出部43、MAC検証タイミング決定部44、MAC生成部45、MAC比較部46及びデータ受渡部47を有する。
FIG. 6 is a block diagram showing functions necessary for reception of the
図7は、図6のメッセージ処理部30によるメッセージ受信処理を示すフローチャートである。送受信部50はCANバス200からメインメッセージを受信し、メッセージ解析部41に渡す。CANID抽出部42は、メッセージ解析部41により受信されたメインメッセージのIDフィールドからCANIDを抽出する(図7のS20)。CANID抽出部42は、抽出したCANIDをMAC検証タイミング決定部44及びMAC生成部45に渡す。データフィールド抽出部43は、メッセージ解析部41により受信されたメインメッセージのデータフィールドに格納されたデータを抽出する(S21)。データフィールド抽出部43は、抽出したデータをMAC検証タイミング決定部44、MAC生成部45及びデータ受渡部47に渡す。
FIG. 7 is a flowchart showing message reception processing by the
MAC検証タイミング決定部44は、抽出されたCANID及びデータから、MACを検証すべきタイミングであるか否か判断する(S22)。なお、判断方法の具体例は後述するが、送信側のMAC生成タイミング決定部34と同じ判断方法が用いられる。MACの検証が必要なタイミングである場合(S23のY)、MAC検証タイミング決定部44はMAC生成部45にMACの生成を指示する。MAC生成部45は、抽出されたCANID及びデータをもとにMACを生成する(S24)。生成方法は送信側のMAC生成部35の生成方法と同じである。受信側のMAC生成部45は、送信側のMAC生成部35が保持する共通鍵35aと同じ共通鍵45aを保持している。MAC生成部45は、生成したMACをMAC比較部46に渡す。
The MAC verification
ECU100は当該メインメッセージに対するMACメッセージの到着を待ち(S25のN)、MACメッセージが受信された場合(S25のY)、送受信部50はCANバス200からMACメッセージを受信し、メッセージ解析部41に渡す。データフィールド抽出部43は、メッセージ解析部41により受信されたMACメッセージのデータフィールドに格納されたMACを抽出する(S26)。データフィールド抽出部43は、抽出したMACをMAC比較部46に渡す。
The
MAC比較部46は、MAC生成部45により生成されたMACとデータフィールド抽出部43により抽出されたMACとを比較する(S27)。両者のMACが一致した場合(S28のY)、MAC比較部46はMACの検証が成功したと判定し、データ受渡部47に検証が成功した旨を通知する。データ受渡部47はデータフィールド抽出部43から取得し、保留していたデータをアプリケーション処理部10に渡す(S29)。アプリケーション処理部10は、取得したデータに応じて制御対象を制御、または監視対象を監視する。
The
ステップS28にて、両者のMACが一致しない場合(S28のN)、MAC比較部46はMACの検証が失敗したと判定し、データ受渡部47に検証が失敗した旨を通知する。データ受渡部47は、データフィールド抽出部43から取得し、保留していたデータをアプリケーション処理部10に渡さない。ステップS23にて、MAC検証が必要なタイミングでない場合(S23のN)、ステップS24〜ステップS28の処理がスキップされる。データ受渡部47は、データフィールド抽出部43から取得したデータを無条件にアプリケーション処理部10に渡す(S29)。
If the two MACs do not match in step S28 (N in S28), the
図5及び図6に示すように、MACを別メッセージで送信する場合、メインメッセージとMACメッセージの間に攻撃者が不正メッセージを挿入する攻撃が考えられる。以下、このような異常ケースを想定したメッセージ受信時の処理を説明する。 As shown in FIGS. 5 and 6, when the MAC is transmitted as a separate message, an attack in which an attacker inserts an unauthorized message between the main message and the MAC message can be considered. Hereinafter, a process at the time of message reception assuming such an abnormal case will be described.
図8は、MACを別メッセージで送信する方式にて、異常ケースを想定したメッセージ処理部30の受信に必要な機能を示すブロック図である。図8では送信に関する機能は省略して描いている。図8のメッセージ処理部30は、図6の異常ケースを想定しないメッセージ処理部30の構成要素に、メインメッセージ一時保持部48が追加された構成である。メインメッセージ一時保存部48は、一般的なメモリ素子などによって実現される。
FIG. 8 is a block diagram showing functions necessary for reception of the
図9は、図8のメッセージ処理部30によるメインメッセージ受信処理を示すフローチャートである。制御の方針としては、メインメッセージを最大n個(3つ程度)まで保持し、MACメッセージと保持しているメインメッセージとでMACを検証する。検証の結果、Rijectされた(検証が失敗した)場合は、保持しているメッセージを破棄する処理を行う。メッセージ解析部41は、送受信部50を介してCANバス200からメインメッセージを受信すると、メインメッセージ一時保持部48にメインメッセージが保持されているか否か判断する(図9のS30)。保持されている場合(S30のY)、メインメッセージ一時保持部48に保持されているメインメッセージの数がn個以上であるか否か判断する(S31)。nはメインメッセージ一時保持部48に保持されるメインメッセージの上限数を規定したパラメータである。例えばn=3に設定される。
FIG. 9 is a flowchart showing main message reception processing by the
メインメッセージの数がn個以上、保持されている場合(S31のY)、メッセージ解析部41は、メインメッセージ一時保持部48に保持されている複数のメインメッセージの内、最も古いメインメッセージを破棄する(S32)。メッセージ解析部41は、受信した新しいメインメッセージをメインメッセージ一時保持部48に格納する(S33)。即ち、メインメッセージ一時保持部48はFIFOで管理される。メインメッセージ一時保持部48に格納されたメインメッセージに対する処理は、メッセージ解析部41から指示があるまで保留される。
When the number of main messages is n or more (Y in S31), the
ステップS31にて、メインメッセージ一時保持部48に保持されているメインメッセージの数がn個未満である場合(S31のN)、ステップS32をスキップして、メッセージ解析部41は、受信した新しいメインメッセージをメインメッセージ一時保持部48に格納する(S33)。
In step S31, when the number of main messages held in the main message
ステップS30にて、メインメッセージ一時保持部48にメインメッセージが保持されていない場合(S30のN)、MAC検証タイミング決定部44は、そのメインメッセージに対するMACの検証が必要であるか否か判断する(S34)。この判断方法の具体例は後述する。MACの検証が必要である場合(S34のY)、MAC検証タイミング決定部44は、その旨をメッセージ解析部41に通知し、メッセージ解析部41は、受信した新しいメインメッセージをメインメッセージ一時保持部48に格納する(S33)。
In step S30, when the main message is not held in the main message temporary holding unit 48 (N in S30), the MAC verification
ステップS34にて、MACの検証が必要でない場合(S34のN)、データ受渡部47は、データフィールド抽出部43から取得したデータをアプリケーション処理部10に渡す(S35)。アプリケーション処理部10は、取得したデータに応じて制御対象を制御する、または監視対象を監視する。
If verification of the MAC is not required in step S34 (N in S34), the
図10は、図8のメッセージ処理部30によるMACメッセージ受信処理を示すフローチャートである。メッセージ解析部41は、送受信部50を介してCANバス200からMACメッセージを受信すると、メインメッセージ一時保持部48に検証の必要なメインメッセージが保持されているか否か判断する(図10のS40)。保持されている場合(S40のY)、メインメッセージからMACを生成する(S41)。具体的には当該メインメッセージのCANID及びデータからMACを生成する。
FIG. 10 is a flowchart showing a MAC message reception process by the
MAC比較部46は、上記メインメッセージから生成されたMACと、受信されたMACメッセージから抽出されたMACを比較する(S42)。両者のMACが一致した場合(S42のY)、データ受渡部47は、データフィールド抽出部43から取得したデータをアプリケーション処理部10に渡す(S43)。アプリケーション処理部10は、取得したデータに応じて取得したデータに応じて制御対象を制御する、または監視対象を監視する。
The
MAC比較部46による検証が成功した場合にて、メインメッセージ一時保持部48にその他のメインメッセージが保持されている場合(S44のY)、保持されているその他のメインメッセージは破棄される(S45)。保持されていない場合(S44のN)、ステップS45の処理はスキップされる。
When verification by the
ステップS42にて、MACが一致しない場合(S42のN)、ステップS40に遷移し、検証の必要なメインメッセージが保持されているか否かの判断が繰り返される。 If the MACs do not match in step S42 (N in S42), the process proceeds to step S40, and the determination of whether or not the main message that needs to be verified is held is repeated.
ステップS40にて、メインメッセージ一時保持部48に検証の必要なメインメッセージが保持されていない場合(S40のN)、メッセージ解析部41は、受信したMACメッセージを破棄する(S46)。
In step S40, when the main message that needs to be verified is not held in the main message temporary holding unit 48 (N in S40), the
図11(a)−(e)は、正規のメインメッセージと正規のMACメッセージの間に、不正のメッセージを挿入する攻撃の例を示す図である。図11(a)−(e)では、車速センサに接続されたECUから、制御値として車速情報をデータフィールドに含むメインメッセージを送信する例を描いている。また前回送信したメインメッセージに含まれる車速と異なる車速を含むメインメッセージを送信する際に、MACメッセージが生成・送信される制御を前提とする。即ち、前回送信したメインメッセージに含まれる車速と、今回送信するメインメッセージに含まれる車速が同じ場合、MACメッセージは生成・送信されない。また図11(a)−(e)のそれぞれの、先頭のメインメッセージの直前のメッセージは、制御値として車速=30km/hを含むメインメッセージであるとする。またメインメッセージ一時保持部48に保持されるメインメッセージの上限数nは3とする。また図11(a)−(e)において、不正なメッセージは太枠で囲んでいる。
FIGS. 11A to 11E are diagrams illustrating an example of an attack in which an unauthorized message is inserted between a regular main message and a regular MAC message. FIGS. 11A to 11E depict an example in which a main message including vehicle speed information in the data field as a control value is transmitted from the ECU connected to the vehicle speed sensor. Further, it is assumed that the MAC message is generated and transmitted when a main message including a vehicle speed different from the vehicle speed included in the main message transmitted last time is transmitted. That is, when the vehicle speed included in the main message transmitted last time is the same as the vehicle speed included in the main message transmitted this time, the MAC message is not generated / transmitted. Further, it is assumed that the message immediately before the head main message in each of FIGS. 11A to 11E is a main message including the vehicle speed = 30 km / h as a control value. The upper limit number n of main messages held in the main message
図11(a)は、正常なケースを示す例である。このケースでは不正なメッセージは挿入されていない。前回のメインメッセージに含まれる車速と異なる車速を含む、2番目のメインメッセージと3番目のメインメッセージに、それぞれMACメッセージが付加される。先頭のメインメッセージは、前回のメインメッセージに含まれる車速と同じ車速(=30km/h)を含むメッセージであるため、MACメッセージが付加されない。 FIG. 11A is an example showing a normal case. In this case, no invalid message is inserted. A MAC message is added to each of the second main message and the third main message including a vehicle speed different from the vehicle speed included in the previous main message. Since the first main message is a message including the same vehicle speed (= 30 km / h) as the vehicle speed included in the previous main message, the MAC message is not added.
図11(b)は、攻撃パターン1を示す例である。先頭のメインメッセージは不正なメインメッセージである。このメインメッセージ(不正)に含まれる車速(=40km/h)は、前回のメインメッセージ(正規)に含まれる車速(=30km/h)と異なる。従って図9のステップS34のMAC検証が必要なメインメッセージに該当する。従って図9のステップS34のMACの検証が必要なメインメッセージに該当するため、このメインメッセージは、メインメッセージ一時保持部48に格納される。2番目及び3番目のメインメッセージ(正規)は、図9のステップS30のメインメッセージ一時保持部48に既にメインメッセージを保持しているという条件を満たすため、メインメッセージ一時保持部48に格納される。
FIG. 11B shows an example of
4番目のメインメッセージ(正規)の受信時点で、メインメッセージ一時保持部48に既に3個のメインメッセージが保持されている。従って図9のステップS32により最も古い先頭のメインメッセージ(不正)が破棄される。
At the time of receiving the fourth main message (regular), the main message
図11(c)は、攻撃パターン2を示す例である。先頭のメインメッセージ(正規)は、図9のステップS34の条件を満たすため、メインメッセージ一時保持部48に格納される。2番目及び3番目のメインメッセージ(不正)も、図9のステップS30の条件を満たすため、メインメッセージ一時保持部48に格納される。3番目のメインメッセージ(正規)の次にMACメッセージ(正規)が受信される。メインメッセージ一時保持部48に保持される3個のメインメッセージの内、図10のステップS40の検証が必要なメインメッセージは、先頭のメインメッセージ(正規)と3番目のメインメッセージ(不正)である。2番目のメインメッセージ(不正)に含まれる車速(=40km/h)は、前回のメインメッセージ(正規)に含まれる車速(=30km/h)と異なるため、2番目のメインメッセージ(不正)は検証が必要なメインメッセージに該当しない。
FIG. 11C is an example showing attack pattern 2. The first main message (regular) is stored in the main message
メインメッセージ一時保持部48に検証が必要なメインメッセージが複数保持される場合、新しいメインメッセージから検証される。この例では3番目のメインメッセージ(不正)から検証される。3番目のメインメッセージ(不正)から生成されるMACと、受信したMACメッセージ(正規)に含まれるMACは一致しない。次に先頭のメインメッセージ(正規)が検証される。先頭のメインメッセージ(正規)から生成されるMACと、受信したMACメッセージ(正規)に含まれるMACは一致する。従って先頭のメインメッセージ(正規)がアプリケーション処理部10に渡される。図10のステップS45により、2番目のメインメッセージ(不正)と3番目のメインメッセージ(不正)は破棄される。
When a plurality of main messages that need to be verified are stored in the main message
なおMACメッセージが受信される前に、メインメッセージのMACを生成することも考えられる。しかしながら不正なメインメッセージが多量に送信された場合、メインメッセージのMACを生成することによるECU100の負荷が増大する。本実施の形態ではMACメッセージが受信された後に、新しいメインメッセージから順番にMACを生成して検証し、検証が成功したメインメッセージが見つかった時点で、残りのメインメッセージを破棄する。これによりECU100の負荷の増大を抑制できる。
It is also conceivable that the main message MAC is generated before the MAC message is received. However, when a large number of illegal main messages are transmitted, the load on the
図11(d)は、攻撃パターン3を示す例である。先頭のメインメッセージ(正規)は、図9のステップS34の条件を満たすため、メインメッセージ一時保持部48に格納される。2番目のメインメッセージ(不正)も、図9のステップS30の条件を満たすため、メインメッセージ一時保持部48に格納される。その次にMACメッセージ(不正)が受信される。
FIG. 11 (d) is an example showing attack pattern 3. The first main message (regular) is stored in the main message
メインメッセージ一時保持部48に保持される2個のメインメッセージの内、図10のステップS40の検証が必要なメインメッセージは、先頭のメインメッセージ(正規)である。2番目のメインメッセージ(不正)は検証が必要なメインメッセージに該当しない。先頭のメインメッセージ(正規)から生成されるMACと、受信したMACメッセージ(不正)に含まれるMACは一致しない。これによりメインメッセージ一時保持部48に、検証が必要なメインメッセージが存在しなくなるため、図10のステップS46により当該MACメッセージ(不正)が破棄される。このように2番目のメインメッセージ(不正)と当該MACメッセージ(不正)との検証は行われずに、当該MACメッセージ(不正)が破棄される。
Of the two main messages held in the main message
次にMACメッセージ(正規)がさらに受信される。先頭のメインメッセージ(正規)から生成されるMACと、今回受信したMACメッセージ(正規)に含まれるMACは一致する。従って先頭のメインメッセージ(正規)がアプリケーション処理部10に渡される。図10のステップS45により、メインメッセージ一時保持部48内の2番目のメインメッセージ(不正)は破棄される。
Next, the MAC message (regular) is further received. The MAC generated from the first main message (regular) matches the MAC included in the MAC message (regular) received this time. Therefore, the top main message (regular) is passed to the
図11(e)は、攻撃パターン4を示す例である。先頭のメインメッセージ(不正)は、図9のステップS34の条件を満たすため、メインメッセージ一時保持部48に格納される。2番目のメインメッセージ(正規)も、図9のステップS30の条件を満たすため、メインメッセージ一時保持部48に格納される。その次にMACメッセージ(不正)が受信される。
FIG. 11 (e) is an example
メインメッセージ一時保持部48に保持される2個のメインメッセージの内、図10のステップS40の検証が必要なメインメッセージは、先頭のメインメッセージ(不正)である。2番目のメインメッセージ(正規)は検証が必要なメインメッセージに該当しない。先頭のメインメッセージ(不正)から生成されるMACと、受信したMACメッセージ(不正)に含まれるMACは一致しない。これによりメインメッセージ一時保持部48に、検証が必要なメインメッセージが存在しなくなるため、図10のステップS46により当該MACメッセージ(不正)が破棄される。
Of the two main messages held in the main message
正規のメインメッセージと正規のMACメッセージの間に、不正のメッセージを挿入する攻撃に対しては、MACメッセージの優先度をメインメッセージの優先度より高く設定することが有効である。これは、MACメッセージのCANIDが、メインメッセージのCANIDより常に小さくなるように各メッセージのCANIDを設定すれば実現できる。上述のようにCANでは、同時に複数のメッセージが送信された場合、通信調停によりCANIDの値が小さいほうが優先されるためである。MACメッセージの優先度をメインメッセージの優先度より高く設定することにより、正規のメインメッセージと正規のMACメッセージとの間に、多量の不正のメッセージが挿入される確率を下げることができる。 For an attack that inserts an unauthorized message between a regular main message and a regular MAC message, it is effective to set the priority of the MAC message higher than the priority of the main message. This can be realized by setting the CANID of each message so that the CANID of the MAC message is always smaller than the CANID of the main message. This is because, as described above, in CAN, when a plurality of messages are transmitted at the same time, priority is given to a smaller CANID value due to communication arbitration. By setting the priority of the MAC message higher than the priority of the main message, it is possible to reduce the probability that a large number of illegal messages are inserted between the regular main message and the regular MAC message.
これまで、MACの検証が必要なメインメッセージを受信した場合、そのメインメッセージに対応するMACメッセージが受信されるまで、メインメッセージに含まれるデータをデータ受渡部47に保留する方式を説明した。MACの検証が必要なメインメッセージを受信した場合でも、データ受渡部47が、メインメッセージに含まれるデータを即座にアプリケーション処理部10に渡す方式を採用することもできる。この方式では、MACの検証が必要なメインメッセージを受信してから、所定の設定時間内に当該メインメッセージに対応するMACメッセージを受信できない場合、データ受渡部47はアプリケーション処理部10に、当該メインメッセージに含まれるデータを渡す前の制御状態に戻すよう指示する。この方式は、車両の安全性に比較的影響しない制御に適用されるのが望ましい。
So far, when a main message that requires MAC verification is received, the
なおデータ受渡部47はアプリケーション処理部10に、当該メインメッセージに含まれるデータを渡す前の制御状態に戻すよう指示する代わりに、フェイルセーフモードに移行するよう指示してもよい。
Note that the
図12は、MACを同一メッセージで送信する方式にて、メッセージ処理部30の送信に必要な機能を示すブロック図である。図12では受信に関する機能は省略して描いている。図12のメッセージ処理部30の構成は、図4のメッセージ処理部30の構成からMACメッセージ生成部36を省略した構成である。
FIG. 12 is a block diagram showing functions necessary for transmission of the
図13は、図12のメッセージ処理部30によるメッセージ送信処理を示すフローチャートである。図13のステップS10〜ステップS14までの処理は、図5のステップS10〜ステップS14までの処理と同じである。メインメッセージ生成部31は、MAC生成部35から取得したMACを、メインメッセージのデータフィールドに、既に格納されているデータと重複しないように格納する。また上記データ及び当該データに対するMACを含むMAC付きメインメッセージであることを示すCANIDをIDフィールドに格納する。メインメッセージ生成部31は、生成したMAC付きメインメッセージを送受信部50に渡し、送受信部50は当該MAC付きメインメッセージをブロードキャスト送信する(S15a)。
FIG. 13 is a flowchart showing message transmission processing by the
図14は、MACを同一メッセージで送信する方式にて、メッセージ処理部30の受信に必要な機能を示すブロック図である。図14では送信に関する機能は省略して描いている。図14のメッセージ処理部30は、図6のメッセージ処理部30の構成と比較し、データフィールド抽出部43が分離部43aを含む構成である。その他の構成は同じである。
FIG. 14 is a block diagram illustrating functions necessary for reception of the
図15は、図14のメッセージ処理部30によるメッセージ受信処理を示すフローチャートである。送受信部50はCANバス200からMAC付きメインメッセージを受信し、メッセージ解析部41に渡す。CANID抽出部42は、メッセージ解析部41により受信されたMAC付きメインメッセージのIDフィールドからCANIDを抽出する(図15のS20a)。データフィールド抽出部43は、メッセージ解析部41により受信されたMAC付きメインメッセージのデータフィールド内のデータ及びMACを抽出する(S21b)。データフィールド抽出部43は、抽出したデータフィールド内のデータとMACとを分離する(S22)。
FIG. 15 is a flowchart showing message reception processing by the
MAC検証タイミング決定部44は、抽出されたCANID及びデータから、MACを検証すべきタイミングであるか否か判断する(S23)。MACの検証が必要なタイミングである場合(S23のY)、MAC生成部45は、抽出されたCANID及びデータをもとにMACを生成する(S24)。MAC比較部46は、MAC生成部45により生成されたMACと、データフィールド抽出部43により抽出および分離されたMACを比較する(S27a)。両者のMACが一致した場合(S28のY)、MAC比較部46はMACの検証が成功したと判定し、データ受渡部47に検証が成功した旨を通知する。データ受渡部47はデータフィールド抽出部43から取得し、保留していたデータをアプリケーション処理部10に渡す(S29)。アプリケーション処理部10は、取得したデータに応じて制御対象を制御する、または監視対象を監視する。
The MAC verification
ステップS28にて、両者のMACが一致しない場合(S28のN)、MAC比較部46はMACの検証が失敗したと判定し、データ受渡部47に検証が失敗した旨を通知する。データ受渡部47は、データフィールド抽出部43から取得し、保留していたデータをアプリケーション処理部10に渡さない。ステップS23にて、MACの検証が必要なタイミングでない場合(S23のN)、ステップS24、ステップS27a及びステップS28の処理がスキップされ、データ受渡部47は、データフィールド抽出部43から取得したデータを無条件にアプリケーション処理部10に渡す(S29)。
If the two MACs do not match in step S28 (N in S28), the
以上に説明したMACを同一メッセージで送信する方式は、送信すべき通常データの量が少ない場合に有効である。MACを同一メッセージで送信する方式はMACを別メッセージで送信する方式と比較し、基本的にメッセージ数を減らす効果がある。しかしながら、通常データの量が多い場合、64ビットのデータフィールドに通常データとMACを併存させるのが難しくなる。その場合、両者の少なくとも一方を複数に分割する必要があり、メッセージの数が増える。またMACを別メッセージで送信する方式のほうが通常、メッセージ処理部30の処理を単純化できる。従って必ずしも、MACを同一メッセージで送信する方式が、MACを別のメッセージで送信する方式より有利というわけではない。したがって、通常データの量などが考慮されたうえで、両者が使い分けられて設定されるのが好ましい。
The method of transmitting the MAC described above with the same message is effective when the amount of normal data to be transmitted is small. The method of transmitting the MAC with the same message is basically effective in reducing the number of messages compared with the method of transmitting the MAC with another message. However, when the amount of normal data is large, it becomes difficult to coexist normal data and MAC in a 64-bit data field. In that case, it is necessary to divide at least one of them into a plurality of parts, and the number of messages increases. In addition, the method of transmitting the MAC in a separate message usually simplifies the processing of the
以下、MACメッセージの生成・送信タイミングについて説明する。各ECU100は、通常データを含むメッセージを受信し、その通常データが示す値によって特定の制御を実行している。上述のように受信側ECU100でも送信側ECU100と同様に、MACが付加されるべきタイミングを判断している。受信側ECU100では正規のMACが到着して検証が成功しない限り当該制御を保留している。これにより攻撃者からの不正制御を防御している。
The MAC message generation / transmission timing will be described below. Each
車両内のCANで送信される通常データには様々な種類があるが、送信する値が変化しなくても周期的に送信される通常データも多い。例えば車速センサのECU100からは周期的に車速情報が送信される。
There are various types of normal data transmitted by CAN in the vehicle, but there are many normal data that are periodically transmitted even if the value to be transmitted does not change. For example, vehicle speed information is periodically transmitted from the
以上の状況に鑑み、送信する値が変化するときのみMACを生成・送信する制御方式が考えられる。この場合、セキュリティを確保しつつECU100及びCANバス200の負荷を下げることができる。以下、送信すべき通常データ固有の特徴もしくは性質、または送信すべき通常データの重要度などに応じてMACの生成・送信タイミングを決定する方法を説明する。
In view of the above situation, a control method for generating and transmitting a MAC only when a value to be transmitted changes can be considered. In this case, the load on the
図16は、MACの生成・送信タイミングの複数の具体例をまとめた一覧表を示す図である。まず大分類として、データ変化に起因してタイミングを決定するグループ、送信周期性に起因してタイミングを決定するグループ、及びその他のグループに分類した。 FIG. 16 is a table showing a list of a plurality of specific examples of MAC generation / transmission timing. First, as a major classification, a group that determines timing due to data change, a group that determines timing due to transmission periodicity, and other groups were classified.
まず、データ変化に起因してタイミングを決定するグループの第1の例として、制御対象または監視対象の状態を表すデータが変化したときMACを生成・送信する方式を説明する。例えば、ドアロックのON/OFFが変化したときにMACを生成・送信する。またギアポジション(P,N,D,R)が変化したときにMACを生成・送信する。このように、制御対象または監視対象の状態は2値で表される場合もあれば、多値で表される場合もある。またエンジン回転数のように、さらに細かな値で表される場合もある。前回のデータと同じ値のデータは重要度が低いデータといえる。仮に当該データが不正なデータであっても、制御に与える影響が小さい。従って負荷軽減を優先して当該データに対するMACの生成・送信を省略する。 First, as a first example of a group that determines timing due to a data change, a method of generating and transmitting a MAC when data representing a state of a control target or a monitoring target changes will be described. For example, the MAC is generated and transmitted when the door lock ON / OFF changes. When the gear position (P, N, D, R) is changed, the MAC is generated and transmitted. As described above, the state of the control target or the monitoring target may be expressed by binary values or may be expressed by multiple values. In some cases, it may be expressed by a finer value such as the engine speed. Data with the same value as the previous data can be said to be less important data. Even if the data is illegal, the influence on the control is small. Therefore, priority is given to load reduction, and generation and transmission of MAC for the data are omitted.
図17は、状態を表すデータが変化したときMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能を示すブロック図である。図17のMAC生成タイミング決定部34は、前回データ保持部341及び比較部343を含む。
FIG. 17 is a block diagram illustrating functions necessary for the MAC generation
図18は、図17のMAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。前回データ保持部341には、前回のメインメッセージで送信したデータが保持される。比較部343は、前回データ保持部341に保持されるデータと、データフィールド抽出部33から渡される今回送信すべきデータを比較する(S50)。両者のデータが異なる場合(S51のY)、比較部343はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S52)。前回データ保持部341内の保持データは、今回送信されたデータに更新される(S53)。ステップS51にて、両者のデータが一致する場合(S51のN)、ステップS52及びステップS53の処理はスキップされる。
FIG. 18 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
図19は、状態を表すデータが変化したときMACを生成・送信する方式の具体例を示す図である。図19では2値(ON/OFF)の状態を表すデータを送信する例を示している。2番目のメインメッセージM2に含まれるデータの値(ON)は、先頭のメインメッセージM1に含まれるデータの値(ON)に対して変化していないため、2番目のメインメッセージM2に対するMACは生成されない。3番目のメインメッセージM3に含まれるデータの値(OFF)は、2番目のメインメッセージM2に含まれるデータの値(ON)に対して変化しているため、3番目のメインメッセージM3に対するMACが生成・送信される。同様に4番目のメインメッセージM4に対するMACは生成されず、5番目のメインメッセージM5に対するMACが生成・送信される。 FIG. 19 is a diagram illustrating a specific example of a method for generating and transmitting a MAC when data representing a state changes. FIG. 19 shows an example in which data representing a binary (ON / OFF) state is transmitted. Since the data value (ON) included in the second main message M2 has not changed with respect to the data value (ON) included in the first main message M1, the MAC for the second main message M2 is generated. Not. Since the data value (OFF) included in the third main message M3 changes with respect to the data value (ON) included in the second main message M2, the MAC for the third main message M3 is changed. Generated / sent. Similarly, the MAC for the fourth main message M4 is not generated, and the MAC for the fifth main message M5 is generated and transmitted.
図20は、状態を表すデータが変化したときMACを生成・送信する方式において、送信側ECU100から受信側ECU100に送信されるメッセージの一例を示す図である。送信すべきデータの値が変化しない第1フェーズP1、第2フェーズP2及び第4フェーズP4では、送信側ECU100でメインメッセージのみが生成され、受信側ECU100に送信される。
FIG. 20 is a diagram illustrating an example of a message transmitted from the transmission-
送信すべきデータの値が変化する第3フェーズP3及び第5フェーズP5では、送信側ECU100でメインメッセージと、当該メインメッセージに対するMACメッセージが生成される。送信側ECU100から当該メインメッセージと当該MACメッセージの両方が受信側ECU100に送信される。
In the third phase P3 and the fifth phase P5 in which the value of data to be transmitted changes, the
次に、データ変化に起因してタイミングを決定するグループの第2の例として、データによって示される値の変化量が閾値を超えたときMACを生成・送信する方式を説明する。例えば、最後にMACを生成・送信したときのエンジン回転数の値から、100rpmを超えて変化したときにMACを生成・送信する。データによって示される値の変化量が小さいデータは重要度が低いデータといえる。仮に当該データが不正なデータであっても、制御に与える影響が小さい。従って負荷軽減を優先して当該データに対するMACの生成・送信を省略する。 Next, as a second example of a group that determines timing due to data change, a method of generating and transmitting a MAC when a change amount of a value indicated by data exceeds a threshold value will be described. For example, the MAC is generated / transmitted when the value of the engine speed at the time of the last generation / transmission of the MAC changes beyond 100 rpm. Data with a small amount of change in the value indicated by the data can be said to be data with low importance. Even if the data is illegal, the influence on the control is small. Therefore, priority is given to load reduction, and generation and transmission of MAC for the data are omitted.
図21は、変化量が閾値を超えたときMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能を示すブロック図である。図21のMAC生成タイミング決定部34は、前回データ保持部341、減算部342及び比較部343を含む。
FIG. 21 is a block diagram illustrating functions necessary for the MAC generation
図22は、図21のMAC生成タイミング決定部34によるMACの生成をタイミング決定する処理を示すフローチャートである。前回データ保持部341には前回、MACメッセージが生成されたメインメッセージで送信されたデータの値が保持される。減算部342は、前回データ保持部341に保持されるデータの値と、データフィールド抽出部33から渡される今回送信すべきデータの値との差分値を算出する(S50a)。この例では当該差分値は絶対値で算出される。比較部343は算出された差分値と閾値を比較し、当該差分値が当該閾値を超える場合(S51aのY)、比較部343はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S52)。前回データ保持部341内の保持データは、今回送信されたデータに更新される(S53)。ステップS51aにて、当該差分値が当該閾値以下の場合(S51aのN)、ステップS52及びステップS53の処理はスキップされる。
FIG. 22 is a flowchart showing processing for determining the timing of MAC generation by the MAC generation
図23は、変化量が閾値を超えたときMACを生成・送信する方式の具体例を示す図である。図23ではエンジンの回転数を表すデータを送信する例を示している。この例では、先頭のメインメッセージM1の直前に送信されたメインメッセージ(不図示)に含まれるエンジン回転数が999rpmであり、当該メインメッセージに対するMACメッセージが生成・送信されたことを前提とする。また上記の閾値は100rpmとする。 FIG. 23 is a diagram illustrating a specific example of a method for generating and transmitting a MAC when the amount of change exceeds a threshold. FIG. 23 shows an example in which data representing the engine speed is transmitted. In this example, it is assumed that the engine speed included in the main message (not shown) transmitted immediately before the top main message M1 is 999 rpm, and the MAC message for the main message is generated and transmitted. Moreover, said threshold value shall be 100 rpm.
前回MACメッセージが生成されたメインメッセージで送信されたエンジン回転数(999rpm)と、先頭のメインメッセージM1に含まれるエンジン回転数(1000rpm)との差分の絶対値は100rpm以下である。同様に2番目のメインメッセージM2に含まれるエンジン回転数(1002rpm)との差分の絶対値も100rpm以下である。同様に3番目のメインメッセージM3に含まれるエンジン回転数(1005rpm)との差分の絶対値も100rpm以下である。従って先頭のメインメッセージM1、2番目のメインメッセージM2、及び3番目のメインメッセージに対するMACメッセージは生成・送信されない。 The absolute value of the difference between the engine speed (999 rpm) transmitted in the main message in which the previous MAC message was generated and the engine speed (1000 rpm) included in the top main message M1 is 100 rpm or less. Similarly, the absolute value of the difference from the engine speed (1002 rpm) included in the second main message M2 is also 100 rpm or less. Similarly, the absolute value of the difference from the engine speed (1005 rpm) included in the third main message M3 is also 100 rpm or less. Therefore, MAC messages for the top main message M1, the second main message M2, and the third main message are not generated or transmitted.
前回MACメッセージが生成されたメインメッセージで送信されたエンジン回転数(999rpm)と、4番目のメインメッセージM4に含まれるエンジン回転数(1100rpm)との差分の絶対値は100rpmを超える。従って4番目のメインメッセージM4に対するMACメッセージが生成・送信される。これにより、前回MACメッセージが生成されたメインメッセージで送信されたエンジン回転数は1100rpmに更新される。 The absolute value of the difference between the engine speed (999 rpm) transmitted in the main message for which the previous MAC message was generated and the engine speed (1100 rpm) included in the fourth main message M4 exceeds 100 rpm. Accordingly, a MAC message for the fourth main message M4 is generated and transmitted. As a result, the engine speed transmitted in the main message for which the previous MAC message was generated is updated to 1100 rpm.
前回MACメッセージが生成された4番目のメインメッセージM4で送信されたエンジン回転数(1100rpm)と、5番目のメインメッセージM5に含まれるエンジン回転数(1103rpm)との差分の絶対値は100rpm以下である。従って5番目のメインメッセージM5に対するMACメッセージは生成・送信されない。 The absolute value of the difference between the engine speed (1100 rpm) transmitted in the fourth main message M4 in which the previous MAC message was generated and the engine speed (1103 rpm) included in the fifth main message M5 is 100 rpm or less. is there. Therefore, the MAC message for the fifth main message M5 is not generated / transmitted.
図21〜図23に示した例では、前回送信されたデータの値として、前回MACメッセージが生成されたメインメッセージで送信されたデータの値を使用したが、MACメッセージの生成の有無を問わず、前回送信されたメインメッセージに含まれるデータの値を使用してもよい。 In the example shown in FIGS. 21 to 23, the value of the data transmitted in the main message in which the previous MAC message was generated is used as the value of the data transmitted in the previous time, regardless of whether or not the MAC message is generated. The value of data included in the main message transmitted last time may be used.
次に、データ変化に起因してタイミングを決定するグループの第3の例として、データによって示される値が閾値を超えたとき、または下回ったときにMACを生成・送信する方式を説明する。例えば、車速が10km/hを超えている場合、常にMACを生成・送信する。または例えば、バッテリの電源電圧が所定の値を下回った場合、常にMACを生成・送信する。閾値を超える、または下回る値を持つデータは重要度が高いデータといえる。従ってセキュリティの確保を優先して当該データに対するMACを生成・送信する。 Next, as a third example of a group that determines timing due to a data change, a method of generating and transmitting a MAC when a value indicated by data exceeds or falls below a threshold value will be described. For example, when the vehicle speed exceeds 10 km / h, the MAC is always generated and transmitted. Or, for example, when the power supply voltage of the battery falls below a predetermined value, the MAC is always generated and transmitted. Data having a value exceeding or below the threshold can be said to be highly important data. Accordingly, priority is given to ensuring security, and a MAC for the data is generated and transmitted.
値が閾値を超えたとき、または下回ったときにMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能は、図21のMAC生成タイミング決定部34の比較部343があれば足りる。この方式では、過去に送信したデータの値は不要であるため、前回データ保持部341及び減算部342は設ける必要がない。
The function required for the MAC generation
図24は、値が閾値を超えたとき、または下回ったときにMACを生成・送信する方式における、MAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。比較部343は、データフィールド抽出部33から渡される今回送信すべきデータの値と閾値を比較する(S60)。閾値を超えるときにMACを生成・送信する設定の場合(S611のY)、ステップS612に遷移する。閾値を下回るときにMACを生成・送信する設定の場合(S611のN)、ステップS613に遷移する。
FIG. 24 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
ステップS612にて、今回送信すべきデータの値が当該閾値を超える場合(S612のY)、比較部343はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S62)。ステップS612にて、今回送信すべきデータの値が当該閾値以下の場合(S612のN)、ステップS62の処理はスキップされる。
In step S612, when the value of the data to be transmitted this time exceeds the threshold (Y in S612), the
ステップS613にて、今回送信すべきデータの値が当該閾値を下回る場合(S613のY)、比較部343はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S62)。ステップS61にて、今回送信すべきデータの値が当該閾値以上の場合(S613のN)、ステップS62の処理はスキップされる。
In step S613, when the value of the data to be transmitted this time is lower than the threshold (Y in S613), the
次に、データ変化に起因してタイミングを決定するグループの第4の例として、データによって示される値の変化が規定した方向への変化のときMACを生成・送信する方式を説明する。例えば、データの値が減少する場合はMACを生成・送信せず、増加する場合にMACを生成・送信する。この例は、データの値が減少する方向への変化が安全サイドへの変化であり、データの値が増加する方向への変化がリスクサイドへの変化である例である。リスクサイドの方向に値が変化するデータに対してのみMACを生成・送信することにより、セキュリティの確保と負荷軽減のバランスを図ることができる。 Next, as a fourth example of a group that determines timing due to data change, a method of generating and transmitting a MAC when a change in a value indicated by data changes in a specified direction will be described. For example, when the data value decreases, the MAC is not generated / transmitted, and when it increases, the MAC is generated / transmitted. In this example, a change in the direction in which the data value decreases is a change to the safe side, and a change in the direction in which the data value increases is a change to the risk side. By generating and transmitting the MAC only for data whose value changes in the risk side direction, it is possible to achieve a balance between ensuring security and reducing the load.
値の変化が規定した方向への変化のときMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能は、図17のMAC生成タイミング決定部34の機能と同じである。
The function required for the MAC generation
図25は、値の変化が規定した方向への変化のときMACを生成・送信する方式における、MAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。前回データ保持部341には、前回のメインメッセージで送信されたデータの値が保持される。比較部343は、前回データ保持部341に保持されるデータの値と、データフィールド抽出部33から渡される今回送信すべきデータの値を比較する(S50)。値の変化が増加方向への変化のときMACを生成・送信する設定の場合(S511のY)、ステップS512に遷移する。値の変化が減少方向への変化のときMACを生成・送信する設定の場合(S511のN)、ステップS513に遷移する。
FIG. 25 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
ステップS512にて、保持されるデータの値が今回送信すべきデータの値を超える場合(S512のY)、比較部343はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S52)。前回データ保持部341内の保持データは、今回送信されたデータに更新される(S53)。ステップS512にて、保持されるデータの値が今回送信すべきデータの値以下の場合(S512のN)、ステップS52及びステップS53の処理はスキップされる。
In step S512, when the value of the stored data exceeds the value of the data to be transmitted this time (Y in S512), the
ステップS513にて、保持されるデータの値が今回送信すべきデータの値以下の場合(S513のY)、比較部343はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S52)。前回データ保持部341内の保持データは、今回送信されたデータに更新される(S53)。ステップS513にて、保持されるデータの値が今回送信すべきデータの値を超える場合(S513のN)、ステップS52及びステップS53の処理はスキップされる。
In step S513, when the data value to be held is equal to or smaller than the data value to be transmitted this time (Y in S513), the
次に、データ変化に起因してタイミングを決定するグループの第5の例として、データによって示される値がデフォルト値と異なるときMACを生成・送信する方式を説明する。例えば、データの値がデフォルト値以外をとる場合、常にMACを生成・送信する。通常、デフォルト値は最も安全サイドの値に設定されている。従ってデータの値がデフォルト値をとる場合、負荷軽減を優先して当該データに対するMACの生成・送信を省略する。 Next, as a fifth example of a group that determines timing due to data change, a method of generating and transmitting a MAC when a value indicated by data is different from a default value will be described. For example, when the data value is other than the default value, the MAC is always generated and transmitted. Usually, the default value is set to the value on the safest side. Therefore, when the data value takes a default value, priority is given to load reduction, and generation / transmission of MAC for the data is omitted.
値がデフォルト値と異なるときMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能は、図21のMAC生成タイミング決定部34の比較部343があれば足りる。この方式では、過去に送信したデータの値は不要であるため、前回データ保持部341及び減算部342は設ける必要がない。なお比較部343には閾値ではなく、デフォルト値が入力される。
When the value is different from the default value, the function required for the MAC generation
図26は、値がデフォルト値と異なるときMACを生成・送信する方式における、MAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。比較部343は、データフィールド抽出部33から渡される今回送信すべきデータの値とデフォルト値を比較する(S60a)。今回送信すべきデータの値と当該デフォルト値が異なる場合(S61aのY)、比較部343はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S62)。ステップS61aにて、今回送信すべきデータの値が当該デフォルト値と同じ場合(S61aのN)、ステップS62の処理はスキップされる。
FIG. 26 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
次に、送信周期性に起因してタイミングを決定するグループの第1の例として、間引き周期でMACを生成・送信する方式を説明する。例えば、メインメッセージの送信周期よりも長い周期でMACを生成・送信する。MACを生成・送信する回数を単純に減らすことができる。 Next, as a first example of a group that determines timing due to transmission periodicity, a method of generating and transmitting a MAC at a thinning cycle will be described. For example, the MAC is generated and transmitted at a cycle longer than the transmission cycle of the main message. The number of times of generating / transmitting the MAC can be simply reduced.
図27は、間引き周期でMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能を示すブロック図である。図27のMAC生成タイミング決定部34は、MAC送信時刻保持部344、時計部345、経過時間算出部346及び比較部347を含む。
FIG. 27 is a block diagram illustrating functions necessary for the MAC generation
図28は、図27のMAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。MAC送信時刻保持部344には、前回のMACメッセージの送信時刻が保持される。経過時間算出部346は、MAC送信時刻保持部344に保持される前回のMACメッセージの送信時刻と、時計部345から供給される現在の時刻をもとに、前回のMACメッセージの送信時刻からの経過時間を算出する(S70)。比較部347は、算出された経過時間と設定周期を比較し(S71)、算出された経過時間が当該設定周期を超える場合(S71のY)、MAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S72)。MAC生成部35は、生成したMACをMACメッセージ生成部36に渡す。MACメッセージ生成部36は、MAC生成部35から取得したMACをCANメッセージのデータフィールドに格納してMACメッセージを生成する。MACメッセージ生成部36は、生成したMACメッセージを送受信部50に渡し、送受信部50は当該MACメッセージをブロードキャスト送信する(S73)。MAC送信時刻保持部344内に保持されるMACの送信時刻は、今回送信されたMACメッセージのMACの送信時刻に更新される(S74)。
FIG. 28 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
ステップS71にて、算出された経過時間が設定周期を超えない場合(S71のN)、ステップS72、ステップS73及びステップS74の処理はスキップされる。上記の設定周期は、メインメッセージの送信周期より長い周期に設定される。例えば、メインメッセージの送信周期の整数倍の値に設定される。 If the calculated elapsed time does not exceed the set period in step S71 (N in S71), the processes in steps S72, S73, and S74 are skipped. The set cycle is set to a cycle longer than the main message transmission cycle. For example, it is set to a value that is an integral multiple of the transmission cycle of the main message.
図29は、間引き周期でMACを生成・送信する方式の具体例を示す図である。図29ではメインメッセージの送信周期が20ms、上記の設定周期が200msに設定された例を示している。先頭のメインメッセージM1に対するMACメッセージが送信された時刻から200msが経過した時点のメインメッセージMnに対して、MACメッセージが生成・送信される。先頭のメインメッセージM1に対するMACメッセージが送信された時刻から200msが経過する前に生成されるメインメッセージM2、メインメッセージM3、・・・、メインメッセージM(n−1)に対するMACメッセージの生成・送信は間引かれる。 FIG. 29 is a diagram illustrating a specific example of a method for generating and transmitting a MAC at a thinning cycle. FIG. 29 shows an example in which the transmission cycle of the main message is set to 20 ms and the set cycle is set to 200 ms. A MAC message is generated and transmitted with respect to the main message Mn at the time when 200 ms elapses from the time when the MAC message for the first main message M1 is transmitted. Generation / transmission of a MAC message for the main message M2, main message M3,..., Main message M (n−1) generated before 200 ms elapses from the time when the MAC message for the first main message M1 is transmitted. Is thinned out.
次に、送信周期に起因してタイミングを決定するグループの第2の例として、メッセージの送信周期の変化に応じてMACを生成・送信する方式を説明する。ECUによっては、メッセージの送信周期が切り替わるものがある。これは、短周期または長周期といった現在の送信周期の情報をECUの内部で管理している。送信周期の情報は、アプリケーション処理部10から現在の送信周期の情報を送信周期情報として取得する。このように、送信周期が変化するというメッセージ(データ)の性質に基づいて、次のように制御する。例えば、周期が変化するメインメッセージの現在の周期に応じて、MACの生成・送信頻度を変化させる。例えば、メインメッセージの現在の周期が短周期の場合、MACの生成・送信を間引く。一方、メインメッセージの現在の周期が長周期の場合、MACの生成・送信を間引かない。メインメッセージの周期が短周期の場合、全てのメインメッセージに対してMACを生成・送信する必要性が低下するため、負荷軽減を優先してMACの生成・送信を間引く。
Next, as a second example of a group that determines timing due to a transmission cycle, a method for generating and transmitting a MAC according to a change in the transmission cycle of a message will be described. Some ECUs change the transmission cycle of messages. This manages information on the current transmission cycle such as a short cycle or a long cycle inside the ECU. As the transmission cycle information, the current transmission cycle information is acquired from the
図30は、周期変化に応じてMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能を示すブロック図である。図30のMAC生成タイミング決定部34は、図27のMAC生成タイミング決定部34の構成に、メインメッセージ送信周期判定部348が追加された構成である。
FIG. 30 is a block diagram illustrating functions necessary for the MAC generation
図31は、図30のMAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。MAC送信時刻保持部344には、前回のMACメッセージの送信時刻が保持される。メインメッセージ送信周期判定部348は、アプリケーション処理部10から渡されるメインメッセージの送信周期情報をもとに、メインメッセージの現在の送信周期が短周期であるか長周期であるか判定する(S699)。メインメッセージの送信周期が2種類である場合、短いほうが短周期、長いほうが長周期とされる。
FIG. 31 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
ステップS699にて、メインメッセージの現在の送信周期が短周期である場合(S699のY)、その後の処理は、図28のステップS70〜ステップS74までの処理と同じ処理となる。即ち、間引き周期でMACメッセージが生成・送信される制御となる。 In step S699, when the current transmission cycle of the main message is a short cycle (Y in S699), the subsequent processing is the same as the processing from step S70 to step S74 in FIG. That is, the control is such that the MAC message is generated and transmitted at the thinning cycle.
ステップS699にて、メインメッセージの現在の送信周期が長周期である場合(S699のN)、その後の処理は、図28のステップS72〜ステップS74までの処理と同じ処理となる。即ち、全てのメインメッセージに対してMACメッセージが生成・送信される制御となる。 In step S699, when the current transmission cycle of the main message is a long cycle (N in S699), the subsequent processing is the same as the processing from step S72 to step S74 in FIG. That is, the control is such that MAC messages are generated and transmitted for all main messages.
次に、送信周期性に起因してタイミングを決定するグループの第3の例として、イベント発生に応じてMACを生成・送信する方式を説明する。このように、イベントが発生した際に送信されるというメッセージ(データ)の性質に基づいて、次のように制御する。例えば、イベント発生に応じてメインメッセージが送信される場合、常にMACを生成・送信する。具体的には、ドライバーがヘッドライトをONした場合などが該当する。イベント発生により送信されるデータは重要度が高いデータといえる。従ってセキュリティの確保を優先して当該データに対するMACを常に生成・送信する。 Next, as a third example of a group that determines timing due to transmission periodicity, a method of generating and transmitting a MAC according to the occurrence of an event will be described. In this way, control is performed as follows based on the nature of the message (data) that is transmitted when an event occurs. For example, when a main message is transmitted in response to an event occurrence, a MAC is always generated and transmitted. Specifically, the case where the driver turns on the headlight is applicable. The data transmitted when an event occurs can be said to be highly important data. Accordingly, the MAC for the data is always generated and transmitted with priority given to ensuring security.
イベント発生に応じてMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能は、メインメッセージ生成部31により生成されるメインメッセージに含まれるデータがイベント送信型のデータであるか否かを判定する機能があれば足りる。
The function required for the MAC generation
図32は、イベント発生に応じてMACを生成・送信する方式における、MAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。MAC生成タイミング決定部34は、CANID抽出部32により抽出されたCANID及び/又はデータフィールド抽出部33から抽出されたデータから、今回送信すべきメインメッセージの種別を判定する(S80)。今回送信すべきメインメッセージの種別がイベント送信型の場合(S81のY)、MAC生成タイミング決定部34はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S82)。ステップS81にて、今回送信すべきメインメッセージの種別がイベント送信型でない場合(S81のN)、ステップS82の処理はスキップされる。
FIG. 32 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
次に、送信周期性に起因してタイミングを決定するグループの第4の例として、要求メッセージに応じてMACを生成・送信する方式を説明する。ここで、要求メッセージとは、あるECUから他のECUに対して何らかの情報を要求するためのメッセージである。要求メッセージを受信したECUはそれに対応するメインメッセージをCANバス200へ送信する。このように、要求メッセージの応答として送信されるというメッセージ(データ)の性質に基づいて、次のように制御する。例えば、要求メッセージに応じてメインメッセージが送信される場合、常にMACを生成・送信する。具体的には、他のECU100から、自己のECU100で監視している計器の数値の取得要求があった場合などが該当する。要求メッセージに応じて送信されるデータは重要度が高いデータといえる。従ってセキュリティの確保を優先して当該データに対するMACを常に生成・送信する。
Next, as a fourth example of a group that determines timing due to transmission periodicity, a method of generating and transmitting a MAC according to a request message will be described. Here, the request message is a message for requesting some information from one ECU to another ECU. The ECU that has received the request message transmits a main message corresponding to the request message to the
要求メッセージに応じてMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能は、メインメッセージ生成部31により生成されるメインメッセージに含まれるデータがオンデマンド送信型のデータであるか否かを判定する機能があれば足りる。
In the method of generating / transmitting the MAC according to the request message, the function necessary for the MAC generation
図33は、要求メッセージに応じてMACを生成・送信する方式における、MAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。MAC生成タイミング決定部34は、CANID抽出部32により抽出されたCANID及び/又はデータフィールド抽出部33から抽出されたデータから、今回送信すべきメインメッセージの種別を判定する(S80)。今回送信すべきメインメッセージの種別がオンデマンド送信型の場合(S81aのY)、MAC生成タイミング決定部34はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S82)。ステップS81aにて、今回送信すべきメインメッセージの種別がオンデマンド送信型でない場合(S81aのN)、ステップS82の処理はスキップされる。
FIG. 33 is a flowchart illustrating a process of determining the MAC generation timing by the MAC generation
図16に示したその他のグループの第1の例として、バス占有率に応じてMACを生成・送信する方式を説明する。例えば、バスの占有率を監視し、MACの送信頻度を調整する。具体的には、自己のECU100から送信されるメッセージによるバスの占有率が閾値を超える場合、MACを生成・送信しない。この方式では、バスのトラフィック量を的確に調整できる。
As a first example of the other group shown in FIG. 16, a method of generating and transmitting a MAC according to the bus occupancy rate will be described. For example, the bus occupancy is monitored and the MAC transmission frequency is adjusted. Specifically, when the bus occupancy rate by the message transmitted from its
図34は、バス占有率に応じてMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能を示すブロック図である。図34のMAC生成タイミング決定部34は、時計部345、バス占有率算出部349及び比較部350を含む。バス占有率はCANバス200を流れるすべてのメッセージの送信頻度から計算する必要があるため、時計部345から得られる時間の情報とCANバス200におけるメッセージの送信回数から、ある単位時間あたりの占有率を算出する。
FIG. 34 is a block diagram illustrating functions necessary for the MAC generation
図35は、図34のMAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。バス占有率算出部349は送受信部50から、CANバス200よりメッセージ(メインメッセージとMACメッセージを含む)が受信される度に受信情報を取得する。バス占有率算出部349は、取得したメッセージの受信情報からCANバス200におけるメッセージの送信頻度を算出し、当該送信頻度と時計部345から供給される時間情報(時刻情報)、CANバス200の帯域をもとにバス占有率を算出する(S90)。
FIG. 35 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
比較部350は、算出されたバス占有率と閾値を比較し(S91)、バス占有率が閾値を超える場合(S91のY)、比較部350はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S92)。ステップS91にて、バス占有率が閾値以下の場合(S91のN)、ステップS92の処理はスキップされる。
The
図16に示したその他のグループの第2の例として、ランダムにMACを生成・送信する方式を説明する。例えば、ランダムなタイミングでMACを生成・送信する。なお送信側と受信側でタイミングの共有が必要となる。ランダムなタイミングでMACを生成・送信する場合、攻撃者からの不正な攻撃がされにくくなる効果がある。 As a second example of the other group shown in FIG. 16, a method of randomly generating and transmitting a MAC will be described. For example, the MAC is generated and transmitted at random timing. It is necessary to share timing between the transmission side and the reception side. When the MAC is generated / transmitted at random timing, there is an effect that an unauthorized attack from an attacker is hardly performed.
図36は、ランダムにMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能を示すブロック図である。図36のMAC生成タイミング決定部34は、カウント部351、乱数発生部352、次回MAC送信カウント値保持部353及び比較部354を含む。カウント部351は、メインメッセージに対するMACの生成・送信時から、リセットされるまでカウントアップしていくカウンタを含む。乱数発生部352は、擬似乱数を発生させ次回MAC送信カウント値保持部353に供給する。次回MAC送信カウント値保持部353は、乱数発生部352から供給される擬似乱数値を、次回のMACの送信までのカウント値として保持する。
FIG. 36 is a block diagram illustrating functions necessary for the MAC generation
図37は、図36のMAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。比較部354は、カウント部351の現在のカウント値と、次回MAC送信カウント値保持部353に保持される次回のMAC送信までのカウント値とを比較する(S100)。カウント部351の現在のカウント値が次回のMAC送信までのカウント値に到達した場合(S101のY)、比較部354はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S102)。
FIG. 37 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
乱数発生部352は、MAC生成部35からMACの生成が完了した旨の通知を受けると、新たに擬似乱数を発生させ、次回MAC送信カウント値保持部353に供給する。これにより次回MAC送信カウント値保持部353に保持される次回のMACの送信までのカウント値が更新される(S103)。またカウント部351は、MAC生成部35からMACの生成が完了した旨の通知を受けると、カウント値をリセットする(S104)。
When the random
ステップS101にて、カウント部351の現在のカウント値が次回のMAC送信までのカウント値に到達していない場合(S101のN)、カウント部351はカウント値をインクリメントする(S105)。なおステップS103にて発生させた擬似乱数値は、例えばMACメッセージのデータフィールドに含められて、CANバス200に接続された他のECU100に送信される。なおMACメッセージではなく、独立の制御メッセージに含められて送信されてもよい。
In step S101, when the current count value of the
図16に示したその他のグループの第3の例として、車両状態に応じてMACを生成・送信する方式を説明する。例えば高速走行中や、リプログラミング用のツールが接続されている最中は常にMACを生成・送信する。リスクが高い状態で生成されるデータは重要度が高いデータといえる。従ってセキュリティの確保を優先して当該データに対するMACを常に生成・送信する。 As a third example of the other group shown in FIG. 16, a method of generating and transmitting a MAC according to the vehicle state will be described. For example, the MAC is generated and transmitted at all times during high-speed driving or when a reprogramming tool is connected. Data generated with high risk can be said to be highly important data. Accordingly, the MAC for the data is always generated and transmitted with priority given to ensuring security.
車両状態に応じてMACを生成・送信する方式にて、メッセージ処理部30のMAC生成タイミング決定部34に必要な機能は、車両情報を取得する機能があれば足りる。
In the method of generating / transmitting the MAC according to the vehicle state, the function necessary for the MAC generation
図38は、車両状態に応じてMACを生成・送信する方式における、MAC生成タイミング決定部34によるMACの生成タイミングを決定する処理を示すフローチャートである。MAC生成タイミング決定部34は、アプリケーション処理部10から渡されるデータ、又はメインメッセージ生成部31により受信されデータフィールド抽出部33により抽出されたデータにより、例えば速度情報などの車両状態を取得する(S110)。
FIG. 38 is a flowchart showing a process of determining the MAC generation timing by the MAC generation
MAC生成タイミング決定部34は、取得した車両状態が、予め設定されたMAC送信が必要な車両状態であるか否か判定する(S111)。例えば、取得した速度が60km/hを超える場合、高速走行中であるとしてMAC送信が必要な車両状態と判定する。取得した車両状態が、当該MAC送信が必要な車両状態である場合(S111のY)、MAC生成タイミング決定部34はMAC生成部35にMACの生成を指示する。MAC生成部35は、CANID抽出部32及びデータフィールド抽出部33により抽出されたCANID及びデータをもとにMACを生成する(S112)。ステップS111にて、取得した車両状態が、当該MAC送信が必要な車両状態でない場合(S111のN)、ステップS112の処理はスキップされる。
The MAC generation
以上説明したように本実施の形態によれば、MACを生成・送信するタイミングを制御することにより、バス占有率の増加を抑制し、各ECUの処理負荷および消費電流を低減できる。送信すべきデータの特質(性質、重要度)に応じてMACを生成・送信するタイミングを決定することにより、バス及びECUの負荷増大を抑制しつつ、セキュリティを向上させることができる。 As described above, according to the present embodiment, by controlling the timing for generating and transmitting the MAC, it is possible to suppress the increase in bus occupancy and reduce the processing load and current consumption of each ECU. By determining the timing for generating and transmitting the MAC according to the characteristics (property, importance) of the data to be transmitted, it is possible to improve security while suppressing an increase in load on the bus and ECU.
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .
例えば受信側ECU100において、MACの検証に失敗した回数をカウントすることにより、あまりに多くの不正メッセージが送信されていた場合に、車両が正常に制御できる状態ではないと判断する機能を追加してもよい。
For example, the receiving
図39は、MACの検証に失敗した不正メッセージの数をカウントする機能を有するメッセージ処理部30の構成を示すブロック図である。図39のメッセージ処理部30は、図6のメッセージ処理部30の構成に、検証失敗回数保持部49a及び異常判定部49bが追加された構成である。
FIG. 39 is a block diagram illustrating a configuration of the
検証失敗回数保持部49aは、MAC比較部46によるMACの検証の累積失敗回数を保持する。具体的にはMAC比較部46によるMACの検証が失敗する度にカウントアップしていく。異常判定部49bは、検証失敗回数保持部49aに保持される失敗回数が設定値(例えば、128回)を超えたとき車両異常と判定する。車両異常と判定すると異常判定部49bは、車両全体をフェイルセーフモードに移行させるためのデータを生成させるための指示信号をアプリケーション処理部10に出力する。さらに運転者に異常を通知するためのデータを生成させるための指示信号をアプリケーション処理部10に出力してもよい。
The verification failure
以上、本発明の実施の形態の説明において、送信すべき複数の通常データの内、一部の通常データに対するMACの生成および送信を省略することとして説明したが、他の形態として、送信すべき複数の通常データのすべてに対してMACの生成を行い、かつ、生成したデータの特質に基づいて一部のMACの送信を省略する形態としてもよい。 As described above, in the description of the embodiment of the present invention, it has been described that the generation and transmission of MAC for some normal data among a plurality of normal data to be transmitted is omitted. The MAC may be generated for all of the plurality of normal data, and transmission of some MACs may be omitted based on the characteristics of the generated data.
本発明の一態様の概要は、次の通りである。本発明のある態様の送信装置は、ブロードキャスト送信すべきデータを生成する第1生成部と、前記第1生成部において生成したデータを少なくとも対象としたメッセージ認証コードを生成する第2生成部と、前記第1生成部において生成したデータと、前記第2生成部において生成したメッセージ認証コードをブロードキャスト送信する送信部と、を備える。前記第2生成部は、前記第1生成部において生成される複数のデータの内、一部のデータに対するメッセージ認証コードの生成を省略する。「第1生成部」は図3のアプリケーション処理部10であってもよい。「第2生成部」は図4のMAC生成部35であってもよい。「送信部」は図3の送受信部50であってもよい。
The outline of one embodiment of the present invention is as follows. A transmission device according to an aspect of the present invention includes a first generation unit that generates data to be broadcast-transmitted, a second generation unit that generates a message authentication code at least for data generated in the first generation unit, The data generated in the first generation unit, and a transmission unit that broadcast-transmits the message authentication code generated in the second generation unit. The second generation unit omits generation of a message authentication code for a part of the plurality of data generated in the first generation unit. The “first generation unit” may be the
この態様によると、一部のデータに対するメッセージ認証コードの生成を省略することにより、一定レベルのセキュリティを確保しつつ、CAN及びCANに接続された装置の負荷を軽減できる。 According to this aspect, by omitting the generation of the message authentication code for some data, it is possible to reduce the load on the CAN and the device connected to the CAN while ensuring a certain level of security.
前記第2生成部は、前記第1生成部において生成したデータの特質(性質および重要度の少なくともいずれか一方)に基づき、前記メッセージ認証コードを生成するか否か決定してもよい。これによれば、重要度の高いデータに対するメッセージ認証コードを生成し、重要度の低いデータに対するメッセージ認証コードの生成を省略することができる。あるいは、データの性質に対応して適切にメッセージ認証コードの生成を省略することができる。従ってセキュリティの確保と負荷軽減を効率よく実現できる。 The second generation unit may determine whether or not to generate the message authentication code based on characteristics (at least one of a property and an importance level) of data generated in the first generation unit. According to this, a message authentication code for data with high importance can be generated, and generation of a message authentication code for data with low importance can be omitted. Alternatively, generation of a message authentication code can be appropriately omitted according to the nature of the data. Therefore, security and load reduction can be efficiently realized.
前記第2生成部は、前記第1生成部において生成したデータが変化した場合にメッセージ認証コードを生成し、それ以外の場合にメッセージ認証コードの生成を省略してもよい。データが変化した場合、そのデータは重要度が高いデータといえる。従って重要度の高いデータに対するメッセージ認証コードを生成し、重要度の低いデータに対するメッセージ認証コードの生成を省略することになり、セキュリティの確保と負荷軽減を効率よく実現できる。 The second generation unit may generate a message authentication code when data generated in the first generation unit changes, and may omit generation of the message authentication code in other cases. When data changes, it can be said that the data is highly important. Therefore, a message authentication code for data with high importance is generated, and generation of a message authentication code for data with low importance is omitted, so that security and load reduction can be efficiently realized.
前記第2生成部は、前記第1生成部において生成したデータによって示される値の変化量が閾値を超えている場合にメッセージ認証コードを生成し、それ以外の場合にメッセージ認証コードの生成を省略してもよい。データによって示される値の変化が閾値を超えいている場合、そのデータは重要度が高いデータといえる。従って重要度の高いデータに対するメッセージ認証コードを生成し、重要度の低いデータに対するメッセージ認証コードの生成を省略することになり、セキュリティの確保と負荷軽減を効率よく実現できる。なお当該閾値は、設計者により実験、シミュレーション、又は経験則などに基づき導かれた値に設定される。 The second generation unit generates a message authentication code when the amount of change in the value indicated by the data generated by the first generation unit exceeds a threshold value, and omits the generation of the message authentication code otherwise. May be. When the change of the value indicated by the data exceeds the threshold value, the data can be said to be highly important data. Therefore, a message authentication code for data with high importance is generated, and generation of a message authentication code for data with low importance is omitted, so that security and load reduction can be efficiently realized. The threshold value is set to a value derived by the designer based on experiments, simulations, empirical rules, or the like.
前記第2生成部は、前記第1生成部において生成したデータによって示される値が閾値を超える場合にメッセージ認証コードを生成し、それ以外の場合にメッセージ認証コードの生成を省略してもよい。データによって示される値が閾値を超えている場合、そのデータは重要度が高いデータといえる。従って重要度の高いデータに対するメッセージ認証コードを生成し、重要度の低いデータに対するメッセージ認証コードの生成を省略することになり、セキュリティの確保と負荷軽減を効率よく実現できる。なお当該閾値は、設計者により実験、シミュレーション、又は経験則などに基づき導かれた値に設定される。 The second generation unit may generate a message authentication code when a value indicated by the data generated in the first generation unit exceeds a threshold value, and may omit generation of the message authentication code in other cases. If the value indicated by the data exceeds the threshold, it can be said that the data is highly important. Therefore, a message authentication code for data with high importance is generated, and generation of a message authentication code for data with low importance is omitted, so that security and load reduction can be efficiently realized. The threshold value is set to a value derived by the designer based on experiments, simulations, empirical rules, or the like.
本発明の別の態様は、受信装置である。この装置は、送信装置がブロードキャスト送信した、データ及び前記データを少なくとも対象としたメッセージ認証コードを受信する受信部と、前記受信部において受信したデータ及びメッセージ認証コードを処理する処理部と、を備える。前記受信部において受信される複数のデータの内、一部のデータに対するメッセージ認証コードの生成が、前記送信装置において省略されている。「受信部」は図3の送受信部50であってもよい。「処理部」は図3のアプリケーション処理部10及びメッセージ処理部30であってもよい。
Another aspect of the present invention is a receiving device. This apparatus includes a receiving unit that receives data and a message authentication code that is at least targeted for the data, and a processing unit that processes the data and message authentication code received by the receiving unit. . Generation of a message authentication code for some data among a plurality of data received by the reception unit is omitted in the transmission device. The “reception unit” may be the transmission /
この態様によると、一部のデータに対するメッセージ認証コードの検証を省略することができ、一定レベルのセキュリティを確保しつつ、CAN及びCANに接続された装置の負荷を軽減できる。 According to this aspect, verification of the message authentication code for some data can be omitted, and the load on the CAN and the device connected to the CAN can be reduced while ensuring a certain level of security.
本発明のさらに別の態様は、送信方法である。この方法は、ブロードキャスト送信すべきデータを生成する第1ステップと、前記第1ステップにおいて生成したデータを少なくとも対象としたメッセージ認証コードを生成する第2ステップと、前記第1ステップにおいて生成したデータと、前記第2ステップにおいて生成したメッセージ認証コードをブロードキャスト送信する第3ステップと、を備える。前記第2ステップは、前記第1ステップにおいて生成される複数のデータの内、一部のデータに対するメッセージ認証コードの生成を省略する。 Yet another embodiment of the present invention is a transmission method. The method includes a first step of generating data to be broadcasted, a second step of generating a message authentication code for at least the data generated in the first step, and the data generated in the first step. And a third step of broadcasting the message authentication code generated in the second step. In the second step, generation of a message authentication code for a part of the plurality of data generated in the first step is omitted.
この態様によると、一部のデータに対するメッセージ認証コードの生成を省略することにより、一定レベルのセキュリティを確保しつつ、CAN及びCANに接続された装置の負荷を軽減できる。 According to this aspect, by omitting the generation of the message authentication code for some data, it is possible to reduce the load on the CAN and the device connected to the CAN while ensuring a certain level of security.
本発明のさらに別の態様は、受信方法である。この方法は、送信装置がブロードキャスト送信した、データ及び前記データを少なくとも対象としたメッセージ認証コードを受信する第1ステップと、前記第1ステップにおいて受信したデータ及びメッセージ認証コードを処理する第2ステップと、を備える。前記第1ステップにおいて受信される複数のデータの内、一部のデータに対するメッセージ認証コードの生成が、前記送信装置において省略されている。 Yet another embodiment of the present invention is a reception method. The method includes a first step of receiving data and a message authentication code at least intended for the data broadcast by the transmitting device, and a second step of processing the data and message authentication code received in the first step; . Generation of a message authentication code for a part of the plurality of data received in the first step is omitted in the transmission device.
この態様によると、一部のデータに対するメッセージ認証コードの検証を省略することができ、一定レベルのセキュリティを確保しつつ、CAN及びCANに接続された装置の負荷を軽減できる。 According to this aspect, verification of the message authentication code for some data can be omitted, and the load on the CAN and the device connected to the CAN can be reduced while ensuring a certain level of security.
500 CANシステム、 100 ECU、 200 CANバス、 10 アプリケーション処理部、 30 メッセージ処理部、 31 メインメッセージ生成部、 32 CANID抽出部、 33 データフィールド抽出部、 34 MAC生成タイミング決定部、 341 前回データ保持部、 342 減算部、 343 比較部、 344 MAC送信時刻保持部、 345 時計部、 346 経過時間算出部、 347 比較部、 348 メインメッセージ送信周期判定部、 349 バス占有率算出部、 350 比較部、 351 カウント部、 352 乱数発生部、 353 次回MAC送信カウント値保持部、 354 比較部、 35 MAC生成部、 35a 共通鍵、 36 MACメッセージ生成部、 41 メッセージ解析部、 42 CANID抽出部、 43 データフィールド抽出部、 43a 分離部、 44 MAC検証タイミング決定部、 45 MAC生成部、 45a 共通鍵、 46 MAC比較部、 47 データ受渡部、 48 メインメッセージ一時保持部、 49a 検証失敗回数保持部、 49b 異常判定部、 50 送受信部。
500 CAN system, 100 ECU, 200 CAN bus, 10 application processing unit, 30 message processing unit, 31 main message generation unit, 32 CANID extraction unit, 33 data field extraction unit, 34 MAC generation timing determination unit, 341 previous
本発明は、CANに利用可能である。 The present invention is applicable to CAN.
Claims (4)
少なくとも受信されたデータを保持する保持部と、
前記受信されたデータを少なくとも対象としたメッセージ認証コードを生成すべきか否か判定するタイミング決定部と、
前記タイミング決定部の判定結果に応じて、前記メッセージ認証コードを生成する生成部と、
前記受信されたデータと前記生成されたメッセージ認証コードとを比較して、検証を行う比較部と、を備え、
前記タイミング決定部は、初回は前記保持部に保持されているデフォルト値と、今回受信されたデータとを比較することで、2回目以降は前記保持部に保持されている前回受信されたデータと、今回受信されたデータとを比較することで、前記今回受信されたデータが変化したことが検出された場合、前記生成部にメッセージ認証コードを生成させると判定し、それ以外の場合はメッセージ認証コードを生成させないと判定する、
受信装置。 A receiving unit for receiving data transmitted from the transmitting device ;
A holding unit for holding at least received data;
A timing determination unit for determining whether or not to generate a message authentication code for at least the received data;
According to the determination result of the timing determination unit, a generation unit that generates the message authentication code;
A comparison unit that compares the received data with the generated message authentication code and performs verification, and
The timing determination unit compares the default value held in the holding unit for the first time with the data received this time, and the previously received data held in the holding unit for the second time and thereafter. When it is detected that the data received this time has changed by comparing the data received this time, it is determined that the generation unit generates a message authentication code. Otherwise, message authentication is performed. Decide not to generate code,
Receiver device.
少なくとも受信されたデータを保持する保持部と、
前記受信されたデータを少なくとも対象としたメッセージ認証コードを生成すべきか否か判定するタイミング決定部と、
前記タイミング決定部の判定結果に応じて、前記メッセージ認証コードを生成する生成部と、
前記受信されたデータと前記生成されたメッセージ認証コードとを比較して、検証を行う比較部と、
を備え、
前記タイミング決定部は、初回は前記保持部に保持されているデフォルト値に対する今回受信されたデータの変化量が閾値を超える場合、2回目以降は前記保持部に保持されている前回受信されたデータに対する今回受信されたデータの変化量が閾値を超える場合、前記生成部にメッセージ認証コードを生成させると判定し、それ以外の場合はメッセージ認証コードを生成させないと判定する、
受信装置。 A receiving unit for receiving data transmitted from the transmitting device ;
A holding unit for holding at least received data;
A timing determination unit for determining whether or not to generate a message authentication code for at least the received data;
According to the determination result of the timing determination unit, a generation unit that generates the message authentication code;
A comparison unit that compares the received data with the generated message authentication code and performs verification;
With
When the change amount of the data received this time with respect to the default value held in the holding unit for the first time exceeds a threshold value, the timing determination unit first time receives the previously received data held in the holding unit after the second time If the amount of change in the data received this time exceeds a threshold, it is determined that the generation unit generates a message authentication code, otherwise it is determined not to generate a message authentication code.
Receiver device.
送信装置から送信されたデータを、受信されたデータとしてメモリに保持し、
前記受信されたデータを少なくとも対象としたメッセージ認証コードを生成すべきか否かを判定し、
前記判定結果に応じて、前記メッセージ認証コードを生成し、
前記受信されたデータと前記生成されたメッセージ認証コードとを比較して、検証を行う受信方法であって、
前記プロセッサが、
初回は前記メモリに保持されているデフォルト値と、今回受信されたデータとを比較することで、2回目以降は前記メモリに保持されている前回受信されたデータと、今回受信されたデータとを比較することで、前記今回受信されたデータが変化したことが検出された場合、前記メッセージ認証コードを生成すると判定し、それ以外の場合はメッセージ認証コードを生成しないと判定する、
受信方法。 Processor
The data transmitted from the transmitting device is held in the memory as received data,
Determining whether to generate a message authentication code for at least the received data;
In response to the determination result, generate the message authentication code,
A reception method for performing verification by comparing the received data with the generated message authentication code,
The processor is
By comparing the default value held in the memory with the currently received data for the first time , the previously received data held in the memory for the second time and the data received this time By comparing, when it is detected that the data received this time has changed, it is determined to generate the message authentication code, otherwise it is determined not to generate the message authentication code.
Reception method.
送信装置から送信されたデータを、受信されたデータとしてメモリに保持し、
前記受信されたデータを少なくとも対象としたメッセージ認証コードを生成すべきか否かを判定し、
前記判定結果に応じて、前記メッセージ認証コードを生成し、
前記受信されたデータと前記生成されたメッセージ認証コードとを比較して、検証を行う受信方法であって、
前記プロセッサが、
初回は前記メモリに保持されているデフォルト値に対する今回受信されたデータの変化量が閾値を超える場合、2回目以降は前記メモリに保持されている前回受信されたデータに対する今回受信されたデータの変化量が閾値を超える場合、前記メッセージ認証コードを生成すると判定し、それ以外の場合はメッセージ認証コードを生成しないと判定する、
受信方法。 Processor
The data transmitted from the transmitting device is held in the memory as received data,
Determining whether to generate a message authentication code for at least the received data;
In response to the determination result, generate the message authentication code,
A reception method for performing verification by comparing the received data with the generated message authentication code,
The processor is
If the amount of change of the data received this time with respect to the default value held in the memory exceeds the threshold value for the first time, the change of the data received this time with respect to the previously received data held in the memory after the second time If the amount exceeds a threshold, it is determined to generate the message authentication code; otherwise, it is determined not to generate a message authentication code.
Reception method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016007641A JP6108251B2 (en) | 2016-01-19 | 2016-01-19 | Receiving apparatus and receiving method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016007641A JP6108251B2 (en) | 2016-01-19 | 2016-01-19 | Receiving apparatus and receiving method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014097217A Division JP5880898B2 (en) | 2014-05-08 | 2014-05-08 | Transmitter |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016129339A JP2016129339A (en) | 2016-07-14 |
JP6108251B2 true JP6108251B2 (en) | 2017-04-05 |
Family
ID=56384586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016007641A Expired - Fee Related JP6108251B2 (en) | 2016-01-19 | 2016-01-19 | Receiving apparatus and receiving method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6108251B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7046869B2 (en) * | 2019-06-12 | 2022-04-04 | 矢崎総業株式会社 | Occupancy rate calculation device and occupancy rate calculation method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1864427B1 (en) * | 2005-03-17 | 2018-08-01 | Electronics and Telecommunications Research Institute | Method for negotiating security-related functions of subscriber station in wireless portable internet system |
JP5101965B2 (en) * | 2007-09-25 | 2012-12-19 | 京セラ株式会社 | Receiver |
JP2013048374A (en) * | 2011-08-29 | 2013-03-07 | Toyota Motor Corp | Protection communication method |
US8732470B2 (en) * | 2012-07-26 | 2014-05-20 | Kabushiki Kaisha Toshiba | Storage system in which fictitious information is prevented |
-
2016
- 2016-01-19 JP JP2016007641A patent/JP6108251B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016129339A (en) | 2016-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5880898B2 (en) | Transmitter | |
JP6685023B2 (en) | Electronic control device, communication method, and program | |
US8925083B2 (en) | Cyber security in an automotive network | |
CN107005447B (en) | Communication control device and communication system | |
JP6525824B2 (en) | Relay device | |
KR102243114B1 (en) | Real-time frame authentication using id anonymization in automotive networks | |
US20190332823A1 (en) | Intrusion response apparatus and method for vehicle network | |
JP5712995B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD | |
WO2017057165A1 (en) | Vehicle communication system | |
JP2016092716A (en) | Key management communication device and key distribution method | |
US11228602B2 (en) | In-vehicle network system | |
JP6108251B2 (en) | Receiving apparatus and receiving method | |
JP6375962B2 (en) | In-vehicle gateway device and electronic control device | |
JP6447974B2 (en) | Sending method | |
Püllen et al. | Securing FlexRay-based in-vehicle networks | |
CN111149336A (en) | Method for detecting an attack on a controller of a vehicle | |
US20210034749A1 (en) | Information processing apparatus | |
JP2018160888A (en) | Update processing method, on-vehicle network system, and electronic control unit | |
KR102236282B1 (en) | Method and system for authenticating communication data of vehicle | |
JP2017050719A (en) | On-vehicle network system | |
JP7067508B2 (en) | Network system | |
JP6628106B2 (en) | Communication system and communication control method | |
JP7328419B2 (en) | In-vehicle communication system, in-vehicle communication device, computer program and communication method | |
JP7003832B2 (en) | Electronic control system for vehicles and electronic control device for vehicles | |
JP2013121071A (en) | Relay system, and relay device and external device forming the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170118 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170223 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6108251 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |