JP2021157372A - 処理装置、データ管理方法、及びプログラム - Google Patents

処理装置、データ管理方法、及びプログラム Download PDF

Info

Publication number
JP2021157372A
JP2021157372A JP2020055503A JP2020055503A JP2021157372A JP 2021157372 A JP2021157372 A JP 2021157372A JP 2020055503 A JP2020055503 A JP 2020055503A JP 2020055503 A JP2020055503 A JP 2020055503A JP 2021157372 A JP2021157372 A JP 2021157372A
Authority
JP
Japan
Prior art keywords
data
block
processing device
node
processing
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
JP2020055503A
Other languages
English (en)
Other versions
JP7374034B2 (ja
Inventor
晋輔 今村
Shinsuke Imamura
晋輔 今村
大和 伊藤
Yamato Ito
大和 伊藤
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.)
Mitsubishi Heavy Industries Machinery Systems Co Ltd
Original Assignee
Mitsubishi Heavy Industries Machinery Systems Co Ltd
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 Mitsubishi Heavy Industries Machinery Systems Co Ltd filed Critical Mitsubishi Heavy Industries Machinery Systems Co Ltd
Priority to JP2020055503A priority Critical patent/JP7374034B2/ja
Publication of JP2021157372A publication Critical patent/JP2021157372A/ja
Application granted granted Critical
Publication of JP7374034B2 publication Critical patent/JP7374034B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】低コストでセキュリティ性を向上させることができる処理装置を提供する。【解決手段】処理装置10は、第1のノードにおいて収集された第1データを蓄積する第1データ記録部110と、前記第1データを第2のノードに送信する第1データ送信部111と、前記第2のノードにおいて収集された第2データを蓄積する第2データ記録部112と、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するブロック生成部113と、生成した前記ブロックデータを前記第2のノードに送信するブロック送信部114と、前記第2のノードから受信した検証結果の全てが真であった場合に、前記ブロックデータをブロックチェーンに連結する処理を行うブロック処理部115と、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するデータ消去部116と、を備える。【選択図】図2

Description

