JP6887108B2 - 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム - Google Patents

不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム Download PDF

Info

Publication number
JP6887108B2
JP6887108B2 JP2017004593A JP2017004593A JP6887108B2 JP 6887108 B2 JP6887108 B2 JP 6887108B2 JP 2017004593 A JP2017004593 A JP 2017004593A JP 2017004593 A JP2017004593 A JP 2017004593A JP 6887108 B2 JP6887108 B2 JP 6887108B2
Authority
JP
Japan
Prior art keywords
electronic control
control unit
value
version
rule
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.)
Active
Application number
JP2017004593A
Other languages
English (en)
Other versions
JP2018111468A (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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2017004593A priority Critical patent/JP6887108B2/ja
Priority to PCT/JP2017/043721 priority patent/WO2018131334A1/ja
Publication of JP2018111468A publication Critical patent/JP2018111468A/ja
Priority to US16/451,388 priority patent/US11075927B2/en
Application granted granted Critical
Publication of JP6887108B2 publication Critical patent/JP6887108B2/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
    • 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
    • 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
    • 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]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Description

本発明はデータ処理技術に関し、特に不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラムに関する。
近年、自動車には、多数の電子制御ユニット(Electronic Control Unit、以下「ECU」と呼ぶ。)が配置されている。これらのECUを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには多数の規格が存在するが、広く普及した規格としてCAN(Controller Area Network)がある。
車載ネットワーク上に不正なECUが接続されていることを検知するため、車載ネットワークに接続された不正検知ECUが、車載ネットワーク上を流れるフレームを監視する方法が提案されている(例えば特許文献1参照)。
国際公開第2015/159520号
特許文献1の方法では、不正検知ECUが、予め定義しておいた不正判定ルールに基づいて、他のECUが送信したフレームが不正かを判定する。そのため、車載ネットワークに接続されるECUの種類に対応する不正判定ルールを、予め不正検知ECUに格納しておく必要があるが、車載ネットワークに接続されるECUの種類に応じて、あるいは、ECUの修理交換またはファームウェアの更新に伴い、不正検知ECUに格納する不正判定ルールを個々に調整することは容易でなく、改善の余地があると本発明者は考えた。
本願発明は上記課題に鑑みたもので、1つの目的は、車載ネットワークのセキュリティの向上を容易化する技術を提供することである。
上記課題を解決するために、本発明のある態様の不正検知電子制御ユニットは、車載ネットワークを介して他の電子制御ユニットと接続される不正検知電子制御ユニットであって、他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶する記憶部と、規則にしたがって、他の電子制御ユニットから送信されたフレームが不正であるかを判定する判定部と、を備える。記憶部は、所定の条件が満たされた場合に、他の電子制御ユニットが保持する規則を取得して、記憶された規則を更新する。
本発明の別の態様は、電子制御ユニットである。この電子制御ユニットは、車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであって、車載ネットワーク上に送信された、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶する記憶部と、不正検知電子制御ユニットから、規則の送信要求を受信する受信部と、規則の送信要求に応じて、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信する送信部と、を備える。
本発明のさらに別の態様は、車載ネットワークシステムである。この、車載ネットワークシステムは、電子制御ユニットと、車載ネットワークを介して電子制御ユニットと接続される不正検知電子制御ユニットと、を備える。不正検知電子制御ユニットは、電子制御ユニットから送信されたフレームが不正であるか否かを判定するための規則を記憶する第一記憶部と、規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定する判定部と、所定の条件が満たされた場合に、電子制御ユニットに対して規則の送信要求を送信する第一送信部と、を含む。電子制御ユニットは、規則の送信要求に応じて、第二記憶部に予め記憶する規則を不正検知電子制御ユニットへ送信する第二送信部を含む。不正検知電子制御ユニットは、電子制御ユニットから受信した規則を第一記憶部へ記憶する。
本発明のさらに別の態様は、不正検知方法である。この方法は、車載ネットワークを介して他の電子制御ユニットと接続され、かつ、他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶部に記憶する不正検知電子制御ユニットが、規則にしたがって、他の電子制御ユニットから送信されたフレームが不正であるかを判定し、所定の条件が満たされた場合に、他の電子制御ユニットが保持する規則を取得して、記憶部に記憶する規則を更新する。
本発明のさらに別の態様もまた、不正検知方法である。この方法は、車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットが、不正検知電子制御ユニットから、規則の送信要求を受信し、規則の送信要求に応じて、電子制御ユニットから送信されたフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信する。
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、車載ネットワークのセキュリティの向上を容易化することができる。
実施例の車載ネットワークシステムの構成を示す図である。 図1のECUの機能構成を示すブロック図である。 不正判定ルールの構成を示す図である。 図1のセキュリティECUの機能構成を示すブロック図である。 図1のECUの動作を示すフローチャートである。 図1のセキュリティECUの動作を示すフローチャートである。 図6のS50の不正判定処理を詳細に示すフローチャートである。 不正判定ルールの更新の動作を示すフローチャートである。
実施例の構成を詳細に説明する前にまず概要を述べる。車載ネットワーク上に不正なECUが接続されていることを検知するために、不正検知ECUは、他のECU(言い換えれば不正か否かの検査対象となるECUであり、「検査対象ECU」とも呼ぶ。)から送信されたフレームが不正か否かを判定することがある。車載ネットワークに接続される検査対象ECUの種類に応じて、不正検知ECUに格納する不正判定ルールを個々に調整する必要があり、従来、不正検知ECUおよび不正判定ルールの管理が煩雑になってしまうことがあった。また、検査対象ECUの修理交換またはファームウェアの更新に伴い不正判定ルールが変更になる場合、不正検知ECUが保持する不正判定ルールも正しく更新する必要があるが、この更新の管理も従来容易ではなかった。
そこで、実施例の車載ネットワークシステムでは、検査対象ECUが、自身が送信するフレームと同じフレームIDのフレームを検査するための不正判定ルールを保持しておき、不正検知ECUへ提供する。不正検知ECUは、各検査対象ECUから提供された不正判定ルールに基づいて、各検査対象ECUから送信されたフレームが不正なものか否かを判定する。
図1は、実施例の車載ネットワークシステムの構成を示す。車載ネットワークシステム12は、自動車10に構築された通信システムであり、ECU14a、ECU14b(以下総称する場合、単に「ECU14」と呼ぶ。)、セキュリティECU20を備える。ECU14とセキュリティECU20は、CAN22を介して接続され、CANのプロトコルにしたがってフレームを送受信する。
ECU14aとECU14bは上記の検査対象ECUに該当する。ECU14aは、速度センサ、窓開閉センサ等のセンサ16と接続され、センサ16で検出された情報、例えば車速、窓開閉状態等を示すフレームをCAN22へ送信する。ECU14bは、アクチュエータ18(例えばブレーキアクチュエータ等)と接続され、CAN22から受け付けたフレームに基づいてアクチュエータ18を制御する。またECU14bは、アクチュエータ18の状態を示すフレームをCAN22を介してセキュリティECU20へ送信する。
セキュリティECU20は、上記の不正検知ECUに該当する。セキュリティECU20は、複数のECU14から送信された複数のフレームが不正か否かを判定することにより、CAN22に不正なフレームを送信する検査対象ECUが接続されているか否かを判定する。
図2は、図1のECU14の機能構成を示すブロック図である。ECU14は、受信バッファ30、ルール保持部32、フレーム送受信部34、フレーム解釈部36、データ送受信部38、フレーム生成部40を備える。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
例えば、フレーム送受信部34、フレーム解釈部36、データ送受信部38、フレーム生成部40に対応するモジュールを含むコンピュータプログラムがECU14のROMに格納されてもよい。ECU14のCPUは、そのコンピュータプログラムをECU14のRAMに適宜読み出して実行することにより、各ブロックの機能を発揮してもよい。受信バッファ30およびルール保持部32は、ECU14のROMまたはRAMにより実現されてもよい。
受信バッファ30は、CAN22から受信したフレームデータを一時的に保持する記憶領域である。ルール保持部32は、不正判定ルールを保持する記憶領域である。ルール保持部32に保持される不正判定ルールは、ECU14自身(すなわち自装置)から送信するフレーム(例えばCANのリモートフレーム、データフレーム等)と同じフレームIDのフレームが不正なものか否かを判定するための基準または規則を定めたデータである。
図3は、不正判定ルールの構成を示す。不正判定ルール50は、フレームID、個別判定ルール52、外部参照判定ルール54、ECU型番、バージョン番号、改ざん検出用チェック値を含む。フレームIDには、不正判定ルール50による判定対象のフレームに付与されるID値が設定される。実施例では、フレームの種類ごと、かつ、フレーム送信元のECU14ごとにユニークなフレームIDが定められる。
ECU型番には、不正判定ルール50の提供元であるECU14の識別子が設定される。バージョン番号には、不正判定ルール50のバージョン番号が設定され、実施例ではメジャーバージョン番号とマイナーバージョン番号の両方が設定される。改ざん検出用チェック値には、所定の共通鍵と不正判定ルール50のデータとに基づいて生成されたメッセージ認証コード(MACデータ)が設定されてもよく、不正判定ルール50に対して一般的なデジタル署名を行ったものが設定されてもよい。
個別判定ルール52と外部参照判定ルール54は、不正判定ルール50の提供元であるECU14自身(例えばECU14a)が送信するフレームに関するルールである点で共通する。相違点として、個別判定ルール52は、不正か否かの判定条件が、当該ECU14(例えばECU14a)が送信するフレームのみに関係する。一方、外部参照判定ルール54は、不正か否かの判定条件が、当該ECU14(例えばECU14a)が送信するフレームだけでなく、他のECU(例えばECU14b)が送信するフレームにも関係する。
個別判定ルール52は、フレームデータ長、送信周期、送信頻度を含む。フレームデータ長には、フレームのデータ長として取り得る値または範囲を指定する。後述のセキュリティECU20の不正判定部70は、指定の値または範囲から外れたデータ長を持つフレームを不正と判定する。フレームデータ長の設定値として、例えば上限値と下限値が指定されてもよい。
送信周期には、本フレームIDのフレームがCAN22上に出現する周期を指定する。後述のセキュリティECU20の不正判定部70は、本フレームIDのフレームの前回の出現時刻(CAN22からの受信時刻とも言える)を記憶しておき、今回の出現時刻との差が送信周期を外れている場合、不正なフレームと判定する。送信周期の設定値として、例えばマージンを含む周期の上限値と下限値が指定されてもよい。
送信頻度には、本フレームIDのフレームがCAN22上に出現する頻度を指定する。後述のセキュリティECU20の不正判定部70は、ある時点から予め定められた単位時間経過後までの出現回数(CAN22からの受信回数とも言える)をカウントし、カウント値が送信頻度の指定範囲を外れている場合、不正なフレームと判定する。送信頻度の設定値として、例えば出現回数の上限値と下限値が指定されてもよい。個別判定ルール52を用いた不正判定では、フレームデータ長、送信周期、送信頻度それぞれの値について指定範囲を逸脱するか否かを判定し、1つでも逸脱すれば不正なフレームと判定する。なお、個別判定ルール52は、ここに挙げたルールに限定されるものではなく、ECU14自身が送信するフレームに関する他のルールを含めてもよい。
外部参照判定ルール54は、参照フレーム情報、参照判定ルール要素、参照判定ルール演算式、判定ルール参照データ情報を含む。参照フレーム情報には、本ルール内で参照する、他のフレームのデータに関する情報が設定される。参照フレーム情報は、内部パラメータとして判定ルール参照データ識別子を含み、複数の判定ルール参照データ識別子が設定可能である。判定ルール参照データ識別子には、参照判定ルール要素が使用する判定ルール参照データの識別子(データ項目の名称やID等)が指定される。
参照判定ルール要素には、参照フレーム情報により指定された項目のデータに対する判定規則(言い換えれば不正判定基準)が設定される。参照判定ルール要素は、内部パラメータとして参照フレーム情報、判定条件、判定基準値の組を含み、複数の組が設定可能である。参照フレーム情報には、あるルール要素において参照する特定の参照フレーム情報の識別子等(例えばインデックス値)が指定される。判定条件には、特定の参照フレーム情報で指定される判定ルール参照データと判定基準値を用いて行う判定条件の種別が指定される。判定条件の種別は「等しい」「より大きい」「より小さい」等を含む。判定基準値は、判定に使用する基準値が指定される。判定基準値は、数値自体を指定する他、第2の参照フレーム情報の識別子等であってもよい。この場合は判定基準値として第2の参照フレーム情報によって保持された判定ルール参照データを判定基準値として用いる。すなわち、参照フレーム情報によって保持された判定ルール参照データと判定基準値とを比較して判定条件の充足を判定することにより、参照判定ルール要素の真偽値が求められる。
参照判定ルール演算式には、判定結果を求めるための演算式が設定される。参照判定ルール演算式は、内部パラメータとして演算子と参照判定ルール要素の組を含み、複数の組が設定可能である。演算子には、参照判定ルール要素を結合する演算子が指定される。参照判定ルール要素には、結合対象となる参照判定ルール要素が指定される。すなわち、参照判定ルール演算式では、個々の参照判定ルール要素で保持した個々の真偽値を演算子で結合し、最終的な判定結果を求めるための演算式を指定する。演算式は、逆ポーランド記法により記述され、格納されてもよい。
判定ルール参照データ情報には、他フレームで指定可能な判定ルール参照データに関する情報が設定される。判定ルール参照データ情報は、内部パラメータとして判定ルール参照データ識別子と判定ルール参照データ位置の組を含み、複数の組が設定可能である。判定ルール参照データ識別子には、他フレームにより参照可能な当該フレームデータの識別子(データ項目名、ID等)であり、車載ネットワークシステム12において一意の値が指定される。
判定ルール参照データ位置には、判定ルール参照データ識別子により識別されるデータの位置が指定される。言い換えれば、判定ルール参照データ位置には、本フレーム(フレームIDで特定されるフレーム)に含まれるデータブロックの中で、他フレームが参照するブロックの位置がバイトオフセットとビット位置により指定される。すなわち、判定ルール参照データ情報は、他フレームが参照可能な本フレーム内のデータブロックの位置と、その識別子を定義するものであり、他フレームの参照フレーム情報で指定されうる情報である。なお、外部参照判定ルール54は、ここに挙げたルールに限定するものではなく、他のECUから送信されるフレームに関する他のルールを含めてもよい。
図2に戻り、フレーム送受信部34は、CAN22との間でCANプロトコルにしたがってフレームを送受信する。フレーム送受信部34は、CAN22からフレームのデータを1ビットずつ受信し、フレーム解釈部36へ送る。また、フレーム生成部40から出力されたフレームをCAN22へ送信する。
フレーム解釈部36は、フレーム送受信部34から1ビットずつフレームのデータを取得し、CANプロトコルにしたがってデータを解釈する。フレーム解釈部36は、取得したデータがCANプロトコルに則していないと判断した場合、1フレーム分のデータを受信する前であっても、エラーフレームの送信指示をフレーム生成部40へ通知する。フレーム解釈部36は、取得したデータがCANプロトコルに即している場合は、取得したデータを受信バッファ30へ格納する。
フレーム解釈部36は、1フレーム分の受信が完了し、フレームIDが処理対象となる所定値である場合、ECUの種類ごとに異なるフレームの処理を実行する。フレーム解釈部36は、フレームの処理において必要に応じて、センサ16またはアクチュエータ18へ送信すべきデータをデータ送受信部38へ送る。フレーム解釈部36は、1フレーム分の処理が完了すると、受信バッファ30をクリアする。
データ送受信部38は、フレーム解釈部36から受け付けたデータをECU14に接続されたセンサ16またはアクチュエータ18へ送信する。また、データ送受信部38は、センサ16またはアクチュエータ18から受け付けたデータをフレーム生成部40へ送る。
フレーム生成部40は、データ送受信部38からデータを受け付け、CANプロトコルにしたがってフレームを生成する。例えば、データ送受信部38から受け付けたデータの種類に応じたフレームIDを設定したフレームであり、データ送受信部38から受け付けたデータの少なくとも一部を含むフレームを生成する。フレーム生成部40は、生成したフレームをフレーム送受信部34へ送る。また、フレーム生成部40は、フレーム解釈部36からエラーフレームの送信指示を受け付けた場合、エラーフレームを生成してフレーム送受信部34へ送る。
実施例のECU14の特徴的な構成を説明する。フレーム送受信部34とフレーム解釈部36は互いに連携し、セキュリティECU20から、不正判定ルール50の送信を要求する要求データを受け付ける受信部として機能する。具体的には、フレーム解釈部36は、フレーム送受信部34を介してCAN22から受信されたフレームのIDが、不正判定ルール50の本体データを要求する第1所定値である場合、不正判定ルール50の本体データの送信指示をフレーム生成部40へ送る。また、フレーム解釈部36は、受信されたフレームのIDが、不正判定ルール50のバージョン情報を要求する第2所定値である場合、不正判定ルール50のバージョン情報の送信指示をフレーム生成部40へ送る。
フレーム生成部40とフレーム送受信部34は互いに連携し、上記の受信部で受け付けられた要求データに応じて、ルール保持部32に保持された不正判定ルール50をセキュリティECU20へ送信する送信部として機能する。具体的には、フレーム生成部40は、フレーム解釈部36から不正判定ルール50の本体データの送信指示を受け付けた場合、ルール保持部32に保持された不正判定ルール50の全データを含むフレームを生成する。フレーム送受信部34は、不正判定ルール50の全データを含むフレームをCAN22へ送信する。
また、フレーム生成部40は、フレーム解釈部36から不正判定ルール50のバージョン情報の送信指示を受け付けた場合、ルール保持部32に保持された不正判定ルール50のバージョン情報のみを含むフレームを生成する。フレーム送受信部34は、不正判定ルール50のバージョン情報のみを含むフレームをCAN22へ送信する。
図4は、図1のセキュリティECU20の機能構成を示すブロック図である。セキュリティECU20は、受信バッファ60、ルール保持部62、参照データ保持部64、フレーム送受信部66、フレーム解釈部68、不正判定部70、フレーム生成部72を備える。セキュリティECU20の受信バッファ60、フレーム送受信部66、フレーム解釈部68、フレーム生成部72は、図2に示したECU14の受信バッファ30、フレーム送受信部34、フレーム解釈部36、フレーム生成部40に対応する。以下、これらの機能ブロックのうち説明済みの構成については再度の説明を省略する。
ルール保持部62は、外部のECU14から送信されたフレームが不正であるか否かを判定するための不正判定ルール(図3)を記憶する記憶領域を含む。ルール保持部62は、車載ネットワークシステム12内の複数のECU14それぞれから提供された不正判定ルールを各ECU14に対応づけて保持する。言い換えれば、ルール保持部62は、各ECUから送信するフレームと同じフレームIDを有するフレームが不正か否かを判定するために、ECUごとの不正判定ルールを保持する。
具体的には、ルール保持部62は、フレーム解釈部68から送出された更新用の不正判定ルールを受け付け、更新用の不正判定ルールに含まれるECU型番に対応付けて、当該不正判定ルールを所定の記憶領域へ新規格納する。ルール保持部62は、更新用の不正判定ルールに含まれるECU型番に対応付けて既存の不正判定ルールが格納済みの場合、更新用の不正判定ルールにより既存の不正判定ルールを更新する。
ルール保持部62は、不正判定ルールの新規格納または更新時に、バージョン値のチェック処理、および、改ざん有無のチェック処理をさらに実行する。また、ルール保持部62は、不正判定部70から受け付けたフレームIDに対応する不正判定ルールを不正判定部70へ送る。
ここで、実施例における不正判定ルールのバージョン管理処理を説明する。一部既述したように、ルール保持部62は、複数のECU14それぞれのECU型番、不正判定ルール、メジャーバージョン番号、マイナーバージョン番号を改ざんできない形で保持する。各ECU14は、ECU型番、メジャーバージョン番号、マイナーバージョン番号を付与した不正判定ルールをセキュリティECU20へ送る。ルール保持部62は、ECU14から取得したECU型番に対応する不正判定ルールについて、ECU14から取得したメジャーバージョン番号と、ルール保持部62で予め保持するメジャーバージョンとを比較する。
両者のメジャーバージョン番号が不一致の場合、ルール保持部62は、ECU14から取得した不正判定ルールをルール保持部62へ新規格納する。または、ECU14から取得した不正判定ルールによりルール保持部62における既存の不正判定ルールを更新し、すなわち置き換える。両者のメジャーバージョン番号が不一致の場合、両者のメジャーバージョン番号の大小関係、両者のマイナーバージョン番号の異同に関わらず、ルール保持部62の不正判定ルールを更新する。また、ECU14から取得したメジャーバージョン番号がルール保持部62で予め保持するメジャーバージョン番号より古いものであっても、ルール保持部62の不正判定ルールを更新する。例えば、ECU14から取得したECU型番に対応付けられたルール保持部62の既存データを、ECU14から取得した不正判定ルール、メジャーバージョン番号、マイナーバージョン番号に置き換える。
ECU14が保持するメジャーバージョン番号と、セキュリティECU20が保持するメジャーバージョン番号が不一致とは、ECU14が交換された場合(例えば古い形式のECU14へ交換された場合)等に発生する。また、メジャーバージョンが異なれば、個別判定ルールおよび外部参照判定ルールが大きく変化している可能性がある。そのため、セキュリティECU20が保持する不正判定ルールを、ECU14にあわせて更新することが望ましいと言える。
一方、両者のメジャーバージョン番号が一致する場合、ルール保持部62は、ECU14から取得したECU型番に対応する不正判定ルールについて、ECU14から取得したマイナーバージョン番号と、ルール保持部62で予め保持するマイナーバージョン番号とをさらに比較する。ルール保持部62は、ECU14から取得したマイナーバージョンの値が、ルール保持部62で予め保持するマイナーバージョンの値より新しいこと(例えばより大きい番号であること)を条件として、ECU14から取得した不正判定ルールによりルール保持部62における既存の不正判定ルールを更新する。メジャーバージョン番号が一致すれば不正判定ルールが大きく変化している可能性は低く、また、マイナーバージョン番号が新しい方が、より新しい機能追加およびバグ修正に対応していると考えられるからである。
変形例として、不正判定ルールには、メジャーバージョン番号とマイナーバージョン番号とに区分けされない単一種類のバージョン番号が対応付けられてもよい。セキュリティECU20のルール保持部62は、ECU14から取得したECU型番に対応する不正判定ルールについて、ECU14から取得したバージョン番号が、ルール保持部62で予め保持するバージョン番号より新しい場合に、ECU14から取得した不正判定ルールによりルール保持部62における既存の不正判定ルールを更新してもよい。
次に、実施例における改ざん有無のチェック処理を説明する。セキュリティECU20のルール保持部62は、ルートCA(Certificate Authority)証明書を改ざんされない形で保持する。各ECU14は、上記のルートCA証明書により署名検証可能な署名されたECU証明書と、ECU証明書に対応する秘密鍵を使って署名された自身の不正判定ルールを保持する。各ECU14は、ECU証明書と、署名付きの不正判定ルールをセキュリティECU20へ送る。セキュリティECU20のルール保持部62は、ECU証明書をルートCA証明書を使用して検証し、不正判定ルールをECU証明書を使用して検証する。セキュリティECU20のルール保持部62は、上記2つの検証の両方が成功した場合に、不正判定ルールを更新する。なお署名付与および検証には、一般的なデジタル署名アルゴリズムを使用する。
参照データ保持部64は、第1フレームに対する不正判定処理で参照される第2フレームのデータとその識別子(すなわち判定ルール参照データ識別子)とを対応付けて保持する。言い換えれば、参照データ保持部64は、第2フレーム(のフレームID)に対応する不正判定ルールで定められた判定ルール参照データ情報にしたがって第2フレームから抽出されたデータである判定ルール参照データを保持する。
フレーム解釈部68は、1フレーム分の受信が完了し、受信フレームをそのIDに基づいて更新用の不正判定ルールと解釈した場合、そのフレームをルール保持部62へ送る。フレーム解釈部68は、受信フレームを更新用の不正判定ルールと解釈しない場合、すなわち不正判定対象データと解釈した場合、そのフレームを不正判定部70へ送る。フレーム解釈部68は、1フレーム分の処理が完了すると受信バッファ60をクリアする。
不正判定部70は、ルール保持部62に保持された不正判定ルールにしたがって、外部のECU14から送信されたフレームが不正なものか否かを判定する。具体的には、不正判定部70は、フレーム解釈部68から受け付けたフレーム(以下「判定対象フレーム」とも呼ぶ。)のフレームIDをルール保持部62へ送り、ルール保持部62からそのフレームIDに対応付けられた不正判定ルールを取得する。不正判定部70は、ルール保持部62から取得した不正判定ルールを参照して、判定対象フレームが不正か否かを判定する。判定対象フレームを不正と判断した場合、不正判定部70は、エラーフレームの送信指示をフレーム生成部72へ通知する。
フレーム生成部72は、フレーム解釈部68または不正判定部70からエラーフレームの送信指示を受け付けた場合、CANプロトコルに則したエラーフレームを生成してフレーム送受信部66へ送る。ルール保持部62は、所定の条件が満たされた場合に、他のECU14が保持する不正判定ルールを取得して格納する。不正判定ルールの更新処理の詳細は、図8に関連して後述する。
以上の構成による車載ネットワークシステム12の動作を説明する。
図5は、図1のECU14の動作を示すフローチャートである。ECU14のフレーム送受信部34は、CAN22におけるフレームの送信開始を検出すると(S10のY)、そのフレームのデータを1ビット受信する(S12)。フレーム解釈部36は、受信したフレームがエラーフレームでなく(S14のN)、1フレーム分のデータの受信が未完了であれば(S16のN)、受信した1ビットのデータを受信バッファ30へ追加し(S18)、S12に戻る。
フレーム解釈部36は、1フレーム分のデータの受信が完了し(S16のY)、フレームIDが自ECUで処理すべきフレームを示す所定値であれば(S20のY)、受信フレームに基づくデータ処理を実行する(S22)。例えば、フレーム解釈部36は、受信したリモートフレームで指定されたデータを、自ECUに接続されたセンサ16から取得し、取得したデータを含むデータフレームをCAN22へ送信してもよい。またフレーム解釈部36は、受信したリモートフレームで指定されたデータをアクチュエータ18へ送信し、アクチュエータ18の制御結果を含むデータフレームをCAN22へ送信してもよい。また、S22のフレーム処理の一態様として、フレーム解釈部36およびフレーム生成部40は、受信フレームが不正判定ルールの送信要求を含む場合、自ECUで予め記憶する不正判定ルールをセキュリティECU20へ提供する処理を実行する。不正判定ルールの提供処理の詳細は、図8に関連して後述する。
フレーム解釈部36は、受信フレームのフレームIDが上記所定値以外であれば(S20のN)、S22をスキップし、例えば受信したフレームを廃棄する。フレーム解釈部36は、受信フレームがエラーフレームであれば(S14のY)、所定のエラー処理を実行し(S28)、例えばそれまで受信したフレームデータを廃棄する。フレーム解釈部36は、CAN22のバスアイドルを待ち(S24)、受信バッファ30に格納した受信データをクリアする(S26)。電源オフ等の所定の終了条件が満たされると(S30のY)、本図のフローを終了し、終了条件が満たされなければ(S30のN)、S10に戻る。フレームの送信開始を未検出であれば(S10のN)、S12〜S28をスキップしてS30の判定へ進む。
図6は、図1のセキュリティECU20の動作を示すフローチャートである。セキュリティECU20のフレーム送受信部66は、CAN22におけるフレームの送信開始を検出すると(S40のY)、そのフレームのデータを1ビット受信する(S42)。フレーム解釈部68は、受信したフレームがエラーフレームでなく(S44のN)、フレームIDを未受信であれば(S46のN)、受信した1ビットのデータを受信バッファ60へ追加し(S48)、S42に戻る。フレームIDを受信済であれば(S46のY)、不正判定部70は、後述の不正判定処理を実行する(S50)。不正判定処理において不正と判定されず、言い換えれば、それまでの受信データが正常と判定された場合(S52のN)、フレーム解釈部68は、1フレーム分のデータを受信したか否かを判定する。
1フレーム分のデータの受信が未完了であれば(S54のN)、受信した1ビットのデータを受信バッファ60へ追加し(S48)、S42に戻る。1フレーム分のデータの受信が完了すると(S54のY)、フレーム解釈部68は、CAN22のバスアイドルを待ち(S56)、受信バッファ60に格納した受信データをクリアする(S58)。電源オフ等の所定の終了条件が満たされると(S60のY)、本図のフローを終了し、終了条件が満たされなければ(S60のN)、S40に戻る。
不正判定処理において受信データが不正と判定された場合(S52のY)、フレーム生成部72はエラーフレームを生成し、フレーム送受信部66はエラーフレームをCAN22へ送信する(S62)。なお、不正判定部70は、受信データを不正と判定した場合、所定のログへエラーを記録してもよく、IVI(In-Vehicle Infotainment)システム等にエラー表示を指示してもよい。フレーム解釈部68は、受信したフレームがエラーフレームであれば(S44のY)、所定のエラー処理を実行し、例えば受信したフレームのデータを破棄する(S64)。フレームの送信開始を未検出であれば(S40のN)、以降の処理をスキップして、S60の判定へ進む。
なお、実施例では、フレームIDを受信後、1ビット受信する毎に不正判定処理を実行するが、データ単位を構成する複数のビットを受信する毎に不正判定処理を実行する構成としてもよい。また、図6では不図示だが、セキュリティECU20は、起動時に、ECU14と連携してルール保持部62に記憶された不正判定ルールの更新処理を実行する。不正判定ルールの更新処理の詳細は、図8に関連して後述する。
図7は、図6のS50の不正判定処理を詳細に示すフローチャートである。不正判定部70は、受信フレームのフレームIDをルール保持部62に渡す。ルール保持部62は、保持している複数の不正判定ルールの中から、不正判定部70から渡されたフレームIDに一致する不正判定ルールを検索する(S70)。フレームIDに一致する不正判定ルールが存在しなければ(S72のN)、不正判定部70は、受信フレームが不正と判定する(S84)。フレームIDに一致する不正判定ルールが存在すると(S72のY)、不正判定部70は、受信フレームが不正か否かを、フレームIDが一致する不正判定ルールの個別判定ルールにしたがって判定する(S74)。フレームの形式または内容が個別判定ルールで定められた正常の範囲を逸脱する場合、例えばフレームデータ長がルールが定める許容範囲外であるとき(S76のY)、不正判定部70は、受信フレームを不正と判定する(S84)。
個別判定ルールで正常と判定されると(S76のN)、不正判定部70は、受信フレームが不正か否かを、フレームIDが一致する不正判定ルールの外部参照判定ルールにしたがって判定する(S78)。フレームの形式または内容が外部参照判定ルールで定められた正常の範囲を逸脱する場合、例えば参照判定ルール要素で定まる判定条件を満たさないとき(S80のY)、不正判定部70は、受信フレームを不正と判定する(S84)。外部参照判定ルールによっても正常と判定されると(S80のN)、不正判定部70は、受信フレームを正常と判定する(S82)。不正判定部70は、当該ルールの中の判定ルール参照データ情報に基づいて、他のフレームの外部参照判定ルールにより参照されるデータを抽出する。そして不正判定部70は、抽出したデータを、判定ルール参照データ識別子と対応付けて参照データ保持部64へ格納する(S86)。
図8は、不正判定ルールの更新の動作を示すフローチャートである。同図では、ECU14の動作とセキュリティECU20の動作をレーン分けして示している。また、ECU14とセキュリティECU20の間のデータ送受を波線で示している。図8では、ECU14を1つだけ描いているが、実際にはセキュリティECU20は、複数のECU14に対応する複数の不正判定ルールの更新処理を順次または並行して実行する。
セキュリティECU20のフレーム生成部72は、自動車10の電源オンに伴う起動時に、不正判定ルールのバージョン番号の提供を要求する所定のIDを設定したフレーム(以下「バージョン要求フレーム」と呼ぶ。)を生成する。起動時は、自動車10のイグニッションスイッチがオフからオンに切り替えられた場合とも言える。フレーム送受信部66は、バージョン要求フレームをCAN22へ送信する(S90)。
ECU14のフレーム解釈部36が、受信フレームのフレームIDに基づいてバージョン要求フレームを受信したことを検出すると、フレーム生成部40は、ルール保持部32に保持された不正判定ルールのバージョン値を含むデータフレーム(以下「バージョン通知フレーム」と呼ぶ。)を生成する。実施例のバージョン通知フレームは、メジャーバージョン番号、マイナーバージョン番号、ECU型番を含む。フレーム送受信部34は、バージョン通知フレームをCAN22へ送信する(S92)。
セキュリティECU20のフレーム解釈部68は、受信フレームのフレームIDがバージョン通知フレームの値である場合、受信フレームをバージョン通知フレームと認識してルール保持部62へ渡す。ルール保持部62は、バージョン通知フレームが示すメジャーバージョン番号およびマイナーバージョン番号に基づいて、不正判定ルールの更新要否を決定する。ルール保持部62により不正判定ルールを更新すべきと決定された場合(S94のY)、セキュリティECU20のフレーム生成部72は、ECU証明書を要求するフレーム(以下「証明書要求フレーム」と呼ぶ。)を生成する。フレーム送受信部66は、証明書要求フレームをCAN22へ送信する(S96)。
ECU14のフレーム解釈部36が、受信フレームのフレームIDに基づいて証明書要求フレームを受信したことを検出すると、フレーム生成部40は、自ECUのECU証明書を含むデータフレーム(以下「証明書フレーム」と呼ぶ。)を生成する。フレーム送受信部34は、証明書フレームをCAN22へ送信する(S98)。
セキュリティECU20のフレーム解釈部68は、受信フレームのフレームIDが証明書フレームの値である場合、受信フレームを証明書フレームと認識してルール保持部62へ渡す。ルール保持部62は、ルート証明書を使用して、証明書フレームに含まれるECU証明書の正当性(言い換えれば改ざんがないこと)を検証する。ECU証明書の正当性が確認された場合(S100のY)、フレーム生成部72は、署名付き不正判定ルールを要求するフレーム(以下「ルール要求フレーム」と呼ぶ。)を生成する。フレーム送受信部66は、ルール要求フレームをCAN22へ送信する(S102)。
ECU14のフレーム解釈部36が、受信フレームのフレームIDに基づいてルール要求フレームを受信したことを検出すると、フレーム生成部40は、ルール保持部32に保持される不正判定ルールと署名を含むデータフレーム(以下「ルールフレーム」と呼ぶ。)を生成する。この署名は、例えば不正判定ルールのハッシュ値をECU14の秘密鍵で暗号化したデータであってもよい。フレーム送受信部34は、ルールフレームをCAN22へ送信する(S104)。
セキュリティECU20のフレーム解釈部36は、受信フレームのフレームIDがルールフレームの値である場合、受信フレームをルールフレームと認識してルール保持部62へ渡す。ルール保持部62は、ルールフレームに含まれる不正判定ルールの正当性を署名に基づいて検証する。ルール保持部62は、不正判定ルールの正当性が確認された場合(S106のY)、ルールフレームに含まれる不正判定ルール、メジャーバージョン番号、マイナーバージョン番号等を所定の記憶領域へ格納する(S108)。
バージョン番号に基づいてルールの更新が不要と判定された場合(S94のN)、ECU証明書の正当性の確認に失敗した場合(S100のN)、不正判定ルールの正当性の確認に失敗した場合(S106のN)、以降の処理をスキップして本図のフローを終了する。なお、S100のNおよび/またはS106のNの場合、ルール保持部62は、所定のログへエラーを記録してもよく、IVIシステム等にエラー表示を指示してもよい。
実施例の車載ネットワークシステム12によると、多数設置されたECU14それぞれの交換やファーム更新等の変化に追随して、セキュリティECU20が保持する不正判定ルールを更新していくことが容易になる。すなわち、セキュリティECU20が保持する不正判定ルールのメンテナンスコストを低減できる。また、セキュリティECU20が保持する不正判定ルールのバージョン値と、ECU14が保持する不正判定ルールのバージョン値とに基づいて、適切なタイミングでかつ効率的に、セキュリティECU20が保持する不正判定ルールを更新することができる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
第1変形例として、不正判定ルール更新のバリエーションを説明する。(1)セキュリティECU20からECU14へ不正判定ルールのバージョン番号を要求し、ECU14から応答がない場合、セキュリティECU20は、応答があるまで所定のT秒間隔でバージョン番号の要求を繰り返してもよい。要求をN回(Nは2以上の整数)繰り返してもECU14からの応答を未受信の場合、セキュリティECU20は、要求先のECU14を不活性ECUと見なしてもよい。不活性ECUは、正常に動作していないECUと言え、不正なECUとも言える。
(2)セキュリティECU20からECU14へECU証明書または不正判定ルールを要求し、ECU14から応答がない場合、セキュリティECU20は、応答があるまで所定のS秒間隔で要求を繰り返してもよい。要求をM回(Mは2以上の整数)繰り返してもECU14からの応答を未受信の場合、要求先のECU14を不活性ECUと見なしてもよい。ここでT≧SかつN≧Mとすることが望ましい。バージョン番号を取得したにも関わらず、ECU証明書または不正判定ルールを取得できないことは考えにくく、不正ECUの可能性が高いためであり、また、不正ECUを早期に検出するためである。
(3)セキュリティECU20は、不活性ECUのECU型番を記憶する。セキュリティECU20の不正判定部70(またはフレーム解釈部68)は、受信フレームのフレームIDにより特定される不正判定ルールを参照し、その不正判定ルールのECU型番が不活性ECUの型番と一致する場合、受信フレームを不活性ECUから送信されたフレームと判定する。不正判定部70は、不活性ECUから送信された全てのフレームを、対応する不正判定ルールに関わらず、一律に不正と判定する。不正ECUから送信されたフレームの可能性が高いからである。
第2変形例を説明する。上記実施例の車載ネットワークシステム12では、電源オン等に伴う起動時に不正判定ルールの更新処理を実行した。変形例として、セキュリティECU20(例えばフレーム生成部72)は、ECU14の交換やファームウェアの更新等が検出された場合に、交換や更新等の対象になったECU14の不正判定ルールに対する更新処理を実行してもよい。
第3変形例を説明する。上記実施例では車載ネットワークをCAN22としたが、イーサネット(登録商標)等の他の種類のネットワークであってもよい。
第4変形例を説明する。上記実施例のECU14は、セキュリティECU20からの要求に応じて、不正判定ルールおよびそのバージョンをセキュリティECU20へ提供した。変形例として、ECU14は、電源オン等に伴う起動時、ファームウェア更新時、交換時等において、ルール保持部32に格納された不正判定ルールおよびそのバージョンをセキュリティECU20へ送信する処理を、セキュリティECU20からの要求を待つことなく、自発的・能動的に実行してもよい。
第5変形例を説明する。上記実施例のセキュリティECU20は、ECU14から送信されたフレームの不正を検知する専用装置としたが、変形例として、ECU14と同様のフレーム処理をさらに実行してもよい。すなわち、変形例のセキュリティECU20は、センサ16またはセキュリティECU20に接続され、受信フレームが不正か否かを判定する機能とともに、受信フレームが正常である場合に受信フレームに基づくデータ処理を実行する機能(例えば図5のS22)を備えてもよい。
なお、実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
車載ネットワークを介して他の電子制御ユニットと接続される不正検知電子制御ユニットであって、他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶する記憶部と、規則にしたがって、他の電子制御ユニットから送信されたフレームが不正であるかを判定する判定部と、を備え、記憶部は、所定の条件が満たされた場合に、他の電子制御ユニットが保持する規則を取得して、記憶された規則を更新する不正検知電子制御ユニット。
この不正検知電子制御ユニットによると、車載ネットワークのセキュリティを効率的に向上することができる。
[項目2]
記憶部は、他の電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した第一バージョンの値と、記憶部が予め記憶する規則の第二バージョンの値との比較結果に応じて、記憶された規則を更新してもよい。
この態様によると、不正検知電子制御ユニットが保持する不正判定ルールの更新を効率的に実現できる。
[項目3]
規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含んでもよい。記憶部は、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、記憶された規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、第一メジャーバージョンの値が第二メジャーバージョンの値より古くても、記憶された規則を更新してもよい。
この態様によると、不正検知電子制御ユニットが保持する不正判定ルールを、適切なタイミングでかつ効率的に更新することができる。
[項目4]
車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであって、車載ネットワーク上に送信された、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶する記憶部と、不正検知電子制御ユニットから、規則の送信要求を受信する受信部と、規則の送信要求に応じて、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信する送信部と、を備える電子制御ユニット。
この電子制御ユニットによると、車載ネットワークのセキュリティを効率的に向上することができる。
[項目5]
電子制御ユニットと、車載ネットワークを介して電子制御ユニットと接続される不正検知電子制御ユニットと、を備える車載ネットワークシステム。不正検知電子制御ユニットは、電子制御ユニットから送信されたフレームが不正であるか否かを判定するための規則を記憶する第一記憶部と、規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定する判定部と、所定の条件が満たされた場合に、電子制御ユニットに対して規則の送信要求を送信する第一送信部と、を含む。電子制御ユニットは、規則の送信要求に応じて、第二記憶部に予め記憶する規則を不正検知電子制御ユニットへ送信する第二送信部を含む。不正検知電子制御ユニットは、電子制御ユニットから受信した規則を第一記憶部へ記憶する。
この車載ネットワークシステムによると、車載ネットワークのセキュリティを効率的に向上することができる。
[項目6]
車載ネットワークを介して他の電子制御ユニットと接続され、かつ、他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶部に記憶する不正検知電子制御ユニットが、規則にしたがって、他の電子制御ユニットから送信されたフレームが不正であるかを判定し、所定の条件が満たされた場合に、他の電子制御ユニットが保持する規則を取得して、記憶部に記憶する規則を更新する不正検知方法。
この不正検知方法によると、車載ネットワークのセキュリティを効率的に向上することができる。
[項目7]
車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットが、不正検知電子制御ユニットから、規則の送信要求を受信し、規則の送信要求に応じて、電子制御ユニットから送信されたフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信する不正検知方法。
この不正検知方法によると、車載ネットワークのセキュリティを効率的に向上することができる。
[項目8]
車載ネットワークを介して他の電子制御ユニットと接続され、かつ、他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶部に記憶する不正検知電子制御ユニットに、規則にしたがって、他の電子制御ユニットから送信されたフレームが不正であるかを判定し、所定の条件が満たされた場合に、他の電子制御ユニットが保持する規則を取得して、記憶部に記憶する規則を更新することを実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、車載ネットワークのセキュリティを効率的に向上することができる。
[項目9]
車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットに、不正検知電子制御ユニットから、規則の送信要求を受信し、規則の送信要求に応じて、電子制御ユニットから送信されたフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信することを実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、車載ネットワークのセキュリティを効率的に向上することができる。
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
本発明は、車両等の移動体のネットワークに限らず、汎用的なネットワークで接続されたユニット間で不正を検出するための規則を更新するために利用可能である。
12 車載ネットワークシステム、 14 ECU、 20 セキュリティECU、 32 ルール保持部、 34 フレーム送受信部、 36 フレーム解釈部、 40 フレーム生成部、 62 ルール保持部、 66 フレーム送受信部、 68 フレーム解釈部、 70 不正判定部、 72 フレーム生成部。

