JPWO2020136707A1 - Ecu、監視ecuおよびcanシステム - Google Patents

Ecu、監視ecuおよびcanシステム Download PDF

Info

Publication number
JPWO2020136707A1
JPWO2020136707A1 JP2020561988A JP2020561988A JPWO2020136707A1 JP WO2020136707 A1 JPWO2020136707 A1 JP WO2020136707A1 JP 2020561988 A JP2020561988 A JP 2020561988A JP 2020561988 A JP2020561988 A JP 2020561988A JP WO2020136707 A1 JPWO2020136707 A1 JP WO2020136707A1
Authority
JP
Japan
Prior art keywords
ecu
message
canid
transmission
monitoring
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
JP2020561988A
Other languages
English (en)
Other versions
JP6833143B2 (ja
Inventor
達也 三次
達也 三次
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6833143B2 publication Critical patent/JP6833143B2/ja
Publication of JPWO2020136707A1 publication Critical patent/JPWO2020136707A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • 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
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40097Interconnection with other networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • 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
    • 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/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

本発明は、CANシステムにおいて、ECUが送信したCANメッセージに関するデータをECU内に蓄積することを目的とする。本発明に係るECUは、CAN通信線(2)に接続された複数のECU(10)のうちの、一つのECU(10)であって、他のECU(10)に第1CANメッセージを送信する送信部と、送信部が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部と、を備える。

Description

この発明は、CAN(Controller Area Network)システムにおけるECU(Electronic Control Unit)の正当性を判定する技術に関する。
近年、車両の先進運転支援システム(ADAS:Advanced Driver-Assistance Systems)およびその発展としての自動運転が実用化され、機械学習、ディープラーニング、およびAI(Artificial Intelligence)の車両制御への利用が普及し始めている。機械学習、ディープラーニング、またはAI(Artificial Intelligence)を利用するため、車両の制御システムは、車両以外の機器との通信機能を有することが多い。そのため、この通信機能を利用して、車両に組み込まれているECUのソフトウェアプログラムを車両の外部から改変し、ECU間の通信のCAN情報を利用することによって、運転者の意図しない車両制御を外部から試みることが可能になっている。
この問題に対して、特許文献1では、監視装置によりCANの通信状況を監視するシステムが開示されている。
特開2007−96799号公報
特許文献1のシステムによれば、ECUの送信するCANメッセージに関するデータがECU内に蓄積されないため、ECUの正当性を監視する監視装置は、バス上をCANメッセージが送信される毎に、送信時刻、データの宛先であるECUのID,データ長、データ内容等を記録する必要があり、処理負荷が大きいという問題があった。
本発明は上述の問題点に鑑み、CANシステムにおいて、ECUが送信したCANメッセージに関するデータをECU内に蓄積することを目的とする。
本発明のECUは、CAN通信線に接続された複数のECUのうちの、一つのECUであって、他のECUに第1CANメッセージを送信する送信部と、送信部が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部と、を備える。
本発明の監視ECUは、本発明のECUと共にCAN通信線に接続された監視ECUであって、各ECUに対して予め定められたCANIDである正当CANIDを、各ECUのECUIDと紐づけて格納する格納部と、各ECUから、蓄積部に蓄積された送信CANIDと各ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、送信CANIDを格納部において送信元ECUIDに紐づけられた正当CANIDと照合し、正当CANIDに一致しない送信CANIDが付された第1CANメッセージを不正と判定する照合部と、を備える。
本発明のCANシステムは、本発明の監視ECUと、本発明の複数のECUとを備える。
本発明によれば、ECUから送信された複数の第1CANメッセージのCANIDが送信CANIDとしてECU内に蓄積される。本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
実施の形態1のCANシステムの構成図である。 CANメッセージの構成図である。 第2CANメッセージの構成図である。 第1CANメッセージのCANIDの蓄積処理におけるECUのシーケンス図である。 CANIDの蓄積処理における蓄積アプリケーションの動作を示すフローチャートである。 ECUにおける第2CANメッセージの送信処理に関するシーケンスを示す図である。 監視ECUにおける第2CANメッセージの受信処理に関するシーケンスを示す図である。 第2CANメッセージの受信処理におけるCAN監視アプリケーションの動作を示すフローチャートである。 監視ECUによる第3CANメッセージの送信処理のシーケンスを示す図である。 第3CANメッセージの送信処理におけるCAN監視アプリケーションの動作を示すフローチャートである。 第3CANメッセージのArbitration fieldとData fieldを示す図である。 各ECU10による第3CANメッセージの受信処理のシーケンスを示す図である。 第3CANメッセージの受信処理における蓄積アプリケーションの動作を示すフローチャートである。 実施の形態3のCANシステムの構成図である。 実施の形態4のCANシステムの構成図である。 ECUまたは監視ECUのハードウェア構成図である。
<A.実施の形態1>
図1は、実施の形態1のCANシステム101の構成図である。図1に示すように、CANシステム101は、ECU10A−10Dと監視ECU20とを備えている。ECU10A−10Dと監視ECU20は、一本のCAN通信線2に接続され、CAN通信線2を介してCAN又はCAN−FD等のプロトコルに従ったCANメッセージの送受信を行う。ECU10A−10Dと監視ECU20は同一の車両に搭載されている。図1にはCANシステム101の構成として4つのECU10A−10Dが示されているが、CANシステム101が備えるECUの数はこれに限らない。以下の説明において個々のECUを区別する必要がない場合には、ECU10A−10Dを単にECU10と呼称する。
次に、ECU10の構成について説明する。ECU10は、車載制御装置であり、車両の各部の制御を行う。ECU10は、CAN通信線2を介して互いにCANメッセージを送受信する。ECU10は、CANアプリケーション11、CANドライバ12、および蓄積アプリケーション13を備えて構成される。CANアプリケーション11は、車両制御に関する種々の処理を行う。
CANドライバ12は、CANメッセージの送受信を行う。ここで、各ECU10が他のECU10宛てに送信するCANメッセージを第1CANメッセージと称し、監視ECU20宛てに送信するCANメッセージを第2CANメッセージと称する。すなわち、CANドライバ12は第1CANメッセージを送信する送信部として機能する。
蓄積アプリケーション13はメモリ14(図4参照)を備えており、CANドライバ12が送信するCANメッセージのCANIDを、送信CANIDとしてメモリ14に蓄積する。メモリ14に蓄積される送信CANIDは、一定周期など随時に更新される。このように蓄積アプリケーション13は、過去の一定期間にCANドライバ12が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部として機能する。
CANドライバ12は、メモリ14に蓄積された送信CANIDを、第2CANメッセージとして一定周期で監視ECU20に送信する。この周期は、例えば1秒である。
次に、CANメッセージの構成について説明する。CANメッセージには、データフレーム、リモートフレーム、エラーフレームおよびオーバーロードフレームという4種類のフレームが存在する。そのうち、標準の通信にはデータフレームが用いられる。データフレームは、Start of Frame、Arbitration field、Control field、Data field、CRC field、Acknowledge field、およびEnd of Frameを備えている。Start of Frameはデータフレームの先頭を意味する。Arbitration fieldはCAN通信の調停に用いられるフィールドで、ここに記載される値をCANIDと呼ぶ。CANIDは、CANメッセージの種別と優先順位を表している。Control fieldは、データフレームの中のData fieldのデータサイズを規定する。ただし、1つのデータフレームにおけるData fieldのデータサイズは最大8バイトである。Data fieldはデータ本体を表す。CRC fieldはデータフレームが正しいか否かの情報である。Acknowledge fieldは、データフレームが正常に受信されたか否かの確認を行う為に利用される。End of Frameはデータフレームの終了を意味する。以上は、CAN通信線2で通信される物理層の規定に関する。
図2は、CANメッセージのArbitration fieldとData fieldを示している。Arbitration fieldにCANIDが記載され、Data fieldにCANDATAが記載されている。CANDATAが1つのデータフレームに収まらない場合、複数のデータフレームに分割される。従って、他の通信方法と同様に、CANメッセージは複数のデータフレームにより送受信され得る。
図3は、第2CANメッセージのArbitration fieldとData fieldを示している。第2CANメッセージのCANIDは、「Monitering」を示す11bitもしくは29bitのビット列である。第2CANメッセージのCANDATAには、第2CANメッセージの送信元ECUのECUIDと、送信元ECUが直近の周期に送信した全ての第1CANメッセージのCANIDである送信CANID(Output CANID)が記載されている。図3には、n個の送信CANIDが、Output CANID_0、Output CANID_1、…Output CANID_Xとして示されている。
次に、監視ECU20の構成について説明する。監視ECU20は、ECU10と同一の車両に搭載されたECUであり、ECU10が送受信する第1CANメッセージの監視を行い、ECU10の正当性を判断する。監視ECU20は、CANドライバ21、CAN監視アプリケーション22、およびCANデータベース(DB)23を備えている。CANドライバ21は、CAN通信線2に対してCANメッセージの送受信を行う。特に、CANドライバ21は第2CANメッセージを受信する。すなわち、CANドライバ21は、ECU10に蓄積された送信CANIDとECU10のECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部として機能する。
設計上、各ECU10が正当に送信可能なCANメッセージは定められている。CAN DB23には、各ECU10が正当に送信可能なCANメッセージのCANIDである正当CANIDが、設計情報として記録されている。すなわち、CAN DB23は、各ECU10に対して予め定められたCANIDである正当CANIDを、各ECU10のECUIDと紐づけて格納する格納部として機能する。
CAN監視アプリケーション22は、CANドライバ21が受信した第2CANメッセージから、送信元ECUを表すECUIDと、送信元ECUが直近周期に送信した第1CANメッセージのCANIDを表すOutput CANIDを取得する。そして、CAN監視アプリケーション22は、Output CANIDを、CANデータベース23においてECUIDに紐づけられた正当CANIDと照合することにより、送信元ECUの正当性を判断する。具体的には、CAN監視アプリケーション22は、第2CANメッセージに含まれる全てのOutput CANIDが正当CANIDに一致すれば、送信元ECUを正当と判断し、そうでなければ不当、すなわち送信元ECUが改ざんされた可能性があると判断する。すなわち、CAN監視アプリケーション22は、送信CANIDをCAN DB23において送信元ECUIDに紐づけられた正当CANIDと照合し、正当CANIDに一致しない送信CANIDが付された第1CANメッセージを不正と判定する照合部として機能する。
図4は、ECU10におけるCANIDの蓄積処理に関するシーケンスを示している。蓄積アプリケーション13は、一定周期で繰り返しCANドライバ12に送信確認を行う(ステップS101,ステップS104,ステップS106)。1回目の送信確認(ステップS101)の時点では、まだCANドライバ12は第1CANメッセージを送信していない。次に、CANアプリケーション11がCANドライバ12に第1CANメッセージの送信依頼を行う(ステップS102)。そして、CANドライバ12はCANアプリケーション11からの送信依頼に応じてデータフレームを創出し、第1CANメッセージをCAN通信線2上に送信する(ステップS103)。
その後、蓄積アプリケーション13が2回目の送信確認をCANドライバ12に行う(ステップS104)。このとき、CANドライバ12は第1CANメッセージを送信しているため、蓄積アプリケーション13は当該第1CANメッセージのCANIDを送信CANIDとしてメモリ14に記録する(ステップS105)。
その後、蓄積アプリケーション13が3回目の送信確認をCANドライバ12に行う(ステップS106)。しかし、このとき、CANドライバ12は第1CANメッセージを送信していないため、蓄積アプリケーション13はCANIDの記録を行わない。
図5は、CANIDの蓄積処理における蓄積アプリケーション13の動作を示すフローチャートである。図5において、まず、蓄積アプリケーション13は、CANドライバ12が第1CANメッセージの送信中か否かを判断する(ステップS201)。ステップS201においてCANドライバ12が第1CANメッセージの送信中でなければ、蓄積アプリケーション13は、一定周期が経過した後に再びステップS201の処理を行う。ステップS201においてCANドライバ12が第1CANメッセージの送信中であれば、蓄積アプリケーション13は当該第1CANメッセージからCANIDを抽出する(ステップS202)。そして、蓄積アプリケーション13は、メモリ内にステップS202で抽出したCANIDが存在するか否かを判断する(ステップS203)。ステップS203において、メモリ内にステップS202で抽出したCANIDが存在すれば、蓄積アプリケーション13の動作はステップS201に戻る。ステップS203において、メモリ内にステップS202で抽出したCANIDが存在しなければ、蓄積アプリケーション13は当該CANIDをメモリに記録し(ステップS204)、ステップS201に戻る。こうして、蓄積アプリケーション13はメモリに第1CANメッセージのCANIDを蓄積する。
図6は、ECU10における第2CANメッセージの送信処理に関するシーケンスを示している。図6に示すように、ECU10はタイマ15を備えている。タイマ15は一定周期で起動し、蓄積アプリケーション13に第2CANメッセージの送信開始を通知する。タイマ15が蓄積アプリケーション13に第2CANメッセージの送信開始を通知すると(ステップS301)、蓄積アプリケーション13は、メモリ14に蓄積された全てのCANIDを読み込むと共に(ステップS302)、これらのCANIDとECUIDをCANドライバ12に出力し、図3で示したメッセージ内容に従って第2CANメッセージの送信を依頼する(ステップS303)。CANドライバ12は、蓄積アプリケーション13から送信依頼を受けると、第2CANメッセージを送信する(ステップS304)。なお、蓄積アプリケーション13は、ステップS303の送信依頼後、メモリ14に蓄積されたCANIDを削除する(ステップS305)。これにより、メモリ14には第2CANメッセージとして監視ECU20に送信されていない直近周期のCANIDのみが蓄積されることになる。
図7は、監視ECU20における第2CANメッセージの受信処理に関するシーケンスを示している。図7に示すように、監視ECU20のCANドライバ21は、ECU10から送信されるCANメッセージのCANIDが図3に示したMoniteringの場合に、CANメッセージの受信を行う(ステップS401)。ここでCANドライバ21が受信するCANメッセージは、第2CANメッセージである。次に、CANドライバ21は、第2CANメッセージを受信したことをCAN監視アプリケーション22に通知する(ステップS402)。そして、CAN監視アプリケーション22は、ステップS401で受信した第2CANメッセージに含まれる複数のOutput CANIDを、CAN DB23内の正当CANIDと比較照合する(ステップS403)。具体的には、CAN DB23において、第2CANメッセージ内のECUIDと同一のECUIDに紐づけられた正当CANIDを、第2CANメッセージ内の複数のOutput CANIDと比較照合する。そして、CAN監視アプリケーション22は、第2CANメッセージ内の複数のOutput CANIDの中に正当CANIDに一致しないものがあれば、当該Output CANIDを不正CANIDとし、第2CANメッセージに含まれるECUIDを不正ECUIDと判定する。
図8は、第2CANメッセージの受信処理におけるCAN監視アプリケーション22の動作を示すフローチャートである。まず、CAN監視アプリケーション22はCANドライバ12から第2CANメッセージの受信連絡があるか判断する(ステップS501)。ステップS501において、CANドライバ12から第2CANメッセージの受信連絡がなければ、CAN監視アプリケーション22はステップS501の処理を繰り返す。ステップS501において、CANドライバ12から第2CANメッセージの受信連絡があれば、CAN監視アプリケーション22は、受信した第2CANメッセージからデータを抽出し、ECUIDと全てのOutput CANIDとを取得する(ステップS502)。
そして、CAN監視アプリケーション22は、ステップS502で取得したECUIDをCAN DB23内で検索し、ECUIDに紐づけられた正当CANIDを取得する(ステップS503)。すなわち、この正当CANIDは、ECUIDで特定されるECUが正当に送信しうるCANメッセージの種別を表すCANIDである。
次に、CAN監視アプリケーション22は、ステップS502で取得した全てのOutput CANIDと、ステップS503で取得した正当CANIDとを比較し、両者が一致するかを判断する(ステップS504)。全てのOutput CANIDが正当CANIDと一致する場合には、第2CANメッセージの送信元のECUが正当であると判断し、CAN監視アプリケーション22は第2CANメッセージの受信待ち(ステップS501)に戻る。一方、Output CANIDの中に正当CANIDと異なるものがある場合、CAN監視アプリケーション22は、第2CANメッセージの送信元ECUが改竄された可能性があると判断し、第2CANメッセージの送信元ECUを不正ECUと判定する。なお、正当CANIDと異なるOutput CANIDは、不正ECUから不正に送信された第1CANメッセージのCANIDであり、これを不正CANIDと称する。CAN監視アプリケーション22は、不正ECUのECUIDである不正ECUIDと、不正CANIDを、メモリ14に記録する(ステップS505)。
実施の形態1のCANシステム101におけるECU10は、他のECU10に第1CANメッセージを送信する送信部であるCANドライバ12と、送信部が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部である蓄積アプリケーション13と、を備える。このように、CANシステム101では、ECU10が送信した第1CANメッセージに関するデータである送信CANIDをECU10内に蓄積することができる。従って、ECU10が第1CANメッセージを送信するたびに、監視ECU20が送信CANIDを蓄積する必要がない。また、ECU10から複数の第1CANメッセージに関する送信CANIDをまとめて監視ECU20に送信することができるため、ECU10から監視ECU20への通信回数を減らすことができる。蓄積アプリケーション13は、送信CANIDを蓄積する処理を行うだけであり、特別な判断処理を行わない。従って、ECU10は、送信CANIDを蓄積する以外に多くのメモリを必要としない。そのため、汎用的なECUに蓄積アプリケーション13を組み込むことによって簡単にECU10を実現することが可能である。
また、実施の形態1のCANシステム101における監視ECU20は、各ECU10に対して予め定められたCANIDである正当CANIDを、各ECU10のECUIDと紐づけて格納する格納部と、各ECU10から、蓄積部に蓄積された送信CANIDと各ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、送信CANIDを格納部において送信元ECUIDに紐づけられた正当CANIDと照合し、正当CANIDに一致しない送信CANIDが付された第1CANメッセージを不正と判定する照合部と、を備える。このように、監視ECU20は第2CANメッセージに基づいて各ECU10の正当性を判定することができる。送信CANIDは各ECU10で蓄積されるため、監視ECU20は送信CANIDを蓄積する必要がない。
<B.実施の形態2>
実施の形態2のCANシステム102は、図1に示した実施の形態1のCANシステム101と同様の構成であるが、CANシステム101の機能に加えて、不正ECUにおけるCANメッセージの送信を制限する機能(以下、「送信制限機能」と称する)を有する。以下、送信制限機能に関するCANシステム102の動作について説明する。送信制限機能に関して、監視ECU20は第3CANメッセージの送信処理を行い、各ECU10は第3CANメッセージの受信処理を行う。第3CANメッセージについては図11で後述する。
図9は、監視ECU20による第3CANメッセージの送信処理のシーケンスを示している。まず、CAN監視アプリケーション22は、あるECU10を不正ECUと判断すると(ステップS601)、CANドライバ21に対して第3CANメッセージの送信を依頼する(ステップS602)。送信依頼を受けたCANドライバ21は、第3CANメッセージをCAN通信線2上に送信する(ステップS603)。このように、CANドライバ21は、照合部であるCAN監視アプリケーション22が第1CANメッセージを不正と判定すると、第3CANメッセージを各ECU10に送信する送信部として機能する。
図10は、第3CANメッセージの送信処理におけるCAN監視アプリケーション22の動作を示すフローチャートである。まず、CAN監視アプリケーション22は、新たに受信した第2CANメッセージに基づき不正ECUが存在するかを判断する(ステップS701)。CAN監視アプリケーション22は、不正ECUを検知するまでステップS701の処理を繰り返す。ステップS701において不正ECUが存在すれば、CAN監視アプリケーション22は、不正ECUIDおよび不正CANIDをCANドライバ21に出力し、第3CANメッセージの送信依頼を行う(ステップS702)。そして、CAN監視アプリケーション22はステップS701の処理に戻る。
図11は、第3CANメッセージのArbitration fieldとData fieldを示している。第3CANメッセージのCANIDは、「MoniteringResult」を示す11bitもしくは29bitのビット列である。第3CANメッセージのCANDATAには、不正ECUIDおよび不正CANIDが含まれる。図11には、X個の不正CANIDが、不正CANID_0、不正CANID_1、…不正CANID_Xとして示されている。
図12は、各ECU10による第3CANメッセージの受信処理のシーケンスを示している。まず、ECU10のCANドライバ12は、CANメッセージを受信する(ステップS801)。CANドライバ12は、受信したCANメッセージのCANIDが「MoniteringResult」である場合、蓄積アプリケーション13に第3CANメッセージを受信したことを通知する(ステップS802)。そして、蓄積アプリケーション13は受信した第3CANメッセージ内の不正ECUIDを自身のECUIDと比較照合し(ステップS803)、一致した場合には、CANドライバ12にCANメッセージの送信を禁止する(ステップS804)。
図13は、第3CANメッセージの受信処理における蓄積アプリケーション13の動作を示すフローチャートである。まず、蓄積アプリケーション13は、CANドライバ12が受信したCANメッセージのCANIDが「MoniteringResult」であるか否かを判断する(ステップS901)。ステップS901においてCANIDが「MoniteringResult」でなければ、蓄積アプリケーション13は再びステップS901の処理を繰り返す。ステップS901においてCANIDが「MoniteringResult」であれば、蓄積アプリケーション13は受信したCANメッセージ、すなわち第3CANメッセージから不正ECUIDを抽出する(ステップS902)。そして、蓄積アプリケーション13はステップS902で抽出した不正ECUIDを自身のECUIDと比較照合し(ステップS903)、両者が一致しなければステップS901の処理に戻る。ステップS903において不正ECUIDが自身のECUIDと一致する場合は、CANドライバ12にCANメッセージの送信を禁止する(ステップS904)。これにより、第3CANメッセージを受信した不正ECUは、それ以降のCANメッセージの送信が禁止される。
なお、図12のステップS804または図13のステップS904において、蓄積アプリケーション13は、全てのCANメッセージの送信を禁止しても良いし、不正CANIDのCANメッセージの送信のみ禁止しても良い。蓄積アプリケーション13が全てのCANメッセージの送信を禁止する場合、第3CANメッセージは不正CANIDを含まなくても良い。
実施の形態2のCANシステム102における監視ECU20は、照合部であるCAN監視アプリケーション22が第1CANメッセージを不正と判定すると、第3CANメッセージを各ECUに送信する送信部であるCANドライバ21を備える。そして、第3CANメッセージは不正ECUIDを含む。不正ECUIDは、不正と判定された第1CANメッセージのCANIDである不正CANIDを含む第2CANメッセージに含まれるECUIDである。これにより、不正と判定された第1CANメッセージを送信したECU10に対して、その旨を通知することが可能となる。
また、実施の形態2のCANシステム102において、監視ECU20から第3CANメッセージを受信したECU10は、第3CANメッセージに含まれる不正ECUIDが自己のECUIDと一致する場合に、第1CANメッセージの送信を禁止する。これにより、改竄された不正なECU10による通信が制限される。
<C.実施の形態3>
図14は、実施の形態3のCANシステム103の構成を示すブロック図である。CANシステム103は、実施の形態1または2のCANシステム101,102の構成に加えて、監視ECU20に接続された出力装置30を備えている。出力装置30は、CAN通信線2には接続されていない。出力装置30は、例えば、ECU10および監視ECU20と同一の車両に搭載された表示装置または音声出力装置である。あるいは、出力装置30は当該車両に搭載されていなくても良く、例えば汎用パーソナルコンピュータであっても良いし、車両の運転者等が携帯するPDAまたはスマートフォンなどの携帯端末であっても良い。
監視ECU20は、実施の形態1または実施の形態2で説明した機能に加えて、不正ECUの情報を出力装置30に送信する機能を有する。すなわち、監視ECU20のCAN監視アプリケーション22は、第1CANメッセージを不正と判定すると、出力装置30にその旨の通知を行う通知部として機能する。ここで、不正ECUの情報は、不正ECUIDを含み、不正CANIDを含んでも良い。不正ECUの情報を監視ECU20から受信した出力装置30は、車両の運転者等にその旨の通知を表示または音声出力によって行う。その一例として、表示機能を有する出力装置30は、「不正なCANメッセージの通信が確認されました。ディーラーで診断を受けてください。」などのエラーメッセージを表示しても良い。
実施の形態3のCANシステム103における監視ECU20は、CAN通信線に接続されていない出力装置30と接続され、照合部が第1CANメッセージを不正と判定すると、出力装置にその旨の通知を行う通知部を備える。従って、車両の運転者等のユーザに対してECU10が不正であることを通知し対処を促すことができる。
<D.実施の形態4>
図15は、実施の形態4のCANシステム104の構成図である。CANシステム104は、実施の形態1のCANシステム101から監視ECU20を削除し、ECU10A−10Dに代えてECU10AA−10ADを設けたものである。ECU10AA−10ADの構成は同様であるため、図15ではECU10AAの構成のみを示している。ECU10AAは、実施の形態1のECU10Aの構成に加えて、実施の形態1の監視ECU20のCAN監視アプリケーション22およびCAN DB23を備えている。
ECU10AAにおいて、蓄積アプリケーション13は、一定期間に亘り、CANドライバ12から他のECUに送信される第1CANメッセージのCANIDをメモリ14に蓄積する。そして、CAN監視アプリケーション22は、メモリ14に蓄積されたCANIDを、CAN DB23に格納された正当CANIDと比較照合し、一致しなければ、当該CANIDに係る第1CANメッセージは不正に送信されたCANメッセージであって、ECU10AAは改竄されたおそれのある不正ECUであると判断する。そして、CANアプリケーション11は、CANドライバにCANメッセージの送信を禁止する。
実施の形態4のCANシステム104によれば、CANIDの蓄積、CANIDの照合による正当性の判定、およびCANメッセージの送信制限が、すべて各ECU10AA−10AD内で行われるため、別途の監視ECU20を設ける必要がない。従って、上記の処理を行うために第2CANメッセージまたは第3CANメッセージの通信を行う必要がなく、CAN通信量を削減する効果がある。
<E.ハードウェア構成>
上述したCANシステム101−104における、ECU10または監視ECU20は、図16に示すプロセッサ81とメモリ82により実現される。具体的には、ECU10におけるCANアプリケーション11、CANドライバ12および蓄積アプリケーション13の機能と、監視ECU20におけるCANドライバ21およびCAN監視アプリケーション22の機能は、プロセッサ81がメモリ82に格納されたプログラムを実行することにより実現される。プロセッサ81は、例えば中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)等である。また、ECU10において第1CANメッセージのCANIDが蓄積されるメモリ14と、監視ECU20におけるCAN DB23は、メモリ82により実現されるが、それらは単一のメモリ82から構成されてもよいし、それぞれが個別のメモリから構成されてもよい。メモリ82には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発性または揮発性の半導体メモリ等が用いられる。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。この発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
2 CAN通信線、10A,10B,10C,10D ECU、11 CANアプリケーション、12 CANドライバ、13 蓄積アプリケーション、14 メモリ、20 監視ECU、21 CANドライバ、22 CAN監視アプリケーション、23 CANデータベース、30 出力装置、81 プロセッサ、82 メモリ、101,102,103,104 CANシステム。

