Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6779853B2 - 情報処理システム、および情報処理方法 - Google Patents
[go: Go Back, main page]

JP6779853B2 - 情報処理システム、および情報処理方法 - Google Patents

情報処理システム、および情報処理方法 Download PDF

Info

Publication number
JP6779853B2
JP6779853B2 JP2017224876A JP2017224876A JP6779853B2 JP 6779853 B2 JP6779853 B2 JP 6779853B2 JP 2017224876 A JP2017224876 A JP 2017224876A JP 2017224876 A JP2017224876 A JP 2017224876A JP 6779853 B2 JP6779853 B2 JP 6779853B2
Authority
JP
Japan
Prior art keywords
unit
information
communication data
node
verification
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
JP2017224876A
Other languages
English (en)
Other versions
JP2018186486A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to US15/894,454 priority Critical patent/US20180310173A1/en
Priority to EP18156554.0A priority patent/EP3396922A1/en
Publication of JP2018186486A publication Critical patent/JP2018186486A/ja
Application granted granted Critical
Publication of JP6779853B2 publication Critical patent/JP6779853B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Time Recorders, Dirve Recorders, Access Control (AREA)

Description

本発明の実施形態は、情報処理装置、情報処理システム、および情報処理方法に関する。
複数のノードをネットワークに接続し、これらのノード間の通信を、ゲートウェイ装置(以下、「GW」と略称する)を介して行うシステムが知られている。例えば、このようなシステムを車両に搭載した構成が開示されている。また、運転環境モニタリング結果、車両内外の通信、運転者の操作、車両内部システム状態に関するログ、などのログデータを、車両の走行状態の解析に用いることが行われている。
例えば、車両挙動の検出時点に応じた期間内の車両情報を、車両に記憶し、サーバへ送信するシステムが開示されている。ここで、ログデータの解析時には、車両に搭載されたノード間およびノード内における、通信データの因果関係の推定を要する場合がある。しかし、従来では、ログデータに含まれる通信データの各々の、ノード間およびノード内における因果関係を推定可能な情報が提供されていなかった。すなわち、従来では、ログ解析に有用なデータを提供することが困難であった。
特開2017−004445号公報
本発明が解決しようとする課題は、ログ解析に有用なデータを提供可能な、情報処理装置、情報処理システム、および情報処理方法を提供することである。
実施の形態の情報処理装置は、記憶制御部を備える。記憶制御部は、ネットワークを介して接続されたノードの通信データと、前記通信データの通信時に前記ノード間の認証に用いる認証情報と、を対応づけて記憶部に記憶する。
情報処理システムの概要を示す模式図。 GWのハードウェア構成例を示すブロック図。 ノードのハードウェア構成例を示すブロック図。 GWおよびノードの機能的な構成例を示すブロック図。 ログDBのデータ構成の一例を示す模式図。 ログDBのデータ構成の一例を示す模式図。 GWで実行する情報処理の手順の一例を示すフローチャート。 ノードで実行する情報処理の手順の一例を示すフローチャート。 GWおよびノードの機能的な構成例を示すブロック図。 ログDBのデータ構成の一例を示す模式図。 GWで実行する情報処理の手順の一例を示すフローチャート。 ノードで実行する情報処理の手順の一例を示すフローチャート。
実施の形態の情報処理システムは、例えば、移動体の一例である自動車に搭載される車載ネットワークシステム(通信システム)に適用できる。以下では、車載ネットワークシステムに含まれる車載ゲートウェイ装置(以下、「GW」と略称する)を、実施の形態の情報処理装置として構成した例を説明する。また、以下では、車載ネットワークシステムに含まれる電子制御装置(ECU:Electronic Control Unit、以下、「ECU」と略称する)や各種センサや機器を、実施の形態のノードとして構成した例を説明する。
なお、実施形態の情報処理システムを適用可能な装置やシステムは以下の例に限られない。実施の形態の情報処理システムは、解析対象の通信データを通信する、様々なシステムに広く適用可能である。
(第1の実施の形態)
図1は、情報処理システム1の概要を示す模式図である。情報処理システム1は、例えば、車両2に搭載されている。
情報処理システム1は、GW10と、複数のノード20と、を備える。複数のノード20と、GW10と、は、ネットワークNを介して接続されている。図1に示す例では、情報処理システム1は、ネットワークNとして、複数のサブネットワーク(サブネットワークN1、サブネットワークN2)を含む。これらの複数のサブネットワークの各々には、ノード20が接続されている。また、これらの複数のサブネットワークは、GW10に接続されている。
また、GW10には、V2X通信モジュール50および通信モジュール52が接続されている。通信モジュール52は、外部ネットワーク26を介して外部装置と通信するためのモジュールである。V2X通信モジュール50は、通信インフラを介さずに、他の車両2との間で直接無線通信を行うためのモジュールである。直接無線通信には、例えば、車車間・路車間通信(V2X:Vehicle−to−Everything)を用いる。なお、V2X通信は、C2X(Car−to−X)通信と称される場合もある。
GW10は、情報処理装置の一例である。GW10は、本来のゲートウェイとしての機能に加えて、後述する各処理を実行する。本来のゲートウェイとしての機能は、例えば、情報処理システム1内のサブネットワーク(例えば、サブネットワークN1、サブネットワークN2)間の通信の中継およびフィルタリングや、情報処理システム1と車外の外部ネットワーク26との間の通信の中継およびフィルタリングや、他の車両2との直接の通信の中継およびフィルタリングなどである。
ノード20は、ノードの一例である。ノード20は、GW10を介して他のノード20との間で、通信データを通信する電子機器である。ノード20は、例えば、ECUや、各種センサや、アクチュエータなどである。ECUは、車両2における各種制御を行う電子機器である。図1には、ノード20の一例として、ECU20a、ECU20b、センサ20c、ECU20d、およびアクチュエータ20eを、示した。ノード20は、電子機器としての本来の機能に加えて、後述する各処理を実行する。
情報処理システム1の通信規格は限定されない。情報処理システム1の通信規格は、例えば、CAN(Controller Area Network)やFlexRay(登録商標)などである。
図2は、GW10のハードウェア構成例を示すブロック図である。GW10は、CPU(Central Processing Unit)11などの制御装置と、ROM(Read Only Memory)12やRAM(Random Access Memory)13などの記憶装置と、ネットワークI/F14と、通信I/F15と、通信I/F16と、メモリI/F17と、がバス19を介して接続された構成である。
ネットワークI/F14は、サブネットワークを介してノード20と通信するための通信インターフェースである。通信I/F15は、直接無線通信を行う通信インターフェースである。通信I/F16は、外部ネットワーク26を介して外部装置と通信する通信インターフェースである。メモリI/F17は、ST(ストレージ)18へアクセスするためのインターフェースである。ST18は、各種情報を記憶するメモリである。ST18は、例えば、ハードディスクや、不揮発性メモリを使用したSSD(Solid State Drive)などである。
GW10では、CPU11が、ROM12からプログラムをRAM13上に読み出して実行することにより、後述する各種の機能が実現される。
図3は、ノード20のハードウェア構成例を示すブロック図である。ノード20は、CPU21などの制御装置と、ROM22やRAM23などの記憶装置と、ネットワークI/F24と、メモリI/F17と、がバス29を介して接続された構成である。
ネットワークI/F24は、サブネットワークおよびGW10を介して他のノード20と通信するための通信インターフェースである。メモリI/F27は、ST28へアクセスするためのインターフェースである。ST28は、各種情報を記憶するメモリである。
ノード20では、CPU21が、ROM22からプログラムをRAM23上に読み出して実行することにより、後述する各種の機能が実現される。
図4は、本実施の形態の情報処理システム1に含まれるGW10およびノード20の各々の、機能的な構成例を示すブロック図である。なお、図4には、説明を簡略化するために、1台のノード20を示した。しかし、実際には、複数のノード20が、GW10を介して通信し、後述する処理を実行する。
―GW10―
まず、GW10について説明する。GW10は、制御部32と、記憶部34と、を備える。制御部32と記憶部34とは、データや信号を授受可能に接続されている。
記憶部34は、各種情報を記憶する。記憶部34は、記憶部および第1記憶部の一例である。記憶部34は、例えば、ST18(図2参照)により実現する。本実施の形態では、記憶部34は、共通鍵34Aと、ログDB34Bと、を記憶する(詳細後述)。
制御部32は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム(ソフトウェア)に従って様々な制御を実行する。制御部32は、送受信部32Aと、検証部32Dと、GW処理部32Eと、生成部32Fと、記憶制御部32Gと、を備える。送受信部32Aは、受信部32Bと、送信部32Cと、を備える。
これらの各部(送受信部32A、受信部32B、送信部32C、検証部32D、GW処理部32E、生成部32F、記憶制御部32G)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU11などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
送受信部32Aは、ノード20や他の情報処理システム1や外部装置などと、各種のデータを送受信する。本実施の形態では、送受信部32Aは、ノード20との間で通信データを送受信する。送受信部32Aは、受信部32Bと、送信部32Cと、を含む。受信部32Bは、ノード20から通信データを受信する。送信部32Cは、受信した通信データを、該通信データの送信先のノード20へ送信する。
ここで、複数のノード20がGW10を介して通信データを送受信する際には、誤った制御が行われないようにするために、通信の正当性が保証される必要がある。このため、ノード20は、通信データに認証情報を付与し、送信する。詳細には、ノード20は、通信データと、認証情報と、通信データの送信先を示す送信先情報と、をGW10へ送信する。送信先情報は、送信先の他のノード20の識別情報である。
認証情報は、ノード20間の認証に用いる情報である。認証情報は、通信の正当性を保証するための情報であればよい。認証情報は、例えば、MAC(メッセージ認証コード:Message Authentication Code)、乱数、カウンタ値、または、デジタル署名である。
認証情報は、ノード20で生成される。なお、情報処理システム1で用いる認証情報の種類は、情報処理システム1に含まれるGW10およびノード20の間で、同じであるものとする。
このため、本実施の形態では、GW10の受信部32Bは、通信データ、認証情報、および送信先情報を、ノード20から受信する。また、送信部32Cは、通信データ、認証情報、および送信先情報を、ノード20へ送信する。
なお、GW10がノード20から受信する通信データが、他のノード20へ送信する対象のデータではない場合がある。例えば、GW10は、ノード20内の処理結果を示す情報を、通信データとして受信する場合がある。この場合、受信部32Bは、送信先情報を含まない(すなわち、通信データおよび認証情報)を、ノード20から受信することとなる。
検証部32Dは、認証情報を検証する。
認証情報がMACである場合、検証部32Dは、記憶部34から、記憶制御部32Gを介して共通鍵34Aを取得する。共通鍵34Aは、予め記憶部34へ記憶しておけばよい。なお、記憶部34は、情報処理システム1に含まれる全てのノード20との間で共通する1つの共通鍵34Aを予め記憶してもよいし、サブネットワークごとに共通する共通鍵34Aを予め記憶してもよいし、ノード20ごとに対応する共通鍵34Aを予め記憶してもよい。
そして、検証部32Dは、受信部32Bで受信した通信データと、共通鍵34Aと、を用いてMACを算出する。検証部32Dは、算出したMACと、該通信データと共に受信したMACとを比較し、一致する場合、検証正常と判断し、不一致の場合、検証異常と判断する。そして、検証部32Dは、検証正常または検証異常を示す検証結果を、記憶制御部32GおよびGW処理部32Eへ出力する。
認証情報が乱数である場合、GW10は、疑似乱数発生器を備えた構成とすればよい。そして、検証部32Dは、乱数値(更新前の乱数値)を記憶部34から読取る。そして、検証部32Dは、読取った乱数値を疑似乱数発生器へ入力し、乱数値を更新する。検証部32Dは、更新後の乱数値を更新前の乱数値として記憶部34へ記憶する。また、検証部32Dは、更新後の乱数値と、受信部32Bで通信データと共に受信した乱数値と、を比較する。検証部32Dは、一致する場合、検証正常と判断し、不一致の場合、検証異常と判断する。そして、検証部32Dは、検証正常または検証異常を示す検証結果を、記憶制御部32GおよびGW処理部32Eへ出力する。
認証情報がカウンタ値である場合、GW10は、カウンタ値を発生させるカウンタを備えた構成とすればよい。そして、検証部32Dは、カウンタ値(更新前のカウンタ値)を記憶部34から読取る。そして、検証部32Dは、読取ったカウンタ値をカウンタへ入力し、カウンタ値を更新する。検証部32Dは、更新後のカウンタ値を更新前のカウンタ値として記憶部34へ記憶する。また、検証部32Dは、更新後のカウンタ値と、受信部32Bで通信データと共に受信したカウンタ値と、を比較する。検証部32Dは、一致する場合、検証正常と判断し、不一致の場合、検証異常と判断する。そして、検証部32Dは、検証正常または検証異常を示す検証結果を、記憶制御部32GおよびGW処理部32Eへ出力する。
認証情報がデジタル署名である場合、検証部32Dは、公知の公開鍵暗号方式およびハッシュ関数を用いて、通信データが正当であるか否かを判別する。そして、検証部32Dは、通信データが正当であると判別した場合、検証正常と判断する。また、検証部32Dは、通信データが不当であると判別した場合、検証異常と判断する。そして、検証部32Dは、検証正常または検証異常を示す検証結果を、記憶制御部32GおよびGW処理部32Eへ出力する。
なお、検証部32Dは、終了時に、検証に用いた情報を、記憶部34へ記憶してもよい。そして、検証部32Dは、起動時に、検証に用いる情報を記憶部34から読取り、認証情報の検証に用いてもよい。検証に用いる情報とは、乱数値、カウンタ値、ハッシュ関数、公開鍵証明書、の少なくとも1つである。
起動時とは、GW10の装置各部に電力の供給が開始された時である。例えば、起動時は、車両2のアクセサリー電源がオン状態とされた時や、車両2のイグニッション電源がオン状態とされた時などである。
終了時とは、GW10の装置各部への電力供給のオフが指示された時である。例えば、終了時は、車両2のイグニッションスイッチのユーザによる操作などにより、イグニッション電源のオフが指示された時や、アクセサリー電源のオフが指示された時である。
なお、この場合、記憶部34として用いるST18は、不揮発性メモリであることが好ましい。例えば、記憶部34を複数種類の不揮発性メモリから構成すればよい。
次に、記憶制御部32Gについて説明する。記憶制御部32Gは、記憶部34への記憶およびデータの読出しを制御する。記憶制御部32Gは、記憶制御部および第1記憶制御部の一例である。
記憶制御部32Gは、ネットワークNを介して接続されたノード20の通信データと、関連情報と、を対応づけて記憶部34へ記憶する。
関連情報は、ノード20における、通信データの入出力に関する情報である。入出力に関する情報とは、通信データの因果関係を示す情報である。因果関係を示す情報とは、言い換えると、通信データの送信元のノード20や、通信データの送信先のノード20を特定可能な情報である。
関連情報は、例えば、通信データの識別情報である。すなわち、関連情報は、通信データを一意に識別可能な情報である。本実施の形態では、関連情報の一例である識別情報として、認証情報を用いる。すなわち、本実施の形態では、識別情報は、ノード20間の認証に用いる認証情報である。
ここで、上述したように、認証情報は、例えば、MAC、乱数、カウンタ値、または、デジタル署名である。このため、本実施の形態では、記憶制御部32Gは、通信データと、該通信データと共に受信した認証情報と、を対応づけて記憶部34へ記憶する。
具体的には、記憶制御部32Gは、ログDB34Bを更新することで、通信データと認証情報とを対応づけて記憶部34へ記憶する。図5は、ログDB34Bのデータ構成の一例を示す模式図である。ログDB34Bは、認証情報と、通信データと、を対応づけたデータベースである。なお、ログDB34Bのデータ構成は、データベースに限定されない。例えば、ログDB34Bのデータ構成は、テーブルなどであってもよい。
図4に戻り、説明を続ける。なお、記憶制御部32Gは、検証部32Dから受付けた検証結果が検証正常を示す場合に、該検証に用いた通信データおよび認証情報を、対応づけて記憶部34へ記憶してもよい。そして、記憶制御部32Gは、検証結果が検証異常を示す場合には、該検証に用いた通信データおよび認証情報の、記憶部34への記憶を省略してもよい。
なお、記憶制御部32Gは、終了時に、通信データと認証情報を次に記憶する領域を示すアドレス情報を、記憶部34に記憶することが好ましい。例えば、記憶制御部32Gは、起動時に、記憶部34に記憶されたログDB34Bにおける、次に通信データと認証情報を記憶する領域を示すアドレス情報を、記憶部34に記憶することが好ましい。
そして、記憶制御部32Gは、起動時に、記憶部34からアドレス情報を読取り、記憶部34における該アドレス情報によって示される領域に、通信データと認証情報を記憶すればよい。
なお、終了時、起動時、の定義は、上記と同様である。また、この場合についても、記憶部34として用いるST18は、不揮発性メモリであることが好ましい。例えば、記憶部34を複数種類の不揮発性メモリから構成すればよい。
GW処理部32Eは、本来のGWとしての機能を実行する。具体的には、GW処理部32Eは、情報処理システム1内のサブネットワーク(例えば、サブネットワークN1、サブネットワークN2)間の通信の中継およびフィルタリングや、情報処理システム1と車外の外部ネットワーク26との間の通信の中継およびフィルタリングや、他の車両2との直接の通信の中継およびフィルタリングなどを行う。
本実施の形態では、GW処理部32Eは、検証部32Dによって検証正常と判断された場合に、本来のGW10としての機能を実行する。本来のGW10としての機能とは、上述したように、例えば、情報処理システム1内のサブネットワーク(例えば、サブネットワークN1、サブネットワークN2)間の通信の中継や、情報処理システム1と車外の外部ネットワーク26との間の通信の中継や、他の車両2との直接の通信の中継などである。
生成部32Fは、ノード20へ送信する通信データに付与する認証情報を生成する。例えば、生成部32Fは、受信部32Bで受信した通信データの送信元のノード20と、該通信データの送信先のノード20と、のドメイン(サブネットワーク)が異なる場合に、認証情報を生成する。また、認証情報がMACであり、送信元のノード20と送信先のノード20との間で異なる共通鍵34Aを用いる場合、生成部32Fは、認証情報を生成する。
例えば、認証情報がMACである場合、生成部32Fは、記憶部34から、記憶制御部32Gを介して共通鍵34Aを取得する。そして、生成部32Fは、ノード20への送信対象の通信データと、共通鍵34Aと、を用いてMACを算出する。これによって、生成部32Fは、MACを認証情報として生成する。
認証情報が乱数である場合、GW10は、疑似乱数発生器を備えた構成とすればよい。そして、生成部32Fは、乱数値(更新前の乱数値)を記憶部34から読取る。そして、生成部32Fは、読取った乱数値を疑似乱数発生器へ入力し、乱数値を更新する。生成部32Fは、更新後の乱数値を更新前の乱数値として記憶部34へ記憶する。また、生成部32Fは、更新後の乱数値を、認証情報として生成する。
認証情報がカウンタ値である場合、GW10は、カウンタ値を発生させるカウンタを備えた構成とすればよい。そして、生成部32Fは、カウンタ値(更新前のカウンタ値)を記憶部34から読取る。そして、生成部32Fは、読取ったカウンタ値をカウンタへ入力し、カウンタ値を更新する。生成部32Fは、更新後のカウンタ値を更新前のカウンタ値として記憶部34へ記憶する。また、生成部32Fは、更新後のカウンタ値を、認証情報として生成する。
認証情報がデジタル署名である場合、生成部32Fは、公知の公開鍵暗号方式やハッシュ関数を用いて、デジタル署名を生成する。これによって、生成部32Fは、デジタル署名を認証情報として生成する。
なお、GW10が、受信部32Bで受信した通信データおよび認証情報を、そのまま該通信データの送信先のノード20へ送信する場合には、生成部32Fは、認証情報の生成を省略してもよい。
送信部32Cは、通信データ、該通信データに対する認証情報、および、送信先情報を、該送信先情報によって識別されるノード20へ送信する。
記憶制御部32Gは、送信部32Cからノード20へ送信された通信データと、該通信データに付与された認証情報と、を対応づけて記憶部34へ記憶する。すなわち、記憶制御部32Gは、通信データと、認証情報と、を対応づけて、ログDB34Bへ登録する。
―ノード20―
次に、ノード20について説明する。ノード20は、制御部42と、記憶部44と、を備える。制御部42と記憶部44とは、データや信号を授受可能に接続されている。
記憶部44は、各種情報を記憶する。記憶部44は、第2記憶部の一例である。記憶部44は、ST28(図3参照)により実現する。本実施の形態では、記憶部44は、共通鍵44Aと、ログDB44Bと、を記憶する(詳細後述)。
制御部42は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム(ソフトウェア)に従って様々な制御を実行する。制御部42は、送受信部42Aと、検証部42Dと、ノード処理部42Eと、生成部42Fと、記憶制御部42Gと、を備える。送受信部42Aは、受信部42Bと、送信部42Cと、を備える。
これらの各部(送受信部42A、受信部42B、送信部42C、検証部42D、ノード処理部42E、生成部42F、記憶制御部42G)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU21などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
送受信部42Aは、GW10と各種データを送受信する。本実施の形態では、送受信部42Aは、GW10を介して、他のノード20と通信データを送受信する。受信部42Bは、GW10から通信データを受信する。上述したように、本実施の形態では、受信部42Bは、GW10から、通信データと、認証情報と、送信先情報と、を受信する。送信部42Cは、GW10へ通信データを送信する。上述したように、本実施の形態では、送信部42Cは、GW10へ、通信データと、認証情報と、送信先情報と、を送信する。
検証部42Dは、認証情報を検証する。
認証情報がMACである場合、検証部42Dは、記憶部44から、記憶制御部42Gを介して共通鍵34Aを取得する。共通鍵34Aは、予め記憶部44へ記憶しておけばよい。共通鍵44Aは、共通鍵34Aと同様である。すなわち、情報処理システム1に含まれる全てのノード20との間で共通する1つの共通鍵を設ける場合には、共通鍵34Aと共通鍵44Aは、同じ鍵である。
検証部42Dは、受信部42Bで受信した通信データと、共通鍵44Aと、を用いてMACを算出する。検証部42Dは、算出したMACと、該通信データと共に受信したMACとを比較し、一致する場合、検証正常と判断し、不一致の場合、検証異常と判断する。そして、検証部42Dは、検証正常または検証異常を示す検証結果を、記憶制御部42Gおよびノード処理部42Eへ出力する。
認証情報が乱数である場合、ノード20は、疑似乱数発生器を備えた構成とすればよい。そして、ノード20は、乱数値(更新前の乱数値)を記憶部44から読取る。そして、検証部42Dは、読取った乱数値を疑似乱数発生器へ入力し、乱数値を更新する。検証部42Dは、更新後の乱数値を更新前の乱数値として記憶部44へ記憶する。また、検証部42Dは、更新後の乱数値と、受信部42Bで通信データと共に受信した乱数値と、を比較する。検証部42Dは、一致する場合、検証正常と判断し、不一致の場合、検証異常と判断する。そして、検証部42Dは、検証正常または検証異常を示す検証結果を、記憶制御部42Gおよびノード処理部42Eへ出力する。
認証情報がカウンタ値である場合、ノード20は、カウンタ値を発生させるカウンタを備えた構成とすればよい。そして、検証部42Dは、カウンタ値(更新前のカウンタ値)を記憶部44から読取る。そして、検証部42Dは、読取ったカウンタ値をカウンタへ入力し、カウンタ値を更新する。検証部42Dは、更新後のカウンタ値を更新前のカウンタ値として記憶部44へ記憶する。また、検証部42Dは、更新後のカウンタ値と、受信部42Bで通信データと共に受信したカウンタ値と、を比較する。検証部42Dは、一致する場合、検証正常と判断し、不一致の場合、検証異常と判断する。そして、検証部42Dは、検証正常または検証異常を示す検証結果を、記憶制御部42Gおよびノード処理部42Eへ出力する。
認証情報がデジタル署名である場合、検証部42Dは、公知の公開鍵暗号方式およびハッシュ関数を用いて、通信データが正当であるか否かを判別する。そして、検証部42Dは、通信データが正当であると判別した場合、検証正常と判断する。また、検証部42Dは、通信データが不当であると判別した場合、検証異常と判断する。そして、検証部42Dは、検証正常または検証異常を示す検証結果を、記憶制御部42Gおよびノード処理部42Eへ出力する。
ノード処理部42Eは、本来のノード20としての機能を実行する。具体的には、ノード20は、予め定められた処理を行う。予め定められた処理は、例えば、予め定めた対象の検知や予め定めた対象の駆動や、各種演算処理などである。
本実施の形態では、ノード処理部42Eは、検証部42Dから受付けた検証結果が検証正常を示す場合に、本来のノード20としての機能を実行する。また、ノード処理部42Eは、検証部42Dから受付けた検証結果が検証異常を示す場合には、本来のノード20としての機能の実行を行わない。
生成部42Fは、GW10へ送信する通信データに付与する認証情報を生成する。例えば、生成部42Fは、ノード処理部42Eの処理によってGW10やGW10を介して他のノード20へ送信する送信対象の通信データが発生した場合、該通信データの認証情報を生成する。
例えば、認証情報がMACである場合、生成部42Fは、記憶部44から、記憶制御部42Gを介して共通鍵44Aを取得する。そして、生成部42Fは、送信する対象の通信データと、共通鍵34Aと、を用いてMACを算出する。これによって、生成部42Fは、MACを認証情報として生成する。
認証情報が乱数である場合、ノード20は、疑似乱数発生器を備えた構成とすればよい。そして、生成部42Fは、乱数値(更新前の乱数値)を記憶部44から読取る。そして、生成部42Fは、読取った乱数値を疑似乱数発生器へ入力し、乱数値を更新する。生成部42Fは、更新後の乱数値を更新前の乱数値として記憶部44へ記憶する。また、生成部42Fは、更新後の乱数値を、認証情報として生成する。
認証情報がカウンタ値である場合、ノード20は、カウンタ値を発生させるカウンタを備えた構成とすればよい。そして、生成部42Fは、カウンタ値(更新前のカウンタ値)を記憶部44から読取る。そして、生成部42Fは、読取ったカウンタ値をカウンタへ入力し、カウンタ値を更新する。生成部42Fは、更新後のカウンタ値を更新前のカウンタ値として記憶部44へ記憶する。また、生成部42Fは、更新後のカウンタ値を、認証情報として生成する。
認証情報がデジタル署名である場合、生成部42Fは、公知の公開鍵暗号方式およびハッシュ関数を用いて、デジタル署名を生成する。これによって、生成部42Fは、デジタル署名を認証情報として生成する。
送信部42Cは、通信データ、該通信データに対する認証情報、および、該通信データの送信先情報を、GW10へ送信する。
次に、記憶制御部42Gについて説明する。記憶制御部42Gは、第2記憶制御部の一例である。記憶制御部42Gは、記憶部44へのデータの記憶およびデータの読出しを制御する。
本実施の形態では、記憶制御部42Gは、関連情報を、記憶部44へ記憶する。上述したように、本実施の形態では、関連情報が、認証情報である場合を一例として説明する。そして、本実施の形態では、記憶制御部42Gは、ログDB44Bに認証情報を登録することで、該認証情報を記憶部44へ記憶する。
このため、ノード20の記憶部44には、通信データは記憶されず、認証情報のみが、関連情報として記憶されることとなる。このため、ノード20の記憶部44(ST28)のデータ容量の削減を図ることができる。
図6は、ログDB44Bのデータ構成の一例を示す模式図である。図6(A)と図6(B)は、互いに異なるノード20(例えば、ECU20a、ECU20b)の各々に記憶された、ログDB44Bの一例を示す模式図である。
ログDB44Bは、認証情報を格納するためのデータベースである。なお、ログDB44Bのデータ形式は、データベースに限定されない。
本実施の形態では、ログDB44Bは、ラベルと、認証情報と、を対応づけたものである。ラベルは、対応する認証情報の付与された通信データが、該ログDB44Bを記憶しているノード20で受信したデータであるか、該ノード20から他のノード20へ出力されたデータであるか、を示すラベルである。図6に示す例では、ラベル“入力”は、対応する通信データが、該ログDB44Bを記憶しているノード20で受信したデータであることを示す。また、ラベル“出力”は、対応する通信データが、該ログDB44Bを記憶しているノード20から他のノード20やGW10へ送信されたデータであることを示す。
本実施の形態では、記憶制御部42Gは、受信部42BがGW10から通信データを受信した場合、該通信データと共に受信した認証情報に、ラベル“入力”を付与して、ログDB44Bへ登録する。また、記憶制御部42Gは、送信部42CがGW10へ通信データを送信した場合、該通信データと共に送信した認証情報に、ラベル“出力”を付与して、ログDB44Bへ登録する。
このため、複数のノード20の各々の記憶部44には、それぞれ、ノード20で受信した通信データであることを示すラベル“入力”、または、ノード20から送信された通信データであることを示すラベル“出力”に対応づけて、認証情報が記憶される(図6(A)、図6(B)参照)。
なお、記憶制御部42Gは、通信データと該通信データに付与された認証情報の内、データサイズの小さい方を、記憶部44へ記憶することが好ましい。すなわち、記憶部44には、関連情報のみ、または、関連情報と通信データの内のデータサイズの小さい方のみが、記憶されることとなる。このため、ノード20の記憶部44(ST28)のデータ容量の削減を、更に図ることができる。
具体的には、この場合、記憶制御部42Gは、受信部42Bで受信した通信データと認証情報の内、データサイズの小さい方と、ラベル“入力”と、を対応づけてログDB44Bへ登録する。同様に、記憶制御部42Gは、送信部42Cから送信された通信データと認証情報の内、データサイズの小さい方と、ラベル“出力”と、を対応づけてログDB44Bへ登録する。
なお、通信データと該通信データに付与された認証情報のデータサイズが同一である場合には、記憶制御部42Gは、認証情報を記憶部44へ記憶すればよい。
なお、記憶制御部42Gは、認証情報(または、通信データおよび認証情報の内のデータサイズの小さい方)を、ラベルに対応づけて記憶部44へ記憶する形態に限定されない。すなわち、ログDB44Bは、ラベルを含まず、認証情報、または、通信データおよび認証情報の内のデータサイズの小さい方のみを、登録したものであってもよい。
ログDB44Bにラベルが含まれない場合、GW10のログDB34Bを、認証情報と、通信データと、該通信データの送信先情報と、を対応づけたものとすればよい。
なお、ノード20では、GW10を介さずに処理されるデータが発生する場合がある。GW10を介さずに処理されるデータとは、例えば、GW10を介さずに他のノード20と直接通信するデータや、ノード処理部42Eの処理によって発生したデータなどである。
記憶制御部42Gは、このような、GW10を介さずに処理されるデータを、更に、ログDB44Bへ記憶してもよい。
次に、GW10で実行する情報処理の手順の一例を説明する。図7は、本実施の形態のGW10で実行する情報処理の手順の一例を示す、フローチャートである。
まず、GW10の受信部32Bが、通信データおよび認証情報をノード20から受信したか否かを判断する(ステップS100)。上述したように、詳細には、受信部32Bは、通信データ、認証情報、および送信先情報を、ノード20から受信したか否かを判断する。受信部32Bが、ステップS100で否定判断すると(ステップS100:No)、本ルーチンを終了する。一方、ステップS100で肯定判断すると(ステップS100:Yes)、ステップS102へ進む。
ステップS102では、検証部32Dが、ステップS100で受信した認証情報を検証する(ステップS102)。次に、検証部32Dは、ステップS102の検証結果が、検証正常を示すか否かを判断する(ステップS104)。ステップS104で肯定判断すると(ステップS104:Yes)、ステップS106へ進む。
ステップS106では、記憶制御部32Gが、ステップS100で受信した通信データと認証情報とを対応づけて、記憶部34へ記憶する(ステップS106)。
次に、GW処理部32Eが、GW10の本来のGWとしての機能を実行する(ステップS108)。そして、ステップS112へ進む。
一方、ステップS104で検証結果が検証異常を示すと判断した場合(ステップS104:No)、ステップS110へ進む。ステップS110では、記憶制御部32Gが、ステップS100で受信した通信データと認証情報とを対応づけて、記憶部34へ記憶する(ステップS110)。そして、ステップS112へ進む。なお、ステップS110の処理は、省略してもよい。
次に、生成部32Fが、ノード20へ送信する通信データに付与する認証情報を生成するか否かを判断する(ステップS112)。例えば、生成部32Fは、ステップS100で受信した通信データの送信元のノード20と、送信先情報によって示される送信先のノード20と、のドメイン(サブネットワーク)が異なるか否かを判別することで、ステップS112の判断を行う。また、例えば、生成部32Fは、認証情報がMACであり、送信元のノード20と送信先のノード20との間で異なる共通鍵34Aを用いるか否かを判別することで、ステップS112の判断を行う。
ステップS112で肯定判断すると(ステップS112:Yes)、ステップS114へ進む。ステップS114では、生成部32Fが、送信対象の通信データに付与する認証情報を生成する(ステップS114)。送信対象の通信データは、例えば、ステップS100で受信した通信データである。
次に、送信部32Cが、送信対象の通信データ、該通信データに対してステップS114で生成された認証情報、および、送信先情報を、該送信先情報によって識別されるノード20へ送信する(ステップS116)。ステップS116で送信する送信先情報は、例えば、ステップS100で受信した送信先情報に一致する。
次に、記憶制御部32GはステップS116で送信した通信データと、該通信データに付与された認証情報と、を対応づけて記憶部34へ記憶する(ステップS118)。そして、本ルーチンを終了する。
一方、上記ステップS112で否定判断すると(ステップS112:No)、ステップS120へ進む。ステップS120では、送信部42Cは、上記ステップS100で受信した通信データ、認証情報、および送信先情報を、該送信先情報によって識別されるノード20へ送信する(ステップS120)。そして、本ルーチンを終了する。
なお、GW10が実行する情報処理の手順は、図7に示す順に限定されない。
例えば、GW10は、図7に示す各ステップに示される処理の少なくとも一部を、並列して実行してもよい。また、GW10は、ステップS106およびステップS110の記憶処理を、ステップS100の処理より後で、且つ、ステップS102またはステップS104の処理より前に実行してもよい。また、GW10は、ステップS116の送信処理を、ステップS118の記憶処理の後に実行してもよい。また、GW10は、ステップS116の送信処理と、ステップS118の記憶処理と、を並列に実行してもよい。
また、GW10は、ステップS102の検証処理、ステップS104の判断処理、および、ステップS114の生成処理を実行しない形態であってもよい。また、ステップS100で受信した、通信データ、認証情報、および送信先情報と、ステップS120で送信する、通信データ、認証情報、および送信先情報と、が同一の場合がある。この場合、GW10は、ステップS106およびステップS110の処理を省略し、ステップS120の処理と同じタイミングまたは該処理の前または後に、ステップS106またはステップS110の処理を実行してもよい。
次に、ノード20で実行する情報処理の手順の一例を説明する。図8は、本実施の形態のノード20で実行する情報処理の手順の一例を示す、フローチャートである。
まず、ノード20の受信部42Bが、通信データおよび認証情報をGW10から受信したか否かを判断する(ステップS200)。上述したように、詳細には、受信部42Bは、通信データ、認証情報、および送信先情報を、GW10から受信したか否かを判断する。受信部42Bが、ステップS200で否定判断すると(ステップS200:No)、本ルーチンを終了する。一方、ステップS200で肯定判断すると(ステップS200:Yes)、ステップS202へ進む。
ステップS202では、検証部42Dが、ステップS200で受信した認証情報を検証する(ステップS202)。次に、検証部42Dは、ステップS202の検証結果が、検証正常を示すか否かを判断する(ステップS204)。ステップS204で肯定判断すると(ステップS204:Yes)、ステップS206へ進む。
ステップS206では、記憶制御部42Gが、ステップS200で受信した通信データと認証情報の内、データサイズの小さい方を、記憶部44へ記憶する(ステップS206)。本実施の形態では、ステップS206では、記憶制御部42Gは、ラベル「入力」と、通信データと認証情報の内、データサイズの小さい方と、を対応付けて、記憶部44へ記憶する。
次に、ノード処理部42Eが、本来のノード20としての機能を実行する(ステップS208)。そして、ステップS212へ進む。
一方、ステップS204で検証結果が検証異常を示すと判断した場合(ステップS204:No)、ステップS210へ進む。ステップS210では、記憶制御部42Gが、ステップS200で受信した通信データと認証情報の内、データサイズの小さい方を、記憶部44へ記憶する(ステップS210)。そして、ステップS212へ進む。なお、ステップS210の処理は、省略してもよい。
次に、生成部42Fが、送信対象の通信データが発生したか否かを判断する(ステップS212)。ステップS212で否定判断すると(ステップS212:No)、本ルーチンを終了する。一方、ステップS212で肯定判断すると(ステップS212:Yes)、ステップS214へ進む。ステップS214では、生成部42Fが、送信対象の通信データに付与する認証情報を生成する(ステップS214)。送信対象の通信データは、例えば、ノード処理部42EによるステップS208の処理によって発生したデータである。
次に、送信部42Cが、送信対象の通信データ、該通信データに対してステップS214で生成された認証情報、および、送信先情報を、GW10へ送信する(ステップS216)。
次に、記憶制御部42GはステップS216で送信した通信データと、該通信データに付与された認証情報と、の内、データサイズの小さい方を、記憶部44へ記憶する(ステップS218)。本実施の形態では、ステップS218では、記憶制御部42Gは、ラベル「出力」と、通信データと認証情報の内、データサイズの小さい方と、を対応付けて、記憶部44へ記憶する。そして、本ルーチンを終了する。
なお、ノード20が実行する情報処理の手順は、図8に示す順に限定されない。
例えば、ノード20は、図8に示す各ステップに示され処理の少なくとも一部を、並列して実行してもよい。また、ノード20は、ステップS206およびステップS210の記憶処理を、ステップS200の処理より後で、且つ、ステップS202またはステップS204の処理より前に実行してもよい。また、ノード20は、ステップS216の送信処理を、ステップS218の記憶処理の後に実行してもよい。また、ノード20は、ステップS216の送信処理と、ステップS218の記憶処理と、を並列に実行してもよい。
以上説明したように、本実施の形態のGW10(情報処理装置)は、記憶制御部32Gを備える。記憶制御部32Gは、ネットワークNを介して接続されたノード20の通信データと、通信データの通信時にノード20間の認証に用いる認証情報と、を対応づけて記憶部34に記憶する。
このため、情報処理システム1におけるログの解析時には、記憶部34に記憶された通信データに対応する認証情報を解析することで、該通信データの、ノード20間やノード20内における因果関係の推定を行うことができる。
従って、本実施の形態のGW10(情報処理装置)は、ログ解析に有用なデータを提供することができる。
また、認証情報を用いることによって、ノード20側は、通信データの関連情報として用いる識別情報をGW10に対して問い合わせることで取得することなく、認証情報を関連情報として用いることができる。また、認証情報は、GW10とノード20とが共に用いる情報であって、秘密情報ではない。また、認証情報は、重複して同じ値が生成される確率が十分に小さいことから、通信データの識別情報として好適に用いられる。
このため、上記効果に加えて、GW10は、通信の複雑化を招くことなく、ログ解析に有用なデータを提供することができる。
また、本実施の形態の情報処理システム1では、ノード20が、記憶制御部42G(第2記憶制御部)を備える。記憶制御部42Gは、関連情報、または、通信データおよび該通信データに対応する関連情報の内のデータサイズの小さい方を、記憶部44(第2記憶部)に記憶する。
このため、本実施の形態の情報処理システム1は、上記効果に加えて、ノード20の記憶容量の削減を図ることができる。
例えば、関連情報としての認証情報がMACである場合、32バイトであるが、実際には、4〜8バイト程度にトランケートされた値が用いられる。認証情報(MAC)が8バイトであると仮定すると、通信データ全体を記憶する場合に比べて、ノード20のST28(記憶部44)の容量を1/8にすることができると考えられる。このため、本実施の形態の情報処理システム1は、上記効果に加えて、ノード20の記憶容量の削減を図ることができる。
また、本実施の形態の情報処理システム1では、GW10の記憶制御部32Gが、ノード20の通信データと、ノード20における通信データの入出力に関する関連情報と、を対応づけて記憶部34に記憶する。また、ノード20の記憶制御部42Gが、関連情報、または、通信データおよび該通信データに対応する関連情報の内のデータサイズの小さい方を、記憶部44(第2記憶部)に記憶する。さらに、記憶制御部42Gは、ノード20で発生した、GW10を介さずに処理されるデータを、更に記憶部44(ログDB44B)へ記憶することができる。
このため、本実施の形態の情報処理システム1では、上記効果に加えて、ノード20間およびノード20内の各々における因果関係の解析に有用なデータを提供することができる。
(第2の実施の形態)
上記実施の形態では、通信データの関連情報として、通信データの識別情報や認証情報を用いる場合を、一例として説明した。本実施の形態では、通信データの関連情報として、通信データの送信元情報および送信先情報を用いる場合を説明する。
なお、本実施の形態では、第1の実施の形態と同様の構成および機能部については、同一の符号を付与し、詳細な説明を省略する場合がある。
図9は、情報処理システム1Aにおける、GW30およびノード40の機能的な構成例を示すブロック図である。情報処理システム1Aは、例えば、車両2に搭載されている(図1参照)。
情報処理システム1Aは、GW30と、複数のノード40と、を備える。複数のノード40と、GW30と、は、ネットワークNを介して接続されている。情報処理システム1Aは、GW10およびノード20に代えて、GW30およびノード40を備えた点以外は、第1の実施の形態の情報処理システム1と同様である。
GW30は、情報処理装置の一例である。GW30は、本来のゲートウェイとしての機能に加えて、後述する各処理を実行する。本来のゲートウェイとしての機能は、第1の実施の形態と同様である。ノード40は、ノードの一例である。ノード40は、GW30を介して他のノード40との間で、通信データを通信する電子機器である。ノード40は、例えば、ECUや、各種センサや、アクチュエータなどである。図1には、ノード40の一例として、ECU40a、ECU40b、センサ40c、ECU40d、およびアクチュエータ40eを、示した。ノード40は、電子機器としての本来の機能に加えて、後述する各処理を実行する。電子機器としての本来の機能は、第1の実施の形態と同様である。
なお、GW30およびノード40のハードウェア構成は、第1の実施の形態のGW10およびノード20と同様である(図2、図3参照)。
図9は、本実施の形態の情報処理システム1Aに含まれるGW30およびノード40の各々の、機能的な構成例を示すブロック図である。なお、図9には、説明を簡略化するために、1台のノード40を示した。しかし、実際には、複数のノード40が、GW30を介して通信し、後述する処理を実行する。
―GW30―
まず、GW30について説明する。GW30は、制御部36と、記憶部38と、を備える。制御部36と記憶部38とは、データや信号を授受可能に接続されている。
記憶部38は、各種情報を記憶する。記憶部38は、記憶部および第1記憶部の一例である。記憶部38は、ST18(図2参照)により実現する。本実施の形態では、記憶部38は、共通鍵34Aと、ログDB38Bと、を記憶する(詳細後述)。
制御部36は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム(ソフトウェア)に従って様々な制御を実行する。制御部36は、送受信部32Aと、検証部32Dと、GW処理部32Eと、生成部32Fと、記憶制御部36Gと、を備える。送受信部32Aは、受信部32Bと、送信部32Cと、を備える。受信部32Bは、受信部の一例である。
これらの各部は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU11などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
送受信部32A、受信部32B、送信部32C、検証部32D、GW処理部32E、および生成部32Fは、第1の実施の形態のGW10と同様である。すなわち、制御部36は、記憶制御部32Gに代えて記憶制御部36Gを備え、導出部36Kを更に備えた点以外は、第1の実施の形態のGW10の制御部32と同様である。
受信部32Bは、第1の実施の形態と同様に、通信データ、認証情報、および送信先情報を、ノード40から受信する。
導出部36Kは、受信部32Bで受信した認証情報に基づいて、該認証情報と共に受信した通信データの送信元情報を導出する。ここで、GW30とノード40とが、CAN(Controller Area Network)やFlexRay(登録商標)などを用いて通信を行う場合、GW30やノード40との間で通信されるデータには、送信元情報が含まれない。このため、導出部36Kは、認証情報を用いて、送信元情報を導出する。
例えば、導出部36Kは、検証部32Dによる認証情報の検証結果を用いて、送信元情報を導出する。
詳細には、導出部36Kは、検証部32Dによる検証結果が検証正常を示す場合、検証識別情報を、送信元情報として導出する。検証識別情報とは、検証部32Dが検証に用いた情報を識別するための情報である。
具体的には、認証情報がMAC(メッセージ認証コード)である場合、検証識別情報は該MACの生成と検証に用いた共通鍵のインデックス情報である。
また、認証情報が乱数である場合、検証識別情報は、該乱数を発生させた疑似乱数発生器のインデックス情報である。
また、認証情報がカウント値である場合、検証識別情報は、該カウント値を発生させたカウンタのインデックス情報である。
また、認証情報がデジタル署名である場合、検証識別情報は、該デジタル署名の生成に用いた秘密鍵に対応する公開鍵証明書または検証に用いる公開鍵証明書である。
一方、導出部36Kは、検証結果が検証異常を示す場合、検証異常を示す検証異常情報を、送信元情報として導出する。
なお、導出部36Kは、認証情報がMACであり、情報処理システム1A内の全てのノード40で同一の共通鍵44Aを共有している場合には、検証結果を、送信元情報として導出してもよい。
そして、導出部36Kは、導出した送信元情報を、記憶制御部36Gへ出力する。
記憶制御部36Gは、記憶部38への記憶およびデータの読出しを制御する。記憶制御部36Gは、記憶制御部および第1記憶制御部の一例である。
記憶制御部36Gは、ネットワークNを介して接続されたノード40の通信データと、関連情報と、を対応づけて記憶部38へ記憶する。本実施の形態では、記憶制御部36Gは、関連情報として、通信データの送信先情報および送信元情報を用いる。
記憶制御部36Gは、受信部32Bで受信した通信データと、該通信データと共に受信した送信先情報及び導出部36Kで導出した送信元情報、と、を対応づけて記憶部38へ記憶する。
具体的には、記憶制御部36Gは、ログDB38Bを更新することで、通信データと関連情報とを対応づけて記憶部38へ記憶する。図10は、ログDB38Bのデータ構成の一例を示す模式図である。ログDB38Bは、関連情報と、通信データと、を対応づけたデータベースである。関連情報は、送信元情報と送信先情報から構成される。なお、ログDB38Bのデータ構成は、データベースに限定されない。例えば、ログDB38Bのデータ構成は、テーブルなどであってもよい。
図9に戻り、説明を続ける。生成部32Fは、第1の実施の形態と同様に、ノード40へ送信する通信データに付与する認証情報を生成する。
生成部32Fが認証情報を生成した場合には、導出部36Kは、該認証情報の生成に用いた情報を、検証識別情報として生成し、記憶制御部36Gへ出力する。この場合、記憶制御部36Gは、該検証識別情報を送信元情報として用いる。そして、記憶制御部36Gは、該送信元情報と、該通信データの送信先情報と、から構成される関連情報と、該通信データと、を対応付けて記憶部38へ記憶すればよい。
―ノード40―
次に、ノード40について説明する。ノード40は、制御部46と、記憶部48と、を備える。制御部46と記憶部48とは、データや信号を授受可能に接続されている。
記憶部48は、各種情報を記憶する。記憶部48は、ST28(図3参照)により実現する。本実施の形態では、記憶部48は、共通鍵44Aを記憶するが、ログDBを記憶しない。すなわち、本実施の形態では、ノード40は、関連情報を、記憶部48に記憶しない。
制御部46は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム(ソフトウェア)に従って様々な制御を実行する。制御部46は、送受信部42Aと、検証部42Dと、ノード処理部42Eと、生成部42Fと、記憶制御部46Gと、を備える。送受信部42Aは、受信部42Bと、送信部42Cと、を備える。
これらの各部(送受信部42A、受信部42B、送信部42C、検証部42D、ノード処理部42E、生成部42F、記憶制御部46G)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU21などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
送受信部42A、受信部42B、送信部42C、検証部42D、ノード処理部42E、および生成部42Fは、第1の実施の形態のノード20と同様である。本実施の形態では、第1の実施の形態のノード20における記憶制御部42Gに代えて、記憶制御部46Gを備える。
記憶制御部46Gは、関連情報や、関連情報および通信データの内のデータサイズの小さい方の、記憶部48への記憶制御を行わない点以外は、第1の実施の形態の記憶制御部42Gと同様である。
次に、GW30で実行する情報処理の手順の一例を説明する。図11は、本実施の形態のGW30で実行する情報処理の手順の一例を示す、フローチャートである。
まず、GW30の受信部32Bが、通信データ、認証情報、および送信先情報を、ノード40から受信したか否かを判断する(ステップS300)。受信部32Bが、ステップS300で否定判断すると(ステップS300:No)、本ルーチンを終了する。一方、ステップS300で肯定判断すると(ステップS300:Yes)、ステップS302へ進む。
ステップS302では、検証部32Dが、ステップS300で受信した認証情報を検証する(ステップS302)。次に、検証部32Dは、ステップS302の検証結果が、検証正常を示すか否かを判断する(ステップS304)。ステップS304で肯定判断すると(ステップS304:Yes)、ステップS306へ進む。
ステップS306では、導出部36Kが、ステップS302で検証に用いた情報を識別するための検証識別情報を、送信元情報として導出する(ステップS306)。
次に、記憶制御部36Gが、ステップS300で受信した通信データと、関連情報(ステップS300で受信した送信先情報、および、ステップS306で導出した送信元情報)と、を対応づけて、記憶部38へ記憶する(ステップS308)。
次に、GW処理部32Eが、GW30の本来のGWとしての機能を実行する(ステップS310)。そして、ステップS316へ進む。
一方、ステップS304で検証結果が検証異常を示すと判断した場合(ステップS304:No)、ステップS312へ進む。ステップS312では、導出部36Kが、検証異常を示す検証異常情報を、送信元情報として導出する(ステップS312)。
次に、記憶制御部36Gが、ステップS300で受信した通信データと、関連情報(ステップS300で受信した送信先情報、および、ステップS312で導出した送信元情報)と、を対応づけて、記憶部38へ記憶する(ステップS314)。そして、ステップS316へ進む。
ステップS316では、生成部32Fが、ノード40へ送信する通信データに付与する認証情報を生成するか否かを判断する(ステップS316)。ステップS316の判断は、第1の実施の形態のステップS112と同様である。
ステップS316で肯定判断すると(ステップS316:Yes)、ステップS318へ進む。ステップS318では、生成部32Fが、送信対象の通信データに付与する認証情報を生成する(ステップS318)。送信対象の通信データは、例えば、ステップS300で受信した通信データである。
次に、送信部32Cが、送信対象の通信データ、該通信データに対してステップS318で生成された認証情報、および、送信先情報を、該送信先情報によって識別されるノード40へ送信する(ステップS320)。ステップS320で送信する送信先情報は、例えば、ステップS300で受信した送信先情報に一致する。
次に、導出部36Kが、ステップS318で認証情報の生成に用いた情報を識別するための検証識別情報を、送信元情報として導出する(ステップS322)。
次に、記憶制御部36Gが、ステップS300で受信した通信データと、関連情報(ステップS300で受信した送信先情報、および、ステップS322で導出した送信元情報)と、を対応づけて、記憶部38へ記憶する(ステップS324)。そして、本ルーチンを終了する。
一方、上記ステップS316で否定判断すると(ステップS316:No)、ステップS326へ進む。ステップS326では、送信部32Cが、ステップS300で受信した、通信データ、認証情報、および送信先情報を、該送信先情報によって識別されるノード40へ送信する(ステップS326)。そして、本ルーチンを終了する。
なお、GW30が実行する情報処理の手順は、図11に示す順に限定されない。
例えば、GW30は、図11に示す各ステップに示される処理の少なくとも一部を、並列して実行してもよい。また、GW30は、ステップS320の送信処理を、ステップS324の記憶処理の後に実行してもよい。また、GW30は、ステップS320の送信処理と、ステップS324の記憶処理と、を並列に実行してもよい。
また、ステップS300で受信した、通信データ、認証情報、および送信先情報と、ステップS326で送信する、通信データ、認証情報、および送信先情報と、が同一の場合がある。この場合、GW30は、ステップS308およびステップS314の処理を省略し、ステップS326の処理と同じタイミングまたは該処理の前または後に、ステップS308またはステップS314の処理を実行してもよい。
次に、ノード40で実行する情報処理の手順の一例を説明する。図12は、本実施の形態のノード40で実行する情報処理の手順の一例を示す、フローチャートである。
まず、ノード40の受信部42Bが、通信データおよび認証情報をGW30から受信したか否かを判断する(ステップS400)。上述したように、詳細には、受信部42Bは、通信データ、認証情報、および送信先情報を、GW30から受信したか否かを判断する。受信部42Bが、ステップS400で否定判断すると(ステップS400:No)、本ルーチンを終了する。一方、ステップS400で肯定判断すると(ステップS400:Yes)、ステップS402へ進む。
ステップS402では、検証部42Dが、ステップS400で受信した認証情報を検証する(ステップS402)。次に、検証部42Dは、ステップS402の検証結果が、検証正常を示すか否かを判断する(ステップS404)。ステップS404で肯定判断すると(ステップS404:Yes)、ステップS406へ進む。
ステップS406では、ノード処理部42Eが、本来のノード40としての機能を実行する(ステップS406)。そして、ステップS408へ進む。ステップS404で否定判断した場合も(ステップS404:No)、ステップS408へ進む。
ステップS408では、生成部42Fが、送信対象の通信データが発生したか否かを判断する(ステップS408)。ステップS408で否定判断すると(ステップS408:No)、本ルーチンを終了する。一方、ステップS408で肯定判断すると(ステップS408:Yes)、ステップS410へ進む。ステップS410では、生成部42Fが、送信対象の通信データに付与する認証情報を生成する(ステップS410)。
次に、送信部42Cが、送信対象の通信データ、該通信データに対してステップS410で生成された認証情報、および、送信先情報を、GW30へ送信する(ステップS412)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態のGW30(情報処理装置)では、関連情報として、通信データの送信元情報および送信先情報を用いる。このため、GW30の記憶部38(ログDB38B)には、通信データの各々に対して、該通信データの送信元情報と送信先情報が記憶されることとなる。このため、情報処理システム1Aにおけるログの解析時には、GW30の記憶部38に記憶された通信データに対応する関連情報を解析することで、該通信データの、ノード40間における因果関係の推定を行うことができる。
従って、本実施の形態のGW30(情報処理装置)は、ログ解析に有用なデータを提供することができる。
また、本実施の形態の情報処理システム1Aでは、ノード40には、関連情報の記憶を行わない。このため、情報処理システム1Aは、第1の実施の形態に比べて、更に、ノード40の記憶容量の削減を図ることができる。
また、本実施の形態の情報処理システム1Aでは、送信元情報としての検証識別情報は、MACの生成と検証に用いた共通鍵のインデックス情報、乱数を発生させた疑似乱数発生器のインデックス情報、カウント値を発生させたカウンタのインデックス情報、または、デジタル署名の生成に用いた公開鍵証明書である。
送信元情報が共通鍵44Aのインデックス情報である場合、ノード40の共通鍵44Aの管理は車両製造者が行うと仮定する。そして、全てのノード40とGW30で同じ共通鍵44A(共通鍵44Aと共通鍵34Aも同じ鍵)を共有していると仮定する。この場合、解析時には、送信元情報である共通鍵44Aのインデックス情報を解析することで、対応する通信データが、該共有鍵44Aを用いる車両製造者の管理下にあるノード40に関するものであると、解析することが可能となる。
また、ノード40の共通鍵44Aの管理は車両製造者が行うと仮定する。そして、情報処理システム1Aのドメインごと(サブネットワークごと)に、同じ共通鍵44Aを共有していると仮定する。この場合、解析時には、送信元情報である共通鍵44Aのインデックス情報を解析することで、対応する通信データが、該共有鍵44Aを用いる車両製造者の管理下にある、特定のドメイン内のノード40に関するものであると、解析することが可能となる。
また、ノード40の共通鍵44Aの管理は車両製造者が行うと仮定する。そして、情報処理システム1Aにおける、ノード40のペアごとに、同じ共通鍵44Aを共有していると仮定する。この場合、解析時には、送信元情報である共通鍵44Aのインデックス情報を解析することで、対応する通信データが、該共有鍵44Aを用いる車両製造者の管理下にある、特定のペアのノード40に関するものであると、解析することが可能となる。
また、MACを検証識別情報として用いる場合についても、同様の効果を得ることができる。
<補足説明>
なお、GW10、ノード20、GW30、およびノード40で実行される上記各処理を実行するためのプログラムは、HDD(ハードディスクドライブ)に記憶されていてもよい。また、上記実施の形態のGW10、ノード20、GW30、およびノード40で実行される上記各処理を実行するためのプログラムは、ROM12、ROM22に予め組み込まれて提供されていてもよい。
また、上記実施の形態のGW10、ノード20、GW30、およびノード40で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態のGW10、ノード20、GW30、およびノード40で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態のGW10、ノード20、GW30、およびノード40で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
以上、本発明の実施の形態を説明したが、これらの実施の形態は例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、1A 情報処理システム
10、30 GW
20、40 ノード
32B 受信部
32D 検証部
32G、36G 記憶制御部
34、38 記憶部
36K 導出部
42B 受信部
42D 検証部
42G、46G 記憶制御部
44、48 記憶部

