(57)【要約】【課題】不正なプログラムによる車内ネットワークへの不正なアクセスにより外部への情報漏洩などが発生することを防止することができるアクセス制限装置、車載通信システム及び通信制限方法を提供する。【解決手段】車輌の車内ネットワークと端末装置３などの外部装置との間の通信を、セキュリティコントローラ１０を介して行う。セキュリティコントローラ１０は、情報の送受信処理を伴うプログラムを追加又は更新することができる。セキュリティコントローラ１０は、プログラムの実行に伴って発生する車内ネットワークの情報へのアクセスを、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて制限する処理を行う。またセキュリティコントローラ１０は、プログラムの実行に伴って車内ネットワークへ情報を送信する場合、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて送信を制限する。【選択図】図２
2014168219.tif 000002
【特許請求の範囲】
【請求項１】
車輌に搭載され、
該車輌に配された車内ネットワークを介して車載機器との通信を行う第１通信部と、
外部装置との通信を行う第２通信部と、
前記第１通信部にて送受信する情報に係る処理及び／又は前記第２通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部と、
該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部と、
前記第２通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段と、
前記第１通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第１判定手段と、
前記第１通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第１通信部にて受信した情報毎に判定する第２判定手段と、
前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部が受信した情報に対するアクセス要求がなされた場合、前記第１判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段と
を備えることを特徴とするアクセス制限装置。
【請求項２】
前記アクセス制限手段は、前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部から前記車内ネットワークへの情報送信要求がなされた場合、前記第１判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記第１通信部から車載機器への情報送信を制限するようにしてあること
を特徴とする請求項１に記載のアクセス制限装置。
【請求項３】
前記車輌の位置情報を取得する位置情報取得手段と、
該位置情報取得手段が取得した位置情報に係る前記車輌の位置が、所定位置又は所定位置範囲内で有るか否かを判定する位置判定手段と、
該位置判定手段の判定結果に応じて、前記プログラム追加更新手段によるプログラムの追加又は更新を制限するプログラム追加更新制限手段と
を備えること
を特徴とする請求項１又は請求項２に記載のアクセス制限装置。
【請求項４】
前記プログラム追加更新制限手段は、プログラムのアクセス権限レベル、及び、前記位置判定手段の判定結果に応じて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあること
を特徴とする請求項３に記載のアクセス制限装置。
【請求項５】
前記車輌に係る情報を取得する車輌情報取得手段を備え、
前記プログラム追加更新制限手段は、前記車輌情報取得手段が取得した情報に基づいて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあること
を特徴とする請求項３又は請求項４に記載のアクセス制限装置。
【請求項６】
前記車輌情報取得手段が取得した情報に基づいて、前記車輌が停止状態であるか否かを判定する停車判定手段を備え、
前記プログラム追加更新制限手段は、前記停車判定手段が停止状態でないと判定した場合に、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあること
を特徴とする請求項５に記載のアクセス制限装置。
【請求項７】
前記車輌情報取得手段が取得する情報は、前記車輌の車速情報、及び／又は、前記車輌の原動機の動作状態を示す情報であること
を特徴とする請求項５又は請求項６に記載のアクセス制限装置。
【請求項８】
プログラムの配信元及びアクセス権限のレベルを対応付けたアクセス権限レベル情報を記憶するアクセス権限レベル情報記憶部を備え、
前記第１判定手段は、アクセス権限レベル情報記憶部が記憶したアクセス権限レベル情報を基に、プログラムのアクセス権限のレベルを判定するようにしてあること
を特徴とする請求項１乃至請求項７のいずれか１つに記載のアクセス制限装置。
【請求項９】
前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部から前記車内ネットワークへ送信された情報の量が所定量を超える場合に、情報の送信を遮断する遮断手段を備えること
を特徴とする請求項１乃至請求項８のいずれか１つに記載のアクセス制限装置。
【請求項１０】
前記所定量は、プログラムのアクセス権限のレベルに応じて定められる量であること
を特徴とする請求項９に記載のアクセス制限装置。
【請求項１１】
前記アクセス制限手段が情報に対するアクセスを制限した場合に、該アクセスに係るログ情報を生成するログ情報生成手段と、
該ログ情報生成手段が生成したログ情報を記憶するログ情報記憶部と
を備えること
を特徴とする請求項１乃至請求項１０のいずれか１つに記載のアクセス制限装置。
【請求項１２】
車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第１通信部、外部装置との通信を行う第２通信部、前記第１通信部にて送受信する情報に係る処理及び／又は前記第２通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、前記第２通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段、前記第１通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第１判定手段、前記第１通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第１通信部にて受信した情報毎に判定する第２判定手段、並びに、前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部が受信した情報に対するアクセス要求がなされた場合、前記第１判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段を有するアクセス制限装置と、
該アクセス制限装置に車内ネットワークを介して接続された一又は複数の車載機器と
を備え、
前記車載機器が前記アクセス制限装置を介して外部装置との通信を行うようにしてあること
を特徴とする車載通信システム。
【請求項１３】
車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第１通信部、外部装置との通信を行う第２通信部、前記第１通信部にて送受信する情報に係る処理及び／又は前記第２通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、及び、前記第２通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段を備えるアクセス制限装置を用いて、前記車載機器及び前記外部装置の通信を制限する通信制限方法であって、
前記第１通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第１判定ステップと、
前記第１通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第１通信部にて受信した情報毎に判定する第２判定ステップと、
前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部が受信した情報に対するアクセス要求がなされた場合、前記第１判定ステップにて判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定ステップにて判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限ステップと
を含むことを特徴とする通信制限方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの追加及び更新等が可能な車載のゲートウェイなどの装置において、プログラムが車輌内のネットワークへ不正なアクセスを行うことを防止するアクセス制限装置、並びに、この装置を用いて車載機器及び外部装置の通信を制限することができる車載通信システム及び通信制限方法に関する。
【背景技術】
【０００２】
車輌に搭載される電子機器の高機能化が押し進められている。近年の車輌には、走行制御に係る電子機器のみでなく、例えば車内のユーザの快適性向上又は娯楽等を目的とした種々の電子機器が搭載される。また近年では、携帯電話機、スマートフォン又はタブレット型端末等のユーザが所持する可搬型の情報処理端末の進歩が目覚ましく、これら情報処理端末と車輌内の電子機器とが連携して処理を行い、更に高度なサービスをユーザに提供するシステムが実用化され始めている。
【０００３】
このように高機能化された車載の電子機器においては、実行されるプログラムも高機能化され、プログラムをバージョンアップするなどの更新が必要となる場合がある。またユーザ毎に必要とする機能が異なる場合などがあり、ユーザの好みに応じて機能の選択又はカスタマイズ等を可能とすることで利便性が向上すると考えられるが、このような際にはプログラムの追加又は変更等が必要となる場合がある。このため近年の車載の電子機器において、プログラムの追加又は更新等を行うことを可能とする技術が検討及び開発されており、例えばＯＳＧｉ（Open Services Gateway initiative）と呼ばれる技術を採用したものがある。
【０００４】
特許文献１においては、ＯＳＧｉの技術を用い、車輌においてネットワーク化された携帯機器を使用するためのシステムが提案されている。このシステムでは、車載機器の携帯機器クライアントプログラムが携帯機器との通信を行い、携帯機器から車載機器への動的なアプリケーションプログラムの転送を行う。車載機器上又は携帯機器上では、車輌のディスプレイ又はスピーカ等の構成要素を使用するアプリケーションの実行が可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１２−５００５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、車載の電子機器をプログラムの追加及び更新等が可能な構成とした場合、悪意の第三者が作成したプログラムが追加されて実行される虞がある。これにより、例えば車内ネットワークにて送受信される情報が、不正なプログラムによって外部へ漏洩するなどの虞がある。
【０００７】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、不正なプログラムによる車内ネットワークへの不正なアクセスにより外部への情報漏洩などが発生することを防止することができるアクセス制限装置、車載通信システム及び通信制限方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るアクセス制限装置は、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第１通信部と、外部装置との通信を行う第２通信部と、前記第１通信部にて送受信する情報に係る処理及び／又は前記第２通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部と、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部と、前記第２通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段と、前記第１通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第１判定手段と、前記第１通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第１通信部にて受信した情報毎に判定する第２判定手段と、前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部が受信した情報に対するアクセス要求がなされた場合、前記第１判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段とを備えることを特徴とする。
【０００９】
また、本発明に係るアクセス制限装置は、前記アクセス制限手段が、前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部から前記車内ネットワークへの情報送信要求がなされた場合、前記第１判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記第１通信部から車載機器への情報送信を制限するようにしてあることを特徴とする。
【００１０】
また、本発明に係るアクセス制限装置は、前記車輌の位置情報を取得する位置情報取得手段と、該位置情報取得手段が取得した位置情報に係る前記車輌の位置が、所定位置又は所定位置範囲内で有るか否かを判定する位置判定手段と、該位置判定手段の判定結果に応じて、前記プログラム追加更新手段によるプログラムの追加又は更新を制限するプログラム追加更新制限手段とを備えることを特徴とする。
【００１１】
また、本発明に係るアクセス制限装置は、前記プログラム追加更新制限手段が、プログラムのアクセス権限レベル、及び、前記位置判定手段の判定結果に応じて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
【００１２】
また、本発明に係るアクセス制限装置は、前記車輌に係る情報を取得する車輌情報取得手段を備え、前記プログラム追加更新制限手段は、前記車輌情報取得手段が取得した情報に基づいて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
【００１３】
また、本発明に係るアクセス制限装置は、前記車輌情報取得手段が取得した情報に基づいて、前記車輌が停止状態であるか否かを判定する停車判定手段を備え、前記プログラム追加更新制限手段は、前記停車判定手段が停止状態でないと判定した場合に、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
【００１４】
また、本発明に係るアクセス制限装置は、前記車輌情報取得手段が取得する情報は、前記車輌の車速情報、及び／又は、前記車輌の原動機の動作状態を示す情報であることを特徴とする。
【００１５】
また、本発明に係るアクセス制限装置は、プログラムの配信元及びアクセス権限のレベルを対応付けたアクセス権限レベル情報を記憶するアクセス権限レベル情報記憶部を備え、前記第１判定手段は、アクセス権限レベル情報記憶部が記憶したアクセス権限レベル情報を基に、プログラムのアクセス権限のレベルを判定するようにしてあることを特徴とする。
【００１６】
また、本発明に係るアクセス制限装置は、前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部から前記車内ネットワークへ送信された情報の量が所定量を超える場合に、情報の送信を遮断する遮断手段を備えることを特徴とする。
【００１７】
また、本発明に係るアクセス制限装置は、前記所定量が、プログラムのアクセス権限のレベルに応じて定められる量であることを特徴とする。
【００１８】
また、本発明に係るアクセス制限装置は、前記アクセス制限手段が情報に対するアクセスを制限した場合に、該アクセスに係るログ情報を生成するログ情報生成手段と、該ログ情報生成手段が生成したログ情報を記憶するログ情報記憶部とを備えることを特徴とする。
【００１９】
また、本発明に係る車載通信システムは、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第１通信部、外部装置との通信を行う第２通信部、前記第１通信部にて送受信する情報に係る処理及び／又は前記第２通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、前記第２通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段、前記第１通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第１判定手段、前記第１通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第１通信部にて受信した情報毎に判定する第２判定手段、並びに、前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部が受信した情報に対するアクセス要求がなされた場合、前記第１判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段を有するアクセス制限装置と、該アクセス制限装置に車内ネットワークを介して接続された一又は複数の車載機器とを備え、前記車載機器が前記アクセス制限装置を介して外部装置との通信を行うようにしてあることを特徴とする。
【００２０】
また、本発明に係る通信制限方法は、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第１通信部、外部装置との通信を行う第２通信部、前記第１通信部にて送受信する情報に係る処理及び／又は前記第２通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、及び、前記第２通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段を備えるアクセス制限装置を用いて、前記車載機器及び前記外部装置の通信を制限する通信制限方法であって、前記第１通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第１判定ステップと、前記第１通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第１通信部にて受信した情報毎に判定する第２判定ステップと、前記処理部がプログラムを実行することにより行われた処理にて、前記第１通信部が受信した情報に対するアクセス要求がなされた場合、前記第１判定ステップにて判定した前記プログラムのアクセス権限のレベル、及び、前記第２判定ステップにて判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限ステップとを含むことを特徴とする。
【００２１】
本発明においては、車内ネットワークを介して車載機器との通信を行う第１通信部と、無線及び／又は有線にて外部装置との通信を行う第２通信部とを備えるアクセス制限装置を介在させて、車載機器と外部装置との通信を行う。アクセス制限装置は、処理部にて実行するプログラムの追加又は更新が可能な構成とし、プログラムは第２通信部の通信によって外部装置から取得する。
アクセス制限装置は、情報に対するアクセス権限のレベルをプログラム毎に判定すると共に、情報毎にアクセスに必要なレベルを判定する。プログラムの実行により行われた処理にて車内ネットワークの情報に対するアクセス要求がなされた場合、アクセス制限装置は、このプログラムのアクセス権限のレベルが、アクセス要求に係る情報の必要レベルに達していれば、第１受信部にて受信したこの情報に対するアクセスを許可する。これに対してプログラムのアクセス権限のレベルが、情報の必要レベルに達していない場合、アクセス制限装置は、この情報に対するアクセスを禁止する。
このようなアクセス制限を行うことによって、信頼性の高いプログラムには車輌に係る多くの情報を与えて高度なサービスを提供させることを可能とする。また信頼性の低いプログラムに対しては与える情報を制限し、重要度が高い情報が外部へ漏洩することを防止することができる。
【００２２】
また、本発明においては、プログラムの実行により行われた処理にて第１通信部から車内ネットワークを介して車載機器へ情報を送信する場合にも、アクセス制限装置は同様の制限を行う。即ち、アクセス制限装置は、プログラムのアクセス権限のレベルが送信する情報の必要レベルに達している場合にこの情報の送信を許可し、プログラムのアクセス権限のレベルが送信する情報の必要レベルに達していない場合にはこの情報の送信を禁止する。このような情報送信の制限を行うことによって、不正なプログラムによる車内ネットワークへの不正な情報送信を防止することができる。
【００２３】
また、本発明においては、ＧＰＳ（Global Positioning System）などを利用した車輌
の位置情報をアクセス制限装置が取得し、車輌の位置が所定位置又は所定位置範囲内であるか否かを判定する。例えばアクセス制限装置は、車輌の位置が、この車輌のディーラの所在位置又はこの所在位置から数十ｍなどの範囲内であるか否かを判定する。アクセス制限装置は、車輌の位置が所定位置又は所定位置範囲内である場合にプログラムの追加又は更新を許可し、車輌の位置が所定位置又は所定位置範囲内でない場合にプログラムの追加又は更新を禁止する。
このような車輌の位置に応じたプログラムの追加又は更新の制限を行うことによって、悪意の第三者によって不正なプログラムの追加又は更新等が行われることを防止できる。
【００２４】
また、車輌の制御に関するプログラムの追加又は更新が行われた場合には、車輌の走行に影響を及ぼす可能性がある。そこで本発明においては、車輌情報を取得して車輌の状況を判断し、プログラムの追加又は更新を制限する。例えば車輌の車速情報又は原動機の動作状態情報等を取得し、これらの情報に基づいて車輌が停止状態であるか否かを判定する。車輌が停止状態でない、即ち走行状態であると判定した場合に、プログラムの追加又は更新を制限する。これにより、車輌の走行中などにプログラムの追加又は更新が行われることを防止できる。
【００２５】
また、アクセス制限装置が車輌の位置に応じたプログラムの追加又は更新の制限を行う場合、プログラムのアクセス権限のレベルを考慮して制限を行ってもよい。例えば、アクセス権限のレベルが高いプログラムについては車輌位置に応じた追加又は更新の制限を行い、アクセス権限のレベルが低いプログラムについては車輌位置に応じた追加又は更新の制限を行わない構成とすることができる。
【００２６】
また、本発明においては、アクセス制限装置がプログラムの配信元とアクセス権限のレベルとを対応付けたアクセス権限レベル情報を記憶している。アクセス制限装置は、例えば新たなプログラムが追加された場合などにアクセス権限レベル情報を参照して、このプログラムのアクセス権限のレベルを判定することができる。プログラムの配信元は、例えばプログラムに付された電子署名を基に判断することができ、また例えばプログラムを追加した際の通信先のアドレス情報などを基に判断することができる。
【００２７】
また、本発明においては、プログラムの実行によって車内ネットワークへ送信された情報量が所定量を超える場合、アクセス制限装置が情報送信を遮断する。これにより不正なプログラムが大量の情報を車内ネットワークへ送信することによって、車内ネットワークがビジー状態となることを防止できる。
【００２８】
また、アクセス制限装置が情報量に応じて送信の遮断を行う場合、プログラムのアクセス権限のレベルを考慮して遮断を行ってもよい。例えばアクセス権限のレベルが高いプログラムについては多くの情報を送信することを許可し、アクセス権限のレベルが低いプログラムについては送信を許可する情報量を低く抑える構成とすることができる。
【００２９】
また、本発明においては、アクセス制限装置がアクセス制限を行った場合に、その旨を示すログ情報を生成して記憶しておく。これにより例えば車輌の修理又は点検等の際に、不正なプログラムが存在するか否か等を調査することができる。
【発明の効果】
【００３０】
本発明による場合は、プログラムのアクセス権限のレベルが、アクセス要求に係る情報の必要レベルに達しているか否かに応じて、アクセス制限装置がこのプログラムによる情報へのアクセスを制限することにより、信頼性の低いプログラムのアクセス制限を行うことができ、外部へ重要な情報が漏えいすることを防止できる。
【図面の簡単な説明】
【００３１】
【図１】本実施の形態に係る車載通信システムの構成を示す模式図である。
【図２】セキュリティコントローラの構成を示すブロック図である。
【図３】アクセス権限レベルテーブルの一構成例を示す模式図である。
【図４】アクセス許可レベルテーブルの一構成例を示す模式図である。
【図５】セキュリティコントローラが行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。
【図６】セキュリティコントローラが行うアクセス制限処理の手順を示すフローチャートである。
【図７】セキュリティコントローラが行う情報送信量に基づく送信制限処理の手順を示すフローチャートである。
【図８】セキュリティコントローラが行うアクセス権限レベルに基づく送信制限処理の手順を示すフローチャートである。
【図９】実施の形態２に係るセキュリティコントローラの構成を示すブロック図である。
【図１０】実施の形態２に係るセキュリティコントローラが行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００３２】
（実施の形態１）
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図１は、本実施の形態に係る車載通信システムの構成を示す模式図である。図において一点鎖線で示す１は車輌であり、車輌１にはセキュリティコントローラ１０、ゲートウェイ３０及び複数のＥＣＵ（Electronic Control Unit）５０等が搭載されている。車輌１には、共通の通信線にバス接続された複数のＥＣＵ５０による通信グループが複数存在し、通信グループ間の通信をゲートウェイ３０が中継している。このためゲートウェイ３０には、複数の通信線が接続されている。またゲートウェイ３０は、セキュリティコントローラ１０が接続されており、セキュリティコントローラ１０からの情報をＥＣＵ５０へ送信すると共に、ＥＣＵ５０から受信した情報をセキュリティコントローラ１０へ与える。
【００３３】
セキュリティコントローラ１０は、ユーザが所持する端末装置３又は種々のサーバ装置５等と、ゲートウェイ３０及びＥＣＵ５０等を含んで構成された車輌１の車内ネットワークとの間の通信を中継する機能を有し、ゲートウェイ３０に接続されている。端末装置３は、例えばユーザが所持する携帯電話機、スマートフォン、タブレット型端末又はノートＰＣ（Personal Computer）等の装置であり、セキュリティコントローラ１０との間で有線又は無線による通信を行う。サーバ装置５は、車輌１外の適所に設置され、車輌１のセキュリティコントローラ１０と直接的に、及び／又は、端末装置３を介して間接的に通信を行う。
【００３４】
図２は、セキュリティコントローラ１０の構成を示すブロック図である。セキュリティコントローラ１０は、ＣＰＵ（Central Processing Unit）１１、ＲＡＭ（Random Access Memory）１２、位置情報取得部１３、有線通信部１４、無線通信部１５、車内通信部１６及び記憶部１７等を備えて構成されている。
【００３５】
ＣＰＵ１１は、記憶部１７のプログラム記憶部１７ａに記憶された一又は複数のプログラムをＲＡＭ１２に読み出して実行することにより、種々の処理を行う演算処理装置である。図示の例では、ＣＰＵ１１が３つのプログラムＡ〜Ｃを実行している。ＣＰＵ１１は、例えば時分割などで複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行することができる。ＲＡＭ１２は、ＳＲＡＭ（Static ＲＡＭ）又はＤＲＡＭ（Dynamic RAM）等のメモリ素子で構成され、ＣＰＵ１１が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【００３６】
位置情報取得部１３は、車輌１の位置情報を取得してＣＰＵ１１へ与える。位置情報取得部１３は、例えばＧＰＳ（Global Positioning System）の信号を受信するアンテナなどが接続され、受信信号に基づいて車輌１の位置（緯度及び経度等）を算出する構成とすることができる。更に、位置情報取得部１３は、速度センサ、加速度センサ又はジャイロセンサ等のセンサから得られる情報、並びに、地図情報等を利用して車輌１の位置を算出してもよい。なお車輌１にカーナビゲーション装置が搭載されている場合、車輌１の位置を算出する処理はカーナビゲーション装置が行い、算出結果をセキュリティコントローラ１０が取得して利用する構成であってもよい。
【００３７】
有線通信部１４は、通信ケーブルなどを接続するためのコネクタを有し、接続された通信ケーブルを介して端末装置３との通信を行う。有線通信部１４は、例えばＵＳＢ（Universal Serial Bus）又はＲＳ２３２Ｃ等の規格に応じて通信を行う。有線通信部１４は、ＣＰＵ１１から与えられた情報を端末装置３へ送信すると共に、端末装置３から受信した情報をＣＰＵ１１へ与える。
【００３８】
無線通信部１５は、電波又は光等の無線信号を利用して、車輌１内又は車輌１から無線信号が到達する範囲内に存在する端末装置３との間で無線通信を行う。無線通信部１５は、例えば無線ＬＡＮ（Local Area Network）又はＢｌｕｅｔｏｏｔｈ（登録商標）等の規格に応じて無線通信を行う。また無線通信部１５は、公衆の携帯電話網などを利用して、車輌１から遠隔地にセットされたサーバ装置５などとの通信を行う構成としてもよい。無線通信部１５は、ＣＰＵ１１から与えられた情報を端末装置３又はサーバ装置５等の外部装置へ送信すると共に、外部装置から受信した情報をＣＰＵ１１へ与える。
【００３９】
車内通信部１６は、車輌１に搭載されたゲートウェイ３０に通信ケーブルを介して接続されている。車内通信部１６は、例えばＣＡＮ（Controller Area Network）又はＬＩＮ
（Local Interconnect Network）等の規格に応じて、ゲートウェイ３０との通信を行う。車内通信部１６は、ＣＰＵ１１から与えられた情報をゲートウェイ３０へ送信すると共に、ゲートウェイ３０から受信した情報をＣＰＵ１１へ与える。
【００４０】
記憶部１７は、フラッシュメモリ若しくはＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等を用いて構成されている。記憶部１７は、ＣＰＵ１１が実行するプログラム及び実行に必要なデータ等を記憶するプログラム記憶部１７ａを有する。また記憶部１７は、追加更新許可位置情報１７ｂ、アクセス権限レベルテーブル１７ｃ、アクセス許可レベルテーブル１７ｄ及びログ情報１７ｅ等を記憶する。
【００４１】
本実施の形態に係るセキュリティコントローラ１０は、ＣＰＵ１１にて実行するプログラムを追加、更新及び削除等することが可能な構成である。例えば、ユーザがＧＰＳ受信機の搭載された端末装置３にてカーナビゲーションプログラムを動作させ、端末装置３をカーナビゲーション装置として利用する場合、車輌１の速度情報などを端末装置３が取得することによって精度のよい車輌位置の算出を行うことが可能となる。そこでユーザは、端末装置３のカーナビゲーションプログラムと連動し、車輌１の速度情報などを取得して端末装置３へ送信するプログラムを、セキュリティコントローラ１０に追加（いわゆるインストール）することができる。
【００４２】
例えばセキュリティコントローラ１０は、ＯＳＧｉの技術を採用することで、プログラムの追加、更新及び削除等を行うことができる構成とすることができる。ＯＳＧｉは、バンドルと呼ばれるプログラムの動的な追加及び実行等を管理するシステムであり、バンドルの実行基盤であるＯＳＧｉフレームワークがＣＰＵ１１にて動作する。なおＯＳＧｉは既存の技術であるため、詳細な説明は省略する。またセキュリティコントローラ１０は、ＯＳＧｉ以外の技術を採用してプログラムの追加、更新及び削除等を行ってもよい。
【００４３】
セキュリティコントローラ１０のＣＰＵ１１は、端末装置３からプログラムの追加指示が与えられた場合、又は、車輌１の運転席近傍に設けられた操作部（図示は省略する）などからユーザの操作に基づく追加指示が与えられた場合に、プログラムを追加する処理を行う。追加するプログラムは、例えば端末装置３が記憶しているものをセキュリティコントローラ１０が取得してもよく、また例えばサーバ装置５などから取得してもよい。セキュリティコントローラ１０のＣＰＵ１１は、端末装置３又はサーバ装置５等から取得したプログラムを記憶部１７のプログラム記憶部１７ａに記憶する。以後、ＣＰＵ１１は、必要に応じて追加したプログラムを記憶部１７から読み出して実行し、このプログラムに係る処理を行うことができる。
【００４４】
またセキュリティコントローラ１０のＣＰＵ１１は、既に記憶部１７に記憶されたプログラムについて、例えば機能拡張又は不具合修正等を目的として、プログラムの更新処理を行う。プログラムの更新処理は、例えば車輌１の操作部又は端末装置３等から更新指示が与えられた場合に行ってもよく、また例えばサーバ装置５などとの通信を定期的に行い、プログラムの更新の要否をＣＰＵ１１が判定して自発的に行ってもよい。セキュリティコントローラ１０のＣＰＵ１１は、記憶部１７のプログラム記憶部１７ａに記憶されているプログラムの一部又は全部を、端末装置３又はサーバ装置５等から取得した更新用の情報（更新用のプログラム又はデータ等）にて書き換えることにより、プログラムを更新する。
【００４５】
またセキュリティコントローラ１０のＣＰＵ１１は、記憶部１７のプログラム記憶部１７ａに記憶されたプログラムを削除する処理を行う。例えばＣＰＵ１１は、車輌１の操作部又は端末装置３等からプログラムの削除指示が与えられた場合に、該当するプログラムをプログラム記憶部１７ａから削除する。
【００４６】
このように本実施の形態に係るセキュリティコントローラ１０は、ユーザが必要に応じてプログラムの追加及び更新等を行うことができる構成であるため、悪意の第三者が作成したプログラムがセキュリティコントローラ１０に追加されてＣＰＵ１１に実行される虞がある。そこで本実施の形態に係るセキュリティコントローラ１０は、不正なプログラムによって車輌１内への不正なアクセスが発生することを防止すべく、車内ネットワークにて送受信される情報に対するアクセス制限を行う機能を有する。以下に、セキュリティコントローラ１０によるアクセス制限機能について説明する。
【００４７】
セキュリティコントローラ１０は、ＣＰＵ１１にて実行する各プログラムについて、車内ネットワークにて送受信される情報に対するアクセス権限のレベルを判定する。この判定は、例えば外部装置からプログラムを受信してプログラム記憶部１７ａに記憶する際に行ってもよく、例えばプログラムを実行する都度行ってもよく、また例えばプログラムから情報に対するアクセス要求が発せられる都度行ってもよく、その他のタイミングで行ってもよい。セキュリティコントローラ１０のＣＰＵ１１は、記憶部１７に記憶されたアクセス権限レベルテーブル１７ｃに含まれる情報に基づいて各プログラムのアクセス権限レベルを判定する。
【００４８】
図３は、アクセス権限レベルテーブル１７ｃの一構成例を示す模式図である。アクセス権限レベルテーブル１７ｃには、プログラムの配信元に関する情報と、アクセス権限レベルとが対応付けて記憶されている。図示の例では、アクセス権限レベルテーブル１７ｃのプログラム配信元として、ａ社、ｂ社…のように社名が記載されているが、これは一例であって、プログラムの配信元を識別し得る情報であればどのような情報であってもよい。ＣＰＵ１１は、プログラムを追加又は更新する際に、プログラムに付された電子署名又はプログラムを取得したサーバ装置５のＩＰ（Internet Protocol）アドレス等の情報に基
づいてプログラムの配信元を判断する。
【００４９】
またアクセス権限レベルテーブル１７ｃのアクセス権限レベルとして、レベル１〜３の３段階が設定されている。ただしこれは一例であり、アクセス権限レベルは２段階又は４段階以上であってもよい。アクセス権限レベルは、その数値が大きいほど、高いアクセス権限を有していることを示している。即ち、アクセス権限レベル３のプログラムは、アクセス権限レベル１又は２のプログラムより、より多くの情報にアクセスすることができる。図示の例では、ａ社は車輌１の製造元の会社であり、最も高いアクセス権限レベル３が設定されている。またｂ社及びｃ社はアクセス権限レベル２が設定され、ｙ社及びｚ社はアクセス権限レベル１に設定されている。なお、図示の例では、アクセス権限レベルを数値で表現しているが、これは一例であって、優先順位を識別し得る情報であればどのような情報であってもよい。
【００５０】
セキュリティコントローラ１０のＣＰＵ１１は、追加又は更新の際に電子署名などから判断したプログラムの配信元に基づき、アクセス権限レベルテーブル１７ｃから該当する配信元を検索する。アクセス権限レベルテーブル１７ｃに該当する配信元が記憶されている場合、ＣＰＵ１１は、対応するアクセス権限レベルを読み出し、追加又は更新するプログラムに対応付けてアクセス権限レベルを記憶部１７に記憶する。なおプログラムの配信元がアクセス権限レベルテーブル１７ｃ中に存在しない場合、ＣＰＵ１１は、追加又は更新するプログラムを更に低いアクセス権限レベル（例えばレベル０など）に設定するか、又は、このようなプログラムの追加又は更新を許可しない。
【００５１】
また、セキュリティコントローラ１０は、車輌１の車内ネットワークにて送受信される各情報（即ち、車内通信部１６にて送受信する各情報）について、アクセスを許可するアクセス権限レベルを、アクセス許可レベルとして判定する。セキュリティコントローラ１０のＣＰＵ１１は、記憶部１７に記憶されたアクセス許可レベルテーブル１７ｄに基づいて、送受信される各情報についてのアクセス許可レベルを判定する。
【００５２】
図４は、アクセス許可レベルテーブル１７ｄの一構成例を示す模式図である。アクセス許可レベルテーブル１７ｄには、送受信される情報の種別と、アクセス許可レベルとが対応付けて記憶されている。図示の例では、アクセス許可レベルテーブル１７ｄの情報種別として、エンジン制御情報、ユーザ情報、位置情報及び車速情報等が一例として記載されている。これらの情報種別は、例えば車内ネットワークがＣＡＮの規格に従うものである場合、送受信されるフレームに付されたＩＤ（IDentifier）番号及びフレーム内における情報の格納順序等に基づいて判断することができる。
【００５３】
またアクセス許可レベルテーブル１７ｄのアクセス許可レベルとして、レベル１〜３の３段階が設定されている。ただしこれは一例であり、アクセス許可レベルは２段階又は４段階以上であってもよい。アクセス許可レベルは、その数値が大きいほど、情報に対するアクセスに必要なアクセス権限レベルが高いことを示している。即ち、アクセス許可レベル３の情報は、アクセス権限レベル３以上のプログラムがアクセス可能である。またアクセス許可レベル１の情報は、アクセス権限レベル１以上のプログラムがアクセス可能である。図示の例では、エンジン制御情報及びユーザ情報がアクセス許可レベル３に設定され、位置情報がアクセス許可レベル２に設定され、車速情報がアクセス許可レベル１に設定されている。なお、図示の例では、アクセス許可レベルを数値で表現しているが、これは一例であって、優先順位を識別し得る情報であればどのような情報であってもよい。
【００５４】
セキュリティコントローラ１０のＣＰＵ１１は、プログラムの実行により車内ネットワークの情報に対するアクセス要求がなされた場合、このプログラムのアクセス権限レベルと、アクセス要求に係る情報のアクセス許可レベルとを判定する。プログラムのアクセス権限レベルが情報のアクセス許可レベル以上である場合、ＣＰＵ１１は、このプログラムによる情報のアクセスを許可する。即ちＣＰＵ１１は、アクセス要求に係る情報を、車内通信部１６の受信情報から取得して、このプログラムの処理に用いる。これに対して、プログラムのアクセス権限レベルが情報のアクセス許可レベルに満たない場合、ＣＰＵ１１は、このプログラムによる情報のアクセスを許可しない。アクセスが許可されなかった場合の処理は、各プログラムに任される。
【００５５】
同様にセキュリティコントローラ１０のＣＰＵ１１は、プログラムの実行により車内ネットワークへの情報送信要求がなされた場合、このプログラムのアクセス権限レベルと、送信しようとする情報のアクセス許可レベルとを判定する。プログラムのアクセス権限レベルが情報のアクセス許可レベル以上である場合、ＣＰＵ１１は、このプログラムによる情報送信を許可し、車内通信部１６から車内ネットワークへの情報送信を行う。これに対して、プログラムのアクセス権限レベルが情報のアクセス許可レベルに満たない場合、ＣＰＵ１１は、このプログラムによる情報送信を許可しない。
【００５６】
また、本実施の形態に係るセキュリティコントローラ１０は、上述のようにプログラムの追加及び更新等の処理を行うが、この際にアクセス権限レベル及び車輌１の位置に応じてプログラムの追加及び更新を制限する。セキュリティコントローラ１０のＣＰＵ１１は、例えばアクセス権限レベル３のプログラムの追加又は更新について、車輌１の位置に応じた制限を行い、アクセス権限レベル１又は２のプログラムの追加又は更新については、車輌１の位置に応じた制限を行わない。
【００５７】
セキュリティコントローラ１０は、プログラムの追加及び更新等の処理を行うことを許可する車輌１の位置に関する情報を、追加更新許可位置情報１７ｂとして記憶部１７に記憶している。追加更新許可位置情報１７ｂは、例えば車輌１の製造会社の関連施設（ディーラ又は整備工場等）の位置情報が複数箇所について登録されている。位置情報は、例えば緯度及び経度等の情報を採用することができる。
【００５８】
プログラムの追加又は更新の要求が与えられた場合、セキュリティコントローラ１０のＣＰＵ１１は、位置情報取得部１３にて取得した位置情報に係る車輌１の位置が、追加更新許可位置情報１７ｂに登録された何れかの位置に該当する場合、プログラムの追加又は更新の処理を許可し、この処理を行う。なおＣＰＵ１１は、車輌１の位置が登録された位置に完全に一致する場合のみでなく、登録された位置から数百ｍなどの所定範囲内に車輌１が位置している場合に、プログラムの追加又は更新の処理を許可してもよい。車輌１の位置が登録された位置に該当しない場合、ＣＰＵ１１は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
【００５９】
また、本実施の形態に係るセキュリティコントローラ１０は、プログラムの実行に伴って車内ネットワークへ送信された情報量に応じて、このプログラムによる車内ネットワークへの情報送信を制限する。このためセキュリティコントローラ１０のＣＰＵ１１は、単位時間毎の各プログラムに関する情報送信量を監視している。ＣＰＵ１１は、何れかのプログラムの情報送信量が所定量を超えた場合、このプログラムによる情報送信を遮断する。なおこのときに、ＣＰＵ１１は、情報送信量が所定量を超えたプログラムに関する情報送信のみでなく、全てのプログラムに関する情報送信を一時的に又は完全に遮断してもよい。
【００６０】
またＣＰＵ１１が情報送信を遮断するか否かの判定に用いる所定量は、全てのプログラムについて同じ値を用いるのではなく、プログラム毎に異なる値を用いてもよい。例えばアクセス権限レベルが高いプログラムについては所定量を大きな値とし、多くの情報送信を行うことを許可し、アクセス権限レベルが低いプログラムについては所定量を小さな値とし、送信できる情報量を制限することができる。
【００６１】
また、本実施の形態に係るセキュリティコントローラ１０は、上述の情報に対するアクセス制限、情報の送信制限、プログラムの追加更新の制限、又は、情報送信量による送信遮断等の制限処理を行った場合、制限処理に係るログ情報１７ｅを生成して記憶部１７に記憶する。ログ情報１７ｅには、例えば制限処理の要因となったプログラム、制限処理を行った日時、及び、制限処理の内容等の情報を含むことができる。ログ情報１７ｅの読み出しは、例えば車輌１のディーラ又は整備工場等において専用の端末装置３が有線通信部１４に接続された場合などに限定して許可する構成とすることができる。
【００６２】
次に、本実施の形態に係るセキュリティコントローラ１０が行う処理の詳細を、フローチャートを用いて説明する。図５は、セキュリティコントローラ１０が行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。ただし、図５に示す処理は、セキュリティコントローラ１０の有線通信部１４に通信ケーブルを介して端末装置３が接続され、認証処理などが完了してセキュリティコントローラ１０と端末装置３との通信が確立されていることを前提としている。またセキュリティコントローラ１０は、端末装置３からプログラムの追加又は更新の指示を受け付け、端末装置３を介してサーバ装置５との通信を行い、サーバ装置５から追加又は更新するプログラムを取得するものとする。
【００６３】
セキュリティコントローラ１０のＣＰＵ１１は、まず、端末装置３からプログラムの追加又は更新の要求を受け付けたか否かを判定し（ステップＳ１）、要求を受け付けていない場合には（Ｓ１：ＮＯ）、要求を受け付けるまで待機する。プログラムの追加又は更新の指示を受け付けた場合（Ｓ１：ＹＥＳ）、ＣＰＵ１１は、有線通信部１４に接続された端末装置３を介した通信により、サーバ装置５との間で認証処理を行う（ステップＳ２）。例えばＣＰＵ１１は、記憶部１７に記憶されたユーザＩＤ及びパスワード等の認証情報を用いて、サーバ装置５との認証処理を行う。ＣＰＵ１１は、認証処理に成功したか否かを判定し（ステップＳ３）、認証処理に失敗した場合には（Ｓ３：ＮＯ）、処理を終了し、プログラムの追加又は更新の処理を行わない。
【００６４】
認証処理に成功した場合（Ｓ３：ＹＥＳ）、ＣＰＵ１１は、サーバ装置５から端末装置３を介して処理対象のプログラムを取得し（ステップＳ４）、例えばＲＡＭ１２などに一時的に記憶する。ＣＰＵ１１は、取得したプログラムに付された電子署名などに基づいて、このプログラムの配信元を確認し（ステップＳ５）、記憶部１７に記憶されたアクセス権限レベルテーブル１７ｃに基づいてプログラムのアクセス権限レベルを判定する（ステップＳ６）。
【００６５】
次いでＣＰＵ１１は、プログラムのアクセス権限レベルがレベル３であるか否かを判定する（ステップＳ７）。アクセス権限レベルがレベル３である場合（Ｓ７：ＹＥＳ）、ＣＰＵ１１は、位置情報取得部１３にて位置情報を取得し（ステップＳ８）、車輌１の位置が所定位置であるか否かを判定する（ステップＳ９）。車輌１の位置が所定位置でない場合（Ｓ９：ＮＯ）、ＣＰＵ１１は、プログラムの追加又は更新を行わず、ログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ１０）、処理を終了する。
【００６６】
またＣＰＵ１１は、プログラムのアクセス権限レベルがレベル３ではなくレベル２以下である場合（Ｓ７：ＮＯ）、又は、車輌１の位置が所定位置である場合（Ｓ９：ＹＥＳ）、プログラムの追加又は更新を行い（ステップＳ１１）、ログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ１２）、処理を終了する。このときＣＰＵ１１は、ＲＡＭ１２などに一時的に記憶したプログラムを記憶部１７のプログラム記憶部１７ａに記憶すると共に、このプログラムの実行に必要な情報の登録などの処理を行うことで、プログラムの追加又は更新を行う。
【００６７】
図６は、セキュリティコントローラ１０が行うアクセス制限処理の手順を示すフローチャートである。セキュリティコントローラ１０のＣＰＵ１１は、まず、プログラム記憶部１７ａに記憶されたプログラムの実行によって車内ネットワークの情報に対するアクセス要求がなされたか否かを判定する（ステップＳ２１）。アクセス要求がなされていない場合（Ｓ２１：ＮＯ）、ＣＰＵ１１は、アクセス要求がなされるまで待機する。
【００６８】
情報に対するアクセス要求がなされた場合（Ｓ２１：ＹＥＳ）、ＣＰＵ１１は、アクセス要求を行ったプログラムのアクセス権限レベルを判定する（ステップＳ２２）。なお、図５に示したフローチャートのステップＳ６にて判定したアクセス権限レベルを記憶部１７に記憶している場合、ＣＰＵ１１は、ステップＳ２２にて以前の判定結果を読み出してもよい。またＣＰＵ１１は、アクセス要求の対象となる情報のアクセス許可レベルを、記憶部１７に記憶されたアクセス許可レベルテーブル１７ｄを基に判定する（ステップＳ２３）。
【００６９】
次いでＣＰＵ１１は、ステップＳ２２にて判定したプログラムのアクセス権限レベルが、ステップＳ２３にて判定した情報のアクセス許可レベル以上であるか否かを判定する（ステップＳ２４）。アクセス権限レベルがアクセス許可レベル以上である場合（Ｓ２４：ＹＥＳ）、ＣＰＵ１１は、プログラムによる情報のアクセスを許可し（ステップＳ２５）、ログ情報１７ｅを生成して記憶部１７に記憶したうえで（ステップＳ２６）、車内通信部１６にて受信した情報を、アクセス要求を発したプログラムに与えて処理を行う。またアクセス権限レベルがアクセス許可レベル未満である場合（Ｓ２４：ＮＯ）、ＣＰＵ１１は、プログラムによる情報のアクセスを禁止し（ステップＳ２７）、ログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ２８）、処理を終了する。
【００７０】
図７は、セキュリティコントローラ１０が行う情報送信量に基づく送信制限処理の手順を示すフローチャートである。セキュリティコントローラ１０のＣＰＵ１１は、実行しているプログラム毎に、車内通信部１６から車内ネットワークへの単位時間における情報送信量を算出する（ステップＳ３１）。ＣＰＵ１１は、算出した情報送信量がプログラムのアクセス権限レベルごとに定められた所定量を超えるか否かを判定し（ステップＳ３２）、情報送信量が所定量を超えない場合（Ｓ３２：ＮＯ）、送信制限を行わずに処理を終了する。
【００７１】
またプログラムの情報送信量が所定量を超える場合（Ｓ３２：ＹＥＳ）、ＣＰＵ１１は、このプログラムによる車内ネットワークへの情報送信を遮断し（ステップＳ３３）、以後の情報送信を行わない。またＣＰＵ１１は、情報送信の遮断に関するログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ３４）、処理を終了する。なおＣＰＵ１１は、並列的に実行する複数のプログラムについて、プログラム毎に図７に示す処理を周期的に繰り返して行っている。
【００７２】
図８は、セキュリティコントローラ１０が行うアクセス権限レベルに基づく送信制限処理の手順を示すフローチャートである。セキュリティコントローラ１０のＣＰＵ１１は、まず、プログラム記憶部１７ａに記憶されたプログラムの実行によって車内ネットワークへの情報送信要求がなされたか否かを判定する（ステップＳ４１）。情報送信要求がなされていない場合（Ｓ４１：ＮＯ）、ＣＰＵ１１は、情報送信要求がなされるまで待機する。情報送信要求がなされた場合（Ｓ４１：ＹＥＳ）、ＣＰＵ１１は、図７に示した送信制限処理によって、このプログラムに対する情報送信が遮断中であるか否かを更に判定する（ステップＳ４２）。情報送信が遮断中である場合（Ｓ４２：ＹＥＳ）、ＣＰＵ１１は、処理を終了する。
【００７３】
情報送信が遮断中でない場合（Ｓ４２：ＮＯ）、ＣＰＵ１１は、情報送信要求を行ったプログラムのアクセス権限レベルを判定する（ステップＳ４３）。またＣＰＵ１１は、送信を要求された情報のアクセス許可レベルを、記憶部１７に記憶されたアクセス許可レベルテーブル１７ｄを基に判定する（ステップＳ４４）。次いでＣＰＵ１１は、ステップＳ４３にて判定したプログラムのアクセス権限レベルが、ステップＳ４４にて判定した情報のアクセス許可レベル以上であるか否かを判定する（ステップＳ４５）。アクセス権限レベルがアクセス許可レベル以上である場合（Ｓ４５：ＹＥＳ）、ＣＰＵ１１は、プログラムによる情報送信を許可し（ステップＳ４６）、車内通信部１６にて車内ネットワークへの情報送信を行う。またアクセス権限レベルがアクセス許可レベル未満である場合（Ｓ４５：ＮＯ）、ＣＰＵ１１は、プログラムによる情報送信を禁止し（ステップＳ４７）、ログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ４８）、処理を終了する。
【００７４】
なお、図５〜図８に示した処理は、追加又は更新等がなされるプログラムとは別の基本プログラム（例えばＯＳ（Operating System）又はＯＳＧｉフレームワーク等）をＣＰＵ１１が実行することにより実現される。ＣＰＵ１１は、基本プログラムと追加又は更新等がなされるプログラムとを並列的に実行する。ただし、追加又は更新等がなされるプログラムの１つが、図５〜図８に示した処理を行う構成であってもよい。
【００７５】
以上の構成の本実施の形態に係る通信システムは、車輌１に搭載されたＥＣＵ５０などと、端末装置３又はサーバ装置５等との間の通信を、セキュリティコントローラ１０を介して行う構成である。セキュリティコントローラ１０は、情報の送受信処理を伴う一又は複数のプログラムを実行すると共に、これらプログラムを追加又は更新等することができる。セキュリティコントローラ１０は、プログラムの実行に伴って発生する車内ネットワークの情報へのアクセスを、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて制限する処理を行う。このようなアクセス制限を行うことによって、信頼性の高いプログラムには車輌１に係る多くの情報を与えて高度なサービスを提供させることができる。また信頼性の低いプログラムに対しては与える情報を制限し、重要度が高い情報が外部へ漏洩することを防止できる。
【００７６】
またセキュリティコントローラ１０は、プログラムの実行に伴って車内ネットワークへ情報を送信する場合にも同様に、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて情報送信を制限する処理を行う。これにより、不正なプログラムによって車内ネットワークへ不正な情報送信が行われることを防止できる。
【００７７】
またセキュリティコントローラ１０は、位置情報取得部１３にて車輌１に係る位置情報を取得し、車輌１の位置が所定位置又は所定位置範囲内であるか否かに応じて、プログラムの追加又は更新の制限を行う。これにより、悪意の第三者によって不正なプログラムの追加又は更新等が行われることを防止できる。またセキュリティコントローラ１０は、アクセス権限レベルが高いプログラムについて、車輌１の位置に応じた追加又は更新の制限を行う。これにより、アクセス権限レベルが高いプログラムが不正に追加又は更新等されることを防止できると共に、アクセス権限レベルが低いプログラムは車輌１の位置に関係なく追加又は更新等を可能とし、ユーザの利便性を向上できる。
【００７８】
またセキュリティコントローラ１０は、プログラムの実行に伴う車内ネットワークへの情報送信量を監視し、情報送信量が所定量を超える場合に情報送信を遮断する。またセキュリティコントローラ１０は、アクセス権限レベルが高いプログラムは多くの情報を送信することを許可し、アクセス権限レベルが低いプログラムは送信を許可する情報量を低く抑える。これにより不正なプログラムが大量の情報を車内ネットワークへ送信することを防止できる。
【００７９】
またセキュリティコントローラ１０は、アクセス制限を行った際にログ情報１７ｅを生成して記憶部１７に記憶する。これにより例えば車輌１の修理又は点検等の際に、不正なプログラムが存在するか否か等を調査することができる。
【００８０】
なお本実施の形態においては、セキュリティコントローラ１０にゲートウェイ３０が接続され、ゲートウェイ３０に複数のＥＣＵ５０が接続される構成としたが、この車内ネットワークの構成は一例であって、これに限るものではない。例えばセキュリティコントローラ１０がゲートウェイの機能を兼ね備える構成とし、セキュリティコントローラ１０に複数のＥＣＵ５０を接続する構成としてもよい。また何れかのＥＣＵ５０がセキュリティコントローラ１０の機能を兼ね備える構成としてもよい。また車輌１に複数のセキュリティコントローラ１０を搭載してもよい。
【００８１】
またセキュリティコントローラ１０は、有線通信部１４及び無線通信部１５の両方を備える構成としたが、これに限るものではなく、有線通信部１４又は無線通信部１５の一方を備える構成であってもよい。またセキュリティコントローラ１０は、例えば車輌１が電気自動車であり、外部の給電装置から給電ケーブルを介した電力供給が可能な構成の場合、給電ケーブルを介した電力線通信などにより外部装置との通信を行う構成としてもよい。またセキュリティコントローラ１０は、メモリカード又は光ディスク等の記録媒体を装着可能な構成とし、記録媒体から追加又は更新するプログラムを取得する構成としてもよい。
【００８２】
（実施の形態２）
図９は、実施の形態２に係るセキュリティコントローラ２１０の構成を示すブロック図である。実施の形態２に係るセキュリティコントローラ２１０は、車輌情報取得部２１８を備えている。車輌情報取得部２１８は、車輌１に搭載された車速センサ２６１及びエンジン制御部２６２から情報を取得してＣＰＵ１１へ与える。車速センサ２６１は、車輌１の走行速度を検知し、検知結果を車輌情報取得部２１８へ出力する。エンジン制御部２６２は、車輌１のエンジンの動作を制御する装置であり、エンジンが動作中であるか又は停止中であるかを示す情報を車輌情報取得部２１８へ出力する。
【００８３】
車輌情報取得部２１８からの情報を与えられたＣＰＵ１１は、これらの情報に基づいて、車輌１が走行状態又は停止状態のいずれであるかを判定する。ＣＰＵ１１は、例えば車速センサ２６１が検知した車速が閾値を超えるか否かに応じて、車輌１が走行状態又は停止状態のいずれであるかを判定することができる。またＣＰＵ１１は、例えばエンジン制御部２６２からの情報に基づいて、エンジンが動作中又は停止中のいずれであるかに応じて、車輌１が走行状態又は停止状態のいずれであるかを判定することができる。本実施の形態において、ＣＰＵ１１は、車速が閾値以下であり、且つ、エンジンが停止中である場合に、車輌１が停止状態であると判定する。またＣＰＵ１１は、車速が閾値を超えるか、又は、エンジンが動作中である場合に、車輌１が走行状態であると判定する。
【００８４】
上述の実施の形態１に係るセキュリティコントローラ１０は、プログラムの追加及び更新等の処理を行う際に、アクセス権限レベル及び車輌１の位置に応じた制限を行った。実施の形態２に係るセキュリティコントローラ２１０は、同様の制限に加えて、車輌１の状態に応じた制限を更に行う。実施の形態２に係るセキュリティコントローラ２１０のＣＰＵ１１は、例えばアクセス権限レベルのレベル３のプログラムの追加又は更新について、車輌１の位置に応じた制限と、車輌１の状態に応じた制限とを行う。
【００８５】
セキュリティコントローラ２１０のＣＰＵ１１は、プログラムの追加又は更新の要求が与えられた場合、位置情報取得部１３にて取得した位置情報に係る車輌１の位置が、追加更新許可位置情報１７ｂに登録された何れかの位置に該当するか否かを判定する。車輌１の位置が登録された位置に該当しない場合、ＣＰＵ１１は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
【００８６】
またセキュリティコントローラ２１０のＣＰＵ１１は、プログラムの追加又は更新の要求が与えられた場合、車輌情報取得部２１８が取得した情報に基づいて、車輌１が停止状態であるか否かを判定する。車輌１が停止状態である場合、ＣＰＵ１１は、プログラムの追加又は更新の処理を許可し、この処理を行う。車輌１が停止状態でない、即ち走行状態である場合、ＣＰＵ１１は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
【００８７】
図１０は、実施の形態２に係るセキュリティコントローラ２１０が行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。なお本フローチャートにおいては、図５に示したフローチャートのステップＳ１〜Ｓ６に相当する処理を、ステップＳ５１の所定処理として簡略化して記載してある。実施の形態２に係るセキュリティコントローラ２１０は、図５のステップＳ１〜Ｓ６について、実施の形態１に係るセキュリティコントローラ１０と同様の処理を行っている。
【００８８】
実施の形態２に係るセキュリティコントローラ２１０のＣＰＵ１１は、端末装置３からプログラムの追加又は更新の要求を受け付けた場合、認証処理、サーバ装置５からプログラムを取得する処理、及び、取得したプログラムの配信元を確認してアクセス権限レベルを判定する処理等を、所定処理として行う（ステップＳ５１）。
【００８９】
その後、ＣＰＵ１１は、追加又は更新するプログラムのアクセス権限レベルがレベル３であるか否かを判定する（ステップＳ５２）。アクセス権限レベルがレベル３である場合（Ｓ５２：ＹＥＳ）、ＣＰＵ１１は、位置情報取得部１３にて位置情報を取得し（ステップＳ５３）、車輌１の位置が所定位置であるか否かを判定する（ステップＳ５４）。車輌１の位置が所定位置でない場合（Ｓ５４：ＮＯ）、ＣＰＵ１１は、プログラムの追加又は更新を行わず、ログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ５７）、処理を終了する。
【００９０】
車輌１の位置が所定位置である場合（Ｓ５４：ＹＥＳ）、ＣＰＵ１１は、車輌情報取得部２１８にて車速センサ２６１及びエンジン制御部２６２からの車輌情報を取得する（ステップＳ５５）。ＣＰＵ１１は、取得した車輌情報に基づいて、車輌１が停止状態であるか否かを判定する（ステップＳ５６）。車輌１が停止状態でない場合（Ｓ５６：ＮＯ）、ＣＰＵ１１は、プログラムの追加又は更新を行わず、ログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ５７）、処理を終了する。
【００９１】
またＣＰＵ１１は、プログラムのアクセス権限レベルがレベル３ではなくレベル２以下である場合（Ｓ５２：ＮＯ）、又は、車輌１が停止状態である場合（Ｓ５６：ＹＥＳ）、プログラムの追加又は更新を行い（ステップＳ５８）、ログ情報１７ｅを生成して記憶部１７に記憶し（ステップＳ５９）、処理を終了する。
【００９２】
以上の構成の実施の形態２に係るセキュリティコントローラ２１０は、車輌１が停止状態であるか否かに応じて、プログラムの追加又は更新を制限する。これにより、車輌１の走行中において、走行に影響を及ぼすようなプログラムの追加又は更新が行われることを防止できる。
【００９３】
なお本実施の形態においては、セキュリティコントローラ２１０は車輌１に関する情報として、車速センサ２６１が検知する車速、及び、エンジンの動作状態を取得する構成としたが、これに限るものではない。セキュリティコントローラ２１０は、車速又はエンジンの動作状態のいずれか一方のみを取得する構成としてもよい。またセキュリティコントローラ２１０は、車速又はエンジンの動作状態以外の情報を取得する構成としてもよい。セキュリティコントローラ２１０は、例えばエンジンの始動に係るＩＧ（イグニッション）スイッチの状態、シフトレバーの位置、又は、ブレーキの操作状態等の情報を取得する構成としてもよい。
【００９４】
またセキュリティコントローラ２１０は、取得した車輌情報に基づき、車輌１が停止状態であるか否かを判定してプログラムの追加又は更新を制限する構成としたが、これに限るものではない。セキュリティコントローラ２１０は、車輌１が停止状態であるか否か以外の条件に応じてプログラムの追加又は更新を制限する構成としてもよい。例えばセキュリティコントローラ２１０は、ＩＧスイッチがオフ状態であるか否かに応じてプログラムの追加又は更新を制限する構成とすることができる。また例えばセキュリティコントローラ２１０は、車輌１内に人が存在するか否かに応じてプログラムの追加又は更新を制限する構成とすることができる。
【００９５】
またセキュリティコントローラ２１０の車輌情報取得部２１８は、車速センサ２６１及びエンジン制御部２６２から直接的に情報を取得する構成としたが、これに限るものではない。例えば車輌情報取得部２１８は、車内ネットワークを介した通信により車速センサ２６１及びエンジン制御部２６２から情報を取得する構成であってもよい。
【００９６】
また実施の形態２に係る車載通信システムのその他の構成は、実施の形態１に係る車載通信システムの構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
【符号の説明】
【００９７】
１  車輌
３  端末装置（外部装置）
５  サーバ装置（外部装置）
１０  セキュリティコントローラ（アクセス制限装置）
１１  ＣＰＵ（処理部、プログラム追加更新手段、第１判定手段、第２判定手段、アクセス制限手段、位置情報取得手段、位置判定手段、プログラム追加更新制限手段、遮断手段、ログ情報生成手段、停車判定手段）
１２  ＲＡＭ
１３  位置情報取得部（位置情報取得手段）
１４  有線通信部（第２通信部）
１５  無線通信部（第２通信部）
１６  車内通信部（第１通信部）
１７  記憶部（アクセス権限レベル情報記憶部、ログ情報記憶部）
１７ａ  プログラム記憶部
１７ｂ  追加更新許可位置情報
１７ｃ  アクセス権限レベルテーブル（アクセス権限レベル情報）
１７ｄ  アクセス許可レベルテーブル
１７ｅ  ログ情報
３０  ゲートウェイ（車載機器）
５０  ＥＣＵ（車載機器）
２１０  セキュリティコントローラ（アクセス制限装置）
２１８  車輌情報取得部（車輌情報取得手段）
２６１  車速センサ
２６２  エンジン制御部
【図１】
2014168219.tif 000003
【図２】
2014168219.tif 000004
【図３】
2014168219.tif 000005
【図４】
2014168219.tif 000006
【図５】
2014168219.tif 000007
【図６】
2014168219.tif 000008
【図７】
2014168219.tif 000009
【図８】
2014168219.tif 000010
【図９】
2014168219.tif 000011
【図１０】
2014168219.tif 000012