JP2021083005A - 車両通信装置、通信異常の判定方法及びプログラム - Google Patents

車両通信装置、通信異常の判定方法及びプログラム Download PDF

Info

Publication number
JP2021083005A
JP2021083005A JP2019210746A JP2019210746A JP2021083005A JP 2021083005 A JP2021083005 A JP 2021083005A JP 2019210746 A JP2019210746 A JP 2019210746A JP 2019210746 A JP2019210746 A JP 2019210746A JP 2021083005 A JP2021083005 A JP 2021083005A
Authority
JP
Japan
Prior art keywords
data
match
ecu
mac
communication
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.)
Granted
Application number
JP2019210746A
Other languages
English (en)
Other versions
JP7156257B2 (ja
Inventor
将秀 坂野
Masahide Sakano
将秀 坂野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2019210746A priority Critical patent/JP7156257B2/ja
Priority to US17/093,874 priority patent/US11895127B2/en
Priority to EP20207903.4A priority patent/EP3825889A1/en
Priority to CN202011277708.3A priority patent/CN112825500B/zh
Publication of JP2021083005A publication Critical patent/JP2021083005A/ja
Application granted granted Critical
Publication of JP7156257B2 publication Critical patent/JP7156257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • H04L9/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】受信時のデータ認証に失敗した場合において、ハッキング等の攻撃が原因ではなく装置に異常があることを判別する。【解決手段】車両通信装置としてのECU10は、メッセージ62及びMAC64を受信する受信部と、受信されたメッセージ62と暗号鍵52とに基づいて検証用MAC66を生成する生成部と、MAC64と検証用MAC66とを比較し、両者が一致した場合にメッセージ62を認証する認証部と、車両起動後の所定期間内の前記受信に対して複数回行われた前記比較の結果、全ての回においてMAC64と検証用MAC66とが不一致となる場合を装置異常状態と判定し、MAC64と検証用MAC66との一致を含む場合を装置作動状態と判定する判定部と、を備えている。【選択図】図5

Description

本発明は、車両通信装置、通信異常の判定方法及びプログラムに関する。
特許文献1には、メッセージに係る第一のデータと第一のデータから生成された識別子である第二のデータとを受信し、受信した第一のデータと所持する暗号鍵に基づいて第三のデータを生成し、第二のデータと第三のデータとを照合して第一のデータの認証を行う車両の通信装置が開示されている。
特開2018−074435号公報
特許文献1の通信装置において、第一のデータの認証に失敗した場合、その原因がハッキング等の攻撃によるものなのか、装置の故障等の攻撃によらない異常なのかが判別できないため、適切な処置が行えないおそれがある。
そこで、本発明は、受信時のデータ認証に失敗した場合において、ハッキング等の攻撃が原因ではなく装置に異常があることを判別可能な車両通信装置、通信異常の判定方法及びプログラムを提供することを目的とする。
請求項1に記載の車両通信装置は、第一データ及び前記第一データと異なる第二データを受信する受信部と、受信された前記第一データと暗号鍵とに基づいて第三データを生成する生成部と、前記第二データと前記第三データとを比較し、両者が一致した場合に前記第一データを認証する認証部と、車両起動後の所定期間内の前記受信に対して複数回行われた前記比較の結果、全ての回において前記第二データと前記第三データとが不一致となる場合を装置異常状態と判定し、前記複数回の前記比較の結果、前記一致を含む場合を装置作動状態と判定する判定部と、を備えている。
請求項1に記載の車両通信装置は、受信部において第一データと第二データとが受信されると、生成部が第一データと暗号鍵に基づいて第三データを生成する。例えば、第二データ及び第三データはMAC(Message Authentication Code)が該当する。そして、当該車両通信装置では、認証部が第二データと第三データとの一致と不一致とを比較し、一致した場合に第一データを認証する。さらに、車両起動後の所定期間内の受信に対して判定部により複数回行われた比較の結果が全て不一致である場合、判定部は装置に異常があることを示す装置異常状態と判定し、一致を含む場合、判定部は装置に異常がないことを示す装置作動状態と判定する。
車両の起動直後のタイミングでハッキング等の攻撃を受ける確率の低さから、車両起動後の所定期間内の認証に全て失敗した場合は装置が異常であるとみなすことができる。そのため、当該車両通信装置によれば、受信時のデータ認証に失敗した場合において、装置に異常があることを判別することができる。
請求項2に記載の車両通信装置は、請求項1に記載の車両通信装置において、前記判定部は、前記複数回の前記比較の結果、前記一致と前記不一致との両方を含む場合を攻撃状態と判定する。
請求項2に記載の車両通信装置では、複数回の比較の結果、一致と不一致との両方を含む場合、装置作動状態における攻撃状態と判定される。当該車両通信装置によれば、複数回行われた比較の結果が全て不一致では無いため装置に異常はなく、異常ではない装置において比較の結果が不一致の通信はハッキング等の攻撃が原因であると判別することができる。
請求項3に記載の車両通信装置は、請求項1に記載の車両通信装置において、前記判定部は、前記複数回の前記比較の結果、所定回数の前記一致を含み、かつ前記不一致を含む場合を攻撃状態と判定し、前記暗号鍵の偶然の一致により前記第一データが前記所定回数に渡り認証される確率は、予め設定された装置の故障率を下回る回数に設定されている。
請求項3に記載の車両通信装置では、所定回数に渡り暗号鍵が偶然一致して第一データが認証される確率が、予め設定された装置の故障率を下回るように、所定回数の値が設定されている。したがって、暗号鍵が偶然一致して第一データが認証されたとしても、認証された回数が所定回数に達していなければ、ハッキング等の攻撃が無いと直ちに判定されることはない。そのため、当該車両通信装置によれば、装置異常状態に対する判定の精度を向上させることができる。
請求項4に記載の車両通信装置は、請求項1〜3の何れか1項に記載の車両通信装置において、前記比較の結果が前記不一致の場合、受信した前記第一データを破棄する。
請求項4に記載の車両通信装置によれば、故障の場合や攻撃を受けた場合の第一データを破棄することにより、車両の誤制御を抑制することができる。
請求項5に記載の通信異常の判定方法は、第一データ及び前記第一データと異なる第二データを受信する受信ステップと、受信された前記第一データと暗号鍵とに基づいて第三データを生成する生成ステップと、前記第二データと前記第三データとを比較し、両者が一致した場合に前記第一データを認証する認証ステップと、車両起動後の所定期間内の前記受信に対して複数回行われた前記比較の結果、全ての回において前記第二データと前記第三データとが不一致となる場合を装置異常状態と判定し、前記複数回の前記比較の結果、前記一致を含む場合を装置作動状態と判定する判定ステップと、を備えている。
請求項5に記載の通信異常の判定方法は、受信ステップにおいて第一データと第二データとが受信されると、生成ステップにおいて第一データと暗号鍵に基づいて第三データが生成される。上記のとおり、第二データ及び第三データはMACが例示される。そして、認証ステップにおいて第二データと第三データとの一致と不一致とが比較され、一致した場合に第一データが認証される。さらに、判定ステップにおいて、車両起動後の所定期間内の前記受信に対して複数回行われた比較の結果が全て不一致である場合、装置に異常があることを示す装置異常状態と判定され、一致を含む場合、装置に異常がないことを示す装置作動状態と判定される。
上述のように、当該通信異常の判定方法によれば、受信時のデータ認証に失敗した場合において、装置に異常があることを判別することができる。
請求項6に記載のプログラムは、第一データ及び前記第一データと異なる第二データを受信する受信ステップと、受信された前記第一データと暗号鍵とに基づいて第三データを生成する生成ステップと、前記第二データと前記第三データとを比較し、両者が一致した場合に前記第一データを認証する認証ステップと、車両起動後の所定期間内の前記受信に対して複数回行われた前記比較の結果、全ての回において前記第二データと前記第三データとが不一致となる場合を装置異常状態と判定し、前記複数回の前記比較の結果、前記一致を含む場合を装置作動状態と判定する判定ステップと、を含む処理をコンピュータに実行させる。
請求項6に記載のプログラムは、コンピュータに対して次の処理を実行させる。受信ステップにおいて第一データと第二データとが受信されると、生成ステップにおいて第一データと暗号鍵に基づいて第三データが生成される。上記のとおり、第二データ及び第三データはMACが例示される。そして、認証ステップにおいて第二データと第三データとの一致と不一致とが比較され、一致した場合に第一データが認証される。さらに、判定ステップにおいて、車両起動後の所定期間内の前記受信に対して複数回行われた比較の結果が全て不一致である場合、装置に異常があることを示す装置異常状態と判定され、一致を含む場合、装置に異常がないことを示す装置作動状態と判定される。
上述のように、当該プログラムによれば、受信時のデータ認証に失敗した場合において、装置に異常があることを判別することができる。
本発明によれば、受信時のデータ認証に失敗した場合において、ハッキング等の攻撃が原因ではなく装置に異常があることを判別することができる。
実施形態に係る車両通信システムの概略構成を示す図である。 実施形態のECUのハードウェア構成を示すブロック図である。 実施形態のROMの構成の例を示すブロック図である。 実施形態のCPUの機能構成の例を示すブロック図である。 送信側及び受信側のECUにおけるデータの流れを説明する図である。 送信側のECUにおける処理の流れを示すフローチャートである。 受信側のECUにおける処理の流れを示すフローチャートである。
(通信システム)
図1は、実施形態に係る車両通信システム12の概略構成を示すブロック図である。図1に示されるように、本実施形態に係る車両通信システム12は、車両通信装置である複数のECU(Electronic Control Unit)10と、複数のECU10同士を接続する通信路であるバス14と、を含んで構成されている。本実施形態の車両通信システム12は、例えば、車両11に設けられた各ECU10を接続するネットワークとして形成されている。
図1には、ECU10A、ECU10B及びECU10Cの3つのECU10が図示されている。ECU10Aは、マスタECUに相当する。また、ECU10B、10Cは、スレーブECUに相当する。以下の説明において、ECU10Aは通信フレームを送信する送信側のECU10とし、ECU10B、10Cは通信フレームを受信する受信側のECU10として説明する。なお、バス14には、ECU10A、10B及び10Cに限らず、さらに多くのECU10が接続されていてもよい。また、本実施形態の車両通信システム12は、バス型のバス構造を採用しているが、これに限らず、スター型、リング型、ライン型(ディジーチェーン接続)のバス構造を採用してもよい。
本実施形態の車両通信システム12では、ECU10同士の通信を行うための通信方式にCAN(Controller Area Network)プロトコル、又はCANプロトコルよりも通信速度が高速であるCAN−FD(CAN With Flexible Data Rate)プロトコルを採用している。なお、通信方式はこれに限らず、イーサネット(登録商標)等のLAN規格を採用してもよい。
(ECU)
図2に示されるように、本実施形態のECU10は、マイクロコントローラ20と、CANトランシーバ30と、を含んで構成されている。マイクロコントローラ20は、CPU(Central Processing Unit)22、ROM(Read Only Memory)24、RAM(Random Access Memory)26、及びCANコントローラ28を含んで構成されている。
CPU22は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU22は、ROM24からプログラムを読み出し、RAM26を作業領域としてプログラムを実行する。本実施形態では、ROM24に実行プログラム100が記憶されている(図3参照)。
ROM24は、各種プログラム及び各種データを記憶している。図3に示されるように、ROM24は、実行プログラム100と、鍵データ110と、メッセージデータ120と、コードデータ130が記憶されている。鍵データ110には、MAC(Message Authentication Code:メッセージ認証コード)を生成するための暗号鍵52(図5参照)のデータが記憶されている。メッセージデータ120には、ECU10が送信する又は受信したメッセージ62(図5参照)が記憶されている。コードデータ130には、装置の故障を示すDTC(Diagnostic Trouble Code)、及び通信の異常を示すRob(Record of Behavior)コードが記憶される。
RAM26は、作業領域として一時的にプログラム又はデータを記憶する。
CANコントローラ28は、CANプロトコル及びCAN−FDプロトコルに係る機能、例えば、通信調停やエラーチェック等の機能を実現する。
CANトランシーバ30は、マイクロコントローラ20、及びバス14と接続され、マイクロコントローラ20から入力される通信フレームをバス14に送信し、バス14によって転送される通信フレームをマイクロコントローラ20に入力する機能を有している。
図4は、ECU10の機能構成の例を示すブロック図である。図4に示されるように、ECU10は、送信部200、受信部210、生成部220、認証部230、判定部240、情報処理部250、タイマ260を有している。各機能構成は、CPU22がROM24に記憶された実行プログラムを100読み出し、これを実行することによって実現される。
送信部200は、他のECU10に向けて通信フレームを送信する機能を有している。
受信部210は、他のECU10から通信フレームを受信する機能を有している。本実施形態の送信部200及び受信部210は、CANプロトコル又はCAN−FDプロトコルの通信方式に基づいて制御される。そのため、通信フレームはCANID及び通信データ60を含んでいる。図5に示されるように、通信データ60はメッセージ62と、当該メッセージ62から生成されたMAC64と、を含んでいる。
生成部220は、暗号鍵52を使用して所定のデータからMAC64を生成する機能を有している。送信側のECU10における生成部220は、車両11に搭載されたセンサや通信装置から入力された送付データ50と暗号鍵52とに基づいて演算処理を実行してMAC64を生成する。受信側のECU10における生成部220は、送信側のECU10から受信したメッセージ62と暗号鍵52とに基づいて演算処理を実行して検証用MAC66を生成する。本実施形態の暗号鍵52は、送信側と受信側とで共通とされる共通鍵が使用される。メッセージ62は第一データの一例であり、MAC64は第二データの一例であり、検証用MAC66は第三データの一例である。
認証部230は、メッセージ62を認証する機能を有している。認証部230は、受信した通信データ60に含まれるMAC64と、受信したメッセージ62から生成された検証用MAC66とを比較して一致した場合にメッセージ62を認証する。
判定部240は、ECU10における通信の状態が正常状態、攻撃状態及び装置異常状態の何れであるかを判定する機能を有している。正常状態はECU10に異常がなく、ECU10における通信が正常であることを示す状態である。攻撃状態はECU10に異常がないものの、ECU10がハッキング等のセキュリティ攻撃を受けていることを示す状態である。装置異常状態は、ECU10の通信機能が故障しているため、又は暗号鍵52が一致していないため、ECU10に異常があること示す状態である。ここで、装置作動状態と表記した場合は正常状態及び攻撃状態を含む。
本実施形態の判定部240は、車両11の起動後の所定期間内に受信した通信データ60に対するMAC64と検証用MAC66との比較結果を基に通信の状態を判定する。具体的に、所定期間内に受信した通信データ60に対する複数回の比較の結果、MAC64と検証用MAC66とが全て一致した場合、判定部240は装置作動状態における正常状態と判定する。また、所定期間内に受信した通信データ60に対する複数回の比較の結果、MAC64と検証用MAC66との一致が所定回数以上で、かつ不一致を含む場合、判定部240は装置作動状態における攻撃状態と判定する。さらに、所定期間内に受信した通信データ60に対する複数回の比較の結果、MAC64と検証用MAC66とが全て不一致の場合、判定部240は装置異常状態と判定する。
ここで、本実施形態における「所定期間」とは、ECU10が起動してから認証に係る装置(例えば生成部220及び認証部230)の準備が完了するまでに必要とする時間である。また、「所定回数」の定義は次による。MAC64と検証用MAC66とが偶然一致したことにより、所定回数に渡りメッセージ62が認証される確率は、ASIL(Automotive Safety Integrity Leve)のDグレードの故障率を下回る回数に設定されている。ASILのDグレードの故障率は、本発明の「予め設定された装置の故障率」に相当する。
情報処理部250は、他のECU10や各部のセンサから取得したメッセージ62を処理する機能を有している。例えば、ECU10が車両11の情報を表示させるメータECUである場合、情報処理部250は、受信したメッセージ62に基づいてメータパネルに情報を表示させることができる。また、情報処理部250は、認証に失敗したメッセージ62をROM24又はRAM26から消去する。
タイマ260は、時間を計時する機能を有している。本実施形態のタイマ260は、ECU10が起動してからの所定期間をカウントする。
(作用)
次に本実施形態においてECU10AからECU10B及びECU10Cに向けて通信データ60を送信する場合において、各ECU10で実行される処理の流れについて図6及び図7のフローチャートを用いて説明する。なお、ECU10BからECU10A及びECU10Cに通信データ60を送信する場合、ECU10CからECU10A及びECU10Bに通信データ60を送信する場合においても同様の処理が実行可能である。
送信側のECU10AではCPU22により以下の各ステップに基づく処理が実行される。
図6のステップS100において、CPU22は送付データ50を取得する。取得された送付データ50は、通信データ60に含まれるメッセージ62となる(図5参照)。
ステップS101において、CPU22はMAC64を生成すると共に、MAC64をメッセージ62に付与する。すなわち、CPU22は、送付データ50及び暗号鍵52に基づく演算処理を行ってMAC64を生成し、生成したMAC64をメッセージ62の下位ビットに付与する(図5参照)。
ステップS102において、CPU22はメッセージ62及びMAC64を含む通信データ60を受信側のECU10に送信する。
ステップS103において、CPU22は、所定時間が経過したか否かの判定を行う。本実施形態の車両通信システム12では、受信側のECU10における通信データ60の取りこぼしを防ぐべく、所定時間内は同じ通信データ60を送信している。CPU22は所定時間が経過したと判定した場合、ステップS100に戻る。一方、CPU22は所定時間が経過していないと判定した場合、ステップS102に戻る。すなわち、所定時間が経過するまでは既存の通信データ60を送信し、所定時間を経過すると新たな通信データ60を送信する処理を繰り返す。
続けて受信側のECU10B及びECU10CではCPU22により、通信異常の判定方法である通信異常判定処理が実行される。
図7のステップS200において、CPU22は通信データ60を送信側のECU10から受信する。
ステップS201において、CPU22は各ECU10の起動から所定期間が経過したか否かの判定を行う。すなわち、CPU22はECU10が起動してから認証の準備が完了するに十分な時間を経過したか否かを判定する。CPU22は各ECU10の起動から所定期間が経過したと判定した場合、ステップS202に進む。一方、CPU22は各ECU10の起動から所定期間が経過していないと判定した場合、ステップS200に戻る。つまり、CPU22は各ECU10の起動から所定期間が経過するまで複数回にわたって通信データ60の受信を繰り返す。受信した通信データ60はROM24又はRAM26に一時的に記憶される。
ステップS202において、CPU22は認証処理を実行する。つまり、CPU22はメッセージ62及び暗号鍵52に基づく演算処理を行って検証用MAC66を生成し、当該検証用MAC66と通信データ60に含まれるMAC64とを比較する(図5参照)。当該認証処理は、受信した通信データ60の全てにおいて実行される。
以下、ステップS203からS205において、MAC64と検証用MAC66との比較結果に基づく状態の判定が行われる。
ステップS203において、CPU22はメッセージ62の認証が全て成功であるか否かの判定を行う。すなわち、CPU22は複数回の認証処理の結果、全ての回においてMAC64と検証用MAC66とが一致しているか否かの判定を行う。CPU22は認証が全て成功であると判定した場合、通信異常判定処理を終了させる。この場合の各ECU10間の通信は装置作動状態における正常状態とされる。一方、CPU22は認証が全て成功ではないと判定した場合、ステップS204に進む。
ステップS204において、CPU22は認証が所定回数以上成功で、かつ失敗を含むか否かの判定を行う。すなわち、CPU22は複数回の認証処理の結果、MAC64と検証用MAC66とが一致している場合が所定回数以上あり、かつMAC64と検証用MAC66とが不一致の場合を含んでいるか否かの判定を行う。CPU22は認証が所定回数以上成功で、かつ失敗を含むと判定した場合、通信異常判定処理を終了させる。この場合の各ECU10間の通信は装置作動状態における攻撃状態とされる。一方、CPU22は認証が所定回数以上成功ではなく、かつ失敗が含まれない、すなわち認証の成功が所定回数未満であると判定した場合、ステップS205に進む。
ステップS205において、CPU22は認証が全て失敗であるか否かの判定を行う。すなわち、CPU22は複数回の認証処理の結果、全ての回においてMAC64と検証用MAC66とが不一致であるか否かの判定を行う。CPU22は認証が全て失敗であると判定した場合、ステップS206に進む。この場合の各ECU10間の通信は装置異常状態とされる。一方、CPU22は認証が全て失敗ではないと判定した場合、通信異常判定処理を終了させる。
ステップS206において、CPU22はRobコードを保存する。すなわち、CPU22は通信に異常があったことを示すコードを記憶する。そして、通信異常判定処理は終了する。
(まとめ)
本実施形態の車両通信システム12は、車両11に設けられた複数のECU10が相互に接続されることで構成されている。送信側のECU10では、取得した送付データ50とECU10が所持する暗号鍵52とを演算処理することによりMAC64を生成し、生成されたMAC64を送付データ50に基づくメッセージ62に付与し、通信データ60として他のECU10に送信する。一方、受信側のECU10では、受信した通信データ60に含まれるメッセージ62とECU10が所持する暗号鍵52とを演算処理することにより検証用MAC66を生成し、受信したMAC64と比較する。そして、受信側のECU10は、MAC64と検証用MAC66とを比較し、両者が一致した場合にメッセージ62を認証する。
本実施形態のECU10では、車両11の起動後の所定期間内に受信した複数の通信データ60に対するMAC64と検証用MAC66との比較結果から、ECU10の通信状態を判定する。上記のとおり、「所定期間」とはECU10が起動してから認証に係る装置の準備が完了するまでに必要とする時間を想定している。認証に係る装置の準備が完了するまでの所定期間内は、認証処理を停止することにより、MAC64や検証用MAC66の生成失敗等に起因する認証の失敗が回避されている。したがって、所定期間内に受信した通信データ60はROM24又はRAM26に一時記憶され、所定期間経過後に認証処理が実行される(図7参照)。
そして、所定期間内に受信した通信データ60における全てのメッセージ62の認証が成功した場合、つまり、MAC64と検証用MAC66との複数回の比較の結果が全て一致した場合、ECU10間の通信状態は正常状態であると判定される。
また、所定期間内に受信した通信データ60における全てのメッセージ62の認証に失敗した場合、つまり、MAC64と検証用MAC66との複数回の比較の結果が全て不一致の場合、ECU10間の通信状態は装置異常状態であると判定される。サーバのように電源が常時ONである場合と異なり、車両11の起動直後、換言するとECU10の電源投入直後のタイミングにおいては、ハッキング等の攻撃を受ける可能性は低い。そのため、車両11の起動後の所定期間内の認証が全て失敗した場合はECU10が異常であるとみなすことができる。本実施形態によれば、受信時のデータ認証に失敗した場合において、ECU10に異常があることを判別することができる。
さらに、所定期間内に受信した通信データ60における所定回数以上のメッセージ62の認証に成功しかつ認証の失敗を含む場合、つまり、MAC64と検証用MAC66との複数回の比較の結果、一致が所定回数以上でありかつ不一致を含む場合、ECU10間の通信状態は攻撃状態であると判定される。複数回行われた比較の結果が全て不一致では無いためECU10に異常はない。そのため、異常ではないECU10における認証失敗の通信はハッキング等の攻撃が原因であると判別することができる。
また、本実施形態では、送受信側双方のECU10における暗号鍵52が偶然一致したことにより、所定回数に渡りメッセージ62が認証される確率は、ASILのDグレードの故障率を下回る回数に設定されている。そのため、暗号鍵52が偶然一致してメッセージ62が認証されたとしても、認証された回数が所定回数に達していなければ、ハッキング等の攻撃が無いと直ちに判定されることはない。そのため、本実施形態によれば、装置異常状態に対する判定の精度を向上させることができる。
本実施形態のECU10では、認証に失敗した場合にRobコードがROM24又はRAM26に記憶される。また、ECU10が故障している場合、ROM24又はRAM26にDTCが記憶される。したがって、装置異常状態の場合は、記憶されているRobコード及びDTCを読み込むことにより、ECU10の異常の原因を探ることができる。
具体的に、装置異常状態の場合においてRobコードのみが記憶されている場合、暗号鍵52が送信側のECU10と受信側のECU10とで異なることが把握できる。例えば、ディーラ等で送受信側のどちらかのECU10における暗号鍵52の更新を忘れた場合がRobコードのみが記憶されている場合に該当する。また、装置異常状態の場合においてRobコード及びDTCの双方が記憶されている場合、ECU10が物理的に故障していることが把握できる。例えば、送信側のECU10においてMAC64を生成する演算器が故障している場合がRobコード及びDTCの双方が記憶されている場合に該当する。
本実施形態によれば、受信側のECU10に記憶されているコードを確認することで、ECU10が物理的に故障していることを特定することができる。そのため、暗号鍵52の更新を行えば通信の異常が解消される場合にECU10を交換してしまうような誤交換を防ぐことができる。
また本実施形態では、故障の場合や攻撃を受けた場合のメッセージ62が破棄されるため、車両11の誤制御が抑制される。
(備考)
なお、上記実施形態でCPU22がソフトウェア(プログラム)を読み込んで実行した各種処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field−Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、上述した受付処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
また、上記実施形態において、プログラムはコンピュータが読み取り可能な非一時的記録媒体に予め記憶(インストール)されている態様で説明した。例えば、実行プログラム100は、ROM24に予め記憶されている。しかしこれに限らず、実行プログラム100は、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的記録媒体に記録された形態で提供されてもよい。また、実行プログラム100は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
上記実施形態で説明した処理の流れは、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
10 ECU(車両通信装置)
11 車両
52 暗号鍵
62 メッセージ(第一データ)
64 MAC(第二データ)
66 検証用MAC(第三データ)
100 実行プログラム(プログラム)
210 受信部
220 生成部
230 認証部
240 判定部

Claims (6)

  1. 第一データ及び前記第一データと異なる第二データを受信する受信部と、
    受信された前記第一データと暗号鍵とに基づいて第三データを生成する生成部と、
    前記第二データと前記第三データとを比較し、両者が一致した場合に前記第一データを認証する認証部と、
    車両起動後の所定期間内の前記受信に対して複数回行われた前記比較の結果、全ての回において前記第二データと前記第三データとが不一致となる場合を装置異常状態と判定し、前記複数回の前記比較の結果、前記一致を含む場合を装置作動状態と判定する判定部と、
    を備える車両通信装置。
  2. 前記判定部は、前記複数回の前記比較の結果、前記一致と前記不一致との両方を含む場合を攻撃状態と判定する請求項1に記載の車両通信装置。
  3. 前記判定部は、前記複数回の前記比較の結果、所定回数の前記一致を含み、かつ前記不一致を含む場合を攻撃状態と判定し、
    前記暗号鍵の偶然の一致により前記第一データが前記所定回数に渡り認証される確率は、予め設定された装置の故障率を下回る回数に設定されている請求項1に記載の車両通信装置。
  4. 前記比較の結果が前記不一致の場合、受信した前記第一データを破棄する請求項1〜3の何れか1項に記載の車両通信装置。
  5. 第一データ及び前記第一データと異なる第二データを受信する受信ステップと、
    受信された前記第一データと暗号鍵とに基づいて第三データを生成する生成ステップと、
    前記第二データと前記第三データとを比較し、両者が一致した場合に前記第一データを認証する認証ステップと、
    車両起動後の所定期間内の前記受信に対して複数回行われた前記比較の結果、全ての回において前記第二データと前記第三データとが不一致となる場合を装置異常状態と判定し、前記複数回の前記比較の結果、前記一致を含む場合を装置作動状態と判定する判定ステップと、
    を備える通信異常の判定方法。
  6. 第一データ及び前記第一データと異なる第二データを受信する受信ステップと、
    受信された前記第一データと暗号鍵とに基づいて第三データを生成する生成ステップと、
    前記第二データと前記第三データとを比較し、両者が一致した場合に前記第一データを認証する認証ステップと、
    車両起動後の所定期間内の前記受信に対して複数回行われた前記比較の結果、全ての回において前記第二データと前記第三データとが不一致となる場合を装置異常状態と判定し、前記複数回の前記比較の結果、前記一致を含む場合を装置作動状態と判定する判定ステップと、
    を含む処理をコンピュータに実行させるためのプログラム。
JP2019210746A 2019-11-21 2019-11-21 車両通信装置、通信異常の判定方法及びプログラム Active JP7156257B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019210746A JP7156257B2 (ja) 2019-11-21 2019-11-21 車両通信装置、通信異常の判定方法及びプログラム
US17/093,874 US11895127B2 (en) 2019-11-21 2020-11-10 Vehicle communication device, method of determining communication abnormality, and storage medium storing program
EP20207903.4A EP3825889A1 (en) 2019-11-21 2020-11-16 Vehicle communication device, method of determining communication abnormality, and storage medium storing program
CN202011277708.3A CN112825500B (zh) 2019-11-21 2020-11-16 车辆通信装置、通信异常的判定方法以及记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019210746A JP7156257B2 (ja) 2019-11-21 2019-11-21 車両通信装置、通信異常の判定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2021083005A true JP2021083005A (ja) 2021-05-27
JP7156257B2 JP7156257B2 (ja) 2022-10-19

Family

ID=73452139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019210746A Active JP7156257B2 (ja) 2019-11-21 2019-11-21 車両通信装置、通信異常の判定方法及びプログラム

Country Status (4)

Country Link
US (1) US11895127B2 (ja)
EP (1) EP3825889A1 (ja)
JP (1) JP7156257B2 (ja)
CN (1) CN112825500B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11832098B2 (en) 2020-11-13 2023-11-28 Toyota Jidosha Kabushiki Kaisha Vehicle communication system, communication method, and storage medium storing communication program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3975455A1 (en) * 2020-09-23 2022-03-30 Bayerische Motoren Werke Aktiengesellschaft Determining correctness of actually received timestamp

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017118487A (ja) * 2015-12-18 2017-06-29 トヨタ自動車株式会社 通信システムで実行される情報集約方法
WO2017127639A1 (en) * 2016-01-20 2017-07-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
JP2017192105A (ja) * 2016-04-15 2017-10-19 株式会社東芝 冗長化処理装置、および、異常判定方法
JP2017200040A (ja) * 2016-04-27 2017-11-02 日立オートモティブシステムズ株式会社 演算装置、認証システム、認証方法
WO2020137743A1 (ja) * 2018-12-28 2020-07-02 パナソニックIpマネジメント株式会社 電子制御装置、電子制御システムおよびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5333501B2 (ja) * 2011-03-31 2013-11-06 株式会社デンソー 車両の挙動データ記憶制御システム及び記憶装置
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
JP5838998B2 (ja) * 2013-05-24 2016-01-06 株式会社デンソー 異常診断システム
US9286736B2 (en) * 2013-12-16 2016-03-15 Manish Punjabi Methods and systems of vehicle telematics enabled customer experience
US9425963B2 (en) 2014-03-21 2016-08-23 GM Global Technology Operations LLC Securing electronic control units using message authentication codes
JP6490058B2 (ja) * 2014-04-17 2019-03-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 車載ネットワークシステム及び不正検知方法
JP6079768B2 (ja) 2014-12-15 2017-02-15 トヨタ自動車株式会社 車載通信システム
JP6420176B2 (ja) * 2015-02-26 2018-11-07 ルネサスエレクトロニクス株式会社 通信システムおよび通信装置
DE102016124352A1 (de) * 2015-12-18 2017-06-22 Toyota Jidosha Kabushiki Kaisha Kommunikationssystem und ein in dem Kommunikationssystem ausgeführtes Informationssammelverfahren
JP2018014558A (ja) * 2016-07-19 2018-01-25 株式会社デンソー 通信装置
US20180107473A1 (en) * 2016-10-13 2018-04-19 GM Global Technology Operations LLC Determining whether to install a vehicle system update in a vehicle
JP6409849B2 (ja) 2016-10-31 2018-10-24 トヨタ自動車株式会社 通信システム及び通信方法
JP2018133744A (ja) * 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
US20180310173A1 (en) * 2017-04-25 2018-10-25 Kabushiki Kaisha Toshiba Information processing apparatus, information processing system, and information processing method
JP2019173693A (ja) * 2018-03-29 2019-10-10 株式会社Subaru 油温センサ診断装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017118487A (ja) * 2015-12-18 2017-06-29 トヨタ自動車株式会社 通信システムで実行される情報集約方法
WO2017127639A1 (en) * 2016-01-20 2017-07-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
JP2017192105A (ja) * 2016-04-15 2017-10-19 株式会社東芝 冗長化処理装置、および、異常判定方法
JP2017200040A (ja) * 2016-04-27 2017-11-02 日立オートモティブシステムズ株式会社 演算装置、認証システム、認証方法
WO2020137743A1 (ja) * 2018-12-28 2020-07-02 パナソニックIpマネジメント株式会社 電子制御装置、電子制御システムおよびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安齋 潤ほか: "自動走行車向け侵入検知・防御システムに関する提案", 2018年 暗号と情報セキュリティシンポジウム概要集, JPN6022036426, 23 January 2018 (2018-01-23), JP, pages 1 - 6, ISSN: 0004867161 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11832098B2 (en) 2020-11-13 2023-11-28 Toyota Jidosha Kabushiki Kaisha Vehicle communication system, communication method, and storage medium storing communication program

Also Published As

Publication number Publication date
US20210160256A1 (en) 2021-05-27
JP7156257B2 (ja) 2022-10-19
EP3825889A1 (en) 2021-05-26
US11895127B2 (en) 2024-02-06
CN112825500A (zh) 2021-05-21
CN112825500B (zh) 2024-05-03

Similar Documents

Publication Publication Date Title
US11755713B2 (en) System and method for controlling access to an in-vehicle communication network
EP3264718B1 (en) System and method for detection and prevention of attacks on in-vehicle networks
JP6782446B2 (ja) 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム
US9419802B2 (en) Secure message filtering to vehicle electronic control units with secure provisioning of message filtering rules
WO2016204081A1 (ja) 車載中継装置、車載通信システム及び中継プログラム
TW201735578A (zh) 受控的安全碼認證
CN113439425B (zh) 报文传输方法及装置
JP7156257B2 (ja) 車両通信装置、通信異常の判定方法及びプログラム
CN112153646A (zh) 认证方法、设备及系统
US20230224289A1 (en) Communication device, vehicle, communication method, and recording medium recorded with program
CN117220895A (zh) 用于车辆中可服务电子部件的公钥基础设施的方法和系统
CN114499831B (zh) 车辆通信系统、通信方法以及记录有通信程序的记录介质
JP2023101193A (ja) 情報処理装置、車両、情報処理方法、及びプログラム
Lakshmi et al. Secure Communication between Arduinos using Controller Area Network (CAN) Bus
JP2023144496A (ja) システム、車両及び方法
CN117220896A (zh) 用于电路板上电子组件的认证的方法
CN113226858A (zh) 信息处理装置
JP2024041392A (ja) 電子制御装置
KR20230097397A (ko) 차량 네트워크 침입 탐지 시스템 및 그 방법
CN116346398A (zh) 安全汽车系统
Van Den Herrewegen et al. Beneath the Bonnet

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220919

R151 Written notification of patent or utility model registration

Ref document number: 7156257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151