Claims (4)

  1. 複数のノードと、複数の前記ノードにネットワークを介して接続された情報処理装置と、を備えた情報処理システムであって、
    前記情報処理装置は、
    前記ノードの通信データと、前記通信データの通信時に前記ノード間の認証に用いる認証情報と、を対応づけて第1記憶部に記憶する記憶制御部、
    を備え、
    前記ノードは、
    前記通信データおよび該通信データに対応する前記認証情報の内のデータサイズの小さい方を、第2記憶部に記憶する第2記憶制御部、を備える、
    情報処理システム。
  2. 前記認証情報は、メッセージ認証コード、乱数、カウンタ値、または、デジタル署名である、請求項1に記載の情報処理システム
  3. 前記記憶制御部は、終了時に、前記通信データと前記認証情報を次に記憶する領域を示すアドレス情報を前記第1記憶部に記憶し、起動時に、前記第1記憶部から読取った前記アドレス情報によって示される領域に、前記通信データと前記認証情報を記憶する、
    請求項1または請求項2に記載の情報処理システム
  4. 複数のノードと、複数の前記ノードにネットワークを介して接続された情報処理装置と、を備えた情報処理システムで実行される情報処理方法であって、
    前記情報処理装置が、前記ノードの通信データと、前記通信データの通信時に前記ノード間の認証に用いる認証情報と、を対応づけて第1記憶部に記憶するステップ
    前記ノードが、前記通信データおよび該通信データに対応する前記認証情報の内のデータサイズの小さい方を、第2記憶部に記憶するステップと、
    を含む、情報処理方法。