本発明は、処理装置、データ管理方法、及びプログラムに関する。
サイバーセキュリティの重要性が増す中、デジタルデータの真正性に対するニーズも増加している。例えば、近年では、セキュリティ性の高いデータ管理システムとして、ブロックチェーン等の分散型台帳技術を用いたシステムが知られている(例えば、特許文献1を参照)。
ブロックチェーンは、取引に係るデータ(トランザクションデータ)の塊を一つのブロックとし、このブロックを時系列に鎖状に連結させて、ネットワーク上の複数のノード間で共有する仕組みである。各ブロックには、一つ前のブロックのハッシュ値が含まれる。このため、ブロックの改ざんは、一つ後のブロックに含まれるハッシュ値との整合性によって容易に検出することができる。そうすると、ある一のブロックを改ざんするためには、時々刻々と増加する後続ブロック全てを変更しなければならないので、ブロックチェーンにおいてブロックの改ざんを行うことは非常に困難となる。ブロックチェーンでは、このようにしてセキュリティ性を向上させている。
特開2017−195627号公報
しかしながら、従来のブロックチェーンを用いた技術では、複数のノードそれぞれにおいて、過去から現在に至るまでの全てのトランザクションデータの実体(生データ)を記憶しておく必要がある。したがって、各ノードは、多数のトランザクションデータを蓄積するための大容量の記録装置を有していなければならず、データ管理システムを構築及び維持するためのコストが増加する可能性があった。
本開示は、このような課題に鑑みてなされたものであって、低コストでセキュリティ性を向上させることができる処理装置、データ管理方法、及びプログラムを提供する。
上記課題を解決するため、本開示に係る処理装置は、ブロックチェーンを用いた分散型台帳システムのノードの一つを構成する処理装置であって、前記分散型台帳システムに含まれる第1のノードにおいて収集された運転データである第1データを一時記録部に蓄積する第1データ記録部と、前記第1データを前記分散型台帳システムに含まれる第2のノードに送信する第1データ送信部と、前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部に蓄積する第2データ記録部と、所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するブロック生成部と、生成した前記ブロックデータを前記第2のノードに送信するブロック送信部と、前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うブロック処理部と、前記ブロックデータが連結された場合に、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するデータ消去部と、を備える。
このように、本開示に係る処理装置は、各ノードが収集した運転データ(第1データ及び第2データ)について、運転データのハッシュ値を含むブロックデータを複数のノードそれぞれにおいて記録、共有することにより、運転データの改ざんを抑制し、セキュリティ性を向上させることができる。また、処理装置は、ブロックデータを生成後に一時記録部に蓄積された運転データ(第1データ及び第2データ)を消去するので、各ノードで過去の全ての運転データを蓄積する必要がない。したがって、処理装置は、各ノードにおいて記録される運転データの容量を大幅に低減させることができる。また、処理装置は、運転データの実体ではなくハッシュ値を含むブロックデータを生成するので、ブロックデータのデータ容量を小さくすることができる。この結果、処理装置は大容量の記録装置を有する必要がないので、処理装置の構築及び維持するためのコストを低減することができる。
また、本開示に係るデータ管理方法は、ブロックチェーンを用いた分散型台帳システムのノードの一つを構成する処理装置を用いたデータ管理方法であって、前記分散型台帳システムに含まれる第1のノードにおいて収集された運転データである第1データを一時記録部に蓄積するステップと、前記第1データを前記分散型台帳システムに含まれる第2のノードに送信するステップと、前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部に蓄積するステップと、所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するステップと、生成した前記ブロックデータを前記第2のノードに送信するステップと、前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うステップと、前記ブロックデータが連結された場合に、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するステップと、を有する。
また、本開示に係るプログラムは、ブロックチェーンを用いた分散型台帳システムのノードの一つを構成する処理装置のコンピュータに、前記分散型台帳システムに含まれる第1のノードにおいて収集された運転データである第1データを一時記録部に蓄積するステップと、前記第1データを前記分散型台帳システムに含まれる第2のノードに送信するステップと、前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部に蓄積するステップと、所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するステップと、生成した前記ブロックデータを前記第2のノードに送信するステップと、前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うステップと、前記ブロックデータが連結された場合に、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するステップと、を実行させる。
本開示に係る処理装置、データ管理方法、及びプログラムによれば、低コストでセキュリティ性を向上させることができる。
第1の実施形態に係るデータ管理システムの全体構成を示す図である。 第1の実施形態に係る処理装置の機能構成を示す図である。 第1の実施形態に係るブロックデータの一例を示す図である。 第1の実施形態に係る処理装置の処理の一例を示す第1のフローチャートである。 第1の実施形態に係る処理装置の処理の一例を示す第2のフローチャートである。 第1の実施形態に係る処理装置の処理の一例を示す第3のフローチャートである。 第2の実施形態に係るデータ管理システムの全体構成を示す図である。 第2の実施形態に係る処理装置の処理の一例を示す第1のフローチャートである。 第2の実施形態に係る処理装置の処理の一例を示す第2のフローチャートである。 少なくとも一つの実施形態に係る処理装置のハードウェア構成の一例を示す図である。
<第1の実施形態>
以下、本発明の第1の実施形態に係るデータ管理システムについて、図1〜図6を参照しながら説明する。
(全体構成)
図1は、第1の実施形態に係るデータ管理システムの全体構成を示す図である。
本実施形態に係るデータ管理システム1は、ブロックチェーンを用いた分散台帳システムである。図1に示すように、データ管理システム1は、複数のノードそれぞれを構成する処理装置10A、10B、10C、10Dを備えている。なお、以降の説明において、処理装置10A、10B、10C、10Dを総称して処理装置10とも記載する。
各ノード(処理装置10)は、通信網NWを介して通信可能に接続される。また、図1に示すように、異なる事業者により管理されていてもよい。本実施形態に係るデータ管理システム1は、例えば、有料道路の料金収受システムに関連する管理対象機器20の運転データを、複数の異なる事業者(A社、B社、C社、D社)により共同で管理及び監視することにより、改ざんの検知及び抑制を行う。
料金収受処理に関連する管理対象機器20としては、利用料金の精算を行う精算機器20A、料金所の監視を行う監視機器20B、電子式料金収受システム(ETC:Electronic Toll Collection System(登録商標)、「自動料金収受システム」ともいう)の技術を利用して車載器と通信を行うETC路側機器20C等がある。
図1の例では、A社は、精算機器20Aの管理を行っている。A社の処理装置10Aは、精算機器20Aの運転データ(例えば、有料道路の利用区間を特定可能な入口情報及び出口情報、利用料金、支払方法等)を収集してログデータ記録部13に蓄積する。
B社は、監視機器20Bの管理を行っている。B社の処理装置10Bは、監視機器20Bの運転データ(稼働状況、稼働時間、異常の有無等)を収集してログデータ記録部13に蓄積する。
C社は、ETC路側機器20Cの管理を行っている。C社の処理装置10Cは、ETC路側機器20Cの運転データ(稼働状況、稼働時間、異常の有無等)を収集してログデータ記録部13に蓄積する。
D社は、例えば有料道路の管理及び運営を行う道路事業者であり、各機器の運転データの収集は行わない。この場合、D社の処理装置10Dは、ログデータ記録部13を省略してもよい。
処理装置10は、それぞれ一時記録部14及びブロックデータ記録部15を有している。各社が収集した運転データは、処理装置10A〜10Dそれぞれの一時記録部14に一時的に記録されて共有される。また、複数の処理装置10のうち何れか一の処理装置10は、一時記録部14に記録された運転データに基づいてブロックデータを生成する。一の処理装置10により生成されたブロックデータは、他の処理装置10それぞれにおいて真正性を検証された上で、各処理装置10が有するブロックデータ記録部15のブロックチェーンに連結されて記録される。
なお、以下の説明において、自機処理装置10(自ノード)を「第1のノード」、他の処理装置10(他ノード)を「第2のノード」とも記載する。例えば、処理装置10Aの処理について説明する場合、処理装置10Aは第1のノード、処理装置10B、10C、10Dは第2のノードである。
(処理装置の機能構成)
図2は、第1の実施形態に係る処理装置の機能構成を示す図である。
図2に示すように、処理装置10は、CPU11と、通信インタフェース12と、ログデータ記録部13と、一時記録部14と、ブロックデータ記録部15と、を備えている。
通信インタフェース12は、複数の処理装置10間で運転データ及びブロックデータ等の各種データの送受信を行う。また、通信インタフェース12は、管理対象機器20(図1の精算機器20A、監視機器20B、ETC路側機器20C)から運転データを受信する。
CPU11は、処理装置10の動作全体を司るプロセッサであり、所定のプログラムに従って動作することにより、各機能部としての機能を発揮する。本実施形態では、処理装置10は、機能部として第1データ記録部110、第1データ送信部111、第2データ記録部112、ブロック生成部113、ブロック送信部114、ブロック処理部115、データ消去部116、及び、データ復旧部117を有している。
第1データ記録部110は、データ管理システム1に含まれる第1のノード(自機処理装置10)において収集された運転データである第1データを一時記録部14に蓄積する。
第1データ送信部111は、第1データをデータ管理システム1に含まれる第2のノード(他の処理装置10)に送信する。
第2データ記録部112は、第2のノード(他の処理装置10)において収集された運転データである第2データを、通信網NWを介して受信し、一時記録部14に蓄積する。
ブロック生成部113は、所定の条件を満たした場合に、蓄積された第1データ及び第2データのハッシュ値を含む一つのブロックデータBD(図3)を生成する。
図3は、第1の実施形態に係るブロックデータの一例を示す図である。
図3に示すように、ブロックデータBDには、ヘッダ情報D1と、前のブロックデータのハッシュ値D2と、第1データ及び第2データのハッシュ値D3とが含まれている。ヘッダ情報には、ブロックデータBDの作成日時を示すタイムスタンプ、及びブロックデータBDに含まれるデータ範囲を示す情報等が含まれる。
なお、本実施形態に係るデータ管理システム1において、複数の処理装置10のうち、何れか一の処理装置10がブロックデータBDの生成権を有する。生成権を有する処理装置10のブロック生成部113は、一時記録部14に所定量のデータが蓄積された場合に、ブロックデータBDを生成する。このとき、ブロック生成部113は、第1データ及び第2データを、例えば図3に示すように、事業者別に複数のデータ群に分割し、データ群それぞれのハッシュ値を計算する。図3の例では、ブロック生成部113は、一時記録部14に記録された第1データ及び第2データを、A社、B社、C社それぞれのデータ群1、データ群2、データ群3に分割する。ブロック生成部113は、これらデータ群1〜3それぞれのハッシュ値1〜3を計算し、これらハッシュ値1〜3を含むブロックデータBDを生成する。また、他の実施形態では、ブロック生成部113は、第1データ及び第2データを、データの作成時間別、データを作成した装置(処理装置)別に複数のデータ群に分割してもよい。
生成権を有する処理装置10のブロック送信部114は、生成したブロックデータBDを第2のノードに送信する。
生成権を有していない処理装置10のブロック処理部115は、受信したブロックデータBDの真正性を検証し、検証結果を他の処理装置10に送信する。例えば、処理装置10Aが生成権を有している場合、処理装置10B、10C、10Dそれぞれのブロック処理部115は、処理装置10Aが生成したブロックデータBDの真正性を検証し、その検証結果(「真」又は「偽)」)を他の処理装置10に送信する。
また、各処理装置10のブロック処理部115は、第2のノード(他の処理装置10)からブロックデータBDの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、ブロックデータBDをブロックデータ記録部15のブロックチェーンに連結する処理を行う。検証結果が所定の条件を満たす場合とは、例えば、他の処理装置10から受信した検証結果のうち、過半数以上が「真」であった場合である。また、検証結果が所定の条件を満たす場合とは、他の処理装置10から受信した全ての検証結果が「真」であった場合でもよい。
各処理装置10のデータ消去部116は、ブロックデータBDが連結された場合に、一時記録部14に蓄積された第1データ及び第2データを消去する。
生成権を有する処理装置10のデータ復旧部117は、検証結果の少なくとも一つが「偽」であった場合、且つ、検証結果の過半数が真であった場合、検証結果が偽である処理装置10に対し、一時記録部14に蓄積された第1データ及び第2データを送信する。また、生成権を有していない処理装置10のデータ復旧部117は、受信した第1データ及び第2データを一時記録部14に上書きして記録する。
(処理装置の処理フロー)
図4は、第1の実施形態に係る処理装置の処理の一例を示す第1のフローチャートである。
なお、ここでは、処理装置10Aがブロックデータの生成権を有しているとする。以下、図4を参照しながら、ブロックデータの生成権を有する処理装置10Aにおける処理の流れについて説明する。即ち、図4の説明において、処理装置10Aは第1のノードであり、処理装置10B、10C、10Dは第2のノードである。
図4に示すように、処理装置10Aの第1データ記録部110は、管理対象機器20(精算機器20A)から取得した運転データである第1データを一時記録部14に記録して蓄積する(ステップS001)。また、処理装置10Aの第1データ送信部111は、第1データを他の処理装置10B、10C、10Dに送信する(ステップS002)。
また、処理装置10Aの第2データ記録部112は、他の処理装置10B、10C、10Dそれぞれにおいて収集された運転データである第2データを受信すると、一時記録部14に記録して蓄積する(ステップS003)。なお、図1の例のように、処理装置10Dにおいて運転データの収集を行っていない場合、処理装置10Aの第2データ記録部112は、処理装置10Dを除く処理装置10B、10Cから第2データを受信するようにしてもよい。
次に、処理装置10Aのブロック生成部113は、一時記録部14に蓄積された第1データ及び第2データのデータ量(蓄積データ量)が所定の閾値を超えたか否かを判定する(ステップS004)。処理装置10Aのブロック生成部113は、蓄積データ量が閾値以下である場合(ステップS004:NO)、処理の先頭に戻る。
一方、処理装置10Aのブロック生成部113は、蓄積データ量が閾値を超えた場合(ステップS004:YES)、一時記録部14に蓄積された第1データ及び第2データに基づいてブロックデータBDを生成する(ステップS005)。また、処理装置10Aのブロック送信部114は、生成されたブロックデータBDを他の処理装置10B、10C、10Dに送信する(ステップS006)。
次に、処理装置10Aのブロック生成部113及びブロック処理部115は、生成権を有していない全ての処理装置10B、10C、10Dから検証結果を受信したか否かを判定する(ステップS007)。例えば、処理装置10Aのブロック処理部115は、ブロックデータBDを送信してから所定の待機時間を経過後、少なくとも一つの処理装置10B、10C、10Dから検証結果を受信していない場合(ステップS007:NO)、再度待機時間を経過するまで待機する。
一方、生成権を有していない全ての処理装置10B、10C、10Dから検証結果を受信した場合(ステップS007:YES)、処理装置10Aのブロック生成部113は、次回のブロックデータの生成権判定を行う(ステップS008)。本実施形態では、複数の処理装置10のうち何れか一つが順番に生成権を有する。このため、今回のブロックデータBDの生成権を有する処理装置10Aのブロック生成部113は、次回のブロックデータの生成権を他の処理装置10B、10C、10Dの何れかに譲り渡すため、生成権を破棄する処理を行う。
次に、処理装置10Aのブロック処理部115は、受信した検証結果が所定の条件を満たしたか判定する。本実施形態では、ブロック処理部115は、受信した全ての検証結果が「真」であるか「偽」であるかを判定する(ステップS009)。
処理装置10Aのブロック処理部115は、全ての検証結果が「真」である場合(ステップS009:YES)、ステップS005で生成したブロックデータBDを、ブロックデータ記録部15のブロックチェーンに連結する(ステップS010)。ブロックチェーンは、生成したブロックデータのハッシュ値を用いて、次に生成されるブロックを繋ぎ合わせて管理する。ブロックチェーンに新たに登録されるブロックデータは、以前に登録されたブロックデータのハッシュ値を通じて時系列に繋がる。このため、ブロックチェーンに登録されたデータを矛盾なく改ざんするためには、当該データを含むブロックデータに繋がる全ての他のブロックデータを書き換えなければならない。これにより、ブロックチェーンに登録されたブロックデータは、第三者による改ざんが極めて困難となる。なお、他の実施形態では、処理装置10Aのブロック処理部115は、他の処理装置10から受信した検証結果の過半数以上が「真」である場合、所定の条件を満たした(ステップS009:YES)と判定してもよい。
また、処理装置10Aのデータ消去部116は、ブロックデータBDがブロックチェーンに連結されると、このブロックデータBDのデータ範囲に含まれる第1データ及び第2データを一時記録部14から消去する(ステップS011)。
一方、処理装置10Aのブロック処理部115は、少なくとも一つの検証結果が「偽」である場合(ステップS009:NO)、何れかの処理装置10においてデータの改ざんが検出されたと判断する。この場合、処理装置10Aは、データ復旧部117にデータ復旧処理Aを実行させる(ステップS012)。データ復旧処理Aの詳細については後述する。
図5は、第1の実施形態に係る処理装置の処理の一例を示す第2のフローチャートである。
なお、ここでは、処理装置10Aがブロックデータの生成権を有し、処理装置10B、10C、10Dは生成権を有していないとする。以下、図5を参照しながら、ブロックデータの生成権を有していない処理装置10B、10C、10Dの処理の流れについて説明する。処理装置10B、10C、10Dは何れも同じ処理を実行するので、ここでは処理装置10Bにおける処理の流れを代表として説明する。即ち、図5の説明において、処理装置10Bは第1のノードであり、処理装置10A、10C、10Dは第2のノードである。
図5に示すように、処理装置10Bの第1データ記録部110は、管理対象機器20(監視機器20B)から取得した運転データである第1データを一時記録部14に記録して蓄積する(ステップS101)。また、処理装置10Bの第1データ送信部111は、第1データを他の処理装置10A、10C、10Dに送信する(ステップS102)。
また、処理装置10Bの第2データ記録部112は、他の処理装置10A、10C、10Dそれぞれにおいて収集された運転データである第2データを受信すると、一時記録部14に記録して蓄積する(ステップS103)。なお、図1の例のように、処理装置10Dにおいて運転データの収集を行っていない場合、処理装置10Bの第2データ記録部112は、処理装置10Dを除く処理装置10A、10Cから第2データを受信するようにしてもよい。
次に、処理装置10Bのブロック処理部115は、生成権を有する処理装置10AからブロックデータBDを受信したか否かを判定する(ステップS104)。処理装置10Bのブロック処理部115は、ブロックデータBDを受信していない場合(ステップS104:NO)、処理の先頭に戻る。
一方、処理装置10Bのブロック処理部115は、ブロックデータBDを受信した場合(ステップS104:YES)、ブロックデータBDの真正性を検証する(ステップS105)。具体的には、処理装置10Bのブロック処理部115は、ブロック生成部113に対し、受信したブロックデータBDと同じデータ範囲の検証用ブロックデータを生成するように要求する。そうすると、ブロック生成部113は、図4のステップS005と同様の処理を行い、検証用ブロックデータを生成する。ブロック処理部115は、ブロックデータBD及び検証用ブロックデータそれぞれに含まれる、前のブロックデータのハッシュ値D2と、第1データ及び第2データのハッシュ値D3(図3)とを照合して、一致する場合は「真」と判定し、一致しないデータがある場合は「偽」と判定する。なお、ブロック処理部115は、ブロックデータBD及び検証用ブロックデータそれぞれに含まれるヘッダ情報D1を更に照合して、一致するか否かを判定してもよい。
また、処理装置10Bのブロック処理部115は、検証結果を他の処理装置10A、10C、10Dに送信する(ステップS106)。
次に、処理装置10Bのブロック生成部113及びブロック処理部115は、自機を除いた生成権を有していない全て処理装置10C、10Dから検証結果を受信したか否かを判定する(ステップS107)。例えば、処理装置10Bのブロック処理部115は、ブロックデータBDを受信してから所定の待機時間を経過後、少なくとも一つの処理装置10C、10Dから検証結果を受信していない場合(ステップS107:NO)、再度待機時間を経過するまで待機する。
一方、自機を除いた生成権を有していない全ての処理装置10C、10Dから検証結果を受信した場合(ステップS107:YES)、処理装置10Bのブロック生成部113は、次回のブロックデータの生成権判定を行う(ステップS108)。例えば、処理装置10A、10B、10C、10Dの順に生成権を譲り渡すルールとしている場合、今回のブロックデータBDの生成権を有する処理装置10Aの生成権が破棄され(図4のステップS008)、処理装置10Bが生成権を獲得する。なお、他の実施形態では、生成権を有する処理装置10Aが、生成権を有していない処理装置10B、10C、10Dからランダムに一つを選択して生成権を与えるようにしてもよい。
次に、処理装置10Bのブロック処理部115は、受信した全ての検証結果が「真」であるか「偽」であるかを判定する(ステップS109)。
処理装置10Bのブロック処理部115は、全ての検証結果が「真」である場合(ステップS109:YES)、ステップS104で受信したブロックデータBDを、ブロックデータ記録部15のブロックチェーンに連結する(ステップS110)。
また、処理装置10Bのデータ消去部116は、ブロックデータBDがブロックチェーンに連結されると、このブロックデータBDをデータ範囲に含まれる第1データ及び第2データを一時記録部14から消去する(ステップS111)。
一方、処理装置10Bのブロック処理部115は、少なくとも一つの検証結果が「偽」である場合(ステップS109:NO)、何れかの処理装置10においてデータの改ざんが検出されたと判断する。この場合、処理装置10Bは、データ復旧部117にデータ復旧処理Bを実行させる(ステップS112)。データ復旧処理Bの詳細については後述する。
説明は略すが、生成権を有していない他の処理装置10C、10Dにおいても同様に、図5の各ステップを実行する。
図6は、第1の実施形態に係る処理装置の処理の一例を示す第3のフローチャートである。
以下、図6を参照しながら、データの改ざんが検出された際に処理装置10が実行するデータ復旧処理A、Bの流れについて説明する。なお、図6の左側のフローチャートは、ブロックデータの生成権を有する処理装置10Aが実行するデータ復旧処理A(図4のステップS012)である。図6の右側のフローチャートは、生成権を有していない処理装置10B、10C、10Dが実行するデータ復旧処理B(図5のステップS112)である。
図6に示すように、データの改ざんが検出された場合、生成権を有する処理装置10Aのブロック処理部115は、受信した検証結果のうち過半数以上が「真」であったか否かを判定する(ステップS012A)。
生成権を有していない処理装置10B、10C、10Dのうち、過半数に当たる処理装置10C、10Dの検証結果が「真」であったとする(ステップS012A:YES)。この場合、処理装置10Aのブロック処理部115は、処理装置10Aが生成したブロックデータBDは真正であるが、他の処理装置10(検証結果が「偽」である処理装置10B)において改ざんが発生したと判断し、改ざんされた不正データを特定する(ステップS102B)。具体的には、例えば、処理装置10Bは、検証結果が「偽」であった場合、ブロックデータBDのデータのうち、自身が生成した検証用ブロックデータと一致しない箇所(データ)を検証結果に含めて送信する。ここでは、第1データ及び第2データのハッシュ値D3のうち、B社の「データ群2に対応するハッシュ値2」(図3)について、ブロックデータBDと検証用ブロックデータが一致しなかったとする。そうすると、処理装置10Aのブロック処理部115は、処理装置10Bの一時記録部14に記録された「B社のデータ群2」が改ざんされたデータ(不正データ)であると特定する。
また、処理装置10Aのブロック処理部115は、改ざんが検出された日時、及びステップS012Bで特定した不正データを不正情報としてブロックデータ記録部15に記録するとともに、この不正情報を他の処理装置10B、10C、10Dに送信する(ステップS012C)。各処理装置10のブロック処理部115は、ブロックデータ記録部15にこの不正情報を記録する(ステップS112A)。
次に、処理装置10Aのデータ復旧部117は、検証結果が「偽」であった処理装置10Bに対し、一時記録部14に記憶された第1データ及び第2データを送信する(ステップS012D)。そうすると、処理装置10Bのデータ復旧部117は、処理装置10Aから第1データ及び第2データを受信して(ステップS112B)、これらデータを処理装置10Bの一時記録部14に上書きして記録する(ステップS112C)。このようにすることで、処理装置10Bの改ざんされたデータは、処理装置10Aから受信した正しいデータにより上書きされて復旧する。なお、処理装置10Aは、一時記録部14に記録されている第1データ及び第2データ全てを送信してもよいし、不正データとして特定されたデータ(「B社のデータ群2」に相当するデータ)のみを送信してもよい。
また、生成権を有していない処理装置10B、10C、10Dのうち、過半数に当たる処理装置10C、10Dの検証結果が「偽」であったとする(ステップS012A:NO)。この場合、処理装置10Aのブロック処理部115は、処理装置10Aが生成したブロックデータBDが真正ではない可能性があると判断し、処理を終了する。この場合、次に生成権を有している処理装置10Bが再び図4及び図6の処理を実行する。処理装置10Bのブロック処理部115は、過半数以上の処理装置10(例えば、処理装置10A以外)の検証結果が「真」であった場合(ステップS012A)、処理装置10Bの一時記録部14に記録されているデータを処理装置10Aに送信して(ステップS012D)、各処理装置10におけるデータを正しいものに置き換えることができる。
(作用、効果)
以上のように、本実施形態に係る処理装置10は、自機処理装置10及び他の処理装置10が収集した運転データ(第1データ及び第2データ)のハッシュ値を含むブロックデータBDを複数のノードそれぞれにおいて記録、共有することにより、運転データの改ざんを抑制し、セキュリティ性を向上させることができる。また、処理装置10は、ブロックデータBDを生成後に一時記録部14に蓄積された第1データ及び第2データを消去するので、各処理装置10では、自身の管理対象機器20以外の運転データについては、過去の全てのデータを蓄積する必要がない。したがって、処理装置10は、ブロックデータBDの生成及び検証用に記録される運転データの容量を大幅に低減させることができる。また、処理装置10は、運転データの実体ではなくハッシュ値を含むブロックデータBDを生成するので、ブロックデータBDのデータ容量を小さくすることができる。この結果、処理装置10は大容量の記録装置を有する必要がないので、処理装置10の構築及び維持するためのコストを低減することができる。
更に、本実施形態に係るデータ管理システム1において、処理装置10はブロックチェーンの仕組みを利用して、複数の事業者の運転データの管理及び監視を行う。このようにすることで、各事業者それぞれが各社の管理対象機器20に応じた暗号化、電子署名等のセキュリティの仕組みを導入する必要がないので、データ管理システム1全体におけるセキュリティ対策コストを低減させることができる。
また、処理装置10は、第1データ及び第2データを複数のデータ群1〜3(図3)に分割し、それぞれのハッシュ値を含むブロックデータBDを生成する。処理装置10は、ブロックデータBD及び検証用ブロックデータに含まれるデータ群1〜3のハッシュ値1〜3それぞれを照合することにより、どのデータ群が改ざんされたかを容易に特定することができる。
また、本実施形態では、複数の処理装置10のうち何れか一の処理装置10がブロックデータの生成権を有し、ブロックデータBDを生成する度に生成権を他の処理装置に譲渡する。このようにデータ管理システム1を非中央集権型とすることにより、攻撃対象を分散させて、複数の処理装置10により構成されるデータ管理システム1全体のセキュリティ性を向上させることができる。
また、生成権を有する処理装置10は、検証結果の少なくとも一つが「偽」であった場合、且つ、検証結果の過半数が真であった場合、自身の生成したブロックデータBDが真正であり、検証結果が「偽」である処理装置10においてデータが改ざんされたと判断する。更に、生成権を有する処理装置10は、この場合、検証結果が「偽」である処理装置10に対し、一時記録部14に蓄積された第1データ及び第2データを送信する。これにより、処理装置10の何れかにおいて改ざんが発生した場合、各処理装置10における第1データ及び第2データを、過半数以上の処理装置10により正しいと判断されたデータに復旧することができる。
また、生成権を有する処理装置10は、データの改ざんを検出した場合、改ざんが検出された日時、及び改ざんされたデータ(不正データ)を不正情報としてブロックデータ記録部15に記録するとともに、他の処理装置10に送信する。このようにすることで、全ての処理装置10において不正情報を共有することができるので、各処理装置10はデータの改ざんが発生したこと、及び、どのデータが改ざんされたかを速やかに認識することができる。また、利害が一致しない複数の事業者間でお互いのデータを共有、監視することにより、ある事業者が自社のデータを改ざんする、又は利害が一致する複数の事業者が共謀して特定のデータを改ざんする等の不正行為を抑制することができる。
なお、図1の例では、データ管理システム1には4つのノード(処理装置10)が含まれている態様が示されているが、これに限られることはない。他の実施形態では、データ管理システム1には4つよりも多いノードが含まれていてもよい。参加者となるノードが多いほど改ざんが困難となるので、セキュリティ性が向上する。
<第2の実施形態>
以下、本発明の第2の実施形態に係るデータ管理システムについて、図7〜図9を参照しながら説明する。
第1の実施形態と共通の構成要素には同一の符号を付して詳細説明を省略する。
(全体構成)
図7は、第2の実施形態に係るデータ管理システムの全体構成を示す図である。
図7に示すように、本実施形態に係るデータ管理システム1は、一つの処理装置10がブロックデータBDの生成権を固定して有する点において、第1の実施形態と異なっている。図7の例では、認証機関であるD社の処理装置10DがブロックデータBDの生成権を占有する。このため、処理装置10Dについては、一時記録部14及びブロックデータ記録部15に記録されたデーが改ざんされないようなセキュリティ対策が十分に施されていることが前提となる。
(処理装置の処理フロー)
図8は、第2の実施形態に係る処理装置の処理の一例を示す第1のフローチャートである。
以下、図8を参照しながら、ブロックデータの生成権を有する処理装置10Dにおける処理の流れについて説明する。即ち、図8の説明において、処理装置10Dは第1のノードであり、処理装置10A、10B、10Cは第2のノードである。
図8の一連の処理において、ステップS201〜ステップS207の処理は、図4のステップS001〜S007の処理と同様である。また、本実施形態では、処理装置10Dが常にブロックデータBDの生成権を有している。したがって、本実施形態に係る処理装置10Dは、図4のステップS008に相当する処理を省略する。処理装置10Dのブロック処理部115は、他の全ての処理装置10A、10B、10Cから検証結果を受信すると(ステップS207:YES)、受信結果が所定の条件を満たしたか判定する。本実施形態では、ブロック処理部115は、受信した全ての検証結果が「真」であるか「偽」であるかを判定する(ステップS208)。
処理装置10Dのブロック処理部115は、受信した全ての検証結果が「真」である場合(ステップS208:YES)、ステップS205において生成したブロックデータBDをブロックデータ記録部15のブロックチェーンに連結する(ステップS209)。また、処理装置10Dのブロック処理部115は、他の処理装置10A、10B、10CそれぞれにブロックデータBDをブロックチェーンに連結するように指示を送信する(ステップS210)。なお、他の実施形態では、ブロック処理部115は、他の処理装置10から受信した検証結果の過半数以上が「真」である場合、所定の条件を満たした(ステップS208:YES)と判定してもよい。
処理装置10Dのデータ消去部116は、ブロックデータBDがブロックチェーンに連結されると、このブロックデータBDのデータ範囲に含まれる第1データ及び第2データを一時記録部14から消去する(ステップS211)。当該処理は、図4のステップS011の処理と同様である。
また、本実施形態では、処理装置10Dのブロック処理部115は、少なくとも一つの検証結果が「偽」である場合(ステップS208:NO)、何れかの処理装置10においてデータの改ざんが検出されたと判断する。この場合、処理装置10Dは、検証結果が「偽」である処理装置10において改ざんが発生したと判断し、改ざんされた不正データを特定する(ステップS212)。ここでは、処理装置10のブロック処理部115は、図6のステップS012Bと同様の処理を行う。
また、処理装置10Dのブロック処理部115は、改ざんが検出された日時、及びステップS012Bで特定した不正データを不正情報としてブロックデータ記録部15に記録するとともに、この不正情報を他の処理装置10A、10B、10Cに送信する(ステップS213)。当該処理は、図6のステップS012Cと同様である。
次に、処理装置10Dのデータ復旧部117は、検証結果が「偽」であった処理装置10Bに対し、一時記録部14に記憶された第1データ及び第2データを送信する(ステップS214)。当該処理は、図6のステップS012Dと同様である。
処理装置10Dは、上述のステップS201〜S213を繰り返し実行することにより、ブロックデータBDの生成及び共有、改ざんの検出、改ざんされたデータの復旧等を行う。
図9は、第2の実施形態に係る処理装置の処理の一例を示す第2のフローチャートである。
以下、図9を参照しながら、ブロックデータの生成権を有していない処理装置10A、10B、10Cにおける処理の流れについて説明する。処理装置10A、10B、10Cは何れも同じ処理を実行するので、ここでは処理装置10Bにおける処理の流れを代表として説明する。即ち、図9の説明において、処理装置10Bは第1のノードであり、処理装置10A、10C、10Dは第2のノードである。
図9の一連の処理において、ステップS301〜ステップS306の処理は、図5のステップS101〜S106の処理と同様である。また、本実施形態では、処理装置10Dが常にブロックデータBDの生成権を有している。したがって、本実施形態に係る処理装置10A、10B、10Cは、図5のステップS108に相当する処理を省略する。
処理装置10Bのブロック処理部115は、検証結果を送信後、生成権を有する処理装置10DからブロックデータBDの連結指示を受信したか否かを判定する(ステップS307)。処理装置10Bのブロック処理部115は、処理装置10DからブロックデータBDの連結指示を受信すると(ステップS307:YES)、ステップS304において受信したブロックデータBDをブロックデータ記録部15のブロックチェーンに連結し(ステップS308)、一時記録部14の第1データ及び第2データを消去する(ステップS309)。ステップS308〜ステップS309の処理は、図5のステップS110〜ステップS111の処理と同様である。
また、処理装置10Bのブロック処理部115は、処理装置10Dからブロックデータの連結指示を受信していない場合(ステップS307:NO)、更に処理装置10Dから不正情報を受信したか判定する(ステップS310)。処理装置10Bのブロック処理部115は、連結指示及び不正情報の何れも受信していない場合(ステップS307:NO、且つステップS310:NO)、何れかを受信するまで待機する。
一方、処理装置10Bのブロック処理部115は、処理装置10Dから不正情報を受信した場合(ステップS310:YES)、ブロックデータ記録部15にこの不正情報を記録する(ステップS311)。当該処理は図6のステップS112Aと同様である。
次に、処理装置10Bのデータ復旧部117は、処理装置10Dから第1データ及び第2データを受信して(ステップS312)、これらデータを処理装置10Bの一時記録部14に上書きして記録する(ステップS313)。当該処理は図6のステップS112B〜S112Cと同様である。
(作用、効果)
以上のように、本実施形態では、複数の処理装置10のうち何れか一の処理装置10(例えば、認証機関の処理装置10D)がブロックデータの常に生成権を有する。このようにすることで、生成権を有する処理装置10Dのセキュリティ性が強固であれば、他の処理装置10A、10B、10Cにおいてデータが改ざんされたとしても、処理装置10Dが生成したブロックデータBDと整合しなくなるため、容易に改ざんされたことを検出することができる。
また、処理装置10Dは、処理装置10から受信した検証結果の少なくとも一つが「偽」であった場合、当該処理装置10に対し、処理装置10Dの一時記録部14に記録されたデータを送信して上書きさせることにより、改ざんが発生した処理装置10の一時記録部14のデータを復旧することができる。このようにすることで、処理装置10Dは、処理装置10A、10B、10Cの少なくとも一つにおいて改ざんが発生した場合であっても、改ざん前の正しいデータに修正することができる。
(処理装置のハードウェア構成)
図10は、少なくとも一つの実施形態に係る処理装置のハードウェア構成の一例を示す図である。
以下、図10を参照しながら、本実施形態に係る処理装置10のハードウェア構成について説明する。
コンピュータ900は、プロセッサ901、主記憶装置902、補助記憶装置903、インタフェース904を備える。
上述の処理装置10は、コンピュータ900に実装される。そして、上述した各機能部の動作は、プログラムの形式で補助記憶装置903に記憶されている。プロセッサ901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ901は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置902に確保する。プロセッサ901の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
プログラムは、コンピュータ900に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、補助記憶装置903に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ900は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ901によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。
補助記憶装置903の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。補助記憶装置903は、コンピュータ900のバスに直接接続された内部メディアであってもよいし、インタフェース904または通信回線を介してコンピュータ900に接続される外部記憶装置910であってもよい。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、補助記憶装置903は、一時的でない有形の記憶媒体である。
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置903に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、図面を参照して本開示の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。即ち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
例えば、上述の実施形態において、複数の処理装置10は、それぞれ異なる事業者により管理される態様を例として説明したが、これに限られることはない。他の実施形態では、例えば一つの事業者が複数の処理装置10を管理する態様であってもよい。具体的には、料金所ごと、又は、料金所の統括エリアごとに一つずつ処理装置10が設置されており、これら処理装置10を一つの事業者(例えば、各料金所又は統括エリアを運営する道路事業者)が管理する態様であってもよい。
また、上述の実施形態において、処理装置10の管理対象機器20は料金収受システムを構成する各機器(精算機器20A、監視機器20B、ETC路側機器20C)である態様を例として説明したが、これに限られることはない。他の実施形態では、例えば管理対象機器20は車両、又は車両に搭載された車載器であってもよい。この場合、処理装置10は、運転データとして、GNSS(Global Navigation Satellite System)の測位データ、車両の自動運転に関するデータを収集する。
更に他の実施形態では、管理対象機器20は会議システムであってもよい。この場合、処理装置10は、運転データとして会議の記録データ(会議中に共有された文書、動画、音声等)を収集する。
(付記)
上述の実施形態に記載の処理装置10、データ管理方法、及びプログラムは、例えば以下のように把握される。
本開示の第1の態様によれば、処理装置(10)は、ブロックチェーンを用いた分散型台帳システム(1)のノードの一つを構成する処理装置(10)であって、前記分散型台帳システム(1)に含まれる第1のノードにおいて収集された運転データである第1データを一時記録部(14)に蓄積する第1データ記録部(110)と、前記第1データを前記分散型台帳システム(1)に含まれる第2のノードに送信する第1データ送信部(111)と、前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部(14)に蓄積する第2データ記録部(112)と、所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するブロック生成部(113)と、生成した前記ブロックデータを前記第2のノードに送信するブロック送信部(114)と、前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うブロック処理部(115)と、前記ブロックデータが連結された場合に、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するデータ消去部(116)と、を備える。
このように、本開示に係る処理装置(10)は、各ノードが収集した運転データ(第1データ及び第2データ)について、運転データのハッシュ値を含むブロックデータを複数のノードそれぞれにおいて記録、共有することにより、運転データの改ざんを抑制し、セキュリティ性を向上させることができる。また、処理装置(10)は、ブロックデータを生成後に一時記録部(14)に蓄積された運転データ(第1データ及び第2データ)を消去するので、各ノードで過去の全ての運転データを蓄積する必要がない。したがって、処理装置は、各ノードにおいて記録される運転データの容量を大幅に低減させることができる。また、処理装置(10)は、運転データの実体ではなくハッシュ値を含むブロックデータを生成するので、ブロックデータのデータ容量を小さくすることができる。この結果、処理装置(10)は大容量の記録装置を有する必要がないので、処理装置(10)の構築及び維持するためのコストを低減することができる。
本開示の第2の態様によれば、第1の態様に係る処理装置(10)において、前記ブロック生成部(113)は、前記一時記録部(14)に蓄積された前記第1データ及び前記第2データを複数のデータ群に分割し、当該データ群別のハッシュ値それぞれを含む前記ブロックデータを生成し、前記ブロック処理部(115)は、前記検証結果の少なくとも一つが偽であった場合、前記ブロックデータと、前記検証結果が偽である前記第2のノードで生成された検証用ブロックデータとのそれぞれに含まれる前記データ群別のハッシュ値を照合し、何れのデータ群が不正であるか特定する。
このようにすることで、処理装置(10)は、どのデータ群が改ざんされたかを容易に特定することができる。
本開示の第3の態様によれば、第1又は第2の態様に係る処理装置(10)において、前記第1のノードは、前記ブロックデータの生成権を有するノードであり、前記ブロック生成部(113)は、前記ブロックデータの作成後、他のノードに前記生成権を譲渡する。
このようにデータ管理システム(1)を非中央集権型とすることにより、攻撃対象を分散させて、複数の処理装置(10)により構成される分散型台帳システム(1)全体のセキュリティ性を向上させることができる。
本開示の第4の態様によれば、第3の態様に係る処理装置(10)において、前記検証結果の少なくとも一つが偽であった場合、且つ、前記検証結果の過半数が真であった場合、前記検証結果が偽である前記第2のノードに対し、前記一時記録部に蓄積された前記第1データ及び前記第2データを送信するデータ復旧部(117)を更に備える。
このようにすることで、処理装置(10)の何れかにおいて改ざんが発生した場合、各処理装置(10)における第1データ及び第2データを、過半数以上の処理装置(10)により正しいと判断されたデータに復旧することができる。
本開示の第5の態様によれば、第1又は第2の態様に係る処理装置(10)において、前記検証結果の少なくとも一つが偽であった場合、前記検証結果が偽である前記第2のノードに対し、前記一時記録部に蓄積された前記第1データ及び前記第2データを送信するデータ復旧部(117)を更に備える。
このようにすることで、処理装置(10)は、改ざんが発生した処理装置(10)に自身の一時記録部(14)に記録されている正しいデータを送信して、改ざんが発生した処理装置(10)のデータを復旧することができる。
本開示の第6の態様によれば、データ管理方法は、ブロックチェーンを用いた分散型台帳システム(1)のノードの一つを構成する処理装置(10)を用いたデータ管理方法であって、前記分散型台帳システム(1)に含まれる第1のノードにおいて収集された運転データである第1データを一時記録部(14)に蓄積するステップと、前記第1データを前記分散型台帳システム(1)に含まれる第2のノードに送信するステップと、前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部(14)に蓄積するステップと、所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するステップと、生成した前記ブロックデータを前記第2のノードに送信するステップと、前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うステップと、前記ブロックデータが連結された場合に、前記一時記録部(14)に蓄積された前記第1データ及び前記第2データを消去するステップと、を有する。
本開示の第7の態様によれば、プログラムは、ブロックチェーンを用いた分散型台帳システム(1)のノードの一つを構成する処理装置(10)のコンピュータ(900)に、前記分散型台帳システム(1)に含まれる第1のノードにおいて収集された運転データである第1データを一時記録部(14)に蓄積するステップと、前記第1データを前記分散型台帳システム(1)に含まれる第2のノードに送信するステップと、前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部(14)に蓄積するステップと、所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するステップと、生成した前記ブロックデータを前記第2のノードに送信するステップと、前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うステップと、前記ブロックデータが連結された場合に、前記一時記録部(14)に蓄積された前記第1データ及び前記第2データを消去するステップと、を実行させる。
1 データ管理システム(分散型台帳システム)
10、10A、10B、10C、10D 処理装置
11 CPU
110 第1データ記録部
111 第1データ送信部
112 第2データ記録部
113 ブロック生成部
114 ブロック送信部
115 ブロック処理部
116 データ消去部
117 データ復旧部
12 通信インタフェース
13 ログデータ記録部
14 一時記録部
15 ブロックデータ記録部
20 管理対象機器
20A 精算機器
20B 監視機器
20C ETC路側機器
903 補助記憶装置
904 インタフェース
910 外部記憶装置

