(57)【特許請求の範囲】
【請求項１】
車載ネットワークシステムにおける複数の電子制御ユニットがフレームの授受に用いるバスに接続され、当該バス上に現れるフレームを検査する不正検知電子制御ユニットに用いられる不正フレーム対処方法であって、
所定ルールに適合しない不正フレームを検知した場合において、
所定阻止条件が満たされるときには、当該不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行し、
前記所定阻止条件が満たされないときには、前記阻止処理を実行せず、
前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録し、
前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する
不正フレーム対処方法。
【請求項２】
前記阻止処理として、前記バス上に現れた前記不正フレームに係るビット値を変更する
請求項１記載の不正フレーム対処方法。
【請求項３】
前記複数の電子制御ユニットは、ＣＡＮ（Controller Area Network）プロトコルに従
って前記バスを介して通信を行い、
前記不正フレームの所定フィールドの内容が、当該不正フレームと同一のフレームＩＤを含むフレームのうち当該不正フレームに先行して最後に送信されたフレームの前記所定フィールドの内容と異なる場合に前記所定阻止条件が満たされると判別し、当該両内容が一致する場合に前記所定阻止条件が満たされないと判別する
請求項１記載の不正フレーム対処方法。
【請求項４】
前記所定阻止条件は、前記不正検知電子制御ユニットを搭載する車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つに関する条件を含み、
前記所定阻止条件が満たされるか否かを、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容と、前記車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つについての検出結果とに基づいて判別する
請求項１記載の不正フレーム対処方法。
【請求項５】
前記所定阻止条件は、前記不正検知電子制御ユニットを搭載する車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つに関する条件であり、
前記不正検知電子制御ユニットが、前記車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つについての検出結果に基づいて前記所定阻止条件が満たされるか否かを判別する
請求項１記載の不正フレーム対処方法。
【請求項６】
前記車載ネットワークシステムでは前記複数の電子制御ユニットの通信に複数のバスが用いられ、前記不正検知電子制御ユニットは前記複数のバスのうち一のバスに現れたフレームを他のバスに転送する機能を有し、
前記一のバス上に現れた不正フレームを検知した場合において、前記所定阻止条件が満たされるときには当該不正フレームについては前記転送を抑止することで前記阻止処理を実行し、前記所定阻止条件が満たされないときには、前記転送を実行する
請求項１記載の不正フレーム対処方法。
【請求項７】
前記複数の電子制御ユニットは、ＣＡＮ（Controller Area Network）プロトコルに従
って前記バスを介して通信を行う
請求項１記載の不正フレーム対処方法。
【請求項８】
前記阻止処理として、前記バスにエラーフレームを送出する
請求項７記載の不正フレーム対処方法。
【請求項９】
複数の電子制御ユニットがフレームの授受に用いるバスに接続され、当該バス上に現れるフレームを検査する不正検知電子制御ユニットであって、
前記検査により所定ルールに適合しない不正フレームを検知する不正検知部と、
所定阻止条件が満たされるか否かを判別することにより、前記不正検知部により検知された不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行するか否かを判断する阻止判断部と、
前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録する保持部とを備え、
前記阻止判断部は、
前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する
不正検知電子制御ユニット。
【請求項１０】
バスを介してフレームの授受を行う複数の電子制御ユニットと、前記バスに接続されて当該バス上に現れるフレームを検査する不正検知電子制御ユニットとを備える車載ネットワークシステムであって、
前記不正検知電子制御ユニットが、所定ルールに適合しない不正フレームを検知した場合において、所定阻止条件が満たされるときには、当該不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行し、前記所定阻止条件が満たされないときには、前記阻止処理を実行せず、
前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録し、
前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する
車載ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御ユニットが通信を行う車載ネットワークにおいて、送信された不正なフレームを検知して対処する技術に関する。
【背景技術】
【０００２】
近年、自動車の中のシステムには、電子制御ユニット（ＥＣＵ：Electronic Control Unit）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ＩＳＯ１１８９８−１で規定されているＣＡＮ（Controller Area Network）という規格が存在する。
【０００３】
ＣＡＮでは、通信路は２本のバスで構成され、バスに接続されているＥＣＵはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。フレームを送信する送信ノードは、２本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「１」の値と、ドミナントと呼ばれる「０」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを６ｂｉｔ連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
【０００４】
またＣＡＮでは送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎にメッセージＩＤと呼ばれるＩＤを付けて送信し（つまりバスに信号を送出し）、各受信ノードは予め定められたメッセージＩＤのみを受信する（つまりバスから信号を読み取る）。また、ＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access/Collision Avoidance）方式を採用しており、複数ノードの同時送信時にはメッセージＩＤによる調停が行われ、メッセージＩＤの値が小さいフレームが優先的に送信される。
【０００５】
車載ネットワークでは、攻撃者がバスにアクセスし、不正フレーム（不正データフレーム）を送信することで、ＥＣＵを不正制御するといった脅威が存在し、セキュリティ対策が検討されている。
【０００６】
例えば非特許文献１は、同一ネットワーク上に存在する複数のノードは同一のＩＤをもつデータフレームを送信しないという前提条件のもとで、自ノードが送信することになっているＩＤのデータフレームが送信されていることを検出したときに、エラーフレームを利用して、不正なデータフレームの送信を阻止する技術を示す。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｔ．Ｍａｔｓｕｍｏｔｏ、 外４名、「Ａ  Ｍｅｔｈｏｄ  ｏｆ  Ｐｒｅｖｅｎｔｉｎｇ  Ｕｎａｕｔｈｏｒｉｚｅｄ  Ｄａｔａ  Ｔｒａｎｓｍｉｓｓｉｏｎ  ｉｎ  ｃｏｎｔｒｏｌｌｅｒ  ａｒｅａ  ｎｅｔｗｏｒｋ  -  Ｙｏｋｏｈａｍａ  Ｎａｔｉｏｎａｌ  Ｕｎｉｖｅｒｓｉｔｙ：Ｖｅｈｉｃｕｌａｒ  Ｔｅｃｈｎｏｌｏｇｙ  Ｃｏｎｆｅｒｅｎｃｅ」、２０１２
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１の技術のように、一定条件により不正なデータフレームを検出し、その条件に該当する不正なデータフレームを検出する度にエラーフレームを送出すると、このエラーフレームによる車載ネットワークへの影響が、問題を招き得る。エラーフレームの多発は、例えば正規のデータフレームの送信を妨害し、例えば車載ネットワークを搭載する車両の制御に悪影響を与え得る。
【０００９】
そこで、本発明は、車載ネットワークシステムにおいて不正なデータフレーム（ルールに適合しないフレーム）を検出した場合に適切な対処を可能とする不正フレーム対処方法を提供する。また、本発明は、その不正フレームに適切に対処可能な車載ネットワークシステム、及び、その車載ネットワークシステムにおける不正検知電子制御ユニット（不正検知ＥＣＵ）を提供する。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明の一態様に係る不正フレーム対処方法は、車載ネットワークシステムにおける複数の電子制御ユニットがフレームの授受に用いるバスに接続され、当該バス上に現れるフレームを検査する不正検知電子制御ユニットに用いられる不正フレーム対処方法であって、所定ルールに適合しない不正フレームを検知した場合において、所定阻止条件が満たされるときには、当該不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行し、前記所定阻止条件が満たされないときには、前記阻止処理を実行せず、前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録し、前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する不正フレーム対処方法である。
【００１１】
また、上記課題を解決するために本発明の一態様に係る不正検知電子制御ユニットは、複数の電子制御ユニットがフレームの授受に用いるバスに接続され、当該バス上に現れるフレームを検査する不正検知電子制御ユニットであって、前記検査により所定ルールに適合しない不正フレームを検知する不正検知部と、所定阻止条件が満たされるか否かを判別することにより、前記不正検知部により検知された不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行するか否かを判断する阻止判断部と、前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録する保持部とを備え、前記阻止判断部は、前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する不正検知電子制御ユニットである。
【００１２】
また、上記課題を解決するために本発明の一態様に係る車載ネットワークシステムは、バスを介してフレームの授受を行う複数の電子制御ユニットと、前記バスに接続されて当該バス上に現れるフレームを検査する不正検知電子制御ユニットとを備える車載ネットワークシステムであって、前記不正検知電子制御ユニットが、所定ルールに適合しない不正フレームを検知した場合において、所定阻止条件が満たされるときには、当該不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行し、前記所定阻止条件が満たされないときには、前記阻止処理を実行せず、前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録し、前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する車載ネットワークシステムである。
【発明の効果】
【００１３】
本発明によれば、車載ネットワークにおいて送信された不正なフレームが検知された場合に適切な対処が可能となる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係る車載ネットワークシステムの全体構成を示す図である。
【図２】ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。
【図３】ＣＡＮプロトコルで規定されるエラーフレームのフォーマットを示す図である。
【図４】実施の形態１に係る不正検知ＥＣＵの構成図である。
【図５】実施の形態１に係る不正検知ＥＣＵが保持する不正検知ルールの一例を示す図である。
【図６】実施の形態１に係る不正検知ＥＣＵが保持するフレーム受信履歴（前回受信時刻）の一例を示す図である。
【図７】実施の形態１に係る不正検知ＥＣＵが記録する車両制御履歴の一例を示す図である。
【図８】実施の形態１に係る不正検知ＥＣＵが用いる阻止判断ルールの一例を示す図である。
【図９】実施の形態１に係るＥＣＵの構成図である。
【図１０】実施の形態１に係るＥＣＵの送信フレームの一例を示す図である。
【図１１】実施の形態１に係る各ＥＣＵのデータフレーム送受信時の動作例を示す図である。
【図１２】実施の形態１に係る不正検知ＥＣＵのデータフレーム受信処理を示すフローチャートである。
【図１３】実施の形態２に係る車載ネットワークシステムの全体構成を示す図である。
【図１４】実施の形態２に係る不正検知ＥＣＵの構成図である。
【図１５】実施の形態２に係る不正検知ＥＣＵが保持する車両状態の一例を示す図である。
【図１６】実施の形態２に係る不正検知ＥＣＵが用いる阻止判断ルールの一例を示す図である。
【図１７】実施の形態２に係るＥＣＵの送信フレームの一例を示す図である。
【図１８】実施の形態２に係る不正検知ＥＣＵのデータフレーム受信処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
本発明の一態様に係る不正フレーム対処方法は、車載ネットワークシステムにおける複数の電子制御ユニットがフレームの授受に用いるバスに接続され、当該バス上に現れるフレームを検査する不正検知電子制御ユニットに用いられる不正フレーム対処方法であって、所定ルールに適合しない不正フレームを検知した場合において、所定阻止条件が満たされるときには、当該不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行し、前記所定阻止条件が満たされないときには、前記阻止処理を実行せず、前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録し、前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する不正フレーム対処方法である。これにより、車載ネットワークにおいて送信された不正なフレームが検知された場合に適切な対処が可能となる。不正なフレームがバスに現れたときにＥＣＵが正規のフレームと同様に対応してしまうことを阻止した場合に車載ネットワークへ与える悪影響と阻止の必要性とに鑑みて悪影響を制限するように所定阻止条件を定め得る。このため、車両制御への影響度に応じて、不正なフレームを阻止するか否かの切り換えが可能となり、悪影響が抑制され得る。また、これにより、フレームによる制御等の履歴との関係から、車両制御への影響を考慮して不正なフレームの伝達の阻止を切り替えることが可能となり、この結果として車両の安全な走行の維持を可能にし得る。
【００１６】
また、前記所定阻止条件は、前記不正検知電子制御ユニットを搭載する当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つに関する条件であり、前記不正検知電子制御ユニットが、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つについての検出結果に基づいて前記所定阻止条件が満たされるか否かを判別することとしても良い。これにより、車両の運転者の状態及び当該車両の走行環境の状態との関係において阻止処理による影響を考慮して所定阻止条件を定めることにより、適切に不正フレームへの対処を行うことが可能になる。
【００１７】
また、前記阻止処理として、前記バス上に現れた前記不正フレームに係るビット値を変更することとしても良い。これにより、所定阻止条件が満たされた場合に不正なフレームに対してビット値の変更により、不正なフレームが完全な状態でＥＣＵに伝達されてしまうことを阻止し得る。
【００１８】
また、前記複数の電子制御ユニットは、ＣＡＮ（Controller Area Network）プロトコルに従って前記バスを介して通信を行い、前記不正フレームの所定フィールドの内容が、当該不正フレームと同一のフレームＩＤを含むフレームのうち当該不正フレームに先行して最後に送信されたフレームの前記所定フィールドの内容と異なる場合に前記所定阻止条件が満たされると判別し、当該両内容が一致する場合に前記所定阻止条件が満たされないと判別することとしても良い。これにより、同じメッセージＩＤで先行して送信されたデータフレームとの関係から、データフレームの内容に変化がない場合において阻止処理による車載ネットワークへの影響を抑制し得る。
【００１９】
また、前記所定阻止条件は、前記不正検知電子制御ユニットを搭載する車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つに関する条件を含み、前記所定阻止条件が満たされるか否かを、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容と、前記車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つについての検出結果とに基づいて判別することとしても良い。また、前記所定阻止条件は、前記不正検知電子制御ユニットを搭載する車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つに関する条件であり、前記不正検知電子制御ユニットが、前記車両の状態、当該車両の運転者の状態及び当該車両の走行環境の状態の少なくとも１つについての検出結果に基づいて前記所定阻止条件が満たされるか否かを判別することとしても良い。これらにより、車両の状態との関係において阻止処理による影響を考慮して所定阻止条件を定めることにより、適切に不正フレームへの対処を行うことが可能になる。
【００２０】
また、前記車載ネットワークシステムでは前記複数の電子制御ユニットの通信に複数のバスが用いられ、前記不正検知電子制御ユニットは前記複数のバスのうち一のバスに現れたフレームを他のバスに転送する機能を有し、前記一のバス上に現れた不正フレームを検知した場合において、前記所定阻止条件が満たされるときには当該不正フレームについては前記転送を抑止することで前記阻止処理を実行し、前記所定阻止条件が満たされないときには、前記転送を実行することとしても良い。これにより、所定阻止条件が満たされた場合に不正なフレームの転送を行わないことで、不正なフレームがＥＣＵに伝達されてしまうことを阻止し得る。
【００２１】
また、前記複数の電子制御ユニットは、ＣＡＮ（Controller Area Network）プロトコルに従って前記バスを介して通信を行うこととしても良い。これにより、ＣＡＮに従った車載ネットワークシステムにおいて、車両制御への影響度に応じて、不正なフレームを阻止するか否かの切り換えが可能となり得る。
【００２２】
また、前記阻止処理として、前記バスにエラーフレームを送出することとしても良い。これにより、エラーフレームの送信による車載ネットワークへの影響に鑑みて所定阻止条件を定めることで、不正なフレームに対する適切な対処が可能となる。
【００２３】
また、本発明の一態様に係る不正検知電子制御ユニットは、複数の電子制御ユニットがフレームの授受に用いるバスに接続され、当該バス上に現れるフレームを検査する不正検知電子制御ユニットであって、前記検査により所定ルールに適合しない不正フレームを検知する不正検知部と、所定阻止条件が満たされるか否かを判別することにより、前記不正検知部により検知された不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行するか否かを判断する阻止判断部と、前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録する保持部とを備え、前記阻止判断部は、前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する不正検知電子制御ユニットである。これにより、不正なフレームを検知した場合に適切な対処がなされるようになる。また、これにより、フレームによる制御等の履歴との関係から、車両制御への影響を考慮して不正なフレームの伝達の阻止を切り替えることが可能となり、この結果として車両の安全な走行の維持を可能にし得る。
【００２４】
また、本発明の一態様に係る車載ネットワークシステムは、バスを介してフレームの授受を行う複数の電子制御ユニットと、前記バスに接続されて当該バス上に現れるフレームを検査する不正検知電子制御ユニットとを備える車載ネットワークシステムであって、前記不正検知電子制御ユニットが、所定ルールに適合しない不正フレームを検知した場合において、所定阻止条件が満たされるときには、当該不正フレームに従った処理を前記電子制御ユニットが実行することを阻止する阻止処理を実行し、前記所定阻止条件が満たされないときには、前記阻止処理を実行せず、前記バス上で送信された１以上のフレームについて当該フレームの少なくとも一部の内容を履歴情報として記録し、前記所定阻止条件が満たされるか否かを、前記履歴情報を参照することにより、前記不正フレームの内容と当該不正フレームに先行して送信された１以上のフレームの内容とに基づいて判別する車載ネットワークシステムである。これにより、車両制御への影響を考慮した不正フレームの伝達の阻止等が可能となる。また、これにより、フレームによる制御等の履歴との関係から、車両制御への影響を考慮して不正なフレームの伝達の阻止を切り替えることが可能となり、この結果として車両の安全な走行の維持を可能にし得る。
【００２５】
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
【００２６】
以下、実施の形態に係る不正フレーム対処方法を用いる車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ（工程）及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【００２７】
（実施の形態１）
以下、本発明の実施の形態として、車両に搭載されて複数のＥＣＵがバスを介して通信する車載ネットワークシステム１０において、バスに送出された不正なデータフレームを不正検知ＥＣＵが検知して対処する不正フレーム対処方法について、図面を用いて説明する。不正検知ＥＣＵは、車載ネットワークシステム１０を構成するＥＣＵ間での通信に用いられるバス上に現れるフレームについて、不正フレームか否かを検査するための所定ルール（不正検知ルール）に基づいて検査（つまりルールへの適合性の判定）を行う。不正検知ＥＣＵの検査の結果として不正なフレームと判定した場合（つまり不正なフレームを検知した場合）に、その不正なフレームに従った処理のＥＣＵによる実行を阻止（ここではこの実行の阻止を単に阻止とも呼ぶ。）するか否かを所定阻止条件が満たされるか否かにより判別して対処する。阻止するとは、阻止のための阻止処理を実行することである。ここでは、不正なフレームと判定したデータフレームに含まれるデータである車両制御情報に関して、予め車両の制御への影響の度合いに鑑みて定められた所定阻止条件を満たすか否かにより、不正なフレームを阻止するか否かを切り替える不正検知ＥＣＵ１００を含む車載ネットワークシステム１０について説明する。不正なフレームの阻止は、車載ネットワークシステム１０を構成する１台以上のＥＣＵがその不正なフレームを受信して正規のフレームと同様にその不正なフレームに従った処理（制御等）を実行してしまうことを阻止することである。不正なフレームの阻止は、例えば、不正なフレームを完全な状態でバスからＥＣＵが受信することを阻止すべくバス上で不正なフレームのビット値を変更すること（例えばエラーフレームの送信により不正なフレームを上書きすること）等といった、不正フレームの伝達の阻止により、実現できる。
【００２８】
［１．１  車載ネットワークシステム１０の全体構成］
図１は、車載ネットワークシステム１０の全体構成を示す図である。車載ネットワークシステム１０は、ＣＡＮプロトコルに従って通信するネットワーク通信システムの一例であり、制御装置、センサ等の各種機器が搭載された自動車におけるネットワーク通信システムである。車載ネットワークシステム１０は、バス３００と、不正検知ＥＣＵ１００及び各種機器に接続されたＥＣＵ２００ａ、２００ｂ等のＥＣＵといったバスに接続された各ノードとを含んで構成される。なお、図１では省略しているものの、車載ネットワークシステム１０にはＥＣＵ２００ａ、２００ｂ以外にもいくつものＥＣＵが含まれ得る。車載ネットワークシステム１０においてはＣＡＮプロトコルに従って各ＥＣＵがフレームの授受を行う。ＥＣＵは、例えば、プロセッサ（マイクロプロセッサ）、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ、ＲＡＭ等であり、プロセッサにより実行される制御プログラム（コンピュータプログラム）を記憶することができる。例えばプロセッサが、制御プログラム（コンピュータプログラム）に従って動作することにより、ＥＣＵは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。バス３００には不正なメッセージを送信する不正なＥＣＵが接続されている可能性があり、不正検知ＥＣＵ１００は、不正検知ルールに基づいてルールに適合しない不正なフレームがバス上に現れるとその不正なフレームを検知する。
【００２９】
不正検知ＥＣＵ１００は、バス３００に接続される一種のＥＣＵであり、自ＥＣＵが接続されたバス上に現れるフレームを監視して不正なフレームを検知した場合には、所定阻止条件が満たされるか否かを判別した結果に応じて例えばエラーフレームの送信等といった対処を行う機能を有する。
【００３０】
ＥＣＵ２００ａ、２００ｂは、それぞれ、ウィンドウスイッチ２１０、ウィンドウ２２０に接続されている。ＥＣＵ２００ａは、ウィンドウスイッチ２１０の状態を取得して、その状態に係る車両制御情報（ここではウィンドウ２２０を制御するための情報）をデータフレームに含めて、バス３００に送信する。ＥＣＵ２００ｂは、ＥＣＵ２００ａから送信された、データフレームに含まれるウィンドウスイッチ２１０の状態に係る車両制御情報に従い、ウィンドウ２２０の開閉を制御する。
【００３１】
［１．２  データフレームフォーマット］
以下、ＣＡＮプロトコルに従ったネットワークで用いられるフレームの１つであるデータフレームについて説明する。
【００３２】
図２は、ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、ＣＡＮプロトコルで規定される標準ＩＤフォーマットにおけるデータフレームを示している。データフレームは、ＳＯＦ（Start Of Frame）、ＩＤフィールド、ＲＴＲ（Remote Transmission Request）、ＩＤＥ（Identifier Extension）、予約ビット「ｒ」、ＤＬＣ（Data Length Code）、データフィールド、ＣＲＣ（Cyclic Redundancy Check）シーケンス、ＣＲＣデリミタ「ＤＥＬ」、ＡＣＫ（Acknowledgement）スロット、ＡＣＫデリミタ「ＤＥＬ」、及び、ＥＯＦ（End Of Frame）の各フィールドで構成される。
【００３３】
ＳＯＦは、１ｂｉｔのドミナントで構成される。バスがアイドルの状態はレセシブになっており、ＳＯＦによりドミナントへ変更することでフレームの送信開始を通知する。
【００３４】
ＩＤフィールドは、１１ｂｉｔで構成される、データの種類を示す値であるＩＤ（フレームＩＤ）を格納するフィールドである。複数のノードが同時に送信を開始した場合、このＩＤフィールドで通信調停を行うために、ＩＤが小さい値を持つフレームが高い優先度となるよう設計されている。フレームＩＤをメッセージＩＤとも称する。
【００３５】
ＲＴＲは、データフレームとリモートフレームとを識別するための値であり、データフレームにおいてはドミナント１ｂｉｔで構成される。
【００３６】
ＩＤＥと「ｒ」とは、両方ドミナント１ｂｉｔで構成される。
【００３７】
ＤＬＣは、４ｂｉｔで構成され、データフィールドの長さを示す値である。なお、ＩＤＥ、ｒ及びＤＬＣを合わせてコントロールフィールドと称する。
【００３８】
データフィールドは、最大６４ｂｉｔで構成される送信するデータの内容を示す値である。８ｂｉｔ毎に長さを調整できる。送られるデータの仕様については、ＣＡＮプロトコルで規定されておらず、車載ネットワークシステム１０において定められる。従って、車種、製造者（製造メーカ）等に依存した仕様となる。
【００３９】
ＣＲＣシーケンスは、１５ｂｉｔで構成される。ＳＯＦ、ＩＤフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。
【００４０】
ＣＲＣデリミタは、１ｂｉｔのレセシブで構成されるＣＲＣシーケンスの終了を表す区切り記号である。なお、ＣＲＣシーケンス及びＣＲＣデリミタを合わせてＣＲＣフィールドと称する。
【００４１】
ＡＣＫスロットは、１ｂｉｔで構成される。送信ノードはＡＣＫスロットをレセシブにして送信を行う。受信ノードはＣＲＣシーケンスまで正常に受信ができていればＡＣＫスロットをドミナントとして送信する。レセシブよりドミナントが優先されるため、送信後にＡＣＫスロットがドミナントであれば、送信ノードは、いずれかの受信ノードが受信に成功していることを確認できる。
【００４２】
ＡＣＫデリミタは、１ｂｉｔのレセシブで構成されるＡＣＫの終了を表す区切り記号である。
【００４３】
ＥＯＦは、７ｂｉｔのレセシブで構成されており、データフレームの終了を示す。
【００４４】
［１．３  エラーフレームフォーマット］
図３は、ＣＡＮプロトコルで規定されるエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ（プライマリ）と、エラーフラグ（セカンダリ）と、エラーデリミタとから構成される。
【００４５】
エラーフラグ（プライマリ）は、エラーの発生を他のノードに知らせるために使用される。エラーを検知したノードはエラーの発生を他のノードに知らせるために６ｂｉｔのドミナントを連続で送信する。この送信は、ＣＡＮプロトコルにおけるビットスタッフィングルール（連続して同じ値を６ｂｉｔ以上送信しない）に違反し、他のノードからのエラーフレーム（セカンダリ）の送信を引き起こす。
【００４６】
エラーフラグ（セカンダリ）は、エラーの発生を他のノードに知らせるために使用される連続した６ビットのドミナントで構成される。エラーフラグ（プライマリ）を受信してビットスタッフィングルール違反を検知した全てのノードがエラーフラグ（セカンダリ）を送信することになる。
【００４７】
エラーデリミタ「ＤＥＬ」は、８ｂｉｔの連続したレセシブであり、エラーフレームの終了を示す。
【００４８】
［１．４  不正検知ＥＣＵ１００の構成］
図４は、不正検知ＥＣＵ１００の構成図である。不正検知ＥＣＵ１００は、フレーム送受信部１１０と、フレーム処理部１２０と、不正検知部１３０と、阻止判断部１４０と、フレーム生成部１５０と、不正検知ルール保持部１６０と、フレーム受信時刻保持部１７０と、車両制御履歴保持部１８０と、阻止判断ルール保持部１９０とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、不正検知ＥＣＵ１００における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。
【００４９】
フレーム送受信部１１０は、バス３００に対して、ＣＡＮのプロトコルに従ったデータフレームを送受信する。即ち、フレーム送受信部１１０は、バス３００からフレームを１ｂｉｔずつ受信し、受信中のデータフレームのＩＤ、ＤＬＣ、データといった情報を不正検知部１３０に転送し、また、エラー無くデータフレームの受信を完了すると、データフレーム内のＩＤ、ＤＬＣ、データといった情報をフレーム処理部１２０に転送する。また、フレーム送受信部１１０は、ＣＡＮプロトコルに則っていないデータフレームと判断した場合は、エラーフレームを送信する。また、フレーム送受信部１１０は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する。また、フレーム送受信部１１０は、阻止判断部１４０の要求によりフレーム生成部１５０が生成したエラーフレームの通知を受けた場合にも、バス３００へエラーフレームを送信する。通信調停といったＣＡＮのプロトコルに則った処理も、フレーム送受信部１１０によって、実現される。
【００５０】
フレーム処理部１２０は、フレーム送受信部１１０よりデータフレームの情報を受け取り、データフレームの内容を解釈する。ＥＣＵ２００ａから送信されるデータフレーム内のウィンドウスイッチ２１０の状態を示す車両制御情報に応じて、車両制御履歴保持部１８０に格納されている車両制御履歴を更新する。
【００５１】
不正検知部１３０は、バスから受信したデータフレームが、不正なデータフレームか否かを、不正検知ルール保持部１６０が保持する所定ルール（不正検知ルール）に基づいて判定（検査）する。不正検知部１３０は、現在時刻を計測する機能を有する。不正検知部１３０は、不正検知ルール保持部１６０に格納されている不正検知ルールとしてのデータフレームのＩＤ（メッセージＩＤ）毎に定められた送信周期を参照し、受信したデータフレームの受信時刻と、フレーム受信時刻保持部１７０に格納しているＩＤ毎のデータフレームの前回の受信時刻とから求められる送信周期が、定められた送信周期よりも短い場合に受信したデータフレームを不正と判定する。通信調停等の影響で送信周期が長くなり得ることから、定められた送信周期より短くない場合にはデータフレームが不正でないと判定する。受信したデータフレームを不正と判定した場合（つまり不正なフレームを検知した場合）には、不正検知部１３０は、データフレームのデータフィールド内のデータ（車両制御情報）まで受信できたタイミングでそこまでのデータフレームの内容を阻止判断部１４０に通知する。また、不正検知部１３０は、受信したデータフレームが不正でない（正規のデータフレームである）と判定した場合には、フレーム受信時刻保持部１７０に、格納されている該当するＩＤのデータフレームの受信時刻を更新する。不正検知部１３０は１回目のデータフレームの受信の場合には送信周期を特定できないが正規のデータフレームであると判定して、フレーム受信時刻保持部１７０の該当するＩＤの受信時刻を更新する。
【００５２】
阻止判断部１４０は、不正検知部１３０により不正と判定されたデータフレームの通知を受けて、車両制御履歴保持部１８０に格納しているデータフレームに含まれる車両制御情報の履歴を参照し、予め車両の制御への影響の度合いに鑑みて定められた所定阻止条件を満たすか否かを判別することにより、不正なフレームを阻止するか否かを判別する。例えば阻止判断部１４０は、ＥＣＵ２００ａが送信に用いるメッセージＩＤを含むデータフレームが不正検知部１３０により不正であるとして通知された場合に、阻止判断ルール保持部１９０が保持する阻止判断ルールが示す所定阻止条件を満たすか否かを判別する。所定阻止条件は、阻止処理を実行するか否かの判別に用いる条件である。例えば、不正と判定されたデータフレームに含まれる車両制御情報と、車両制御履歴保持部１８０に記録された履歴としての車両制御情報との関係が所定阻止条件を満たす場合には、データフレームの阻止のために（つまりデータフレームに対応する処理をＥＣＵが実行することを阻止するために）、フレーム生成部１５０に、エラーフレームの生成の要求を行う。エラーフレームが生成されるとフレーム送受信部１１０によりバスにエラーフレームが送出され、バス上において不正なデータフレームは、レセシブに優先するドミナントが複数連続して構成されるエラーフレームにより、上書きされることになる。また、所定阻止条件を満たさない場合には、阻止判断部１４０は、不正と判定されたデータフレームの阻止を行わず、このためエラーフレームは送信されないことになる。
【００５３】
フレーム生成部１５０は、阻止判断部１４０からのエラーフレームの生成の要求に従ってエラーフレームを生成し、フレーム送受信部１１０へエラーフレームを通知して送信させる。
【００５４】
不正検知ルール保持部１６０は、不正検知部１３０が参照する不正検知ルール（図５参照）を保持する。
【００５５】
フレーム受信時刻保持部１７０は、不正検知部１３０が参照するＩＤ毎のデータフレームの前回受信時刻を示すフレーム受信履歴（図６参照）を保持している。
【００５６】
車両制御履歴保持部１８０は、フレーム処理部１２０が解釈したデータフレームに含まれていた車両制御情報の履歴（図７参照）を記憶媒体等に記録して保持する。
【００５７】
阻止判断ルール保持部１９０は、阻止判断部１４０が、不正と判定されたデータフレームを阻止するか否かを判別するためのルールを保持する。
【００５８】
［１．５  不正検知ルールの例］
図５は、不正検知ルール保持部１６０が保持する不正検知ルールの一例を示す。同図の例では、不正検知ルールとして、データフレームのＩＤ（メッセージＩＤ）毎に正常な送信周期が定められている。この例では、ＩＤが０ｘ１００であるデータフレームの正常な送信周期は２０ｍｓであり、ＩＤが０ｘ２００であるデータフレームの正常な周期は１００ｍｓであることを示す。不正検知ＥＣＵ１００において、この正常な送信周期よりも短い周期となった場合に不正なデータフレームであると判定されることになる。なお、不正検知ルール保持部１６０では、不正検知ルールを暗号化して保持しても良い。
【００５９】
［１．６  フレーム受信履歴の例］
図６は、フレーム受信時刻保持部１７０が保持するフレーム受信履歴の一例を示す。フレーム受信履歴は、同図に示すように、データフレームのＩＤ（メッセージＩＤ）毎に、そのデータフレームの前回受信時刻を示す。図６の例では、ＩＤが０ｘ１００であるデータフレームの前回受信時刻は２００ｍｓｅｃであり、ＩＤが０ｘ２００であるデータフレームの前回受信時刻は２１０ｍｓｅｃである。前回受信時刻は、例えば不正検知ＥＣＵ１００が、起動してからの時間を示している。前回受信時刻は、不正検知ＥＣＵ１００の起動時に０にセットすることとし、前回受信時刻が０であるＩＤのデータフレームは、１回目の受信であると判別する。不正検知ＥＣＵ１００の起動は、例えば、不正検知ＥＣＵ１００を搭載する車両においてイグニッション状態へ変化した時（例えばイグニッションキーがイグニッションキーシリンダに差し込まれた時）等に行われる。フレーム受信履歴における前回受信時刻は、データフレームの受信の都度更新される。
【００６０】
［１．７  車両制御履歴の例］
図７は、車両制御履歴保持部１８０が保持する車両制御履歴の一例を示す。同図の例では、車両制御履歴として、前回受信されたウィンドウスイッチ２１０に係るデータフレームのデータフィールド内の車両制御情報を示しており、ウィンドウスイッチ２１０に係る車両制御情報は、「閉じる」を示している。この例の車両制御履歴における車両制御情報は、前回受信したデータフレームのデータフィールドを記録したものであり、データフレームの受信の都度、そのデータフレームのデータフィールドに応じて更新される。
【００６１】
［１．８  阻止判断ルールの例］
図８は、阻止判断ルール保持部１９０が保持する、データフレームを阻止するか否かを判別するためのルール（所定阻止条件）の一例を示す。このルールは、車両制御への影響の度合いの大きさに鑑みて定められる。図８の例では、不正と判定されたデータフレームに含まれる車両制御情報と、そのデータフレームのメッセージＩＤと同じメッセージＩＤを含む前回受信されたデータフレームに係る車両制御履歴とから判別可能な所定阻止条件を定めている。この例では、ウィンドウスイッチ２１０に係る車両制御情報を含む、メッセージＩＤが０ｘ１００のデータフレームが不正と判定されたときに、そのデータフレームに含まれる車両制御情報が、車両制御履歴保持部１８０が保持する対応するＩＤの車両制御履歴としての車両制御情報から変化している場合（車両制御情報のデータ値が相違する場合）は、所定阻止条件が満たされることを表している。この所定阻止条件が満たされると、その不正なデータフレームの阻止（そのデータフレームをＥＣＵが受信して対応する処理を実行することの阻止）が行われることになる。
【００６２】
［１．９  ＥＣＵ２００ａの構成］
図９は、ＥＣＵ２００ａの構成図である。ＥＣＵ２００ａはフレーム送受信部２０１と、フレーム処理部２０２と、外部機器入出力部２０３と、フレーム生成部２０４とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、ＥＣＵ２００ａにおける通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。なお、ＥＣＵ２００ｂも同様の構成を有する。
【００６３】
フレーム送受信部２０１は、バス３００に対して、ＣＡＮのプロトコルに従ったデータフレームを送受信する。バス３００からデータフレームを１ｂｉｔずつ受信し、エラー無くデータフレームの受信を完了すると、データフレーム内のＩＤ、ＤＬＣ、データといった情報をフレーム処理部２０２に転送する。ＣＡＮプロトコルに則っていないデータフレームと判断した場合は、エラーフレームを送信する。また、エラーフレームを受信した場合、受信中のデータフレーム対し、以降のデータフレームを破棄する。通信調停といったＣＡＮのプロトコルに則った処理も、フレーム送受信部２０１において実現される。
【００６４】
フレーム処理部２０２は、受信したデータフレームの内容を解釈する。例えばＥＣＵ２００ｂでは、ＥＣＵ２００ａから送信されたデータフレームに含まれるウィンドウスイッチ２１０の状態に関する車両制御情報を解釈し、ウィンドウ２２０の制御を行うために、外部機器入出力部２０３に、ウィンドウ２２０を制御するための情報を通知する。
【００６５】
外部機器入出力部２０３は、ＥＣＵ２００ａ或いはＥＣＵ２００ｂに接続される外部機器と、通信を行う。例えば、ＥＣＵ２００ａの場合は、ウィンドウスイッチ２１０と接続され、ウィンドウスイッチ２１０が押下（操作）されているか否かといった状態を取得してウィンドウ２２０を「閉じる」旨の操作がなされたか「開ける」旨の操作がなされたか、「操作無し」であるかを、フレーム生成部２０４に通知する。ＥＣＵ２００ｂの場合は、ウィンドウ２２０へ、フレーム処理部２０２から通知された値に基づいて制御情報を出力することで、ウィンドウ２２０の開閉を行う。
【００６６】
フレーム生成部２０４は、バス３００へ送信するデータフレームを生成する。例えばＥＣＵ２００ａでは、外部機器入出力部２０３から通知された、ウィンドウスイッチ２１０の状態に関する情報（車両制御情報）を含んだデータフレームを、予め定められた周期である２０ｍｓ間隔で生成し、フレーム送受信部２０１に通知する。なお、データフレームが生成される間隔を２０ｍｓとしたが、２０ｍｓ以外の間隔でも良い。図１０に、ＥＣＵ２００ａが送信するデータフレームの例を示す。
【００６７】
［１．１０  ＥＣＵ２００ａが送信するデータフレームの例］
図１０は、ウィンドウスイッチ２１０に接続されたＥＣＵ２００ａが送信するデータフレームのＩＤとデータ（データフィールド内の車両制御情報）の一例を示す。メッセージＩＤが「０ｘ１００」のデータフレームのデータの値は、ウィンドウスイッチ２１０の状態を示している。ウィンドウスイッチ２１０の状態によって、０ｘ００から０ｘ０２の範囲の値を取り、０ｘ００はウィンドウスイッチ２１０の「操作無し」という状態を示しており、０ｘ０１はウィンドウ２２０を「閉じる」ための操作がウィンドウスイッチ２１０に対してなされたことを示している。０ｘ０２はウィンドウ２２０を「開ける」ための操作がウィンドウスイッチ２１０に対してなされたことを示している。データは１Ｂｙｔｅで送信される。図１０の上行から下行へと、ＥＣＵ２００ａから逐次送信される各フレームに対応する各メッセージＩＤ及びデータを例示しており、「操作無し」から、「開ける」要求が送信され、その後に「閉じる」要求が送信される様子を示している。
【００６８】
［１．１１  データフレーム送受信時の各ＥＣＵの動作例］
図１１は、データフレーム送受信時における各ＥＣＵの動作例を示す図である。同図の例では、ＥＣＵ２００ａが２０ｍｓ毎にウィンドウスイッチ２１０の状態に従って、ウィンドウ２２０を制御するためのデータフレームを送信している。ＥＣＵ２００ａが、まずウィンドウ２２０を「開ける」ためのデータフレームを送信し（ステップＳ１ａ）、その後は「閉じる」ためのデータフレームを送信している（ステップＳ２ａ〜Ｓ６ａ）。ＥＣＵ２００ａによる２回目のデータフレーム送信時に（ステップＳ２ａ）、通信調停が発生し、２回目の送信までの送信周期が２０ｍｓよりも長くなっている。このときＥＣＵ２００ａのフレーム送受信部２０１において、通信調停処理が行われるが、フレーム生成部２０４は、定期的に、データフレーム送信要求をフレーム送受信部２０１に行うため、２回目と３回目のデータフレームの送信間隔が、設定された送信周期よりも短くなっている。そのためＥＣＵ２００ａが３回目のデータフレームを送信した場合に（ステップＳ３ａ）、不正検知ＥＣＵ１００は、不正なデータフレームと判定（不正検知）するが、データフレームの内容が「閉じる」となっており、前回受信した値から変化しておらず、所定阻止条件（図８参照）が満たされないため、阻止を行わない（ステップＳ３ｃ）。次に、ＥＣＵ２００ａが４回目のデータフレームの送信を行う（ステップＳ４ａ）。これまで、ＥＣＵ２００ａからのデータフレームを受信したＥＣＵ２００ｂでは、そのデータフレームに対応してウィンドウ２２０を制御している（ステップＳ１ｂ、Ｓ２ｂ、Ｓ３ｂ、Ｓ４ｂ）。またＥＣＵ２００ａの４回目と５回目のデータフレーム送信（ステップＳ４ａ、Ｓ６ａ）の間に、ＥＣＵ２００ａ以外から、バス３００にウィンドウ２２０を「開ける」データフレームが不正に送信される（ステップＳ５）。このデータフレームについて、不正検知ＥＣＵ１００は、不正なフレームであると判定（不正検知）し、データフレームの内容が「閉じる」から「開ける」に変化しており所定阻止条件が満たされるため、阻止（具体的にはエラーフレームの送信）を行う（ステップＳ５ｃ）。これによりＥＣＵ２００ｂは不正なデータフレームを完全には受信せず、ウィンドウ２２０の不正制御を防ぐことができる。続くＥＣＵ２００ａからの５回目のデータフレームの送信（ステップＳ６ａ）に対しては、ＥＣＵ２００ｂが受信し、データフレームの内容に従ってウィンドウ２２０の開閉を制御する（ステップＳ６ｂ）。
【００６９】
［１．１２  不正検知ＥＣＵ１００のデータフレーム受信処理］
図１２は、不正検知ＥＣＵ１００のデータフレーム受信処理を示すフローチャートである。以下、同図に即して不正検知ＥＣＵ１００のデータフレーム受信時の動作について説明する。
【００７０】
不正検知ＥＣＵ１００は、バス３００上にデータフレームが送出されると、バス３００上に現れたデータフレームのＩＤ（メッセージＩＤ）を受信する（ステップＳ１００１）。
【００７１】
不正検知ＥＣＵ１００は、不正検知ルール保持部１６０が保持する不正検知ルールと、フレーム受信時刻保持部１７０に格納しているフレーム受信履歴とを参照することで、受信中のデータフレームが、そのＩＤ（メッセージＩＤ）のデータフレームのうち初めて受信されたものであるかを判断する（ステップＳ１００２）。初めて受信されたデータフレームでない場合には、受信時刻から特定される送信周期が正常な送信周期であるか否か（つまり不正検知ルールが示す送信周期よりも短くないか否か）を判定し（ステップＳ１００３）、初めて受信されたデータフレームである場合は、ステップＳ１００３での判定をスキップして、そのデータフレームの受信時刻を計時して、フレーム受信時刻保持部１７０のフレーム受信履歴を更新して（ステップＳ１００４）、データフレーム受信処理を終了する。
【００７２】
ステップＳ１００３での判定において、正常な送信周期であると判定された場合には、ステップＳ１００４でのフレーム受信履歴の更新を行ってデータフレーム受信処理を終了し、正常な送信周期でないと判定された場合（つまり不正なフレームと判定された場合）には、不正検知ＥＣＵ１００は、受信中のデータフレームのデータフィールド（データ）を受信する（ステップＳ１００５）。
【００７３】
ステップＳ１００５に続いて、不正検知ＥＣＵ１００は、受信中のデータフレームのデータ（車両制御情報）と、車両制御履歴保持部１８０に格納している車両制御履歴としての、ウィンドウスイッチ２１０の状態に係る車両制御情報とから、阻止判断ルール保持部１９０が保持するルールに基づいて所定阻止条件が満たされるか否かを判別する（ステップＳ１００６）。ウィンドウスイッチ２１０の状態を示す車両制御情報に変化がある場合には、不正検知ＥＣＵ１００は、所定阻止条件が満たされたとして、エラーフレームの送信を行うことで不正なデータフレームがＥＣＵにおいて正規のフレームと同様に処理されることを阻止する（ステップＳ１００７）。一方、車両制御情報に変化がない場合には、ステップＳ１００７をスキップしてエラーフレームの送信を行わずに、データフレーム受信処理を終了する。
【００７４】
［１．１３  実施の形態１の効果］
実施の形態１に係る車載ネットワークシステム１０では、不正検知ＥＣＵ１００が、不正検知部１３０によって、不正と判定した受信中のデータフレームに対して、阻止判断ルール保持部１９０が保持する阻止判断ルールで示される所定阻止条件に従って、そのデータフレームを阻止するか否かを決定する。所定阻止条件に係る阻止判断ルールは、車両制御への影響の度合いの大きさに鑑みて定められる。例えば、不正なフレームがバスに現れたときにＥＣＵが正規のフレームと同様に対応することを阻止した場合に車載ネットワークへ与える悪影響と阻止の必要性とに鑑みて、悪影響を制限するように、所定阻止条件について定めておくことができる。これにより、不正検知ルールへの適合性の判定の結果として不正と判定されたデータフレームを、車両制御への影響度に応じて、阻止するか否か（例えば不正なデータフレームに対応した処理を他のＥＣＵが実行しないようにエラーフレームを送信して上書きするか否か）の切り換えが可能となる。このため、エラーフレームの送信等により車載ネットワークへの悪影響を与えることを制限し得る。この結果として、車載ネットワークシステム１０を搭載した車両は安全な走行を維持できるようになる。
【００７５】
（実施の形態２）
以下、実施の形態１で示した車載ネットワークシステム１０を一部変形してなる車載ネットワークシステム１１について説明する。
【００７６】
本実施の形態に係る車載ネットワークシステム１１では、バスに送出された不正なデータフレームを不正検知ＥＣＵが検知した場合に、車載ネットワークシステム１１を搭載する車両の状態に応じて対処を切り替える不正フレーム対処方法を用いる。
【００７７】
［２．１  車載ネットワークシステム１１の全体構成］
図１３は、車載ネットワークシステム１１の全体構成を示す図である。車載ネットワークシステム１１は、バス３００と、不正検知ＥＣＵ１１００及び各種機器に接続されたＥＣＵ１２００ａ、１２００ｂ等のＥＣＵといったバスに接続された各ノードとを含んで構成される。車載ネットワークシステム１１は、ここで特に説明しない点については車載ネットワークシステム１０と同様である。
【００７８】
不正検知ＥＣＵ１１００は、バス３００に接続される一種のＥＣＵであり、自ＥＣＵが接続されたバス上に現れるフレームを監視して不正なフレームを検知し得る。不正検知ＥＣＵ１１００は、車速センサ１１１０と接続され、現在の車両の状態を取得し、不正なフレームを検知した場合に、車両の状態に関連した所定阻止条件が満たされるか否かを判別した結果に応じて例えばエラーフレームの送信等といった対処を行う機能を有する。
【００７９】
ＥＣＵ１２００ａ、１２００ｂは、それぞれ、ドアロックスイッチ１２１０、ドアロック１２２０に接続されている。ＥＣＵ１２００ａは、ドアロックスイッチ１２１０の状態を取得して、その状態に係る車両制御情報（ここではドアロック１２２０を制御するための情報）をデータフレームに含めて、バス３００に送信する。ＥＣＵ１２００ｂは、ＥＣＵ１２００ａから送信された、データフレームに含まれるドアロックスイッチ１２１０の状態に係る車両制御情報に従い、ドアロック１２２０の開閉を制御する。
【００８０】
［２．２  不正検知ＥＣＵ１１００の構成］
図１４は、不正検知ＥＣＵ１１００の構成図である。不正検知ＥＣＵ１１００は、フレーム送受信部１１０と、フレーム処理部１１２０と、不正検知部１３０と、阻止判断部１１４０と、フレーム生成部１５０と、不正検知ルール保持部１６０と、フレーム受信時刻保持部１７０と、車両状態保持部１１８０と、阻止判断ルール保持部１１９０と、車両状態判断部１１１１とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、不正検知ＥＣＵ１１００における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。なお実施の形態１で示した不正検知ＥＣＵ１００と同様の機能を有する構成要素は、同じ符号を付して説明を省略する。
【００８１】
フレーム処理部１１２０は、フレーム送受信部１１０よりデータフレームの情報を受け取り、データフレームの内容を解釈する。フレーム処理部１１２０は、データフレームの内容が車両の状態を示す場合においては、車両状態保持部１１８０に格納されている車両状態を更新しても良い。
【００８２】
阻止判断部１１４０は、不正検知部１３０により不正と判定されたデータフレームの通知を受けて、車両状態保持部１１８０に格納されている現在の車両状態を参照し、予め車両の制御への影響の度合いに鑑みて定められた所定阻止条件を満たすか否かにより、不正なフレームを阻止するか否かを判別する。例えば阻止判断部１１４０は、ＥＣＵ２００ａが送信に用いるメッセージＩＤを含むデータフレームが不正検知部１３０により不正であるとして通知された場合に、阻止判断ルール保持部１１９０が保持する阻止判断ルールが示す所定阻止条件を満たすか否かを判別する。例えば、不正と判定されたデータフレームに含まれる車両制御情報と、現在の車両状態とから所定阻止条件が満たされる場合には、データフレームの阻止のために（つまりデータフレームに対応する処理をＥＣＵが実行することを阻止するために）、フレーム生成部１５０に、エラーフレームの生成の要求を行う。また、所定阻止条件を満たさない場合には、阻止判断部１１４０は、不正と判定されたデータフレームの阻止を行わず、このためエラーフレームは送信されないことになる。
【００８３】
車両状態判断部１１１１は、車速センサ１１１０で測定された値を取得して解釈し、現在の車両の状態が、「走行中」か「停車中」かを判断し、判断結果に応じて車両状態保持部１１８０に車両状態を格納する。
【００８４】
車両状態保持部１１８０は、車両状態判断部１１１１或いはフレーム処理部１１２０が格納した車両状態を保持する（図１５参照）。
【００８５】
阻止判断ルール保持部１１９０は、阻止判断部１１４０が、不正と判定されたデータフレームを阻止するか否かを判別するためのルールを保持する（図１６参照）。
【００８６】
［２．３  車両状態の例］
図１５は、車両状態保持部１１８０に格納される車両状態の一例を示す。
【００８７】
同図の例は、車両状態として、車載ネットワークシステム１１を搭載する車両の走行状態を示し、現在の車両の状態が「走行中」であることを表している。
【００８８】
［２．４  阻止判断ルールの例］
図１６は、阻止判断ルール保持部１１９０が保持する、データフレームを阻止するか否かを判別するためのルール（所定阻止条件）の一例を示す。このルールは、車両制御への影響の度合いの大きさに鑑みて定められる。図１６の例では、不正と判定されたデータフレームに含まれる車両制御情報と、車両状態保持部１１８０に格納される車両状態とから判別可能な所定阻止条件を定めている。この例では、ドアロック１２２０を制御するためのドアロックスイッチ１２１０の状態に係る車両制御情報を含むデータフレームが不正と判定されたときに、その車両制御情報が、ドアロック解錠を示す場合でありかつ車両状態が「走行中」である場合においては所定阻止条件が満たされることを表している。
【００８９】
［２．５  ＥＣＵ１２００ａ、ＥＣＵ１２００ｂの構成］
ＥＣＵ１２００ａの構成は、ＥＣＵ２００ａと同様である（図９参照）。また、ＥＣＵ１２００ｂも同様の構成である。
【００９０】
ＥＣＵ１２００ａは、ドアロックスイッチ１２１０の状態を外部機器入出力部２０３で取得し、予め定められた周期で、ドアロックスイッチ１２１０の状態に対応してドアロック１２２０の「施錠」或いは「解錠」の制御を要求するデータフレームを、フレーム生成部２０４で生成して、フレーム送受信部２０１で送信する。ＥＣＵ１２００ｂは、ＥＣＵ１２００ａから、送信されたデータフレームに従って、ドアロック１２２０の制御を行う。図１７に、ＥＣＵ１２００ａが送信するデータフレームの例を示す。
【００９１】
［２．６  ＥＣＵ１２００ａが送信するデータフレームの例］
図１７は、ドアロックスイッチ１２１０に接続されたＥＣＵ１２００ａが送信するデータフレームのＩＤとデータ（データフィールド内の車両制御情報）の一例を示す。メッセージＩＤが「０ｘ２００」のデータフレームのデータの値は、ドアロックスイッチ１２１０の状態によって、０ｘ００か０ｘ０１の値を取り、０ｘ００はドアロック１２２０を「施錠」することを示しており、０ｘ０１はドアロック１２２０を「解錠」することを示している。データは１Ｂｙｔｅで送信される。図１７の上行から下行へと、ＥＣＵ１２００ａから逐次送信される各フレームに対応する各メッセージＩＤ及びデータを例示しており、ドアロック１２２０に対して「施錠」するためのデータフレームが２回送信されてから、「解錠」するためのデータフレームが複数回送信される様子を示している。
【００９２】
［２．７  不正検知ＥＣＵ１１００のデータフレーム受信処理］
図１８は、不正検知ＥＣＵ１１００のデータフレーム受信処理を示すフローチャートである。以下、同図に即して不正検知ＥＣＵ１１００のデータフレーム受信時の動作について説明する。なお、実施の形態１で示した不正検知ＥＣＵ１００のデータフレーム受信処理と同様の処理ステップについては同じ符号を付して適宜説明を省略する。
【００９３】
不正検知ＥＣＵ１１００は、バス３００上に現れたデータフレームのＩＤ（メッセージＩＤ）を受信し（ステップＳ１００１）、受信時刻から特定される送信周期が正常な送信周期であるか否かを判定し（ステップＳ１００３）、正常な送信周期でないと判定した場合（つまり不正なフレームと判定した場合）には、受信中のデータフレームのデータフィールド（データ）を受信する（ステップＳ１００５）。
【００９４】
ステップＳ１００５に続いて、不正検知ＥＣＵ１１００は、受信中のデータフレームのデータ（車両制御情報）と、車両状態保持部１１８０に格納されている車両状態とを参照して、阻止判断ルール保持部１１９０が保持するルールに基づいて所定阻止条件が満たされるか否かを判別する（ステップＳ２００６）。具体的には、車両状態（走行状態）が「走行中」であり、かつ、不正と判定したデータフレームの車両制御情報がドアロックの「解錠」を示すか否かを判別する。車両状態が「走行中」で車両制御情報がドアロックの「解錠」を示す場合には、不正検知ＥＣＵ１１００は、所定阻止条件が満たされたとして、エラーフレームの送信を行うことで不正なデータフレームがＥＣＵ１２００ｂ等に伝達されることを阻止する（ステップＳ１００７）。その他の場合（所定阻止条件が満たされない場合）には、不正検知ＥＣＵ１１００は、ステップＳ１００７をスキップしてエラーフレームの送信を行わずに、データフレーム受信処理を終了する。
【００９５】
［２．８  実施の形態２の効果］
実施の形態２に係る車載ネットワークシステム１１では、不正検知ＥＣＵ１１００が、不正検知部１３０によって、不正と判定した受信中のデータフレームに対して、阻止判断ルール保持部１１９０が保持する阻止判断ルールが示す所定阻止条件に従って、データフレームの伝達を阻止するか否かを決定する。これにより、不正検知ルールに適合せずに不正と判定されたデータフレームを、車両状態との関係に応じた車両制御への影響度を鑑みて定められた所定阻止条件を満たすか否かに応じて、阻止するか否かを切り替えることが可能となる。このため、エラーフレームの送信等により車載ネットワークへの悪影響を与えることを制限し得る。この結果として、車載ネットワークシステム１１を搭載した車両は安全な走行を維持できるようになる。
【００９６】
（他の実施の形態）
以上のように、本発明に係る技術の例示として実施の形態１、２を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
【００９７】
（１）上記実施の形態では、不正検知ルールに基づく不正なフレームの検知方法として、データフレームの送信周期を用いた例を示したが、他の検知方法を用いても良い。例えば、データフレームの送信頻度について、一定期間に、一定数以上送信されている場合に不正として検出する検知方法を用いても良い。また、複数の検知方法を組み合わせて用いても良い。
【００９８】
（２）上記実施の形態では、ＣＡＮプロトコルにおけるデータフレームを標準ＩＤフォーマットで記述しているが、拡張ＩＤフォーマットで合っても良い。拡張ＩＤフォーマットの場合には、標準ＩＤフォーマットにおけるＩＤ位置のベースＩＤと、拡張ＩＤとを合わせて２９ビットで、データフレームのＩＤ（メッセージＩＤ）を表す。なお、車載ネットワークシステムは、必ずしもＣＡＮプロトコルに完全に準拠したものでなくても良い。
【００９９】
（３）上記実施の形態では、車両制御履歴として１つのメッセージＩＤのデータフレームの値を保持していたが、複数のメッセージＩＤそれぞれについてのデータフレームの値を保持しても良い。
【０１００】
（４）上記実施の形態では、車両制御履歴として、前回のデータフレームの値を保持する例を示したが、前々回の値を保持していても良い。また任意の回数前の値を履歴として保持していても良い。また、車両制御履歴は、データフレームの値に関する情報であれば良く、例えばデータフレームの一部を保存しても良い。また複数回のデータフレームの値についての平均値等といった統計情報を保持しても良い。また、上記実施の形態では、車両制御履歴として、ウィンドウスイッチに関するデータフレームの例を示したが、その他のデータフレームに関する情報を保持しても良い。上記実施の形態で示した車両制御履歴は、所定阻止条件の判別に用いるための履歴情報の一例であり、履歴情報は、例えば、バス上で送信された１以上のフレームの少なくとも一部の内容を記録した情報であり得る。これにより、不正検知ＥＣＵでは、所定阻止条件が満たされるか否かを、履歴情報を参照することにより、不正なフレームの内容とその不正なフレームに先行して送信された１以上のフレームの内容とに基づいて判別することが可能となる。例えば、不正なフレームの所定フィールドの内容（例えばデータフィールドの一部のデータ等）が、その不正フレームと同一のフレームＩＤ（メッセージＩＤ）を含むフレームのうちその不正フレームに先行して最後に送信されたフレームの対応する所定フィールドの内容と異なる場合に所定阻止条件が満たされると判別し、その所定フィールドの両内容が一致する場合に所定阻止条件が満たされないと判別しても良い。これは、データフレームの所定フィールドの内容の変化が車両の状態を変化させる制御と結びつくような場合には、車両の安全状態の維持のために阻止すべき必要性が高いことから、有用である。
【０１０１】
（５）上記実施の形態では、不正検知ＥＣＵが、不正なフレーム検知して、そのフレームについて阻止するか否かを判別してその判別の結果に従って阻止（エラーフレームの送信）を行う例を示したが、不正検知ＥＣＵが検知した不正なフレームを阻止するか否かの判別について、或いは、その阻止については、不正検知ＥＣＵから専用の通信路等で指示をすることにより、他のＥＣＵに実行させても良い。即ち、不正検知ＥＣＵが所定ルールに適合しない不正なフレームを検知した場合において、所定阻止条件が満たされるときにはその不正フレームに従った処理をＥＣＵが実行することを阻止する阻止処理を何らかの装置により実行し、所定阻止条件が満たされないときには阻止処理を実行しないように車載ネットワークシステムを構成し得る。
【０１０２】
（６）上記実施の形態で示した不正検知ＥＣＵは、不正なフレームを検知した場合に、そのフレームについて阻止するか否かに拘らず、不正なフレームの内容及び検知日時等の情報をログ情報として記憶媒体等に記録しても良い。上述した不正フレーム対処方法では、不正検知ルールへ適合しないフレームを一律に阻止するのではなく、誤検知の可能性に鑑みて不正検知ルールの策定を柔軟に行うことが可能となる。また、ログ情報は、将来の不正検知ルールの更新等に活用可能となる。
【０１０３】
（７）上記実施の形態では、阻止判断ルールとして、データフレームの内容としての車両制御情報に関連して、その車両制御情報の値の変化があった場合にそのフレームの伝達を阻止する例を示したが、その他のルールを定めても良い。例えば、データフレームのデータフィールドの値の減少或いは増加があった場合にそのフレームの伝達を阻止するためのルールを定めても良い。また、阻止判断ルールは、閾値を超える変化があった場合に阻止するルールであっても良い。また、阻止判断ルールとして、複数の車両制御履歴を用いた条件を定めても良い。また、阻止判断ルールは、例えば、不正と判定されたデータフレームのデータフィールドの内容と、過去に受信された１つ又は複数のデータフレームのデータフィールドの内容とから演算により、そのデータフレームの伝達を阻止するか否かを判別するルールであっても良い。
【０１０４】
（８）上記実施の形態では、車両状態が、「走行中」或いは「停車中」を表す例を示したが、その他の「後進中」、「高速走行中」等の走行状態を表しても良い。
【０１０５】
（９）上記実施の形態では、車両状態が走行状態を表す例を示したが、走行状態以外の状態（例えば、燃料残量に係る状態、ライトの点灯状態等）を表しても良い。また、車両状態に、バスで授受するデータフレームの内容により示すことができる、ステアリングの回転角度等の操作状態、過去の不正検知の履歴、車載ネットワークにおける各種バスのトラフィック量に係る統計情報等を含めても良い。また更に車両状態に、不正検知ＥＣＵが搭載される車両の車種、製造メーカ、走行距離等の情報を含めても良い。
【０１０６】
（１０）上記実施の形態では、所定阻止条件として車両状態に関する条件を定める例を示したが、車両状態、車載ネットワークシステムを搭載する車両の運転者の状態、及び、当該車両の走行環境の状態のうちの少なくとも１つに関する条件を定めても良い。また、不正検知ＥＣＵが、所定阻止条件が満たされるか否かを、不正フレームの内容とその不正フレームに先行して送信された１つ以上のフレームの内容と、車両の状態、車両の運転者の状態及び車両の走行環境の状態の少なくとも１つについての検出結果とに基づいて判別するようにしても良い。車両の運転者の状態及び車両の走行環境の状態に係る測定値或いは情報は、ユーザインタフェースを介してなされる操作を受け付けることにより、センサにより、又は、車載ネットワークシステムの外部装置との通信により、取得可能である。この外部装置（例えばコンピュータ等）との間でいかなる通信方式で通信をしても良い。車両の走行環境の状態については、例えば、現在の車両の走行中の位置を示す地図情報、その走行中の位置を包含する地域、国等の情報、走行中の位置に関わる天候の情報、路面の状態の情報、道路の混雑状況を示す情報等により表し得る。また、車両の運転者の状態は、例えば連続運転時間、脈拍数その他の運転者の生体情報等により表し得る。
【０１０７】
（１１）上記実施の形態では、不正なフレームのＥＣＵによる実行の阻止を行う対象として、パワーウィンドウ及びドアロックの制御に関するデータフレームを例示したが、これに限るものではない。ワイパーの制御、車両の「走る」、「曲がる」、「止まる」等に係る駆動制御等といった車両における各種制御に関するデータフレームのいずれもが対象となり得る。
【０１０８】
（１２）上記実施の形態では、不正検知部で不正と判定したデータフレームに関しては、フレーム受信時刻を更新していなかったが、阻止判断部において、阻止しないと判別したデータフレームについては、阻止判断部がフレーム受信時刻を更新しても良い。
【０１０９】
（１３）上記実施の形態では、不正検知ＥＣＵの起動は、イグニッション状態へ変化した時としたが、これは一例に過ぎず、他の時であっても良く、バッテリにより、車載ネットワークシステムの各ＥＣＵに電力の供給が開始された時としても良い。
【０１１０】
（１４）上記実施の形態では、受信時刻は、不正検知ＥＣＵの起動時に、０にセットされるとしたが、これは一例に過ぎず、他の時に０にセットされることとしても良い。また、受信時刻の更新が一定期間されていない場合に、受信時刻を０にリセットしても良い。
【０１１１】
（１５）上記実施の形態では、受信時刻は、不正検知ＥＣＵの起動時に、０にセットされるとしたが、例えば、受信時刻を不揮発メモリに保持しておき、不正検知ＥＣＵの起動時には、０へのセットを行わないこととしても良い。
【０１１２】
（１６）上記実施の形態では、データフレームの送信周期を求めるために、受信時刻を保持する例を示したが、データフレームの受信間隔を計算できれば、必ずしも受信時刻を保持する必要はない。２つのデータフレームの受信時刻の相対的な時間差を求めることができれば足りるため、例えば、１回目のデータフレーム受信時に、タイマがセットされ、２回目のデータフレーム受信時のタイマの値により、受信間隔（送信周期）を求めても良い。
【０１１３】
（１７）上記実施の形態では、不正なフレームに対応した処理（制御）がＥＣＵにより実行されることを阻止するための阻止処理（手段）として、不正なフレームの伝達を阻止すべくエラーフレームの送信を用いたが、阻止処理は、これに限らない。阻止処理として、例えば、不正なデータフレームが送信されている間に、バスに流れているビット値を、変更することによって、受信側のＥＣＵにおいてデータフレームのＣＲＣをチェックすることでエラーを検出できるようにしても良い。また、不正なフレームの送信中において、不正検知ＥＣＵから他のＥＣＵにバス以外の専用の通信路から異常を伝達することでＥＣＵに不正なフレームを正規のフレームと同様に処理しないように通知しても良い。また、車載ネットワークシステムが複数のバスを含む場合にバス間でフレームの転送に係る制御を行うゲートウェイとしての機能（つまり複数のバスのうち一のバスに現れたフレームを他のバスに転送する機能）を有する不正検知ＥＣＵにより、あるバスで検知された不正なフレームの他のバスへの転送を抑止する阻止処理を行うようにしても良い。なお、不正検知ＥＣＵが、不正なフレームの阻止のための阻止処理を実行した場合において、車載ネットワークシステムにおいて何らかの影響が生じ得るため、車両の制御への影響を考慮して定めた所定阻止条件が満たされた場合にのみ阻止を行うことは有用である。
【０１１４】
（１８）上記実施の形態における不正検知ＥＣＵ及び他のＥＣＵは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等の他のハードウェアを含んでいても良い。また、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア（デジタル回路等）によりその機能を実現することとしても良い。
【０１１５】
（１９）上記実施の形態における各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしても良い。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全部を含むように１チップ化されても良い。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【０１１６】
（２０）上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしても良い。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしても良い。
【０１１７】
（２１）本発明の一態様としては、例えば図１２、図１８等に表される不正フレーム対処方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
【０１１８】
（２２）上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１１９】
本発明は、車載ネットワークにおいてバス上への不正なフレームの送信が検知された場合に車両制御等への影響を踏まえて対処を行うために利用可能である。
【符号の説明】
【０１２０】
１０、１１  車載ネットワークシステム
１００、１１００  不正検知電子制御ユニット（不正検知ＥＣＵ）
１１０、２０１  フレーム送受信部
１２０、２０２、１１２０  フレーム処理部
１３０  不正検知部
１４０  阻止判断部
１５０、２０４  フレーム生成部
１６０  不正検知ルール保持部
１７０  フレーム受信時刻保持部
１８０  車両制御履歴保持部
１９０  阻止判断ルール保持部
２００ａ、２００ｂ、１２００ａ、１２００ｂ  電子制御ユニット（ＥＣＵ）
２０３  外部機器入出力部
２１０  ウィンドウスイッチ
２２０  ウィンドウ
３００  バス
１１１０  車速センサ
１１１１  車両状態判断部
１１４０  阻止判断部
１１８０  車両状態保持部
１１９０  阻止判断ルール保持部
１２１０  ドアロックスイッチ
１２２０  ドアロック
【図１】
0006594732.tif 000002
【図２】
0006594732.tif 000003
【図３】
0006594732.tif 000004
【図４】
0006594732.tif 000005
【図５】
0006594732.tif 000006
【図６】
0006594732.tif 000007
【図７】
0006594732.tif 000008
【図８】
0006594732.tif 000009
【図９】
0006594732.tif 000010
【図１０】
0006594732.tif 000011
【図１１】
0006594732.tif 000012
【図１２】
0006594732.tif 000013
【図１３】
0006594732.tif 000014
【図１４】
0006594732.tif 000015
【図１５】
0006594732.tif 000016
【図１６】
0006594732.tif 000017
【図１７】
0006594732.tif 000018
【図１８】
0006594732.tif 000019