Claims (7)

  1. 車載ネットワークを介して他の電子制御ユニットと接続される不正検知電子制御ユニットであって、
    前記他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶する記憶部と、
    前記規則にしたがって、前記他の電子制御ユニットから送信されたフレームが不正であるかを判定する判定部と、を備え、
    前記記憶部は、前記他の電子制御ユニットが保持する規則を取得して、記憶された前記規則を更新し、
    前記記憶部は、前記他の電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した前記第一バージョンの値と、前記記憶部が予め記憶する規則の第二バージョンの値との比較結果に応じて、予め記憶する規則を更新し、
    規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含み、
    前記記憶部は、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、予め記憶する規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、前記第一メジャーバージョンの値が前記第二メジャーバージョンの値より古くても、予め記憶する規則を更新する、
    不正検知電子制御ユニット。
  2. 車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであって、
    前記車載ネットワーク上に送信された、前記電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶する記憶部と、
    前記不正検知電子制御ユニットから、規則の送信要求を受信する受信部と、
    前記規則の送信要求に応じて、前記電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを前記不正検知電子制御ユニットが判定するために使用する、前記記憶部に記憶された規則を前記不正検知電子制御ユニットへ送信する送信部と、
    を備え
    前記不正検知電子制御ユニットは、前記電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した前記第一バージョンの値と、前記不正検知電子制御ユニットが予め記憶する規則の第二バージョンの値との比較結果に応じて、前記電子制御ユニットから取得した規則により予め記憶する規則を更新するものであり、
    規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含み、
    前記不正検知電子制御ユニットは、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、予め記憶する規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、前記第一メジャーバージョンの値が前記第二メジャーバージョンの値より古くても、予め記憶する規則を更新するものである、
    電子制御ユニット。
  3. 電子制御ユニットと、
    車載ネットワークを介して前記電子制御ユニットと接続される不正検知電子制御ユニットと、を備え、
    前記不正検知電子制御ユニットは、
    前記電子制御ユニットから送信されたフレームが不正であるか否かを判定するための規則を記憶する第一記憶部と、
    前記規則にしたがって、前記電子制御ユニットから送信されたフレームが不正であるかを判定する判定部と、
    記電子制御ユニットに対して規則の送信要求を送信する第一送信部と、を含み、
    前記電子制御ユニットは、前記規則の送信要求に応じて、第二記憶部に予め記憶する規則を前記不正検知電子制御ユニットへ送信する第二送信部を含み、
    前記不正検知電子制御ユニットは、前記電子制御ユニットから受信した規則を前記第一記憶部へ記憶し、
    前記不正検知電子制御ユニットは、前記電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した前記第一バージョンの値と、前記不正検知電子制御ユニットが予め記憶する規則の第二バージョンの値との比較結果に応じて、前記電子制御ユニットから受信した規則により予め記憶する規則を更新し、
    規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含み、
    前記不正検知電子制御ユニットは、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、予め記憶する規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、前記第一メジャーバージョンの値が前記第二メジャーバージョンの値より古くても、予め記憶する規則を更新する、
    車載ネットワークシステム。
  4. 車載ネットワークを介して他の電子制御ユニットと接続され、かつ、前記他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶部に記憶する不正検知電子制御ユニットが、
    前記規則にしたがって、前記他の電子制御ユニットから送信されたフレームが不正であるかを判定する処理と
    記他の電子制御ユニットが保持する規則を取得して、前記記憶部に記憶する規則を更新する処理と、を実行し、
    前記更新する処理は、前記他の電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した前記第一バージョンの値と、前記記憶部が予め記憶する規則の第二バージョンの値との比較結果に応じて、予め記憶する規則を更新することを含み、
    規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含み、
    前記更新する処理は、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、予め記憶する規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、前記第一メジャーバージョンの値が前記第二メジャーバージョンの値より古くても、予め記憶する規則を更新することを含む
    不正検知方法。
  5. 車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、前記電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットが、
    前記不正検知電子制御ユニットから、規則の送信要求を受信し、
    前記規則の送信要求に応じて、前記電子制御ユニットから送信されたフレームが不正であるかを前記不正検知電子制御ユニットが判定するために使用する、前記記憶部に記憶された規則を前記不正検知電子制御ユニットへ送信し、
    前記不正検知電子制御ユニットは、前記電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した前記第一バージョンの値と、前記不正検知電子制御ユニットが予め記憶する規則の第二バージョンの値との比較結果に応じて、前記電子制御ユニットから取得した規則により予め記憶する規則を更新するものであり、
    規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含み、
    前記不正検知電子制御ユニットは、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、予め記憶する規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、前記第一メジャーバージョンの値が前記第二メジャーバージョンの値より古くても、予め記憶する規則を更新するものである、
    不正検知方法。
  6. 車載ネットワークを介して他の電子制御ユニットと接続され、かつ、前記他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶部に記憶する不正検知電子制御ユニットに、
    前記規則にしたがって、前記他の電子制御ユニットから送信されたフレームが不正であるかを判定する処理と
    記他の電子制御ユニットが保持する規則を取得して、前記記憶部に記憶する規則を更新する処理と、を実行させ
    前記更新する処理は、前記他の電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した前記第一バージョンの値と、前記記憶部が予め記憶する規則の第二バージョンの値との比較結果に応じて、予め記憶する規則を更新することを含み、
    規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含み、
    前記更新する処理は、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、予め記憶する規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、前記第一メジャーバージョンの値が前記第二メジャーバージョンの値より古くても、予め記憶する規則を更新することを含む、
    コンピュータプログラム。
  7. 車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、前記電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットに、
    前記不正検知電子制御ユニットから、規則の送信要求を受信し、
    前記規則の送信要求に応じて、前記電子制御ユニットから送信されたフレームが不正であるかを前記不正検知電子制御ユニットが判定するために使用する、前記記憶部に記憶された規則を前記不正検知電子制御ユニットへ送信する、ことを実行させ
    前記不正検知電子制御ユニットは、前記電子制御ユニットが保持する規則の第一バージョンの値を取得し、取得した前記第一バージョンの値と、前記不正検知電子制御ユニットが予め記憶する規則の第二バージョンの値との比較結果に応じて、前記電子制御ユニットから取得した規則により予め記憶する規則を更新するものであり、
    規則のバージョンの値は、メジャーバージョンの値と、マイナーバージョンの値を含み、
    前記不正検知電子制御ユニットは、(1)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が一致する場合、取得した第一マイナーバージョンの値が予め記憶する第二マイナーバージョンの値より新しければ、予め記憶する規則を更新し、(2)取得した第一メジャーバージョンの値と予め記憶する第二メジャーバージョンの値が不一致の場合、前記第一メジャーバージョンの値が前記第二メジャーバージョンの値より古くても、予め記憶する規則を更新するものである、
    コンピュータプログラム。
