(57)【要約】【課題】モビリティが備えるネットワークに送信される不正な加速制御指示の攻撃フレームに適切に対処する監視装置を提供する。【解決手段】モビリティが備えるネットワークで伝送される、モビリティを操舵するための加速制御指示を監視する監視装置１００は、モビリティの状況及び当該モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及び車載ネットワーク１０で伝送されている加速制御指示を取得する受信部１１０１と、取得された状況情報が示す状況と、取得された加速制御指示が示す制御内容とを比較することで、加速制御指示が不正な制御指示であるか否かを判定し、判定の結果を示す情報を出力する判定部３１０１とを備える。【選択図】図６
2019212972.tif 000002
【特許請求の範囲】
【請求項１】
モビリティが備えるモビリティネットワークで伝送される、前記モビリティを加速させるための加速制御指示を監視する監視装置であって、
前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報を、及び前記モビリティネットワークで伝送されている前記加速制御指示を取得する取得部と、
取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とを比較することで、前記加速制御指示が不正な制御指示であるか否かの判定を実行し、前記判定の結果を示す情報を出力する判定部と、
を備える監視装置。
【請求項２】
前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を無効化する無効化部、
をさらに備える請求項１記載の監視装置。
【請求項３】
前記判定部は、前記加速制御指示が、前記状況情報が示す状況と不整合の制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項１又は２記載の監視装置。
【請求項４】
前記判定部は、前記状況情報が示す状況が、前記モビリティの設定速度又は前記モビリティが走行する場所の規制速度を示し、かつ、前記加速制御指示が、前記モビリティを前記設定速度又は前記規制速度を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項５】
前記判定部は、前記状況情報が示す状況が、前記モビリティの進行方向にある物体との距離を示し、かつ、前記加速制御指示が、前記モビリティを、第１所定値を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項６】
前記判定部は、前記状況情報が示す状況が、前記モビリティを減速させるべき状況を示し、かつ、前記加速制御指示が、前記モビリティを、第２所定値を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項７】
前記判定部は、前記状況情報が示す状況が、前記モビリティの先行モビリティから前記モビリティが走行すべき速度を示す情報を受信したことを示し、かつ、前記加速制御指示が、受信した前記情報が示す速度を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項８】
前記判定部は、前記状況情報が示す状況が、前記モビリティが備える先進運転者支援システムがオフであることを示し、かつ、前記加速制御指示が、第３所定値を超える速度で走行させる制御内容を示す、又は、前記取得部が所定期間内に前記加速制御指示を取得した場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項９】
モビリティが備えるモビリティネットワークで伝送される、前記モビリティを加速させるための加速制御指示を監視する監視装置による監視方法であって、
前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報を、及び前記モビリティネットワークで伝送されている前記加速制御指示を取得し、
取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とを比較することで、前記加速制御指示が不正な制御指示であるか否かを判定し、
前記判定の結果を示す情報を出力する、
監視方法。
【請求項１０】
請求項９記載の監視方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば車両に搭載される電子制御ユニットが通信を行う車載ネットワークにおいて送信される車速制御指示メッセージについての不正に対処するためのセキュリティ技術に関する。
【背景技術】
【０００２】
近年、自動車の中のシステムには、電子制御ユニット（ＥＣＵ：Electronic Control Unit）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ＩＳＯ１１８９８−１で規定されているＣＡＮ（Controller Area Network）という規格が存在する。
【０００３】
ＣＡＮでは、通信路は２本のワイヤで構成されたバス（ＣＡＮバス）であり、バスに接続されているＥＣＵはノードと呼ばれる。ＣＡＮバスに接続されている各ノードは、フレーム（メッセージ）を送受信する。フレームを送信する送信ノードは、２本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「１」の値と、ドミナントと呼ばれる「０」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを６ｂｉｔ連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
【０００４】
またＣＡＮでは、送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎に、メッセージＩＤと呼ばれるＩＤを付けて送信し（つまりバスに信号を送出し）、各受信ノードは予め定められたメッセージＩＤのみを受信する（つまりバスから信号を読み取る）。また、ＣＡＮでは、ＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access/Collision Avoidance）方式を採用しており、複数ノードの同時送信時にはメッセージＩＤによる調停が行われ、メッセージＩＤの値が小さいフレームが優先的に送信される。自動車の中のシステムにおいては、多数のＥＣＵそれぞれは、様々な情報を含むフレームの授受を行う。例えば、各ＥＣＵがフレームを授受して連携することで、先進運転者支援システム（ＡＤＡＳ：Advanced Driver Assistance System）の車速制御支援機能等が実現される。車速制御支援機能の例としては、車速維持機能（クルーズコントロール（Cruise Control））、車間距離維持機能（アダプティブクルーズコントロール（Adaptive Cruise Control））、車間距離調整機能（コーオペラティブアダプティブクルーズコントロール（Cooperative Adaptive Cruise Control））が挙げられる。これらの機能を実現するためには、エンジン又はモーター等の原動機の出力を制御するアクセルＥＣＵと、先行車両、路面の区画線等、車両の周囲の物体の認識及び検知等を行うセンサＥＣＵと、加速が必要な状況を検知して加速制御指示のフレームを出す車速制御支援ＥＣＵ等とが連携する。
【０００５】
ところで、ＣＡＮバスに不正なノードを接続すること、又は携帯情報端末、車外の通信装置等と通信する機能を有するＥＣＵ等を攻撃して不正なノードに変化させること等により、攻撃者が、攻撃フレームをＣＡＮバスに送信して、自動車を不正にコントロールする脅威が存在する。攻撃フレームは、不正な攻撃者によってＣＡＮバスに送信されたフレームであり、車載ネットワークの正常状態において本来は送信されないフレーム（不正なフレーム）である。例えば、攻撃者により、先行車両との車間距離の短い状態で、急加速を発動させるような加速制御指示のフレームがＣＡＮバスに送信されると、その先行車両への追突等の事故が生じ得る。
【０００６】
このような攻撃フレームを検知して防御する技術として、センサが検知する車輪速、エンジン回転数などの物理量又は選択的状態を示す数値についての所定値を基準として予め登録しておき、この基準に基づいてフレームに含まれる値について異常判断を行う技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１１４８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１の技術では、攻撃者が送信する不正な加速制御指示の攻撃フレームに適切に対処するためには有用ではない。
【０００９】
そこで、本発明は、攻撃者により移動体におけるネットワーク（例えば車載ネットワーク）のバスに送信される不正な加速制御指示の攻撃フレームに適切に対処する監視装置、制御システム、制御方法、及び、当不正なフレームに適切に対処するために用いられるプログラムを提供する。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明の一態様に係る監視装置は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを加速させるための加速制御指示を監視する監視装置であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報を、及び前記モビリティネットワークで伝送されている前記加速制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とを比較することで、前記加速制御指示が不正な制御指示であるか否かの判定を実行し、前記判定の結果を示す情報を出力する判定部とを備える。
【００１１】
また、上記課題を解決するために本発明の一態様に係る監視方法は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを加速させるための加速制御指示を監視する監視装置による監視方法であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報を、及び前記モビリティネットワークで伝送されている前記加速制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とを比較することで、前記加速制御指示が不正な制御指示であるか否かを判定し、前記判定の結果を示す情報を出力する。
【００１２】
また、上記課題を解決するために本発明の一態様に係るプログラムは、上記の監視方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、移動体におけるネットワークのバスに送信される加速制御指示に係る不正なフレーム（攻撃フレーム）の無効化が可能となり得る。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態に係る車載ネットワークシステムの全体構成を示す図である。
【図２】図２は、ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。
【図３】図３は、ＣＡＮプロトコルで規定されるエラーフレームのフォーマットを示す図である。
【図４】図４は、実施の形態に係るアクセルＥＣＵの構成例を示すブロック図である。
【図５】図５は、車速制御支援ＥＣＵが送信する加速制御指示に係るデータフレームのデータフィールドの値が示す制御内容の一例を説明するための図である。
【図６】図６は、実施の形態に係るセキュリティＥＣＵ（監視装置）の構成例を示すブロック図である。
【図７】図７は、車速制御支援機能による制御による車速と車間距離との関係に基づいて定められる、加速制御指示の不正判定の条件について説明するための図である。
【図８】図８は、実施の形態に係るセキュリティＥＣＵで実行される監視処理の手順の一例を示すフローチャートである。
【図９】図９は、実施の形態における加速制御に係る処理シーケンスの一例を示す図である。
【図１０】図１０は、実施の形態の一変形例に係るアクセルＥＣＵの構成例を示すブロック図である。
【図１１】図１１は、上記の変形例に係る監視装置で実行される監視処理の手順の一例を示すフローチャートである。
【図１２】図１２は、上記の変形例における加速制御に係る処理シーケンスの一例を示す図である。
【発明を実施するための形態】
【００１５】
（本発明の基礎となった知見等）
車両の先進運転者支援システムでは、車速又は車間距離を一定に保とうとする車速制御支援ＥＣＵは、車速等の検知を行うセンサＥＣＵを含む、ネットワーク上の他のＥＣＵからＣＡＮバス等の通信線を介して取得した情報等に基づいて、加速が必要な状況が発生したときに加速制御指示（つまり加速制御指示のフレーム）をＣＡＮバスに送信する。その加速制御指示に従って、アクセルＥＣＵがエンジン又はモーター等の原動機の出力を制御することで車両が加速する。なお、加速制御指示の内容として、加速のために原動機の出力を上げる指示の他に、例えば車速の維持のために原動機の出力を上げる又は抑える指示、加速度を調整するために原動機の出力を上げる又は抑える指示が含まれてもよい。実際にはこれらの指示は、例えばアクセル開度で表されてもよい。
【００１６】
攻撃者により、不正な加速制御指示の攻撃フレーム（不正なフレーム）が送信され、その不正な加速制御指示が、車速制御支援ＥＣＵが送信する適正な加速制御指示と相違する内容である場合においては、車両等の事故につながる可能性がある。適正な加速制御指示は、車両の実際の速度、車両速度に対するドライバーによる設定、若しくは車両で有効な運転支援機能等の車両の状況、又は走行中の場所での速度に関する規制、若しくは先行車両との車間距離等の車両の走行する外界の状況に対応した内容となるべきである。
【００１７】
そこで、ＣＡＮバスに送信された加速制御指示が、これらのような車両の状況又は車両の外界の状況に応じた適正な加速制御指示か、これらの状況と不整合な内容の不正な加速制御指示かを、判定する方法に想到した。なお、車両はこの方法の適用対象の一例であり、その他の移動体にもこの方法を適用し得る。
【００１８】
本発明の一態様に係る監視装置等では、その方法を実行して不正な加速制御指示を特定する。また、不正な加速制御指示であればさらに無効化することで、その加速制御指示に従って加速制御を実行することを抑止する。これにより、不正な加速制御指示の攻撃フレームによって引き起こされる事故の防止が可能となる。
【００１９】
本発明の一態様に係る監視装置は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを加速させるための加速制御指示を監視する監視装置であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報を、及び前記モビリティネットワークで伝送されている前記加速制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とを比較することで、前記加速制御指示が不正な制御指示であるか否かの判定を実行し、前記判定の結果を示す情報を出力する判定部とを備える。これにより、車両の状況及び車両の外界の状況（以下、特に区別せずにまとめて車両等の状況ともいう）に照らして適切か否かに基づいて、ネットワークに送信された加速制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【００２０】
また、例えば、前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を無効化する無効化部をさらに備えてもよい。これにより、アクセルＥＣＵによる不正な加速制御指示に従っての加速制御の実行が抑止される。
【００２１】
また、例えば、前記判定部は、前記加速制御指示が、前記状況情報が示す状況と不整合の制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両等の状況と矛盾する加速制御指示は、不正な制御指示であると判定される。
【００２２】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティの設定速度又は前記モビリティが走行する場所の規制速度を示し、かつ、前記加速制御指示が、前記モビリティを前記設定速度又は前記規制速度を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティの先行モビリティから前記モビリティが走行すべき速度を示す情報を受信したことを示し、かつ、前記加速制御指示が、受信した前記情報が示す速度を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定もよい。これにより、ドライバーが車両に対して設定している制限速度、又は公的な制限を超える速度で車両を走行させる加速制御指示は、不正な制御指示であると判定される。
【００２３】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティの進行方向にある物体との距離を示し、かつ、前記加速制御指示が、前記モビリティを、第１所定値を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、例えば先行車両との車間距離を過度に詰めることになる速度で車両を走行させる加速制御指示は、不正な制御指示であると判定される。
【００２４】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティを減速させるべき状況を示し、かつ、前記加速制御指示が、前記モビリティを、第２所定値を超える速度で走行させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、減速が実行される状況で車両を加速させる加速制御指示は、不正な制御指示であると判定される。
【００２５】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティが備える先進運転者支援システムがオフであることを示し、かつ、前記加速制御指示が、第３所定値を超える速度で走行させる制御内容を示す、又は、前記取得部が所定期間内に前記加速制御指示を取得した場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、ＡＤＡＳ機能が無効である状況で、ＡＤＡＳ機能からの加速制御指示を装った可能性のある加速制御指示は、不正な制御指示であると判定される。
【００２６】
また、本発明の一態様に係る監視方法は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを加速させるための加速制御指示を監視する監視装置による監視方法であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報を、及び前記モビリティネットワークで伝送されている前記加速制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とを比較することで、前記加速制御指示が不正な制御指示であるか否かを判定し、前記判定の結果を示す情報を出力する。これにより、車両等の状況に照らして適切か否かに基づいて、ネットワークに送信された加速制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【００２７】
また、本発明の一態様に係るプログラムは、上記の監視方法をコンピュータに実行させるためのプログラムである。このプログラムが、プロセッサ（マイクロプロセッサ）を備えるコンピュータにインストールされ、そのコンピュータのプロセッサによって当該プログラムが実行されることで、バス上に現れた加速制御指示が不正であるか否か適切に判定される。
【００２８】
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【００２９】
以下、実施の形態に係る監視方法を実行する監視装置等について、図面を参照しながら説明する。ここで示す実施の形態は、本発明の一具体例を示すものである。したがって、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ（工程）及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【００３０】
なお、以下実施の形態では、自動車に搭載される車載ネットワークにおけるセキュリティ対策として説明するが、適用範囲はこれに限られない。自動車に限らず、建機、農機、船舶、鉄道、飛行機等の各種のモビリティが備えるモビリティネットワークに適用してもよい。
【００３１】
（実施の形態）
以下、本発明の実施の一態様として、モビリティの一例としての車両において車載ネットワークを構成するバス（ＣＡＮバス）に送信された不正な加速制御指示に係るフレームを無効化するセキュリティＥＣＵ（監視装置）を備える車載ネットワークシステムについて、図面を用いて説明する。なお、以下で説明する技術を船舶又は飛行機に適用する際には、走行は航行又は飛行、車線は移動経路等のように適宜読み替えて理解されたい。
【００３２】
［１．１  車載ネットワークシステム１０の構成］
図１は、実施の形態に係る車載ネットワークシステム１０の全体構成を示す図である。
【００３３】
車載ネットワークシステム１０は、図１に例示するように、車両２０に搭載された各種ＥＣＵ（セキュリティＥＣＵ１００、アクセルＥＣＵ３１０、センサＥＣＵ３２０、ブレーキＥＣＵ３３０、車速制御支援ＥＣＵ３５０、及び通信ＥＣＵ３８０）と、バス（ＣＡＮバス）３０とを含んで構成される。なお、車載ネットワークシステム１０には、例えばステアリングの制御に関わるＥＣＵ等の上記以外のＥＣＵも含まれ得るが、図示を省略する。また、車載ネットワークシステム１０は、図示が省略されたものも含むいずれかのＥＣＵがインターネット等の通信ネットワークを通じて通信する車両外部のサーバ装置等とあわせて、車両２０のための制御ネットワークシステムを構成してもよい。なお、外部との通信経路は、車載ネットワークシステム１０への不正なフレームの注入（送信）又はいずれかのＥＣＵを乗っ取るための侵入経路として、車載ネットワークシステム１０へのサイバー攻撃に利用され得る。
【００３４】
車載ネットワークシステム１０上の各ＥＣＵは、例えば、プロセッサ（マイクロプロセッサ）、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）等であり、プロセッサにより実行される制御プログラム（ソフトウェアとしてのコンピュータプログラム）を記憶することができる。例えばプロセッサが、制御プログラム（コンピュータプログラム）に従って動作することにより、ＥＣＵは各種機能を実現する。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。これらのＥＣＵは、ＣＡＮプロトコルに従ってバス３０を介してフレームの授受を行い得る。
【００３５】
車載ネットワークシステム１０上の一部のＥＣＵは、バス３０以外の通信路によりセンサ、アクチュエータ、ユーザインタフェース装置等の各種機器と接続されている。例えば、アクセルＥＣＵ３１０は、原動機３１１（のスロットル、燃料噴射装置、モーター駆動回路等）に接続され、原動機３１１を制御する。ブレーキＥＣＵ３３０は、ブレーキ３３１（のアクチュエータ）に接続され、ブレーキ３３１を制御する。なお、図１では、上記の各構成要素を制御するアクチュエータ等の個別の図示を省略しており、以下では説明の簡単のために、アクチュエータ等に対する制御指示を、各構成要素に対する制御指示と表現することがある。また、通信ＥＣＵ３８０は、アンテナ３８１に接続され、アンテナ３８１を介して車載ネットワークシステム１０の外部との通信を行う。図１では、通信相手の例として他の車両２１が示されている。つまり、通信ＥＣＵ３８０によって、車車間通信が実現される。また、センサＥＣＵ３２０は、物体検知センサ３２１及び速度センサ３２２に接続され、各センサで測定された測定情報を表すフレーム（データフレーム）を周期的にバス３０に送信する。車載ネットワークシステム１０において、個々のセンサに対応してセンサＥＣＵ３２０が複数存在してもよいが、説明の便宜上、複数のセンサそれぞれで測定された測定情報を表すフレームを送信し得る１つのセンサＥＣＵ３２０が存在する例を示す。ただし、センサＥＣＵ３２０には車載ネットワークシステム１０上の全てのセンサが接続される必要はなく、アクセルＥＣＵ３１０又はエンジンＥＣＵ３４０等の、センサＥＣＵ３２０以外のＥＣＵに接続されるセンサが存在してもよい。物体検知センサ３２１は、車両２０の進行方向又は周辺の車両、障害物、通行者、路面の区画線等の被検知物を検知する。また、車両２０と被検知物との間の距離等を測定する。より具体的には、例えば前方、側方、後方又は全周囲を撮影するカメラなどのカメラ（イメージセンサ）、レーダー、若しくはライダー又はこれらの組合せで実現され得る。速度センサ３２２は、車両２０の速度を検知するためのセンサである。ここでの車両２０の速度とは、例えば車両２０の絶対速度であるが、物体検知センサ３２１が検知した被検知物に対する車両２０の相対速度であってもよい。なお、車両２０の絶対速度は、移動していない被検知物に対する車両２０の相対速度に等しい。
【００３６】
車速制御支援ＥＣＵ３５０は、先進運転者支援システムの車速制御支援機能を担うＥＣＵである。車速制御支援ＥＣＵ３５０は、アクセルＥＣＵ３１０に加速制御を要求するために、センサＥＣＵ３２０から取得した測定情報等、他のＥＣＵから取得した情報に基づいて決定した制御内容の加速制御指示のフレームをバス３０に周期的に送信する。なお、車速制御支援ＥＣＵ３５０は、例えばセンサＥＣＵ３２０等の他のＥＣＵと統合又は直接接続されて、バス３０を介さずに測定情報等の各種の情報を取得してもよい。また、車速制御支援ＥＣＵ３５０と他のＥＣＵとの直接の接続は専用線を介して行われてもよい。
【００３７】
診断用ポート３９０は、ＯＢＤ２（On-Board Diagnostics 2）等のバス３０に接続された端子であり、診断用ポート３９０を介して、診断ツール（故障診断ツール）等の機器によるバス３０へのアクセスが可能となる。
【００３８】
通信ＥＣＵ３８０及び診断用ポート３９０もまた、車載ネットワークシステム１０への攻撃に利用され得る。
【００３９】
セキュリティＥＣＵ１００は、車載ネットワークシステム１０のセキュリティを確保するための機能を担う。本実施の形態では、セキュリティＥＣＵ１００は、バス３０を流れるフレームを監視し、バス３０上に現れた不正な加速制御指示に係るデータフレームをエラーフレームの送信によって無効化する装置であり、不正な加速制御指示の攻撃フレームに対処する監視装置として機能する。なお、セキュリティＥＣＵ１００は、不正な加速制御指示のフレームのみならず、バス３０上のデータフレームが不正か否かをその他の一定条件を用いて判定し、不正なデータフレームを無効化する機能を有してもよい。
【００４０】
［１．２  データフレームフォーマット］
以下、ＣＡＮプロトコルに従ったネットワークで用いられるフレームの１つであるデータフレーム（メッセージ）について説明する。
【００４１】
図２は、ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、ＣＡＮプロトコルで規定される標準ＩＤフォーマットにおけるデータフレームを示している。データフレームは、ＳＯＦ（Start Of Frame）、ＩＤフィールド、ＲＴＲ（Remote Transmission Request）、ＩＤＥ（Identifier Extension）、予約ビット「ｒ」、ＤＬＣ（Data Length Code）、データフィールド、ＣＲＣ（Cyclic Redundancy Check）シーケンス、ＣＲＣデリミタ「ＤＥＬ」、ＡＣＫ（Acknowledgement）スロット、ＡＣＫデリミタ「ＤＥＬ」、及び、ＥＯＦ（End Of Frame）の各フィールドで構成される。
【００４２】
ＳＯＦは、１ｂｉｔのドミナントで構成される。何らのメッセージも送信されていないアイドル状態のバスはレセシブであり、送信ノードであるＥＣＵは、バスをドミナントへ変更することでフレームの送信開始を通知する。
【００４３】
ＩＤフィールドは、１１ｂｉｔで構成される、データの種類を示す値であるＩＤ（メッセージＩＤ）を格納するフィールドである。複数のノードが同時に送信を開始した場合、ＩＤが小さい値を持つフレームを優先させて通信調停が行われる。
【００４４】
ＲＴＲは、データフレームと、データフレームの要求に用いられるリモートフレームとを識別するための値であり、データフレームではドミナント１ｂｉｔで構成される。
【００４５】
ＩＤＥ及び「ｒ」は、いずれもドミナント１ｂｉｔで構成される。
【００４６】
ＤＬＣは、４ｂｉｔで構成され、続くデータフィールドの長さを示す値である。なお、ＩＤＥ、「ｒ」及びＤＬＣを合わせてコントロールフィールドと称される。
【００４７】
データフィールドは、最大６４ｂｉｔで構成される、フレームで送信されるデータの内容を含む。長さは８ｂｉｔ単位で可変である。ＣＡＮプロトコルではデータの仕様については規定されておらず、設計者が決定できる。したがって、車載ネットワークシステムのデータの仕様は、車種、製造者（製造メーカ）等に依存する。
【００４８】
ＣＲＣシーケンスは１５ｂｉｔで構成される。送信ノードがＳＯＦ、ＩＤフィールド、コントロールフィールド及びデータフィールドの送信値より算出した結果が入る。受信ノードは、これらのフィールドの受信から同様に算出した結果をＣＲＣシーケンスの値と照らし合わせてフレームを正常に受信したか判断する。
【００４９】
ＣＲＣデリミタは、１ｂｉｔのレセシブで構成されるＣＲＣシーケンスの終了を表す区切り記号である。なお、ＣＲＣシーケンス及びＣＲＣデリミタを合わせてＣＲＣフィールドと称される。
【００５０】
ＡＣＫスロットは１ｂｉｔで構成される。送信ノードはＡＣＫスロットをレセシブにして送信を行う。受信ノードはＣＲＣシーケンスまで正常に受信ができていればＡＣＫスロットのタイミングでドミナントを確認応答として送信する。レセシブよりドミナントが優先されるため、送信後にＡＣＫスロットがドミナントであれば、送信ノードは、ＣＡＮバスに接続されるいずれかの受信ノードがフレームを正常に受信したことを確認できる。
【００５１】
ＡＣＫデリミタは、１ｂｉｔのレセシブで構成されるＡＣＫの終了を表す区切り記号である。
【００５２】
ＥＯＦは、７ｂｉｔのレセシブで構成されており、データフレームの終了を示す。
【００５３】
［１．３  エラーフレームフォーマット］
図３は、ＣＡＮプロトコルで規定されるエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ（プライマリ）と、エラーフラグ（セカンダリ）と、エラーデリミタとから構成される。
【００５４】
エラーフラグ（プライマリ）は、エラーの発生を他のノードに知らせるために使用される。エラーを検知したノードはエラーの発生を他のノードに知らせるために６ｂｉｔのドミナントを連続で送信する。この送信は、ＣＡＮプロトコルにおけるビットスタッフィングルール（同じ値を連続して６ｂｉｔ以上送信しない）に違反し、他のノードからのエラーフレーム（セカンダリ）の送信を引き起こす。
【００５５】
エラーフラグ（セカンダリ）は、エラーの発生を他のノードに知らせるために使用される連続した６ビットのドミナントで構成される。エラーフラグ（プライマリ）を受信してビットスタッフィングルール違反を検知した全てのノードがエラーフラグ（セカンダリ）を送信することになる。
【００５６】
エラーデリミタ「ＤＥＬ」は、８ｂｉｔの連続したレセシブであり、エラーフレームの終了を示す。
【００５７】
［１．４  アクセルＥＣＵ３１０の構成］
図４は、アクセルＥＣＵ３１０の構成例を示すブロック図である。原動機３１１を制御するためアクセルＥＣＵ３１０は、通信部１３１０と、データバッファ２３１０と、制御処理部３３１０とを備える。
【００５８】
通信部１３１０は、バス３０での通信の制御を担う集積回路（例えば通信回路、メモリ、プロセッサ等）である。通信部１３１０は、例えば、機能的な構成要素としてフレーム送受信機能部、受信フレーム解釈機能部等を含む。
【００５９】
フレーム送受信機能部は、例えば、バス３０に対してＣＡＮプロトコルに従ってフレームの送受信（フレームの１ｂｉｔずつの逐次送受信）を行う。
【００６０】
受信フレーム解釈機能部では、フレーム送受信機能部が受信したフレームの値を、ＣＡＮプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。受信フレーム解釈機能部では、ＩＤフィールドと判断した値に基づいて、アクセルＥＣＵ３１０が受信すべきデータフレーム（メッセージ）か否かを判別し、受信すべきＩＤでなければそのフレームの解釈を中止する。また、受信フレーム解釈機能部は、例えば、ＣＲＣの値が合わなかったり、ドミナント固定とされている項目がレセシブだったりする等、ＣＡＮプロトコルに則っていないフレームと判断した場合は、フレーム送受信機能部にエラーフレームを送信させる。また、受信フレーム解釈機能部は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームであると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。受信したデータフレームのＩＤが車載ネットワークシステム１０の仕様で予め定められている加速制御指示のフレームであることを示すＩＤの場合、通信部１３１０の受信フレーム解釈機能部において受信すべきデータフレームと判別される。受信フレーム解釈機能部は、受信すべきデータフレームと判別したフレームの内容（ＩＤ、データフィールドのデータ等）をデータバッファ２３１０に格納する。
【００６１】
データバッファ２３１０は、メモリ、レジスタ等といった記憶媒体の一記憶領域である。データバッファ２３１０には、通信部１３１０により受信されたデータフレームの内容としてのＩＤ、データフィールドの値が示す情報（例えば加速制御指示を示す情報）が格納される。バス３０上への、複数ノードからのデータフレームの同時送信時にはＩＤによる通信調停が行われる。このため、アクセルＥＣＵ３１０が、車速制御支援ＥＣＵ３５０が送信する加速制御指示に係るデータフレームをバス３０から受信するタイミングは、必ずしも一定周期（例えば５０ｍｓ等）と正確に一致するとは限らず、その一定周期から多少ずれることもある。アクセルＥＣＵ３１０では、このような通信調停の影響などによって生じる受信タイミングの変動にも対応して、受信したデータフレームを効率的に処理できるようデータバッファ２３１０が用いられる。
【００６２】
制御処理部３３１０は、データバッファ２３１０に格納されたフレームの内容（加速制御指示等を示す情報）を、周期的に又は一定条件（データバッファ２３１０へのフレーム格納に関連した条件等）が成立した場合等に取得し、その取得した情報が示す加速制御指示に従って、原動機３１１に制御信号を送信することで原動機３１１を制御する。
【００６３】
なお、ブレーキＥＣＵ３３０等の、アクチュエータを制御し得るＥＣＵは、通信部、データバッファ、及びアクチュエータの制御のための制御処理部を備える。また、センサと接続されたセンサＥＣＵ３２０については、センサでの測定結果を取得し、予め定められたメッセージＩＤを付してその測定結果を示す測定情報をデータフィールド内に含むデータフレームを生成する処理部と、そのデータフレームをＣＡＮプロトコルに従ってバス３０に送信するための通信部等を備える。この測定情報は、例えば被検知物の認識結果、車両２０と被検知物との距離、車両２０の速度等に関する測定結果を示す。なお、センサＥＣＵ３２０以外のＥＣＵであっても、センサと接続されている場合には、センサＥＣＵ３２０が備えるこのような各構成要素を備え得る。また、アンテナと接続された通信ＥＣＵ３８０については、車載ネットワークシステム１０の外部から通信データを受信する無線通信部、受信した通信データから車載ネットワークシステム１０に転送する情報を抽出し、その情報をデータフィールド内に含むデータフレームを、予め定められたメッセージＩＤを付して生成する処理部と、そのデータフレームをＣＡＮプロトコルに従ってバス３０に送信するためのＣＡＮ通信部等を備える。データフレームに含めて送信される情報とは、例えば車両２１の走行制御の状況、車両２１のセンサによる測定で得られた測定結果等、車両２０が走行する外界の状況を示す情報である。
【００６４】
［１．５  加速制御指示］
図５は、車速制御支援ＥＣＵ３５０が送信する加速制御指示に係るフレームのデータフィールドの一例を示す図である。この例では、加速制御指示のフレームのデータフィールドには、原動機３１１に対する出力の指定が含まれ、図５では、データフィールドの値とアクセル開度との対応の例を示している。なお、ここでのアクセル開度は、ドライバーが操作するアクセルペダルの実際の位置に応じた開度ではなく、車速制御支援ＥＣＵ３５０がアクセルＥＣＵ３１０に、原動機３１１の出力制御のために指定して使用させるパラメータの一例である。加速制御指示のフレームのデータフィールドにはアクセル開度以外の情報が付加されていてもよいが、ここでは説明の便宜上、アクセル開度のみに注目して説明する。この例では、アクセル開度は８ｂｉｔ値で表され、値２５５（１１１１１１１１）は、アクセル開度０を、値５５（００１１０１１１）はアクセル開度の最大値（この例では１００）を示し、その間の値は０．５刻みの出力を示す。
【００６５】
アクセルＥＣＵ３１０では、車速制御支援ＥＣＵ３５０から、アクセル開度の指定を含む加速制御指示を受信した場合に、このアクセル開度に従って原動機３１１を作動させる。より具体的な例で説明すると、加速制御指示のアクセル開度が最大量（この例では１００）であるときには、アクセルＥＣＵ３１０の制御処理部３３１０は、アクセルペダルが全行程踏み込まれた場合と同じ制御信号を送信して原動機３１１を作動させる。また、車速制御支援ＥＣＵ３５０から、アクセル開度をゼロと指定する加速制御指示を受信したときには、アクセルＥＣＵ３１０の制御処理部３３１０は、アクセルペダルが踏まれていない場合と同じ制御信号を原動機３１１へ送信する。なお、アクセルＥＣＵ３１０では、車両２０の加速の自動制御に関する設定等に応じて、ドライバーによるアクセルペダルの操作を反映した原動機３１１の制御と車速制御支援ＥＣＵ３５０からの加速制御指示に従う原動機３１１の制御との間で一方を他方に優先させることがある。
【００６６】
［１．６  セキュリティＥＣＵ１００の構成］
図６は、セキュリティＥＣＵ１００の構成例を示すブロック図である。セキュリティＥＣＵ１００は、バス３０に流れるフレームを監視し、バス３０上に現れた不正な加速制御指示に係るデータフレームを、エラーフレームの送信により無効化する制御装置としての機能を有し、この機能の実現のために、通信部１１００と、記憶部２１００と、監視処理部３１００とを備える。これらの各構成要素の各機能は、例えばセキュリティＥＣＵ１００における通信回路、メモリ等の記憶媒体、メモリに格納された制御プログラムを実行するプロセッサ又はデジタル回路等により実現される。
【００６７】
通信部１１００は、通信回路、制御プログラムを実行するプロセッサ等により実現される。通信部１１００は、ＣＡＮプロトコルに従ってバス３０との間のフレームの送受信（フレームの１ｂｉｔずつの逐次送受信）を行うための受信部１１０１及び送信部１１０２を含む。受信部１１０１は、バス３０からフレームを受信する。通信部１１００は、受信部１１０１によってバス３０からフレームが受信されると、フレームの値をＣＡＮプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行うことでＩＤ（メッセージＩＤ）、ＤＬＣ、データフィールドのデータのそれぞれを区別してフレームから抽出する。通信部１１００は、抽出したＩＤが、車載ネットワークシステム１０の仕様で予め定められているＩＤのうちの、セキュリティＥＣＵ１００が受信すべきフレームのＩＤであるか否かを判別する。通信部１１００は、受信すべきフレームのＩＤでなければそのフレームの解釈を中止する。受信部１１０１は、本実施の形態における取得部の例である。また、通信部１１００は、受信部１１０１が受信したフレームを解釈して取得した当該フレームの内容（ＩＤ、データ等）を、記憶部２１００に格納する。また、通信部１１００は、監視処理部３１００からのエラーフレームの送信指示を受けて、送信部１１０２によりエラーフレームをバス３０に送信する。
【００６８】
セキュリティＥＣＵ１００が受信すべきフレームには、車速制御支援ＥＣＵ３５０から送信される加速制御指示のフレームが含まれる。また、車両２０の状況を示す情報及び車両２０が走行する外界の状況を示す情報（以下、これらの状況の少なくとも一方を示す情報を状況情報ともいう）の少なくとも一方を示すフレームもセキュリティＥＣＵ１００によって受信される。車両２０の状況を示すフレームとは、例えば車速制御支援ＥＣＵ３５０から送信される有効（オン）又は無効（オフ）な車速制御支援機能を示すデータフレームが挙げられる。また、車速制御支援機能以外も含めた先進運転者支援システムの各種の支援機能の有効（オン）又は無効（オフ）、ドライバー又は各種機能による設定値を示すデータフレームも挙げられる。また、アクセルＥＣＵ３１０から送信される現在のアクセル開度を示すデータフレームも、車両２０の状況である状況情報を示すフレームとしてセキュリティＥＣＵ１００によって受信され得る。また、セキュリティＥＣＵ１００は、センサＥＣＵ３２０等の他のＥＣＵから送信された測定情報を含むデータフレームも受信する。測定情報には、その測定対象によって、車両２０の状況を示すもの（例えば車速、水温、電圧）もあるし、外界の状況（例えば車外の気温、路面状況、物体認識の結果）を示すものもある。さらにセキュリティＥＣＵ１００は、通信ＥＣＵ３８０が車両２１との通信によって取得し、車載ネットワークシステム１０に転送する情報（例えば車両２１の走行制御の状況、車両２１のセンサによる測定で得られた測定結果）も受信する。この情報は、車両２０の外界の状況を示すものである。
【００６９】
記憶部２１００は、受信部１１０１により受信されたフレームの内容を格納するためのメモリ等の記憶媒体の一記憶領域である。記憶部２１００には、例えば、上述の状況情報、つまり、センサＥＣＵ３２０等から送信される測定情報、車速制御支援ＥＣＵ３５０から送信される有効又は無効な車速制御支援機能の情報、アクセルＥＣＵ３１０から送信される現在のアクセル開度、又は通信ＥＣＵ３８０から送信される車両２１から提供された情報が格納される。
【００７０】
監視処理部３１００は、制御プログラムを実行するプロセッサ等により実現され、バス３０上の加速制御指示のデータフレームを無効化する無効化処理を一定条件下で行う機能を担う。監視処理部３１００は、判定部３１０１及び無効化部３１０２を含む。
【００７１】
判定部３１０１は、受信部１１０１が加速制御指示のデータフレームを受信した際における車両２０の状況及び車両２０が走行する外界の状況の少なくとも一方と、当該加速制御指示とを比較することで、加速制御指示が不正か否か（つまりその加速制御指示のデータフレームは無効化されるべき不正なフレームであるか否か）を判定する。判定部３１０１は、受信部１１０１により受信され、記憶部２１００に格納されている状況情報が示す状況と、受信部１１０１により受信された加速制御指示が示す制御内容とを比較することで、この判定を実行する。この判定は、加速制御指示のデータフレームの全体が受信部１１０１によってバス３０から受信されるまで（つまりデータフレームの終了前であり、例えばデータフィールドの受信直後或いはＣＲＣシーケンスの受信直後等）に行われる。判定部３１０１は、加速制御指示を不正であると判定した場合には、その結果を出力して無効化部３１０２に通知する。
【００７２】
無効化部３１０２は、判定部３１０１により、加速制御指示が不正であると判定された場合に、バス３０に現れている加速制御指示のデータフレームを無効化するために、送信部１１０２に、バス３０にエラーフレームを送信させることで無効化処理を行う。この無効化部３１０２による無効化処理は、加速制御指示のデータフレームの終了（ＥＯＦ）の受信が完了するより前に、バス３０にエラーフレームが送信されることで実現される。無効化処理がなされると、バス３０上の加速制御指示のデータフレームは上書きされるので、アクセルＥＣＵ３１０においては、不正な加速制御指示のデータフレームが破棄され、この加速制御指示に従った加速制御が回避される。
【００７３】
［１．７  加速制御指示の不正判別］
以下、上述のセキュリティＥＣＵ１００（監視装置）における監視処理部３１００の判定部３１０１での加速制御指示が不正であるか否かの判定の方法について説明する。
【００７４】
判定部３１０１は、受信部１１０１によって受信されたデータフレームから取得された加速制御指示が示す制御内容と、記憶部２１００に格納されている状況情報が示す状況とを比較し、状況と制御内容とが不整合である場合に、この加速制御指示が不正な制御指示であると判定する。以下、この状況と制御内容との不整合について例を挙げて説明する。
【００７５】
［１．７．１  設定又は制限速度との不整合］
例えば、状況情報が示す状況が、車両２０の設定速度を示し、かつ、加速制御指示が、車両２０をこの設定速度を超える速度で走行させる制御内容を示す場合に、判定部３１０１は、この加速制御指示は状況情報が示す状況と不整合であって不正な制御指示であると判定する。
【００７６】
ここでの設定速度とは、例えばドライバーが車速維持機能を有効にして設定した速度である。または、設定速度は、車両２０において車間距離維持機能又は車間距離調整機能等の車速制御支援機能が有効なときに、車速制御支援機能によって設定された速度であってもよい。これらの設定速度は、車両２０の状況の例である。セキュリティＥＣＵ１００は、この状況を示す状況情報を車速制御支援ＥＣＵ３５０から送信される、車速制御支援機能の設定状況を示すデータフレームから取得し得る。
【００７７】
また、状況情報が示す状況が、車両２０が走行する場所の規制速度を示し、かつ、加速制御指示が、車両２０をこの規制速度を超える速度で走行させる制御内容を示す場合に、判定部３１０１は、この加速制御指示は状況情報が示す状況と不整合であって不正な制御指示であると判定する。
【００７８】
ここでの規制速度とは、例えば関係法規で定められた速度、又は私有の土地又は建造物（例えば小売店舗の駐車場）においてその使用者が定めて掲示する上限速度である。これらの規制速度は、車両２０の走行する外界の状況の例である。セキュリティＥＣＵ１００は、この状況を示す状況情報を、例えばセンサＥＣＵ３２０から提供される、外界の物体（文字）認識の結果を示すデータフレームから取得し得る。または、セキュリティＥＣＵ１００は、車両２０が備えるカーナビゲーションシステム又は自動運転システムが保持する地図情報、又は車両２０の外部のサービスが提供する地図情報又は交通情報から抽出される規制速度を示す情報を取得して利用してもよい。この抽出は、送信側又はセキュリティＥＣＵ１００のいずれが行ってもよい。
【００７９】
［１．７．２  進行方向にある物体との距離との不整合］
この不整合について、進行方向にある物体の例として先行車両、物体との距離の例として車間距離を用いて説明する。例えば、状況情報が示す状況が、車両２０の先行車両との車間距離を示し、かつ、加速制御指示が、車両２０を、第１所定値を超える速度で走行させる制御内容を示す場合に、判定部３１０１は、この加速制御指示は状況情報が示す状況と不整合であって不正な制御指示であると判定する。
【００８０】
ここでの第１所定値とは、例えば先行車両との車間距離に対して予め定められた車両２０の絶対速度の値であり、例えば速度に対する停止距離に基づいて安全上必要とされている車間距離との関係で定められてもよい。この場合、また、車速制御支援ＥＣＵ３５０による制御での車速と車間距離との関係に基づいて定められる速度の値であってもよい。図７は、このように定められる加速制御指示の不正判定の条件について説明するための図である。図７では、車両がサイバー攻撃を一切受けていない状態（つまり正常状態）で車速制御支援機能がした加速制御支援による車両の絶対速度と、その時の先行車両との車間距離とに基づいて黒い点がグラフエリアにプロットされている。つまりこれらの点は、先行車両との車間距離という状況と、加速制御支援指示による制御内容とが整合している場合を示す。したがって、これらの点に近似する線（図中の破線）から一定範囲の距離の領域に入る速度に至る加速制御はその内容が状況と整合するものとし、それ以外の領域に入る速度に至る加速制御はその内容が状況と不整合と扱うことができる。図７では、グラフエリア右下にある、斜線で網掛けを付した直角三角形の領域が、正常状態での加速制御支援では実行されない車間距離に対して速度が過大になる、状況と不整合の加速制御支援がプロットされる領域を示す。第１所定値は、当該直角三角形の斜辺上で、車間距離に基づく縦軸の値に対する、車速を示す横軸の値である。また、第１所定値は、先行車両に対する車両２０の相対速度の値でもよい。例えば、各車間距離に応じて予め定められた相対速度の値である。この決定の手法としては、上記の絶対速度で例示したように、正常状態で車速制御支援機能がした加速制御支援指示による車両の先行車両に対する相対速度と車間距離との関係が利用されてもよい。また別の例としては、所定時間（例えば０．５秒）以内に車間距離が上記の安全上必要とされている車間距離未満になる相対速度の値であってもよい。
【００８１】
なお、先行車両との車間距離は、車両２０の状況又は車両２０の走行する外界の状況のいずれとも考え得る。セキュリティＥＣＵ１００は、この状況を示す状況情報を、例えばセンサＥＣＵ３２０から送信される、物体認識の結果及び測距センサによる測定結果を示すデータフレームから取得し得る。また、車速は車両２０の状況であり、セキュリティＥＣＵ１００は、この状況を示す状況情報を、例えばセンサＥＣＵ３２０から送信される、速度センサによる測定結果を示すデータフレームから取得し得る。また、相対速度は、通信ＥＣＵ３８０が車両２１から受信した車両２１の速度を示すデータフレームから判定部３１０１が算出してもよい。
【００８２】
なお、上述のとおり先行車両は進行方向にある物体の例、車間距離は物体との距離としての例である。進行方向にある物体は車両等のモビリティに限定されず、走行の時点で接触が意図されていない各種の物体であり得る。
【００８３】
［１．７．３  減速制御に関する不整合］
例えば、状況情報が示す状況が、車両２０を減速させるべき状況を示し、かつ、加速制御指示が、車両２０を、第２所定値を超える速度で走行させる制御内容を示す場合に、判定部３１０１は、この加速制御指示は状況情報が示す状況と不整合であって不正な制御指示であると判定する。
【００８４】
ここでの車両２０を減速させるべき状況とは、単純には車両２０でドライバーの操作によってブレーキ制御が実行されている状況であるが、これに限定されない。他の例としては、先進運転者支援システムが提供するいずれかの機能によって車両２０のブレーキ制御指示が出されている状況が挙げられる。なお、ここでのブレーキ制御とは、ブレーキパッドによる摩擦力でのブレーキングに限定されない。積極的なシフトダウンによるエンジンブレーキ又は排気ブレーキの制御も含まれる。また、原動機がモーターの車両で回生ブレーキが減速に積極的に利用されている場合には、回生ブレーキの制御も含まれる。また、ドライバー又は先進運転者支援システムによってブレーキ制御がなされるべき状況、より具体的には、例えば先行車両の減速又はブレーキ制御の発生時、車両２０の進行方向の所定の距離未満の範囲に、停車中の車両、建物又は通行人等の人又は物が検知された時、車両２０のカーブへの進入時、現在の車速よりも低い規制速度の区域への進入時も車両２０を減速させるべき状況に含まれる。
【００８５】
上記のドライバー又は先進運転者支援システムによってブレーキ制御がなされている状況は車両２０の状況であり、セキュリティＥＣＵ１００がブレーキＥＣＵ３３０又は先進運転者支援システムを担うＥＣＵから送信されるブレーキの適用状況を示すデータフレームから取得し得る。先行車両の減速又はブレーキ制御の発生、進行方向の人又は物の検知、カーブへの進入、及び車速より低い規制速度の区域への進入は、車両２０の走行する外界の状況であり、セキュリティＥＣＵ１００は、この状況を示す状況情報を、例えばセンサＥＣＵ３２０から送信される、物体認識の結果等を示すデータフレームから取得し得る。また、先行車両の減速又はブレーキ制御の発生の状況情報は、通信ＥＣＵ３８０が車両２１から受信するデータフレームから取得されてもよい。また、カーブへの進入及び車速より低い規制速度の区域への進入の状況情報を、セキュリティＥＣＵ１００は、車両２０が備えるカーナビゲーションシステムが保持する地図情報、又は車両２０の外部のサービスが提供する地図情報又は交通情報から抽出される規制速度を示す情報を含むデータフレームから取得してもよい。
【００８６】
［１．７．４  外部からの情報に基づいて決定される車速との不整合］
例えば、状況情報が示す状況が、車両２０の先行車両から車両２０が走行すべき速度を示す情報を受信したことを示し、かつ、加速制御指示が、受信した情報が示す速度を超える速度で走行させる制御内容を示す場合に、判定部３１０１は、この加速制御指示は状況情報が示す状況と不整合であって不正な制御指示であると判定する。
【００８７】
車車間通信が可能な車両同士では、車間距離維持機能又は車間距離調整機能の実行において先行車両から後続車両に走行すべき速度を直接又は間接に示す情報が送信されることが想定される。より具体的には、例えば後続車両が走行すべき絶対速度又は先行車両に対する相対速度の提示を含む情報が送信され得る。これらは後続車両である車両２０が走行すべき速度を直接に示す情報の例である。これに対し、後続車両である車両２０が走行すべき速度を間接に示す情報とは、車両２０で車速の決定に用いられ得る先行車両から送信される情報である。具体的には、加速又は減速の指示、ブレーキ制御の実行の指示、当該先行車両の速度、当該先行車両でのブレーキングの有無若しくは強さ、現在の車間距離、又は取るべき車間距離の指示を含む情報である。セキュリティＥＣＵ１００は、車両２０が走行すべき速度を示すこのような情報が受信されたという車両２０の状況を示す状況情報を、通信ＥＣＵ３８０がバス３０に送信する、この情報の内容を含めたデータフレームを受信して、その内容から取得する。セキュリティＥＣＵ１００では、判定部３１０１が、これらの情報に基づいて、例えば車両２０が現在の車速から加速、減速若しくは維持するのか、又は加減速であればさらにその大きさを判定する。そして、この判定の結果と、車速制御支援ＥＣＵ３５０から送信された加速制御指示が示す制御内容との比較の結果に基づいて、この加速制御指示は状況情報が示す状況と不整合であるか否か判定する。
【００８８】
［１．７．５  先進運転者支援システムの稼働状態との不整合］
例えば、状況情報が示す状況が、車両２０が備える先進運転者支援システムがオフであることを示し、かつ、加速制御指示が、第３所定値を超える速度で走行させる制御内容を示す、又は、受信部１１０１が所定期間内に加速制御指示を取得した場合に、判定部３１０１は、この加速制御指示は状況情報が示す状況と不整合であって不正な制御指示であると判定する。
【００８９】
先進運転者支援システムがオフの場合には、ある程度より大きな加速制御指示が車速制御支援ＥＣＵ３５０から送信されない。第３所定値は、先進運転者支援システムがオフである車両２０の状況とは不整合であるこのような加速制御指示を検出するための基準として判定部３１０１が用いる値である。また、先進運転者支援システムがオフからオンになって車速制御支援ＥＣＵ３５０から加速制御指示が送信されるまでには最低限かかる時間がある。所定期間は、先進運転者支援システムがオフである車両２０の状況とは不整合であるこのような加速制御指示を検出するための基準として判定部３１０１が用いる値である。
【００９０】
この例の場合、先進運転者支援システムがオフであるという車両２０の状況を、セキュリティＥＣＵ１００は、例えば先進運転者支援システムに係るＥＣＵから送信されるデータフレームから取得する。車速制御支援ＥＣＵ３５０は、先進運転者支援システムに係るＥＣＵの一例である。
【００９１】
［１．８  セキュリティＥＣＵ１００の制御処理］
図８は、車載ネットワークシステム１０において、セキュリティＥＣＵ１００で実行される監視処理の手順の一例を示すフローチャートである。以下、同図に即して、不正な加速制御指示の攻撃フレームへの対処としてセキュリティＥＣＵ１００で実行される監視処理について説明する。
【００９２】
受信部１１０１が状況情報を含むデータフレームをバス３０から受信した場合（ステップＳ１１でＹＥＳ）、受信された状況情報は記憶部２１００に保存、つまり格納される（ステップＳ１２）。状況情報を含むデータフレームは、センサＥＣＵ３２０等から周期的に送信され、ステップＳ１２での状況情報の受信及び保存は、繰り返し行われる。
【００９３】
受信部１１０１が加速制御指示のデータフレームをバス３０から受信した場合（ステップＳ１３でＹＥＳ）、判定部３１０１が、記憶部２１００に保存されている最新の状況情報が示す状況と、受信した加速制御指示が示す制御内容とを比較する（ステップＳ１４）。そして、判定部３１０１はこの比較で、状況と制御内容とが不整合であるか否かを判定し（ステップＳ１５）、不整合である場合には（ステップＳ１５でＹＥＳ）、ステップＳ１３で受信されたデータフレームに係る加速制御指示が不正であると判定する。なお、受信部１１０１により加速制御指示のデータフレームのデータフィールドまでの受信が終了すれば、加速制御指示が示す制御内容を取得することができるので、判定部３１０１はステップＳ１４以降を実行することができる。
【００９４】
ステップＳ１６で不正と判定された加速制御指示のデータフレームに対しては、無効化部３１０２が、送信部１１０２にエラーフレームを送信させることで無効化する（ステップＳ１７）。
【００９５】
［１．９  車載ネットワークシステム１０における加速制御に係る処理シーケンス］
図９は、車載ネットワークシステム１０における加速制御に係る処理シーケンスの一例を示す。以下、図９に即して、車載ネットワークシステム１０における各ＥＣＵの動作について説明する。なお、ここでの不正ＥＣＵとは、車載ネットワークシステム１０上のＥＣＵ（不図示のものを含む）のいずれかであって、例えば攻撃者によって診断用ポート３９０に接続されたＥＣＵ、又はファームウェアの書き換え等によって乗っ取られたＥＣＵである。また、対比的に図示する便宜上、処理シーケンスの前半（上半分）は、不正なデータフレームが送信されない場合、後半（下半分）は、不正なデータフレームが送信された場合を示す例としている。
【００９６】
センサＥＣＵ３２０は、物体検知センサ３２１又は速度センサ３２２で測定された測定結果を示す状況情報を含むデータフレームをバス３０に送信する（ステップＳ１０１Ａ）。このデータフレームを、車速制御支援ＥＣＵ３５０及びセキュリティＥＣＵ１００がバス３０から受信する。また、車速制御支援ＥＣＵ３５０は、各種の加速支援機能の有効又は無効を示す情報を含むデータフレームをバス３０に送信する（ステップＳ１０１Ｂ）。このデータフレームを、セキュリティＥＣＵ１００がバス３０から受信する。また、アクセルＥＣＵ３１０は、現在のアクセル開度を示すデータフレームをバス３０に送信する（ステップＳ１０１Ｃ）。このデータフレームを、セキュリティＥＣＵ１００がバス３０から受信する。セキュリティＥＣＵ１００は、このようにして車両２０の状況及び車両２０が走行する外界の状況を示す状況情報を取得する。
【００９７】
車速制御支援ＥＣＵ３５０は、ステップＳ１０１ＡでセンサＥＣＵ３２０が送信した状況情報に基づいて、有効な加速支援機能のための加速制御指示、例えば車速維持のためのアクセル開度を制御内容として示すデータフレームをバス３０に送信する（ステップＳ１０２）。このデータフレームを、アクセルＥＣＵ３１０及びセキュリティＥＣＵ１００がバス３０から受信する。
【００９８】
このデータフレームを受信して加速制御指示を取得したセキュリティＥＣＵ１００は、この加速制御指示が示す制御内容が、ステップＳ１０１Ａから１０１Ｃで送信された状況情報が示す状況と不整合であるか判定する（ステップＳ１０３）。この例では不整合でないため、セキュリティＥＣＵ１００はステップＳ１０２で送信されたデータフレームに対する無効化処理を実行しない。アクセルＥＣＵ３１０は、取得した加速制御指示に従って作動する（ステップＳ１０５）。
【００９９】
センサＥＣＵ３２０、車速制御支援ＥＣＵ３５０、及びアクセルＥＣＵ３１０は、ステップＳ１０１ＡからＳ１０１Ｃと同様に、それぞれがより新しい状況情報を示すデータフレームをバス３０に送信する（ステップＳ２０１Ａ、Ｓ２０１Ｂ、Ｓ２０１Ｃ）。セキュリティＥＣＵ１００は、これらのより新しい状況情報を取得する。
【０１００】
不正ＥＣＵは、攻撃のための加速制御指示を含む不正なデータフレームを送信する（ステップＳ２０２）。この不正なデータフレームを、アクセルＥＣＵ３１０及びセキュリティＥＣＵ１００がバス３０から受信する。
【０１０１】
このデータフレームを受信して加速制御指示を取得したセキュリティＥＣＵ１００は、この加速制御指示が示す制御内容が、ステップＳ２０１Ａから２０１Ｃで送信された状況情報が示す状況と不整合であるか判定する（ステップＳ２０３）。この例では不整合であるため、セキュリティＥＣＵ１００はステップＳ２０２で送信されたデータフレームに対する無効化処理として、当該データフレームがバス３０上に現れているうちにエラーフレームをバス３０に送信する。エラーフレームを受信したアクセルＥＣＵ３１０は、途中まで取得していた、ステップＳ２０２で送信されたデータフレームを破棄する（ステップＳ２０５）。
【０１０２】
以上が車載ネットワークシステム１０における加速制御に係る処理シーケンスの例を用いた説明であり、本実施の形態にかかるセキュリティＥＣＵ１００を含む車載ネットワークシステムの加速制御に係る処理シーケンスはこの例に限定されない。例えば、セキュリティＥＣＵ１００による不整合であるかの判定には、常に全種類の最新の状況情報が用いられなくてもよい。また、同じ状況情報を用いて複数回の不整合であるかの判定が実行されてもよい。例えば、上記の例では、説明を簡便にするために省略したが、ステップＳ２０１の後に車速制御支援ＥＣＵ３５０からも加速制御指示のデータフレームが送信され、セキュリティＥＣＵ１００は、このデータフレームからも加速制御指示を取得して不整合であるかの判定を実行してもよい。ＣＡＮプロトコルでは同一の制御対象に対する制御指示のデータフレームは周期的に送信され、攻撃のための不正なデータフレームは、周期のルールに従って弾かれないように正当なデータフレームとごく近い時刻に送信されることもある。このような攻撃に対しても、状況情報が示す状況と制御指示の内容とを突き合わせた結果に基づいて状況と不整合な制御を示すと判定された不正なデータフレームが適切に無効化される。
【０１０３】
［１．１０  実施の形態の効果］
実施の形態に係る車載ネットワークシステム１０では、セキュリティＥＣＵ（監視装置）１００の監視処理部３１００が、加速制御指示（つまり加速制御指示のデータフレーム）の受信部１１０１での受信が完了する直前に、センサＥＣＵ３２０等、他の装置から取得した状況情報に基づいて、その加速制御指示の制御内容と状況情報が示す状況とが不整合であるかを所定の方法で判定する。不整合である場合には、エラーフレームの送信によりその加速制御指示を無効化する無効化処理を行う。所定の方法は、基準となる状況と制御内容との組合せを種々定めておくことができる。状況と不整合な加速制御内容を含む不正なデータフレームは、セキュリティＥＣＵ１００からのエラーフレームの送信によってバス３０上で無効化されるので、アクセルＥＣＵ３１０がこの不正なデータフレームの受信を完了し、そのデータフレームが含む加速制御指示に従って原動機３１１を制御することが防止され得る。つまり、車載ネットワークシステム１０では、セキュリティＥＣＵ１００により加速制御指示に係る不正なフレーム（攻撃フレーム）への適切な対処がなされ、攻撃フレームによって引き起こされる事故の防止が可能となる。
【０１０４】
（その他変形例）
以上のように、本発明に係る技術の例示として実施の形態を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
【０１０５】
（１）上記実施の形態では、車載ネットワークシステム１０のセキュリティを確保するための機能を担うセキュリティＥＣＵ１００によって実現されている監視装置は、アクセルＥＣＵ３１０の一部として実現されてもよい。この場合、無効化部３１０２による無効化処理として、不正な加速制御指示を含むデータフレームの破棄が実行されてもよい。図１０は、監視装置を一部に含むアクセルＥＣＵの構成例を示すブロック図である。
【０１０６】
本変形例に係るアクセルＥＣＵ３１０Ｂは、実施の形態におけるアクセルＥＣＵ３１０の構成要素に加えて、記憶部２１００Ｂ及び監視処理部３１００Ｂを備える。また、アクセルＥＣＵ３１０Ｂの通信部１３１０Ｂは、実施の形態における通信部１３１０とセキュリティＥＣＵ１００が備える通信部１１００の両方の機能を担う。これらの機能のうち、通信部１１００の受信部１１０１に相当する部分をアクセルＥＣＵ３１０Ｂの説明では受信部１１０１Ｂとして示す。本変形例では、記憶部２１００Ｂ、監視処理部３１００Ｂ、及び受信部１１０１Ｂが、アクセルＥＣＵ３１０Ｂ内で監視装置１００Ｂを構成する。以下、監視装置１００Ｂと実施の形態における監視装置であるセキュリティＥＣＵ１００との差異を中心に説明する。
【０１０７】
受信部１１０１Ｂは上述のとおり、実施の形態におけるセキュリティＥＣＵ１００の通信部１１００の受信部１１０１に相当する。記憶部２１００Ｂは、セキュリティＥＣＵ１００の記憶部２１００に相当する。監視処理部３１００Ｂは、セキュリティＥＣＵ１００の監視処理部３１００の判定部３１０１に相当する判定部３１０１Ｂ及び無効化部３１０２に相当する無効化部３１０２Ｂに加えて、転送部３１０３を備える。
【０１０８】
受信部１１０１Ｂは、アクセルＥＣＵ３１０が受信するデータフレームに加えて、他のＥＣＵからの状況情報を含むデータフレームも受信する。なお、実施の形態においてセキュリティＥＣＵ１００がアクセルＥＣＵ３１０から受信する状況情報は、監視処理部３１００ＢがアクセルＥＣＵ３１０Ｂ内で取得する。
【０１０９】
監視処理部３１００Ｂにおいて、判定部３１０１Ｂは判定部３１０１と同様に、状況情報が示す状況と、車速制御支援ＥＣＵ３５０からの加速制御指示が示す制御内容との比較による判定（図８、ステップＳ１５）を実行し、判定の結果を出力する。ただし、状況と制御内容とが不整合ではないと判定した場合の処理が判定部３１０１と異なる。図１１は、アクセルＥＣＵ３１０Ｂの監視装置１００Ｂで実行される、この差異を含む監視処理の手順の一例を示すフローチャートである。この場合（ステップＳ１５でＮＯ）、つまり加速制御指示を不正でないと判定した判定部３１０１Ｂは、その結果を転送部３１０３に通知する。この通知を受けた転送部３１０３は、この加速制御指示に係るデータフレームの内容（ＩＤ、データフィールドのデータ等）をデータバッファ２３１０に格納する（ステップＳ１８）。
【０１１０】
監視処理部３１００Ｂにおいて、状況と制御内容とが不整合ではなく、不正な加速制御であると判定した場合（ステップＳ１５でＹＥＳ、ステップＳ１６）、無効化部３１０２Ｂは、この加速制御指示に係るデータフレームを破棄する（ステップＳ１７Ｂ）。
【０１１１】
図１２に、アクセルＥＣＵ３１０Ｂを含む車載ネットワークシステム１０における加速制御に係る処理シーケンスの一例を示す。図９に示した実施の形態の処理シーケンスとは、アクセルＥＣＵ３１０Ｂが各状況情報を取得している点、不整合の判定を実行する点（ステップＳ１０３、Ｓ２０３）、不整合でない場合に加速制御指示転送を実行する点（ステップＳ１０４）が異なる。
【０１１２】
なお、さらに無効化部３１０２Ｂは、無効化部３１０２と同様に、通信部１３１０Ｂにエラーフレームをバス３０へ送信させてもよい。
【０１１３】
（２）判定部３１０１及び３１０１Ｂによって加速制御指示の制御内容と比較される、状況情報が示す車両の状況又は車両が走行する外界の状況は、上記実施の形態に記載されたものに限定されない。例えば車両が走行している場所又は走行予定経路の道路標識又は道路標示の示す内容も状況情報が示す外界の状況に含まれてもよい。例えば加速制御指示の制御内容が、道路標識が示す速度に関する規制の状況と不整合であるか否か判定されてもよい。また例えば、天候、気温、路面状況、地形（勾配率）、積載荷重若しくはさらにそのバランス、車速の変化状況、又はタイヤの種類若しくは劣化の程度等の、安全な速度に影響し得る状況も、状況情報が示す車両又は外界の状況に含まれてもよい。このような情報は、例えば車載のセンサ、地図データ、ＶＩＣＳ（登録商標）などの道路交通情報の提供システム、又はインターネット上でのサービスから取得され得る。判定部３１０１又は３１０１Ｂでは、車両の走行速度に加えこれらの状況に対して加速制御指示が示すアクセル開度による加速が安全に実行し得るか否かの基準を用いて不整合の判定を実行してもよい。例えば状況情報が示すこれらの状況に応じて異なる基準が用いられてもよいし、これらの状況情報を入力値とする識別関数又は識別モデルが用いられてもよい。
【０１１４】
（３）上記実施の形態及びその変形例で示した加速制御指示が状況と不整合であるか否かについての判定のための基準は、車両２０の車種毎に異なるものが用いられてもよい。ここでの車種とは、車両型式で識別される種類であってもよいし、さらに細かいグレードであってもよい。また、オプション等による所定の機能の有無でさらに区別されてもよい。
【０１１５】
また、制御内容と比較される状況情報のうち、車速制御支援ＥＣＵ３５０から送信される情報の内容は上記に限定されない。例えばドライバーによる加速制御に関連する設定の内容が含まれてもよい。例えば車間距離維持機能又は車間距離調整機能に対してドライバーが設定する先行車両との車間距離が含まれていてもよい。
【０１１６】
（４）上記実施の形態として、ＣＡＮプロトコルにおけるデータフレームについてのフォーマットとして図２に示す標準フォーマットが用いられる車載ネットワークシステムでの本発明の適用の例を説明したが、本発明が適用可能なネットワークシステムはこれに限定されない。例えば拡張フォーマットのデータフレームが流れるネットワークであってもよい。上記実施の形態で示したＣＡＮプロトコルは、ＴＴＣＡＮ（Time-Triggered CAN）、ＣＡＮ  ＦＤ（CAN with Flexible Data Rate）等の派生的なプロトコルも包含する広義のものとして捉えられてもよい。また、Ｅｔｈｅｒｎｅｔ（登録商標）、ＦｌｅｘＲａｙ（登録商標）等の、ＣＡＮ以外のプロトコルに準拠するネットワークシステム、又は複数のプロトコルが混在するネットワークシステムにも適用可能である。
【０１１７】
（５）上記実施の形態又はその変形例で示した車載ネットワークシステム１０上又はこれを含む制御ネットワークシステムが備える各種構成要素間の機能分担は一例であり、その分担を変更し得る。また、セキュリティＥＣＵ１００における監視処理部３１００等、又はアクセルＥＣＵ３１０Ｂにおける監視処理部３１００Ｂの機能の一部が、セキュリティＥＣＵ１００と通信可能な装置、例えば車載ネットワークシステム１０上の他のＥＣＵ、又は車載ネットワークシステム１０の外部のサーバ装置等によって担われてもよい。例えば、上記実施の形態において、車載ネットワークシステム１０には、セキュリティＥＣＵ１００とは別の他のセキュリティＥＣＵが含まれ、監視処理部３１００の機能のうち、無効化部３１０２の機能はこの他のセキュリティＥＣＵによって担われてもよい。この場合、判定部３１０１から出力された判定の結果は、データフレームとして送信部１１０２からバス３０に送信されてもよいし、専用線で他のセキュリティＥＣＵに送信されてもよい。
【０１１８】
（６）上記実施の形態における各ＥＣＵは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等のハードウェア構成要素を含んでいてもよい。また、上記実施の形態で示した各装置は、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア（デジタル回路等）によりその機能が実現されてもよい。
【０１１９】
（７）上記実施の形態における各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。このＲＯＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全部を含むように１チップ化されてもよい。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、又はＬＳＩ内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【０１２０】
（８）上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ＩＣカード又はモジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０１２１】
（９）本発明の一態様としては、例えば図８及び図９、図１１及び図１２、並びに本明細書中のこれらに関連する記載に含まれる処理手順の全部又は一部を含む監視方法であるとしてもよい。例えば、監視方法は、車両２０の状況及び車両２０が走行する外界の状況の少なくとも一つを示す状況情報、及び車載ネットワークシステム１０で伝送されている加速制御指示を取得する取得ステップ（例えばステップＳ１１及びＳ１３）と、取得された状況情報が示す状況と、取得された加速制御指示が示す制御内容とを比較することで、加速制御指示が不正な制御指示であるか否かを判定する判定ステップ（例えばステップＳ１４）と、判定ステップによる判定の結果を示す情報を出力する出力ステップ（例えばステップＳ１５）とを含む。また、さらに判定ステップによって加速制御指示が不正な制御指示であると判定された場合に、この加速制御指示を無効化する無効化ステップ（例えばステップＳ１７又はＳ１７Ｂ）が含まれてもよい。このような方法は、例えば車載ネットワークシステム１０で伝送される、車両２０を加速するための加速制御指示を監視する監視装置として機能するＥＣＵによって実行される。
【０１２２】
また、本発明の一態様としては、この監視方法に係る処理をコンピュータに実行させるコンピュータプログラムであってもよいし、このコンピュータプログラムからなるデジタル信号であるとしてもよい。この監視方法に係る処理は、車両２０の状況及び車両２０が走行する外界の状況の少なくとも一つを示す状況情報、及び車載ネットワークシステム１０で伝送されている加速制御指示を取得する取得ステップ（例えばステップＳ１１及びＳ１３）と、取得された状況情報が示す状況と、取得された加速制御指示が示す制御内容とを比較することで、加速制御指示が不正な制御指示であるか否かを判定する判定ステップ（例えばステップＳ１４）と、判定ステップによる判定の結果を示す情報を出力する出力ステップ（例えばステップＳ１５）とを含む処理である。出力されたこの情報は、別のプログラムモジュール若しくはコンピュータプログラム、又は通信可能な他の装置への入力として用いられてもよい。この別のプログラムモジュール等によって、例えばデータフレームの無効化、車速制御支援ＥＣＵの無効化、緊急停止のための自動運転、攻撃の発生に関する通知のドライバーへの提示、エラーログの記録などが実行されてもよい。
【０１２３】
また、本発明の一態様としては、このコンピュータプログラム又はデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１２４】
また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又はプログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１２５】
（１０）上記実施の形態及びその変形例における無効化の処理は、エラーフレームのＣＡＮバスへの送出によるものに限定されない。上述のアクセルＥＣＵ３１０Ｂにおいて実行されるデータフレームの破棄も無効化処理の一態様である。別の例として、ネットワークにおけるゲートウェイの一部として実現される監視装置が、不正な加速制御指示を含むデータフレームを転送しないこともまた無効化処理の一態様に含まれる。
【０１２６】
（１１）上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１２７】
本発明は、車両等の手動又は自動で車速制御が実行されるモビリティが備えるモビリティネットワークに不正な加速制御指示のフレームを送信する攻撃に対処するために利用可能である。
【符号の説明】
【０１２８】
１０  車載ネットワークシステム
２０、２１  車両
３０  バス（ＣＡＮバス）
１００  セキュリティＥＣＵ（監視装置）
３１０、３１０Ｂ  アクセルＥＣＵ
３１１  原動機
３２０  センサＥＣＵ
３２１  物体検知センサ
３２２  速度センサ
３３０  ブレーキＥＣＵ
３３１  ブレーキ
３５０  車速制御支援ＥＣＵ
３９０  診断用ポート
１１００、１３１０、１３１０Ｂ  通信部
１１０１、１１０１Ｂ  受信部（取得部）
１１０２  送信部
２１００、２１００Ｂ  記憶部
２３１０  データバッファ
３１００、３１００Ｂ  監視処理部
３１０１、３１０１Ｂ  判定部
３１０２、３１０２Ｂ  無効化部
３１０３  転送部
３３１０  制御処理部
【図１】
2019212972.tif 000003
【図２】
2019212972.tif 000004
【図３】
2019212972.tif 000005
【図４】
2019212972.tif 000006
【図５】
2019212972.tif 000007
【図６】
2019212972.tif 000008
【図７】
2019212972.tif 000009
【図８】
2019212972.tif 000010
【図９】
2019212972.tif 000011
【図１０】
2019212972.tif 000012
【図１１】
2019212972.tif 000013
【図１２】
2019212972.tif 000014
【手続補正書】
【提出日】平成31年2月13日(2019.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する取得部と、
取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する判定部と、
を備える電子制御装置。
【請求項２】
前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を無効化又は破棄する無効化部、
をさらに備える請求項１記載の電子制御装置。
【請求項３】
前記判定部は、前記加速制御指示が、前記状況情報が示す状況と整合しない制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項１又は２記載の電子制御装置。
【請求項４】
前記判定部は、前記状況情報が示す状況が、前記モビリティの設定速度又は前記モビリティが移動する場所の規制速度を示し、かつ、前記加速制御指示が、前記モビリティを前記設定速度又は前記規制速度を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項５】
前記判定部は、前記状況情報が示す状況が、前記モビリティの車速又は前記モビリティの進行方向にある物体との相対速度を示し、かつ、前記加速制御指示が、前記モビリティを、第１所定値を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項６】
前記判定部は、前記状況情報が示す状況が、前記モビリティの進行方向にある物体との距離を示し、かつ、前記加速制御指示が、前記モビリティを、前記物体との距離に対応する第１所定値を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項７】
前記判定部は、前記状況情報が示す状況が、前記モビリティを減速させるべき状況を示し、かつ、前記加速制御指示が、前記モビリティを、第２所定値を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項８】
前記判定部は、前記状況情報が示す状況が、前記モビリティの先行モビリティから前記モビリティが移動すべき速度を示し、かつ、前記加速制御指示が、受信した前記モビリティが移動すべき速度を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項９】
前記判定部は、
（１）前記状況情報が示す状況が、前記モビリティが備える先進運転者支援システムがオフであることを示し、かつ、前記加速制御指示が、第３所定値を超える速度で移動させる制御内容を示す場合、又は、
（２）前記状況情報が示す状況が、前記モビリティが備える先進運転者支援システムがオフであることを示し、かつ、前記取得部が所定期間内に前記加速制御指示を取得した場合に、
前記加速制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項１０】
電子制御装置による監視方法であって、
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得し、
取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する、
監視方法。
【請求項１１】
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する処理と、
取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する処理と、
をコンピュータに実行させるためのプログラム。
【請求項１２】
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する取得部と、
取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する判定部と、
前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を転送しない無効化部と、
を備えるゲートウェイ装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記課題を解決するために本発明の一態様に係る電子制御装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する判定部とを備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、上記課題を解決するために本発明の一態様に係る監視方法は、電子制御装置による監視方法であって、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、上記課題を解決するために本発明の一態様に係るプログラムは、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する処理と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する処理とをコンピュータに実行させるためのプログラムである。
また、上記課題を解決するために本発明の一態様に係るゲートウェイ装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する判定部と、前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を転送しない無効化部とを備える。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明の一態様に係る監視装置を実現する電子制御装置等では、その方法を実行して不正な加速制御指示を特定する。また、不正な加速制御指示であればさらに無効化することで、その加速制御指示に従って加速制御を実行することを抑止する。これにより、不正な加速制御指示の攻撃フレームによって引き起こされる事故の防止が可能となる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明の一態様に係る電子制御装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する判定部とを備える。これにより、車両の状況及び車両の外界の状況（以下、特に区別せずにまとめて車両等の状況ともいう）に照らして適切か否かに基づいて、ネットワークに送信された加速制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、例えば、前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を無効化又は破棄する無効化部をさらに備えてもよい。これにより、アクセルＥＣＵによる不正な加速制御指示に従っての加速制御の実行が抑止される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
また、例えば、前記判定部は、前記加速制御指示が、前記状況情報が示す状況と整合しない制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両等の状況と矛盾する加速制御指示は、不正な制御指示であると判定される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティの設定速度又は前記モビリティが移動する場所の規制速度を示し、かつ、前記加速制御指示が、前記モビリティを前記設定速度又は前記規制速度を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティの先行モビリティから前記モビリティが移動すべき速度を示し、かつ、前記加速制御指示が、受信した前記モビリティが移動すべき速度を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定もよい。これにより、ドライバーが車両に対して設定している制限速度、又は公的な制限を超える速度で車両を走行させる加速制御指示は、不正な制御指示であると判定される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティの車速又は前記モビリティの進行方向にある物体との相対速度を示し、かつ、前記加速制御指示が、前記モビリティを、第１所定値を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティの進行方向にある物体との距離を示し、かつ、前記加速制御指示が、前記モビリティを、前記物体との距離に対応する第１所定値を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、例えば先行車両との車間距離を過度に詰めることになる速度で車両を走行させる加速制御指示は、不正な制御指示であると判定される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティを減速させるべき状況を示し、かつ、前記加速制御指示が、前記モビリティを、第２所定値を超える速度で移動させる制御内容を示す場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、減速が実行される状況で車両を加速させる加速制御指示は、不正な制御指示であると判定される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
また、例えば、前記判定部は、（１）前記状況情報が示す状況が、前記モビリティが備える先進運転者支援システムがオフであることを示し、かつ、前記加速制御指示が、第３所定値を超える速度で移動させる制御内容を示す場合、又は、（２）前記状況情報が示す状況が、前記モビリティが備える先進運転者支援システムがオフであることを示し、かつ、前記取得部が所定期間内に前記加速制御指示を取得した場合に、前記加速制御指示が不正な制御指示であると判定してもよい。これにより、ＡＤＡＳ機能が無効である状況で、ＡＤＡＳ機能からの加速制御指示を装った可能性のある加速制御指示は、不正な制御指示であると判定される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
また、本発明の一態様に係る監視方法は、電子制御装置による監視方法であって、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する。これにより、車両等の状況に照らして適切か否かに基づいて、ネットワークに送信された加速制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
また、本発明の一態様に係るプログラムは、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する処理と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する処理とをコンピュータに実行させるためのプログラムである。このプログラムが、プロセッサ（マイクロプロセッサ）を備えるコンピュータにインストールされ、そのコンピュータのプロセッサによって当該プログラムが実行されることで、バス上に現れた加速制御指示が不正であるか否か適切に判定される。
また、本発明の一態様に係るゲートウェイ装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する判定部と、前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を転送しない無効化部とを備える。これにより、車両等の状況に照らして適切か否かに基づいて、ネットワークに送信された加速制御指示が不正な制御指示であるか否かを、ゲートウェイ装置が判定し、その判定結果を利用することができる。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
判定部３１０１は、受信部１１０１が加速制御指示のデータフレームを受信した際における車両２０の状況及び車両２０が走行する外界の状況の少なくとも一方と、当該加速制御指示とに基づいて、加速制御指示が不正か否か（つまりその加速制御指示のデータフレームは無効化されるべき不正なフレームであるか否か）を判定する。判定部３１０１は、受信部１１０１により受信され、記憶部２１００に格納されている状況情報が示す状況と、受信部１１０１により受信された加速制御指示が示す制御内容とに基づいて、この判定を実行する。この判定は、加速制御指示のデータフレームの全体が受信部１１０１によってバス３０から受信されるまで（つまりデータフレームの終了前であり、例えばデータフィールドの受信直後或いはＣＲＣシーケンスの受信直後等）に行われる。判定部３１０１は、加速制御指示を不正であると判定した場合には、その結果を出力して無効化部３１０２に通知する。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
判定部３１０１は、受信部１１０１によって受信されたデータフレームから取得された加速制御指示が示す制御内容と、記憶部２１００に格納されている状況情報が示す状況とに基づくと、この加速制御指示が、状況情報が示す状況と整合しない制御内容を示す場合、つまり状況と制御内容とが不整合である場合に、この加速制御指示が不正な制御指示であると判定する。以下、この状況と制御内容との不整合について例を挙げて説明する。
【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2019212972.tif 000015