Claims (9)

  1. CAN通信線に接続された複数のECUのうちの、一つのECUであって、
    他の前記ECUに第1CANメッセージを送信する送信部と、
    前記送信部が送信した複数の前記第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部と、を備える、
    ECU。
  2. 請求項1に記載のECUと共に前記CAN通信線に接続された監視ECUであって、
    各前記ECUに対して予め定められたCANIDである正当CANIDを、各前記ECUのECUIDと紐づけて格納する格納部と、
    各前記ECUから、前記蓄積部に蓄積された前記送信CANIDと各前記ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、
    前記送信CANIDを前記格納部において前記送信元ECUIDに紐づけられた前記正当CANIDと照合し、前記正当CANIDに一致しない前記送信CANIDが付された前記第1CANメッセージを不正と判定する照合部と、を備える、
    監視ECU。
  3. 前記受信部は、前記第2CANメッセージを各前記ECUから一定周期で繰り返し取得し、
    前記第2CANメッセージは、直近周期に各前記ECUから送信された複数の前記第1CANメッセージのCANIDを前記送信CANIDとして含む、
    請求項2に記載の監視ECU。
  4. 前記CAN通信線に接続されていない出力装置と接続され、
    前記照合部が前記第1CANメッセージを不正と判定すると、前記出力装置にその旨の通知を行う通知部をさらに備える、
    請求項2に記載の監視ECU。
  5. 前記照合部が前記第1CANメッセージを不正と判定すると、第3CANメッセージを各前記ECUに送信する送信部をさらに備え、
    前記第3CANメッセージは、不正と判定された前記第1CANメッセージのCANIDである不正CANIDを含む前記第2CANメッセージに含まれる前記ECUIDである不正ECUIDを含む、
    請求項2に記載の監視ECU。
  6. 前記第3CANメッセージは、前記不正CANIDを含む、
    請求項5に記載の監視ECU。
  7. 監視ECUから第3CANメッセージを受信する請求項1に記載のECUであって、
    前記監視ECUは、
    請求項1に記載のECUと共に前記CAN通信線に接続され、
    各前記ECUに対して予め定められたCANIDである正当CANIDを、各前記ECUのECUIDと紐づけて格納する格納部と、
    各前記ECUから、前記蓄積部に蓄積された前記送信CANIDと各前記ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、
    前記送信CANIDを前記格納部において前記送信元ECUIDに紐づけられた前記正当CANIDと照合し、前記正当CANIDに一致しない前記送信CANIDが付された前記第1CANメッセージを不正と判定する照合部と、
    前記照合部が前記第1CANメッセージを不正と判定すると、前記第3CANメッセージを前記CAN通信線上に送信する送信部と、を備え、
    前記第3CANメッセージは、不正と判定された前記第1CANメッセージのCANIDである不正CANIDを含む前記第2CANメッセージに含まれる前記ECUIDである不正ECUIDを含み、
    前記第3CANメッセージに含まれる前記不正ECUIDが自己のECUIDと一致する場合に、前記第1CANメッセージの送信を禁止する、
    ECU。
  8. 請求項7に記載のECUであって、
    前記第3CANメッセージは、前記不正ECUIDと、不正と判定された前記第1CANメッセージのCANIDである不正CANIDとを含み、
    前記第3CANメッセージに含まれる前記不正ECUIDが自己のECUIDと一致する場合に、前記不正CANIDが付与された前記第1CANメッセージの送信を禁止する、
    ECU。
  9. 請求項2から請求項6のいずれか1項に記載の監視ECUと、
    複数の前記ECUとを備える、
    CANシステム。
