本開示の一態様に係る管理システムは、1以上の車両と1以上の認証サーバとを備える管理システムであって、前記1以上の車両のそれぞれは、前記1以上の認証サーバの少なくとも一の認証サーバと通信を行う第1通信部と、前記車両内のネットワークに接続する複数の電子制御装置と、前記複数の電子制御装置のうち、1以上の電子制御装置が交換された場合、交換された前記1以上の電子制御装置を検知する検知部と、前記検知部が検知した前記1以上の電子制御装置それぞれを一意に識別する第1の識別子を含み前記1以上の電子制御装置を交換したことを示す第1トランザクションデータを生成し、前記第1通信部を介して前記一の認証サーバに送信するトランザクションデータ生成部と、を備え、前記少なくとも一の認証サーバそれぞれは、前記1以上の車両のそれぞれと通信を行う第2通信部と、前記1以上の車両の少なくとも一の車両から取得した前記第1トランザクションデータの正当性を検証する検証部と、前記検証部により前記第1トランザクションデータの正当性が確認されると前記第1トランザクションデータを記憶装置に記録する記録部とを備える。
これにより、車両において交換された部品すべての履歴を記憶装置に記録することができるので、車両において交換された部品を確実に管理することができる。
また、例えば、前記記録部は、前記複数の電子制御装置それぞれを一意に識別する第2の識別子を前記記憶装置に予め記録しており、前記検証部は、前記第1トランザクションデータに含まれる前記第1の識別子が、前記第2の識別子に含まれているかと、前記第1トランザクションデータの正当性とを検証し、前記記録部は、前記検証部により、前記第1の識別子が前記第2の識別子に含まれていることが確認され、かつ、前記第1トランザクションデータの正当性が確認された場合、前記第1トランザクションデータを前記記憶装置に記録するとしてもよい。
また、例えば、前記第2通信部は、前記検証部により、前記第1の識別子が前記第2の識別子に含まれていないことが確認され、かつ、前記第1トランザクションデータの正当性が確認された場合、前記第1の識別子が前記第2の識別子に含まれていない旨を通知するとしてもよい。
また、例えば、前記1以上の認証サーバのそれぞれは、さらに、前記第1の識別子が前記第2の識別子に含まれていないことをユーザに確認するための画面を生成し、前記第2通信部を介して送信することで、前記第1の識別子が前記第2の識別子に含まれていない旨を通知する画面生成部を備えるとしてもよい。
また、例えば、前記1以上の車両のそれぞれは、さらに、前記1以上の電子制御装置を交換する時に秘密情報が入力される入力部を備え、前記入力部は、入力された前記秘密情報を前記トランザクションデータ生成部に送信し、前記トランザクションデータ生成部は、前記第1トランザクションデータを、前記第1の識別子と、前記秘密情報から生成された認証情報とを含めて生成するとしてもよい。
また、例えば、前記秘密情報は、前記一の車両の管理者が保持する第1秘密鍵または前記1以上の電子制御装置を交換した業者の第2秘密鍵のいずれか1つ以上を含み、前記認証情報は、前記第1秘密鍵で生成された第1署名または、前記第2秘密鍵で生成された第2署名のいずれか1つ以上を含むとしてもよい。
また、例えば、前記1以上の車両のそれぞれは、さらに、前記1以上の電子制御装置を交換した第1ユーザの入力を受け付ける入力部を備え、前記トランザクションデータ生成部は、前記第1トランザクションデータに、前記第1の識別子及び前記入力部に入力された前記第1ユーザを特定するための第1ユーザ情報を含めて生成し、前記1以上の認証サーバのそれぞれでは、前記記録部は、複数のユーザそれぞれを一意に特定できる第2ユーザ情報を前記記憶装置に予め記録し、前記検証部は、前記第1トランザクションデータに含まれる前記第1の識別子が、予め記録されている前記第2の識別子に含まれているかと、前記第1トランザクションデータに含まれる前記第1ユーザ情報が、予め記録されている前記第2ユーザ情報に含まれているかと、前記第1トランザクションデータの正当性とを検証し、前記記録部は、前記検証部により、前記第1の識別子が前記第2の識別子に含まれていることが確認され、かつ、前記第1ユーザ情報が前記第2ユーザ情報に含まれ、かつ、前記第1トランザクションデータの正当性が確認された場合、前記第1トランザクションデータを前記記憶装置に記録するとしてもよい。
また、例えば、前記トランザクションデータ生成部は、さらに、前記第1トランザクションデータをブロックチェーンのトランザクションデータとして生成し、前記記録部は、前記第1トランザクションデータをブロックチェーンのトランザクションデータとして記録するとしてもよい。
本開示の一態様に係る車両は、1以上の車両と1以上の認証サーバとを備える管理システムにおける一の車両であって、前記1以上の認証サーバの少なくとも一の認証サーバと通信を行う第1通信部と、前記一の車両内のネットワークに接続する複数の電子制御装置と、前記複数の電子制御装置のうち、1以上の電子制御装置が交換された場合、交換された前記1以上の電子制御装置を検知する検知部と、前記検知部が検知した前記1以上の電子制御装置それぞれを一意に識別する第1の識別子を含み前記1以上の電子制御装置を交換したことを示す第1トランザクションデータを生成し、前記第1通信部を介して前記一の認証サーバに送信するトランザクションデータ生成部と、を備える。
本開示の一態様に係る情報処理方法は、1以上の車両と1以上の認証サーバとを備える管理システムにおける一の認証サーバの情報処理方法であって、前記1以上の車両のそれぞれと通信を行う通信ステップと、前記1以上の車両のうちの一の車両から取得した第1トランザクションデータであって前記一の車両内ネットワークに接続する複数の電子制御装置のうち交換された1以上の電子制御装置それぞれを一意に識別する第1の識別子を含み、前記1以上の電子制御装置を交換したことを示す第1トランザクションデータの正当性を検証する検証ステップと、前記検証ステップにおいて前記第1トランザクションデータの正当性が確認されると前記第1トランザクションデータを記憶装置に記録する記録ステップとを含む。
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
(実施の形態1)
まず、本開示のシステム構成について説明する。
[1.1 システム構成]
本開示の管理システムは、車両における部品の交換を確実に管理する。以下では、図面を参照しながら、実施の形態における管理システム等の説明を行う。
本実施の形態では、自動車などの車両から認証サーバへ部品の交換の通知を行い、認証サーバが交換した部品が正規部品であるか否かをの判断を行う例について図面を参照しながら説明する。以下では、車両を構成する部品の交換時にECUの交換を伴う場合を説明するので、電子制御装置すなわちECUの交換も部品の交換と称して説明する。
[1.1.1 管理システム10の全体構成]
図1は、実施の形態1に係る管理システム10の構成の一例を示した図である。
管理システム10は、1以上の車両と1以上の認証サーバとを備える。本実施の形態では、管理システム10は、図1に示すように、例えば、車両100a、100b、100cと、認証サーバ200a、200b、200cと、カーメーカサーバ300とを備える。これらは、車両100a等及び認証サーバ200a等と、認証サーバ200a等同士、カーメーカサーバ300と認証サーバ200a等とは、ネットワークNで接続されている。また、認証サーバ200a、200b、200cは記憶装置201a、201b、201cと接続する。認証サーバ200a等は、記憶装置201a等とネットワークNを介して接続されていてもよいし、内部に記憶装置201aを備えてもよい。記憶装置201aは、ブロックチェーンのトランザクション及びブロックが電子的に記録される。
[1.1.2 車両100aの構成]
車両100a等は、例えば自動車であるが、これに限られない。車両100a等は、自動二輪車、船舶等であってもよい。つまり、車両100a等は、車両100a内のネットワークに複数のECUが接続されており、車両100aの部品交換時にECUを伴うものであればよい。
図2は、実施の形態1に係る車両100aが有する車載ネットワークシステムの全体構成の一例を示す図である。車両100b、100cも同様の構成であるため、車両100aを例に挙げて説明する。
複数の電子制御ユニットは、車両100a等内のネットワークで接続されている。より具体的には、複数の電子制御ユニットであるECU111、ECU121、ECU131、ECU141、ECU151、及びゲートウェイ101が車載ネットワークで接続されている。ここで、車載ネットワークはCANであってもよいし、Ethernet(登録商標)であってもよいし、CANとEthernetとが混在したものであってもよい。なお、車載ネットワークがEthernet(登録商標)を含む場合でも、ブロードキャストでメッセージが送信されるとしてもよい。
車載ネットワークには、例えば、エンジン110、バッテリー130、及び、図示しないモータなどの燃料の制御に関連する駆動系のECUが接続されている。図2に示す例では、車載ネットワークには、エンジン110用のECU111、及び、バッテリー130用のECU131が接続されている。
また、車載ネットワークには、運転アシスト部120、並びに、図示しない自動ブレーキ、車線維持、車間距離機能、衝突防止機能及びエアバッグなどの安全快適機能系ECUが接続されている。図2に示す例では、車載ネットワークには、運転アシスト部120用のECU121が接続されている。
また、車載ネットワークには、ヘッドユニット140などインフォテイメント系ECUが接続されている。図2に示す例では、車載ネットワークには、ヘッドユニット140用のECU141が接続されている。なお、ヘッドユニット140用のECU141がなく、ヘッドユニット140がECU141を介さず車載ネットワークに直接接続されていてもよい。本実施の形態では、ヘッドユニット140は後述する表示部及び入力部を有し、車両100aの管理者または車両100aの部品を交換した業者などのユーザに対し、画面の表示及び情報入力を受け付ける機能を有する。
図3は、実施の形態1に係るヘッドユニット140の機能構成の一部を示す図である。図3に示すように、ヘッドユニット140は、表示部1411と入力部1412とを有する。
表示部1411は、認証サーバ200a等の一から送信された画面情報に示される画面をユーザに表示する。
入力部1412は、ユーザからの情報入力を受け付け、ゲートウェイ101に送信する。具体的には、入力部1412は、1以上の電子制御装置を交換する時に秘密情報が入力される。秘密情報は、一の車両である車両100aの管理者が保持する第1秘密鍵または1以上の電子制御装置を交換した業者の第2秘密鍵のいずれか1つ以上を含む。入力部1412は、入力された秘密情報をゲートウェイ101に送信する。また、入力部1412は、表示部1411が表示した画面においてユーザにより選択された選択結果が入力され、入力された選択結果を、ゲートウェイ101に送信する。なお、秘密情報は、例えばユーザにより入力されたパスワードである。
また、車載ネットワークには、認証サーバ200a等と通信する通信機能を有する通信部150など通信系ECUが接続されている。図2に示す例では、車載ネットワークには、通信部150用のECU151が接続されている。
なお、上述したECU111〜ECU151は、それぞれが接続する部品と一体すなわち1つの部品で構成されるとしてもよい。例えば、エンジン110とこれに接続されるECU111とが一体すなわち1つの部品として構成されてもよい。他のECU121等も同様である。
このような複数の電子制御ユニットすなわちECU111〜ECU151は、接続されたものの状態等を取得し、定期的または非定期的に取得した状態等を示すメッセージを送信する。例えば、ECU111は、エンジン110の回転数を状態等として取得し、定期的に回転数を示すメッセージを送信する。また、例えばECU121は、運転アシスト部120の運転アシスト機能がONになった時にその旨を現すメッセージを送信する。また、ECUが新規に車載ネットワークに接続したときに、その旨を示すメッセージを送信するとしてもよい。
次に、車載ネットワークに接続されているゲートウェイ101について説明する。
[1.1.3 ゲートウェイ101の構成]
図4は、実施の形態1に係るゲートウェイ101の機能構成を示すブロック図である。
ゲートウェイ101は、車両100a等に搭載され、図4に示すように、検知部1101と、トランザクションデータ生成部1102と、第1通信部1103とを備える。以下、各構成要素について説明する。
<検知部1101>
検知部1101は、複数の電子制御装置のうち、1以上の電子制御装置が交換された場合、交換された1以上の電子制御装置を検知する。図2に示す例では、検知部1101は、車載ネットワークに接続しているECU111〜ECU151のいずれかが交換されたか否か、すなわち車両100aを構成する部品の交換があったか否かを検知する。上述したように、車両100aを構成する部品の交換があれば、当該部品と接続または一体化されているECUも交換されるからである。
ここで、部品の交換があったか否かを検知する検知方法としてはいくつか挙げられる。例えば、検知部1101は、新規部品としてのECUが車載ネットワークに接続したときに、当該ECUにより送信されるメッセージから、当該ECUが同種の新規ECUに交換されたことを検知してもよい。また、例えば、検知部1101は、交換されたECUから送信される定期的なメッセージが一時的に取得できなくなった場合に、当該ECUが交換されたことを検知してもよい。また、検知部1101は、交換されたECUから送信されるメッセージの頻度または種類などが変更された場合に、当該ECUが交換されたことを検知してもよい。また、車載ネットワークがEthernet(登録商標)であれば、検知部1101は、例えば、交換されたECUのMACアドレスまたはIPアドレスから当該ECUが交換されたことを検知してもよい。
検知部1101は、部品交換を検知した場合、交換された1以上のECUを一意に識別する第1の識別子を含む交換情報をトランザクションデータ生成部1102へ送信する。ここで交換情報は、当該第1の識別子それぞれで識別される1以上のECUが交換されたことを示す情報などである。なお、検知部1101は、部品交換したことを検知するだけでもよい。
<トランザクションデータ生成部1102>
トランザクションデータ生成部1102は、検知部1101が検知した1以上の電子制御装置それぞれを一意に識別する第1の識別子を含み当該1以上の電子制御装置を交換したことを示す第1トランザクションデータを生成する。トランザクションデータ生成部1102は、生成した第1トランザクションデータを、第1通信部1103を介して認証サーバ200a等の一に送信する。また、トランザクションデータ生成部1102は、第1トランザクションデータをブロックチェーンのトランザクションデータとして生成する。ここで、例えば、トランザクションデータ生成部1102は、第1トランザクションデータを、第1の識別子と、秘密情報から生成された認証情報とを含めて生成してもよい。なお、認証情報は、署名またはパスワードのハッシュ値である。認証情報が署名である場合、第1秘密鍵で生成された第1署名または、第2秘密鍵で生成された第2署名のいずれか1つ以上を含むとしてもよい。
本実施の形態では、トランザクションデータ生成部1102は、検知部1101から取得した交換情報から、ブロックチェーンのトランザクションデータである第1トランザクションデータを生成する。ここで、交換情報は、1以上のECUが交換された旨を示し、例えば、第1の識別子を含む。トランザクションデータ生成部1102は、部品交換したことを示す第1トランザクションデータを、例えば、取得した交換情報に含まれる第1の識別子と、当該第1の識別子を含む情報に対する署名とを含めて生成してもよい。
ここで、当該署名を生成するために必要な署名鍵は、あらかじめゲートウェイ101が保持していてもよい。また、当該署名を生成するために必要な署名鍵は、ヘッドユニット140の入力部1412に入力された秘密情報を基に生成されてもよい。なお、当該署名は、第1トランザクションデータに含まれる認証情報の一例である。認証情報は、署名である場合に限らない。ユーザが入力するパスワードが得られる場合には、当該パスワードのハッシュ値であってもよい。
なお、トランザクションデータ生成部1102は、ヘッドユニュト141から取得した選択結果から、ブロックチェーンのトランザクションデータすなわち後述する第2トランザクションデータを生成して、認証サーバ200a等に送信するとしてもよい。
<第1通信部1103>
第1通信部1103は、1以上の認証サーバ200a等の少なくとも一の認証サーバと通信を行う。より具体的には、第1通信部1103は、車載システムに接続されている通信部150を介して認証サーバ200a等のうち少なくとも一と通信を行う通信インタフェースである。この通信は、TLS(Transport Layer Security)によりなされてもよい。その場合、TLS通信用の暗号鍵は通信部150または第1通信部1103が保持してもよい。
なお、ヘッドユニット140が、表示部1411と入力部1412とを有するとして説明したが、これに限らない。ユーザが携帯する携帯端末が表示部1411と入力部1412とを有するとしてもよい。この場合、当該携帯端末が、車両のゲートウェイ101と通信して、上述した表示部1411と入力部1412との機能を実現するとしてもよい。また、当該携帯端末が、認証サーバ200aとも通信して、表示部1411と入力部1412との機能を実現するとしてもよい。
次に、認証サーバ200a等について説明する。
[1.1.4 認証サーバ200aの構成]
図5は、実施の形態1に係る認証サーバ200aの機能構成を示すブロック図である。認証サーバ200b、200cも同様の構成であるため、認証サーバ200aを例に挙げて説明する。
認証サーバ200aは、図5に示すように、画面生成部211と、トランザクションデータ検証部212と、トランザクションデータ生成部213と、ブロック生成部214と、同期部215と、記録部216と、第2通信部217とを備える。認証サーバ200aは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
<画面生成部211>
画面生成部211は、交換された1以上のECUを一意に識別する第1の識別子が予め記録部216に記録されている正規部品であるECUを示す第2の識別子に含まれていないことをユーザに確認するための画面を生成する。そして、画面生成部211は、生成した画面を示す画面情報を第2通信部217を介して送信することで、第1の識別子が第2の識別子に含まれていない旨を通知する。
本実施の形態では、画面生成部211は、車両100a等から取得した第1トランザクションデータから交換された1以上のECUが非正規部品であると判断された場合、ユーザにその旨を確認するための画面を生成する。例えば、画面生成部211は、車両100aの管理者に交換された1以上のECUが非正規部品であることと、当該非正規部品を利用することを承諾するか否かなどを確認するため、車両100aのヘッドユニット140の表示部1411に表示される画面を生成する。
そして、画面生成部211は、生成した画面を示す画面情報を第2通信部217を介して車両100aのゲートウェイ101に送信する。
<トランザクションデータ検証部212>
トランザクションデータ検証部212は、検証部の一例であり、1以上の車両の少なくとも一の車両100aから取得した第1トランザクションデータの正当性を検証する。より具体的には、トランザクションデータ検証部212は、第1トランザクションデータに含まれる第1の識別子が、第2の識別子に含まれているかと、第1トランザクションデータの正当性とを検証する。
本実施の形態では、トランザクションデータ検証部212は、車両100a等から、取得した第1トランザクションデータの正当性を検証する。
より具体的には、トランザクションデータ検証部212は、車両100a等から、第1トランザクションデータを取得すると、第1トランザクションデータに含まれる署名すなわち認証情報が正当であるかを検証する。また、トランザクションデータ検証部212は、第1トランザクションデータに含まれる第1の識別子が正当であるかを検証する。より詳細には、トランザクションデータ検証部212は、第1トランザクションデータに含まれる第1の識別子が、記録部216に予め記録されている正規部品を示す第2の識別子に含まれるかを検証する。
トランザクションデータ検証部212は、検証した結果、取得した第1トランザクションデータの正当性を確認した場合、記録部216に第1トランザクションデータを記録させ、同期部215に第1トランザクションデータを通知させる。
トランザクションデータ検証部212は、同様に、車両100a等から、取得した第2トランザクションデータの正当性を検証する。トランザクションデータ検証部212は、検証した結果、取得した第2トランザクションデータの正当性を確認した場合、記録部216に第2トランザクションデータを記録させ、同期部215に第2トランザクションデータを通知すればよい。
また、トランザクションデータ検証部212は、同様に、カーメーカサーバ300から、取得した第3トランザクションデータの正当性を検証する。トランザクションデータ検証部212は、検証した結果、取得した第3トランザクションデータの正当性を確認した場合、記録部216に第3トランザクションデータを記録させ、同期部215に第3トランザクションデータを通知すればよい。
なお、第2トランザクションデータ及び第3トランザクションデータの詳細は後述する。
<トランザクションデータ生成部213>
トランザクションデータ生成部213は、車両100a等から取得した選択結果から、ブロックチェーンのトランザクションデータである第2トランザクションデータを生成する。トランザクションデータ生成部213は、ユーザの選択結果を示す第2トランザクションデータを、例えば、取得した選択結果に含まれる承諾情報を含めて生成する。ここで、承諾情報とは、例えば、交換された車両100aの部品が正規部品ではないことを確認し、当該正規部品をそのまま利用することをユーザが承諾したことを示す情報である。
ここで、トランザクションデータ生成部213は、ユーザの選択結果を示す第2トランザクションデータを、例えば、選択結果に含まれる承諾情報と、署名とを含めて生成してもよい。なお、署名は、認証情報の一例であるので、ユーザが入力するパスワードが得られる場合には、当該パスワードのハッシュ値であってもよい。また、署名は、ユーザが入力するパスワードを得られる場合には、当該パスワードから生成した署名鍵を用いて生成されてもよい。
なお、このような第2トランザクションデータは、トランザクションデータ生成部213が生成する場合に限らず、車両100a等のゲートウェイ101により生成されてもよい。この場合、生成された第2トランザクションデータは、車両100a等からトランザクションデータ生成部213により取得されてもよいし、ブロック生成部214により取得されてもよい。
<ブロック生成部214>
ブロック生成部214は、複数の認証サーバの間でコンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムは、PBFT(Practical Byzantine Fault Tolerance)とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。本実施の形態では、ブロック生成部214は、認証サーバ200a、認証サーバ200b及び認証サーバ200cの間でコンセンサスアルゴリズムを実行する。
ブロック生成部214は、まず、一以上のトランザクションデータを含むブロックチェーンのブロックを生成する。そして、ブロック生成部214は、コンセンサスアルゴリズムで合意形成ができた場合は、記録部216に記録させる。ブロック生成部214により生成されたブロックは、記録部216に記録されているブロックチェーンに接続されて記録される。
ここで、ブロックチェーンのデータ構造と、トランザクションデータのデータ構造とについて説明する。
図6Aは、ブロックチェーンのデータ構造を示す説明図である。
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)上に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
本実施の形態では、各トランザクションデータは、部品交換したことを示す第1トランザクションデータ、ユーザの選択結果を示す第2トランザクションデータ、及び、後述する正規部品の登録に関する第3トランザクションデータなどを示している。
図6Bは、トランザクションデータのデータ構造を示す説明図である。
図6Bに示されるトランザクションデータD1は、例えば車両において部品が交換されたことを示す第1トランザクションデータの一例である。トランザクションデータD1は、保持者を示すアドレスP1と、提供先を示すアドレスP2と、アドレスP1及びP2のハッシュ値に対して、保持者の署名鍵で署名することで生成される電子署名P3とを含んでいる。なお、新たにトランザクションデータが生成されるときのトランザクションデータは、アドレスP1が空欄となる。
<同期部215>
同期部215は、複数の認証サーバの間でブロックチェーンのブロックの同期、及び、トランザクションデータの同期を行う。複数の認証サーバでは、peer to peerでブロックチェーンのブロックの同期が行われ、記録部216に記録される。
例えば、トランザクションデータ検証部212により、車両100aから取得した第1トランザクションデータの正当性が検証されると、同期部215は、他の認証サーバ200b及び200cに第1トランザクションデータの複製を転送する。これにより、検証済みの第1トランザクションデータを他の認証サーバ200b及び200cの記録部216に記録させることができる。また、同期部215は、他の認証サーバ200b及び200cから第1トランザクションデータを取得したら、取得した第1トランザクションデータを記録部216に記録させる。なお、第2トランザクションデータ及び第3トランザクションデータの場合も同様であるので、説明は省略する。
<記録部216>
記録部216は、第1トランザクションデータと、第2トランザクションデータと、第3トランザクションデータとをブロックチェーンのブロックで記憶装置201aに記録する。なお、当該記憶装置201aは、記録部216の内部に構成されていてもよいし、図1に示すように、認証サーバ200aの外部に構成されていてもよい。
本実施の形態では、記録部216は、トランザクションデータ検証部212により第1トランザクションデータの正当性が確認されると第1トランザクションデータを記憶装置201aに記録する。記録部216は、第1トランザクションデータをブロックチェーンのトランザクションデータとして記録する。
ここで、記録部216は、複数の電子制御装置それぞれを一意に識別する第2の識別子を記憶装置201aに予め記録していてもよい。予め記録される第2の識別子により示されるECUは、例えば、カーメーカなどが認定し、動作保証のある正規部品に該当する。この場合、記録部216は、トランザクションデータ検証部212により、第1の識別子が第2の識別子に含まれていることが確認され、かつ、第1トランザクションデータの正当性が確認された場合、第1トランザクションデータを記憶装置201aに記録してもよい。これにより、正規部品である部品が交換されたことが記憶装置201aに確実に記録される。
<第2通信部217>
第2通信部217は、1以上の車両100a等のそれぞれと通信を行う。第2通信部217は、トランザクションデータ検証部212により、第1の識別子が第2の識別子に含まれていないことが確認され、かつ、第1トランザクションデータの正当性が確認された場合、第1の識別子が第2の識別子に含まれていない旨を通知する。これにより、非正規部品である部品が交換されたことを車両100a等に通知することができる。
より具体的には、第2通信部217は、車両100a等、及び、カーメーカサーバ300と通信を行う通信インタフェースである。この通信は、TLSとしてもよい。この通信は、TLSによりなされてもよい。その場合、TLS通信用の暗号鍵は、第2通信部217が保持してもよい。
次に、カーメーカサーバ300について説明する。
[1.1.5 カーメーカサーバ300の構成]
図7は、実施の形態1に係るカーメーカサーバ300の機能構成を示すブロック図である。
カーメーカサーバ300は、図7に示すように、入力部311と、トランザクションデータ生成部312と、第3通信部313とを備える。カーメーカサーバ300は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
<入力部311>
入力部311は、カーメーカで管理している正規部品に関する入力を受け付け、トランザクションデータ生成部312へ送信する。より具体的には、入力部311は、カーメーカで管理している正規部品である複数の電子制御装置それぞれを一意に識別する第2の識別子の入力を受け付ける。そして、入力部311は、入力された第2の識別子をトランザクションデータ生成部312に送信する。
<トランザクションデータ生成部312>
トランザクションデータ生成部312は、入力部311から送信されて取得した入力情報から、ブロックチェーンのトランザクションデータである第3トランザクションデータを生成する。ここで、トランザクションデータ生成部312は、正規部品を登録する旨を示す第3トランザクションデータを、第2の識別子を含めて生成する。本実施の形態では、トランザクションデータ生成部312は、正規部品を登録する旨を示す第3トランザクションデータを、第2の識別子とカーメーカサーバ300の署名とを含めて生成する。なお、署名は、認証情報の一例であるので、カーメーカサーバ300が入力するパスワードが得られる場合には、当該パスワードのハッシュ値であってもよい。
<第3通信部313>
第3通信部313は、車両100a等、及び、認証サーバ200a等との通信を行う通信インタフェースである。この通信は、TLSとしてもよい。この通信は、TLSによりなされてもよい。その場合、TLS通信用の暗号鍵は第3通信部313が保持してもよい。
[1.2 動作等]
以下、以上のように構成された管理システム10の処理動作について説明する。
[1.2.1 カーメーカサーバ300と認証サーバ200a等との間の登録処理]
まず、認証サーバ200a等に、正規部品を一意に識別する第2の識別子を登録する登録処理について説明する。ここでは、カーメーカサーバ300から、認証サーバ200a等のうちの一の認証サーバ200aに第2の識別子を含む第3トランザクションデータを送信する場合について説明する。
図8Aは、実施の形態1に係るカーメーカサーバ300と認証サーバ200a等との間の登録処理を示すシーケンス図である。図8Bは、図8Aに示すステップS104の詳細処理を示すフローチャートである。
まず、ステップS101において、カーメーカサーバ300は、車両100a等を構成する部品として交換できる正規部品を示す第2の識別子を取得する。
次に、ステップS102において、カーメーカサーバ300は、取得した正規部品の第2の識別子を含む第3トランザクションデータを生成する。本実施の形態では、第3トランザクションデータは、例えば、第2の識別子とカーメーカサーバ300の署名などの認証情報とを含めて生成される。
次に、ステップS103において、カーメーカサーバ300は、生成した第3トランザクションデータを認証サーバ200aに送信する。なお、図8Aでは、カーメーカサーバ300は、生成した第3トランザクションデータを認証サーバ200aに送信する例が示されているが、これに限らない。認証サーバ200a等のうちのいずれかの認証サーバに送信してもよい。
次に、ステップS104において、認証サーバ200aは、取得した第3トランザクションデータの検証を行い、成功した場合に、記録部216に第3トランザクションデータを記録させて、ステップS106に進む。
ここで、ステップS104の詳細処理について、図8Bを用いて説明する。すなわち、認証サーバ200aは、まず、取得した第3トランザクションデータの検証を行い、成功したか否かを確認する(S1041)。より詳細には、認証サーバ200aは、第3トランザクションデータに含まれる第2の識別子が正当であるかと、第3トランザクションデータに含まれるカーメーカサーバ300の署名が正当であるかとを検証する。つまり、認証サーバ200aは、第2の識別子及び署名が正当であるか否かを確認する。ステップS1041において、認証サーバ200aは、第2の識別子及び署名が正当であることを確認し、第3トランザクションデータの検証が成功した場合(S1041でY)、記録部216に第3トランザクションデータを記録させて(S1042)、ステップS106に進む。なお、ステップS1041において、認証サーバ200aは、第3トランザクションデータの検証が成功しなかった場合(S1041でN)、カーメーカサーバ300にその旨を通知し(S1043)、登録処理を終了する。
次に、ステップS106において、認証サーバ200aは、取得した第3トランザクションデータの複製を、他の認証サーバ200b、200cに転送する。なお、他の認証サーバ200b、200cにおいても、転送され取得した第3トランザクションデータを検証する。この検証処理は、図8Bで説明した処理と同様である。
次に、ステップS107において、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、認証サーバ200aと認証サーバ200bと認証サーバ200cとが取得した第3トランザクションデータが正当なトランザクションデータであることが検証される。認証サーバ200a、200b及び200cは、検証済みの第3トランザクションデータを含むブロックの生成を行う。これにより、正規部品を示す第2の識別子を含むブロックが生成されるので、ブロックチェーンを参照することで、交換されたECUが正規部品であるかの判断ができる。
[1.2.2 車両100aと認証サーバ200a等との間の検証処理]
続いて、車両100aの部品交換が検知され、車両100aと認証サーバ200a等との間で交換した部品を検証する処理について説明する。ここでは、車両100aから、認証サーバ200a等のうちの一の認証サーバ200aに第1の識別子を含む第1トランザクションデータを送信する場合について説明する。
図9Aは、実施の形態1に係る車両100aと認証サーバ200a等との間の第1検証処理を示すシーケンス図である。図9Bは、図9Aに示すステップS201の詳細処理を示すフローチャートである。図9Cは、図9Aに示すステップS205の詳細処理を示すフローチャートである。ここで、第1検証処理を、車両100aの部品交換が検知され、部品交換したことを示す第1トランザクションデータが検証されるまでの処理として説明する。
まず、ステップS201において、車両100aのゲートウェイ101は、車両100aを構成する部品の交換があったことを検知する。
ここで、ステップS201の詳細処理について、図9Bを用いて説明する。すなわち、車両100aのゲートウェイ101は、まず、車載ネットワークに接続しているECUのいずれかの交換を検知したかを確認する(S2011)。より詳細には、車両100aを構成する部品の交換があれば、当該部品と接続または一体化されているECUも交換される。そのため、ゲートウェイ101は、車載ネットワークに接続しているECUのいずれかの交換を検知することで、車両100aを構成する部品の交換があったことを検知することができる。ステップS2011において、ゲートウェイ101は、ECUの交換を検知した場合(S2011でY)、ステップS203に進む。なお、ステップS2011において、ゲートウェイ101は、ECUの交換を検知しなかった場合(S2011でN)、第1検証処理を終了する。
次に、ステップS203において、車両100aのゲートウェイ101は、交換されたECUを示す第1の識別子を含む第1トランザクションデータを生成する。本実施の形態では、第1トランザクションデータは、例えば、第1の識別子と、当該第1の識別子を含む情報に対する署名などの認証情報とを含めて生成される。
次に、ステップS204において、車両100aのゲートウェイ101は、生成した第1トランザクションデータを認証サーバ200aに送信する。なお、図9Aでは、車両100aは、生成した第1トランザクションデータを認証サーバ200aに送信する例が示されているが、これに限らない。認証サーバ200a等のうちのいずれかの認証サーバに送信してもよい。
次に、ステップS205において、認証サーバ200aは、取得した第1トランザクションデータの検証を行い、成功した場合に、記録部216に第1トランザクションデータを記録させて、ステップS207に進む。
ここで、ステップS205の詳細処理について、図9Cを用いて説明する。すなわち、認証サーバ200aは、まず、取得した第1トランザクションデータの検証を行い、成功したか否かを確認する(S2051)。より詳細には、認証サーバ200aは、第1トランザクションデータに含まれる第1の識別子が正当であるかと、第1トランザクションデータに含まれる署名が正当であるかとを検証する。つまり、認証サーバ200aは、第1の識別子及び署名がいずれも正当であるか否かを確認する。ステップS2051において、認証サーバ200aは、第1の識別子及び署名が正当であることを確認し、第1トランザクションデータの検証が成功した場合(S2051でY)、記録部216に第1トランザクションデータを記録させて(S2052)、ステップS207に進む。なお、ステップS2051において、認証サーバ200aは、第1トランザクションデータの検証が成功しなかった場合(S2051でN)、車両100aのゲートウェイ101にその旨を通知し(S2053)、第1検証処理を終了する。
次に、ステップS207において、認証サーバ200aは、取得した第1トランザクションデータの複製を、他の認証サーバ200b、200cに転送する。他の認証サーバ200b、200cでも転送され取得した第1トランザクションデータを検証する。この検証処理は、図9Cで説明した処理と同様である。
次に、ステップS208において、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、認証サーバ200aと認証サーバ200bと認証サーバ200cとが取得した第1トランザクションデータが正当なトランザクションデータであると検証される。認証サーバ200a、200b及び200cは、検証済みの第1トランザクションデータを含むブロックの生成を行う。
次に、第1検証処理に続く第2検証処理について説明する。
図10Aは、実施の形態1に係る車両100aと認証サーバ200a等との間の第2検証処理を示すシーケンス図である。図10Bは、図10Aに示すステップS209の詳細処理を示すフローチャートである。図10Cは、図10Aに示すステップS215の詳細処理を示すフローチャートである。第2検証処理は、部品交換したことを示す第1トランザクションデータが記録される第1検証処理に続いて行われる。より詳細には、第2検証処理は、第1検証処理後から、第1トランザクションデータに含まれる第1の識別子により示されるECUが非正規部品であってもそのまま利用することをユーザが選択したことを示す第2トランザクションデータが検証されるまでの処理である。
次に、ステップS209において、認証サーバ200aは、第1トランザクションデータに含まれる、交換されたECUを示す第1の識別子の検証を行い、ブロックチェーンに存在していない場合に、ステップS212に進む。
ここで、ステップS209の詳細処理について、図10Bを用いて説明する。すなわち、認証サーバ200aは、まず、第1トランザクションデータに含まれる第1の識別子が、予め記録された第2の識別子に有るかどうかを確認する(S2091)。より詳細には、認証サーバ200aは、ブロック生成済みの第1トランザクションデータに含まれる第1の識別子が、予めブロックチェーンに記録された正規部品を示す第2の識別子に含まれるかどうかを確認する。ステップS2091において、認証サーバ200aは、第1の識別子が、予め記録された第2の識別子にない場合(S2091でN)、第1の識別子に示されるECUの交換が、非正規部品の交換であると判断し(S2092)、ステップS212に進む。なお、ステップS2091において、認証サーバ200aは、第1の識別子が、予め記録された第2の識別子に有る場合(S2091でY)、第1の識別子に示されるECUの交換が、正規部品の交換であると判断し(S2093)、第2検証処理を終了する。
次に、ステップS212において、認証サーバ200aは、交換したECUが非正規部品であることと、当該非正規部品を利用することをユーザに確認するための画面を生成し、車両100aに送信する。
次に、ステップS213において、車両100aは、認証サーバ200aから取得した画面を表示する。本実施の形態では、車両100aは、当該画面を、ヘッドユニット140で表示する。当該画面は、例えば図11に示すような画面である。ここで、図11は、実施の形態1に係る車両100aで表示される画面表示の一例を示す図である。図11では、「自動車内の部品が交換されました。自動車メーカの正規部品ではないです。このまま利用しますか」といった画面表示の例が示されている。すなわち、図11には、車両100aで交換されたECUが正規部品ではないことと、当該非正規部品をそのまま利用するかをユーザに確認するための画面表示の一例が示されている。
次に、ステップS214において、車両100aが表示する画面表示に対するユーザによる選択を受け付ける。すると、車両100aはユーザの選択結果を示す第2トランザクションデータを生成して、認証サーバ200aに送信する。ユーザによる選択とは、例えば図11に示される「はい」または「いいえ」の一方の入力を受け付けることである。
次に、ステップS215において、認証サーバ200aは、取得した第2トランザクションデータの検証を行い、成功した場合に、記録部216に第2トランザクションデータを記録させて、ステップS217に進む。
ここで、ステップS215の詳細処理について、図10Cを用いて説明する。すなわち、認証サーバ200aは、まず、取得した第2トランザクションデータの検証を行い、成功したか否かを確認する(S2151)。より詳細には、認証サーバ200aは、第2トランザクションデータに含まれる署名が正当であるかを検証する。ステップS2151において、認証サーバ200aは、署名が正当であることを確認し、第2トランザクションデータの検証が成功した場合(S2151でY)、記録部216に第2トランザクションデータを記録させて(S2152)、ステップS217に進む。なお、ステップS2151において、認証サーバ200aは、第2トランザクションデータの検証が成功しなかった場合(S2151でN)、車両100aのゲートウェイ101にその旨を通知し(S2153)、第2検証処理を終了する。
次に、ステップS217において、認証サーバ200aは、取得した第2トランザクションデータの複製を、他の認証サーバ200b、200cに転送する。なお、他の認証サーバ200b、200cにおいても、転送され取得した第2トランザクションデータを検証する。この検証処理は、図10Cで説明した処理と同様である。
次に、ステップS218において、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、認証サーバ200aと認証サーバ200bと認証サーバ200cとが取得した第2トランザクションデータが正当なトランザクションデータであることが検証され。認証サーバ200a、200b及び200cは、検証済みの第2トランザクションデータを含むブロックの生成を行う。
[1.3 実施の形態1の効果]
以上のように、実施の形態1に係る管理システム10等によれば、車両において交換された部品すべての履歴を記憶装置に記録することができるので、車両において交換された部品を確実に管理することができる。また、実施の形態1に係る管理システム10等によれば、交換された部品が正規部品か否かと、非正規部品であればユーザへの確認したことも履歴として記録する。より具体的には、交換された部品が正規部品であるかの検証を車両と認証サーバとの間で行い、交換された部品が非正規部品である場合、ユーザに通知してさらに非正規部品を利用することの確認を行う。このようにして、実施の形態1に係る管理システムは、車両において交換された部品を確実に管理することができる。
換言すると、実施の形態1に係る管理システムによれば、車両において交換された部品が、カーメーカが認定し、車両に用いられたときに動作保証できる正規部品かそうでない非正規部品かを確実に管理することができる。さらに、車両において交換された部品が非正規部品である場合には、ユーザが確認したことも確実に管理する。
それにより、車両の故障または事故などの問題が発生した場合に、車両の問題か車両に用いられた正規部品か、または車両に用いられた非正規部品かというように、問題の切り分けを容易に行うことができる。
例えば、車両において非正規部品であるバッテリーに交換されたことにより、バッテリーからの出力が足りずに走行に影響が出るといった自動車の安全な走行が損なわれることも考えられる。このような場合でも、実施の形態1に係る管理システム10等を用いることで、車両において交換された部品が、非正規部品であることが確実にわかるので、車両に用いられた非正規部品が問題となっていることを容易につきつめることができる。
この結果、施の形態1に係る管理システムを用いることで、車両及び正規部品に問題があればカーメーカはこれらの機能等の改善に繋げることができ、非正規部品に問題であれば、非正規部品が不適合であるといった警告を行うことができる。
さらに、カーメーカは、交換された部品が正規部品であるかの確認ができるため、交換された部品そのものの保証と、当該部品に交換された車両の動作保証もできる。一方、ユーザは、交換された部品が非正規部品であっても、カーメーカによる保証がないことについて同意をすれば利用することができる。
また、車両の管理者は、車両において交換されたすべての部品が正規部品であるか否かを確認することができる。これにより、車両の管理者は、車両において交換されたすべての部品が正規部品のみであれば、当該車両には正規部品のみが利用されていることを保証でき、当該車両の中古車としての価値を維持することもできる。
また、実施の形態1に係る管理システム10等では、改ざんが困難であるブロックチェーンにより車両における部品の交換等を管理するので、車両において交換された部品をより安全なシステムでより確実に管理することができる。
(変形例)
実施の形態1では、改ざんが困難であるブロックチェーンにより車両における部品の交換等を管理する管理システム10について説明したが、ブロックチェーンにより車両における部品の交換等をしなくてもよい。以下、この場合を変形例として、実施の形態1と異なる点を中心に説明する。
[1.4. システム構成]
本変形例の管理システム10は、実施の形態1と同様に、交換された部品が正規部品か否かと、非正規部品であればユーザへの確認したことも履歴として記録することで、車両における部品の交換を確実に管理する。
本変形例の管理システム10は、例えば、図1に示す車両100a、100b、100cなどの1以上の車両と、図12に示す認証サーバ200Aなどの1以上の認証サーバと、カーメーカサーバ300とを備える。なお、車両100a等は、実施の形態1と比較して、第1トランザクションデータをブロックチェーンではないトランザクションデータとして生成する点のみが異なり、他は同様である。また、カーメーカサーバ300は、実施の形態1と比較して、第3トランザクションデータをブロックチェーンではないトランザクションデータとして生成する点のみが異なり、他は同様である。認証サーバ200Aについては、後述する。
[1.4.1 認証サーバ200Aの構成]
図12は、実施の形態1の変形例に係る認証サーバ200Aの機能構成を示すブロック図である。図5と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図12に示す認証サーバ200Aは、実施の形態1に係る認証サーバ200aに対して、トランザクションデータ生成部213Aの構成が異なり、ブロック生成部214がない点で異なる。
トランザクションデータ生成部213Aは、車両100a等から取得した選択結果から、ブロックチェーンではないトランザクションデータである第2トランザクションデータを生成する。その他は、同様であるので説明を省略する。
[1.5 動作等]
以下、以上のように構成された本変形例の管理システム10の処理動作について説明する。
[1.5.1 カーメーカサーバ300と認証サーバ200Aとの間の登録処理]
まず、認証サーバ200Aにおいて正規部品を一意に識別する第2の識別子を登録する登録処理について説明する。ここでは、カーメーカサーバ300から、認証サーバ200Aに第2の識別子を含む第3トランザクションデータを送信する場合について説明する。
図13は、実施の形態1の変形例に係るカーメーカサーバ300と認証サーバ200A等との間の登録処理を示すシーケンス図である。なお、図8A等と同様の要素には同一の符号を付しており、詳細な説明は省略する。図14は、実施の形態1の変形例に係る認証サーバ200Aが第3トランザクションデータを記録する際に用いるデータ構造の一例である。
まず、ステップS101において、カーメーカサーバ300は、車両100a等に用いられる正規部品を示す第2の識別子を取得する。
次に、ステップS102において、カーメーカサーバ300は、取得した正規部品の第2の識別子を含む第3トランザクションデータを生成する。ここで、第3トランザクションデータは、ブロックチェーンとして記録されないトランザクションデータである。
次に、ステップS103において、カーメーカサーバ300は、生成した第3トランザクションデータを認証サーバ200Aに送信する。
次に、ステップS104Aにおいて、認証サーバ200Aは、取得した第3トランザクションデータの検証を行い、成功した場合に、ステップS104Bに進む。なお、ステップS104Aの詳細処理については、図8Bで説明した通りであるのでここでの説明は省略する。
次に、ステップS104Bにおいて、認証サーバ200Aは、記録部216に第3トランザクションデータを記録させる。より具体的には、認証サーバ200Aは、例えば図14に示すように、登録処理すなわち登録を示す取引において、取得した第2の識別子で示されるECUすなわち部品が、正規部品であることを記憶装置201Aに記録する。このようにして、認証サーバ200Aは、ブロックチェーンではない第3トランザクションデータを記憶装置201Aに記録する。
[1.5.2 車両100aと認証サーバ200Aとの間の検証処理]
続いて、車両100aの部品交換が検知され、車両100aと認証サーバ200Aとの間で交換した部品を検証する処理について説明する。ここでは、車両100aから、認証サーバ200Aに第1の識別子を含む第1トランザクションデータを送信する場合について説明する。
図15は、実施の形態1の変形例に係る車両100aと認証サーバ200Aとの間の第1検証処理を示すシーケンス図である。なお、図9A等と同様の要素には同一の符号を付しており、詳細な説明は省略する。図16は、実施の形態1の変形例に係る認証サーバ200Aが第1トランザクションデータを記録する際に用いるデータ構造の一例である。ここでも、第1検証処理を、車両100aの部品交換が検知され、部品交換したことを示す第1トランザクションデータが検証されるまでの処理として説明する。
まず、ステップS201において、車両100aのゲートウェイ101は、車両100aを構成する部品の交換があったことを検知する。ステップS201の詳細処理については、図9Bで説明した通りであるのでここでの説明は省略する。
次に、ステップS203において、車両100aのゲートウェイ101は、交換されたECUを示す第1の識別子を含む第1トランザクションデータを生成する。本変形例でも、第1トランザクションデータは、例えば、第1の識別子と、当該第1の識別子を含む情報に対する署名などの認証情報とを含めて生成される。
次に、ステップS204において、車両100aのゲートウェイ101は、生成した第1トランザクションデータを認証サーバ200Aに送信する。
次に、ステップS205Aにおいて、認証サーバ200Aは、取得した第1トランザクションデータの検証を行い、成功した場合に、ステップS205Bに進む。なお、ステップS205Bの詳細処理については、図9Cで説明した通りであるのでここでの説明は省略する。
次に、ステップS205Bにおいて、認証サーバ200Aは、記録部216に第1トランザクションデータを記録させる。より具体的には、認証サーバ200Aは、例えば図16に示すように、部品の交換を示す取引において、取得した第1の識別子で示されるECUすなわち部品が、正規部品であるか非正規部品であるかと、非正規部品である場合ユーザの確認があるか否かを記憶装置201Aに記録する。このようにして、認証サーバ200Aは、第1トランザクションデータを記憶装置201Aに記録する。
なお、第1検証処理に続く第2検証処理についても、同様に、認証サーバ200Aは、ブロックチェーンを利用しないデータ構造を用いて、第3トランザクションデータを記憶装置201Aに記録する。
(実施の形態2)
実施の形態1では、車両100a等の車両側で部品交換を検知すると、第1トランザクションデータを生成していたが、これに限らない。車両100a等の車両側で部品交換を検知すると、まず、部品交換を検知したことを認証サーバ200a等に送信し、部品交換を行った者を特定するための情報を取得後に、第1トランザクションデータを生成してもよい。実施の形態2では、部品交換を行った者を特定するための情報(以下で第1ユーザ情報と称する)を含めた第1トランザクションデータを第4トランザクションデータとも称して説明する。
[2.1 システム構成]
実施の形態2の管理システム10は、実施の形態1と同様に、交換された部品が正規部品か否かと、非正規部品であればユーザへの確認したことも履歴として記録することで、車両において交換された部品を確実に管理する。さらに、実施の形態2の管理システム10は、部品交換を行った者を特定するための情報も管理する。
実施の形態2の管理システム10は、例えば、実施の形態1の管理システム10と同様に、車両100a、100b、100cなどの1以上の車両と、図12に示す認証サーバ200a、200b、200cなどの1以上の認証サーバと、カーメーカサーバ300とを備える。以下、実施の形態1と異なる点を中心に説明する。
<車両100a等>
ヘッドユニット140が有する入力部1412は、さらに、1以上の電子制御装置を交換した第1ユーザの入力を受け付けてもよい。なお、ユーザが携帯する携帯端末が、上述したように表示部1411と入力部1412とを有する場合、当該携帯端末は、1以上の電子制御装置を交換した第1ユーザの入力を受け付けてもよい。
これらの場合、ゲートウェイ101のトランザクションデータ生成部1102は、第1トランザクションデータに、第1の識別子及び入力部1412に入力された第1ユーザを特定するための第1ユーザ情報を含めて生成すればよい。
<認証サーバ200a等>
画面生成部211は、車両100a等から、複数の電子制御装置のうち、1以上の電子制御装置が交換された旨を示す交換情報を取得すると、当該1以上の電子制御装置を交換した第1ユーザを示す情報の入力を促す画面を生成する。換言すると、画面生成部211は、交換情報を取得すると、部品を交換した第1ユーザの情報を得るための画面を生成する。そして、画面生成部211は、生成した画面を示す画面情報を第2通信部217を介して車両100a等に送信する。なお、その他については実施の形態1で説明した通りであるので、説明を省略する。
トランザクションデータ検証部212は、検証部の一例であり、1以上の車両の少なくとも一の車両100aから取得した第1トランザクションデータの正当性を検証する。本実施の形態では、トランザクションデータ検証部212は、第1トランザクションデータに含まれる第1の識別子が、予め記録されている第2の識別子に含まれているかと、第1トランザクションデータに含まれる第1ユーザ情報が、予め記録されている第2ユーザ情報に含まれているかと、第1トランザクションデータの正当性とを検証する。その他については実施の形態1で説明した通りであるので、説明を省略する。
記録部216は、第1トランザクションデータと、第2トランザクションデータと、第3トランザクションデータとを、ブロックチェーンのブロックで記憶装置201aに記録する。さらに、記録部216は、複数のユーザそれぞれを一意に特定できる第1ユーザ情報を記憶装置201aに予め記録する。記録部216は、第1ユーザ情報をブロックチェーンのトランザクションデータとして記録する。
本実施の形態では、トランザクションデータ検証部212により、第1の識別子が第2の識別子に含まれていることが確認され、かつ、第1ユーザ情報が第2ユーザ情報に含まれ、かつ、第1トランザクションデータの正当性が確認された場合、記録部216は、第1トランザクションデータを記憶装置201aに記録する。その他については実施の形態1で説明した通りであるので、説明を省略する。
なお、以下では、第1ユーザ情報を含めた第1トランザクションデータを、第4トランザクションデータと称して説明する。
[2.2 動作等]
以下、実施の形態2に係る管理システム10の処理動作について説明する。
[2.2.1 車両100aと認証サーバ200a等との間の検証処理]
車両100aの部品交換が検知され、車両100aと認証サーバ200a等との間で交換した部品を検証する処理について説明する。ここでは、車両100aから、認証サーバ200aに第1の識別子及び第1ユーザ情報を含む第1トランザクションデータである第4トランザクションデータを送信する場合について説明する。
図17は、実施の形態2に係る車両100aと認証サーバ200aとの間の第1検証処理を示すシーケンス図である。なお、図9A等と同様の要素には同一の符号を付しており、詳細な説明は省略する。ここでも、第1検証処理を、車両100aの部品交換が検知され、部品交換したことを示す第1トランザクションデータが検証されるまでの処理として説明する。
まず、ステップS301において、車両100aのゲートウェイ101は、車両100aを構成する部品の交換があったことを検知すると、ステップS302に進む。ステップS301の詳細処理については、図9Bで説明した通りであるのでここでの説明は省略する。
次に、ステップS303において、車両100aのゲートウェイ101は、部品の交換があった旨を示す交換情報を認証サーバ200aに通知する。なお、図17では、車両100aは、交換情報を認証サーバ200aに送信する例が示されているが、これに限らない。認証サーバ200a等のうちのいずれかの認証サーバに送信してもよい。
次に、ステップS304において、認証サーバ200aは、部品を交換した第1ユーザの情報である第1ユーザ情報を取得するための画面を生成し、車両100aに送信する。
次に、ステップS305において、車両100aは、認証サーバ200aから取得した画面を表示する。本実施の形態では、車両100aは、当該画面を、ヘッドユニット140で表示するが、第1ユーザが携帯する携帯端末の表示面に表示してもよい。当該画面は、例えば図18に示すような画面である。ここで、図18は、実施の形態2に係る車両100aで表示される画面表示の一例を示す図である。図18には、「部品を交換したユーザを特定するため、IDとパスワードとを入力してください。」といった画面表示の例が示されている。すなわち、図11には、車両100aの部品を交換した第1ユーザを特定するために、IDとパスワードとを確認する画面表示の一例が示されている。
すると、ステップS306において、第1ユーザが予め登録していた第1ユーザのID及びパスワードが、ヘッドユニット140または第1ユーザが携帯する携帯電話が有する入力部1412を介して、入力されるとする。
この場合、ステップS307において、車両100aのゲートウェイ101は、交換されたECUを示す第1の識別子と、第1ユーザのID及びパスワードから生成された秘密鍵を用いた署名とを含む第4トランザクションデータを生成する。
次に、ステップS308において、車両100aのゲートウェイ101は、生成した第4トランザクションデータを認証サーバ200aに送信する。
次に、ステップS309において、認証サーバ200aは取得した第4トランザクションデータの検証を行い、成功した場合に、記録部216に第1トランザクションデータを記録させて、ステップS310に進む。なお、ステップS309の詳細処理については、図9Cで説明した通りであるのでここでの説明は省略するが、第4トランザクションデータの正当性の検証は、署名すなわち認証情報が正当であるかと、第1の識別子が正当であるかとを検証する。
次に、ステップS310において、認証サーバ200aは、取得した第4トランザクションデータの複製を、他の認証サーバ200b、200cに転送する。他の認証サーバ200b、200cにおいても、転送され取得した第4トランザクションデータを検証する。この検証処理は、図9Cで説明した処理と同様である。
次に、ステップS311において、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、認証サーバ200aと認証サーバ200bと認証サーバ200cとが取得した第4トランザクションデータが正当なトランザクションデータであると検証される。そして、認証サーバ200a、200b及び200cは、検証済みの第1トランザクションデータを含むブロックの生成を行う。
このようにして、ブロックチェーンで記録される第4トランザクションデータに含まれるIDから、どの第1ユーザが部品を交換したのかを特定することができる。換言すると、第1ユーザが、カーメーカが認定する業者である第2ユーザか否かを判別することができるので、カーメーカが認定する業者で交換したか否かも管理することができる。
なお、第1検証処理に続く第2検証処理については、実施の形態1で説明した通りであるので、ここでの説明を省略する。
[2.3 実施の形態2の効果]
以上のように、実施の形態2に係る管理システムでは、交換された部品が正規部品か否かと、非正規部品であればユーザへの確認したことも履歴として記録する。さらに、実施の形態2に係る管理システムでは、交換された部品がどのユーザが交換したのかについても履歴として記録する。これにより、車両において交換された部品を確実に管理することができる。
また、実施の形態2に係る管理システムでは、認定された正規の業者である第2のユーザが予め記憶装置に登録されている。これにより、部品を交換した第1ユーザが認定された正規の業者であるか否かを確認することができる。ここで、第1ユーザは、正規の業者の個々人でもよいし、複数の従業員を含む業者でもよい。
例えば、カーメーカは、交換された部品が正規部品であるかの確認だけでなく、認定された正規の業者が交換したことを確認できるため、車両の動作保証もできる。
(変形例)
実施の形態2でも、改ざんが困難であるブロックチェーンにより車両における部品の交換等を管理する場合について説明したが、限らない。ブロックチェーンを用いずに、交換された部品が正規部品であるかの確認だけでなく、認定された正規の業者が交換したことなどの車両における部品の交換等を管理してもよい。
[3. その他の変形例]
以上、本開示について上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
(1)上記の実施の形態及び変形例では、認証サーバとカーメーカサーバとは別の装置として説明したが、認証サーバとカーメーカサーバとが同一の装置で構成されていてもよい。
(2)上記の実施の形態及び変形例では、認証サーバは、交換された部品が非正規部品であることを検証した場合、交換された部品が非正規部品でない旨を車両に通知しているが、カーメーカサーバにも通知するとしてもよい。
(3)上記の実施の形態1等では、ステップS212からステップS214において、交換された部品が非正規部品である場合、例えば図11に示したような画面を生成し、ユーザに非正規部品を利用することの確認を行っているが、これに限らない。さらに次のようにしてもよい。例えば、ステップS213において表示された例えば図11に示したような画面において、ユーザが非正規部品の利用を承諾する選択を選んだ場合、図19に示すような画面をさらに表示し、当該ユーザのパスワードを入力させるとしてもよい。
ここで、図19は、その他の変形例に係るユーザのパスワードを入力するための画面の一例を示す図である。すなわち、ユーザによりパスワードが入力されると、認証サーバ200aは、入力されたパスワードを用いてユーザの選択結果を示す第2トランザクションデータを生成してもよい。ここでのユーザは車両100aの管理者であってもよいし、車両100aの部品を交換した業者であってもよい。また、ユーザは両者であってもよい。すなわち、車両100aの管理者と車両100aの部品を交換した業者とのそれぞれにパスワードを入力させてもよい。
そして、認証サーバ200aは、入力されたパスワードから生成した秘密鍵を用いて、第2トランザクションデータに含める署名を生成してもよい。ここで、ユーザが例えば上記の両者である場合、認証サーバ200aは、車両の管理者のパスワードから生成される秘密鍵を用いた署名と、部品を交換した業者のパスワードから生成される秘密鍵を用いた署名との2つの署名を含めて第2トランザクションデータを生成してもよい。また、認証サーバ200aは、入力された複数のパスワードからそれぞれ生成される秘密鍵を用いた署名を含めて第2トランザクションデータを生成してもよい。
(4)上記の実施の形態1及び2における認証サーバが管理するブロックチェーンはカーメーカサーバ300から参照できるとしてもよい。また、当該ブロックチェーンは、カーメーカだけでなく、正規部品を提供している部品メーカからも参照できるとしてもよい。
(5)上記の実施の形態及び変形例では、車両100a等のゲートウェイ101は、部品の交換を検知し、交換した部品を示す第1の識別子を含む第1トランザクションデータを生成して送信しているが、これに限らない。当該ゲートウェイ101は、第1トランザクションデータを、交換前の部品を示す識別子も含めて生成してもよい。これにより、仮に交換された部品が非正規部品であっても、どの部品と交換されたかを容易に把握でき、非正規部品の特定を容易に行うことができる。
(6)上記の実施の形態及び変形例では、車両100a等のゲートウェイ101は、部品の交換を検知し、交換した部品を示す第1の識別子を含む第1トランザクションデータを送信しているが、これに限らない。当該ゲートウェイ101は、第1トランザクションデータを、交換後の部品が送信するメッセージも含めて生成してもよい。これにより、仮に交換された部品が非正規部品であっても、非正規部品がどのような機能を持っているかを容易に把握でき、非正規部品の特定を容易に行うことができる。
(7)上記の実施の形態及び変形例では、車両100a等ゲートウェイ101で部品交換を検知していたが、これに限らない。車両100a等が有する車載ネットワーク内のいずれのECU、またはすべてのECUに同様の機能があり、いずれかのECUが部品交換を検知するとしてもよい。
(8)上記の実施の形態2及びその変形例では、ステップS305において、車両100aの部品を交換した第1ユーザを特定するために、図18に示す画面表示を行いユーザのIDとパスワードとを入力させるとして説明したが、これに限らない。ステップS302〜S306を省略してもよい。この場合、ステップS301において、部品の交換を検知したときの車両のGPS情報を自動的に取得して、第4トランザクションデータを生成するとしてもよい。部品の交換を検知したときの車両のGPS情報に示される場所が部品が交換された場所であると推定されるので、部品を交換した業者の場所を特定でき、カーメーカに認定された業者であるかの確認をすることができる。
(9)上記の実施の形態2及びその変形例では、ステップS305において、ユーザのIDとパスワードとを入力させ、車両100aの部品を交換した第1ユーザを特定するしているが、これに限らない。ステップS305において、図20に示すように、部品を交換したか否かの事実をユーザに確認するだけでもよい。
ここで、図20は、その他の変形例に係るユーザに部品を交換したか否かの事実を確認するための画面の一例を示す図である。すなわち、ステップS305において、図20に示すように、部品を交換したか否かをユーザに確認し、確認結果を示す第2トランザクションデータを生成してもよい。この場合、認証サーバ200aは、車両100a等を構成する部品が交換された事実のみを記録する。これにより、カーメーカは、認証サーバ200aが管理する部品が交換された事実のみの記録を参照することで、部品が交換されたことが確認できる。
(10)上記の実施の形態および変形例における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(11)上記の実施の形態および変形例における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)又は、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(12)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(13)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(14)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。