JP7067508B2 - ネットワークシステム - Google Patents

ネットワークシステム Download PDF

Info

Publication number
JP7067508B2
JP7067508B2 JP2019030738A JP2019030738A JP7067508B2 JP 7067508 B2 JP7067508 B2 JP 7067508B2 JP 2019030738 A JP2019030738 A JP 2019030738A JP 2019030738 A JP2019030738 A JP 2019030738A JP 7067508 B2 JP7067508 B2 JP 7067508B2
Authority
JP
Japan
Prior art keywords
data
ecu
network
authentication
alternative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019030738A
Other languages
English (en)
Other versions
JP2020137009A (ja
Inventor
恵介 夏目
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2019030738A priority Critical patent/JP7067508B2/ja
Publication of JP2020137009A publication Critical patent/JP2020137009A/ja
Application granted granted Critical
Publication of JP7067508B2 publication Critical patent/JP7067508B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本開示は、ネットワークシステムに関する。
セキュリティ処理CPUが故障した場合でも、セキュリティ処理CPUに代わって、汎用処理CPUが、データの暗号化、復号、認証等を実行するように構成された情報処理装置が提案されている(例えば、特許文献1参照。)。
特開2015-119357号公報
しかし、上記特許文献1に記載の情報処理装置では、暗号ハードウェアにおいてセキュリティ処理CPU以外の箇所が故障した場合には、データの認証等を実行できなくなるおそれがある。一例を挙げれば、例えば上記特許文献1に記載の情報処理装置において、セキュア記憶装置が故障した場合には、汎用処理CPUからセキュア記憶装置へのアクセスでエラーが発生し、汎用処理CPUではデータの認証等を実行できなくなるおそれがある。
本開示の一局面においては、データの認証に失敗した際に上記従来技術とは別の手法でデータの認証を実行可能なネットワークシステムを提供することが望ましい。
本開示の一態様は、ネットワークシステムである。当該ネットワークシステムは、複数の電子装置(2A,2B,2C,2D)を含む。複数の電子装置は、第1ネットワーク(1A)のノードとして機能し、かつ、第1ネットワークとは独立に構築される第2ネットワーク(1B)のノードとしても機能するように構成される。複数の電子装置は、第1ネットワーク及び第2ネットワークの外部にある外部機器とは、第1ネットワーク経由で通信可能に構成される。
以下、複数の電子装置のうちのいずれか1つを自装置(2B)、当該自装置以外の2つ以上の電子装置それぞれを他装置(2A,2C,2D)とする。自装置は、伝送対象となるデータである通常データと当該通常データに基づいて生成されたメッセージ認証コードとが含まれる処理対象データを第1ネットワーク経由で受信した際に(S110)、処理対象データに対してメッセージ認証を実行する(S120)。自装置は、認証に成功した場合には、処理対象データに含まれる通常データを、以降の処理又は制御で利用する(S140)。
また、自装置は、認証に失敗した場合には、他装置において処理対象データに対してメッセージ認証を実行した際に認証に成功したか否かを示す認証結果データと他装置において処理対象データから取り出された通常データとが含まれる代替データを2つ以上の他装置それぞれから取得する(S410-S420)。当該2つ以上の他装置それぞれから取得した代替データのうちの少なくとも1つの代替データに含まれる認証結果データが認証に成功したことを示している場合には(S430)、当該代替データに含まれる通常データを、以降の処理又は制御で利用する(S460)。
このように構成されたネットワークシステムによれば、自装置は、自装置において処理対象データの認証に失敗しても、2つ以上の他装置それぞれから代替データを取得する。これら2以上の代替データのうち、少なくとも1つの代替データに含まれる認証結果データが認証に成功したことを示していれば、自装置は、代替データに含まれる通常データを、以降の処理又は制御で利用する。したがって、例えば、自装置でメッセージ認証を実行するために必要となるハードウェア又はソフトウェアに故障等の問題が生じていたとしても、自装置は他装置で認証済みの通常データを利用でき、以降の処理又は制御を継続できる可能性を高めることができる。
ネットワークシステムを示す説明図である。 ECUを示す説明図である。 ネットワークにおいて伝送されるデータの構造を示す説明図である。 自装置に相当するECUがグローバルバスからデータを受信した際に実行する処理のフローチャートである。 メッセージ認証処理のフローチャートである。 他装置に相当するECUがローカルバスからデータを受信した際に実行する処理のフローチャートである。 自装置に相当するECUがローカルバスからデータを受信した際に実行する処理のフローチャートである。 故障箇所判断処理のフローチャートである。
次に、上述のネットワークシステムについて、例示的な実施形態を挙げて説明する。
[ネットワークシステムの構成]
図1に示すネットワークシステム1は、例えば自動車に搭載される車載ネットワークシステムである。ネットワークシステム1は、複数のECU2A,2B,2C,2D,3A,3B,3C,3D,3E,3F,3G,3H、CGW4、複数のグローバルバス5A,5B,5C及びローカルバス6等を有する。ECUは「Electronic Control Unit」の略称である。CGWは「Central Gateway」の略称である。
ECU3A,3B,2A,2Bは、グローバルバス5Aに接続されている。ECU2C,2D,3C,3Dは、グローバルバス5Bに接続されている。ECU3E,3F,3G,3Hは、グローバルバス5Cに接続されている。各グローバルバス5A-5Cには、例えば、機能的に同系統に分類されるECUが接続されている。一例を挙げれば、例えば、グローバルバス5Aにはボデー系ECUが接続される。グローバルバス5Bには制御系ECUが接続される。グローバルバス5Cには情報系ECUが接続される。
グローバルバス5A-5Cは、CGW4を介して相互に接続されている。これらの構成により、ECU2A-2D,ECU3A-3H、CGW4及びグローバルバス5A-5Cは、第1ネットワーク1Aを構成している。ECU2A-2Dは、ローカルバス6に接続されている。これにより、ECU2A-2D及びローカルバス6は、第2ネットワーク1Bを構成している。すなわち、ECU2A-2Dは、第1ネットワーク1Aのノードとして機能するように構成され、かつ、第2ネットワーク1Bのノードとしても機能するように構成されている。このように構成されたECU2A-2Dが、本開示でいう電子装置に対応する。
第1ネットワーク1A及び第2ネットワーク1Bでは、各ネットワークを構成するノードに対してブロードキャスト通信によってデータが伝送される。ただし、第1ネットワーク1Aと第2ネットワーク1Bは、互いに独立したネットワークである。そのため、例えば、第1ネットワーク1Aにおいてデータが伝送された場合でも、そのデータが第2ネットワーク1Bへと伝送されることはない。同様に、第2ネットワーク1Bにおいてデータが伝送された場合でも、そのデータが第1ネットワーク1Aへと伝送されることはない。
CGW4は、グローバルバス5A-5Cの間に介在して、いずれか1つのグローバルバスから残りのグローバルバスへデータを中継する。また、CGW4は、外部通信路7に接続可能に構成され、外部通信路7とグローバルバス5A-5Cとの間でデータを中継する。これにより、ECU2A-2D及びECU3A-3Hは、第1ネットワーク1A経由で図示しない外部機器と通信可能となっている。なお、第2ネットワーク1Bには、外部通信路に接続可能なノードが設けられていない。そのため、第2ネットワーク1Bのノードが第2ネットワーク1B経由で外部機器と通信することはできない。
外部通信路7は、無線通信路及び有線通信路のうちの少なくとも一方であればよい。また、外部通信路7は、単一の機器と接続可能な通信路及び複数の機器と接続可能な通信路のうちの少なくとも一方であればよい。複数の機器と接続可能な通信路としては、例えば複数の機器がノードとして含まれる外部ネットワークに接続可能な通信路であればよい。外部通信路7は、全部が専用線で構成されていてもよいし、一部が公衆回線で構成されていてもよい。
なお、本実施形態では上記3つのグローバルバス5A-5Cを例示してあるが、グローバルバスの数は任意である。例えば、グローバルバスの数は、2つ以下又は4つ以上であってもよい。本実施形態では上記12個のECU2A-2D及びECU3A-3Hを例示してあるが、ECU数は任意である。例えば、ECUの数は、11個以下又は13個以上であってもよい。本実施形態では上記ECU2A-2Dがローカルバス6に接続されている例を示したが、ECU3A-3Hのうちの少なくとも1つがローカルバス6に接続されていてもよい。あるいは、ECU3A-3Hのうちの少なくともローカルバス6とは別のローカルバスに接続されていてもよい。
[ECUの構成]
次に、ECUの内部構成について説明する。以下の説明では、図2に示すECU2Bを例に挙げる。ただし、本実施形態において、ECU2A,2C,2Dは、ECU2Bと同様に構成される。また、本実施形態において、ECU3A-3Hは、第2ネットワーク1Bに接続されていない点で、ECU2Bとは相違するが、その他の点はECU2Bと同様に構成される。
ECU2Bは、図2に示すように、CPU11、RAM12、フラッシュメモリ13、第1通信部16及び第2通信部17等を有する。CPUは「Central Processing Unit」の略称である。RAMは「Random Access Memory」の略称である。第1通信部16は、グローバルバス5Aに接続するためのネットワークインターフェースである。第2通信部17は、ローカルバス6に接続するためのネットワークインターフェースである。
ECU2A-2Dの各種機能は、CPU11が非遷移的実体的記録媒体に格納されたプログラムに従って各種処理を実行することにより実現される。この例では、フラッシュメモリ13が、非遷移的実体的記録媒体に該当する。CPU11がプログラムに従って各種処理を実行する際には、フラッシュメモリ13に格納されたプログラムをRAM12によって構成されるメインメモリにロードするように構成されていてもよい。この場合、CPU11は、メインメモリに格納されたプログラムに従って各種処理を実行する。
CPU11がプログラムに従って各種処理を実行することにより、プログラムに対応する方法が実行され、ECU2A-2Dが備える各種機能が実現される。ただし、ECU2A-2Dが備える各種機能を実現する手法はソフトウェアに限るものではなく、機能の一部又は全部を、ディジタル回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。
RAM12及びフラッシュメモリ13には、各種記憶領域が確保される。本実施形態に関連する主要な記憶領域としては、RAM12には受信データバッファ12Aが確保される。フラッシュメモリ13には、共通鍵記憶部13A及びCVN記憶部13Bが確保される。受信データバッファ12Aは、第1ネットワーク1A経由で受信したデータを一時的に蓄積するためのバッファである。
受信データバッファ12Aには受信したデータが順次格納され、格納領域が満杯になった場合には、最も古いデータが格納されている領域に新しいデータが上書きで格納される。受信データバッファ12Aのサイズは、第1ネットワーク1A経由で受信するデータ量が最大となる状況を考慮して、少なくとも一定期間分(例えば20ミリ秒分。)のデータについては確実に蓄積できる程度のサイズが確保される。
共通鍵記憶部13Aには、後述する処理の中で、受信データに対するメッセージ認証を実行する際に使用する共通鍵が記憶されている。CVN記憶部13Bには、後述する処理の中で、データの送信元が正当なECUか否かを確認する際に必要となるCVNのリストが記憶されている。CVNは「Calibration Verification Numbers」の略称である。CVNは、ECUに実装されたソフトウェア等に基づいて生成される照合用コードである。
車両に搭載されるECUには、CVNの生成及び出力を行う機能を実装することが法令等によって義務づけられている。車両に搭載される複数のECUがCVNを生成すると、ECU毎に異なるCVNが生成される。本実施形態においては、ECU2A-2Dにおいて生成、出力されるCVNが、車両生産時に収集、リスト化されて、CVN記憶部13Bに記憶されている。
ECUに実装されたソフトウェアが更新された場合、あるいはECUに実装されたソフトウェアが改ざんされた場合には、ECUにおいて生成されるCVNが変化する。したがって、車両生産時にCVN記憶部13Bに記憶されたCVNと、ECUから出力されたCVNとを比較して、その比較結果が一致しなければ、CVNを出力したECUの換装ないしはソフトウェアの改ざん等があったのではないかと疑うことができる。なお、ECUに実装されたソフトウェアが正当に更新される場合には、その更新後のECUから出力されるCVNでCVN記憶部13Bに記憶されているCVNを更新すればよい。
[メッセージ認証の概要]
第1ネットワーク1Aのノードは、外部通信路7経由で到来するデータを受信することができる。そのため、例えば外部通信路7に接続された不正な外部機器から悪意のある不正なデータが伝送され得ることも想定して、そのような不正なデータに対して適切な対処をすることが重要となる。また、ECU2A-2D及びECU3A-3Hにおいてプログラムの改ざんが行われた場合、あるいは不正なECUへの換装が行われた場合にも、そのような不正なECUから伝送される不正なデータに対し、適切な対処をすることが重要である。
そこで、本実施形態のネットワークシステム1において、ECU2A-2D及びECU3A-3Hは、第1ネットワーク1A経由でデータを受信した際にメッセージ認証を実行し、データの正当性を確認する。図3に示すように、第1ネットワーク1Aにおいて伝送されるデータD1には、ID、通常データ及びメッセージ認証コード等が含まれる。以下の説明では、メッセージ認証コードのことをMACと称する。MACは「Message Authentication Code」の略称である。なお、データD1には、これら以外の制御コードやデータ等も含まれるが、本処理には関連しないので説明を省略する。
IDは、データの種別又は内容、送信元又は送信先のノード、及び通信時の優先度等、様々な情報を含み得る識別子である。送信元のノードからブロードキャスト通信によって第1ネットワーク1Aへと送出されるデータD1は、第1ネットワーク1Aにおける送信元ノード以外のノード全てにおいて受信される。データD1を受信したノードは、データD1中に含まれるIDに基づいて、処理対象とすべきデータか否かを判断することができる。
通常データは、送信元ノードが送信先ノードへ送信しようとしたデータの実体部分である。MACは、第1ネットワーク1Aのノードが共通に使用する共通鍵を使って、通常データから生成されるデータである。共通鍵は、上述の共通鍵記憶部13Aに記憶されている。データD1を送信する送信元ノードは、共通鍵を使って通常データを暗号化し、その暗号化済みのデータの一部をMACとして抽出する。
以上のようなデータD1を受信したノードにおいて、メッセージ認証を実施する際には、データD1中に含まれる通常データを取り出し、取り出した通常データに基づいて送信元ノードと同様の手順でMACを生成する。受信側ノードで生成されるMACは、送信元ノードと同じ共通鍵を使って生成されるので、通常は、データD1中に含まれるMACと一致する。
しかし、通常データが伝送途中で改ざんされた場合やデータ化けした場合には、受信側ノードで生成されるMACとデータD1中に含まれるMACとが不一致となる。あるいは、共通鍵を知らない不正なノードがデータを送信した場合には、適正なMACを生成できないため、受信側ノードで生成されるMACとデータD1中に含まれるMACとが不一致となる。したがって、受信側ノードでは、受信側ノードで生成されるMACとデータD1中に含まれるMACが一致する場合には、認証が成立したと判断する。一方、受信側ノードで生成されるMACとデータD1中に含まれるMACとが不一致となった場合には、認証に失敗したと判断する。
また、本実施形態のネットワークシステム1において、ECU2A-2Dは、第2ネットワーク1B経由でデータを伝送することができる。ただし、第2ネットワーク1Bは、第1ネットワーク1Aとは異なり、第2ネットワーク1Bの外部とは隔離されたネットワークとなっている。そのため、第1ネットワーク1Aとは異なり、少なくとも第2ネットワーク1Bの外部から不正なデータが伝送されてくることはない。
そこで、ECU2A-2Dは、第2ネットワーク1B経由でデータを受信した際には、第1ネットワーク1Aの場合とは異なり、メッセージ認証を実行しない。そのため、第2ネットワーク1Bにおいて伝送されるデータD2は、図3に示すように、ID及び通常データ等が含まれるものの、MACは含まれないデータとされている。
[認証成立時の処理及び認証失敗時の処理]
上述のメッセージ認証において認証に成功した場合、ECU2A-2D及びECU3A-3Hは、当該認証成功以降の処理において上述のデータD1(以下、処理対象データとも称する。)を利用する。具体例を挙げれば、例えば、処理対象データ中から通常データが取り出され、その通常データを変数として用いた演算処理、通常データに基づく制御、通常データに応じて判断が分かれる分岐処理等が実行される。
一方、ECU2A-2Dのうち、いずれかのECU(例えばECU2B。)が処理対象データのメッセージ認証に失敗した場合に、他のECU(例えばECU2A,2C,2D。)から代替データを取得することを試みる。これは、処理対象データが不正なために認証に失敗したのではなく、メッセージ認証を実行するECUの故障(例えば、共通鍵の故障。)等が原因で認証に失敗した可能性もあるからである。
以下の説明では、ECU2Bがメッセージ認証に失敗し、ECU2B以外のECU(すなわち、ECU2A,2C,2D。)から代替データの取得を試みる場合を想定して説明を続ける。この例の場合、ECU2Bが本開示でいう自装置に相当し、ECU2A,2C,2Dが本開示でいう他装置に相当する。ただし、ECU2A-2Dは、どれもが自装置になり得るECUであり、自装置となったECU以外のECUは他装置となるECUである。
ECU2Bがメッセージ認証に失敗した場合、ECU2Bは、第2ネットワーク1B経由でECU2A,2C,2Dに対して代替データの送信を要求する。ECU2A,2C,2Dでは、ECU2Bからの代替データの送信要求を受信したら、既に第1ネットワーク1A経由で受信済みの処理対象データに対し、メッセージ認証を実行する。本実施形態において、ECU2A-2Dは、上述のような受信データバッファ12Aを有し、第1ネットワーク1A経由で受信したデータを一定期間分だけ受信データバッファ12Aに蓄積している。そのため、ECU2A,2C,2DがECU2Bから代替データの送信要求を受信した際、ECU2A,2C,2Dは、ECU2Bからの送信要求中に含まれる情報に基づいて、処理対象データを受信データバッファ12Aの中から探し出し、処理対象データに対するメッセージ認証を実行する。なお、上述のような受信データバッファ12Aを使う代わりに、ECU2BからECU2A,2C,2Dへ処理対象データが提供されてもよい。
ECU2A,2C,2Dは、上記メッセージ認証を終えたら、認証結果、検証用MAC、CVN及び通常データを含む代替データを第2ネットワーク1B経由でECU2Bに対して送信する。ECU2Bでは、ECU2A,2C,2Dそれぞれから代替データを受信し、それら複数の代替データの中に認証成立を示す認証結果が含まれる代替データが少なくとも1つあれば、その代替データから通常データを取り出し、その通常データを利用して、所期の処理又は制御を実行することができる。
したがって、このように構成されたネットワークシステム1によれば、ECU2Bにおいて処理対象データの認証に失敗した場合でも、ECU2A,2C,2Dにおいて処理対象データの認証に成功すれば、ECU2Bは代替データに含まれる通常データを利用することができる。よって、例えば、ECU2Bにおいてメッセージ認証を実行するために必要となるハードウェア又はソフトウェアに故障等の問題が生じていたとしても、ECU2Bは所期の通常データを利用することができる。
[自装置及び他装置において実行される処理の詳細]
次に、本開示でいう自装置及び他装置において実行される処理について、図4-図8に示すフローチャートに基づいて説明する。自装置となるECUでは、図4,図5,図7及び図8に示す処理が実行される。また、他装置となるECUでは、図6に示す処理が実行される。ここでは、先に挙げた例と同様に、ECU2Bが自装置となり、ECU2A,2C,2Dが他装置となる場合を想定して説明を続ける。
ECU2Bは、図4に示すように、S110において、グローバルバス5Aから処理対象データを受信する。ここでいう処理対象データは、少なくともECU2Bにおいて処理対象となるデータである。ECU2B以外のECUにおいては、処理対象となる場合もあれば、処理対象とはならない場合もある。この処理対象データは、例えば図1中に示すように、ECU3Hがブロードキャスト通信によって第1ネットワーク1Aへと送信したデータである。このデータは第1ネットワーク1AにおいてECU3H以外のノード全てに届く。ただし、このデータを受信したノードは、データ中に含まれるIDに基づいて、自身にとって処理対象となるデータか否か等を判断する。また、本実施形態の場合、少なくともECU2A-2Dにおいては、ECU2A-2Dのいずれかで処理対象となるデータを受信したら、そのデータを受信データバッファ12Aに格納する。
続いて、ECU2Bは、S120において、メッセージ認証処理を実行する。このメッセージ認証処理の詳細を図5に示す。メッセージ認証処理を開始すると、ECU2Bは、図5に示すように、S210において、処理対象データに含まれる通常データとMACを取り出す。ここでいう処理対象となるデータは、S110において受信した処理対象データである。
続いて、ECU2Bは、S220において、鍵を用いて通常データから検証用MACを生成する。次に、ECU2Bは、S230において、処理対象データのMACと検証用MACが一致するか否かを判断する。処理対象データのMACと検証用MACが一致する場合は、S230においてYESと判断され、S240へと進む。
S240へ進んだ場合は、ECU2Bにおいて認証が成立したことになり、図5に示す処理を終了して、図4のS130へと進む。一方、処理対象データのMACと検証用MACが一致しない場合は、S230においてNOと判断され、S250へと進む。S250へ進んだ場合は、ECU2Bにおいて認証に失敗したことになり、図5に示す処理を終了して、図4のS130へと進む。
ECU2Bは、図4のS130において、認証が成立したか否かを判断する。上述のS240において認証が成立している場合は、S130においてYESと判断され、S140へと進む。ECU2Bは、S140において、処理対象データから通常データを取り出して、以降の処理又は制御で利用する。ここでいう「以降の処理又は制御」としては、ECU2Bの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。なお、S140の実行後は図4に示す処理を終了する。
一方、上述のS250において認証に失敗している場合には、S130においてNOと判断され、S150へと進む。ECU2Bは、S150において、代替データの取得要求をブロードキャスト通信によってローカルバス6へ送信する。なお、S160の実行後は図4に示す処理を終了する。
さて、ECU2Bにおいて上述のような処理が実行されている際、ECU2A,2C,2Dでは図6に示す処理が実行される。以下の説明では、ECU2Cの場合を例に挙げて説明を続ける。ECU2Cは、図6に示すように、S310において、ローカルバス6からデータを受信する。続いて、ECU2Cは、S320において、上記S310で受信したデータがECU2C宛に送信された代替データの取得要求か否かを判断する。ここで、ECU2Bからの代替データの取得要求であること及びECU2C宛であることは、受信データ中に含まれるIDに基づいて判断することができる。
なお、ECU2Bにおいて上述のS160が実行された場合、代替データの取得要求はブロードキャスト通信によって第2ネットワーク1Bへと送信される。そのため、当該取得要求は第2ネットワーク1Bにおいて送信元以外のノード全てに届く。
ECU2Cにおいて上記取得要求を受信した場合、ECU2Cでは、S320においてYESと判断されて、S330へと進む。その場合、ECU2Cは、S330において、代替データをローカルバス6へ送信する。S330で送信される代替データには、認証結果、検証用MAC、CVN及び通常データが含まれる。認証結果は、ECU2Cにおいて処理対象データに対してメッセージ認証を実行した際の認証結果である。ECU2Cは、上記取得要求を受信した場合、処理対象データを受信データバッファ12Aから取得し、その処理対象データから通常データを取り出して検証用MACを生成する。そして、処理対象データから取り出したMACと検証用MACとを比較し、一致すれば認証結果を認証成立(以下、認証結果OKとも称する。)とし、一致しなければ認証結果を認証失敗(以下、認証結果NGとも称する。)とする。CVNは、ECU2Cにおいて生成されるCVNである。なお、S330の実行後は図6に示す処理を終了する。
一方、上述のS320において代替データの取得要求ではなかった場合は、S320においてNOと判断され、その場合、ECU2Cは、S340において、通常のローカルバスからのデータ受信に対応する処理を実行する。S340において実行される処理としては、ECU2Cの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。なお、S340の実行後は図6に示す処理を終了する。
さて、ECU2A,2C,2Dにおいて上述のような処理が実行されている際、ECU2Bでは図7に示す処理が実行される。ECU2Bは、図7に示すように、S410において、ローカルバス6からデータを受信する。続いて、ECU2Bは、S420において、上記S410で受信したデータが代替データか否かを判断する。ここで、代替データであることは、受信データ中に含まれるIDに基づいて判断することができる。なお、ECU2A,2C,2Dにおいて上述のS330が実行された場合、代替データはブロードキャスト通信によって第2ネットワーク1Bへと送信される。そのため、代替データは第2ネットワーク1Bにおいて送信元のECU以外のノード全てに届く。
上述のS420において代替データであった場合は、S420においてYESと判断され、その場合、ECU2Bは、S430において、ECU2A,2C,2Dから送信された代替データの中に、認証結果OKを含む代替データが1つ以上あるか否かを判断する。認証結果OKを含む代替データが1つ以上ある場合、S430においてYESと判断され、その場合、ECU2Bは、S440において、認証結果OKを含む代替データを対象にして、代替データの検証用MACと処理対象データのMACが一致するか否かを判断する。
代替データの検証用MACと処理対象データのMACが一致する場合、S440においてYESと判断され、その場合、ECU2Bは、S450において、CVNが適正か否かを判断する。S450では、代替データから取り出されたCVNと、CVN記憶部13Bに記憶されたCVNとを比較する。CVN記憶部13Bには、ECU2A-2Dにおいて生成、出力されたCVNが記憶されているので、S440では、代替データの送信元ECU(すなわち、ECU2A,2C,2Dのいずれか。)に対応するCVNが比較対象として選択される。
この比較の結果、両者が一致すれば、CVNは適正であり、S450においてYESと判断され、S460へと進む。S460へ進んだ場合、ECU2Bは、代替データに含まれる通常データを取り出して、以降の処理又は制御で利用する。ここでいう「以降の処理又は制御」としては、ECU2Bの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。なお、S450の実行後はS480へと進む。
一方、上述のS430において認証結果OKが1つもない場合、上述のS440において代替データの検証用MACと処理対象データのMACが一致しない場合、及び上述のS450においてCVNが適正ではないと判断された場合は、認証が成立していないか認証が成立していても信頼性が低いと考えられるので、代替データを破棄して、フェールセーフデータを以降の処理又は制御で利用する。フェールセーフデータは、ECU2Bが受信する処理対象データ及び代替データに問題があって使用できない場合に使用されるデータである。
このようなフェールセーフデータは、例えばフラッシュメモリ13にあらかじめ記憶されていればよい。あるいは、処理対象データを過去に一定期間以上の長期にわたって受信できていた場合は、その平均値、最大値、あるいは最小値等を経時的に算出し、いつでもフェールセーフデータとして利用できるように準備しておいてもよい。どのようなかたちでフェールセーフデータを用意するかは、ECU2Bによる制御対象の挙動なども考慮して最適化されていればよい。なお、S470の実行後はS480へと進む。
S460又はS470からS480へ進むと、ECU2Bは、故障箇所判断処理を実行する。故障箇所判断処理の詳細を図8に示す。故障箇所判断処理を開始すると、ECU2Bは、図8に示すように、S510において、ECU2A,2C,2Dから送信された代替データの中に、認証結果NGを含む代替データがゼロか否かを判断する。認証結果NGを含む代替データがゼロの場合は、S510においてYESと判断され、その場合、ECU2Bは、故障原因を自ECUの鍵故障と判断する。
一方、S510において、認証結果NGを含む代替データがゼロではない場合は、S510においてNOと判断され、その場合、ECU2Bは、S530において、認証結果NGの検証用MAC(以下、第1検証用MACとも称する。)と自ECUの検証用MAC(以下、第2検証用MACとも称する。)とを比較する。第1検証用MACは、代替データに含まれる検証用MACであり、ECU2A,2C,2Dそれぞれが処理対象データを受信し、その処理対象データに含まれる通常データに基づいてECU2A,2C,2Dそれぞれが生成したMACである。第2検証用MACは、ECU2Bが処理対象データを受信し、その処理対象データに含まれる通常データに基づいてECU2Bが生成したMACである。
第1検証用MACと第2検証用MACとの比較の結果、第1検証用MACと第2検証用MACとが一致する場合には、S540においてYESと判断され、ECU2Bは、S550において、故障原因をバス又は送信ECUの故障と判断する。また、S530での比較の結果、第1検証用MACと第2検証用MACとが一致しない場合には、S540においてNOと判断され、ECU2Bは、S520において、故障原因を自ECUの鍵故障と判断する。
S520又はS550での判断結果は、どのようなかたちで利用されてもよいが、例えば、ダイアグ情報として不揮発性メモリに記憶されるように構成されているとよい。あるいは、警告灯やエラーメッセージ等により報知されるように構成されていてもよい。あるいは、無線通信路を介して情報管理センターへ伝送されるように構成されていてもよい。これらの構成は2以上の構成を併用してもよい。なお、S520又はS550を終えたら図8に示す処理を終了する。この場合、図7のS480を終了したことになるので、図7に示す処理も終了する。
[効果]
以上説明した通り、上記ネットワークシステム1によれば、ECU2Bは、ECU2Bにおいて処理対象データの認証に失敗した場合には、3つのECU2A,2C,2Dそれぞれから代替データを取得する。3つの代替データのうち、少なくとも1つの代替データに含まれる認証結果データが認証に成功したことを示していれば、ECU2Bは、代替データに含まれる通常データを、以降の処理又は制御で利用する。
3つのECU2A,2C,2Dから代替データを取得すれば、仮にECU2A,2C,2Dのいずれかに問題がある状況であっても、問題があるECUとは別のECUから代替データを取得できる可能性が高い。したがって、例えば、ECU2Bでメッセージ認証を実行するために必要となるハードウェア又はソフトウェアに故障等の問題が生じていたとしても、ECU2BはECU2A,2C,2Dのいずれかで認証済みの通常データを利用できる可能性が高く、以降の処理又は制御を継続できる可能性を高めることができる。
また、本実施形態の場合、ECU2Bは、3つのECU2A,2C,2Dそれぞれから代替データを取得した際、S440の判断処理により、代替データに含まれる検証用MACと処理対象データに含まれるMACとが一致したら、代替データに含まれる通常データを、以降の処理又は制御で利用する。したがって、単にECU2A,2C,2Dでの認証結果を参照するだけではなく、代替データに含まれる検証用MACと処理対象データに含まれるMACとをECU2Bが自ら確認するので、その分だけシステムの信頼性を向上させることができる。
また、本実施形態の場合、ECU2Bは、S530,S540及びS550の処理により、代替データに含まれる検証用MACである第1検証用MACと処理対象データに含まれる通常データに基づいてECU2Bにおいて生成された検証用MACである第2検証用MACとが一致したら、処理対象データの送信ECU及び伝送経路の少なくとも一方が故障していると判断する。したがって、このような判断がなされない場合に比べ、例えば修理や部品交換等を実施する際に、容易に故障箇所の絞り込みや特定をすることができる。
また、本実施形態の場合、S510-S520の処理により、ECU2Bの共通鍵が故障していると判断する。したがって、このような判断がなされない場合に比べ、例えば修理や部品交換等を実施する際に、容易に故障箇所の絞り込みや特定をすることができる。
また、本実施形態の場合、ECU2Bは、S450の判断処理により、代替データに含まれるCVNとECU2Bが記憶しているECU2A,2C,2Dに対応付けられたCVNとが一致したら、代替データに含まれる通常データを、以降の処理又は制御で利用する。したがって、単にECU2A,2C,2Dでの認証結果を参照するだけではなく、ECU2A,2C,2Dの正当性をCVNによって確認するので、その分だけシステムの信頼性を向上させることができる。
[他の実施形態]
以上、ネットワークシステムについて、例示的な実施形態を挙げて説明したが、上述の実施形態は本開示の一態様として例示されるものにすぎない。すなわち、本開示は、上述の例示的な実施形態に限定されるものではなく、本開示の技術的思想を逸脱しない範囲内において、様々な形態で実施することができる。
(1)例えば、上記実施形態では、ECU2Bが、ECU2A,2C,2Dから代替データを取得する例を示したが、ECU2A-2Dはいずれが代替データを取得するECUとなってもよく、その場合、代替データを取得するECU以外のECUは代替データを提供するECUとなることができる。また、ECU3A-3Hがローカルバス6に接続されていてもよく、その場合は、ECU3A-3Hが代替データを取得するECUとなってもよく、また、ECU3A-3Hが代替データを提供するECUとなってもよい。
(2)上記実施形態では、S440及びS450の判断処理を実行していたが、これらの判断処理はいずれか一方を実行するだけでもよく、あるいは、両方を実行しないように構成してもよい。S440及びS450の判断処理を双方とも採用すれば、システムの信頼性を高めることができるが、このような判断を実施する分だけECUにかかる負荷は増大する。したがって、システムの信頼性をどの程度まで高めるべきか、及びECUにかかる負荷の増大をどの程度まで許容できるか、といった事項を勘案して、S440及びS450の判断処理のいずれを採用するのかを決定すればよい。
(3)本開示に記載のECU2A-2D及びその手法は、コンピュータプログラムにより具体化された1つないしは複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のECU2A-2D及びその手法は、1つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載のECU2A-2D及びその手法は、1つないしは複数の機能を実行するようにプログラムされたプロセッサ及びメモリと1つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された1つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。ECU2A-2Dに含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、1つあるいは複数のハードウェアを用いて実現されてもよい。
(4)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。
上述したECU2A-2Dの他、当該ECU2A-2Dを構成要素とするシステム、当該ECU2A-2Dとしてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、ECU2A-2Dによる制御方法など、種々の形態で本開示を実現することもできる。
[補足]
なお、以上説明した例示的な実施形態から明らかなように、本開示のネットワークシステムは、更に以下に挙げるような構成を備えていてもよい。
本開示の一態様では、代替データには、処理対象データに含まれる通常データに基づいて他装置において生成された検証用メッセージ認証コードが含まれていてもよい。自装置は、他装置それぞれから取得した2つ以上の代替データのうちの少なくとも1つの代替データに含まれる認証結果データが認証に成功したことを示している場合には、当該代替データに含まれる検証用メッセージ認証コードと処理対象データに含まれるメッセージ認証コードとが一致したら、代替データに含まれる通常データを、以降の処理又は制御で利用するように構成されていてもよい。
本開示の一態様では、自装置は、他装置それぞれから取得した2つ以上の代替データのうちの少なくとも1つの代替データに含まれる認証結果データが認証に失敗したことを示している場合には、当該代替データに含まれる検証用メッセージ認証コードである第1検証用メッセージ認証コードと処理対象データに含まれる通常データに基づいて自装置において生成された第2検証用メッセージ認証コードとが一致したら、処理対象データの送信元装置及び伝送経路の少なくとも一方が故障していると判断するように構成されていてもよい。
本開示の一態様では、自装置は、他装置それぞれから取得した2つ以上の代替データそれぞれに含まれる認証結果データの全てが認証に成功したことを示している場合には、メッセージ認証の際に自装置で使用する共通鍵が故障していると判断するように構成されていてもよい。
本開示の一態様では、代替データには、他装置に対応付けられた固有値が含まれていてもよい。自装置は、他装置それぞれから取得した2つ以上の代替データのうちの少なくとも1つの代替データが、認証に成功したことを示す認証結果データを含む代替データである場合に、代替データに含まれる固有値と自装置が記憶している他装置に対応付けられた固有値とが一致したら、代替データに含まれる通常データを、以降の処理又は制御で利用するように構成されていてもよい。
1…ネットワークシステム、1A…第1ネットワーク、1B…第2ネットワーク、2A,2B,2C,2D,3A,3B,3C,3D,3E,3F,3G,3H…ECU、5A,5B,5C…グローバルバス、6…ローカルバス、7…外部通信路、11…CPU、12…RAM、12A…受信データバッファ、13…フラッシュメモリ、13A…共通鍵記憶部、13B…CVN記憶部、16…第1通信部、17…第2通信部。

Claims (5)

  1. 第1ネットワーク(1A)のノードとして機能し、かつ、前記第1ネットワークとは独立に構築される第2ネットワーク(1B)のノードとしても機能するように構成された複数の電子装置(2A,2B,2C,2D)を含み、
    前記複数の電子装置は、前記第1ネットワーク及び前記第2ネットワークの外部にある外部機器とは、前記第1ネットワーク経由で通信可能に構成され、
    前記複数の電子装置のうちのいずれか1つを自装置(2B)、当該自装置以外の2つ以上の電子装置それぞれを他装置(2A,2C,2D)として、
    前記自装置は、伝送対象となるデータである通常データと当該通常データに基づいて生成されたメッセージ認証コードとが含まれる処理対象データを前記第1ネットワーク経由で受信した際に(S110)、前記処理対象データに対してメッセージ認証を実行し(S120)、認証に成功した場合には、前記処理対象データに含まれる前記通常データを、以降の処理又は制御で利用し(S140)、認証に失敗した場合には、前記他装置において前記処理対象データに対してメッセージ認証を実行した際に認証に成功したか否かを示す認証結果データと前記他装置において前記処理対象データから取り出された前記通常データとが含まれる代替データを2つ以上の前記他装置それぞれから取得し(S410-S420)、当該2つ以上の前記他装置それぞれから取得した前記代替データのうちの少なくとも1つの前記代替データに含まれる前記認証結果データが認証に成功したことを示している場合には(S430)、当該代替データに含まれる前記通常データを、以降の処理又は制御で利用するように構成されている(S460)
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記代替データには、前記処理対象データに含まれる前記通常データに基づいて前記他装置において生成された検証用メッセージ認証コードが含まれており(S330)、
    前記自装置は、前記他装置それぞれから取得した2つ以上の前記代替データのうちの少なくとも1つの前記代替データに含まれる前記認証結果データが認証に成功したことを示している場合には、当該代替データに含まれる検証用メッセージ認証コードと前記処理対象データに含まれるメッセージ認証コードとが一致したら(S440)、前記代替データに含まれる前記通常データを、以降の処理又は制御で利用するように構成されている
    ネットワークシステム。
  3. 請求項2に記載のネットワークシステムであって、
    前記自装置は、前記他装置それぞれから取得した2つ以上の前記代替データのうちの少なくとも1つの前記代替データに含まれる前記認証結果データが認証に失敗したことを示している場合には(S510)、当該代替データに含まれる検証用メッセージ認証コードである第1検証用メッセージ認証コードと前記処理対象データに含まれる前記通常データに基づいて前記自装置において生成された第2検証用メッセージ認証コードとが一致したら(S530-S540)、前記処理対象データの送信元装置及び伝送経路の少なくとも一方が故障していると判断するように構成されている(S550)
    ネットワークシステム。
  4. 請求項2又は請求項3に記載のネットワークシステムであって、
    前記自装置は、前記他装置それぞれから取得した2つ以上の前記代替データそれぞれに含まれる前記認証結果データの全てが認証に成功したことを示している場合には(S510)、メッセージ認証の際に前記自装置で使用する共通鍵が故障していると判断するように構成されている(S520)
    ネットワークシステム。
  5. 請求項1から請求項4までのいずれか一項に記載のネットワークシステムであって、
    前記代替データには、前記他装置に対応付けられた固有値が含まれており(S330)、
    前記自装置は、前記他装置それぞれから取得した2つ以上の前記代替データのうちの少なくとも1つの前記代替データが、認証に成功したことを示す前記認証結果データを含む前記代替データである場合に、前記代替データに含まれる固有値と前記自装置が記憶している前記他装置に対応付けられた固有値とが一致したら(S450)、前記代替データに含まれる前記通常データを、以降の処理又は制御で利用するように構成されている(S460)
    ネットワークシステム。
JP2019030738A 2019-02-22 2019-02-22 ネットワークシステム Active JP7067508B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019030738A JP7067508B2 (ja) 2019-02-22 2019-02-22 ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019030738A JP7067508B2 (ja) 2019-02-22 2019-02-22 ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2020137009A JP2020137009A (ja) 2020-08-31
JP7067508B2 true JP7067508B2 (ja) 2022-05-16

Family

ID=72279229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019030738A Active JP7067508B2 (ja) 2019-02-22 2019-02-22 ネットワークシステム

Country Status (1)

Country Link
JP (1) JP7067508B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7380530B2 (ja) * 2020-11-13 2023-11-15 トヨタ自動車株式会社 車両通信システム、通信方法及び通信プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002221075A (ja) 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2013142963A (ja) 2012-01-10 2013-07-22 Toyota Motor Corp 車載制御装置の認証システム
JP2017059211A (ja) 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2017092807A (ja) 2015-11-13 2017-05-25 株式会社東芝 検査装置、通信システム、移動体および検査方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002221075A (ja) 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2013142963A (ja) 2012-01-10 2013-07-22 Toyota Motor Corp 車載制御装置の認証システム
JP2017059211A (ja) 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2017092807A (ja) 2015-11-13 2017-05-25 株式会社東芝 検査装置、通信システム、移動体および検査方法

Also Published As

Publication number Publication date
JP2020137009A (ja) 2020-08-31

Similar Documents

Publication Publication Date Title
US10484184B2 (en) Vehicle system and authentication method
US10360018B2 (en) Update control apparatus, software update system, and update control method
JP4576997B2 (ja) 通信システム、鍵配信装置、暗号処理装置
JP6477281B2 (ja) 車載中継装置、車載通信システム及び中継プログラム
US11245535B2 (en) Hash-chain based sender identification scheme
US20180234248A1 (en) Communication system, vehicle, and monitoring method
US20150095997A1 (en) Authentication system and authentication method
JP6192673B2 (ja) 鍵管理システム、鍵管理方法およびコンピュータプログラム
WO2017115751A1 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
JP2011108167A (ja) コンピューターシステム
US11228602B2 (en) In-vehicle network system
JP7067508B2 (ja) ネットワークシステム
JP6950540B2 (ja) ネットワークシステム
JP2017168907A (ja) 通信システム
JP6950539B2 (ja) ネットワークシステム
JP6919430B2 (ja) ネットワークシステム
JP6954167B2 (ja) ネットワークシステム
US11537717B2 (en) Information processing apparatus
JP6885305B2 (ja) ネットワークシステム
JP2001202266A (ja) 車載制御ユニットの検査方法
CN112977331A (zh) 汽车远程控制装置、车身控制设备、系统及控制方法
JP6969450B2 (ja) ネットワークシステム
US20230205887A1 (en) Secure automotive system
JP2013121071A (ja) 中継システム及び、当該中継システムを構成する中継装置、外部装置
JP7003832B2 (ja) 車両用電子制御システムおよび車両用電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210716

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220324

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220411

R151 Written notification of patent or utility model registration

Ref document number: 7067508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151