(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022173922
(43)【公開日】2022-11-22
(54)【発明の名称】車載中継装置
(51)【国際特許分類】
H04L 12/46 20060101AFI20221115BHJP
G06F 21/51 20130101ALI20221115BHJP
【FI】
H04L12/46 100C
G06F21/51
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021079983
(22)【出願日】2021-05-10
(71)【出願人】
【識別番号】000002967
【氏名又は名称】ダイハツ工業株式会社
(74)【代理人】
【識別番号】100129643
【弁理士】
【氏名又は名称】皆川 祐一
(72)【発明者】
【氏名】斉藤 大起
(72)【発明者】
【氏名】岡村 建作
(72)【発明者】
【氏名】中西 雷太
(72)【発明者】
【氏名】中野 英茂
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA08
5K033BA06
5K033CB06
5K033DB18
(57)【要約】
【課題】セキュリティ対策の強化を図ることができる、車載中継装置を提供する。
【解決手段】ゲートウェイECU3には、第1CPU11および第2CPU12が備えられている。第1CPU11は、車両の内部の車載ネットワーク2から切り離されており、車両の外部との通信は、第1CPU11により行われる。一方、第2CPU12は、車両の外部から切り離して設けられ、車載ネットワーク2に通信可能に接続されている。そして、第1CPU11は、車載ネットワーク2に対する攻撃を検知する攻撃検知部21を有し、第2CPU12は、第1CPU11が攻撃を受けたか否かを判定する攻撃判定部31を有している。また、第2CPU12では、攻撃判定機能により第1CPU11が攻撃を受けたと判定された場合、第1CPU11との通信が切断される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両に搭載されて、前記車両の外部と内部の車載ネットワークとの間の通信を中継する車載中継装置であって、
前記車載ネットワークから切り離して設けられ、前記車両の外部と通信を行う第1装置と、
前記車両の外部から切り離して設けられ、前記第1装置に通信可能に接続されるとともに、前記車載ネットワークに通信可能に接続される第2装置と、を備え、
前記第1装置は、前記車載ネットワークに対する攻撃を検知する攻撃検知機能を有し、
前記第2装置は、前記第1装置が攻撃を受けたか否かを判定する攻撃判定機能を有し、前記攻撃判定機能により前記第1装置が攻撃を受けたと判定された場合には、所定の対応を行う、車載中継装置。
【請求項2】
記憶装置、をさらに備え、
前記記憶装置は、前記車載ネットワークで通信可能なメッセージに使用されるID(Identifier)が登録されたホワイトリストを記憶しており、
前記第1装置は、前記ホワイトリストに登録されたIDを使用していないメッセージを前記車両の外部から受信した場合、前記攻撃検知機能により当該メッセージの受信を攻撃として検知する、請求項1に記載の車載中継装置。
【請求項3】
記憶装置、をさらに備え、
前記第1装置は、前記攻撃検知機能により攻撃が検知されたことに応じて、当該攻撃に関する情報を前記記憶装置に記憶させ、前記車両の外部の情報管理機器からの要求に従って、前記記憶装置に記憶されている情報を出力する、請求項1または2に記載の車載中継装置。
【請求項4】
記憶装置、をさらに備え、
前記記憶装置は、ソフトウェアを記憶しており、
前記第1装置は、起動時に前記ソフトウェアの改ざんを検知する改ざん検知機能を有し、前記改ざん検知機能により改ざんが検知されなければ、前記ソフトウェアを起動し、前記改ざん検知機能により前記ソフトウェアの改ざんが検知された場合には、前記ソフトウェアを起動せずに動作を停止し、
前記第2装置は、前記第1装置からのメッセージ送信が一定時間行われない場合、前記第1装置との通信を切断する、請求項1~3のいずれか一項に記載の車載中継装置。
【請求項5】
前記第2装置は、前記攻撃判定手段により前記第1装置が攻撃を受けたと判定された場合、前記車両に搭載されているデータ通信装置から前記車両の外部のサーバに前記第1装置が攻撃を受けたことの情報がアップロードされるように、前記電子制御ユニット経由で前記データ通信装置に、前記第1装置が攻撃を受けたことを通知する、請求項1~4のいずれか一項に記載の車載中継装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載されて、車両の外部と内部の車載ネットワークとの通信を中継する装置に関する。
【背景技術】
【0002】
最近の車両には、車両の外部と内部のCAN(Controller Area Network)などの車載ネットワークとの間で通信を行うコネクテッド機能が搭載されてきている。
【0003】
コネクテッド機能を搭載した車両は、外部から車載ネットワークへの攻撃の対象となる可能性がある。車載ネットワークには、複数のECU(Electronic Control Unit:電子制御ユニット)が接続されており、各ECUにより、エンジンおよびブレーキなどの各部の制御が行われる。そのため、車載ネットワークが外部から攻撃を受けて、ECUのソフトウェアや制御データが改ざんされると、車両の各部が誤動作するおそれがある。
【0004】
そこで、かかる車両では、車両の外部と車載ネットワークとの通信を中継するゲートウェイECU(Electronic Control Unit:電子制御ユニット)が設けられ、ゲートウェイECUに、外部からの攻撃を検出して、車載ネットワークを防御する機能が盛り込まれている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところが、自動運転技術などの発展に伴い、車載ネットワークへの攻撃が深刻な問題となっており、セキュリティ対策の強化が重要な課題となっている。
【0007】
本発明の目的は、セキュリティ対策の強化を図ることができる、車載中継装置を提供することである。
【課題を解決するための手段】
【0008】
前記の目的を達成するため、本発明に係る車載中継装置は、車両に搭載されて、車両の外部と内部の車載ネットワークとの間の通信を中継する車載中継装置であって、車載ネットワークから切り離して設けられ、車両の外部と通信を行う第1装置と、車両の外部から切り離して設けられ、第1装置に通信可能に接続されるとともに、車載ネットワークに通信可能に接続される第2装置とを備え、第1装置は、車載ネットワークに対する攻撃を検知する攻撃検知機能を有し、第2装置は、第1装置が攻撃を受けたか否かを判定する攻撃判定機能を有し、攻撃判定機能により第1装置が攻撃を受けたと判定された場合には、所定の対応を行う。
【0009】
この構成によれば、車載中継装置には、第1装置および第2装置が備えられている。第1装置は、車両の内部の車載ネットワークから切り離されており、車両の外部との通信は、第1装置により行われる。一方、第2装置は、車両の外部から切り離して設けられ、車載ネットワークに通信可能に接続されている。そして、第1装置は、車載ネットワークに対する攻撃を検知する攻撃検知機能を有し、第2装置は、第1装置が攻撃を受けたか否かを判定する攻撃判定機能を有している。また、第2装置では、攻撃判定機能により第1装置が攻撃を受けたと判定された場合、所定の対応が行われる。
【0010】
これにより、車両の外部からの車載ネットワークへの攻撃の対策として、第1装置の攻撃検知機能を第1層の防御層とし、第2装置の攻撃判定機能を第2層の防御層とする多層防御が構築される。この多層防御の構築により、セキュリティ対策の強化を図ることができる。
【0011】
所定の対応は、たとえば、第1装置から受信したメッセージを破棄するという対応であってもよい。
【0012】
これにより、外部からの攻撃を受けた第1装置が不正メッセージを第2装置に向けて送信しても、その不正メッセージが破棄されるので、車載ネットワークが不正メッセージによる攻撃を受けることを防止でき、車載ネットワークによる通信を継続できる。
【0013】
車載中継装置は、記憶装置をさらに備え、記憶装置は、車載ネットワークで通信可能なメッセージに使用されるID(Identifier)が登録されたホワイトリストを記憶しており、第1装置は、ホワイトリストに登録されたIDを使用していないメッセージを車両の外部から受信した場合、攻撃検知機能により当該メッセージの受信を攻撃として検知してもよい。
【0014】
車載中継装置は、記憶装置をさらに備え、第1装置は、攻撃検知機能により攻撃が検知されたことに応じて、当該攻撃に関する情報を記憶装置に記憶させ、車両の外部の情報管理機器からの要求に従って、記憶装置に記憶されている情報を出力してもよい。
【0015】
これにより、第1装置が外部からの攻撃を受けた場合に、その攻撃に関する情報を車両の外部の情報管理機器に読み出すことができる。そのため、情報管理機器に読み出した情報を解析して、第1装置が受けた攻撃の内容を早期に特定でき、攻撃への対策を早期に講じることができる。
【0016】
車載中継装置は、記憶装置をさらに備え、記憶装置は、ソフトウェアを記憶しており、第1装置は、起動時にソフトウェアの改ざんを検知する改ざん検知機能を有し、改ざん検知機能により改ざんが検知されなければ、ソフトウェアを起動し、改ざん検知機能によりソフトウェアの改ざんが検知された場合には、ソフトウェアを起動せずに動作を停止することが好ましい。
【0017】
これにより、改ざんされたソフトウェアの起動を防止できる。そのため、改ざんされたソフトウェアが実行されることによる第2装置への不正メッセージの送信などを防止できる。
【0018】
ソフトウェアの改ざんが検知されて、第1動作が動作を停止した場合、第1装置から第2装置へのメッセージ送信が行われないので、メッセージ送信が一定時間行われない場合には、第1装置と第2装置との通信が切断されてもよい。
【0019】
これにより、第1装置のソフトウェアが改ざんされていても、第2装置が第1装置から不正メッセージを受信しないので、車載ネットワークが不正メッセージによる攻撃を受けることを防止できる。
【0020】
第2装置は、攻撃判定手段により第1装置が攻撃を受けたと判定された場合、車両に搭載されているデータ通信装置から車両の外部のサーバに第1装置が攻撃を受けたことの情報がアップロードされるように、電子制御ユニット経由でデータ通信装置に、第1装置が攻撃を受けたことを通知してもよい。
【0021】
これにより、サーバ管理者またはサーバ経由で情報を入手しうるユーザが第1装置の受攻撃を認知することができる。
【発明の効果】
【0022】
本発明によれば、車載ネットワークの攻撃に対して、セキュリティ対策の強化を図ることができる。
【図面の簡単な説明】
【0023】
【
図1】本発明の一実施形態に係る車載中継装置(ゲートウェイECU)を含む車載通信システム1の構成を示す図である。
【
図2】第1CPUにより起動時に行われる処理の流れを示すフローチャートである。
【
図3】第1CPUによりメッセージ受信時に行われる処理の流れを示すフローチャートである。
【
図4】第1CPUによりスキャンツールの接続時に行われる処理の流れを示すフローチャートである。
【
図5】第2CPUにより起動後に行われる処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0024】
以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
【0025】
<車載通信システム>
図1は、本発明の一実施形態に係るゲートウェイECU3を含む車載通信システム1の構成を示す図である。
【0026】
車載通信システム1は、自動車などの車両に搭載されて、車両の外部と内部の車載ネットワーク2との間で通信を可能にするコネクテッド機能のためのシステムである。車載通信システム1には、車載ネットワーク2、ゲートウェイECU(Electronic Control Unit:電子制御ユニット)3、TCU(Telematics Communication Unit)4およびDLC(Data Link Connector)5が含まれる。
【0027】
車載ネットワーク2は、たとえば、CAN(Controller Area Network)通信プロトコルによる通信が可能なネットワークである。車載ネットワーク2には、複数のバス(伝送線路)6が設けられており、各バス6には、車両の各部を制御するための複数のECU7が接続されている。ECU7には、車両のイグニッションスイッチがオフの状態でも動作可能なボデーECU7A、車両のコンビネーションメータに配設された機器(たとえば、マルチインフォメーションディスプレイなど)を制御するメータECU7Bなどが含まれる。
【0028】
ゲートウェイECU3には、TCU4、OBD5および各バス6が接続されている。ゲートウェイECU3は、車載ネットワーク2とTCU4との間および車載ネットワーク2とOBD5との間でメッセージを中継する機能と、車載ネットワーク2の各バス6間でメッセージを中継する機能とを有している。また、ゲートウェイECU3は、外部からの車載ネットワーク2に対する攻撃を検知して、その攻撃から車載ネットワーク2を防御するセキュリティ機能を有している。
【0029】
TCU4は、車両に搭載されるデータ通信機であり、車両のユーザに種々の情報やサービスを提供するために、移動体無線データ通信などを利用して、サービスセンタのサーバ8とデータ通信を行う。ユーザに提供されるサービスには、たとえば、乗車前にエアコンディショナを作動させるなど、車両を遠隔操作するリモートサービスが含まれる。なお、本実施の形態では、データ通信機としてTCU4を用いているが、これに代えて、スマートフォンなどの携帯端末を用いてもよい。
【0030】
DLC5は、OBD(On-Board Diagnostics:オン・ボード・ダイアグノーシス)による故障コードなどの読み出しのために、スキャンツール9が接続されるコネクタである。
【0031】
<ゲートウェイECU>
ゲートウェイECU3には、第1CPU(Central Processing Unit)11および第2CPU12が備えられている。第1CPU11には、TCU4およびDLC5が接続され、車載ネットワーク2から切り離して設けられている。第2CPU12は、TCU4およびDLC5から切り離され、車載ネットワーク2に通信可能に接続されている。また、第1CPU11と第2CPU12とは、通信線Xにより通信可能に接続されている。
【0032】
第1CPU11および第2CPU12には、それぞれセキュアメモリ13,14が内蔵されている。セキュアメモリ13,14は、たとえば、フラッシュメモリやE2PROMなどのデータの書き換えが可能な不揮発性メモリからなる。また、ゲートウェイECU3には、HSM(Hardware Security Module)が備えられており、セキュアメモリ13,14に記憶されているプログラムコードやパラメータデータなどのデータは、HSMの機能によるセキュア認証を経て書き換えることができる。
【0033】
<第1CPU>
第1CPU11は、外部からの攻撃に対するセキュリティ機能のための機能処理部として、攻撃検知部21、転送判定部22、攻撃情報管理部23およびソフトウェア起動部24を実質的に備えている。これらの機能処理部は、プログラム処理によってソフトウエア的に実現されるか、または、論理回路などのハードウェアにより実現される。
【0034】
攻撃検知部21は、ファイアウォールとしての機能を有している。すなわち、攻撃検知部21は、車両の外部からの車載ネットワーク2に対する攻撃を検知する攻撃検知機能と、その攻撃から車載ネットワーク2およびゲートウェイECU3を保護する保護機能とを有している。
【0035】
セキュアメモリ13には、車載ネットワーク2で通信可能なメッセージに使用されるID(Identifier)を登録したホワイトリストが記憶されている。攻撃検知部21は、外部からTCU4またはOBD5経由で第1CPU11がメッセージを受信すると、ホワイトリストに登録されているID(以下、「登録ID」という。)がメッセージに使用されているか否かを調べる。そして、攻撃検知部21は、登録IDがメッセージに使用されている場合、そのメッセージが正規のメッセージであると判断する。この場合、攻撃検知部21から転送判定部22にメッセージが送信される。
【0036】
一方、攻撃検知部21は、登録IDがメッセージに使用されていない場合には、そのメッセージの受信を外部からの車載ネットワーク2に対する攻撃として検知する。攻撃検知部21は、外部からの攻撃を検知した場合、その登録IDが使用されていないメッセージを不正メッセージとして破棄し、外部からの車載ネットワーク2に対する攻撃を受けたことを転送判定部22に通知する。
【0037】
転送判定部22は、攻撃検知部21からメッセージを受信した場合、そのメッセージを第2CPU12に転送(中継)する。一方、転送判定部22は、攻撃検知部21から攻撃を受けたことの通知(以下、「受攻撃の通知」という。)を受信した場合、その通知を第2CPU12に転送する。
【0038】
また、攻撃検知部21により外部からの車載ネットワーク2に対する攻撃が検知された場合、攻撃検知部21から攻撃情報管理部23に、攻撃の内容(たとえば、メッセージの送信先の情報など)と攻撃を受けた日時とを含む攻撃情報が送信される。攻撃情報管理部23は、攻撃検知部21から攻撃情報を受信した場合、その攻撃情報をセキュアメモリ13に記憶させる。そして、TCU4がサーバ8から攻撃情報の送信の要求を受信した場合、攻撃情報管理部23は、要求に従い、セキュアメモリ13から攻撃情報を読み出して、その読み出した攻撃情報をTCU4経由でサーバ8に送信する。また、DLC5に接続されたスキャンツール9から第1CPU11に攻撃情報の出力の要求が入力された場合、攻撃情報管理部23は、要求に従い、セキュアメモリ13から攻撃情報を読み出して、その読み出した攻撃情報をスキャンツール9に出力する。
【0039】
ソフトウェア起動部24は、車両のイグニッションスイッチがオンにされたこと、または、車両の各ECUがドミナントウェイクアップしたことを検出し、セキュアメモリ13に記憶されているソフトウェアを起動させる。ソフトウェア起動部24は、ソフトウェア改ざん検知機能を有しており、ソフトウェアの起動時に、ソフトウェアの改ざんを検知するため、ソフトウェアに付与されているデジタル署名とセキュアメモリ13に格納されている署名情報(ハッシュ値やサム値など)との整合を確認する。その確認の結果、ソフトウェアの改ざんが検知されなければ、ソフトウェア起動部24は、そのソフトウェアを起動する。ソフトウェアの改ざんが検知された場合、ソフトウェア起動部24は、そのソフトウェアを起動しない。ソフトウェアの改ざんが検知された場合、第1CPU11は、動作を停止する。
【0040】
<第2CPU>
第2CPU12は、車載ネットワーク2への攻撃に対するセキュリティ機能のための機能処理部として、攻撃判定部31、転送判定部32、攻撃通知部33およびソフトウェア起動部34を実質的に備えている。これらの機能処理部は、プログラム処理によってソフトウエア的に実現されるか、または、論理回路などのハードウェアにより実現される。
【0041】
攻撃判定部31は、車両の外部からの車載ネットワーク2に対する攻撃を第1CPU11が受けたか否かを判定する。
【0042】
具体的には、攻撃判定部31は、第1CPU11から受攻撃の通知を受信した場合、第1CPU11が外部から攻撃を受けたと判定する。そして、攻撃判定部31は、第1CPU11との通信を切断(遮断)し、第1CPU11が外部からの攻撃を受けたことを攻撃通知部33に通知する。
【0043】
また、セキュアメモリ14には、セキュアメモリ13に記憶されているホワイトリストと同一のホワイトリストが記憶されている。攻撃判定部31は、第1CPU11からメッセージ(第1CPU11により中継されるメッセージ)を受信すると、そのメッセージに登録IDが使用されているか否かを調べる。そして、攻撃判定部31は、登録IDがメッセージに使用されている場合、そのメッセージが正規のメッセージであると判断する。この場合、攻撃判定部31から転送判定部32にメッセージが転送される。一方、登録IDがメッセージに使用されていない場合には、攻撃判定部31は、第1CPU11が外部から攻撃を受けたと判定し、そのメッセージを不正メッセージとして破棄する。そして、攻撃判定部31は、第1CPU11との通信を切断し、第1CPU11が外部からの攻撃を受けたことを攻撃通知部33に通知する。
【0044】
さらに、第1CPU11が起動時にソフトウェアの改ざんを検知した場合、第1CPU11の動作が停止し、第1CPU11から第2CPU12にメッセージが送信されない状態が続く。攻撃判定部31は、第1CPU11からメッセージを受信しない状態が一定時間続くと、第1CPU11が外部から攻撃を受けたと判定してもよい。そして、攻撃判定部31は、第1CPU11との通信を切断し、第1CPU11が外部からの攻撃を受けたことを攻撃通知部33に通知してもよい。
【0045】
転送判定部32は、攻撃判定部31からメッセージを受信した場合、そのメッセージを車載ネットワーク2に転送(中継)する。メッセージは、メッセージに含まれるIDに応じた送信先のECU7が受信する。
【0046】
また、攻撃判定部31から攻撃通知部33に第1CPU11の受攻撃が通知された場合、攻撃通知部33は、TCU4と通信線Yにより通信可能に接続されたボデーECU7A経由にて、第1CPU11が外部から攻撃を受けたことをTCU4に通知する。TCU4は、その通知を受けて、第1CPU11(第1CPU11を含むゲートウェイECU3を搭載した車両)が外部から車載ネットワーク2に対する攻撃を受けたことの情報をサーバ8にアップロードする。
【0047】
ソフトウェア起動部34は、車両のイグニッションスイッチがオンにされたこと、または、車両の各ECUがドミナントウェイクアップしたことを検出し、セキュアメモリ14に記憶されているソフトウェアを起動させる。ソフトウェア起動部34は、ソフトウェア改ざん検知機能を有しており、ソフトウェアの起動時に、ソフトウェアの改ざんを検知するため、ソフトウェアに付与されているデジタル署名とセキュアメモリ33に格納されている署名情報(ハッシュ値やサム値など)との整合を確認する。その確認の結果、ソフトウェアの改ざんが検知されなければ、ソフトウェア起動部34は、そのソフトウェアを起動する。ソフトウェアの改ざんが検知された場合、ソフトウェア起動部34は、そのソフトウェアを起動しない。ソフトウェアの改ざんが検知された場合、第2CPU12は、動作を停止する。
【0048】
<フローチャート>
外部からの攻撃に対するセキュリティ機能による第1CPU11および第2CPU12の処理動作は、前述したとおりであるが、以下では、その処理動作を時系列に沿って説明する。
【0049】
図2は、第1CPU11により起動時に行われる処理の流れを示すフローチャートである。
【0050】
第1CPU11の起動時には、第1CPU11により、
図2に示される処理が行われる。
【0051】
図2に示される処理では、ソフトウェア改ざん検知機能により、セキュアメモリ13に記憶されているソフトウェアが改ざんされていないかがチェックされる(ステップS11)。
【0052】
ソフトウェアが改ざんされていない場合(ステップS12のNO)、そのソフトウェアが起動される(ステップS13)。ソフトウェアが改ざんされている場合、そのソフトウェアは起動されず、第1CPU11の動作が停止される(ステップS14)。
【0053】
図3は、第1CPU11によりメッセージ受信時に行われる処理の流れを示すフローチャートである。
【0054】
第1CPU11が外部からTCU4またはDLC5経由でメッセージを受信すると、第1CPU11により、
図3に示される処理が行われる。
【0055】
図3に示される処理では、第1CPU11が受信したメッセージ(受信メッセージ)に登録IDが使用されているか否かが判断される。登録IDが受信メッセージに使用されている場合、その受信メッセージは、正規のメッセージである。一方、登録IDが受信メッセージに使用されていない場合、その受信メッセージは、不正メッセージである。
【0056】
受信メッセージが正規のメッセージである場合(ステップS21のNO)、その正規のメッセージが第1CPU11から第2CPU12に転送される(ステップS22)。
【0057】
受信メッセージが不正メッセージである場合(ステップS21のYES)、その不正メッセージが破棄される(ステップS23)。また、第1CPU11が外部から車載ネットワーク2に対する攻撃を受けたことが第2CPU12に通知される(ステップS24)。さらに、攻撃の内容と攻撃を受けた日時とを含む攻撃情報がセキュアメモリ13に記憶される(ステップS25)。
【0058】
図4は、第1CPU11によりスキャンツール9の接続時に行われる処理の流れを示すフローチャートである。
【0059】
スキャンツール9がDLC5に接続されている間、第1CPU11により、
図4に示される処理が繰り返し行われる。
【0060】
図4に示される処理では、スキャンツール9からDLC5経由で、攻撃情報の出力の要求が入力されたか否かが判断される(ステップS31)。
【0061】
攻撃情報の出力の要求が入力されていない場合(ステップS31のNO)、
図4に示される処理が一旦終了されて、所定のタイミングが到来すると、
図4に示される処理が再び開始される。
【0062】
スキャンツール9から攻撃情報の出力の要求が出されて、その要求が第1CPU11に入力されると(ステップS31のYES)、要求に従い、セキュアメモリ13から攻撃情報が読み出されて、その読み出された攻撃情報がDLC5経由でスキャンツール9に出力される(ステップS32)。
【0063】
図5は、第2CPU12により起動後に行われる処理の流れを示すフローチャートである。
【0064】
第2CPU12の起動後、第2CPU12により、
図5に示される処理が繰り返し行われる。
【0065】
図5に示される処理では、第1CPU11と第2CPU12との通信が切断されているか否かが判断される(ステップS41)。第1CPU11と第2CPU12との通信が切断されている状況では(ステップS41のYES)、
図5に示される処理が一旦終了されて、所定のタイミングが到来すると、
図5に示される処理が再び開始される。
【0066】
第1CPU11と第2CPU12との通信が切断されていない場合(ステップS41のNO)、第1CPU11から受攻撃の通知を受信したか否かが判断される(ステップS42)。
【0067】
第2CPU12が第1CPU11から受攻撃の通知を受信している場合(ステップS42のYES)、第1CPU11が外部から攻撃を受けたと判定されて、第1CPU11との通信が切断される(ステップS43)。第1CPU11が外部から攻撃を受けたことは、第2CPU12からボデーECU7A経由でTCU4に通知されてもよい(ステップS44)。
【0068】
一方、第2CPU12が第1CPU11から受攻撃の通知を受信していない場合(ステップS42のNO)、第2CPU12が第1CPU11からメッセージ(第1CPU11により中継されるメッセージ)を受信したか否かが判断される(ステップS45)。
【0069】
第1CPU11からメッセージを受信した場合(ステップS45のYES)、その受信したメッセージに登録IDが使用されているか否かが判断される。登録IDが受信メッセージに使用されている場合、その受信メッセージは、正規のメッセージである。一方、登録IDが受信メッセージに使用されていない場合、その受信メッセージは、不正メッセージである。
【0070】
受信メッセージが正規のメッセージである場合(ステップS46のNO)、その正規のメッセージが第2CPU12から車載ネットワーク2に転送される(ステップS47)。
【0071】
受信メッセージが不正メッセージである場合(ステップS46のYES)、第1CPU11が外部から攻撃を受けたと判定されて、第1CPU11との通信が切断される(ステップS43)。そして、第1CPU11が外部から攻撃を受けたことは、第2CPU12からボデーECU7A経由でTCU4に通知されてもよい(ステップS44)。
【0072】
第2CPU12が第1CPU11からメッセージを受信していないときには(ステップS45のNO)、
図5に示される処理が終了される。
【0073】
<作用効果>
以上のように、ゲートウェイECU3には、第1CPU11および第2CPU12が備えられている。第1CPU11は、車両の内部の車載ネットワーク2から切り離されており、車両の外部との通信は、第1CPU11により行われる。一方、第2CPU12は、車両の外部から切り離して設けられ、車載ネットワーク2に通信可能に接続されている。そして、第1CPU11は、車載ネットワーク2に対する攻撃を検知する攻撃検知機能(攻撃検知部21)を有し、第2CPU12は、第1CPU11が攻撃を受けたか否かを判定する攻撃判定機能(攻撃判定部31)を有している。また、第2CPU12では、攻撃判定機能により第1CPU11が攻撃を受けたと判定された場合、第1CPU11との通信が切断されるとともに、第1CPU11が外部から攻撃を受けたことがボデーECU7A経由でTCU4に通知される。
【0074】
これにより、車両の外部からの車載ネットワーク2への攻撃の対策として、第1CPU11の攻撃検知機能を第1層の防御層とし、第2CPU12の攻撃判定機能および第2CPU12による第1CPU11との通信を第2層の防御層とする多層防御が構築される。この多層防御の構築により、セキュリティ対策の強化を図ることができる。
【0075】
また、第2CPU12が第1CPU11から不正メッセージを受信した場合、その不正メッセージが破棄される。これにより、外部からの攻撃を受けた第1CPU11が不正メッセージを第2CPU12に向けて送信しても、その不正メッセージが破棄されるので、車載ネットワーク2が不正メッセージによる攻撃を受けることを防止でき、車載ネットワーク2による通信を継続できる。
【0076】
第1CPU11は、攻撃検知機能により攻撃が検知されたことに応じて、当該攻撃に関する攻撃情報をセキュアメモリ13に記憶させ、車両の外部のサーバ8またはスキャンツール9からの要求に従って、セキュアメモリ13に記憶されている攻撃情報を出力する。これにより、第1CPU11が外部からの攻撃を受けた場合に、その攻撃に関する情報を車両の外部のサーバ8およびスキャンツール9に読み出すことができる。そのため、サーバ8またはスキャンツール9に読み出した情報を解析して、第1CPU11が受けた攻撃の内容を早期に特定でき、攻撃への対策を早期に講じることができる。
【0077】
また、第1CPU11は、起動時にソフトウェアの改ざんを検知する改ざん検知機能を有し、起動時にソフトウェアの改ざんが検知されなければ、そのソフトウェアを起動し、起動時にソフトウェアの改ざんが検知された場合には、そのソフトウェアを起動せずに動作を停止する。これにより、改ざんされたソフトウェアの起動を防止できる。そのため、改ざんされたソフトウェアが実行されることによる第2CPU12への不正メッセージの送信などを防止できる。
【0078】
ソフトウェアの改ざんが検知されて、第1動作が動作を停止した場合、第1CPU11から第2CPU12へのメッセージ送信が行われないので、メッセージ送信が一定時間行われない場合には、第2CPU12により、第1CPU11が外部から攻撃を受けたと判定されて、第1CPU11と第2CPU12との通信が切断される。これにより、第1CPU11のソフトウェアが改ざんされていても、第2CPU12が第1CPU11から不正メッセージを受信しないので、車載ネットワーク2が不正メッセージによる攻撃を受けることを防止できる。
【0079】
第2CPU12により第1CPU11が攻撃を受けたと判定された場合、車両に搭載されているTCU4から車両の外部のサーバ8に第1CPU11が攻撃を受けたことの情報がアップロードされるように、第1CPU11が外部から攻撃を受けたことは、第2CPU12からボデーECU7A経由でTCU4に通知されてもよい。これにより、サーバ管理者またはサーバ経由で情報を入手しうるユーザが第1CPU11の受攻撃を認知することができる。
【0080】
<変形例>
以上、本発明の一実施形態について説明したが、本発明は、他の形態で実施することもできる。
【0081】
たとえば、第2CPU12は、図示されていないが、第1CPU11と同様に、車両のイグニッションスイッチがオンにされたことに応じて、セキュアメモリ14に記憶されているソフトウェアを起動させるソフトウェア起動部を実質的に備えている。第2CPU12のソフトウェア起動部もまた、第1CPU11のソフトウェア起動部24と同様に、セキュアブート機能を有していてもよい。そして、ソフトウェアの改ざんが検知された場合、そのソフトウェアが起動されないことが好ましい。これにより、改ざんされたソフトウェアが実行されることによる車載ネットワーク2への不正メッセージの送信などを防止できる。
【0082】
また、第1CPU11が車載ネットワーク2に対する攻撃を受けたことの情報がTCU4からサーバ8にアップロードされたことに応じて、車両を遠隔操作するリモートサービスが停止されてもよい。これにより、車載ネットワーク2の攻撃による車両の誤動作を防止することができる。また、第1CPU11には、TCU4やDLC5の他にも、コクピットECUとの専用通信線や急速充電用の専用通信線が接続されてもよい。この場合、TCU4やDLC5と同様に、それらの専用通信線から攻撃検知部21に並列に情報が入力される。
【0083】
その他、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0084】
2:車載ネットワーク
3:ゲートウェイECU(車載中継装置)
4:TCU(データ通信装置)
7A:ボデーECU(電子制御ユニット)
8:サーバ(情報管理機器)
9:スキャンツール(情報管理機器)
11:第1CPU(第1装置)
12:第2CPU(第2装置)
13:セキュアメモリ(記憶装置)