Claims (7)

  1. ブロックチェーンを用いた分散型台帳システムのノードの一つを構成する処理装置であって、
    前記分散型台帳システムに含まれる第1のノードにおいて収集された運転データである第1データを一時記録部に蓄積する第1データ記録部と、
    前記第1データを前記分散型台帳システムに含まれる第2のノードに送信する第1データ送信部と、
    前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部に蓄積する第2データ記録部と、
    所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するブロック生成部と、
    生成した前記ブロックデータを前記第2のノードに送信するブロック送信部と、
    前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うブロック処理部と、
    前記ブロックデータが連結された場合に、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するデータ消去部と、
    を備える処理装置。
  2. 前記ブロック生成部は、前記一時記録部に蓄積された前記第1データ及び前記第2データを複数のデータ群に分割し、当該データ群別のハッシュ値それぞれを含む前記ブロックデータを生成し、
    前記ブロック処理部は、前記検証結果の少なくとも一つが偽であった場合、前記ブロックデータと、前記検証結果が偽である前記第2のノードで生成された検証用ブロックデータとのそれぞれに含まれる前記データ群別のハッシュ値を照合し、何れのデータ群が不正であるか特定する、
    請求項1に記載の処理装置。
  3. 前記第1のノードは、前記ブロックデータの生成権を有するノードであり、
    前記ブロック生成部は、前記ブロックデータの作成後、他のノードに前記生成権を譲渡する、
    請求項1又は2に記載の処理装置。
  4. 前記検証結果の少なくとも一つが偽であった場合、且つ、前記検証結果の過半数が真であった場合、前記検証結果が偽である前記第2のノードに対し、前記一時記録部に蓄積された前記第1データ及び前記第2データを送信するデータ復旧部を更に備える、
    請求項3に記載の処理装置。
  5. 前記検証結果の少なくとも一つが偽であった場合、前記検証結果が偽である前記第2のノードに対し、前記一時記録部に蓄積された前記第1データ及び前記第2データを送信するデータ復旧部を更に備える、
    請求項1又は2に記載の処理装置。
  6. ブロックチェーンを用いた分散型台帳システムのノードの一つを構成する処理装置を用いたデータ管理方法であって、
    前記分散型台帳システムに含まれる第1のノードにおいて収集された運転データである第1データを一時記録部に蓄積するステップと、
    前記第1データを前記分散型台帳システムに含まれる第2のノードに送信するステップと、
    前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部に蓄積するステップと、
    所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するステップと、
    生成した前記ブロックデータを前記第2のノードに送信するステップと、
    前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うステップと、
    前記ブロックデータが連結された場合に、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するステップと、
    を有するデータ管理方法。
  7. ブロックチェーンを用いた分散型台帳システムのノードの一つを構成する処理装置のコンピュータに、
    前記分散型台帳システムに含まれる第1のノードにおいて収集された運転データである第1データを一時記録部に蓄積するステップと、
    前記第1データを前記分散型台帳システムに含まれる第2のノードに送信するステップと、
    前記第2のノードにおいて収集された運転データである第2データを、通信網を介して受信し、前記一時記録部に蓄積するステップと、
    所定の条件を満たした場合に、蓄積された前記第1データ及び前記第2データのハッシュ値を含む一つのブロックデータを生成するステップと、
    生成した前記ブロックデータを前記第2のノードに送信するステップと、
    前記第2のノードから前記ブロックデータの検証結果を受信し、当該検証結果が所定の条件を満たす場合に、前記ブロックデータをブロックチェーンに連結する処理を行うステップと、
    前記ブロックデータが連結された場合に、前記一時記録部に蓄積された前記第1データ及び前記第2データを消去するステップと、
    を実行させるプログラム。