JP2017224876A 2017-04-25 2017-11-22 情報処理システム、および情報処理方法 Active JP6779853B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/894,454 US20180310173A1 (en) 2017-04-25 2018-02-12 Information processing apparatus, information processing system, and information processing method
EP18156554.0A EP3396922A1 (en) 2017-04-25 2018-02-13 Information processing apparatus, information processing system and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017086057 2017-04-25
JP2017086057 2017-04-25

Publications (2)

Publication Number Publication Date
JP2018186486A JP2018186486A (ja) 2018-11-22
JP6779853B2 true JP6779853B2 (ja) 2020-11-04

Family

ID=64355115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017224876A Active JP6779853B2 (ja) 2017-04-25 2017-11-22 情報処理システム、および情報処理方法

Country Status (1)

Country Link
JP (1) JP6779853B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7512768B2 (ja) * 2020-08-25 2024-07-09 株式会社デンソー データ記録装置
US20240157893A1 (en) * 2021-03-12 2024-05-16 Sumitomo Electric Industries, Ltd. Vehicle-mounted relay device, management device, vehicle-mounted system, and communication management method
JP2024000213A (ja) 2022-06-20 2024-01-05 株式会社東芝 通信システム、情報処理装置、情報処理方法、および情報処理プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3088867B2 (ja) * 1992-11-26 2000-09-18 大日本印刷株式会社 Icカード
JPH0670050U (ja) * 1993-03-12 1994-09-30 国際電気株式会社 フライトレコーダ
JPH11265349A (ja) * 1998-03-17 1999-09-28 Toshiba Corp コンピュータシステムならびに同システムに適用される機密保護方法、送受信ログ管理方法、相互の確認方法および公開鍵世代管理方法
US6525672B2 (en) * 1999-01-20 2003-02-25 International Business Machines Corporation Event-recorder for transmitting and storing electronic signature data
US6490513B1 (en) * 2001-08-22 2002-12-03 Matsushita Electrical Industrial Co., Ltd. Automobile data archive system having securely authenticated instrumentation data storage
DE10360125A1 (de) * 2003-12-20 2005-07-21 Daimlerchrysler Ag Datenloggin in einem Kraftfahrzeug
WO2013128317A1 (en) * 2012-03-01 2013-09-06 Nds Limited Anti-replay counter measures
JP5637190B2 (ja) * 2012-07-27 2014-12-10 トヨタ自動車株式会社 通信システム及び通信方法
JP2014183395A (ja) * 2013-03-18 2014-09-29 Hitachi Automotive Systems Ltd 車載ネットワークシステム
JP2016151871A (ja) * 2015-02-17 2016-08-22 株式会社デンソー 車載システム、及び、ecu
JP6787697B2 (ja) * 2015-08-31 2020-11-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及び転送方法

