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

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

Info

Publication number
JP2019125838A
JP2019125838A JP2018003290A JP2018003290A JP2019125838A JP 2019125838 A JP2019125838 A JP 2019125838A JP 2018003290 A JP2018003290 A JP 2018003290A JP 2018003290 A JP2018003290 A JP 2018003290A JP 2019125838 A JP2019125838 A JP 2019125838A
Authority
JP
Japan
Prior art keywords
data
authentication
ecu
request
network
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
JP2018003290A
Other languages
English (en)
Other versions
JP6950540B2 (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 JP2018003290A priority Critical patent/JP6950540B2/ja
Publication of JP2019125838A publication Critical patent/JP2019125838A/ja
Application granted granted Critical
Publication of JP6950540B2 publication Critical patent/JP6950540B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】データの認証に失敗した際にもデータの認証を実行可能なネットワークシステムを提供する。【解決手段】ネットワークシステム1において、依頼元装置2Bが外部通信路からCGW(Central Gateway)および第一ネットワーク1A経由で受信した認証対象データの認証に失敗した場合、外部とは隔離された第二ネットワーク1Bで接続される依頼先装置2Cに認証の代行を依頼する。依頼先装置2Cは、依頼元装置2B宛の認証対象データを受信するたびに認証処理を実行し、認証に成功した場合には、認証に成功した認証対象データの内容を含む認証済みデータを依頼元装置2Bへ送信する。依頼元装置2Bは、認証の代行を依頼した後にも、認証対象データに対する認証処理を実行し、認証が成立すれば、依頼元装置2Bが認証処理を実行する状態に復帰する。【選択図】図1

Description

本開示は、ネットワークシステムに関する。
セキュリティ処理CPUが故障した場合でも、セキュリティ処理CPUに代わって、汎用処理CPUが、データの暗号化、復号、認証等を実行するように構成された情報処理装置が提案されている(例えば、特許文献1参照。)。
特開2015−119357号公報
しかし、上記特許文献1に記載の情報処理装置では、暗号ハードウェアにおいてセキュリティ処理CPU以外の箇所が故障した場合には、データの認証等を実行できなくなるおそれがある。一例を挙げれば、例えば上記特許文献1に記載の情報処理装置において、セキュア記憶装置が故障した場合には、汎用処理CPUからセキュア記憶装置へのアクセスでエラーが発生し、汎用処理CPUではデータの認証等を実行できなくなるおそれがある。
本開示の一局面においては、データの認証に失敗した際に上記従来技術とは別の手法でデータの認証を実行可能なネットワークシステムを提供することが望ましい。
本開示の一態様は、ネットワークシステムである。当該ネットワークシステムは、第一ネットワーク(1A)のノードとして機能し、かつ、第一ネットワークとは独立に構築される第二ネットワーク(1B)のノードとしても機能するように構成された複数の電子装置(2A,2B,2C,2D)を含む。複数の電子装置は、第一ネットワーク及び第二ネットワークの外部にある外部機器とは、第一ネットワーク経由で通信可能に構成される。
複数の電子装置のうちの少なくとも一つの電子装置は、依頼元装置(2B)として機能可能に構成される。また、複数の電子装置のうちの少なくとも一つの電子装置は、依頼先装置(2C)として機能可能に構成される。複数の電子装置のうちの一つの電子装置が依頼元装置として機能する際に、依頼元装置とは別の少なくとも一つの電子装置が依頼先装置として機能可能に構成される。
依頼元装置は、認証処理の対象とされる認証対象データが第一ネットワーク経由で依頼元装置宛に伝送された場合に、認証対象データを受信して、認証対象データに対する認証処理を実行する(S120,S210−S250)。依頼元装置において、認証に成功した場合には、当該認証成功以降の処理において認証対象データの内容を利用する(S140)。依頼元装置において、認証に失敗した場合には、依頼先装置に対して認証処理の代行を依頼するための代行依頼データを、第二ネットワーク経由で依頼先装置へと送信する(S150,S160)。
依頼先装置は、代行依頼データの受信後は、第一ネットワーク経由で依頼元装置宛に認証対象データが伝送されるたびに、認証対象データを受信して(S510,S514,S520)認証対象データに対する認証処理を実行する(S540)。依頼先装置において、認証に成功した場合には、認証に成功した認証対象データの内容を含む認証済みデータを第二ネットワーク経由で依頼元装置に対して送信する(S550,S560)。
依頼元装置は、認証済みデータを受信した場合に、認証済みデータに含まれる認証対象データの内容を利用する(S450)。また、依頼元装置は、代行依頼データの送信後は、認証対象データを受信した場合に、認証対象データに対する認証処理を実行し、依頼元装置において認証に失敗する状態が継続しているか否かを確認する確認処理を実行する(S182,S610−S630)。
このように構成されたネットワークシステムによれば、依頼元装置において認証対象データの認証に失敗した場合でも、依頼先装置において認証対象データの認証に成功すれば、依頼元装置は認証済みデータに含まれる認証対象データを利用することができる。したがって、例えば、依頼元装置において認証処理を実行するために必要となるハードウェア又はソフトウェアに故障等の問題が生じていたとしても、依頼元装置は認証済みの認証対象データを利用することができる。
また、依頼先装置は、代行依頼データの受信後は、第一ネットワーク経由で依頼元装置宛に認証対象データが伝送されるたびに、認証対象データを受信して認証対象データに対する認証処理を実行して、認証済みデータを依頼元装置へ送信する。したがって、依頼元装置では、認証対象データを受信するたびに依頼先装置に対して代行依頼データを送信しなくても、依頼先装置から認証済みデータを継続的に受信することができる。よって、依頼元装置が認証対象データを受信するたびに依頼先装置へ代行依頼データを送信するように構成されている場合に比べ、依頼元装置にかかる負荷を軽減することができる。また、代行依頼データの送信頻度が低下する分だけ、ネットワークにかかる負荷も低減することができる。
さらに、依頼元装置は、代行依頼データの送信後は、認証対象データを受信した場合に、認証対象データに対する認証処理を実行し、依頼元装置において認証に失敗する状態が継続しているか否かを確認する確認処理を実行する。したがって、依頼元装置は、確認処理の結果に応じて、より適切な処理を実行することができる。例えば、確認処理の結果、依頼元装置において認証に失敗する状態が継続していれば、依頼元装置による認証の代行を継続することができる。
また、確認処理の結果、依頼元装置において認証に失敗する状態が継続していなければ、依頼元装置による認証の代行を中止することができる。あるいは、依頼元装置による認証の代行を中止してもよい状態になった旨を報知することができる。さらに、依頼元装置による認証の代行を中止してもよい状態になった旨をダイアグ情報として保存することができる。
上述の認証対象データ、代行依頼データ及び認証済みデータは、各データともに一回の伝送単位で伝送されるデータであってもよいし、複数回の伝送単位に分割されて順次伝送されるデータであってもよい。複数回の伝送単位に分割されて順次伝送される場合は、送信側から受信側へ一単位分のデータは伝送されるたびに、受信側から送信側へデータの一単位分のデータ受信を完了した旨を示すデータが伝送されてもよい。すなわち、認証対象データ、代行依頼データ及び認証済みデータの送信開始から送信完了までの間に、他のデータの伝送が行われてもよい。
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、後述する実施形態において一態様として例示する具体的な構成との対応関係を理解しやすくするために記載したものである。当該記載は、本開示の技術的範囲が後述する実施形態と同一な範囲に限定されることを意味する記載ではない。
ネットワークシステムを示す説明図である。 ECUを示す説明図である。 ネットワークにおいて伝送されるデータの構造を示す説明図である。 依頼元装置となる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等を有する。第一通信部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及びダイアグ記憶部13Cが確保される。受信データバッファ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を更新すればよい。
ダイアグ記憶部13Cには、ダイアグ情報が記憶される。ダイアグ情報としては、例えばECU2Bにおいて故障等が検知された際に、その故障原因に対応するダイアグコードが記憶される。ダイアグ情報として、ダイアグコードに加えて、故障原因の特定を行う上で有用な各種情報が記憶されてもよい。どのような情報を記憶するかは、例えば、ダイアグコードに応じて取り決められた情報を記憶してもよいし、ダイアグコードとは無関係に取り決められた情報を記憶してもよい。
[認証処理の概要]
第一ネットワーク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〜図9に示すフローチャートに基づいて説明する。上述の依頼元装置となるECUでは、図4,図5,図6及び図9に示す処理が実行される。また、依頼先装置となるECUでは、図5,図7及び図8に示す処理が実行される。ここでは、先に挙げた例と同様に、ECU2Bが依頼元装置となり、ECU2Cが依頼先装置として選定される場合を想定して説明を続ける。
ECU2Bは、図4に示すように、S110において、グローバルバス5Aからデータを受信する。続いて、ECU2Bは、S112において、グローバルバス5Aから受信したデータが認証対象データか否かを判断する。認証対象データは、ECU2B,2C以外のECUがブロードキャスト通信によって第一ネットワーク1Aへと送信したデータである。ここでは、一例として、ECU3Hが認証対象データを送信したものとして、以降の説明を続ける。ECU3Hが認証対象データを送信した場合、認証対象データは第一ネットワーク1AにおいてECU3H以外のノード全てに届く。認証対象データを受信したノードは、認証対象データ中に含まれるIDに基づいて、処理対象とすべきデータか否か等を判断する。また、本実施形態の場合、少なくともECU2A〜2Dにおいては、認証対象データを受信したら、認証対象データを受信データバッファ12Aに格納する。
S110において受信したデータが認証対象データ以外のデータであった場合は、S112においてNOと判断され、S114へと進む。S114において、ECU2Bは、認証対象データ以外の受信データに対応する処理を実行する。S114において実行される処理としては、ECU2Bの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。S114の実行後は図4に示す処理を終了する。
S110において受信したデータが認証対象データであった場合は、S112においてYESと判断され、S116へと進む。S116において、ECU2Bは、代行依頼済みフラグがオフか否かを判断する。代行依頼済みフラグは、初期値がオフにされていて、後述する処理の中でECU2Bが他のECUに対して認証の代行を依頼すると、後述するS170においてオンにされるフラグである。ここでは、代行依頼済みフラグが初期値(すなわち、オフ。)になっているものとして説明を続ける。
代行依頼済みフラグがオフとなっている場合は、S116においてYESと判断され、S120へと進む。S120において、ECU2Bは、メッセージ認証処理を実行する。このメッセージ認証処理の詳細を図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へ送信する。
本実施形態においては、上述の通り、ECU2Cが依頼先装置として選定される場合を想定している。そのため、S160では、ECU2Cに対して認証代行依頼をするためのIDを代行依頼データに設定する。認証代行依頼をするためのIDとしては、依頼先装置となり得るECUごとに異なる複数のIDがあらかじめ用意されている。詳しくは後述するが、ECU2Bが、S160においてECU2Cに対して認証の代行を依頼した場合、以降、ECU2Bは、ECU2Cから認証済みデータを受け取るようになる。
S160を終えたら、続いて、ECU2Bは、S170において、代行依頼済みフラグをオンにする。代行依頼済みフラグは、S160においてECU2BがECU2Cに対して認証の代行を依頼した場合に、S170においてオンとなる。続いて、ECU2Bは、S172において、ダイアグ記憶処理を実行し、ダイアグ情報をダイアグ記憶部13Cに記憶する。S172では、ECU2Bにおいて認証に失敗した旨を示すダイアグコードや、認証失敗となった原因を特定する上で有用と考えられる各種周辺情報等がダイアグ記憶部13Cに記憶される。S172の実行後は図4に示す処理を終了する。
図4に示す処理は、ECU2Bがグローバルバス5Aからデータを受信するたびに、ECU2Bにおいて実行される。図4に示す処理が複数回にわたって実行される中で、ECU2Bが、S160においてECU2Cに対して認証の代行を依頼し、S170において代行依頼済みフラグがオンにされた場合、次に図4に示す処理が実行される際にはS116においてNOと判断される。この場合、ECU2Bは、S182において、復帰確認処理を実行する。
S182の復帰確認処理は、詳しくは図6に示すような処理となる。図6に示す処理を開始すると、ECU2Bは、S610において、復帰を確認するタイミングか否かを判断する。より詳しくは、S610では、ECU2BがECU2Cに認証の代行を依頼している状態から、ECU2Bが自ら認証処理を実行する状態に復帰するか否かを確認するタイミングに至ったか否かを判断する。
S610でいう確認を行うタイミングの具体例は種々考え得る。例えば、所定時間(例えば1時間。)が経過するたびに確認を行ってもよいし、車両が所定距離を走行するたびに確認を行ってもよい。あるいは、ECU2Bがグローバルバス5Aからデータを受信した回数が所定回数となるたびに確認を行ってもよい。認証対象データの受信周期が想定できるのであれば、その受信周期の所定数倍の周期で確認を行ってもよい。
復帰を確認するタイミングであった場合、S610ではYESと判断され、ECU2Bは、S620において、メッセージ認証処理を実行する。このメッセージ認証処理は、図5に示した処理となる。ただし、図5に示した処理については既に詳細を説明したので、重ねての説明は省略する。続いて、ECU2Cは、S630において、認証が成立したか否かを判断する。
S630で認証が成立している場合は、S630においてYESと判断され、S640へと進む。ECU2Bは、S640において、認証対象データに含まれる通常データを取り出して、以降の処理で利用する。ここでいう「以降の処理」としては、ECU2Bの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。
続いて、ECU2Bは、S650において、代行処理の継続中止を要求するための中止要求データを、ローカルバス6へ送信する。中止要求データであることは、中止要求データ中に含まれるIDによって示すことができる。詳しくは後述するが、ECU2Bが、S650においてECU2Cに対して代行処理の継続中止を要求した場合、以降、ECU2Cは、ECU2Bに対する認証済みデータの送信を中止する。
次に、ECU2Bは、S660において、代行依頼済みフラグをオフにする。続いて、ECU2Bは、S670において、ダイアグ記憶処理を実行し、ダイアグ情報をダイアグ記憶部13Cに記憶する。S670では、ECU2Bにおいて認証処理を実行可能な状態に復帰した旨を示すダイアグコードがダイアグ記憶部13Cに記憶される。S670の実行後は図6に示す処理を終了する。
上述のS610において、復帰を確認するタイミングではなかった場合、S610ではNOと判断され、S680へと進む。また、上述のS630において、認証に失敗した場合は、S630ではNOと判断され、S680へと進む。S610又はS630からS680へと進んだ場合、ECU2Bは、グローバルバス5Aから受信した受信データを破棄する。
詳しくは後述するが、ECU2Bが、図4のS160においてECU2Cに対して認証の代行を依頼した場合、以降、ECU2Bは、ECU2Cから認証済みデータを受け取るようになる。そのため、代行依頼済みフラグがオン(すなわち、図4のS116においてNO。)の場合、グローバルバス5Aから受信した認証対象データは、ECU2Bにとって不要なデータとなる。よって、図6のS610において、復帰を確認するタイミングではないと判断された場合は、直ちにS680へと進み、受信した認証対象データを破棄して、図6に示す処理を終了する。
一方、図6のS610において、復帰を確認するタイミングであると判断された場合は、S620以降の処理ステップを実行する。ただし、認証に失敗する状態が継続していれば、S630においてNOと判断される。この場合、ECU2Bは、引き続きECU2Cから認証済みデータを受け取るので、グローバルバス5Aから受信した認証対象データは、ECU2Bにとって不要なデータとなる。よって、図6のS630において、認証が成立しないと判断された場合は、S680へと進み、受信した認証対象データを破棄して、図6に示す処理を終了する。
ECU2Bにおいて上述のような処理が実行されている際、ECU2Cでは図7及び図8に示す処理が実行される。図7に示す処理は、ECU2Cがローカルバス6からデータを受信する際にECU2Cにおいて実行される処理である。図8に示す処理は、ECU2Cがグローバルバス5Bからデータを受信する際にECU2Cにおいて実行される処理である。まず、図7に示す処理について説明する。
ECU2Cは、図7に示すように、S310において、ローカルバス6からデータを受信する。続いて、ECU2Cは、S320において、上記S310で受信したデータがECU2C宛の代行依頼データか否かを判断する。ここで、代行依頼データであること、及びECU2C宛てであることは、受信データ中に含まれるIDに基づいて判断することができる。ECU2Bにおいて上述のS160が実行された場合、代行依頼データはブロードキャスト通信によって第二ネットワーク1Bへと送信される。そのため、代行依頼データは第二ネットワーク1BにおいてECU2B以外のノード全てに届く。
ECU2CにおいてECU2C宛の代行依頼データを受信した場合、ECU2Cでは、S320においてYESと判断されて、S325へと進む。S325において、ECU2Cは、代行継続フラグをオンにする。続いて、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の実行後は図7に示す処理を終了する。一方、S340で認証に失敗している場合には、S350においてNOと判断され、S370へと進む。ECU2Bは、S370において、認証失敗を示す失敗通知データをローカルバス6へ送信する。失敗通知データであることは、失敗通知データ中に含まれるIDによって示すことができる。S370の実行後は図7に示す処理を終了する。
ECU2Cにおいて上述のS360が実行された場合、認証済みデータはブロードキャスト通信によって第二ネットワーク1Bへと送信される。そのため、ECU2Cから送信される認証済みデータは、第二ネットワーク1BにおいてECU2C以外のノード全てに届く。ECU2Cにおいて上述のS370が実行された場合、失敗通知データはブロードキャスト通信によって第二ネットワーク1Bへと送信される。そのため、ECU2Cから送信される失敗通知データは、第二ネットワーク1BにおいてECU2C以外のノード全てに届く。
上述のS320において代行依頼データではなかった場合は、S320においてNOと判断され、その場合、ECU2Cは、S372において、中止要求データか否かを判断する。中止要求データは、ECU2Bが上述のS650を実行した際に送信するデータである。中止要求データであることは、受信データ中に含まれるIDに基づいて判断することができる。ECU2Cが中止要求データを受信した場合、S372ではYESと判断され、ECU2Cは、S374において、代行継続フラグをオフにする。S374の実行後は図7に示す処理を終了する。
上述のS372において中止要求データではなかった場合は、S372においてNOと判断され、その場合、ECU2Cは、S380において、代行依頼データ及び中止要求データ以外の受信データに対応する処理を実行する。S380において実行される処理としては、ECU2Cの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。S380の実行後は図7に示す処理を終了する。
次に、図8に示す処理について説明する。ECU2Cは、図8に示すように、S510において、グローバルバス5Bからデータを受信する。続いて、ECU2Cは、S512において、受信データを受信データバッファ12Aに保存する。S512が実行されることにより、既に説明した通り、受信データバッファ12Aには、最新の一定期間を対象にして第一ネットワーク1A経由で受信したデータが蓄積される。
続いて、ECU2Cは、S514において、受信データが他のECU宛か否かを判断する。受信データが他のECU宛であった場合は、S514においてYESと判断され、ECU2Cは、S516において、代行継続フラグがオンとなっているか否かを判断する。代行継続フラグがオンとなっている場合は、S516においてYESと判断され、ECU2Cは、S520において、処理対象となる認証対象データか否かを判断する。
ECU2Bが認証代行の依頼元装置、ECU2Cが認証代行の依頼先装置となる場合、グローバルバス5Bから受信するデータのうち、ECU2B宛てかつ認証が必要なデータが、S520でいう処理対象となる認証対象データに該当する。S510においてECU2Cによって受信されたデータがECU2B宛のデータである場合、S514ではYESと判断される。
また、先に説明したS325において、代行継続フラグがオンとされた場合、S516ではYESと判断される。そして、S510においてECU2Cによって受信されたデータが、処理対象となる認証対象データである場合、S520ではYESと判断されて、S540へと進む。ECU2Cは、S540において、S510においてECU2Cによって受信された認証対象データに対し、メッセージ認証処理を実行する。
このメッセージ認証処理は、図5に示した処理となる。ただし、図5に示した処理については既に詳細を説明したので、重ねての説明は省略する。S540においてメッセージ認証処理を実行する場合、図5のS210における「処理対象となるデータ」は、S510においてECU2Cによって受信された認証対象データである。続いて、ECU2Cは、S550において、認証が成立したか否かを判断する。
S540で認証が成立している場合は、S550においてYESと判断され、S560へと進む。ECU2Bは、S560において、認証対象データに含まれる通常データを取り出して、その通常データを含む認証済みデータを作成し、認証済みデータにCVNを付加して、ローカルバス6へ送信する。認証済みデータであることは、認証済みデータ中に含まれるIDによって示すことができる。S560は、先に説明したS360と同様の処理ステップである。S560の実行後は図8に示す処理を終了する。
一方、S540で認証に失敗している場合には、S550においてNOと判断され、S570へと進む。ECU2Bは、S570において、認証失敗を示す失敗通知データをローカルバス6へ送信する。S570は、先に説明したS370と同様の処理ステップである。S570の実行後は図8に示す処理を終了する。上述のS516において代行継続フラグがオンでない場合(すなわち、オフである場合。)は、S516においてNOと判断される。この場合は、他のECUから認証の代行を依頼されていない場合なので、S575において、受信データを破棄する。S575の実行後は図8に示す処理を終了する。
また、上述のS520において、処理対象となる認証対象データではなかった場合は、S520においてNOと判断される。この場合は、他のECUから認証の代行を依頼されている場合ではあるものの、処理対象となる認証対象データではないので、S575において、受信データを破棄する。S575の実行後は図8に示す処理を終了する。上述のS514において、受信データが他のECU宛ではない場合(すなわち、ECU2C宛のデータである場合。)は、S514においてNOと判断され、その場合、ECU2Cは、S580において、受信データに対応する処理を実行する。S580において実行される処理としては、ECU2Cの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。S580の実行後は図8に示す処理を終了する。
ECU2Cにおいて上述のような処理が実行されている際、ECU2Bでは図9に示す処理が実行される。ECU2Bは、図9に示すように、S410において、ローカルバス6からデータを受信する。続いて、ECU2Cは、S420において、上記S410で受信したデータが認証済みデータか否かを判断する。ここで、認証済みデータであることは、受信データ中に含まれるIDに基づいて判断することができる。ECU2Cにおいて上述のS360又はS560が実行された場合、認証済みデータはブロードキャスト通信によって第二ネットワーク1Bへと送信される。そのため、認証済みデータは第二ネットワーク1BにおいてECU2C以外のノード全てに届く。
上述のS420において認証済みデータであった場合は、S420においてYESと判断される。その場合、ECU2Bは、S425において、なりすまし確認OKフラグがオフか否かを判断する。なりすまし確認OKフラグは、初期値がオフにされていて、後述するS430,S440においてなりすまし確認が適正に実行されると、後述するS445においてオンにされるフラグである。ここでは、なりすまし確認OKフラグが初期値(すなわち、オフ。)になっているものとして説明を続ける。
なりすまし確認OKフラグがオフになっている場合、S425においてYESと判断される。その場合、ECU2Bは、S430及びS440を実行することにより、認証済みデータに対するなりすまし確認を実施する。具体的には、ECU2Bは、S430において、認証済みデータに付加されたCVNを取り出す。そして、S440において、CVNが適正か否かを判断する。S440では、受信した認証済みデータから取り出されたCVNと、CVN記憶部13Bに記憶されたCVNとを比較する。CVN記憶部13Bには、ECU2A〜2Dにおいて生成、出力されたCVNが記憶されているので、S440では、ECU2Cに対応するCVNが比較対象として選択される。
この比較の結果、両者が一致すれば、CVNは適正であり、S440においてYESと判断され、S445へと進む。S445へ進んだ場合、なりすまし確認が適正に実行されたことになり、ECU2Bは、なりすまし確認OKフラグをオンにする。そして、ECU2Bは、S450において、認証済みデータに含まれる通常データを取り出して、以降の処理で利用する。ここでいう「以降の処理」としては、ECU2Bの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。S450の実行後は図9に示す処理を終了する。
一方、上述のS440において、比較結果が一致しなければ、受信した認証済みデータから取り出されたCVNが不適正である可能性が高い。この場合、ECU2C以外のノードがECU2Cになりすまして認証済みデータを送信している可能性がある。あるいは、ECU2Cのソフトウェアが改ざんされている可能性や、ECU2Cが換装されている可能性もある。よって、このような状況下では、認証済みデータを受信したとしても、認証済みデータそのものの信頼性が低い。
そこで、上述のS440における比較結果が一致しなければ、CVNが不適正であり、S440においてNOと判断され、S460へと進む。S460において、ECU2Bは、受信した認証済みデータを破棄して、フェイルセーフデータを以降の処理で利用する。フェイルセーフデータは、ECU2Bが受信する認証対象データや認証済みデータに問題があって使用できない場合に、代替使用されるデータである。
このようなフェイルセーフデータは、例えばフラッシュメモリ13にあらかじめ記憶されていればよい。あるいは、認証対象データを過去に一定期間以上の長期にわたって受信できていた場合は、その平均値、最大値、あるいは最小値等を経時的に算出し、いつでもフェイルセーフデータとして利用できるように準備しておいてもよい。どのようなかたちでフェイルセーフデータを用意するかは、ECU2Bによる制御対象の挙動なども考慮して最適化されていればよい。S460の実行後は図9に示す処理を終了する。
図9に示す処理は、ECU2Bがローカルバス6からデータを受信するたびに、ECU2Bにおいて実行される。その際、S430−S445の処理ステップは、一回実行されていれば、以降は、毎回実行しなくても認証済みデータは信頼できるものと考えられる。そこで、なりすまし確認OKフラグがオフではない場合(すなわち、オンである場合。)は、S425においてはNOと判断され、S430−S445を実行することなく、S450へと進む。これにより、S430−S445を実行しない分だけ、ECU2Bにかかる負荷を軽減することができる。
また、上述のS420において、上記S410で受信したデータが認証済みデータではなかった場合は、S420においてNOと判断され、その場合、ECU2Cは、S470において、上記S410で受信したデータが失敗通知データか否かを判断する。ここで、失敗通知データであることは、受信データ中に含まれるIDに基づいて判断することができる。失敗通知データであった場合は、S470においてYESと判断され、上述のS460へと進む。S460については既に説明したので、重ねての説明は省略する。S460の実行後は図9に示す処理を終了する。
上述のS470において失敗通知データではなかった場合は、S470においてNOと判断され、その場合、ECU2Bは、S480において、認証済みデータ及び失敗通知データ以外の受信データに対応する処理を実行する。S480において実行される処理としては、ECU2Bの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。S480の実行後は図9に示す処理を終了する。
[効果]
以上説明した通り、上記ネットワークシステム1によれば、ECU2Bにおいて認証対象データの認証に失敗した場合でも、依頼先装置となるECU2Cにおいて認証対象データの認証に成功すれば、依頼元装置となるECU2Bは認証済みデータに含まれる認証対象データの内容を利用することができる。したがって、例えば、ECU2Bにおいて認証処理を実行するために必要となるハードウェア又はソフトウェアに故障等の問題が生じていたとしても、ECU2BはECU2Cにおいて認証された認証対象データの内容を利用して、所期の処理を実行することができる。
また、本実施形態の場合、依頼先装置であるECU2Cは、代行依頼データの受信後は、S325において代行継続フラグをオンにする。これ以降、ECU2Cは、第一ネットワーク1A経由で依頼元装置であるECU2B宛に認証対象データが伝送されるたびに、S514−S560を実行し、認証済みデータをECU2Bへ送信する。したがって、ECU2Bでは、認証対象データを受信するたびにECU2Cに対して代行依頼データを送信しなくても、ECU2Cから認証済みデータを継続的に受信することができる。よって、ECU2Bが認証対象データを受信するたびにECU2Cへ代行依頼データを送信するように構成されている場合に比べ、ECU2Bにかかる負荷を軽減することができる。また、代行依頼データの送信頻度が低下する分だけ、第二ネットワーク1Bにかかる負荷も低減することができる。
また、本実施形態の場合、ECU2Bは、代行依頼データの送信後は、認証対象データを受信した場合に、S620において認証対象データに対する認証処理を実行し、ECU2Bにおいて認証に失敗する状態が継続しているか否かを確認する確認処理(すなわち、S610−S630。)を実行する。したがって、ECU2Bは、確認処理の結果に応じて、より適切な処理を実行することができる。
具体的には、上述の通り、ECU2Bにおいて認証に失敗する状態が継続していれば、S630においてNOとなり、ECU2Cによる認証の代行を継続することができる。また、ECU2Bにおいて認証に失敗する状態が継続していなければ、S630においてYESとなり、S650を実行して、ECU2Cによる認証の代行を中止することができる。
あるいは、ECU2Cによる認証の代行を中止してもよい状態になった旨を、S670により、ダイアグ情報として保存することができる。本実施形態の場合、ECU2Bが代行依頼を開始する際にも、S172により、ダイアグ情報を保存する。したがって、ECU2Bが、いつ代行依頼を開始し、その後、いつ代行依頼を中止して通常の状態に復帰したのかを、ダイアグ情報に基づいて事後的に知ることができる。
[他の実施形態]
以上、ネットワークシステムについて、例示的な実施形態を挙げて説明したが、上述の実施形態は本開示の一態様として例示されるものにすぎない。すなわち、本開示は、上述の例示的な実施形態に限定されるものではなく、本開示の技術的思想を逸脱しない範囲内において、様々な形態で実施することができる。
例えば、上記実施形態では、ECU2Bが依頼元装置となり、ECU2Cが依頼先装置となる例を示したが、ECU2A〜2Dはいずれが依頼元装置となってもよい。また、ECU2A〜2Dのうち、依頼元装置以外のECUは、いずれが依頼先装置となってもよい。さらに、ECU3A〜3Hがローカルバス6に接続されていてもよく、その場合は、ECU3A〜3Hが依頼元装置又は依頼先装置となってもよい。
また、上記実施形態では、メッセージ認証による認証処理を実施する例を示したが、メッセージ認証以外の方式で認証を行ってもよいし、メッセージ認証とメッセージ認証以外の方式とを併用してもよい。例えば、上記実施形態では、通常データと暗号データとを伝送し、受信側において通常データを暗号化して、その暗号化されたデータと暗号データとを比較して認証成立か否かを判断していたが、他の認証手順を採用することもできる。一例を挙げれば、例えば、通常データと暗号データとを伝送し、受信側において暗号データを復号して、その復号されたデータと通常データとを比較して認証成立か否かを判断してもよい。
また、上記実施形態では、認証済みデータを送信する際にCVNを送信することにより、受信側で認証済みデータの送信元が適正なノードか否かを確認するようにしていたが、認証済みデータの送信元が適正なノードか否かを確認できるような固有値を送信できれば、その固有値がCVNであるか否かは任意である。さらに、上記実施形態で例示した仕組み以外に、認証済みデータの送信元が適正なノードか否かを確認可能な仕組みを別途備えている場合には、上記実施形態で例示した適正なノードか否かを確認する仕組みを省略してもよい。あるいは、認証済みデータの送信元が適正なノードであると十分に信頼できる場合についても、上記実施形態で例示した適正なノードか否かを確認する仕組みを省略してもよい。
また、上記実施形態では、認証済みデータの送信元が適正なノードか否かを一度確認したら、二回目以降は確認を省略する例を示したが、二回目以降も同様な確認を省略することなく実施してもよい。
また、上記実施形態では、S172,S670において、ダイアグ情報をダイアグ記憶部13Cに記憶する例を示したが、このような不揮発性記憶領域にダイアグ情報を保存する以外に、ダイアグ情報を所定の出力先へ出力してもよい。例えば、車両に搭載されたディスプレイや警告灯等の表示装置にダイアグ情報を出力してもよい。
あるいは、車両に搭載された無線通信装置にダイアグ情報を出力してもよい。この場合、無線通信装置は更に無線通信によってダイアグ情報を送信し、そのダイアグ情報を受信する受信装置においてダイアグ情報の保存又は出力を行うことができる。このような受信装置は、車両の利用者が所持する無線通信端末(例えば、スマートフォンやパーソナルコンピュータ。)であってもよいし、顧客の車両の状態を自動車ディーラ等で管理している場合は、自動車ディーラ等に設置される管理装置として構成されたものであってもよい。このような管理装置を設ければ、顧客の車両において発生した事象を容易に自動車ディーラ等で把握することができる。
また、上記実施形態では、単一のCGW4によって複数のグローバルバス5A,5B,5Cを相互に接続していたが、複数のグローバルバス5A,5B,5Cを相互に接続可能に構成されていれば、複数のゲートウェイを採用してもよい。例えば、第一のゲートウェイでグローバルバス5Aとグローバルバス5Bとを接続し、第二のゲートウェイでグローバルバス5Bとグローバルバス5Cとを接続することにより、グローバルバス5Aとグローバルバス5Cは、二つのゲートウェイ及びグローバルバス5Bを介して通信可能に構成されていてもよい。
以上の他、上記各実施形態における一つの構成要素によって実現していた機能を、複数の構成要素によって実現するように構成してもよい。また、複数の構成要素によって実現していた機能を一つの構成要素によって実現するように構成してもよい。また、上記各実施形態の構成の一部を省略してもよい。また、上記各実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加、置換等してもよい。なお、特許請求の範囲に記載の文言から特定される技術思想に含まれる全ての態様が本開示の実施形態に該当する。
また、上述したネットワークシステムの他、本開示のネットワークシステムを構成可能な電子装置、本開示のネットワークシステムを備えた車両、本開示でいう電子装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した記録媒体など、種々の形態で本開示を実現することもできる。
[補足]
以上説明した例示的な実施形態から明らかなように、本開示のネットワークシステムは、更に以下に挙げるような構成を備えていてもよい。
本開示の一態様では、依頼元装置は、代行依頼データの送信後は、認証対象データを受信する頻度よりも低い頻度で、認証処理及び確認処理を実行するように構成されていてもよい(S610−S630)。
本開示の一態様では、依頼元装置は、認証処理において認証に失敗した場合に、認証に失敗したことを示す情報を保存又は出力するように構成されていてもよい(S172)。
本開示の一態様では、依頼元装置は、確認処理により、依頼元装置において認証に失敗する状態が継続していないことを確認できたら、依頼先装置に対して認証処理の代行中止を要求するための中止要求データを、第二ネットワーク経由で依頼先装置へと送信するように構成されてもよい(S650)。依頼元装置は、中止要求データの送信後は、認証対象データを受信した場合に、認証処理を実行する状態に復帰するように構成されていてもよい(S660)。
本開示の一態様では、依頼元装置は、認証処理を実行する状態に復帰した場合に、復帰したことを示す情報を保存又は出力するように構成されていてもよい(S670)。
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…CVN記憶部、13C…ダイアグ記憶部、16…第一通信部、17…第二通信部。

Claims (5)

  1. 第一ネットワーク(1A)のノードとして機能し、かつ、前記第一ネットワークとは独立に構築される第二ネットワーク(1B)のノードとしても機能するように構成された複数の電子装置(2A,2B,2C,2D)を含み、
    前記複数の電子装置は、前記第一ネットワーク及び前記第二ネットワークの外部にある外部機器とは、前記第一ネットワーク経由で通信可能に構成され、
    前記複数の電子装置のうちの少なくとも一つの電子装置は、依頼元装置(2B)として機能可能に構成され、
    前記複数の電子装置のうちの少なくとも一つの電子装置は、依頼先装置(2C)として機能可能に構成され、
    前記複数の電子装置のうちの一つの電子装置が前記依頼元装置として機能する際に、前記依頼元装置とは別の少なくとも一つの電子装置が前記依頼先装置として機能可能に構成され、
    前記依頼元装置は、認証処理の対象とされる認証対象データが前記第一ネットワーク経由で前記依頼元装置宛に伝送された場合に、前記認証対象データを受信して、前記認証対象データに対する認証処理を実行し(S120,S210−S250)、認証に成功した場合には、当該認証成功以降の処理において前記認証対象データの内容を利用し(S140)、認証に失敗した場合には、前記依頼先装置に対して認証処理の代行を依頼するための代行依頼データを、前記第二ネットワーク経由で前記依頼先装置へと送信するように構成され(S150,S160)、
    前記依頼先装置は、前記代行依頼データの受信後は、前記第一ネットワーク経由で前記依頼元装置宛に前記認証対象データが伝送されるたびに、前記認証対象データを受信して(S510,S514,S520)前記認証対象データに対する認証処理を実行し(S540)、認証に成功した場合には、認証に成功した前記認証対象データの内容を含む認証済みデータを前記第二ネットワーク経由で前記依頼元装置に対して送信するように構成され(S550,S560)、
    前記依頼元装置は、前記認証済みデータを受信した場合に、前記認証済みデータに含まれる前記認証対象データの内容を利用するように構成され(S450)、
    前記依頼元装置は、前記代行依頼データの送信後は、前記認証対象データを受信した場合に、前記認証対象データに対する認証処理を実行し、前記依頼元装置において認証に失敗する状態が継続しているか否かを確認する確認処理を実行するように構成されている(S182,S610−S630)
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記依頼元装置は、前記代行依頼データの送信後は、前記認証対象データを受信する頻度よりも低い頻度で、前記認証処理及び前記確認処理を実行するように構成されている(S610)
    ネットワークシステム。
  3. 請求項1又は請求項2に記載のネットワークシステムであって、
    前記依頼元装置は、前記認証処理において認証に失敗した場合に、認証に失敗したことを示す情報を保存又は出力するように構成されている(S172)
    ネットワークシステム。
  4. 請求項1から請求項3までのいずれか一項に記載のネットワークシステムであって、
    前記依頼元装置は、前記確認処理により、前記依頼元装置において認証に失敗する状態が継続していないことを確認できたら、前記依頼先装置に対して認証処理の代行中止を要求するための中止要求データを、前記第二ネットワーク経由で前記依頼先装置へと送信するように構成され(S650)、
    前記依頼元装置は、前記中止要求データの送信後は、前記認証対象データを受信した場合に、前記認証処理を実行する状態に復帰するように構成されている(S660)
    ネットワークシステム。
  5. 請求項4に記載のネットワークシステムであって、
    前記依頼元装置は、前記認証処理を実行する状態に復帰した場合に、復帰したことを示す情報を保存又は出力するように構成されている(S670)
    ネットワークシステム。
JP2018003290A 2018-01-12 2018-01-12 ネットワークシステム Active JP6950540B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018003290A JP6950540B2 (ja) 2018-01-12 2018-01-12 ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018003290A JP6950540B2 (ja) 2018-01-12 2018-01-12 ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2019125838A true JP2019125838A (ja) 2019-07-25
JP6950540B2 JP6950540B2 (ja) 2021-10-13

Family

ID=67399113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018003290A Active JP6950540B2 (ja) 2018-01-12 2018-01-12 ネットワークシステム

Country Status (1)

Country Link
JP (1) JP6950540B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113442849A (zh) * 2020-03-25 2021-09-28 丰田自动车株式会社 车辆控制系统、数据发送方法及记录程序的记录介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004350137A (ja) * 2003-05-23 2004-12-09 Denso Corp 車両用通信システム
US8059821B1 (en) * 2006-12-27 2011-11-15 Stamps.Com Inc. Method and system for disaster recovery in network systems
US20160072781A1 (en) * 2014-09-10 2016-03-10 Cisco Technology, Inc Supporting differentiated secure communications among heterogeneous electronic devices
JP2017059211A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2017074887A (ja) * 2015-10-16 2017-04-20 日立オートモティブシステムズ株式会社 自動運転システム、自動運転制御方法、データecuおよび自動運転ecu

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004350137A (ja) * 2003-05-23 2004-12-09 Denso Corp 車両用通信システム
US8059821B1 (en) * 2006-12-27 2011-11-15 Stamps.Com Inc. Method and system for disaster recovery in network systems
US20160072781A1 (en) * 2014-09-10 2016-03-10 Cisco Technology, Inc Supporting differentiated secure communications among heterogeneous electronic devices
JP2017059211A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP2017074887A (ja) * 2015-10-16 2017-04-20 日立オートモティブシステムズ株式会社 自動運転システム、自動運転制御方法、データecuおよび自動運転ecu

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113442849A (zh) * 2020-03-25 2021-09-28 丰田自动车株式会社 车辆控制系统、数据发送方法及记录程序的记录介质
JP2021158454A (ja) * 2020-03-25 2021-10-07 トヨタ自動車株式会社 車両制御システム、データ送信方法及びプログラム
US11814069B2 (en) 2020-03-25 2023-11-14 Toyota Jidosha Kabushiki Kaisha Vehicle control system, data transmitting method, and recording medium on which program is recorded
CN113442849B (zh) * 2020-03-25 2024-02-13 丰田自动车株式会社 车辆控制系统、数据发送方法及记录程序的记录介质

Also Published As

Publication number Publication date
JP6950540B2 (ja) 2021-10-13

Similar Documents

Publication Publication Date Title
US10104094B2 (en) On-vehicle communication system
JP6477281B2 (ja) 車載中継装置、車載通信システム及び中継プログラム
JP5479408B2 (ja) 車載ネットワークシステム
CN111131313B (zh) 智能网联汽车更换ecu的安全保障方法及系统
JP5395036B2 (ja) 車載ネットワークシステム
CN110708388B (zh) 用于提供安全服务的车身安全锚节点设备、方法以及网络系统
JP2018133744A (ja) 通信システム、車両、および監視方法
WO2018017566A1 (en) Hash-chain based sender identification scheme
WO2018173732A1 (ja) 車載通信装置、コンピュータプログラム及びメッセージ判定方法
JP6981755B2 (ja) 車載ネットワークシステム
CN112153646A (zh) 认证方法、设备及系统
CN104796255A (zh) 一种客户端的安全认证方法、设备及系统
WO2017126471A1 (ja) 認証システム、認証要求装置、車載電子機器、コンピュータプログラム及び認証処理方法
JP6950540B2 (ja) ネットワークシステム
JP6950539B2 (ja) ネットワークシステム
JP7067508B2 (ja) ネットワークシステム
JP6919430B2 (ja) ネットワークシステム
JP6885305B2 (ja) ネットワークシステム
JP6954167B2 (ja) ネットワークシステム
JP7132132B2 (ja) 車載通信システム、車載通信制御装置、車載通信装置、コンピュータプログラム、通信制御方法及び通信方法
JP6969450B2 (ja) ネットワークシステム
JP2013121071A (ja) 中継システム及び、当該中継システムを構成する中継装置、外部装置
CN112977331A (zh) 汽车远程控制装置、车身控制设备、系统及控制方法
JP6681755B2 (ja) 車両用通信網装置及び通信方法
CN115376226B (zh) Nfc车钥匙认证方法、装置、车辆及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210816

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: 20210824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210906

R151 Written notification of patent or utility model registration

Ref document number: 6950540

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151