JP2020055503A 2020-03-26 2020-03-26 処理装置、データ管理方法、及びプログラム Active JP7374034B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020055503A JP7374034B2 (ja) 2020-03-26 2020-03-26 処理装置、データ管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020055503A JP7374034B2 (ja) 2020-03-26 2020-03-26 処理装置、データ管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021157372A true JP2021157372A (ja) 2021-10-07
JP7374034B2 JP7374034B2 (ja) 2023-11-06

Family

ID=77917877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020055503A Active JP7374034B2 (ja) 2020-03-26 2020-03-26 処理装置、データ管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7374034B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116883027A (zh) * 2023-09-06 2023-10-13 南通汉迪自动化设备有限公司 一种物料进出口通关联网监管系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114980B2 (en) 2016-07-21 2018-10-30 Acronis International Gmbh System and method for verifying data integrity using a blockchain network
JP6785701B2 (ja) 2017-03-29 2020-11-18 三菱重工業株式会社 物品処理管理システム及び物品処理管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116883027A (zh) * 2023-09-06 2023-10-13 南通汉迪自动化设备有限公司 一种物料进出口通关联网监管系统
CN116883027B (zh) * 2023-09-06 2023-12-19 南通汉迪自动化设备有限公司 一种物料进出口通关联网监管系统