Also Published As

Publication number Publication date
JP2018186486A (ja) 2018-11-22

Similar Documents

Publication Publication Date Title
EP3396922A1 (en) Information processing apparatus, information processing system and information processing method
CN112840620B (zh) 异常检测装置以及异常检测方法
US9635151B2 (en) In-vehicle communication system and in-vehicle relay apparatus
JP6782446B2 (ja) 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム
JP5949732B2 (ja) プログラム更新システム及びプログラム更新方法
US20180234248A1 (en) Communication system, vehicle, and monitoring method
US11558404B2 (en) On-board communication system, switching device, verification method, and verification program
JP6779853B2 (ja) 情報処理システム、および情報処理方法
CN112437056A (zh) 安全处理方法以及服务器
WO2013005730A1 (ja) 車載ネットワークシステム
US9998476B2 (en) Data distribution apparatus, communication system, moving object, and data distribution method
JP2018042203A (ja) 情報処理装置、サーバ装置、情報処理システム、移動体、および情報処理方法
JP2019016247A (ja) 認証制御装置、認証制御方法および認証制御プログラム
WO2019021402A1 (ja) 通信装置、通信方法および通信システム
WO2018173732A1 (ja) 車載通信装置、コンピュータプログラム及びメッセージ判定方法
JP2016134671A (ja) データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
JP2020113852A (ja) 車載通信システム、車載通信制御装置、車載通信装置、コンピュータプログラム、通信制御方法及び通信方法
JP2018121220A (ja) 車載ネットワークシステム
JP7848911B2 (ja) 中継装置、車両通信方法および車両通信プログラム
JP2018170591A (ja) 通信装置、通信方法及び制御プログラム
JP2018093370A (ja) 車載電子制御装置、車載電子制御システム、中継装置
JP6877388B2 (ja) 情報処理装置、移動体、情報処理方法、およびプログラム
WO2021181826A1 (ja) 車載装置及びサーバ
JP2018033020A (ja) 半導体装置、データ処理装置および真贋判定方法
JP2020088798A (ja) ネットワークシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201014

R151 Written notification of patent or utility model registration

Ref document number: 6779853

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151