JP2017004593A 2017-01-13 2017-01-13 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム Active JP6887108B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017004593A JP6887108B2 (ja) 2017-01-13 2017-01-13 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム
PCT/JP2017/043721 WO2018131334A1 (ja) 2017-01-13 2017-12-06 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム
US16/451,388 US11075927B2 (en) 2017-01-13 2019-06-25 Fraud detection electronic control unit, electronic control unit, and non-transitory recording medium in which computer program is described

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017004593A JP6887108B2 (ja) 2017-01-13 2017-01-13 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2018111468A JP2018111468A (ja) 2018-07-19
JP6887108B2 true JP6887108B2 (ja) 2021-06-16

Family

ID=62840429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017004593A Active JP6887108B2 (ja) 2017-01-13 2017-01-13 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US11075927B2 (ja)
JP (1) JP6887108B2 (ja)
WO (1) WO2018131334A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020021715A1 (ja) * 2018-07-27 2020-01-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正対処方法、不正対処装置および通信システム
JP7147635B2 (ja) * 2019-03-05 2022-10-05 トヨタ自動車株式会社 不正送信データ検知装置
JP7215378B2 (ja) 2019-09-18 2023-01-31 トヨタ自動車株式会社 車載制御装置、情報処理装置、車両用ネットワークシステム、アプリケーションプログラムの提供方法、及びプログラム
US20230080885A1 (en) * 2021-09-14 2023-03-16 Bank Of America Corporation Systems and methods for detection of synthetic identity malfeasance
JP7507205B2 (ja) 2021-12-20 2024-06-27 本田技研工業株式会社 通信監視装置および通信監視方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4747686B2 (ja) * 2005-06-07 2011-08-17 大日本印刷株式会社 ソフトウェア管理装置、ソフトウェア管理システム及びプログラム。
JP2007181061A (ja) * 2005-12-28 2007-07-12 Hitachi Ltd 電子制御装置、canシステム、及び、canシステムの故障診断方法
US8607346B1 (en) * 2010-09-27 2013-12-10 Juniper Networks, Inc. Dynamic resilience for intrusion detection and prevention systems
IL219597A0 (en) * 2012-05-03 2012-10-31 Syndrome X Ltd Malicious threat detection, malicious threat prevention, and a learning systems and methods for malicious threat detection and prevention
EP3852313B1 (en) 2014-04-03 2022-06-08 Panasonic Intellectual Property Corporation of America Network communication system, fraud detection electronic control unit and anti-fraud handling method
CN110610092B (zh) 2014-04-17 2023-06-06 松下电器(美国)知识产权公司 车载网络***、网关装置以及不正常检测方法
EP4064614B1 (en) * 2015-01-20 2023-11-01 Panasonic Intellectual Property Corporation of America Irregularity detection rule update for an on-board network
JP6573819B2 (ja) * 2015-01-20 2019-09-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム

