(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して送受信されるフレームを監視し、受信された不正フレームの作用を打ち消す監視装置であって、
前記通信ネットワークから前記フレームを受信する受信手段と、
前記受信手段により受信したフレームが正規の送信元から送信された正規フレームであるか、又は前記正規の送信元から送信された正規フレームではない不正フレームどうかを判別する判別手段と、
前記判別手段により前記受信したフレームが不正フレームであると判別された場合、前記正規フレームと同じ内容を有するフレームを送信する送信手段とを有することを特徴とする監視装置。
【請求項２】
前記監視装置は、前記通信ネットワークに接続される制御装置に内蔵されることを特徴とする請求項１に記載の監視装置。
【請求項３】
通信ネットワークを介して送受信されるフレームを監視し、受信された不正フレームの作用を打ち消す監視装置であって、
前記通信ネットワークから前記フレームを受信する受信手段と、
前記受信手段により受信したフレームが正規の送信元から送信された正規フレームであるか、又は前記正規の送信元から送信された正規フレームではない不正フレームどうかを判別する判別手段と、
前記正規フレームに含まれる制御情報を保持するメモリと、
前記判別手段により前記受信したフレームが不正フレームであると判別された場合、所定の打消し信号を送信する送信手段とを有し、
前記判別手段は、前記メモリに格納された正規フレームに含まれる制御情報と前記受信手段により受信したフレームに含まれる制御情報が異なる場合に、前記受信手段により受信したフレームを不正フレームであると判別することを特徴とする監視装置。
【請求項４】
前記送信手段は、前記所定の打消し信号として、前記正規フレームと同じ制御信号を含むフレームを送信することを特徴とする請求項３に記載の監視装置。
【請求項５】
前記監視装置は、前記通信ネットワークに接続され、フレームを送受信する制御装置の外部にあり、前記制御装置とは別に前記通信ネットワークに接続され、前記制御装置からは前記通信ネットワークを介してフレームを受信することを特徴とする請求項１に記載の監視装置。
【請求項６】
前記判別手段は、前記受信手段により受信するフレームの受信時刻が所定の周期であるかどうかを調べ、前記所定の周期を外れて受信するフレームを不正フレームとして判別することを特徴とする請求項２又は５に記載の監視装置。
【請求項７】
前記通信ネットワークはＣＡＮバスの規格に準拠したフレームを送受信する車載用のネットワークであり、
前記フレームは当該フレームの送信元を示す送信元ｉｄと制御情報とを含むことを特徴とする請求項１乃至６のいずれか１項に記載の監視装置。
【請求項８】
請求項１乃至４のいずれか１項に記載の監視装置を内蔵し、通信路を介してフレームを送受信する複数の制御装置を有することを特徴とする通信システム。
【請求項９】
通信路に接続される、請求項１又は５に記載の監視装置と、
前記通信路を介してフレームを送受信する制御装置とを有することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は監視装置に関し、特に、例えば、車両に搭載されたネットワークの動作状況を監視するネットワーク監視装置に関する。
【背景技術】
【０００２】
最近の車両には電子制御が導入され、車両の各部を制御するＥＣＵが、例えば、コントローラ・エリア・ネットワーク（ＣＡＮ）の規格に準拠したインタフェースに従う共用バスに接続され、相互に通信するようになっている。本来的に、車載用のネットワークは、その車両で閉じたネットワークであり、外部とは隔離されている。しかしながら、保守管理するＥＣＵの機能向上などのためにそのソフトウェアを更新するために外部と通信する必要が生じている。このため、車載用のネットワークといえども、そのセキュリティを確保することが求められてきている。
【０００３】
このため従来より、車載用のネットワークにおいてもセキュリティを確保するための種々の技術が提案されている。
【０００４】
例えば、特許文献１には車載用ネットワークにおいてＥＣＵ間で送受信されるフレームから異常フレームを検出し、そのフレームに関係づけられる送信ＩＤを予め設定された異なるＩＤに替える構成を提案している。また、引用文献２では、ＥＣＵに通信制御部とＩ／Ｏ制御部とを備え、その通信制御部とＩ／Ｏ制御部が並列にネットワークバスと接続するようにし、Ｉ／Ｏ制御部が不正フレームを検知し、その不正フレームのＡＣＫフィールドを受信する前にその不正フレームを無効化する構成を提案している。
【０００５】
さらに、特許文献３では、車載用ネットワークが外部装置と通信する際に、送受信データを暗号化し、送受信フレームに付加する構成を提案している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−２２６９４６号公報
【特許文献２】特開２０１４−２３６２４８号公報
【特許文献３】特開２０１５−１０３１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら上記従来例では、以下のような課題がある。
【０００８】
特許文献１で提案されたシステムでは、予め攻撃された場合に、車載ネットワークで送受信される識別ＩＤを変更し送受信を成立させる構成となっている。そのため、ＥＣＵは送受信に使用する識別ＩＤを複数用意した状態で通信を成立させなければならないため、多くの情報を保持する必要があり、その結果、ソフトウェアのサイズが大きくなってしまう。また、予め備えられた識別ＩＤを使用したフレームが送受信された場合には、そのフレームが正規のフレームであるのか、不正フレームであるのかを受信装置で判別することができない。このように、巧妙な不正な攻撃に対しては脆弱性が露呈してしまう。
【０００９】
また、特許文献２で提案された構成では、不正フレームを検知し、不正フレームの送信データが送信完了（ＡＣＫ応答）するまでに、不正フレームを破壊させる事で受信装置に不正データを取得させないようにできる。しかしながら、送信装置（不正装置）の側からすれば送信完了していないので、不正フレームについても自動的にエラー再送が実行されてしまう。その結果、何度も何度も不正フレームが受信され、これを検知し送信完了（ＡＣＫ応答）までに不正フレームを破壊するという処理が繰り返されてしまう。このようにして、車載ネットワーク自体が飽和状態となり、正規フレームの送受信まで不能になってしまう。これは車両挙動に悪い影響を与え、重大な事態を生じさせる可能性がある。
【００１０】
さらに、特許文献３で提案されたようなシステムでは、送受信フレームにＭＡＣ値や簡易暗号を付加するが、これら付加情報を処理実行する場合、制御装置の処理負荷が増大したり、制御装置そのもののコストがアップしてしまう。また、巧妙な攻撃者が暗号鍵や認証データ（ＭＡＣ値）の計算方法を不正取得した場合には、より高度な制御を実行しているにも係らず、完全なりすましが成立し、車両が乗っ取られてしまうこともあり得る。
【００１１】
本発明は上記従来例に鑑みてなされたもので、車載ネットワークにおいて不正フレームを検知した場合に簡単な方法で効率的に不正フレームを無効化することが可能な監視装置、及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明の監視装置は次のような構成からなる。
【００１３】
即ち、本発明の第１の側面から見れば、通信ネットワークを介して送受信されるフレームを監視し、受信された不正フレームの作用を打ち消す監視装置であって、前記通信ネットワークから前記フレームを受信する受信手段と、前記受信手段により受信したフレームが正規の送信元から送信された正規フレームであるか、又は前記正規の送信元から送信された正規フレームではない不正フレームどうかを判別する判別手段と、前記判別手段により前記受信したフレームが不正フレームであると判別された場合、前記正規フレームと同じ内容を有するフレームを送信する送信手段とを有することを特徴とする。
【００１４】
また、本発明の第２の側面から見れば、前記監視装置は、前記通信ネットワークに接続される制御装置に内蔵されることを特徴とする。
【００１５】
また、本発明の第３の側面から見れば、通信ネットワークを介して送受信されるフレームを監視し、受信された不正フレームの作用を打ち消す監視装置であって、前記通信ネットワークから前記フレームを受信する受信手段と、前記受信手段により受信したフレームが正規の送信元から送信された正規フレームであるか、又は前記正規の送信元から送信された正規フレームではない不正フレームどうかを判別する判別手段と、前記正規フレームに含まれる制御情報を保持するメモリと、前記判別手段により前記受信したフレームが不正フレームであると判別された場合、所定の打消し信号を送信する送信手段とを有し、前記判別手段は、前記メモリに格納された正規フレームに含まれる制御情報と前記受信手段により受信したフレームに含まれる制御情報が異なる場合に、前記受信手段により受信したフレームを不正フレームであると判別することを特徴とする。
【００１６】
また、本発明の第４の側面から見れば、前記送信手段は、前記所定の打消し信号として、前記正規フレームと同じ制御信号を含むフレームを送信する。
【００１７】
また、本発明の第５の側面から見れば、前記監視装置は、前記通信ネットワークに接続され、フレームを送受信する制御装置の外部にあり、前記制御装置とは別に前記通信ネットワークに接続され、前記制御装置からは前記通信ネットワークを介してフレームを受信することを特徴とする。
【００１８】
また、本発明の第６の側面から見れば、前記判別手段は、前記受信手段により受信するフレームの受信時刻が所定の周期であるかどうかを調べ、前記所定の周期を外れて受信するフレームを不正フレームとして判別することを特徴とする。
【００１９】
また、本発明の第７の側面から見れば、前記通信ネットワークはＣＡＮバスの規格に準拠したフレームを送受信する車載用のネットワークであり、前記フレームは当該フレームの送信元を示す送信元ｉｄと制御情報とを含むことを特徴とする。
【００２２】
また、本発明の第８の側面から見れば、通信システムであって、上記の監視装置を内蔵し、通信路を介してフレームを送受信する複数の制御装置を有することを特徴とする。
【００２３】
また、本発明の第９の側面から見れば、通信システムであって、通信路に接続される、上記監視装置と、前記通信路を介してフレームを送受信する制御装置とを有することを特徴とする。
【発明の効果】
【００２４】
従って本発明の第１の側面乃至第９の側面の構成によれば、不正フレームによる影響を簡単な構成で検出し無効化することが可能になる。
【００２５】
第２乃至第４の側面の構成によれば、制御装置に監視装置を組み込むことができる。
【００２６】
第５乃至第６の側面の構成によれば、監視装置を制御装置とは独立にしてネットワークに接続して用いることができる。
【００２７】
第７の側面に構成によれば、車載用ネットワークに監視装置を組み込んで、車載用ネットワークに侵入する不正フレームを無効化することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の代表的な実施例である車載用ネットワークの構成を示すブロック図である。
【図２】ＥＣＵ１が受信するフレームをどのように処理するのかを説明する図である。
【図３】ＥＣＵ０の監視装置が実行する監視処理を示すフローチャートである。
【図４】ＥＣＵ１の制御プログラムが実行する受信フレームに基く更新処理を示すフローチャートである。
【図５】監視装置がＣＡＮバスに接続される複数のＥＣＵで送受信されるフレームを集中監視する構成の車載用ネットワークの構成を示すブロック図である。
【発明を実施するための形態】
【００２９】
以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。
【００３０】
図１は本発明の代表的な実施例である車載用ネットワークの構成を示すブロック図である。
【００３１】
図１に示されるように、車載用ネットワーク（以下、ネットワーク）１は、ＣＡＮバス６００に接続された複数のＥＣＵ（電子制御ユニット：制御装置）１００、２００、３００が互いにＣＡＮバスの規格に従ったフレームを送受信することでデータ通信を実現している。なお、説明を簡単にするために、ここでは３つのＥＣＵが接続されているとしているが、実際の車両にはこれ以上の数のＥＣＵが接続されている。
【００３２】
さて、ネットワーク１ではデータセキュリティのために、ＥＣＵ１００（ＥＣＵ０）には監視装置１３０が内蔵され、ネットワーク１を監視している。ＥＣＵ１００には外部機器４００やセンサ５００が接続され、例えば、センサ５００から入力される信号や他のＥＣＵからの情報に基いて、外部機器４００の動作を電子制御する。
【００３３】
ＥＣＵ１００は、制御部１１０とＣＡＮバス６００を介した通信を制御する通信ユニット（ＣＵ）１２０とネットワークを監視する監視装置１３０と外部機器４００とのインタフェースとなる送受信回路１４０とセンサ５００とのインタフェースとなるセンサ５００とを含む。制御部１１０はＥＣＵ１００の全体の動作を制御するＣＰＵ１１１とＣＰＵ１１１が実行する制御プログラムを格納するＲＯＭ１１２とＣＰＵ１１１が制御プログラムを実行する際の作業領域となるＲＡＭ１１３とを含む。また、ＲＯＭ１１２にはその内容が書き換え可能なＥＥＰＲＯＭなどの不揮発性メモリを含む。監視装置１３０にもＣＰＵ１３１、ＲＯＭ１３２、ＲＡＭ１３３が内蔵されている。そして、制御部１１０と監視装置１３０とは内部通信により互いの状態を監視して知ることができる。
【００３４】
通信ユニット（ＣＵ）１２０は、制御部１１０からの制御信号ＳＴＢと監視装置１３０からの制御信号ＩＮＨ＿ＳＴＢとがＡＮＤ回路１６０に入力され、これら２つの信号が共にＯＮになったときに、動作可能になる。
【００３５】
また、制御部１１０と通信ユニット（ＣＵ）１２０との間にはスイッチ（ＳＷ）素子１８０、１９０が設けられ、制御部１１０から出力された送信信号Ｔｘの信号をスイッチ（ＳＷ）素子１８０により接続または遮断し、通信ユニット（ＣＵ）１２０で受信した受信信号Ｒｘの信号をスイッチ（ＳＷ）素子１９０により接続または遮断している。また、スイッチ（ＳＷ）素子１８０、１９０の動作は、監視装置１３０から出力される制御信号Ｔｘ＿ＩＮＨ、Ｒｘ＿ＩＮＨにより制御される。
【００３６】
図１に示す構成から分かるように、制御部１１０からの送信信号Ｔｘと監視装置１３０からの送信信号ＴｘとがＯＲ回路１７０に入力され、制御部１１０からの送信信号Ｔｘに基いて送信される信号と、監視装置１３０から送信される信号のいずれかが通信ユニット（ＣＵ）１２０よりＣＡＮバス６００に出力される。一方、通信ユニット（ＣＵ）１２０で受信した受信信号Ｒｘは制御部１１０と監視装置１３０の両方に入力される。
【００３７】
なお、センサ５００からの入力信号は信号Ｓｉｎ、Ｓｉｎ＿Ｃｈｋとして制御部１１０、監視装置１３０それぞれに入力される。
【００３８】
次に、以上のような構成のネットワークにおいて、ＥＣＵ（ＥＣＵｘ）３００が悪意のある不正フレームを出力する不正装置として動作し、ＥＣＵ（ＥＣＵ１）２００が正常に動作するとした場合に、監視装置１３０がどのようにネットワークを監視するのかについて説明する。この実施例において不正装置として作用するＥＣＵｘはＣＡＮバス仕様に準拠したインタフェースを有し、ＣＡＮバスを介して転送可能なフレームを生成し送信するＥＣＵのようなものであれば、何でも良く、例えば、車両の保守点検のためにＣＡＮバスに接続する検査装置のようなものでも良い。
【００３９】
・監視装置の役割
（１）不正フレームの検出
図１に示す構成から分かるように、監視装置１３０と制御部１１０とは内部通信や信号Ｔｘ＿Ｃｈｋを介して監視装置１３０は制御部１１０が送信するフレーム（正規フレーム）を受信し、そのフレームに含まれる送信元ｉｄと制御情報を知ることができる。これにより、監視装置１３０は制御部１１０により送信されるフレームを監視することができる。なお、制御部１１０から受信する正規フレームに関する情報は監視装置１３０のＲＡＭ（メモリ）１３３に格納される。
【００４０】
また、図１に示す構成から分かるように、通信ユニット（ＣＵ）１２０はＣＡＮバス６００の通信路により送受信される所定のフレームを受信することができ、その受信したフレームは制御部１１０のみならず監視装置１３０でも受信できる。
【００４１】
さて、ＣＡＮバスの技術仕様からすれば、送受信されるフレームは送信元を示す送信元ｉｄと制御情報とを含む。従って、監視装置１３０は受信したフレームの送信元ｉｄとＲＡＭ１３３に格納された正規フレームとを比較する。そして、その比較の結果に基いて、その送信元ｉｄが制御部１１０が送信したフレームと同じｉｄであった場合に、その制御情報から受信したフレームが自装置、即ち、ＥＣＵ１００の制御部１１０から送信されたものであるか、或いは、他のＥＣＵが自装置になりすまして送信したフレーム（不正フレーム）であるかを判別する。例えば、その受信フレームの受信タイミングが予め定められる周期で受信されたものであるかどうか、又は、その受信フレームの制御情報が制御部１１０から知らされた制御情報と同一であるかどうかを調べることにより、正規フレームか不正フレームかを判別することができる。
【００４２】
以上のように、監視装置１３０はＣＡＮバス通信路を介して送受信されるフレームを監視することで、そのフレームが本当に自装置（ＥＣＵ０）で送信したものであるかどうかを検出することができる。
【００４３】
（２）打ち消しフレームの送信
ＣＡＮバスにより接続された全てのＥＣＵは、受信したフレームを一時的に格納する受信バッファをＲＡＭに備える。そして、受信されたフレームを受信バッファからＬＩＦＯ（ＬａｓｔＩｎＦｉｒｓｔＯｕｔ）制御により取り出して、各ＥＣＵの制御に用いる。即ち、各ＥＣＵのＣＰＵは受信バッファに最も遅く（最近）格納されたフレームを読出し、その読み出されたフレームに含まれる制御情報に基いて制御を行う。
【００４４】
図２は、ＥＣＵ１が受信するフレームをどのように処理するのかを説明する図である。
【００４５】
図２では、送信元ｉｄが“Ａ”であるフレームが連続的にフレーム８０１、フレーム８０２、フレーム８０３の順に受信されＥＣＵ（ＥＣＵ１）２００の受信バッファ８００に格納される様子が示されている。このような場合、ＥＣＵ２００の制御プログラム７００は受信されたフレームの内、最新のフレーム（ここでは、フレーム８０３）を読み出して、そのフレームに含まれる制御情報を用いる。
【００４６】
さて、監視装置１３０が不正フレームを検出した場合、監視装置１３０は各ＥＣＵの受信バッファがＬＩＦＯ制御されるという性質を利用して、ただちに打ち消しフレーム（後述）を送信する。
【００４７】
例えば、図１と図２に示すように、フレーム８０１がＥＣＵ０からＥＣＵ１に送信された正規フレーム、フレーム８０２がＥＣＵｘからＥＣＵ１に送信された不正フレーム、フレーム８０３がＥＣＵ０からＥＣＵ１に送信された打ち消しフレームとする。上述のように、監視装置１３０はＣＡＮバスの通信路を監視しているので、監視装置１３０はフレーム８０２が不正フレームであることを検出することができる。このような場合、監視装置１３０は直ちにフレーム８０１と同じ制御情報を含むフレーム８０３を送信する。
【００４８】
なお、フレーム８０３の制御情報は、制御部１１０から内部通信によって取得しても良いし、センサ５００からの入力（Ｓｉｎ）を分岐して監視装置１３０がセンサ信号（Ｓｉｎ＿Ｃｈｋ）として入力し、そのセンサ信号に基いて監視装置１３０のＣＰＵ１３１がフレーム８０１と同じ制御情報を生成しても良い。
【００４９】
上述のように、ＥＣＵ１は最新の受信フレームを受信バッファ８００から読み出して制御に用いるので、この場合には、フレーム８０３が読み出されて制御に用いられ、不正フレームが用いられることはなく、正しい制御が継続される。このようにフレーム８０３は不正フレーム８０２の作用を打ち消す機能があるので、打ち消しフレームと呼ばれるのである。
【００５０】
そもそも、この実施例で説明している車載用ネットワークは、車両に搭載された様々なセンサの情報を取得し、そのセンサ情報に基いてアクチュエータの制御情報を生成し、その制御情報をＣＡＮバスを介して他のＥＣＵに送信することで車両を正常に動作させることを目的としている。しかしながら、車両特有の性質として、センサがある情報を検出してからその情報を反映させるアクチュエータが駆動されて実際に動作を行うまでには許容される時間がある。
【００５１】
例えば、図１に示すセンサ５００がアクセルペダルの押し込み量を検出するセンサであるとし、ＥＣＵ１が当該押し込み量に基いて車両の自動変速機の変速比を制御する役割を果たす制御装置であるとした場合を考える。このような場合、センサ５００からアクセルペダルの押し込み量に関する情報を取得し、その押し込み量と、別のセンサから取得した車両の速度に関する情報とに基いて、変速比を下げる必要があると判断した場合に、自動変速機がすぐさま動作して、変速比が低下する訳ではない。センサ５００から受信した情報をＥＣＵ０が処理して自動変速機への制御情報をフレームとしてＥＣＵ１に送信し、ＥＣＵ１により制御される自動変速機が変速比を変更する動作を開始する迄に、自動変速機の作動油圧の反応時間やアクチュエータの駆動遅延により数ミリ秒程度の遅延がある。従って、ＥＣＵ１はたとえ不正フレームを受信した場合でも、その遅延時間より前にＥＣＵ０からの打ち消しフレームを受信すれば、ＥＣＵ１が不正フレームを受信した場合でも新たに受信した打ち消しフレームの制御情報を制御プログラムが用いることができるので、不正フレームによる誤作動を防止することができる。
【００５２】
例えば、変速機の制御情報を格納したフレームが１００ミリ秒の周期で送受信され、制御プログラムが制御情報を最新情報に更新するとするならば、３００ミリ秒程度の動作遅延が許容されるシステムでは、新しいフレームを送信することで不正フレームによる誤動作を十分に防止できる。図２に戻って、この点を説明すると、フレーム８０１から８０３が周期１００ミリ秒で送受信され、制御プログラムが制御情報を更新するなら、フレーム８０３による打ち消しフレームは不正フレーム８０２によって生じる誤動作を十分に防止することができる。
【００５３】
なお、以上の説明で言及した数値やセンサや動作はあくまで例示的なものであり、車両の様々箇所の電子制御に適切な値が定められることは言うまでもない。一般には、フレームの送受信周期と制御情報の更新周期を予め、制御対象となるアクチュエータの反応速度より早く設定することで、制御プログラムは不正フレームの制御情報ではなく、次の更新周期で更新される打ち消しフレームの制御情報に基いて動作を制御することになる。
【００５４】
次に、ＥＣＵ０とＥＣＵ１がそれぞれ実行する不正フレームの監視処理と受信フレームによる制御情報の更新処理についてフローチャートを参照して説明する。
【００５５】
・監視処理と更新処理
図３はＥＣＵ０の監視装置１３０が実行する監視処理を示すフローチャートである。
【００５６】
監視装置１３０はＥＣＵ０が動作中常時、ＣＡＮバス６００の通信路を介して送受信されるフレームを監視する。そのため、ステップＳ１１０では、フレーム監視処理を実行するＣＡＮバス６００を監視する。
【００５７】
次に、ステップＳ１２０では通信ユニット（ＣＵ）１２０を介して受信したフレームがＥＣＵ０（自装置）が送信した正規フレームであるかどうかを調べる。上述のように、監視装置１３０は制御部１１０との内部通信によりＥＣＵ０が送信したフレームとそのフレームに含まれる送信元ｉｄと制御情報を知ることができる。従って、受信フレームの送信元ｉｄを調べ、その送信元ｉｄが予め知っている自装置の送信元ｉｄと同じであるかどうかを調べる。
【００５８】
ここで、受信フレームの送信元ｉｄが自装置の送信元ｉｄと異なる場合には、処理はステップＳ１１０に戻り、フレーム監視処理を続ける。これに対して、受信フレームの送信元ｉｄが自装置の送信元ｉｄである場合には、処理はステップＳ１３０に進み、その受信フレームが正規フレームであるか不正フレームであるかを判別する。ここでは、例えば、その受信フレームの受信タイミングが予め定められる周期で受信されたものであるかどうか、又は、その受信フレームの制御情報が制御部１１０から知らされた制御情報と同一であるかどうかを調べることにより、正規フレームか不正フレームかを判別できる。即ち、受信周期が予め定められる周期と異なっていたり、或いは、フレームに含まれる制御情報が先に自装置で送信したものと異なっていたりすれば、そのフレームは不正フレームと判定される。
【００５９】
そのようにして受信フレームが正規フレームであると判別された場合、処理はステップＳ１１０に戻り、フレーム監視処理を続ける。これに対して、その受信フレームが不正フレームであると判別された場合、処理はステップＳ１４０に進み、打ち消しフレームを生成する。即ち、先の正規フレームの送信において設定したのと同じ制御情報をセットして打ち消しフレームを生成する。そして、ステップＳ１５０において、生成された打ち消しフレームを送信する。その後、処理はステップＳ１１０に戻り、フレーム監視処理を続行する。
【００６０】
なお、打ち消しフレームには不正フレームの送信があった旨の情報を付加して送信しても良い。これにより受信側のＥＣＵに対して不正フレームの送信があった旨の警告を行うことができる。受信側のＥＣＵは不正フレームを受信した場合の対処を講じることも可能になる。
【００６１】
図４はＥＣＵ１の制御プログラムが実行する受信フレームに基く更新処理を示すフローチャートである。
【００６２】
ステップＳ２１０では前回フレーム受信から新たなフレームが受信されたかどうかを調べる。車両全体の制御から考えて、フレームの種別ごとに想定される受信周期があるので所定の時間がセットされたタイマによりフレーム受信を待ち合わせることができる。ここで、フレーム受信がないと判断された場合には、処理はステップＳ２７０に進み、タイマによる計時が所定時間、経過したかどうかを調べる。
【００６３】
ここで、所定時間が経過せずタイマによる監視が続いていると判断されると処理はステップＳ２１０に戻り、フレームの受信を待ち合わせる。これに対して、所定時間が経過しタイマ時間切れと判断された場合には、処理はステップＳ２８０に進み、ＣＡＮバス６００に異常が発生し、通信が途絶したと判断する。その後、処理はステップＳ２１０に戻る。この通信異常は信号線の断線などのハードウェアの故障や、複数のフレームが通信路上で衝突したことを検出し、その衝突回数が所定回数以上となったことや、衝突によるフレーム送信のための待機時間が所定時間を超えたことなどが考えられる。そして、ＥＣＵ１は他のＥＣＵに対して通信異常が発生した旨の通知を試みる。
【００６４】
さて、ステップＳ２１０において、新たなフレームが受信され受信バッファ８００に格納されたと判断された場合、処理はステップＳ２２０に進む。ステップＳ２２０では受信フレームが打ち消しフレームである旨を示す情報があるかどうかを調べる。ここで、その受信フレームが打ち消しフレームを示す情報がないと判断された場合、処理はステップＳ２５０に進み、制御プログラム７００はその受信フレームに格納された制御情報で制御情報を更新して最新のものにする。その後、処理はステップＳ２６０に進む。
【００６５】
これに対して、新たなフレームが打ち消しフレームであると判断された場合、処理はステップＳ２３０に進む。ステップＳ２３０では、受信フレームが打ち消しフレームである故に、不正フレームの送信が発生したなど通常の通信とは異なる事象（通信異常）が発生したと認識する。さらに、処理はステップＳ２４０では、受信したフレームは打ち消しフレームであり、そのフレームに設定された情報は正規の制御情報であるので、制御プログラム７００はその受信フレームに格納された制御情報で制御情報を更新して最新のものにする。さらに、通信異常の発生を他のＥＣＵに対して通知する。
【００６６】
その後、処理はステップＳ２６０に進み、タイマをリセットする。その後、処理はステップＳ２１０に戻り、次のフレームの受信を待ち合わせる。
【００６７】
従って以上説明した実施例に従えば、ＥＣＵ内に備えられた監視装置が監視する受信フレームが不正フレームであるどうかを判別し、不正フレームを検出した場合には、それを打ち消すフレームを送信することができる。一方、そのフレームを受信するＥＣＵはフレームを次々に受信するが最新のフレームを受信バッファから読み出して制御に用いるので、たとえ不正フレームを受信しても、受信フレームが目的とする制御を行うためにある程度の遅延があるので、その後に受信する打ち消しフレームの制御情報を用いることで不正フレームに起因する誤動作の発生を防止し、正しい制御を行うことが可能になる。
【００６８】
＜その他の実施例＞
上述した実施例ではＥＣＵ内に備えられた監視装置が不正フレームの検出を行う構成を例として説明したが本発明はこれによって限定されるものではない。この実施例では、その監視装置がＥＣＵの外部に備えられ、ＣＡＮバスの通信路に直接接続されるような構成における不正フレームの検出とその不正フレームに伴う誤動作の防止について説明する。
【００６９】
図５は監視装置がＣＡＮバスに接続される複数のＥＣＵで送受信されるフレームを集中監視する構成の車載用ネットワークの構成を示すブロック図である。
【００７０】
図５に示す例では、ＣＡＮバス６００’に対して５つのＥＣＵ（ＥＣＵ０〜４）１００’、２００’、３００’、４００’、５００’、そして、監視装置１３０’が接続されているとする。ここでは、ＥＣＵ１００’が送信元ｉｄ“Ａ”の正規フレームを送信し、ＥＣＵ２００’が送信元ｉｄ“Ｂ”の正規フレームを送信するとし、ＥＣＵ３００’が不正装置として動作し、送信元ｉｄ“Ａ”の不正フレームを送信し、ＥＣＵ４００’が不正装置として動作し、送信元ｉｄ“Ｂ”の不正フレームを送信するとする。
【００７１】
一方、監視装置１３０’では前述の実施例と同様にＣＡＮバス６００’を介して送受信されるフレームを全て受信する。そして、フレームのタイプに従って定められた周期でフレームが受信されるかどうかを監視する。例えば、前述の実施例で説明したように自動変速機の制御情報を格納したフレームは１００ミリ秒の周期で送受信される。この場合、あるタイミングで正規フレームを受信した１００ミリ秒後に次の正規フレームが受信されることを予測できる。この性質を利用して、この実施例の監視装置１３０’は不正フレームの受信を検出する。
【００７２】
つまり、監視装置１３０’の受信バッファ（不図示）に受信したフレームの受信時刻を調べ、その受信時刻が所定の周期となっているかどうかを調べる。そして、所定周期以外のタイミングで受信したフレームを不正フレームと判断する。不正フレームが検出された場合、その直前に受信したフレーム（正規フレーム）に格納された制御情報とその送信先ｉｄとを用いて打ち消しフレームを生成し、送信する。
【００７３】
なお、不正フレームの検出は所定周期以外のフレーム検出を行う方法により本発明が限定されるものではない。例えば、車両の特定の部分の１回の制御に必要なフレーム数などを指標とし、必要数以上のフレームが受信された場合に、これを不正フレームと判断するなど他の方法を用いても良い。また、監視装置１３０’は、ＣＡＮバス６００’とは異なるＣＡＮバス６０１’（不図示）とに接続されて、ＣＡＮバス６００’と ＣＡＮバス６０１’とのフレームの通信を仲介するゲートウェイ装置としての機能を備えていてもよい。
【００７４】
従って以上説明した実施例によれば、ＣＡＮバスにＥＣＵとは別に接続された別個の監視装置を用いて不規則に発生する不正フレームを検出し、さらに打ち消しフレームを生成して送信することができる。これによって、前述の実施例と同様に不正フレームに起因する誤動作の発生を防止し、正しい制御を行うことが可能になる。
【００７５】
[実施形態のまとめ]
構成１．
通信ネットワーク（６００）を介して送受信されるフレームを監視する監視装置（１３０、１３０’）であって、前記通信ネットワークから前記フレームを受信する受信手段（１２０）と、前記受信手段により受信したフレームが正規の送信元から送信された正規フレーム（８０１）であるか、又は前記正規の送信元から送信された正規フレームではない不正フレーム（８０２）どうかを判別する判別手段（１３１）と、前記判別手段により前記受信したフレームが不正フレームであると判別された場合、前記正規フレームと同じ内容を有するフレーム（８０３）を送信する送信手段（１２０）とを有することを特徴とする。
【００７６】
構成２．
前記監視装置（１３０）は、前記通信ネットワークに接続される制御装置（１００）に内蔵されることを特徴とする。
【００７７】
構成３．
前記監視装置と前記制御装置とは前記通信ネットワークとは別に内部通信によって互いに接続され、前記監視装置は、前記制御装置が正規の送信元とする正規フレームを前記内部通信を介して前記制御装置から受信して保持するメモリ（１３３）をさらに有し、前記判別手段は、前記メモリに格納された正規フレームと前記受信手段により受信したフレームとを比較し、該比較の結果に基いて、前記受信したフレームが正規フレームであるか、又は不正フレームであるかを判別することを特徴とする。
【００７８】
構成４
前記判別手段は、前記受信手段により受信するフレームの受信時刻が所定の周期であるかどうかを調べ、前記所定の周期を外れて受信するフレームを不正フレームとして判別することを特徴とする。
【００７９】
構成５．
前記監視装置（１３０’）は、前記通信ネットワークに接続され、フレームを送受信する制御装置の外部にあり、前記制御装置とは別に前記通信ネットワークに接続され、前記制御装置からは前記通信ネットワークを介してフレームを受信することを特徴とする。
【００８０】
構成６．
前記判別手段は、前記受信手段により受信するフレームの受信時刻が所定の周期であるかどうかを調べ、前記所定の周期を外れて受信するフレームを不正フレームとして判別することを特徴とする。 
構成７．
前記通信ネットワークはＣＡＮバスの規格に準拠したフレームを送受信する車載用のネットワークであり、前記フレームは当該フレームの送信元を示す送信元ｉｄと制御情報とを含むことを特徴とする。
【００８１】
構成８．
前記通信ネットワークに接続される、前記フレームの受信側の制御装置（２００）は、受信バッファ（８００）を備え、前記受信バッファは受信したフレームを順に格納し、前記受信側の制御装置は前記受信バッファに格納されたフレームの内、最新の受信フレームを前記受信バッファから読み出して、前記受信フレームに含まれる制御情報に基いた制御を実行することを特徴とする。
【００８２】
構成９．
前記送信手段は、前記不正フレームによる制御を打ち消すために、前記受信側の制御装置が前記受信バッファに格納された最新の受信フレームを読み出して制御に用いることを利用して、前記正規フレームと同じ内容を有するフレームを送信することを特徴とする。
【００８３】
構成１０．
通信システム（１）であって、構成１乃至４のいずれかに記載の監視装置を内蔵し、通信路を介してフレームを送受信する複数の制御装置（１００、２００、３００）を有することを特徴とする。
【００８４】
構成１１．
通信システム（１）であって、通信路に接続される、構成１、５、及び、６のいずれかに記載の監視装置と、前記通信路を介してフレームを送受信する制御装置とを有することを特徴とする。
【００８５】
上記の構成１乃至構成１０によれば、簡単な構成で検出された不正フレームの効果を無効にすることが可能になる。
【符号の説明】
【００８６】
１  車載用ネットワーク、１００  ＥＣＵ（電子制御ユニット）、１１０  制御部、
１１１  ＣＰＵ、１２０  通信ユニット（ＣＵ）、１３０  監視装置、
２００、３００  ＥＣＵ、６００  ＣＡＮバス
【図１】
0006404848.tif 000002
【図２】
0006404848.tif 000003
【図３】
0006404848.tif 000004
【図４】
0006404848.tif 000005
【図５】
0006404848.tif 000006