Also Published As

Publication number Publication date
JP7374034B2 (ja) 2023-11-06

Similar Documents

Publication Publication Date Title
CN110826111B (zh) 测试监管方法、装置、设备及存储介质
KR101880935B1 (ko) 블록체인을 이용하여 위변조 검증이 가능한 디지털 영상을 생성하는 촬영장치, 이에 의한 디지털 영상 생성방법, 및 이에 의해 생성된 디지털 영상의 검증방법
CN110417844B (zh) 使用区块链分散管理多所有者节点的系统和方法
CN109313763B (zh) 层次型网络系统以及用于层次型网络系统的节点
US10229547B2 (en) In-vehicle gateway device, storage control method, and computer program product
US11238669B2 (en) System and method for toll transactions utilizing a distributed ledger
CN101482887B (zh) 数据库关键数据的防篡改检验方法
JP2020517200A (ja) Utxo基盤プロトコルを利用したブロックチェーン基盤の文書管理方法及びこれを利用した文書管理サーバ{method for managing document on basis of blockchain by using utxo−based protocol,and document management server using same}
RU2697953C2 (ru) Система и способ вынесения решения о компрометации данных
Herlihy et al. Enhancing accountability and trust in distributed ledgers
EP3709568A1 (en) Deleting user data from a blockchain
CN115114305B (zh) 分布式数据库的锁管理方法、装置、设备及存储介质
US11151123B2 (en) Offline verification with document filter
US11126750B2 (en) Manipulation-proof storage of evidence-relevant data
US11664973B2 (en) Trust-varied relationship between blockchain networks
US11343313B1 (en) Fault tolerant periodic leader rotation for blockchain
CN108475480A (zh) 加密装置、加密方法和加密程序
JP2023530594A (ja) 分散型データベースにおける許可されたイベント処理
CN108337208B (zh) 基于云存储的数据保护方法、替换装置以及云存储系统
JP7374034B2 (ja) 処理装置、データ管理方法、及びプログラム
US20080005800A1 (en) Confidential information protection system, confidential information restoring device, and tally generating device
KR102293076B1 (ko) 블록체인을 이용한 운송장치의 모빌리티 데이터 수집 시스템과 이를 이용한 모빌리티 데이터 수집 방법 및 프로그램
KR102139551B1 (ko) 유언장을 관리하는 서버 및 방법
CN109245895B (zh) 用于检测受损数据的系统和方法
EP3522063B1 (en) System and method for detecting compromised data

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20230127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231024

R150 Certificate of patent or registration of utility model

Ref document number: 7374034

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150