(57)【要約】【課題】モビリティが備えるネットワークに送信される不正な操舵制御指示の攻撃フレームに適切に対処する監視装置を提供する。【解決手段】モビリティが備えるネットワークで伝送される、モビリティを操舵するための操舵制御指示を監視する監視装置１００は、モビリティの状況及び当該モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及びネットワークで伝送されている操舵制御指示を取得する取得部１１０１と、取得された状況情報が示す状況と、取得された操舵制御指示が示す制御内容とを比較することで、操舵制御指示が不正な制御指示であるか否かを判定、判定の結果を示す情報を出力する判定部３１０１とを備える。【選択図】図６
2019212976.tif 000002
【特許請求の範囲】
【請求項１】
モビリティが備えるモビリティネットワークで伝送される、前記モビリティを操舵するための操舵制御指示を監視する監視装置であって、
前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及び前記モビリティネットワークで伝送されている前記操舵制御指示を取得する取得部と、
取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とを比較することで、前記操舵制御指示が不正な制御指示であるか否かの判定を実行し、前記判定の結果を示す情報を出力する判定部と、
を備える監視装置。
【請求項２】
前記判定部によって前記操舵制御指示が不正な制御指示であると判定された場合に、前記操舵制御指示を無効化する無効化部、
をさらに備える請求項１記載の監視装置。
【請求項３】
前記判定部は、前記操舵制御指示が、前記状況情報が示す状況と不整合の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項１又は２記載の監視装置。
【請求項４】
前記判定部は、前記状況情報が示す状況が、前記モビリティが第１方向に走行すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に走行させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項５】
前記判定部は、前記状況情報が示す状況が、前記モビリティが第１所定値以下の操舵量の操舵をすべき状況を示し、かつ、前記操舵制御指示が、前記第１所定値よりも大きな操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項６】
前記判定部は、前記状況情報が示す状況が、前記モビリティが第２所定値以上の大きな操舵量の操舵をすべき状況を示し、かつ、前記操舵制御指示が、前記第２所定値よりも小さな操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項７】
前記判定部は、前記状況情報が示す状況が、前記モビリティが手動の操舵によって進行すべき状況を示し、かつ、前記操舵制御指示が、第１所定範囲の外の操舵量の制御内容を示す、又は、前記取得部が第１所定期間内に前記操舵制御指示を取得した場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項８】
前記判定部は、前記状況情報が示す状況が、前記モビリティが自動操舵によって進行すべき状況を示し、かつ、前記操舵制御指示が、第２所定範囲の外の操舵量の制御内容を示す、又は、前記取得部が第２所定期間内に前記操舵制御指示を取得できない場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の監視装置。
【請求項９】
前記状況情報は、前記モビリティが備える車線維持機能に関する状況を示す、
請求項１〜８のいずれか１項に記載の監視装置。
【請求項１０】
前記判定部は、
（１）前記状況情報が、前記車線維持機能がオフであることを示し、かつ、前記操舵制御指示が、第３所定範囲の外の操舵量の制御内容を示す場合、
（２）前記状況情報が、前記車線維持機能がオンであること及び前記車線維持機能による前記モビリティの目的経路を示し、かつ、前記操舵制御指示が、前記モビリティを前記目的経路から逸脱させる操舵を指定した制御内容を示す場合、又は、
（３）前記状況情報が、前記車線維持機能がオンであること及び前記モビリティの車速を示し、かつ、前記操舵制御指示が、第４所定範囲の外の操舵量の制御内容を示す場合に、
前記操舵制御指示が不正な制御指示であると判定する、
請求項９記載の監視装置。
【請求項１１】
前記状況情報は、前記モビリティが備える駐車支援機能に関する状況を示す、
請求項１〜８のいずれか１項に記載の監視装置。
【請求項１２】
前記判定部は、前記状況情報が、前記駐車支援機能による前記モビリティの目標駐車位置を示し、かつ、前記操舵制御指示が、前記モビリティを前記目標駐車位置への方向と異なる方向に走行させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項１１記載の監視装置。
【請求項１３】
前記状況情報は、前記モビリティが備える車線変更機能に関する状況を示す、
請求項１〜８のいずれか１項に記載の監視装置。
【請求項１４】
前記判定部は、
（１）前記状況情報が、前記モビリティが走行する車線を第１方向に隣接する車線に変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に走行させる制御内容を示す場合、又は、
（２）前記状況情報が、前記モビリティが走行する車線を変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティが走行する車線を維持する操舵量を指定した制御内容を示す場合に、
前記操舵制御指示が不正な制御指示であると判定する、
請求項１３記載の監視装置。
【請求項１５】
モビリティが備えるモビリティネットワークで伝送される、モビリティを操舵するための操舵制御指示を監視する監視装置による監視方法であって、
前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及び前記モビリティネットワークで伝送されている前記操舵制御指示を取得し、
取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とを比較することで、前記操舵制御指示が不正な制御指示であるか否かを判定し、
前記判定の結果を示す情報を出力する
監視方法。
【請求項１６】
請求項１５記載の監視方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば車両に搭載される電子制御ユニットが通信を行う車載ネットワークにおいて送信される操舵制御指示メッセージについての不正に対処するためのセキュリティ技術に関する。
【背景技術】
【０００２】
近年、自動車の中のシステムには、電子制御ユニット（ＥＣＵ：Electronic Control Unit）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ＩＳＯ１１８９８−１で規定されているＣＡＮ（Controller Area Network）という規格が存在する。
【０００３】
ＣＡＮでは、通信路は２本のワイヤで構成されたバス（ＣＡＮバス）であり、バスに接続されているＥＣＵはノードと呼ばれる。ＣＡＮバスに接続されている各ノードは、フレーム（メッセージ）を送受信する。フレームを送信する送信ノードは、２本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「１」の値と、ドミナントと呼ばれる「０」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを６ｂｉｔ連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
【０００４】
またＣＡＮでは、送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎に、メッセージＩＤと呼ばれるＩＤを付けて送信し（つまりバスに信号を送出し）、各受信ノードは予め定められたメッセージＩＤのみを受信する（つまりバスから信号を読み取る）。また、ＣＡＮでは、ＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access/Collision Avoidance）方式を採用しており、複数ノードの同時送信時にはメッセージＩＤによる調停が行われ、メッセージＩＤの値が小さいフレームが優先的に送信される。自動車の中のシステムにおいては、多数のＥＣＵそれぞれは、様々な情報を含むフレームの授受を行う。例えば、各ＥＣＵがフレームを授受して連携することで、先進運転者支援システム（ＡＤＡＳ：Advanced Driver Assistance System）の操舵支援機能等が実現される。操舵支援機能の例としては、車線維持機能、駐車支援機能、車線変更機能が挙げられる。これらの機能を実現するためには、ステアリングを制御するステアリングＥＣＵと、道路又は駐車場の白線等の区画線、又は周囲の物体の検知等を行うセンサＥＣＵと、操舵支援が必要な状況を検知して操舵制御指示のフレームを出す操舵支援ＥＣＵ等とが連携する。
【０００５】
ところで、ＣＡＮバスに不正なノードを接続すること、又は携帯情報端末、車外の通信装置等と通信する機能を有するＥＣＵ等を攻撃して不正なノードに変化させること等により、攻撃者が、攻撃フレームをＣＡＮバスに送信して、自動車を不正にコントロールする脅威が存在する。攻撃フレームは、不正な攻撃者によってＣＡＮバスに送信されたフレームであり、車載ネットワークの正常状態において本来は送信されないフレーム（不正なフレーム）である。例えば、攻撃者により、車両が走行中の走行車線を誤認識させるようなセンシングデータを含むフレームがＣＡＮバスに送信されると、車両は現実には不要な操舵制御の発生によって車線を逸脱したり、周辺を走行する車両のドライバー又は自動制御システムを惑わせたりする結果、事故を招き得る。
【０００６】
このような攻撃フレームを検知して防御する技術として、車載ネットワークにおいて送信されるべき車線認識の結果を示すメッセージＩＤのフレームについて、想定される異常な態様に該当するか否かに基づいて不正か否かの判別を行う技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第６０７５３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１の技術では、異常な車線認識の結果ではなく、異常な操舵量を示す不正なフレームを送信するような場合に対応できない。したがって、不正な操舵制御指示の攻撃フレームに適切に対処するためには有用ではない。
【０００９】
そこで、本発明は、攻撃者により移動体におけるネットワーク（例えば車載ネットワーク）のバスに送信される不正な操舵制御指示の攻撃フレームに適切に対処する監視装置、監視方法、及び当不正なフレームに適切に対処するために用いられるプログラムを提供する。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明の一態様に係る監視装置は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを操舵するための操舵制御指示を監視する監視装置であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及び前記モビリティネットワークで伝送されている前記操舵制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とを比較することで、前記操舵制御指示が不正な制御指示であるか否かの判定を実行し、前記判定の結果を示す情報を出力する判定部とを備える。
【００１１】
また、上記課題を解決するために本発明の一態様に係る監視方法は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを操舵するための操舵制御指示を監視する監視装置による監視方法であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及び前記モビリティネットワークで伝送されている前記操舵制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とを比較することで、前記操舵制御指示が不正な制御指示であるか否かを判定し、前記判定の結果を示す情報を出力する。
【００１２】
また、上記課題を解決するために本発明の一態様に係るプログラムは、上記の監視方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、移動体におけるネットワークのバスに送信される、操舵制御指示に係る不正なフレーム（攻撃フレーム）の無効化が可能となり得る。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態に係る車載ネットワークシステムの全体構成を示す図である。
【図２】図２は、ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。
【図３】図３は、ＣＡＮプロトコルで規定されるエラーフレームのフォーマットを示す図である。
【図４】図４は、実施の形態に係るステアリングＥＣＵの構成例を示すブロック図である。
【図５】図５は、操舵支援ＥＣＵが送信する操舵制御指示に係るデータフレームのデータフィールドの値が示す制御内容の一例を説明するための図である。
【図６】図６は、実施の形態に係るセキュリティＥＣＵ（監視装置）の構成例を示すブロック図である。
【図７】図７は、実施の形態に係るセキュリティＥＣＵで実行される監視処理の手順の一例を示すフローチャートである。
【図８】図８は、実施の形態における操舵制御に係る処理シーケンスの一例を示す図である。
【図９】図９は、実施の形態の一変形例に係るステアリングＥＣＵの構成例を示すブロック図である。
【図１０】図１０は、上記の変形例に係る監視装置で実行される監視処理の手順の一例を示すフローチャートである。
【図１１】図１１は、上記の変形例における操舵制御に係る処理シーケンスの一例を示す図である。
【発明を実施するための形態】
【００１５】
（本発明の基礎となった知見等）
車両の先進運転者支援システムでは、より適切な進路を車両に取らせるための操舵支援ＥＣＵは、路面の区画線、又は車両の周囲若しくは進行方向の物体検知等を行うセンサＥＣＵを含む他のＥＣＵからＣＡＮバス等の通信線を介して取得した情報等に基づいて、適切なタイミングかつ適切な内容の操舵制御を示す制御指示（つまり操舵制御指示のフレーム）をＣＡＮバスに送信する。その操舵制御指示に従って、ステアリングＥＣＵがステアリングを制御することで、車両は適切な進路を取る。なお、操舵制御指示の内容として、例えばステアリングによる車輪の操舵量、又は操舵の結果若しくは目標としての車輪の左右への切れ角である操舵角の指定がある。操舵量と操舵角とは、実際の操舵角との関係で相互に変換可能であり、以下では両者を特に区別せずに便宜的に操舵量という場合がある。
【００１６】
攻撃者により、不正な操舵制御指示の攻撃フレーム（不正なフレーム）が送信され、その不正な操舵制御指示が、操舵支援ＥＣＵが送信する適正な操舵制御指示と相違する内容である場合においては、車両等の事故につながる可能性がある。適正な操舵制御指示は、車両の速度、若しくは車両で有効な運転支援機能等の車両の状況、又は車両の周囲の区画線又は他の移動体等の物体の有無若しくは距離、走行中の場所での規制等、車両が走行する外界の状況に対応した内容となるべきである。
【００１７】
そこで、ＣＡＮバスに送信された操舵制御指示が、このような車両の状況又は車両の外界の状況に応じた適正な操舵制御指示か、これらの状況と不整合な内容の不正な操舵制御指示かを判定する方法に想到した。なお、車両はこの方法の適用対象の一例であり、その他の移動体にもこの方法を適用し得る。
【００１８】
本発明の一態様に係る監視装置等では、その方法を実行して不正な操舵制御指示を特定する。また、不正な操舵制御指示をさらに無効化することで、ステアリングＥＣＵが不正な操舵制御指示に従って操舵制御を実行することを抑止する。これにより、不正な操舵制御指示の攻撃フレームによって引き起こされる事故の防止が可能となる。
【００１９】
本発明の一態様に係る監視装置は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを操舵するための操舵制御指示を監視する監視装置であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及び前記モビリティネットワークで伝送されている前記操舵制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とを比較することで、前記操舵制御指示が不正な制御指示であるか否かの判定を実行し、前記判定の結果を示す情報を出力する判定部とを備える。これにより、車両の状況及び車両の外界の状況（以下、特に区別せずにまとめて車両等の状況ともいう）に照らして適切か否かに基づいて、ネットワークに送信された操舵制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【００２０】
また、例えば、前記判定部によって前記操舵制御指示が不正な制御指示であると判定された場合に、前記操舵制御指示を無効化する無効化部をさらに備えてもよい。これにより、ステアリングＥＣＵによる不正な操舵制御指示に従っての操舵制御の実行が抑止される。
【００２１】
また、例えば、前記判定部は、前記操舵制御指示が、前記状況情報が示す状況と不整合の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両等の状況と矛盾する操舵制御指示は、不正な制御指示であると判定される。
【００２２】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティが第１方向に走行すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に走行させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、車両が現在取るべき進路と異なる方向への操舵制御指示は、不正な制御指示であると判定される。
【００２３】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティが第１所定値以下の操舵量の操舵をすべき状況を示し、かつ、前記操舵制御指示が、前記第１所定値よりも大きな操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティが第２所定値以上の大きな操舵量の操舵をすべき状況を示し、かつ、前記操舵制御指示が、前記第２所定値よりも小さな操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、車両が現在取るべき経路に沿った方向の変更よりも過大な、又は過小な方向の変更をさせる操舵制御指示は、不正な制御指示であると判定される。
【００２４】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティが手動の操舵によって進行すべき状況を示し、かつ、前記操舵制御指示が、第１所定範囲の外の操舵量の制御内容を示す、又は、前記取得部が第１所定期間内に前記操舵制御指示を取得した場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両の自動運転に関して、操舵が手動制御で行われるモードが有効なときに、ドライバーによる手動の操舵制御の内容を大きく変更する自動制御による操舵制御指示は、不正な制御指示であると判定される。
【００２５】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティが自動操舵によって進行すべき状況を示し、かつ、前記操舵制御指示が、第２所定範囲の外の操舵量の制御内容を示す、又は、前記取得部が第２所定期間内に前記操舵制御指示を取得できない場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両の自動運転に関して、操舵が自動制御で行われるモードが有効なときに、自動制御による操舵制御の内容として想定されていない操舵制御指示は、不正な制御指示であると判定される。
【００２６】
また、例えば、前記状況情報は、前記モビリティが備える車線維持機能に関する状況を示してもよい。より具体的には、例えば、前記判定部は、（１）前記状況情報が、前記車線維持機能がオフであることを示し、かつ、前記操舵制御指示が、第３所定範囲の外の操舵量の制御内容を示す場合、（２）前記状況情報が、前記車線維持機能がオンであること及び前記車線維持機能による前記モビリティの目的経路を示し、かつ、前記操舵制御指示が、前記モビリティを前記目的経路から逸脱させる操舵を指定した制御内容を示す場合、又は（３）前記状況情報が、前記車線維持機能がオンであること及び前記モビリティの車速を示し、かつ、前記操舵制御指示が、第４所定範囲の外の操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、操舵制御指示が不正な制御指示であるか否かの判定が、操舵支援のための操舵制御指示を発生させ得る車線維持機能の有効無効に関する状況に応じて適切に実行される。
【００２７】
また、例えば、前記状況情報は、前記モビリティが備える駐車支援機能に関する状況を示してもよい。より具体的には、例えば、前記判定部は、前記状況情報が、前記駐車支援機能による前記モビリティの目標駐車位置を示し、かつ、前記操舵制御指示が、前記モビリティを前記目標駐車位置への方向と異なる方向に走行させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、操舵制御指示が不正な制御指示であるか否かの判定が、操舵支援のための操舵制御指示を発生させ得る駐車支援機能の有効無効に関する状況に応じて適切に判定される。
【００２８】
また、例えば、前記状況情報は、前記モビリティが備える車線変更機能に関する状況を示してもよい。より具体的には、例えば、前記判定部は、（１）前記状況情報が、前記モビリティが走行する車線を第１方向に隣接する車線に変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に走行させる制御内容を示す場合、又は（２）前記状況情報が、前記モビリティが走行する車線を変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティが走行する車線を維持する操舵量を指定した制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、操舵制御指示が不正な制御指示であるか否かの判定が、操舵支援のための操舵制御指示が発生させ得る車線変更機能の有効無効に関する状況に応じて適切に判定される。
【００２９】
また、本発明の一態様に係る監視方法は、モビリティが備えるモビリティネットワークで伝送される、前記モビリティを操舵するための操舵制御指示を監視する監視装置による監視方法であって、前記モビリティの状況及び前記モビリティが走行する外界の状況の少なくとも一方を示す状況情報、及び前記モビリティネットワークで伝送されている前記操舵制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とを比較することで、前記操舵制御指示が不正な制御指示であるか否かを判定し、前記判定の結果を示す情報を出力する。これにより、車両等の状況照らして適切か否かに基づいて、ネットワークに送信された操舵制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【００３０】
また、本発明の一態様に係るプログラムは、上記の監視方法をコンピュータに実行させるためのプログラムである。このプログラムが、プロセッサ（マイクロプロセッサ）を備えるコンピュータにインストールされ、そのコンピュータのプロセッサによって当該プログラムが実行されることで、バス上に現れた操舵制御指示が不正であるか否か適切に判定される。
【００３１】
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【００３２】
以下、実施の形態に係る監視方法を実行する監視装置等について、図面を参照しながら説明する。ここで示す実施の形態は、本発明の一具体例を示すものである。したがって、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ（工程）及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【００３３】
なお、以下実施の形態では、自動車に搭載される車載ネットワークにおけるセキュリティ対策として説明するが、適用範囲はこれに限られない。自動車に限らず、建機、農機、船舶、飛行機等の各種のモビリティが備えるモビリティネットワークに適用してもよい。
【００３４】
（実施の形態）
以下、本発明の実施の一態様として、モビリティの一例としての車両において車載ネットワークを構成するバス（ＣＡＮバス）に送信された不正な操舵制御指示に係るフレームを無効化するセキュリティＥＣＵ（監視装置）を備える車載ネットワークシステムについて、図面を用いて説明する。なお、以下で説明する技術を船舶又は飛行機に適用する際には、走行は航行又は飛行、車線は移動経路等のように適宜読み替えて理解されたい。
【００３５】
［１．１  車載ネットワークシステム１０の構成］
図１は、実施の形態に係る車載ネットワークシステム１０の全体構成を示す図である。
【００３６】
車載ネットワークシステム１０は、図１に例示するように、車両２０に搭載された各種ＥＣＵ（セキュリティＥＣＵ１００、ステアリングＥＣＵ３１０、センサＥＣＵ３２０、ブレーキＥＣＵ３３０、エンジンＥＣＵ３４０、及び操舵支援ＥＣＵ３５０）と、バス（ＣＡＮバス）３０とを含んで構成される。バス３０は、二重線によって示されている。なお、車載ネットワークシステム１０には、上記以外のＥＣＵが含まれ得るが、図示は省略する。また、車載ネットワークシステム１０は、図示が省略されたものも含むいずれかのＥＣＵが通信する車両外部のサーバ装置等とあわせて、車両２０のための制御ネットワークシステムを構成してもよい。なお、外部との通信経路は、車載ネットワークシステム１０への不正なフレームの注入（送信）又はいずれかのＥＣＵを乗っ取るための侵入経路として、車載ネットワークシステム１０へのサイバー攻撃に利用され得る。
【００３７】
車載ネットワークシステム１０上の各ＥＣＵは、例えば、プロセッサ（マイクロプロセッサ）、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ（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）、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１２６】
また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又はプログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１２７】
（１０）上記実施の形態及びその変形例における無効化の処理は、エラーフレームのＣＡＮバスへの送出によるものに限定されない。上述のステアリングＥＣＵ３１０Ｂにおいて実行されるデータフレームの破棄も無効化処理の一態様である。別の例として、ネットワークにおけるゲートウェイの一部として実現される監視装置が、不正な操舵制御指示を含むデータフレームを転送しないこともまた無効化処理の一態様に含まれる。
【０１２８】
（１１）上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１２９】
本発明は、車両等の手動又は自動で操舵されるモビリティが備えるモビリティネットワークに不正な操舵制御指示のフレームを送信する攻撃に対処するために利用可能である。
【符号の説明】
【０１３０】
１０  車載ネットワークシステム
２０  車両
３０  バス（ＣＡＮバス）
１００  セキュリティＥＣＵ（監視装置）
３１０、３１０Ｂ  ステアリングＥＣＵ
３１１  ステアリング
３２０  センサＥＣＵ
３２１  物体検知センサ
３２２  速度センサ
３３０  ブレーキＥＣＵ
３３１  ブレーキ
３４０  エンジンＥＣＵ
３４１  エンジン
３５０  操舵支援ＥＣＵ
３９０  診断用ポート
１１００、１３１０、１３１０Ｂ  通信部
１１０１、１１０１Ｂ  受信部（取得部）
１１０２  送信部
２１００、２１００Ｂ  記憶部
２３１０  データバッファ
３１００、３１００Ｂ  監視処理部
３１０１、３１０１Ｂ  判定部
３１０２、３１０２Ｂ  無効化部
３１０３  転送部
３３１０  制御処理部
【図１】
2019212976.tif 000003
【図２】
2019212976.tif 000004
【図３】
2019212976.tif 000005
【図４】
2019212976.tif 000006
【図５】
2019212976.tif 000007
【図６】
2019212976.tif 000008
【図７】
2019212976.tif 000009
【図８】
2019212976.tif 000010
【図９】
2019212976.tif 000011
【図１０】
2019212976.tif 000012
【図１１】
2019212976.tif 000013
【手続補正書】
【提出日】平成31年2月13日(2019.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを操舵するための操舵制御指示を取得する取得部と、
取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する判定部と、
を備える電子制御装置。
【請求項２】
前記判定部によって前記操舵制御指示が不正な制御指示であると判定された場合に、前記操舵制御指示を無効化又は破棄する無効化部、
をさらに備える請求項１記載の電子制御装置。
【請求項３】
前記判定部は、前記操舵制御指示が、前記状況情報が示す状況と整合しない制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項１又は２記載の電子制御装置。
【請求項４】
前記判定部は、前記状況情報が示す状況が、前記モビリティが第１方向に移動すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に移動させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項５】
前記判定部は、前記状況情報が示す状況が、前記モビリティが第１所定値以下の操舵量の操舵をすべき状況を示し、かつ、前記操舵制御指示が、前記第１所定値よりも大きな操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項６】
前記判定部は、前記状況情報が示す状況が、前記モビリティが第２所定値以上の大きな操舵量の操舵をすべき状況を示し、かつ、前記操舵制御指示が、前記第２所定値よりも小さな操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項７】
前記判定部は、
（１）前記状況情報が示す状況が、前記モビリティが手動の操舵によって移動すべき状況を示し、かつ、前記操舵制御指示が、第１所定範囲の外の操舵量の制御内容を示す場合、又は、
（２）前記状況情報が示す状況が、前記モビリティが手動の操舵によって移動すべき状況を示し、かつ、前記取得部が第１所定期間内に前記操舵制御指示を取得した場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項８】
前記判定部は、
（１）前記状況情報が示す状況が、前記モビリティが自動操舵によって移動すべき状況を示し、かつ、前記操舵制御指示が、第２所定範囲の外の操舵量の制御内容を示す場合、又は、
（２）前記状況情報が示す状況が、前記モビリティが自動操舵によって移動すべき状況を示し、かつ、前記取得部が第２所定期間内に前記操舵制御指示を取得できない場合に、
前記操舵制御指示が不正な制御指示であると判定する、
請求項３記載の電子制御装置。
【請求項９】
前記状況情報は、前記モビリティが備える車線維持機能に関する状況を示す、
請求項１〜８のいずれか１項に記載の電子制御装置。
【請求項１０】
前記判定部は、
（１）前記状況情報が、前記車線維持機能がオフであることを示し、かつ、前記操舵制御指示が、第３所定範囲の外の操舵量の制御内容を示す場合、又は、
（２）前記状況情報が、前記車線維持機能がオンであること及び前記車線維持機能による前記モビリティの移動経路を示し、かつ、前記操舵制御指示が、前記モビリティを前記移動経路から逸脱させる操舵を指定した制御内容を示す場合に、
前記操舵制御指示が不正な制御指示であると判定する、
請求項９記載の電子制御装置。
【請求項１１】
前記判定部は、前記状況情報が、前記車線維持機能がオンであること及び前記モビリティの車速を示し、かつ、前記操舵制御指示が、第４所定範囲の外の操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項９記載の電子制御装置。
【請求項１２】
前記状況情報は、前記モビリティが備える駐車支援機能に関する状況を示す、
請求項１〜８のいずれか１項に記載の電子制御装置。
【請求項１３】
前記判定部は、前記状況情報が、前記駐車支援機能による前記モビリティの目標駐車位置を示し、かつ、前記操舵制御指示が、前記モビリティを前記目標駐車位置への方向と異なる方向に移動させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定する、
請求項１２記載の電子制御装置。
【請求項１４】
前記状況情報は、前記モビリティが備える車線変更機能に関する状況を示す、
請求項１〜８のいずれか１項に記載の電子制御装置。
【請求項１５】
前記判定部は、
（１）前記状況情報が、前記モビリティが移動する車線を第１方向に隣接する車線に変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に移動させる制御内容を示す場合、又は、
（２）前記状況情報が、前記モビリティが移動する車線を変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティが移動する車線を維持する操舵量を指定した制御内容を示す場合に、
前記操舵制御指示が不正な制御指示であると判定する、
請求項１４記載の電子制御装置。
【請求項１６】
電子制御装置による監視方法であって、
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び前記モビリティを操舵するための操舵制御指示を取得し、
取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する
監視方法。
【請求項１７】
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを操舵するための操舵制御指示を取得する処理と、
取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する処理と、
をコンピュータに実行させるためのプログラム。
【請求項１８】
モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを操舵するための操舵制御指示を取得する取得部と、
取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する判定部と、
前記判定部によって前記操舵制御指示が不正な制御指示であると判定された場合に、前記操舵制御指示を転送しない無効化部と、
を備えるゲートウェイ装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記課題を解決するために本発明の一態様に係る電子制御装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを操舵するための操舵制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する判定部とを備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、上記課題を解決するために本発明の一態様に係る監視方法は、電子制御装置による監視方法であって、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び前記モビリティを操舵するための前記操舵制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、上記課題を解決するために本発明の一態様に係るプログラムは、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを操舵するための操舵制御指示を取得する処理と、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する処理とをコンピュータに実行させるためのプログラムである。
また、上記課題を解決するために本発明の一態様に係るゲートウェイ装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを操舵するための操舵制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する判定部と、前記判定部によって前記操舵制御指示が不正な制御指示であると判定された場合に、前記操舵制御指示を転送しない無効化部とを備える。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明の一態様に係る監視装置を実現する電子制御装置等では、その方法を実行して不正な操舵制御指示を特定する。また、不正な操舵制御指示をさらに無効化することで、ステアリングＥＣＵが不正な操舵制御指示に従って操舵制御を実行することを抑止する。これにより、不正な操舵制御指示の攻撃フレームによって引き起こされる事故の防止が可能となる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明の一態様に係る電子制御装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを操舵するための操舵制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する判定部とを備える。これにより、車両の状況及び車両の外界の状況（以下、特に区別せずにまとめて車両等の状況ともいう）に照らして適切か否かに基づいて、ネットワークに送信された操舵制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、例えば、前記判定部によって前記操舵制御指示が不正な制御指示であると判定された場合に、前記操舵制御指示を無効化又は破棄する無効化部をさらに備えてもよい。これにより、ステアリングＥＣＵによる不正な操舵制御指示に従っての操舵制御の実行が抑止される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
また、例えば、前記判定部は、前記操舵制御指示が、前記状況情報が示す状況と整合しない制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両等の状況と矛盾する操舵制御指示は、不正な制御指示であると判定される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
また、例えば、前記判定部は、前記状況情報が示す状況が、前記モビリティが第１方向に移動すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に移動させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、車両が現在取るべき進路と異なる方向への操舵制御指示は、不正な制御指示であると判定される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
また、例えば、前記判定部は、（１）前記状況情報が示す状況が、前記モビリティが手動の操舵によって進行すべき状況を示し、かつ、前記操舵制御指示が、第１所定範囲の外の操舵量の制御内容を示す場合、又は、（２）前記状況情報が示す状況が、前記モビリティが手動の操舵によって移動すべき状況を示し、かつ、前記取得部が第１所定期間内に前記操舵制御指示を取得した場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両の自動運転に関して、操舵が手動制御で行われるモードが有効なときに、ドライバーによる手動の操舵制御の内容を大きく変更する自動制御による操舵制御指示は、不正な制御指示であると判定される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
また、例えば、前記判定部は、（１）前記状況情報が示す状況が、前記モビリティが自動操舵によって移動すべき状況を示し、かつ、前記操舵制御指示が、第２所定範囲の外の操舵量の制御内容を示す場合、又は、（２）前記状況情報が示す状況が、前記モビリティが自動操舵によって移動すべき状況を示し、かつ、前記取得部が第２所定期間内に前記操舵制御指示を取得できない場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、例えば車両の自動運転に関して、操舵が自動制御で行われるモードが有効なときに、自動制御による操舵制御の内容として想定されていない操舵制御指示は、不正な制御指示であると判定される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
また、例えば、前記状況情報は、前記モビリティが備える車線維持機能に関する状況を示してもよい。より具体的には、例えば、前記判定部は、（１）前記状況情報が、前記車線維持機能がオフであることを示し、かつ、前記操舵制御指示が、第３所定範囲の外の操舵量の制御内容を示す場合、又は、（２）前記状況情報が、前記車線維持機能がオンであること及び前記車線維持機能による前記モビリティの移動経路を示し、かつ、前記操舵制御指示が、前記モビリティを前記移動経路から逸脱させる操舵を指定した制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。また例えば、前記状況情報が、前記車線維持機能がオンであること及び前記モビリティの車速を示し、かつ、前記操舵制御指示が、第４所定範囲の外の操舵量の制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、操舵制御指示が不正な制御指示であるか否かの判定が、操舵支援のための操舵制御指示を発生させ得る車線維持機能の有効無効に関する状況に応じて適切に実行される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
また、例えば、前記状況情報は、前記モビリティが備える駐車支援機能に関する状況を示してもよい。より具体的には、例えば、前記判定部は、前記状況情報が、前記駐車支援機能による前記モビリティの目標駐車位置を示し、かつ、前記操舵制御指示が、前記モビリティを前記目標駐車位置への方向と異なる方向に移動させる制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、操舵制御指示が不正な制御指示であるか否かの判定が、操舵支援のための操舵制御指示を発生させ得る駐車支援機能の有効無効に関する状況に応じて適切に判定される。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
また、例えば、前記状況情報は、前記モビリティが備える車線変更機能に関する状況を示してもよい。より具体的には、例えば、前記判定部は、（１）前記状況情報が、前記モビリティが移動する車線を第１方向に隣接する車線に変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティを前記第１方向と異なる第２方向に移動させる制御内容を示す場合、又は（２）前記状況情報が、前記モビリティが移動する車線を変更すべき状況を示し、かつ、前記操舵制御指示が、前記モビリティが移動する車線を維持する操舵量を指定した制御内容を示す場合に、前記操舵制御指示が不正な制御指示であると判定してもよい。これにより、操舵制御指示が不正な制御指示であるか否かの判定が、操舵支援のための操舵制御指示が発生させ得る車線変更機能の有効無効に関する状況に応じて適切に判定される。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
また、本発明の一態様に係る監視方法は、電子制御装置による監視方法であって、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び前記モビリティを操舵するための操舵制御指示を取得し、取得された前記状況情報が示す状況と、取得された前記操舵制御指示が示す制御内容とに基づいて、前記操舵制御指示が不正な制御指示であるか否かを判定する。これにより、車両等の状況に照らして適切か否かに基づいて、ネットワークに送信された操舵制御指示が不正な制御指示であるか否かが判定され、その判定結果を利用することができる。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
また、本発明の一態様に係るプログラムは、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する処理と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する処理とをコンピュータに実行させるためのプログラムである。このプログラムが、プロセッサ（マイクロプロセッサ）を備えるコンピュータにインストールされ、そのコンピュータのプロセッサによって当該プログラムが実行されることで、バス上に現れた操舵制御指示が不正であるか否か適切に判定される。
また、本発明の一態様に係るゲートウェイ装置は、モビリティの状況と前記モビリティが移動する外界の状況との少なくとも一方を示す状況情報、及び、前記モビリティを加速させるための加速制御指示を取得する取得部と、取得された前記状況情報が示す状況と、取得された前記加速制御指示が示す制御内容とに基づいて、前記加速制御指示が不正な制御指示であるか否かを判定する判定部と、前記判定部によって前記加速制御指示が不正な制御指示であると判定された場合に、前記加速制御指示を転送しない無効化部とを備える。これにより、車両等の状況に照らして適切か否かに基づいて、ネットワークに送信された加速制御指示が不正な制御指示であるか否かを、ゲートウェイ装置が判定し、その判定結果を利用することができる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
判定部３１０１は、受信部１１０１が操舵制御指示のデータフレームを受信した際における車両２０の状況及び車両２０が走行する外界の状況の少なくとも一方と、当該操舵制御指示とに基づいて、操舵制御指示が不正か否か（つまり、その操舵制御指示のデータフレームは無効化されるべき不正なフレームであるか否か）を判定する。判定部３１０１は、受信部１１０１により受信され、記憶部２１００に格納されている状況情報が示す状況と、受信部１１０１により受信された操舵制御指示が示す制御内容とに基づいて、この判定を実行する。この判定は、操舵制御指示のデータフレームの全体が受信部１１０１によってバス３０から受信されるまで（つまりデータフレームの終了前であり、例えばデータフィールドの受信直後或いはＣＲＣシーケンスの受信直後等）に行われる。判定部３１０１は、操舵制御指示を不正であると判定した場合には、その結果を出力して無効化部３１０２に通知する。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
判定部３１０１は、受信部１１０１によって受信されたデータフレームから取得された操舵制御指示が示す制御内容と、記憶部２１００に格納されている状況情報が示す状況とに基づくと、この操舵制御指示が、状況情報が示す状況と整合しない制御内容を示す場合、つまり状況と制御内容とが不整合である場合に、この操舵制御指示が不正な制御指示であると判定する。以下、この状況と制御内容との不整合について例を挙げて説明する。