JP2020561988A 2018-12-25 2018-12-25 Ecu、監視ecuおよびcanシステム Active JP6833143B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/047504 WO2020136707A1 (ja) 2018-12-25 2018-12-25 Ecu、監視ecuおよびcanシステム

Publications (2)

Publication Number Publication Date
JP6833143B2 JP6833143B2 (ja) 2021-02-24
JPWO2020136707A1 true JPWO2020136707A1 (ja) 2021-03-11

Family

ID=71129266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020561988A Active JP6833143B2 (ja) 2018-12-25 2018-12-25 Ecu、監視ecuおよびcanシステム

Country Status (3)

Country Link
US (1) US20210370961A1 (ja)
JP (1) JP6833143B2 (ja)
WO (1) WO2020136707A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023223480A1 (ja) * 2022-05-18 2023-11-23 日本電信電話株式会社 攻撃元特定システム、攻撃元特定装置、攻撃元特定方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145976A1 (ja) * 2014-03-28 2015-10-01 日本電気株式会社 通信システム、制御指示装置、制御実施装置、通信制御方法およびプログラムを記憶する記憶媒体
JP2017028567A (ja) * 2015-07-24 2017-02-02 富士通株式会社 通信中継装置、通信ネットワーク、通信中継プログラム及び通信中継方法
JP2018019218A (ja) * 2016-07-27 2018-02-01 株式会社デンソー 電子制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145976A1 (ja) * 2014-03-28 2015-10-01 日本電気株式会社 通信システム、制御指示装置、制御実施装置、通信制御方法およびプログラムを記憶する記憶媒体
JP2017028567A (ja) * 2015-07-24 2017-02-02 富士通株式会社 通信中継装置、通信ネットワーク、通信中継プログラム及び通信中継方法
JP2018019218A (ja) * 2016-07-27 2018-02-01 株式会社デンソー 電子制御装置

