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

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

Info

Publication number
JP2019047370A
JP2019047370A JP2017169388A JP2017169388A JP2019047370A JP 2019047370 A JP2019047370 A JP 2019047370A JP 2017169388 A JP2017169388 A JP 2017169388A JP 2017169388 A JP2017169388 A JP 2017169388A JP 2019047370 A JP2019047370 A JP 2019047370A
Authority
JP
Japan
Prior art keywords
data
network
ecu
authentication
request
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.)
Granted
Application number
JP2017169388A
Other languages
English (en)
Other versions
JP6919430B2 (ja
Inventor
展之 近藤
Nobuyuki Kondo
展之 近藤
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 JP2017169388A priority Critical patent/JP6919430B2/ja
Publication of JP2019047370A publication Critical patent/JP2019047370A/ja
Application granted granted Critical
Publication of JP6919430B2 publication Critical patent/JP6919430B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】データの認証に失敗した際に上記従来技術とは別の手法でデータの認証を実行可能なネットワークシステムを提供すること。【解決手段】ネットワークシステム(1)において、依頼元装置(2B)は第一ネットワーク経由で第一データを受信した場合に、第一データに対する認証処理を実行し、認証に失敗した場合には、第二ネットワーク経由で第二データを依頼先装置(2C)へと送信する。依頼先装置は、第二データを受信した場合に、第一データに対する認証処理を実行し、認証に成功した場合には、認証に成功した第一データの内容を含む第三データを第二ネットワーク経由で依頼元装置に対して送信する。【選択図】図1

Description

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

Claims (5)

  1. 第一ネットワーク(1A)のノードとして機能し、かつ、前記第一ネットワークとは独立に構築される第二ネットワーク(1B)のノードとしても機能するように構成された複数の電子装置(2A,2B,2C,2D)を含み、
    前記複数の電子装置は、前記第一ネットワーク及び前記第二ネットワークの外部にある外部機器とは、前記第一ネットワーク経由で通信可能に構成され、
    前記複数の電子装置は、前記複数の電子装置のうちの少なくとも一つの電子装置が依頼元装置(2B)として機能可能に構成され、かつ前記複数の電子装置のうちの少なくとも一つの電子装置が依頼先装置(2C)として機能可能に構成され、かつ前記複数の電子装置のうちの一つの電子装置が前記依頼元装置として機能する際に当該依頼元装置とは別の一つの電子装置が前記依頼先装置として機能可能に構成され、
    前記依頼元装置は、前記第一ネットワーク経由で第一データを受信した場合に(S110)、前記第一データに対する認証処理を実行し(S120)、認証に成功した場合には(S130においてYES)、当該認証成功以降の処理において前記第一データを利用し(S140)、認証に失敗した場合には(S130においてNO)、前記第二ネットワーク経由で第二データを前記依頼先装置へと送信するように構成され(S150,S160)、
    前記依頼先装置は、前記第二データを受信した場合に(S310,S320)、前記第一データに対する認証処理を実行し(S340)、認証に成功した場合には(S350においてYES)、認証に成功した前記第一データの内容を含む第三データを前記第二ネットワーク経由で前記依頼元装置に対して送信するように構成され(S360)、
    前記依頼元装置は、前記第三データを受信した場合に(S410,S420)、前記第三データに含まれる前記第一データを利用するように構成されている(S450)
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記依頼元装置及び前記依頼先装置は、メッセージ認証によって前記第一データに対する認証処理を実行するように構成されている(S210〜S250)
    ネットワークシステム。
  3. 請求項1又は請求項2に記載のネットワークシステムであって、
    前記依頼元装置は、前記第三データを受信した場合に、前記第三データに含まれる情報に基づいて前記依頼先装置が信頼可能か否かを確認し(S430,S440)、前記依頼先装置が信頼可能な場合に(S440においてYES)、前記第三データに含まれる前記第一データを利用するように構成されている
    ネットワークシステム。
  4. 請求項3に記載のネットワークシステムであって、
    前記依頼先装置は、前記依頼先装置に対応付けられた固有値が含まれる前記第三データを前記依頼元装置へと送信するように構成され(S360)、
    前記依頼元装置は、前記依頼先装置に対応付けられた固有値をあらかじめ記憶している記憶部(13B)を有し、前記第三データを受信した場合に、前記第三データに含まれる前記固有値と前記記憶部が記憶している前記固有値とが一致するか否かを確認し(S440)、一致した場合に前記依頼先装置が信頼可能と判断し(S440においてYES)、前記第三データに含まれる前記第一データを利用するように構成されている
    ネットワークシステム。
  5. 請求項4に記載のネットワークシステムであって、
    前記電子装置は、車両に搭載されるECU(2A〜2D)であり、
    前記固有値は、前記ECUにおいて生成されるCVNである
    ネットワークシステム。
JP2017169388A 2017-09-04 2017-09-04 ネットワークシステム Active JP6919430B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017169388A JP6919430B2 (ja) 2017-09-04 2017-09-04 ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017169388A JP6919430B2 (ja) 2017-09-04 2017-09-04 ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2019047370A true JP2019047370A (ja) 2019-03-22
JP6919430B2 JP6919430B2 (ja) 2021-08-18

Family

ID=65814840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017169388A Active JP6919430B2 (ja) 2017-09-04 2017-09-04 ネットワークシステム

Country Status (1)

Country Link
JP (1) JP6919430B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050043868A1 (en) * 2003-07-09 2005-02-24 Mitcham Arvon L. Vehicle on-board reporting system for state emissions test
JP2006333007A (ja) * 2005-05-25 2006-12-07 Nissan Motor Co Ltd 車両通信システム及びデータ通信方法
JP2015119357A (ja) * 2013-12-18 2015-06-25 トヨタ自動車株式会社 情報処理装置
JP2016116075A (ja) * 2014-12-15 2016-06-23 トヨタ自動車株式会社 車載通信システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050043868A1 (en) * 2003-07-09 2005-02-24 Mitcham Arvon L. Vehicle on-board reporting system for state emissions test
JP2006333007A (ja) * 2005-05-25 2006-12-07 Nissan Motor Co Ltd 車両通信システム及びデータ通信方法
JP2015119357A (ja) * 2013-12-18 2015-06-25 トヨタ自動車株式会社 情報処理装置
JP2016116075A (ja) * 2014-12-15 2016-06-23 トヨタ自動車株式会社 車載通信システム

Also Published As

Publication number Publication date
JP6919430B2 (ja) 2021-08-18

Similar Documents

Publication Publication Date Title
US10360018B2 (en) Update control apparatus, software update system, and update control method
US10681540B2 (en) Communication network system, transmission node, reception node, and message checking method
US11212087B2 (en) Management system, key generation device, in-vehicle computer, management method, and computer program
JP6477281B2 (ja) 車載中継装置、車載通信システム及び中継プログラム
JP5310761B2 (ja) 車両ネットワークシステム
CN111131313B (zh) 智能网联汽车更换ecu的安全保障方法及系统
JP5949572B2 (ja) 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
US11245535B2 (en) Hash-chain based sender identification scheme
US10735206B2 (en) Securing information exchanged between internal and external entities of connected vehicles
WO2018043386A1 (ja) 車両情報収集システム、車載コンピュータ、車両情報収集装置、車両情報収集方法、及びコンピュータプログラム
JP2018133744A (ja) 通信システム、車両、および監視方法
JP6523143B2 (ja) データ配布装置、通信システム、移動体およびデータ配布方法
JP6190404B2 (ja) 受信ノード、メッセージ受信方法およびコンピュータプログラム
US20190123908A1 (en) Arithmetic Device, Authentication System, and Authentication Method
JP6192673B2 (ja) 鍵管理システム、鍵管理方法およびコンピュータプログラム
JP2014183395A (ja) 車載ネットワークシステム
JP6981755B2 (ja) 車載ネットワークシステム
JP7067508B2 (ja) ネットワークシステム
JP6950540B2 (ja) ネットワークシステム
US11740652B2 (en) Method for synchronizing clocks of at least two devices
JP6950539B2 (ja) ネットワークシステム
JP6919430B2 (ja) ネットワークシステム
JP6885305B2 (ja) ネットワークシステム
JP6954167B2 (ja) ネットワークシステム
CN112977331A (zh) 汽车远程控制装置、车身控制设备、系统及控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R151 Written notification of patent or utility model registration

Ref document number: 6919430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151