Also Published As

Publication number Publication date
US20190312895A1 (en) 2019-10-10
US11075927B2 (en) 2021-07-27
JP2018111468A (ja) 2018-07-19
WO2018131334A1 (ja) 2018-07-19

Similar Documents

Publication Publication Date Title
JP6887108B2 (ja) 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム
US10397212B2 (en) Information device, data processing system, data processing method, and non-transitory storage medium for executing content upon authentication
US20180234248A1 (en) Communication system, vehicle, and monitoring method
US20160378457A1 (en) Program update system and program update method
US9208318B2 (en) Method and system for device integrity authentication
JP6488702B2 (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
US11245535B2 (en) Hash-chain based sender identification scheme
JP5949572B2 (ja) 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
JP6814549B2 (ja) 演算装置、認証システム、認証方法
WO2015041161A1 (ja) 書換検出システム、書換検出装置及び情報処理装置
CN108696356B (zh) 一种基于区块链的数字证书删除方法、装置及***
JP6728700B2 (ja) 通信システム、通信プログラム、通信方法、および、通信装置
US20180310173A1 (en) Information processing apparatus, information processing system, and information processing method
US11558404B2 (en) On-board communication system, switching device, verification method, and verification program
US11232190B2 (en) Device attestation techniques
KR101457086B1 (ko) 임베디드 시스템의 펌웨어 무결성 검증 장치 및 방법
KR20130018397A (ko) 원격 소스로부터의 명령을 수행하는 시스템 및 방법
JP2017139733A (ja) プロセスチェーンにおけるパケットの生成及び認証
JP2017168907A (ja) 通信システム
JP2023543476A (ja) 車両内の電子デバイスのソフトウェアセキュリティを検証するための方法および関連するデバイス
JP7067508B2 (ja) ネットワークシステム
JP7110950B2 (ja) ネットワークシステム
JP2006140881A (ja) 認証情報付きネットワーク識別子生成装置および機器認証装置
CN114245183B (zh) 推流数据鉴权方法及装置
JP2017168904A (ja) 通信システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210423

R151 Written notification of patent or utility model registration

Ref document number: 6887108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03