Also Published As

Publication number Publication date
WO2020136707A1 (ja) 2020-07-02
US20210370961A1 (en) 2021-12-02
JP6833143B2 (ja) 2021-02-24

Similar Documents

Publication Publication Date Title
JP6928051B2 (ja) ゲートウェイ装置、車載ネットワークシステム及び通信方法
US20190057214A1 (en) Update control device, terminal, and method of controlling
JP5472276B2 (ja) 車両用通信制御装置
WO2014196181A1 (ja) データ認証装置、及びデータ認証方法
JP4792944B2 (ja) 権限管理システム、トークン検証方法、トークン検証プログラム
CN104917749A (zh) 帐号注册方法及装置
US10585401B2 (en) Method for determining a master time signal, vehicle, and system
JP7006335B2 (ja) 車載通信システム、車載通信方法、およびプログラム
CN112466013B (zh) 一种数字钥匙管理方法、装置、系统及存储介质
WO2018142504A1 (ja) 暗号鍵配信システム、鍵配信ecu、鍵受信ecu、鍵配信プログラム、鍵受信プログラム及び暗号鍵配信方法
JP6833143B2 (ja) Ecu、監視ecuおよびcanシステム
JP2008030691A (ja) 車両用制御システムのメッセージ管理装置及び車両用制御システム
CN109150969B (zh) 数据传输方法、分发机、终端机和数据传输系统
JP6730578B2 (ja) 監視方法および監視システム
JP4325695B2 (ja) 情報通信システム、コンテンツ出力装置、ユーザ側装置、コンテンツ配信装置、コンテンツ出力装置用プログラム、ユーザ側装置用プログラム、コンテンツ配信装置用プログラム
CN110888892B (zh) 一种区块同步方法、装置及存储介质
JP2011100411A (ja) 認証代行サーバ装置、認証代行方法及びプログラム
JP2020092318A (ja) 中継装置、中継方法及びコンピュータプログラム
WO2020145086A1 (ja) 車載通信システム、車載通信制御装置、車載通信装置、通信制御方法及び通信方法
WO2018037894A1 (ja) 車両用認証装置
JP2013121071A (ja) 中継システム及び、当該中継システムを構成する中継装置、外部装置
CN114189384B (zh) 业务处理方法、装置、设备及存储介质
JP2019126007A (ja) 電子機器、メッセージ送信方法およびプログラム
CN113327108B (zh) 一种交易处理方法、相关设备及计算机可存储介质
CN114567483B (zh) 一种数据传输的方法、装置及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201126

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201126

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210202

R150 Certificate of patent or registration of utility model

Ref document number: 6833143

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150