(58)【調査した分野】(Int.Cl.,DB名)
前記アクセス制限手段は、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへの情報送信要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記第1通信部から車載機器への情報送信を制限するようにしてあること
を特徴とする請求項1に記載のアクセス制限装置。
前記プログラム追加更新制限手段は、プログラムのアクセス権限レベル、及び、前記位置判定手段の判定結果に応じて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあること
を特徴とする請求項3に記載のアクセス制限装置。
前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへ送信された情報の量が所定量を超える場合に、情報の送信を遮断する遮断手段を備えること
を特徴とする請求項1乃至請求項8のいずれか1つに記載のアクセス制限装置。
車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定手段、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定手段、並びに、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段を有するアクセス制限装置と、
該アクセス制限装置に車内ネットワークを介して接続された一又は複数の車載機器と
を備え、
前記車載機器が前記アクセス制限装置を介して外部装置との通信を行うようにしてあること
を特徴とする車載通信システム。
車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、及び、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段を備えるアクセス制限装置を用いて、前記車載機器及び前記外部装置の通信を制限する通信制限方法であって、
前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定ステップと、
前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定ステップと、
前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定ステップにて判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定ステップにて判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限ステップと
を含むことを特徴とする通信制限方法。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、車載の電子機器をプログラムの追加及び更新等が可能な構成とした場合、悪意の第三者が作成したプログラムが追加されて実行される虞がある。これにより、例えば車内ネットワークにて送受信される情報が、不正なプログラムによって外部へ漏洩するなどの虞がある。
【0007】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、不正なプログラムによる車内ネットワークへの不正なアクセスにより外部への情報漏洩などが発生することを防止することができるアクセス制限装置、車載通信システム及び通信制限方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明に係るアクセス制限装置は、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部と、外部装置との通信を行う第2通信部と、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部と、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部と、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段と、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定手段と、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定手段と、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段とを備えることを特徴とする。
【0009】
また、本発明に係るアクセス制限装置は、前記アクセス制限手段が、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへの情報送信要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記第1通信部から車載機器への情報送信を制限するようにしてあることを特徴とする。
【0010】
また、本発明に係るアクセス制限装置は、前記車輌の位置情報を取得する位置情報取得手段と、該位置情報取得手段が取得した位置情報に係る前記車輌の位置が、所定位置又は所定位置範囲内で有るか否かを判定する位置判定手段と、該位置判定手段の判定結果に応じて、前記プログラム追加更新手段によるプログラムの追加又は更新を制限するプログラム追加更新制限手段とを備えることを特徴とする。
【0011】
また、本発明に係るアクセス制限装置は、前記プログラム追加更新制限手段が、プログラムのアクセス権限レベル、及び、前記位置判定手段の判定結果に応じて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
【0012】
また、本発明に係るアクセス制限装置は、前記車輌に係る情報を取得する車輌情報取得手段を備え、前記プログラム追加更新制限手段は、前記車輌情報取得手段が取得した情報に基づいて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
【0013】
また、本発明に係るアクセス制限装置は、前記車輌情報取得手段が取得した情報に基づいて、前記車輌が停止状態であるか否かを判定する停車判定手段を備え、前記プログラム追加更新制限手段は、前記停車判定手段が停止状態でないと判定した場合に、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
【0014】
また、本発明に係るアクセス制限装置は、前記車輌情報取得手段が取得する情報は、前記車輌の車速情報、及び/又は、前記車輌の原動機の動作状態を示す情報であることを特徴とする。
【0015】
また、本発明に係るアクセス制限装置は、プログラムの配信元及びアクセス権限のレベルを対応付けたアクセス権限レベル情報を記憶するアクセス権限レベル情報記憶部を備え、前記第1判定手段は、アクセス権限レベル情報記憶部が記憶したアクセス権限レベル情報を基に、プログラムのアクセス権限のレベルを判定するようにしてあることを特徴とする。
【0016】
また、本発明に係るアクセス制限装置は、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへ送信された情報の量が所定量を超える場合に、情報の送信を遮断する遮断手段を備えることを特徴とする。
【0017】
また、本発明に係るアクセス制限装置は、前記所定量が、プログラムのアクセス権限のレベルに応じて定められる量であることを特徴とする。
【0018】
また、本発明に係るアクセス制限装置は、前記アクセス制限手段が情報に対するアクセスを制限した場合に、該アクセスに係るログ情報を生成するログ情報生成手段と、該ログ情報生成手段が生成したログ情報を記憶するログ情報記憶部とを備えることを特徴とする。
【0019】
また、本発明に係る車載通信システムは、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定手段、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定手段、並びに、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段を有するアクセス制限装置と、該アクセス制限装置に車内ネットワークを介して接続された一又は複数の車載機器とを備え、前記車載機器が前記アクセス制限装置を介して外部装置との通信を行うようにしてあることを特徴とする。
【0020】
また、本発明に係る通信制限方法は、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、及び、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段を備えるアクセス制限装置を用いて、前記車載機器及び前記外部装置の通信を制限する通信制限方法であって、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定ステップと、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定ステップと、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定ステップにて判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定ステップにて判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限ステップとを含むことを特徴とする。
【0021】
本発明においては、車内ネットワークを介して車載機器との通信を行う第1通信部と、無線及び/又は有線にて外部装置との通信を行う第2通信部とを備えるアクセス制限装置を介在させて、車載機器と外部装置との通信を行う。アクセス制限装置は、処理部にて実行するプログラムの追加又は更新が可能な構成とし、プログラムは第2通信部の通信によって外部装置から取得する。
アクセス制限装置は、情報に対するアクセス権限のレベルをプログラム毎に判定すると共に、情報毎にアクセスに必要なレベルを判定する。プログラムの実行により行われた処理にて車内ネットワークの情報に対するアクセス要求がなされた場合、アクセス制限装置は、このプログラムのアクセス権限のレベルが、アクセス要求に係る情報の必要レベルに達していれば、第1受信部にて受信したこの情報に対するアクセスを許可する。これに対してプログラムのアクセス権限のレベルが、情報の必要レベルに達していない場合、アクセス制限装置は、この情報に対するアクセスを禁止する。
このようなアクセス制限を行うことによって、信頼性の高いプログラムには車輌に係る多くの情報を与えて高度なサービスを提供させることを可能とする。また信頼性の低いプログラムに対しては与える情報を制限し、重要度が高い情報が外部へ漏洩することを防止することができる。
【0022】
また、本発明においては、プログラムの実行により行われた処理にて第1通信部から車内ネットワークを介して車載機器へ情報を送信する場合にも、アクセス制限装置は同様の制限を行う。即ち、アクセス制限装置は、プログラムのアクセス権限のレベルが送信する情報の必要レベルに達している場合にこの情報の送信を許可し、プログラムのアクセス権限のレベルが送信する情報の必要レベルに達していない場合にはこの情報の送信を禁止する。このような情報送信の制限を行うことによって、不正なプログラムによる車内ネットワークへの不正な情報送信を防止することができる。
【0023】
また、本発明においては、GPS(Global Positioning System)などを利用した車輌
の位置情報をアクセス制限装置が取得し、車輌の位置が所定位置又は所定位置範囲内であるか否かを判定する。例えばアクセス制限装置は、車輌の位置が、この車輌のディーラの所在位置又はこの所在位置から数十mなどの範囲内であるか否かを判定する。アクセス制限装置は、車輌の位置が所定位置又は所定位置範囲内である場合にプログラムの追加又は更新を許可し、車輌の位置が所定位置又は所定位置範囲内でない場合にプログラムの追加又は更新を禁止する。
このような車輌の位置に応じたプログラムの追加又は更新の制限を行うことによって、悪意の第三者によって不正なプログラムの追加又は更新等が行われることを防止できる。
【0024】
また、車輌の制御に関するプログラムの追加又は更新が行われた場合には、車輌の走行に影響を及ぼす可能性がある。そこで本発明においては、車輌情報を取得して車輌の状況を判断し、プログラムの追加又は更新を制限する。例えば車輌の車速情報又は原動機の動作状態情報等を取得し、これらの情報に基づいて車輌が停止状態であるか否かを判定する。車輌が停止状態でない、即ち走行状態であると判定した場合に、プログラムの追加又は更新を制限する。これにより、車輌の走行中などにプログラムの追加又は更新が行われることを防止できる。
【0025】
また、アクセス制限装置が車輌の位置に応じたプログラムの追加又は更新の制限を行う場合、プログラムのアクセス権限のレベルを考慮して制限を行ってもよい。例えば、アクセス権限のレベルが高いプログラムについては車輌位置に応じた追加又は更新の制限を行い、アクセス権限のレベルが低いプログラムについては車輌位置に応じた追加又は更新の制限を行わない構成とすることができる。
【0026】
また、本発明においては、アクセス制限装置がプログラムの配信元とアクセス権限のレベルとを対応付けたアクセス権限レベル情報を記憶している。アクセス制限装置は、例えば新たなプログラムが追加された場合などにアクセス権限レベル情報を参照して、このプログラムのアクセス権限のレベルを判定することができる。プログラムの配信元は、例えばプログラムに付された電子署名を基に判断することができ、また例えばプログラムを追加した際の通信先のアドレス情報などを基に判断することができる。
【0027】
また、本発明においては、プログラムの実行によって車内ネットワークへ送信された情報量が所定量を超える場合、アクセス制限装置が情報送信を遮断する。これにより不正なプログラムが大量の情報を車内ネットワークへ送信することによって、車内ネットワークがビジー状態となることを防止できる。
【0028】
また、アクセス制限装置が情報量に応じて送信の遮断を行う場合、プログラムのアクセス権限のレベルを考慮して遮断を行ってもよい。例えばアクセス権限のレベルが高いプログラムについては多くの情報を送信することを許可し、アクセス権限のレベルが低いプログラムについては送信を許可する情報量を低く抑える構成とすることができる。
【0029】
また、本発明においては、アクセス制限装置がアクセス制限を行った場合に、その旨を示すログ情報を生成して記憶しておく。これにより例えば車輌の修理又は点検等の際に、不正なプログラムが存在するか否か等を調査することができる。
【発明の効果】
【0030】
本発明による場合は、プログラムのアクセス権限のレベルが、アクセス要求に係る情報の必要レベルに達しているか否かに応じて、アクセス制限装置がこのプログラムによる情報へのアクセスを制限することにより、信頼性の低いプログラムのアクセス制限を行うことができ、外部へ重要な情報が漏えいすることを防止できる。
【発明を実施するための形態】
【0032】
(実施の形態1)
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。
図1は、本実施の形態に係る車載通信システムの構成を示す模式図である。図において一点鎖線で示す1は車輌であり、車輌1にはセキュリティコントローラ10、ゲートウェイ30及び複数のECU(Electronic Control Unit)50等が搭載されている。車輌1には、共通の通信線にバス接続された複数のECU50による通信グループが複数存在し、通信グループ間の通信をゲートウェイ30が中継している。このためゲートウェイ30には、複数の通信線が接続されている。またゲートウェイ30は、セキュリティコントローラ10が接続されており、セキュリティコントローラ10からの情報をECU50へ送信すると共に、ECU50から受信した情報をセキュリティコントローラ10へ与える。
【0033】
セキュリティコントローラ10は、ユーザが所持する端末装置3又は種々のサーバ装置5等と、ゲートウェイ30及びECU50等を含んで構成された車輌1の車内ネットワークとの間の通信を中継する機能を有し、ゲートウェイ30に接続されている。端末装置3は、例えばユーザが所持する携帯電話機、スマートフォン、タブレット型端末又はノートPC(Personal Computer)等の装置であり、セキュリティコントローラ10との間で有線又は無線による通信を行う。サーバ装置5は、車輌1外の適所に設置され、車輌1のセキュリティコントローラ10と直接的に、及び/又は、端末装置3を介して間接的に通信を行う。
【0034】
図2は、セキュリティコントローラ10の構成を示すブロック図である。セキュリティコントローラ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、位置情報取得部13、有線通信部14、無線通信部15、車内通信部16及び記憶部17等を備えて構成されている。
【0035】
CPU11は、記憶部17のプログラム記憶部17aに記憶された一又は複数のプログラムをRAM12に読み出して実行することにより、種々の処理を行う演算処理装置である。図示の例では、CPU11が3つのプログラムA〜Cを実行している。CPU11は、例えば時分割などで複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行することができる。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【0036】
位置情報取得部13は、車輌1の位置情報を取得してCPU11へ与える。位置情報取得部13は、例えばGPS(Global Positioning System)の信号を受信するアンテナなどが接続され、受信信号に基づいて車輌1の位置(緯度及び経度等)を算出する構成とすることができる。更に、位置情報取得部13は、速度センサ、加速度センサ又はジャイロセンサ等のセンサから得られる情報、並びに、地図情報等を利用して車輌1の位置を算出してもよい。なお車輌1にカーナビゲーション装置が搭載されている場合、車輌1の位置を算出する処理はカーナビゲーション装置が行い、算出結果をセキュリティコントローラ10が取得して利用する構成であってもよい。
【0037】
有線通信部14は、通信ケーブルなどを接続するためのコネクタを有し、接続された通信ケーブルを介して端末装置3との通信を行う。有線通信部14は、例えばUSB(Universal Serial Bus)又はRS232C等の規格に応じて通信を行う。有線通信部14は、CPU11から与えられた情報を端末装置3へ送信すると共に、端末装置3から受信した情報をCPU11へ与える。
【0038】
無線通信部15は、電波又は光等の無線信号を利用して、車輌1内又は車輌1から無線信号が到達する範囲内に存在する端末装置3との間で無線通信を行う。無線通信部15は、例えば無線LAN(Local Area Network)又はBluetooth(登録商標)等の規格に応じて無線通信を行う。また無線通信部15は、公衆の携帯電話網などを利用して、車輌1から遠隔地にセットされたサーバ装置5などとの通信を行う構成としてもよい。無線通信部15は、CPU11から与えられた情報を端末装置3又はサーバ装置5等の外部装置へ送信すると共に、外部装置から受信した情報をCPU11へ与える。
【0039】
車内通信部16は、車輌1に搭載されたゲートウェイ30に通信ケーブルを介して接続されている。車内通信部16は、例えばCAN(Controller Area Network)又はLIN
(Local Interconnect Network)等の規格に応じて、ゲートウェイ30との通信を行う。車内通信部16は、CPU11から与えられた情報をゲートウェイ30へ送信すると共に、ゲートウェイ30から受信した情報をCPU11へ与える。
【0040】
記憶部17は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等を用いて構成されている。記憶部17は、CPU11が実行するプログラム及び実行に必要なデータ等を記憶するプログラム記憶部17aを有する。また記憶部17は、追加更新許可位置情報17b、アクセス権限レベルテーブル17c、アクセス許可レベルテーブル17d及びログ情報17e等を記憶する。
【0041】
本実施の形態に係るセキュリティコントローラ10は、CPU11にて実行するプログラムを追加、更新及び削除等することが可能な構成である。例えば、ユーザがGPS受信機の搭載された端末装置3にてカーナビゲーションプログラムを動作させ、端末装置3をカーナビゲーション装置として利用する場合、車輌1の速度情報などを端末装置3が取得することによって精度のよい車輌位置の算出を行うことが可能となる。そこでユーザは、端末装置3のカーナビゲーションプログラムと連動し、車輌1の速度情報などを取得して端末装置3へ送信するプログラムを、セキュリティコントローラ10に追加(いわゆるインストール)することができる。
【0042】
例えばセキュリティコントローラ10は、OSGiの技術を採用することで、プログラムの追加、更新及び削除等を行うことができる構成とすることができる。OSGiは、バンドルと呼ばれるプログラムの動的な追加及び実行等を管理するシステムであり、バンドルの実行基盤であるOSGiフレームワークがCPU11にて動作する。なおOSGiは既存の技術であるため、詳細な説明は省略する。またセキュリティコントローラ10は、OSGi以外の技術を採用してプログラムの追加、更新及び削除等を行ってもよい。
【0043】
セキュリティコントローラ10のCPU11は、端末装置3からプログラムの追加指示が与えられた場合、又は、車輌1の運転席近傍に設けられた操作部(図示は省略する)などからユーザの操作に基づく追加指示が与えられた場合に、プログラムを追加する処理を行う。追加するプログラムは、例えば端末装置3が記憶しているものをセキュリティコントローラ10が取得してもよく、また例えばサーバ装置5などから取得してもよい。セキュリティコントローラ10のCPU11は、端末装置3又はサーバ装置5等から取得したプログラムを記憶部17のプログラム記憶部17aに記憶する。以後、CPU11は、必要に応じて追加したプログラムを記憶部17から読み出して実行し、このプログラムに係る処理を行うことができる。
【0044】
またセキュリティコントローラ10のCPU11は、既に記憶部17に記憶されたプログラムについて、例えば機能拡張又は不具合修正等を目的として、プログラムの更新処理を行う。プログラムの更新処理は、例えば車輌1の操作部又は端末装置3等から更新指示が与えられた場合に行ってもよく、また例えばサーバ装置5などとの通信を定期的に行い、プログラムの更新の要否をCPU11が判定して自発的に行ってもよい。セキュリティコントローラ10のCPU11は、記憶部17のプログラム記憶部17aに記憶されているプログラムの一部又は全部を、端末装置3又はサーバ装置5等から取得した更新用の情報(更新用のプログラム又はデータ等)にて書き換えることにより、プログラムを更新する。
【0045】
またセキュリティコントローラ10のCPU11は、記憶部17のプログラム記憶部17aに記憶されたプログラムを削除する処理を行う。例えばCPU11は、車輌1の操作部又は端末装置3等からプログラムの削除指示が与えられた場合に、該当するプログラムをプログラム記憶部17aから削除する。
【0046】
このように本実施の形態に係るセキュリティコントローラ10は、ユーザが必要に応じてプログラムの追加及び更新等を行うことができる構成であるため、悪意の第三者が作成したプログラムがセキュリティコントローラ10に追加されてCPU11に実行される虞がある。そこで本実施の形態に係るセキュリティコントローラ10は、不正なプログラムによって車輌1内への不正なアクセスが発生することを防止すべく、車内ネットワークにて送受信される情報に対するアクセス制限を行う機能を有する。以下に、セキュリティコントローラ10によるアクセス制限機能について説明する。
【0047】
セキュリティコントローラ10は、CPU11にて実行する各プログラムについて、車内ネットワークにて送受信される情報に対するアクセス権限のレベルを判定する。この判定は、例えば外部装置からプログラムを受信してプログラム記憶部17aに記憶する際に行ってもよく、例えばプログラムを実行する都度行ってもよく、また例えばプログラムから情報に対するアクセス要求が発せられる都度行ってもよく、その他のタイミングで行ってもよい。セキュリティコントローラ10のCPU11は、記憶部17に記憶されたアクセス権限レベルテーブル17cに含まれる情報に基づいて各プログラムのアクセス権限レベルを判定する。
【0048】
図3は、アクセス権限レベルテーブル17cの一構成例を示す模式図である。アクセス権限レベルテーブル17cには、プログラムの配信元に関する情報と、アクセス権限レベルとが対応付けて記憶されている。図示の例では、アクセス権限レベルテーブル17cのプログラム配信元として、a社、b社…のように社名が記載されているが、これは一例であって、プログラムの配信元を識別し得る情報であればどのような情報であってもよい。CPU11は、プログラムを追加又は更新する際に、プログラムに付された電子署名又はプログラムを取得したサーバ装置5のIP(Internet Protocol)アドレス等の情報に基
づいてプログラムの配信元を判断する。
【0049】
またアクセス権限レベルテーブル17cのアクセス権限レベルとして、レベル1〜3の3段階が設定されている。ただしこれは一例であり、アクセス権限レベルは2段階又は4段階以上であってもよい。アクセス権限レベルは、その数値が大きいほど、高いアクセス権限を有していることを示している。即ち、アクセス権限レベル3のプログラムは、アクセス権限レベル1又は2のプログラムより、より多くの情報にアクセスすることができる。図示の例では、a社は車輌1の製造元の会社であり、最も高いアクセス権限レベル3が設定されている。またb社及びc社はアクセス権限レベル2が設定され、y社及びz社はアクセス権限レベル1に設定されている。なお、図示の例では、アクセス権限レベルを数値で表現しているが、これは一例であって、優先順位を識別し得る情報であればどのような情報であってもよい。
【0050】
セキュリティコントローラ10のCPU11は、追加又は更新の際に電子署名などから判断したプログラムの配信元に基づき、アクセス権限レベルテーブル17cから該当する配信元を検索する。アクセス権限レベルテーブル17cに該当する配信元が記憶されている場合、CPU11は、対応するアクセス権限レベルを読み出し、追加又は更新するプログラムに対応付けてアクセス権限レベルを記憶部17に記憶する。なおプログラムの配信元がアクセス権限レベルテーブル17c中に存在しない場合、CPU11は、追加又は更新するプログラムを更に低いアクセス権限レベル(例えばレベル0など)に設定するか、又は、このようなプログラムの追加又は更新を許可しない。
【0051】
また、セキュリティコントローラ10は、車輌1の車内ネットワークにて送受信される各情報(即ち、車内通信部16にて送受信する各情報)について、アクセスを許可するアクセス権限レベルを、アクセス許可レベルとして判定する。セキュリティコントローラ10のCPU11は、記憶部17に記憶されたアクセス許可レベルテーブル17dに基づいて、送受信される各情報についてのアクセス許可レベルを判定する。
【0052】
図4は、アクセス許可レベルテーブル17dの一構成例を示す模式図である。アクセス許可レベルテーブル17dには、送受信される情報の種別と、アクセス許可レベルとが対応付けて記憶されている。図示の例では、アクセス許可レベルテーブル17dの情報種別として、エンジン制御情報、ユーザ情報、位置情報及び車速情報等が一例として記載されている。これらの情報種別は、例えば車内ネットワークがCANの規格に従うものである場合、送受信されるフレームに付されたID(IDentifier)番号及びフレーム内における情報の格納順序等に基づいて判断することができる。
【0053】
またアクセス許可レベルテーブル17dのアクセス許可レベルとして、レベル1〜3の3段階が設定されている。ただしこれは一例であり、アクセス許可レベルは2段階又は4段階以上であってもよい。アクセス許可レベルは、その数値が大きいほど、情報に対するアクセスに必要なアクセス権限レベルが高いことを示している。即ち、アクセス許可レベル3の情報は、アクセス権限レベル3以上のプログラムがアクセス可能である。またアクセス許可レベル1の情報は、アクセス権限レベル1以上のプログラムがアクセス可能である。図示の例では、エンジン制御情報及びユーザ情報がアクセス許可レベル3に設定され、位置情報がアクセス許可レベル2に設定され、車速情報がアクセス許可レベル1に設定されている。なお、図示の例では、アクセス許可レベルを数値で表現しているが、これは一例であって、優先順位を識別し得る情報であればどのような情報であってもよい。
【0054】
セキュリティコントローラ10のCPU11は、プログラムの実行により車内ネットワークの情報に対するアクセス要求がなされた場合、このプログラムのアクセス権限レベルと、アクセス要求に係る情報のアクセス許可レベルとを判定する。プログラムのアクセス権限レベルが情報のアクセス許可レベル以上である場合、CPU11は、このプログラムによる情報のアクセスを許可する。即ちCPU11は、アクセス要求に係る情報を、車内通信部16の受信情報から取得して、このプログラムの処理に用いる。これに対して、プログラムのアクセス権限レベルが情報のアクセス許可レベルに満たない場合、CPU11は、このプログラムによる情報のアクセスを許可しない。アクセスが許可されなかった場合の処理は、各プログラムに任される。
【0055】
同様にセキュリティコントローラ10のCPU11は、プログラムの実行により車内ネットワークへの情報送信要求がなされた場合、このプログラムのアクセス権限レベルと、送信しようとする情報のアクセス許可レベルとを判定する。プログラムのアクセス権限レベルが情報のアクセス許可レベル以上である場合、CPU11は、このプログラムによる情報送信を許可し、車内通信部16から車内ネットワークへの情報送信を行う。これに対して、プログラムのアクセス権限レベルが情報のアクセス許可レベルに満たない場合、CPU11は、このプログラムによる情報送信を許可しない。
【0056】
また、本実施の形態に係るセキュリティコントローラ10は、上述のようにプログラムの追加及び更新等の処理を行うが、この際にアクセス権限レベル及び車輌1の位置に応じてプログラムの追加及び更新を制限する。セキュリティコントローラ10のCPU11は、例えばアクセス権限レベル3のプログラムの追加又は更新について、車輌1の位置に応じた制限を行い、アクセス権限レベル1又は2のプログラムの追加又は更新については、車輌1の位置に応じた制限を行わない。
【0057】
セキュリティコントローラ10は、プログラムの追加及び更新等の処理を行うことを許可する車輌1の位置に関する情報を、追加更新許可位置情報17bとして記憶部17に記憶している。追加更新許可位置情報17bは、例えば車輌1の製造会社の関連施設(ディーラ又は整備工場等)の位置情報が複数箇所について登録されている。位置情報は、例えば緯度及び経度等の情報を採用することができる。
【0058】
プログラムの追加又は更新の要求が与えられた場合、セキュリティコントローラ10のCPU11は、位置情報取得部13にて取得した位置情報に係る車輌1の位置が、追加更新許可位置情報17bに登録された何れかの位置に該当する場合、プログラムの追加又は更新の処理を許可し、この処理を行う。なおCPU11は、車輌1の位置が登録された位置に完全に一致する場合のみでなく、登録された位置から数百mなどの所定範囲内に車輌1が位置している場合に、プログラムの追加又は更新の処理を許可してもよい。車輌1の位置が登録された位置に該当しない場合、CPU11は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
【0059】
また、本実施の形態に係るセキュリティコントローラ10は、プログラムの実行に伴って車内ネットワークへ送信された情報量に応じて、このプログラムによる車内ネットワークへの情報送信を制限する。このためセキュリティコントローラ10のCPU11は、単位時間毎の各プログラムに関する情報送信量を監視している。CPU11は、何れかのプログラムの情報送信量が所定量を超えた場合、このプログラムによる情報送信を遮断する。なおこのときに、CPU11は、情報送信量が所定量を超えたプログラムに関する情報送信のみでなく、全てのプログラムに関する情報送信を一時的に又は完全に遮断してもよい。
【0060】
またCPU11が情報送信を遮断するか否かの判定に用いる所定量は、全てのプログラムについて同じ値を用いるのではなく、プログラム毎に異なる値を用いてもよい。例えばアクセス権限レベルが高いプログラムについては所定量を大きな値とし、多くの情報送信を行うことを許可し、アクセス権限レベルが低いプログラムについては所定量を小さな値とし、送信できる情報量を制限することができる。
【0061】
また、本実施の形態に係るセキュリティコントローラ10は、上述の情報に対するアクセス制限、情報の送信制限、プログラムの追加更新の制限、又は、情報送信量による送信遮断等の制限処理を行った場合、制限処理に係るログ情報17eを生成して記憶部17に記憶する。ログ情報17eには、例えば制限処理の要因となったプログラム、制限処理を行った日時、及び、制限処理の内容等の情報を含むことができる。ログ情報17eの読み出しは、例えば車輌1のディーラ又は整備工場等において専用の端末装置3が有線通信部14に接続された場合などに限定して許可する構成とすることができる。
【0062】
次に、本実施の形態に係るセキュリティコントローラ10が行う処理の詳細を、フローチャートを用いて説明する。
図5は、セキュリティコントローラ10が行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。ただし、
図5に示す処理は、セキュリティコントローラ10の有線通信部14に通信ケーブルを介して端末装置3が接続され、認証処理などが完了してセキュリティコントローラ10と端末装置3との通信が確立されていることを前提としている。またセキュリティコントローラ10は、端末装置3からプログラムの追加又は更新の指示を受け付け、端末装置3を介してサーバ装置5との通信を行い、サーバ装置5から追加又は更新するプログラムを取得するものとする。
【0063】
セキュリティコントローラ10のCPU11は、まず、端末装置3からプログラムの追加又は更新の要求を受け付けたか否かを判定し(ステップS1)、要求を受け付けていない場合には(S1:NO)、要求を受け付けるまで待機する。プログラムの追加又は更新の指示を受け付けた場合(S1:YES)、CPU11は、有線通信部14に接続された端末装置3を介した通信により、サーバ装置5との間で認証処理を行う(ステップS2)。例えばCPU11は、記憶部17に記憶されたユーザID及びパスワード等の認証情報を用いて、サーバ装置5との認証処理を行う。CPU11は、認証処理に成功したか否かを判定し(ステップS3)、認証処理に失敗した場合には(S3:NO)、処理を終了し、プログラムの追加又は更新の処理を行わない。
【0064】
認証処理に成功した場合(S3:YES)、CPU11は、サーバ装置5から端末装置3を介して処理対象のプログラムを取得し(ステップS4)、例えばRAM12などに一時的に記憶する。CPU11は、取得したプログラムに付された電子署名などに基づいて、このプログラムの配信元を確認し(ステップS5)、記憶部17に記憶されたアクセス権限レベルテーブル17cに基づいてプログラムのアクセス権限レベルを判定する(ステップS6)。
【0065】
次いでCPU11は、プログラムのアクセス権限レベルがレベル3であるか否かを判定する(ステップS7)。アクセス権限レベルがレベル3である場合(S7:YES)、CPU11は、位置情報取得部13にて位置情報を取得し(ステップS8)、車輌1の位置が所定位置であるか否かを判定する(ステップS9)。車輌1の位置が所定位置でない場合(S9:NO)、CPU11は、プログラムの追加又は更新を行わず、ログ情報17eを生成して記憶部17に記憶し(ステップS10)、処理を終了する。
【0066】
またCPU11は、プログラムのアクセス権限レベルがレベル3ではなくレベル2以下である場合(S7:NO)、又は、車輌1の位置が所定位置である場合(S9:YES)、プログラムの追加又は更新を行い(ステップS11)、ログ情報17eを生成して記憶部17に記憶し(ステップS12)、処理を終了する。このときCPU11は、RAM12などに一時的に記憶したプログラムを記憶部17のプログラム記憶部17aに記憶すると共に、このプログラムの実行に必要な情報の登録などの処理を行うことで、プログラムの追加又は更新を行う。
【0067】
図6は、セキュリティコントローラ10が行うアクセス制限処理の手順を示すフローチャートである。セキュリティコントローラ10のCPU11は、まず、プログラム記憶部17aに記憶されたプログラムの実行によって車内ネットワークの情報に対するアクセス要求がなされたか否かを判定する(ステップS21)。アクセス要求がなされていない場合(S21:NO)、CPU11は、アクセス要求がなされるまで待機する。
【0068】
情報に対するアクセス要求がなされた場合(S21:YES)、CPU11は、アクセス要求を行ったプログラムのアクセス権限レベルを判定する(ステップS22)。なお、
図5に示したフローチャートのステップS6にて判定したアクセス権限レベルを記憶部17に記憶している場合、CPU11は、ステップS22にて以前の判定結果を読み出してもよい。またCPU11は、アクセス要求の対象となる情報のアクセス許可レベルを、記憶部17に記憶されたアクセス許可レベルテーブル17dを基に判定する(ステップS23)。
【0069】
次いでCPU11は、ステップS22にて判定したプログラムのアクセス権限レベルが、ステップS23にて判定した情報のアクセス許可レベル以上であるか否かを判定する(ステップS24)。アクセス権限レベルがアクセス許可レベル以上である場合(S24:YES)、CPU11は、プログラムによる情報のアクセスを許可し(ステップS25)、ログ情報17eを生成して記憶部17に記憶したうえで(ステップS26)、車内通信部16にて受信した情報を、アクセス要求を発したプログラムに与えて処理を行う。またアクセス権限レベルがアクセス許可レベル未満である場合(S24:NO)、CPU11は、プログラムによる情報のアクセスを禁止し(ステップS27)、ログ情報17eを生成して記憶部17に記憶し(ステップS28)、処理を終了する。
【0070】
図7は、セキュリティコントローラ10が行う情報送信量に基づく送信制限処理の手順を示すフローチャートである。セキュリティコントローラ10のCPU11は、実行しているプログラム毎に、車内通信部16から車内ネットワークへの単位時間における情報送信量を算出する(ステップS31)。CPU11は、算出した情報送信量がプログラムのアクセス権限レベルごとに定められた所定量を超えるか否かを判定し(ステップS32)、情報送信量が所定量を超えない場合(S32:NO)、送信制限を行わずに処理を終了する。
【0071】
またプログラムの情報送信量が所定量を超える場合(S32:YES)、CPU11は、このプログラムによる車内ネットワークへの情報送信を遮断し(ステップS33)、以後の情報送信を行わない。またCPU11は、情報送信の遮断に関するログ情報17eを生成して記憶部17に記憶し(ステップS34)、処理を終了する。なおCPU11は、並列的に実行する複数のプログラムについて、プログラム毎に
図7に示す処理を周期的に繰り返して行っている。
【0072】
図8は、セキュリティコントローラ10が行うアクセス権限レベルに基づく送信制限処理の手順を示すフローチャートである。セキュリティコントローラ10のCPU11は、まず、プログラム記憶部17aに記憶されたプログラムの実行によって車内ネットワークへの情報送信要求がなされたか否かを判定する(ステップS41)。情報送信要求がなされていない場合(S41:NO)、CPU11は、情報送信要求がなされるまで待機する。情報送信要求がなされた場合(S41:YES)、CPU11は、
図7に示した送信制限処理によって、このプログラムに対する情報送信が遮断中であるか否かを更に判定する(ステップS42)。情報送信が遮断中である場合(S42:YES)、CPU11は、処理を終了する。
【0073】
情報送信が遮断中でない場合(S42:NO)、CPU11は、情報送信要求を行ったプログラムのアクセス権限レベルを判定する(ステップS43)。またCPU11は、送信を要求された情報のアクセス許可レベルを、記憶部17に記憶されたアクセス許可レベルテーブル17dを基に判定する(ステップS44)。次いでCPU11は、ステップS43にて判定したプログラムのアクセス権限レベルが、ステップS44にて判定した情報のアクセス許可レベル以上であるか否かを判定する(ステップS45)。アクセス権限レベルがアクセス許可レベル以上である場合(S45:YES)、CPU11は、プログラムによる情報送信を許可し(ステップS46)、車内通信部16にて車内ネットワークへの情報送信を行う。またアクセス権限レベルがアクセス許可レベル未満である場合(S45:NO)、CPU11は、プログラムによる情報送信を禁止し(ステップS47)、ログ情報17eを生成して記憶部17に記憶し(ステップS48)、処理を終了する。
【0074】
なお、
図5〜
図8に示した処理は、追加又は更新等がなされるプログラムとは別の基本プログラム(例えばOS(Operating System)又はOSGiフレームワーク等)をCPU11が実行することにより実現される。CPU11は、基本プログラムと追加又は更新等がなされるプログラムとを並列的に実行する。ただし、追加又は更新等がなされるプログラムの1つが、
図5〜
図8に示した処理を行う構成であってもよい。
【0075】
以上の構成の本実施の形態に係る通信システムは、車輌1に搭載されたECU50などと、端末装置3又はサーバ装置5等との間の通信を、セキュリティコントローラ10を介して行う構成である。セキュリティコントローラ10は、情報の送受信処理を伴う一又は複数のプログラムを実行すると共に、これらプログラムを追加又は更新等することができる。セキュリティコントローラ10は、プログラムの実行に伴って発生する車内ネットワークの情報へのアクセスを、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて制限する処理を行う。このようなアクセス制限を行うことによって、信頼性の高いプログラムには車輌1に係る多くの情報を与えて高度なサービスを提供させることができる。また信頼性の低いプログラムに対しては与える情報を制限し、重要度が高い情報が外部へ漏洩することを防止できる。
【0076】
またセキュリティコントローラ10は、プログラムの実行に伴って車内ネットワークへ情報を送信する場合にも同様に、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて情報送信を制限する処理を行う。これにより、不正なプログラムによって車内ネットワークへ不正な情報送信が行われることを防止できる。
【0077】
またセキュリティコントローラ10は、位置情報取得部13にて車輌1に係る位置情報を取得し、車輌1の位置が所定位置又は所定位置範囲内であるか否かに応じて、プログラムの追加又は更新の制限を行う。これにより、悪意の第三者によって不正なプログラムの追加又は更新等が行われることを防止できる。またセキュリティコントローラ10は、アクセス権限レベルが高いプログラムについて、車輌1の位置に応じた追加又は更新の制限を行う。これにより、アクセス権限レベルが高いプログラムが不正に追加又は更新等されることを防止できると共に、アクセス権限レベルが低いプログラムは車輌1の位置に関係なく追加又は更新等を可能とし、ユーザの利便性を向上できる。
【0078】
またセキュリティコントローラ10は、プログラムの実行に伴う車内ネットワークへの情報送信量を監視し、情報送信量が所定量を超える場合に情報送信を遮断する。またセキュリティコントローラ10は、アクセス権限レベルが高いプログラムは多くの情報を送信することを許可し、アクセス権限レベルが低いプログラムは送信を許可する情報量を低く抑える。これにより不正なプログラムが大量の情報を車内ネットワークへ送信することを防止できる。
【0079】
またセキュリティコントローラ10は、アクセス制限を行った際にログ情報17eを生成して記憶部17に記憶する。これにより例えば車輌1の修理又は点検等の際に、不正なプログラムが存在するか否か等を調査することができる。
【0080】
なお本実施の形態においては、セキュリティコントローラ10にゲートウェイ30が接続され、ゲートウェイ30に複数のECU50が接続される構成としたが、この車内ネットワークの構成は一例であって、これに限るものではない。例えばセキュリティコントローラ10がゲートウェイの機能を兼ね備える構成とし、セキュリティコントローラ10に複数のECU50を接続する構成としてもよい。また何れかのECU50がセキュリティコントローラ10の機能を兼ね備える構成としてもよい。また車輌1に複数のセキュリティコントローラ10を搭載してもよい。
【0081】
またセキュリティコントローラ10は、有線通信部14及び無線通信部15の両方を備える構成としたが、これに限るものではなく、有線通信部14又は無線通信部15の一方を備える構成であってもよい。またセキュリティコントローラ10は、例えば車輌1が電気自動車であり、外部の給電装置から給電ケーブルを介した電力供給が可能な構成の場合、給電ケーブルを介した電力線通信などにより外部装置との通信を行う構成としてもよい。またセキュリティコントローラ10は、メモリカード又は光ディスク等の記録媒体を装着可能な構成とし、記録媒体から追加又は更新するプログラムを取得する構成としてもよい。
【0082】
(実施の形態2)
図9は、実施の形態2に係るセキュリティコントローラ210の構成を示すブロック図である。実施の形態2に係るセキュリティコントローラ210は、車輌情報取得部218を備えている。車輌情報取得部218は、車輌1に搭載された車速センサ261及びエンジン制御部262から情報を取得してCPU11へ与える。車速センサ261は、車輌1の走行速度を検知し、検知結果を車輌情報取得部218へ出力する。エンジン制御部262は、車輌1のエンジンの動作を制御する装置であり、エンジンが動作中であるか又は停止中であるかを示す情報を車輌情報取得部218へ出力する。
【0083】
車輌情報取得部218からの情報を与えられたCPU11は、これらの情報に基づいて、車輌1が走行状態又は停止状態のいずれであるかを判定する。CPU11は、例えば車速センサ261が検知した車速が閾値を超えるか否かに応じて、車輌1が走行状態又は停止状態のいずれであるかを判定することができる。またCPU11は、例えばエンジン制御部262からの情報に基づいて、エンジンが動作中又は停止中のいずれであるかに応じて、車輌1が走行状態又は停止状態のいずれであるかを判定することができる。本実施の形態において、CPU11は、車速が閾値以下であり、且つ、エンジンが停止中である場合に、車輌1が停止状態であると判定する。またCPU11は、車速が閾値を超えるか、又は、エンジンが動作中である場合に、車輌1が走行状態であると判定する。
【0084】
上述の実施の形態1に係るセキュリティコントローラ10は、プログラムの追加及び更新等の処理を行う際に、アクセス権限レベル及び車輌1の位置に応じた制限を行った。実施の形態2に係るセキュリティコントローラ210は、同様の制限に加えて、車輌1の状態に応じた制限を更に行う。実施の形態2に係るセキュリティコントローラ210のCPU11は、例えばアクセス権限レベルのレベル3のプログラムの追加又は更新について、車輌1の位置に応じた制限と、車輌1の状態に応じた制限とを行う。
【0085】
セキュリティコントローラ210のCPU11は、プログラムの追加又は更新の要求が与えられた場合、位置情報取得部13にて取得した位置情報に係る車輌1の位置が、追加更新許可位置情報17bに登録された何れかの位置に該当するか否かを判定する。車輌1の位置が登録された位置に該当しない場合、CPU11は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
【0086】
またセキュリティコントローラ210のCPU11は、プログラムの追加又は更新の要求が与えられた場合、車輌情報取得部218が取得した情報に基づいて、車輌1が停止状態であるか否かを判定する。車輌1が停止状態である場合、CPU11は、プログラムの追加又は更新の処理を許可し、この処理を行う。車輌1が停止状態でない、即ち走行状態である場合、CPU11は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
【0087】
図10は、実施の形態2に係るセキュリティコントローラ210が行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。なお本フローチャートにおいては、
図5に示したフローチャートのステップS1〜S6に相当する処理を、ステップS51の所定処理として簡略化して記載してある。実施の形態2に係るセキュリティコントローラ210は、
図5のステップS1〜S6について、実施の形態1に係るセキュリティコントローラ10と同様の処理を行っている。
【0088】
実施の形態2に係るセキュリティコントローラ210のCPU11は、端末装置3からプログラムの追加又は更新の要求を受け付けた場合、認証処理、サーバ装置5からプログラムを取得する処理、及び、取得したプログラムの配信元を確認してアクセス権限レベルを判定する処理等を、所定処理として行う(ステップS51)。
【0089】
その後、CPU11は、追加又は更新するプログラムのアクセス権限レベルがレベル3であるか否かを判定する(ステップS52)。アクセス権限レベルがレベル3である場合(S52:YES)、CPU11は、位置情報取得部13にて位置情報を取得し(ステップS53)、車輌1の位置が所定位置であるか否かを判定する(ステップS54)。車輌1の位置が所定位置でない場合(S54:NO)、CPU11は、プログラムの追加又は更新を行わず、ログ情報17eを生成して記憶部17に記憶し(ステップS57)、処理を終了する。
【0090】
車輌1の位置が所定位置である場合(S54:YES)、CPU11は、車輌情報取得部218にて車速センサ261及びエンジン制御部262からの車輌情報を取得する(ステップS55)。CPU11は、取得した車輌情報に基づいて、車輌1が停止状態であるか否かを判定する(ステップS56)。車輌1が停止状態でない場合(S56:NO)、CPU11は、プログラムの追加又は更新を行わず、ログ情報17eを生成して記憶部17に記憶し(ステップS57)、処理を終了する。
【0091】
またCPU11は、プログラムのアクセス権限レベルがレベル3ではなくレベル2以下である場合(S52:NO)、又は、車輌1が停止状態である場合(S56:YES)、プログラムの追加又は更新を行い(ステップS58)、ログ情報17eを生成して記憶部17に記憶し(ステップS59)、処理を終了する。
【0092】
以上の構成の実施の形態2に係るセキュリティコントローラ210は、車輌1が停止状態であるか否かに応じて、プログラムの追加又は更新を制限する。これにより、車輌1の走行中において、走行に影響を及ぼすようなプログラムの追加又は更新が行われることを防止できる。
【0093】
なお本実施の形態においては、セキュリティコントローラ210は車輌1に関する情報として、車速センサ261が検知する車速、及び、エンジンの動作状態を取得する構成としたが、これに限るものではない。セキュリティコントローラ210は、車速又はエンジンの動作状態のいずれか一方のみを取得する構成としてもよい。またセキュリティコントローラ210は、車速又はエンジンの動作状態以外の情報を取得する構成としてもよい。セキュリティコントローラ210は、例えばエンジンの始動に係るIG(イグニッション)スイッチの状態、シフトレバーの位置、又は、ブレーキの操作状態等の情報を取得する構成としてもよい。
【0094】
またセキュリティコントローラ210は、取得した車輌情報に基づき、車輌1が停止状態であるか否かを判定してプログラムの追加又は更新を制限する構成としたが、これに限るものではない。セキュリティコントローラ210は、車輌1が停止状態であるか否か以外の条件に応じてプログラムの追加又は更新を制限する構成としてもよい。例えばセキュリティコントローラ210は、IGスイッチがオフ状態であるか否かに応じてプログラムの追加又は更新を制限する構成とすることができる。また例えばセキュリティコントローラ210は、車輌1内に人が存在するか否かに応じてプログラムの追加又は更新を制限する構成とすることができる。
【0095】
またセキュリティコントローラ210の車輌情報取得部218は、車速センサ261及びエンジン制御部262から直接的に情報を取得する構成としたが、これに限るものではない。例えば車輌情報取得部218は、車内ネットワークを介した通信により車速センサ261及びエンジン制御部262から情報を取得する構成であってもよい。
【0096】
また実施の形態2に係る車載通信システムのその他の構成は、実施の形態1に係る車載通信システムの構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。