JP2017207979A - Alteration detection system and alteration detection method - Google Patents

Alteration detection system and alteration detection method Download PDF

Info

Publication number
JP2017207979A
JP2017207979A JP2016100794A JP2016100794A JP2017207979A JP 2017207979 A JP2017207979 A JP 2017207979A JP 2016100794 A JP2016100794 A JP 2016100794A JP 2016100794 A JP2016100794 A JP 2016100794A JP 2017207979 A JP2017207979 A JP 2017207979A
Authority
JP
Japan
Prior art keywords
digest
predetermined data
database
data
update
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
JP2016100794A
Other languages
Japanese (ja)
Other versions
JP6731783B2 (en
Inventor
達也 渕上
Tatsuya Fuchigami
達也 渕上
寛隆 冨樫
Hirotaka Togashi
寛隆 冨樫
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2016100794A priority Critical patent/JP6731783B2/en
Publication of JP2017207979A publication Critical patent/JP2017207979A/en
Application granted granted Critical
Publication of JP6731783B2 publication Critical patent/JP6731783B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】データベースに記録されているデータに対して行われた改ざんを、検知可能になる。【解決手段】所定のデータに対してハッシュ関数を用いて計算したダイジェストを記憶するブロックチェーンデータベースと、所定のデータを記憶するデータベースと、所定のデータに対する参照要求を受信した場合に、データベースから所定のデータを抽出し、抽出した当該所定のデータからハッシュ関数を用いてハッシュ値を計算し、当該ハッシュ値が、前記ブロックチェーンデータベースに記憶された、所定のデータに対応するダイジェストと一致するか否かを判定し、抽出した所定のデータを出力する参照処理部と、を備える。【選択図】図1It is possible to detect tampering performed on data recorded in a database. A block chain database that stores a digest calculated using a hash function for predetermined data, a database that stores predetermined data, and a reference request for predetermined data when a reference request is received from the database. Whether or not the hash value is calculated from the extracted predetermined data using a hash function, and the hash value matches the digest corresponding to the predetermined data stored in the block chain database. And a reference processing unit that outputs the extracted predetermined data. [Selection] Figure 1

Description

本発明は、改ざん検知システム、及び改ざん検知方法等に関する。   The present invention relates to a falsification detection system, a falsification detection method, and the like.

複数の電子計算機を分散して構築した分散システムにおいて、従来は、データベースを1箇所に集中させて管理を行っていた。データベースを1箇所に集中させる構成の場合には、トランザクション制御が行われる。この場合、システム規模が大きくなると、待ち時間が増え応答性が劣化してしまう。 Conventionally, in a distributed system constructed by distributing a plurality of electronic computers, the database is centrally managed in one place. In the case of a configuration in which the database is concentrated in one place, transaction control is performed. In this case, as the system scale increases, the waiting time increases and the responsiveness deteriorates.

特許文献1には、分散システムにおいて、データベース間の共通データの整合性をリアルタイムに維持し、かつ、システム構成にあわせてデータベースを分散管理する技術が開示されている。特許文献1に記載の分散システムでは、通信手段を介して情報を送受可能に分散して設けられた複数の計算機システムにそれぞれデータベースを設けている。これらのデータベースには、他のデータベースと重複する共通データ項目が含まれている。このような分散システムを管理する方法として、特許文献1には、まず重複する共通データ項目に当該データの内容を変更できる権限を有する唯一の計算機システムの識別情報を含める。次に、共通データの内容変更要求に対し、その権限を有する計算機システムが当該データの内容を変更し、変更後の共通データの内容を当該共通データを保有する他の計算機システムに伝送して変更後の内容に書替えさせている。   Patent Document 1 discloses a technique for maintaining the consistency of common data between databases in a distributed system in real time, and managing the databases in a distributed manner according to the system configuration. In the distributed system described in Patent Document 1, a database is provided in each of a plurality of computer systems provided in a distributed manner so that information can be transmitted and received via communication means. These databases contain common data items that overlap with other databases. As a method for managing such a distributed system, Patent Document 1 first includes the identification information of the only computer system having the authority to change the contents of the data in overlapping common data items. Next, in response to a request to change the contents of common data, the computer system that has the authority changes the contents of the data, and changes the contents of the changed common data to another computer system that holds the common data. Rewritten to later contents.

特開平5−225027号公報JP-A-5-225027

しかし、特許文献1に記載されるような従来の技術では、データベースに記録されているデータに対して改ざんが行われた場合、容易に検知することができない。   However, with the conventional technique as described in Patent Document 1, when the data recorded in the database is altered, it cannot be easily detected.

そこで、本発明は、上記事情に鑑み、データベースに記録されているデータに対して行われた改ざんを、検知可能にすることを目的とする。   In view of the above circumstances, an object of the present invention is to make it possible to detect tampering performed on data recorded in a database.

本発明による改ざん検知システムは、所定のデータに対してハッシュ関数を用いて計算したダイジェストを記憶するブロックチェーンデータベースと、所定のデータを記憶するデータベースと、所定のデータに対する参照要求を受信した場合に、データベースから所定のデータを抽出し、抽出した当該所定のデータからハッシュ関数を用いてハッシュ値を計算し、当該ハッシュ値が、前記ブロックチェーンデータベースに記憶された、所定のデータに対応するダイジェストと一致するか否かを判定し、抽出した所定のデータを出力する参照処理部と、を備える。   The falsification detection system according to the present invention receives a blockchain database for storing a digest calculated using a hash function for predetermined data, a database for storing predetermined data, and a reference request for the predetermined data. , Extracting predetermined data from the database, calculating a hash value from the extracted predetermined data using a hash function, and the hash value stored in the block chain database and corresponding to the predetermined data, A reference processing unit that determines whether or not they match and outputs the extracted predetermined data.

なお、本明細書等において、「部」とは、単に物理的構成を意味するものではなく、その構成が有する機能をソフトウェアによって実現する場合も含む。また、1つの構成が有する機能が2つ以上の物理的構成により実現されても、2つ以上の構成の機能が1つの物理的構成により実現されてもよい。   Note that in this specification and the like, the “unit” does not simply mean a physical configuration, but also includes a case where the functions of the configuration are realized by software. In addition, functions of one configuration may be realized by two or more physical configurations, or functions of two or more configurations may be realized by one physical configuration.

本発明によれば、データベースに記録されているデータに対して行われた改ざんを、検知可能になる。   According to the present invention, it is possible to detect tampering performed on data recorded in a database.

本発明の一実施形態における改ざん検知システムのシステム構成の一例を示す構成図である。It is a block diagram which shows an example of the system configuration | structure of the tampering detection system in one Embodiment of this invention. 本発明の一実施形態におけるWEBサーバ及びデータベースの機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of the WEB server and database in one Embodiment of this invention. 本発明の一実施形態における銘柄情報テーブルの一例を示す図である。It is a figure which shows an example of the brand information table in one Embodiment of this invention. 本発明の一実施形態における顧客情報テーブルの一例を示す図である。It is a figure which shows an example of the customer information table in one Embodiment of this invention. 本発明の一実施形態における所有権情報テーブルの一例を示す図である。It is a figure which shows an example of the ownership information table in one Embodiment of this invention. 本発明の一実施形態におけるノードの機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of the node in one Embodiment of this invention. 本発明の一実施形態におけるブロックチェーンの構造の一部を示す図である。It is a figure which shows a part of structure of the block chain in one Embodiment of this invention. 本発明の一実施形態における改ざん検知システムの処理フローを示すシーケンス図である。It is a sequence diagram which shows the processing flow of the tampering detection system in one Embodiment of this invention. 本発明の一実施形態における管理サーバ、及び端末のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the management server in one Embodiment of this invention, and a terminal.

[実施形態]
以下、本発明の実施の形態の1つについて詳細に説明する。なお、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均等なものに置換した実施の形態を採用することが可能であり、かかる実施の形態も本発明の範囲に含まれる。またさらに、必要に応じて示す上下左右等の位置関係は、特に断らない限り、図示の表示に基づくものとする。さらにまた、図面における各種の寸法比率は、その図示の比率に限定されるものではない。
[Embodiment]
Hereinafter, one embodiment of the present invention will be described in detail. The following embodiments are examples for explaining the present invention, and are not intended to limit the present invention only to the embodiments. The present invention can be variously modified without departing from the gist thereof. Furthermore, those skilled in the art can employ embodiments in which the elements described below are replaced with equivalent ones, and such embodiments are also included in the scope of the present invention. Furthermore, positional relationships such as up, down, left, and right shown as needed are based on the display shown unless otherwise specified. Furthermore, various dimensional ratios in the drawings are not limited to the illustrated ratios.

<1.システム構成の概要>
図1は、本実施形態に係る改ざん検知システム1のシステム構成の一例を示している。本実施形態に係る改ざん検知システム1は、データベースに蓄積されるデータに施される改ざんを検知することができる。本実施形態では、一例として、データベースに蓄積されるデータは株主名簿関係情報であるとして説明する。データベースに蓄積される他のデータとしては、保険証券情報、与信情報、銀行取引情報、不動産取引情報等がある。
<1. Overview of system configuration>
FIG. 1 shows an example of a system configuration of a falsification detection system 1 according to the present embodiment. The tampering detection system 1 according to the present embodiment can detect tampering applied to data stored in a database. In the present embodiment, as an example, it is assumed that data stored in a database is shareholder list related information. Other data stored in the database includes insurance policy information, credit information, bank transaction information, real estate transaction information, and the like.

図1に示すように改ざん検知システム1は、インターネット等のネットワークNに接続されたWEBサーバ200と、信託銀行ノード100A、証券会社ノード100B、発行体(株式の発行体)ノード100C(以下、これらのノードをまとめて単に「ノード100」とも呼ぶ。)と、データベース300とを備えている。例えば、株を保有する投資家が株主名簿に登録された情報を変更したい場合には、信託銀行ノード100A、又は証券会社ノード100Bに変更を依頼することで、名簿の更新が行われる。   As shown in FIG. 1, the falsification detection system 1 includes a WEB server 200 connected to a network N such as the Internet, a trust bank node 100A, a securities company node 100B, and an issuer (stock issuer) node 100C (hereinafter referred to as these). These nodes are simply referred to as “node 100”) and a database 300. For example, when an investor who owns shares wants to change information registered in the shareholder list, the list is updated by requesting the trust bank node 100A or the securities company node 100B to change the information.

ネットワークNは、無線ネットワークや有線ネットワークにより構成される。通信ネットワークの一例としては、携帯電話網や、PHS(Personal Handy−phone System)網、無線LAN(Local Area Network)、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation )、WiMax(登録商標)、赤外線通信、Bluetooth(登録商標)、有線LAN、電話線、電灯線ネットワーク、IEEE1394等に準拠したネットワークがある。   The network N is configured by a wireless network or a wired network. Examples of communication networks include mobile phone networks, PHS (Personal Handy-phone System) networks, wireless LAN (Local Area Network), 3G (3rd Generation), LTE (Long Term Evolution), 4G (4th GenerationMex), (Registered Trademark), infrared communication, Bluetooth (Registered Trademark), wired LAN, telephone line, power line network, IEEE 1394, and other networks.

ノード100は、ネットワークNに接続されたコンピュータであり、例えばPCやサーバ装置等が挙げられる。また、ノード100は、例えば携帯電話やスマートフォン、PC(Personal Computer)、PDA(Personal Digital Assistants)、タブレット、ウェアラブル(Wearable)端末、ゲーム機等でもよい。信託銀行ノード100A、証券会社ノード100B、及び発行体ノード100Cは、互いにP2P(Peer to Peer)接続されており、ブロックチェーンを構成している。   The node 100 is a computer connected to the network N, and examples thereof include a PC and a server device. The node 100 may be, for example, a mobile phone, a smartphone, a PC (Personal Computer), a PDA (Personal Digital Assistant), a tablet, a wearable terminal, a game machine, or the like. The trust bank node 100A, the securities company node 100B, and the issuer node 100C are connected to each other by P2P (Peer to Peer) and constitute a block chain.

WEBサーバ200は、ネットワークNに接続されたコンピュータであり、例えばPCやサーバ装置等が挙げられる。なお、WEBサーバ200は、ノード100それぞれともP2P接続をしている。   The WEB server 200 is a computer connected to the network N, and examples thereof include a PC and a server device. The WEB server 200 has a P2P connection with each of the nodes 100.

データベース300は、本実施形態ではWEBサーバ200の外部ストレージとして、WEBサーバ200に接続され、管理されるストレージ装置である。なお、データベース300は、WEBサーバ上に構築される構成に限定されず、ネットワークNに接続される、ストレージ管理用のサーバに構築される構成でもよい。   The database 300 is a storage device that is connected to and managed by the WEB server 200 as an external storage of the WEB server 200 in the present embodiment. The database 300 is not limited to the configuration constructed on the WEB server, but may be constructed on a storage management server connected to the network N.

<2.WEBサーバ200、データベース300>
図2を用いてWEBサーバ200、及びデータベース300の機能構成について説明する。図2は、本実施形態に係るWEBサーバ200及びデータベース300の機能ブロック図である。
<2. WEB server 200, database 300>
The functional configuration of the WEB server 200 and the database 300 will be described with reference to FIG. FIG. 2 is a functional block diagram of the WEB server 200 and the database 300 according to the present embodiment.

(2−1.データベース300)
データベース300は、それぞれIDをキーとして正規化された、銘柄情報テーブル331と、顧客情報テーブル332と、所有権情報テーブル333とを有している。
(2-1. Database 300)
The database 300 includes a brand information table 331, a customer information table 332, and an ownership information table 333, each normalized using an ID as a key.

図3は銘柄情報テーブル331の一例を示す図である。銘柄情報テーブル331には、図3に示すように、銘柄IDに,銘柄コード、銘柄名、及び売買単位等が対応付けられて保存されている。さらに、本実施形態では、銘柄情報テーブル331の各レコードには、後述するWEBサーバ200の処理によって、そのレコードを更新したトランザクションのIDが対応付けられて保存されている。   FIG. 3 is a diagram illustrating an example of the brand information table 331. In the brand information table 331, as shown in FIG. 3, the brand ID, brand name, trading unit, and the like are stored in association with the brand ID. Furthermore, in this embodiment, each record of the brand information table 331 is stored in association with the ID of the transaction that updated the record by the processing of the WEB server 200 described later.

図4は顧客情報テーブル332の一例を示す図である。顧客情報テーブル332には、図4に示すように、顧客IDに、顧客コード、顧客名、及び住所等が対応付けられて保存されている。さらに、本実施形態では、顧客情報テーブル332の各レコードには、後述するWEBサーバ200の処理によって、そのレコードを更新したトランザクションのIDが対応付けられて保存されている。   FIG. 4 is a diagram illustrating an example of the customer information table 332. In the customer information table 332, as shown in FIG. 4, a customer ID, a customer name, an address, and the like are stored in association with the customer ID. Furthermore, in this embodiment, each record of the customer information table 332 is stored in association with the ID of the transaction that updated the record by the processing of the WEB server 200 described later.

また、図5は所有権情報テーブル333の一例を示す図である。所有権情報テーブル333には、図5に示すように、所有権IDに、銘柄IDが対応付けられて保存されている。さらに、本実施形態では、所有権情報テーブル333の各レコードには、後述するWEBサーバ200の処理によって、そのレコードを更新したトランザクションのIDが対応付けられて保存されている。   FIG. 5 is a diagram illustrating an example of the ownership information table 333. In the ownership information table 333, as shown in FIG. 5, the brand ID is stored in association with the ownership ID. Furthermore, in this embodiment, each record in the ownership information table 333 is stored in association with the ID of the transaction that updated the record by processing of the WEB server 200 described later.

(2−2.WEBサーバ200)
図2に示すように、WEBサーバ200は、更新処理部201と、参照処理部202とを備えている。
(2−2−1.更新処理部201)
更新処理部201は、ノード100からデータベース300への更新要求を受信した場合に、書込み処理を実行する。更新処理部201は、書込み処理として、
・データベース300への書込み処理
・ブロックチェーンDB131への書込み処理
を行う。
(2-2. WEB server 200)
As shown in FIG. 2, the WEB server 200 includes an update processing unit 201 and a reference processing unit 202.
(2-2-1. Update Processing Unit 201)
When receiving an update request from the node 100 to the database 300, the update processing unit 201 executes a writing process. The update processing unit 201 performs write processing as
Write processing to the database 300 Write processing to the block chain DB 131 is performed.

・データベース300への書込み処理
更新処理部201は、データベース300への書込み処理として、ノード100からの更新要求に従い、データベース300上のレコードを更新する。レコードの更新には、例えば既存のSQL等の言語を用いることが好ましい。
-Write process to database 300 The update process part 201 updates the record on the database 300 according to the update request from the node 100 as a write process to the database 300. FIG. For the record update, it is preferable to use an existing language such as SQL, for example.

・ブロックチェーンDB131への書込み処理
更新処理部201は、後述するブロックチェーンDB131への書込み処理として、データベース300への書込み処理において更新したレコードについて、所定のハッシュ関数を用いてハッシュ値(以下、「更新レコードダイジェスト」とも呼ぶ。更新ダイジェストの一例である。)を計算する。
Write processing to the block chain DB 131 The update processing unit 201 uses a predetermined hash function for a record updated in the write processing to the database 300 as a write processing to the block chain DB 131 to be described later. It is also called “update record digest.” Is an example of an update digest.).

次に、更新処理部201は、計算した更新レコードダイジェストを含むトランザクションを作成する。このとき、更新処理部201は、作成したトランザクションに対して一意なID(トランザクションID)を割り当て、更新が行われたテーブルの該当するレコードに、当該トランザクションのIDを対応付けて保存する。なお、トランザクションの詳細については、図7を用いて後述する。さらに、更新処理部201は、作成したトランザクションを、P2Pネットワークを介して、ノード100へブロードキャストする(出力の一例である。)。   Next, the update processing unit 201 creates a transaction including the calculated update record digest. At this time, the update processing unit 201 assigns a unique ID (transaction ID) to the created transaction, and stores the transaction ID in association with the corresponding record in the updated table. Details of the transaction will be described later with reference to FIG. Further, the update processing unit 201 broadcasts the created transaction to the node 100 via the P2P network (an example of output).

ブロードキャストされたトランザクションは、後述するノード100のマイニング部104の処理によって、ブロックに格納され、ブロックチェーンにつなげられる。   The broadcasted transaction is stored in a block and connected to a block chain by processing of the mining unit 104 of the node 100 described later.

(2−2−2.参照処理部202)
参照処理部202は、ノード100からデータベース300に格納されたデータの参照要求を受信した場合に、読出し処理を実行する。参照処理部202は、読出し処理として、
・データベース300に対する抽出処理
・ブロックチェーンDB131に対する抽出処理
・突合処理
を行う。
(2-2-2. Reference processing unit 202)
When the reference processing unit 202 receives a reference request for data stored in the database 300 from the node 100, the reference processing unit 202 executes a reading process. The reference processing unit 202 performs read processing as follows:
An extraction process for the database 300, an extraction process for the block chain DB 131, and a matching process are performed.

・データベース300に対する抽出処理
参照処理部202は、ノード100から参照要求を受信した場合に、該当するレコード(生データ)を、データベース300から抽出する。さらに、参照処理部202は、データベース300から抽出したレコードからダイジェスト(以下、「参照レコードダイジェスト」とも呼ぶ。)を計算する。
Extraction Process for Database 300 When receiving a reference request from the node 100, the reference processing unit 202 extracts a corresponding record (raw data) from the database 300. Further, the reference processing unit 202 calculates a digest (hereinafter also referred to as “reference record digest”) from the records extracted from the database 300.

・ブロックチェーンDB131に対する抽出処理
参照処理部202は、ノード100から参照要求を受信した場合に、該当するレコードの更新レコードダイジェストを、ブロックチェーンDB131から抽出する。具体的には、参照処理部202は、データベース300に対する抽出処理によって抽出したレコードを参照し、当該レコードに対応するトランザクションIDを取得する。次に、参照処理部202は、ノード100に対して、トランザクションIDを指定して、データ参照要求をP2Pネットワークを介して送信する。これによって参照処理部202は、後述するノード100の処理によって、指定したトランザクションIDに対応する更新レコードダイジェストを取得することができる。
Extraction Processing for Block Chain DB 131 When the reference processing unit 202 receives a reference request from the node 100, the reference processing unit 202 extracts an update record digest of the corresponding record from the block chain DB 131. Specifically, the reference processing unit 202 refers to the record extracted by the extraction process on the database 300, and acquires the transaction ID corresponding to the record. Next, the reference processing unit 202 designates a transaction ID to the node 100 and transmits a data reference request via the P2P network. As a result, the reference processing unit 202 can acquire an update record digest corresponding to the specified transaction ID by processing of the node 100 described later.

・突合処理
次に、参照処理部202は、データベース300から抽出したレコードから計算した参照レコードダイジェストと、ブロックチェーンDB131から抽出した更新レコードダイジェストとを突合する。上述のとおり、ブロックチェーンDB131に格納されているデータは、改ざんされていないデータである。従って、データベース300から抽出したレコードのダイジェストと、ブロックチェーンDB131に格納されていたダイジェストとを突合することで、データベース300への改ざんを検知することができる。
-Matching process Next, the reference process part 202 collates the reference record digest calculated from the record extracted from the database 300, and the update record digest extracted from the block chain DB131. As described above, the data stored in the block chain DB 131 is data that has not been tampered with. Therefore, it is possible to detect tampering with the database 300 by matching the digest of the record extracted from the database 300 with the digest stored in the block chain DB 131.

参照処理部202は、例えば、突合させたダイジェスト同士が一致した場合には、データベース300から抽出したレコード(生データ)を、参照要求を行ったノード100に対して送信する。また、例えば参照処理部202は、突合させたダイジェスト同士が一致しなかった場合には、アラートとともにレコードを出力することも可能である。   For example, when the matched digests match each other, the reference processing unit 202 transmits the record (raw data) extracted from the database 300 to the node 100 that made the reference request. In addition, for example, the reference processing unit 202 can output a record together with an alert when the matched digests do not match.

<3.ノード100>
次に、図6を用いてノード100の機能構成について説明する。図6は、本実施形態に係るノード100の機能ブロック図である。図6に示すように、ノード100は、ブロードキャスト通信部101と、要求部102と、応答部103と、マイニング部104と、記憶部130とを備える。さらに、図6に示すように、記憶部130には、ブロックチェーンDB131が記録されている。ブロックチェーンDB131は、信託銀行ノード100A、証券会社ノード100B、及び発行体ノード100Cのすべてのノードに格納される分散型データベースである。
<3. Node 100>
Next, the functional configuration of the node 100 will be described with reference to FIG. FIG. 6 is a functional block diagram of the node 100 according to the present embodiment. As illustrated in FIG. 6, the node 100 includes a broadcast communication unit 101, a request unit 102, a response unit 103, a mining unit 104, and a storage unit 130. Further, as illustrated in FIG. 6, the block chain DB 131 is recorded in the storage unit 130. The block chain DB 131 is a distributed database stored in all nodes of the trust bank node 100A, the securities company node 100B, and the issuer node 100C.

(3−1.ブロックチェーン)
図7は、ノード100が構成するブロックチェーンDB131で管理するデータ構造の一部を模式的に示す図である。ブロックチェーンDB131では、複数のブロックが、1列に連なった数珠つなぎの構造で管理されている。
(3-1. Block chain)
FIG. 7 is a diagram schematically illustrating a part of the data structure managed by the block chain DB 131 configured by the node 100. In the block chain DB 131, a plurality of blocks are managed in a daisy chain structure that is connected in a row.

図7はブロックチェーンDB131において管理されるブロックのうち、N+1番目のブロックの構造の一例を示す図である。N+1番目のブロックヘッダーには、例えば、以下の値が格納されている。
・N番目のブロックのダイジェスト
・タイムスタンプ
・ターゲット
・ナンス
FIG. 7 is a diagram illustrating an example of the structure of the (N + 1) th block among the blocks managed in the block chain DB 131. For example, the following values are stored in the (N + 1) th block header.
・ Nth block digest ・ Time stamp ・ Target ・ Nance

ターゲットは、ノード100が既存のPoW(Proof of Work)の技術を用いてマイニングを行う際に、用いる値である。ナンスは、任意の値をいう。マイニングについて具体的に説明すると、ノード100は、ブロックヘッダーのダイジェストがターゲット以下となるナンスを発見することを目的に、ナンスの値を変更しながら、繰り返しブロックヘッダーのダイジェストの計算(マイニング)を行う。なお、任意のナンスを含んだブロックヘッダーのダイジェストが、ターゲット以下となる確率は極めて小さいため、マイニングは過大なコストがかかる作業である。   The target is a value used when the node 100 performs mining using the existing PoW (Proof of Work) technology. Nonce refers to an arbitrary value. Specifically, mining is performed by repeatedly calculating the block header digest (mining) while changing the value of the nonce for the purpose of finding a nonce whose block header digest is equal to or less than the target. . Since the probability of a block header digest containing an arbitrary nonce being less than or equal to the target is extremely low, mining is an excessively expensive operation.

ブロックチェーンDB131において管理されているブロックを改ざんが行われた場合の挙動について説明する。例えばN番目のブロックに対して改ざんが行われたとすると、N+1番目のブロックヘッダーの値(N番目のブロックのダイジェスト)が変わることになる。この場合、N+1番目のブロックヘッダーのダイジェストがターゲットの値以下でなくなってしまう。従って、N番目のブロックに対して改ざんを行ったことを秘匿にするには、N+1番目以降のすべてのブロックについて、再度マイニングをやり直し、適切なナンスを発見し直す必要がある。しかし、任意のナンスを含んだブロックヘッダーのダイジェストが、ターゲット以下となる確率は極めて小さいため、この作業は非常に困難である。   A behavior when a block managed in the block chain DB 131 is falsified will be described. For example, if the Nth block has been tampered with, the value of the (N + 1) th block header (digest of the Nth block) will change. In this case, the digest of the (N + 1) th block header is not less than the target value. Therefore, in order to conceal that the Nth block has been tampered with, it is necessary to redo the mining of all the N + 1th and subsequent blocks and find an appropriate nonce again. However, since the probability that the digest of the block header containing an arbitrary nonce will be below the target is extremely small, this operation is very difficult.

このようにブロックチェーンDB131では、ブロックの作成にPoWの技術を用いることで、ブロックの生成にかかるコストを増大させることで、ブロックチェーンで管理されているデータに対して、改ざんが行われることを防ぐことができる。   In this way, in the block chain DB 131, by using the PoW technology for creating a block, the cost for generating the block is increased, so that the data managed by the block chain is altered. Can be prevented.

次に、ブロックのボディ部分の構成について説明する。図7の例では、ブロックのボディには単一のトランザクションが格納されている。トランザクションは、上述のとおり、WEBサーバ200における更新処理部201によってP2Pネットワークにブロードキャストされるものである。   Next, the configuration of the body part of the block will be described. In the example of FIG. 7, a single transaction is stored in the body of the block. As described above, the transaction is broadcast to the P2P network by the update processing unit 201 in the WEB server 200.

図7に示すように、トランザクションにはIDが割り当てられている。また、トランザクションには、上述した銘柄情報テーブル331、顧客情報テーブル332、又は所有権情報テーブル333のうちのいずれかのテーブルのレコードの更新レコードダイジェストが含まれている。なお、1つのトランザクションの中に、複数のテーブルの複数のレコードの更新レコードダイジェストが含まれる構成でもよい。   As shown in FIG. 7, an ID is assigned to the transaction. Further, the transaction includes an update record digest of a record in any one of the brand information table 331, the customer information table 332, and the ownership information table 333 described above. In addition, the structure by which the update record digest of several records of several tables is contained in one transaction may be sufficient.

(3−2.ブロードキャスト通信部101)
ブロードキャスト通信部101は、P2P接続している他ノードに対して、ブロードキャスト通信を介してデータの送受信を行う。具体的には、ブロードキャスト通信部101は、後述するマイニング部104の処理によって生成されたブロックを送受信する。また、ブロードキャスト通信部101は、WEBサーバ200の更新処理部201、及び参照処理部202から、それぞれトランザクション及び参照要求を受信することができる。
(3-2. Broadcast communication unit 101)
The broadcast communication unit 101 transmits / receives data to / from other nodes connected via P2P via broadcast communication. Specifically, the broadcast communication unit 101 transmits and receives blocks generated by processing of the mining unit 104 described later. Also, the broadcast communication unit 101 can receive a transaction and a reference request from the update processing unit 201 and the reference processing unit 202 of the WEB server 200, respectively.

(3−3.要求部102)
要求部102は、データベース300上の、銘柄情報テーブル331、顧客情報テーブル332、又は所有権情報テーブル333に対して更新処理を行う場合、WEBサーバ200に更新要求を送信する。更新要求は、例えばレコードの追加・変更・削除等である。
(3-3. Request unit 102)
The request unit 102 transmits an update request to the WEB server 200 when performing an update process on the brand information table 331, the customer information table 332, or the ownership information table 333 on the database 300. The update request is, for example, addition / change / deletion of a record.

(3−4.応答部103)
応答部103は、WEBサーバ200の参照処理部202から、データ参照要求があった場合に、指定されたIDのトランザクションを参照して、該当するトランザクションに含まれる更新レコードダイジェストを送信する。なお、すべてのノード100が、ダイジェストをWEBサーバ200に送信することが好ましい。しかし、これに限定されず、他のノード100から応答データを受信したノード100は、応答データの送信をおこなわない構成でもよい。この場合、最も応答の早かったノード100のみが応答データを送信することができる。
(3-4. Response unit 103)
When there is a data reference request from the reference processing unit 202 of the WEB server 200, the response unit 103 refers to the transaction with the specified ID and transmits an update record digest included in the corresponding transaction. It is preferable that all nodes 100 transmit the digest to the WEB server 200. However, the present invention is not limited to this, and the node 100 that has received the response data from the other node 100 may be configured not to transmit the response data. In this case, only the node 100 with the fastest response can transmit the response data.

(3−5.マイニング部104)
マイニング部104は、WEBサーバ200の処理によって、トランザクションがブロードキャストされ場合に、当該トランザクションに対してマイニング処理を行う。
具体的には、マイニング処理は、マイニング部104は、図7に示した構造のブロックを作成する作業である。ノード100は、マイニング処理として、ナンスの値を順次変更しながら、上述した適切なナンスを発見するまで、繰り返しブロックヘッダーのダイジェストの計算を行う。なお、図7に示したブロックヘッダーに含まれるタイムスタンプは、例えば、ノード100がトランザクションを受信した時刻であることが好ましい。しかしこれに限定されず、ノード100のマイニング部104は、任意のタイムスタンプをブロックヘッダーに格納することも可能である。
(3-5. Mining unit 104)
When a transaction is broadcast by the processing of the WEB server 200, the mining unit 104 performs a mining process on the transaction.
Specifically, the mining process is an operation in which the mining unit 104 creates a block having the structure shown in FIG. As the mining process, the node 100 repeatedly calculates the digest of the block header until the appropriate nonce described above is found while sequentially changing the nonce value. Note that the time stamp included in the block header shown in FIG. 7 is preferably the time when the node 100 received the transaction, for example. However, the present invention is not limited to this, and the mining unit 104 of the node 100 can store an arbitrary time stamp in the block header.

さらに、マイニング部104は、ブロードキャスト通信部101が、新しいブロックを受信した場合に、当該ブロックの検証処理を行うことも可能である。検証処理として、マイニング部104は、例えば、ブロックヘッダーのダイジェストがターゲット値を下回っているか、及び、トランザクションIDは一意な値であるか、等を検証することができる。   Further, when the broadcast communication unit 101 receives a new block, the mining unit 104 can perform verification processing on the block. As the verification process, the mining unit 104 can verify, for example, whether the digest of the block header is below the target value and whether the transaction ID is a unique value.

<5.処理シーケンス>
図8を用いて本実施形態に係る改ざん検知システム1の書込み処理及び読出し処理のシーケンスについて説明する。図8は、本実施形態に係る改ざん検知システム1の処理の流れを示すシーケンス図である。なお、図8に示す、S01,S11,S21〜S22の処理は、データの書込み処理であり、S13,S23〜D26の処理は、データの読出し処理である。
<5. Processing sequence>
The sequence of write processing and read processing of the falsification detection system 1 according to the present embodiment will be described with reference to FIG. FIG. 8 is a sequence diagram showing a processing flow of the tampering detection system 1 according to the present embodiment. Note that the processes of S01, S11, and S21 to S22 shown in FIG. 8 are data write processes, and the processes of S13 and S23 to D26 are data read processes.

例えば、投資家Uから、顧客情報テーブル332に登録されている住所の変更請求等(S01)が、ノード100のいずれかのノードにあった場合(例えば、信託銀行ノード100Aに対して請求が送信されたとする)、信託銀行ノード100Aは、顧客情報テーブル332の更新要求をWEBサーバ200に対して送信する(S11)。   For example, when an investor U requests to change the address registered in the customer information table 332 (S01) at any of the nodes 100 (for example, a request is sent to the trust bank node 100A) The trust bank node 100A transmits a request for updating the customer information table 332 to the WEB server 200 (S11).

更新要求を受信したWEBサーバ200の更新処理部201は、データベース300における顧客情報テーブル332の対応するレコードに対して更新処理を行う(S21)。さらにこのとき、更新処理部201は、更新したレコードから更新レコードダイジェストを計算し、当該更新レコードダイジェストを含むトランザクションを作成する。さらに、更新処理部201は、更新したレコードに作成したトランザクションのIDを対応付けて記憶させる。更新処理部201は、作成したトランザクションをP2Pネットワークにブロードキャストで送信する(S22)。なお、ここで、更新処理部201の処理対象は更新したレコードであったが、レコードへの更新操作(テーブルのあるデータ項目の値を他の値に変更するという操作)を処理対象とし、更新操作ダイジェストを計算し、当該更新操作ダイジェストを含むトランザクションを作成する構成であってもよい。つまり、データの正当性検証の対象は、データそのものであってもよいし、データに対する操作であってもよい。この場合、更新処理部201は、銘柄情報テーブル331、顧客情報テーブル332、及び所有権情報テーブル333に対して、更新操作を行う度に、行った更新操作に関する情報を追加する。   The update processing unit 201 of the WEB server 200 that has received the update request performs an update process on the corresponding record in the customer information table 332 in the database 300 (S21). Further, at this time, the update processing unit 201 calculates an update record digest from the updated record, and creates a transaction including the update record digest. Furthermore, the update processing unit 201 associates and stores the created transaction ID with the updated record. The update processing unit 201 broadcasts the created transaction to the P2P network (S22). Here, the processing target of the update processing unit 201 is the updated record, but the update operation to the record (operation to change the value of a data item in the table to another value) is the processing target, and the update is performed. The configuration may be such that an operation digest is calculated and a transaction including the update operation digest is created. That is, the data verification target may be the data itself or an operation on the data. In this case, the update processing unit 201 adds information regarding the performed update operation to the brand information table 331, the customer information table 332, and the ownership information table 333 each time an update operation is performed.

作成されたトランザクションがブロードキャストされると、各ノード100のマイニング部104は、それぞれマイニング処理を実行する。最も早くマイニングが完了したノード100は、マイニングによって作成したブロックをブロードキャストすることで、ブロックチェーンの末尾に作成したブロックを登録する(S12)。   When the created transaction is broadcast, the mining unit 104 of each node 100 executes a mining process. The node 100 that has completed the mining earliest broadcasts the block created by mining to register the created block at the end of the block chain (S12).

次に、データベース300に登録されたデータを照会する場合、まず、ノード100は、登録内容の参照要求を、ネットワークNを介してWEBサーバ200へ送信する(S13)。WEBサーバ200における参照処理部202は、参照要求があったレコードをデータベース300から抽出し、抽出したレコードをハッシュ化して参照レコードダイジェストを計算する(S23)。また、参照処理部202は、抽出したレコードに対応するトランザクションIDを指定して、ノード100に対してデータ参照要求を送信する。これによって、参照処理部202は、ノード100から更新レコードダイジェストを取得する(S24)。   Next, when inquiring about data registered in the database 300, the node 100 first transmits a registration content reference request to the WEB server 200 via the network N (S13). The reference processing unit 202 in the WEB server 200 extracts a record for which a reference request has been made from the database 300, and hashes the extracted record to calculate a reference record digest (S23). Further, the reference processing unit 202 designates a transaction ID corresponding to the extracted record, and transmits a data reference request to the node 100. As a result, the reference processing unit 202 acquires an update record digest from the node 100 (S24).

参照処理部202は、計算した参照レコードダイジェストと、取得した更新レコードダイジェストとを突き合わせ、データの正当性を検証する(S25)。正当性が検証できた場合には、参照処理部202は、データベース300から抽出した生データを、ノード100へ送信する(S26)。なお、更新処理部201の処理対象が更新操作である場合には、参照処理部202は、参照要求の対象となったテーブルの更新操作に関する情報からダイジェストを計算する。さらに参照処理部202は、トランザクションIDを指定してノード100から取得したダイジェスト(更新操作ダイジェスト)と、計算したダイジェストとを突合する。   The reference processing unit 202 matches the calculated reference record digest with the acquired update record digest, and verifies the validity of the data (S25). When the validity can be verified, the reference processing unit 202 transmits the raw data extracted from the database 300 to the node 100 (S26). When the processing target of the update processing unit 201 is an update operation, the reference processing unit 202 calculates a digest from information regarding the update operation of the table that is the target of the reference request. Further, the reference processing unit 202 matches the digest (update operation digest) acquired from the node 100 by specifying the transaction ID and the calculated digest.

このように、本実施形態に係る改ざん検知システム1においては、データベース300に登録するデータを、ハッシュ化し、ブロックチェーン上においても登録する。これによって、データベース300上のデータのハッシュ値と、対応するブロックチェーン上のダイジェストとを突合させることによって、改ざんを検知することができる。   Thus, in the falsification detection system 1 according to the present embodiment, the data to be registered in the database 300 is hashed and registered on the block chain. Thus, tampering can be detected by matching the hash value of the data on the database 300 with the digest on the corresponding block chain.

<ハードウェア構成>
以下、図9を参照しながら、第1の実施形態及び第2の実施形態において上述してきたノード100、及びWEBサーバ200をコンピュータ800により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
<Hardware configuration>
Hereinafter, an example of the hardware configuration when the computer 100 implements the node 100 and the WEB server 200 described above in the first and second embodiments will be described with reference to FIG. The function of each device can be realized by dividing it into a plurality of devices.

図9に示すように、コンピュータ800は、プロセッサ801、メモリ803、記憶装置805、入力I/F部807、データI/F部809、通信I/F部811、及び表示装置813を含む。   As illustrated in FIG. 9, the computer 800 includes a processor 801, a memory 803, a storage device 805, an input I / F unit 807, a data I / F unit 809, a communication I / F unit 811, and a display device 813.

プロセッサ801は、メモリ803に記憶されているプログラムを実行することによりコンピュータ800における様々な処理を制御する。例えば、ノード100のブロードキャスト通信部101や要求部102、応答部103、マイニング部104、WEBサーバ200の更新処理部201や参照処理部202、などは、メモリ803に一時記憶された上で、主にプロセッサ801上で動作するプログラムとして実現可能である。   The processor 801 controls various processes in the computer 800 by executing a program stored in the memory 803. For example, the broadcast communication unit 101, the request unit 102, the response unit 103, the mining unit 104, the update processing unit 201, the reference processing unit 202, and the like of the node 100 are temporarily stored in the memory 803, It can be realized as a program operating on the processor 801.

メモリ803は、例えばRAM(Random Access Memory)等の記憶媒体である。メモリ803は、プロセッサ801によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。   The memory 803 is a storage medium such as a RAM (Random Access Memory). The memory 803 temporarily stores a program code of a program executed by the processor 801 and data necessary for executing the program.

記憶装置805は、例えばハードディスクドライブ(HDD)やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置805は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。この他、記憶装置805は、銘柄情報テーブル331や、顧客情報テーブル332、所有権情報テーブル333、及びブロックチェーンDB131を記憶することも可能である。このようなプログラムやデータは、必要に応じてメモリ803にロードされることにより、プロセッサ801から参照される。   The storage device 805 is a non-volatile storage medium such as a hard disk drive (HDD) or a flash memory. The storage device 805 stores an operating system and various programs for realizing the above-described configurations. In addition, the storage device 805 can also store a brand information table 331, a customer information table 332, an ownership information table 333, and a block chain DB 131. Such programs and data are referred to by the processor 801 by being loaded into the memory 803 as necessary.

入力I/F部807は、ユーザからの入力を受け付けるためのデバイスである。入力I/F部807の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力I/F部807は、例えばUSB(Universal Serial Bus)等のインタフェースを介してコンピュータ800に接続されても良い。   The input I / F unit 807 is a device for receiving input from the user. Specific examples of the input I / F unit 807 include a keyboard, a mouse, a touch panel, various sensors, and a wearable device. The input I / F unit 807 may be connected to the computer 800 via an interface such as a USB (Universal Serial Bus).

データI/F部809は、コンピュータ800の外部からデータを入力するためのデバイスである。データI/F部809の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データI/F部809は、コンピュータ800の外部に設けられることも考えられる。その場合、データI/F部809は、例えばUSB等のインタフェースを介してコンピュータ800へと接続される。   A data I / F unit 809 is a device for inputting data from the outside of the computer 800. Specific examples of the data I / F unit 809 include a drive device for reading data stored in various storage media. The data I / F unit 809 may be provided outside the computer 800. In this case, the data I / F unit 809 is connected to the computer 800 via an interface such as a USB.

通信I/F部811は、コンピュータ800の外部の装置と有線又は無線により、インターネットNを介したデータ通信を行うためのデバイスである。通信I/F部811は、コンピュータ800の外部に設けられることも考えられる。その場合、通信I/F部811は、例えばUSB等のインタフェースを介してコンピュータ800に接続される。   The communication I / F unit 811 is a device for performing data communication with the external device of the computer 800 via the Internet N by wire or wireless. The communication I / F unit 811 may be provided outside the computer 800. In that case, the communication I / F unit 811 is connected to the computer 800 via an interface such as a USB.

表示装置813は、各種情報を表示するためのデバイスである。表示装置813の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置813は、コンピュータ800の外部に設けられても良い。その場合、表示装置813は、例えばディスプレイケーブル等を介してコンピュータ800に接続される。   The display device 813 is a device for displaying various information. Specific examples of the display device 813 include a liquid crystal display, an organic EL (Electro-Luminescence) display, and a wearable device display. The display device 813 may be provided outside the computer 800. In that case, the display device 813 is connected to the computer 800 via, for example, a display cable.

[その他の実施形態]
以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。また、各実施形態は例示であり、異なる実施形態で示した構成の部分的な置換または組み合わせが可能であることは言うまでもなく、これらも本発明の特徴を含む限り本発明の範囲に包含される。
[Other Embodiments]
Each embodiment described above is for facilitating understanding of the present invention, and is not intended to limit the present invention. The present invention can be changed / improved without departing from the spirit thereof, and the present invention includes equivalents thereof. Each embodiment is an exemplification, and it is needless to say that a partial replacement or combination of configurations shown in different embodiments is possible, and these are also included in the scope of the present invention as long as they include the features of the present invention. .

例えば、既述の実施形態において、改ざん検知システム1は、WEBサーバ200を備える構成を説明した。しかし、これに限定されず、改ざん検知システム1は、WEBサーバ200を備えなくてもよい。この場合、WEBサーバ200において実装されていた各機能は、ノード100上に実装される。   For example, in the above-described embodiment, the configuration in which the falsification detection system 1 includes the WEB server 200 has been described. However, the present invention is not limited to this, and the falsification detection system 1 may not include the WEB server 200. In this case, each function implemented in the WEB server 200 is implemented on the node 100.

また、記述の実施形態において、ブロックチェーンDB131のトランザクションに含まれるダイジェストはレコード単位であるとして説明したが、これに限定されない。例えば、トランザクションは、銘柄情報テーブル331、顧客情報テーブル332、及び所有権情報テーブル333の、テーブル単位に計算されたダイジェスト含む構成でもよい。また、トランザクションは全テーブルから計算されたダイジェストを含む構成でもよい。トランザクションがテーブル単位に計算されたダイジェストを含む場合、WEBサーバ200の更新処理部201は、更新したレコードを含むテーブルからダイジェストを計算し、トランザクションを作成する。他方、参照処理部202は、参照要求の対象となったレコードを含むテーブルからダイジェストを計算し、ノード100から取得したダイジェスト(テーブルのダイジェスト)と突合する。   In the described embodiment, the digest included in the transaction of the block chain DB 131 is described as being in units of records. However, the present invention is not limited to this. For example, the transaction may include a digest calculated for each table of the brand information table 331, the customer information table 332, and the ownership information table 333. The transaction may include a digest calculated from all the tables. When the transaction includes a digest calculated for each table, the update processing unit 201 of the WEB server 200 calculates a digest from the table including the updated record, and creates a transaction. On the other hand, the reference processing unit 202 calculates the digest from the table including the record that is the target of the reference request, and collates with the digest (table digest) acquired from the node 100.

さらに、更新処理部201は、更新レコードダイジェストを、更新後のレコードのすべての項目からではなく、更新後のレコードのうち、改ざんを検知したい項目のみから計算する構成でもよい。この場合、トランザクションは、改ざんを検知したい項目について計算されたダイジェストを含む構成でもよい。このとき、銘柄情報テーブル331、顧客情報テーブル332、及び所有権情報テーブル333は、項目ごとにトランザクションIDが割り当てられる。参照処理部202は、参照要求の対象となった項目それぞれからダイジェストを計算し、トランザクションIDを指定してノード100から取得したダイジェスト(項目それぞれのダイジェスト)と突合する。   Furthermore, the update processing unit 201 may be configured to calculate the update record digest not from all items in the updated record but from only the item in the updated record for which tampering is desired. In this case, the transaction may include a digest calculated for an item for which tampering is desired. At this time, in the brand information table 331, the customer information table 332, and the ownership information table 333, a transaction ID is assigned for each item. The reference processing unit 202 calculates a digest from each item that is the target of the reference request, and matches the digest (digest of each item) acquired from the node 100 by specifying the transaction ID.

また、記述の実施形態において、更新処理部201はトランザクションを作成する際に、一意なIDを割り当てる構成を説明した。しかしこれに限定されず、更新処理部201は、データベース300への書き込み処理において更新したレコードに割り当てられているID(銘柄ID、顧客ID、所有権ID)を作成したトランザクションに割り当てる構成でもよい。   In the described embodiment, the configuration has been described in which the update processing unit 201 assigns a unique ID when creating a transaction. However, the present invention is not limited to this, and the update processing unit 201 may be configured to assign an ID (brand ID, customer ID, ownership ID) assigned to the record updated in the writing process to the database 300 to the created transaction.

さらに記述の実施形態において、マイニングにはPoWの技術を用いる構成を説明したがこれに限定されない。例えばマイニング部104は、作成したブロックヘッダーがターゲットの値以下になるか否かにかかわらず、ブロックをブロックチェーンの末尾に追加する構成でもよい。この場合、ブロックチェーンDB131において管理されるブロックは、ターゲット及びナンスを含まない構成でもよい。   Further, in the described embodiment, the configuration using the PoW technology for mining has been described, but the present invention is not limited to this. For example, the mining unit 104 may be configured to add a block to the end of the block chain regardless of whether the created block header is equal to or less than the target value. In this case, the block managed in the block chain DB 131 may be configured not to include a target and a nonce.

1 改ざん検知システム
100 ノード
101 ブロードキャスト通信部
102 要求部
103 応答部
104 マイニング部
131 ブロックチェーンDB
200 WEBサーバ
201 更新処理部
202 参照処理部
300 データベース
331 銘柄情報テーブル
332 顧客情報テーブル
333 所有権情報テーブル
DESCRIPTION OF SYMBOLS 1 Tampering detection system 100 Node 101 Broadcast communication part 102 Request part 103 Response part 104 Mining part 131 Block chain DB
200 WEB Server 201 Update Processing Unit 202 Reference Processing Unit 300 Database 331 Brand Information Table 332 Customer Information Table 333 Ownership Information Table

Claims (5)

所定のデータに対してハッシュ関数を用いて計算したダイジェストを記憶するブロックチェーンデータベースと、
前記所定のデータを記憶するデータベースと、
前記所定のデータに対する参照要求を受信した場合に、前記データベースから前記所定のデータを抽出し、抽出した当該所定のデータから前記ハッシュ関数を用いてハッシュ値を計算し、当該ハッシュ値が、前記ブロックチェーンデータベースに記憶された、前記所定のデータに対応するダイジェストと一致するか否かを判定し、抽出した前記所定のデータを出力する参照処理部と、
を備える改ざん検知システム。
A blockchain database for storing a digest calculated using a hash function for predetermined data;
A database for storing the predetermined data;
When a reference request for the predetermined data is received, the predetermined data is extracted from the database, a hash value is calculated from the extracted predetermined data using the hash function, and the hash value is A reference processing unit that determines whether or not the digest corresponding to the predetermined data stored in the chain database matches, and outputs the extracted predetermined data;
A tamper detection system.
前記改ざん検知システムは、さらに
前記所定のデータに対する更新要求を受信した場合に、前記データベース上において、前記所定のデータを更新済みデータに更新するとともに、当該更新済みデータに対して前記ハッシュ関数を用いて計算した更新ダイジェストを出力する更新処理部を備え、
前記ブロックチェーンデータベースは、
前記更新処理部が送信した前記更新ダイジェストをさらに記憶する、
請求項1に記載の改ざん検知システム。
The falsification detection system further updates the predetermined data to updated data on the database when an update request for the predetermined data is received, and uses the hash function for the updated data. An update processing unit that outputs the update digest calculated by
The blockchain database is
Further storing the update digest transmitted by the update processing unit;
The tampering detection system according to claim 1.
前記ブロックチェーンデータベースは、
互いにP2P接続された複数のノード上に分散して構築される、
請求項1または2に記載の改ざん検知システム。
The blockchain database is
It is constructed in a distributed manner on multiple nodes that are P2P connected to each other.
The tampering detection system according to claim 1 or 2.
所定のデータに対してハッシュ関数を用いて計算したダイジェストを記憶するダイジェスト記憶ステップと、
前記所定のデータを記憶するデータ記憶ステップと、
前記所定のデータに対する参照要求を受信した場合に、前記データ記憶ステップにおいて記憶された前記所定のデータを抽出し、抽出した当該所定のデータから前記ハッシュ関数を用いてハッシュ値を計算し、当該ハッシュ値が、前記ダイジェスト記憶ステップにおいて記憶された、前記所定のデータに対応するダイジェストと一致しするか否かを判定し、抽出した前記所定のデータを出力する読出しステップと、
を備える改ざん検知方法。
A digest storage step for storing a digest calculated using a hash function for predetermined data;
A data storage step for storing the predetermined data;
When a reference request for the predetermined data is received, the predetermined data stored in the data storage step is extracted, a hash value is calculated from the extracted predetermined data using the hash function, and the hash is calculated. A step of determining whether or not a value matches a digest corresponding to the predetermined data stored in the digest storage step, and outputting the extracted predetermined data;
A tamper detection method comprising:
前記改ざん検知方法は、さらに
前記所定のデータに対する更新要求を受信した場合に、前記データ記憶ステップにおいて記憶された、前記所定のデータを更新済みデータに更新するとともに、当該更新済みデータに対して前記ハッシュ関数を用いて計算した更新ダイジェストを出力する書込みステップを備え、
前記ダイジェスト記憶ステップは、
出力した前記更新ダイジェストをさらに記憶する、
請求項4に記載の改ざん検知方法。
The falsification detection method further updates the predetermined data stored in the data storage step to updated data when an update request for the predetermined data is received, and the updated data A write step for outputting an update digest calculated using a hash function;
The digest storage step includes:
Further storing the output update digest;
The tampering detection method according to claim 4.
JP2016100794A 2016-05-19 2016-05-19 Tamper detection system and tamper detection method Active JP6731783B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016100794A JP6731783B2 (en) 2016-05-19 2016-05-19 Tamper detection system and tamper detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016100794A JP6731783B2 (en) 2016-05-19 2016-05-19 Tamper detection system and tamper detection method

Publications (2)

Publication Number Publication Date
JP2017207979A true JP2017207979A (en) 2017-11-24
JP6731783B2 JP6731783B2 (en) 2020-07-29

Family

ID=60415603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016100794A Active JP6731783B2 (en) 2016-05-19 2016-05-19 Tamper detection system and tamper detection method

Country Status (1)

Country Link
JP (1) JP6731783B2 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245949A (en) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 It is related to the packaging method and device of block chain
JP2019161580A (en) * 2018-03-16 2019-09-19 日本電気株式会社 Data transmission device, data transmission/reception system, data reception device, data transmission method, and program
CN110622149A (en) * 2018-11-30 2019-12-27 阿里巴巴集团控股有限公司 Block chain data relation structure scheme based on binary log replication
JP2020030666A (en) * 2018-08-23 2020-02-27 沖電気工業株式会社 Data processing device, data processing program, data processing method, and data processing system
JP2020035214A (en) * 2018-08-30 2020-03-05 富士通株式会社 Program, information processing system, and information processing method
JP2020508503A (en) * 2017-03-28 2020-03-19 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Blockchain-based data storage and query method and device
JP2020095661A (en) * 2019-02-20 2020-06-18 ジャパンパイル株式会社 Construction data management system and manufacturing method thereof
JP2020519210A (en) * 2017-04-28 2020-06-25 アノノス インコーポレイテッド Systems and methods for implementing centralized privacy controls in decentralized systems
KR20200085798A (en) * 2018-02-27 2020-07-15 알리바바 그룹 홀딩 리미티드 Method, apparatus, and electronic device for executing a blockchain-based transaction
JP2020160983A (en) * 2019-03-27 2020-10-01 富士通株式会社 Detection program, detection method and detection device
JP2020161112A (en) * 2019-03-26 2020-10-01 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド How to handle tampered transactions based on Ethereum, devices and storage media
JP2020532213A (en) * 2017-08-24 2020-11-05 オラクル・インターナショナル・コーポレイション Digital Asset Traceability and Guarantee with Decentralized Ledger
JPWO2020230831A1 (en) * 2019-05-14 2020-11-19
JP2020191091A (en) * 2019-05-21 2020-11-26 歐簿客科技股▲ふん▼有限公司 Method for determining information integrity and computer system using the same
JP2021511562A (en) * 2018-01-19 2021-05-06 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Fund flow report generation methods and equipment, as well as electronic devices
JP2021090113A (en) * 2019-12-03 2021-06-10 LasTrust株式会社 Authentic collateral system, collateral badge display system, genuine collateral system program, and collateral badge display system program
WO2021132454A1 (en) * 2019-12-26 2021-07-01 シビラ株式会社 Transaction delegation method, transaction delegation system, and computer program
JP2021520093A (en) * 2018-03-28 2021-08-12 ソニーグループ株式会社 Equipment, request equipment, methods, and computer program products
JP2021168177A (en) * 2019-12-26 2021-10-21 シビラ株式会社 Transaction delegation method and transaction delegation system
US11424935B2 (en) 2018-04-27 2022-08-23 Kabushiki Kaisha Toshiba Tampering detection system and method for detecting tampering
JP2022123531A (en) * 2021-02-12 2022-08-24 株式会社ボーグテクノロジー Browsing Image Assurance System, Browsing Image Assurance Site, and Browsing Image Assurance Server
JP2022539283A (en) * 2019-04-18 2022-09-08 ライン プラス コーポレーション A method and system for validating blockchain data stored in a storage format different from the blockchain
JP2022187163A (en) * 2021-06-07 2022-12-19 株式会社テクノロジックアート Data management system and data management program
JP2023106412A (en) * 2017-12-01 2023-08-01 クアント ネットワーク リミテッド Blockchain communication and sequencing
JP2023533250A (en) * 2020-06-30 2023-08-02 京▲東▼科技信息技▲術▼有限公司 User information processing method and system based on blockchain
US12309280B2 (en) 2019-10-21 2025-05-20 Kabushiki Kaisha Toshiba Tampering validation method and tampering validation system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7399838B2 (en) 2020-11-06 2023-12-18 株式会社東芝 Information processing method, information processing system and computer program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358011A (en) * 2001-02-13 2002-12-13 Sonicblue Inc Ensuring legitimacy of digital media
WO2004068350A1 (en) * 2003-01-30 2004-08-12 Fujitsu Limited Data false alteration detecting method, data false alteration detecting device, and data false alteration detecting program
JP2005267600A (en) * 2004-03-15 2005-09-29 Hitachi Ltd Long-term data protection system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358011A (en) * 2001-02-13 2002-12-13 Sonicblue Inc Ensuring legitimacy of digital media
WO2004068350A1 (en) * 2003-01-30 2004-08-12 Fujitsu Limited Data false alteration detecting method, data false alteration detecting device, and data false alteration detecting program
JP2005267600A (en) * 2004-03-15 2005-09-29 Hitachi Ltd Long-term data protection system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大橋盛徳他: "デジタルコンテンツのスマートプロパティ化に向けた情報登録方法の提案と実装", 電子情報通信学会技術研究報告 VOL.116 NO.23 IEICE TECHNICAL REPORT, vol. 第116巻, JPN6020011376, 5 May 2016 (2016-05-05), JP, pages 13 - 18, ISSN: 0004239580 *

Cited By (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020508503A (en) * 2017-03-28 2020-03-19 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Blockchain-based data storage and query method and device
JP7021228B2 (en) 2017-03-28 2022-02-16 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Blockchain-based data storage and query methods and devices
US10942921B2 (en) 2017-03-28 2021-03-09 Advanced New Technologies Co., Ltd. Blockchain-based data storage and query method and device
US11204915B2 (en) 2017-03-28 2021-12-21 Advanced New Technologies Co., Ltd. Blockchain-based data storage and query method and device
JP7064576B2 (en) 2017-04-28 2022-05-10 アノノス インコーポレイテッド Systems and methods for implementing centralized privacy control in decentralized systems
JP2020519210A (en) * 2017-04-28 2020-06-25 アノノス インコーポレイテッド Systems and methods for implementing centralized privacy controls in decentralized systems
JP2020532213A (en) * 2017-08-24 2020-11-05 オラクル・インターナショナル・コーポレイション Digital Asset Traceability and Guarantee with Decentralized Ledger
JP2022123064A (en) * 2017-08-24 2022-08-23 オラクル・インターナショナル・コーポレイション Digital asset traceability and assurance using distributed ledgers
JP7273224B2 (en) 2017-08-24 2023-05-12 オラクル・インターナショナル・コーポレイション Digital asset traceability and assurance using distributed ledgers
JP7092868B2 (en) 2017-08-24 2022-06-28 オラクル・インターナショナル・コーポレイション Digital Asset Traceability and Guarantee with Distributed Ledger
JP7657255B2 (en) 2017-12-01 2025-04-04 クアント ネットワーク リミテッド Blockchain Communication and Ordering
JP2023106412A (en) * 2017-12-01 2023-08-01 クアント ネットワーク リミテッド Blockchain communication and sequencing
JP7080321B2 (en) 2018-01-19 2022-06-03 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Fund flow report generation methods and equipment, as well as electronic devices
JP2021511562A (en) * 2018-01-19 2021-05-06 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Fund flow report generation methods and equipment, as well as electronic devices
JP2021511560A (en) * 2018-02-27 2021-05-06 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Methods, devices, and electronic devices for performing transactions based on the blockchain
KR20200085798A (en) * 2018-02-27 2020-07-15 알리바바 그룹 홀딩 리미티드 Method, apparatus, and electronic device for executing a blockchain-based transaction
KR102403581B1 (en) * 2018-02-27 2022-05-30 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. Method, apparatus, and electronic device for executing a transaction based on blockchain
JP2019161580A (en) * 2018-03-16 2019-09-19 日本電気株式会社 Data transmission device, data transmission/reception system, data reception device, data transmission method, and program
US11880486B2 (en) 2018-03-28 2024-01-23 Sony Corporation Device, requesting a device, method and computer program
JP7367692B2 (en) 2018-03-28 2023-10-24 ソニーグループ株式会社 Apparatus, request apparatus, method, and program
JP2021520093A (en) * 2018-03-28 2021-08-12 ソニーグループ株式会社 Equipment, request equipment, methods, and computer program products
US11424935B2 (en) 2018-04-27 2022-08-23 Kabushiki Kaisha Toshiba Tampering detection system and method for detecting tampering
JP2020030666A (en) * 2018-08-23 2020-02-27 沖電気工業株式会社 Data processing device, data processing program, data processing method, and data processing system
JP7131200B2 (en) 2018-08-23 2022-09-06 沖電気工業株式会社 DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM
JP7187894B2 (en) 2018-08-30 2022-12-13 富士通株式会社 Program, information processing system and information processing method
JP2020035214A (en) * 2018-08-30 2020-03-05 富士通株式会社 Program, information processing system, and information processing method
CN110622149A (en) * 2018-11-30 2019-12-27 阿里巴巴集团控股有限公司 Block chain data relation structure scheme based on binary log replication
JP2020502618A (en) * 2018-11-30 2020-01-23 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Blockchain data relation structuring scheme based on binary log replication
JP2020095661A (en) * 2019-02-20 2020-06-18 ジャパンパイル株式会社 Construction data management system and manufacturing method thereof
US11436604B2 (en) 2019-03-26 2022-09-06 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus and storage medium for processing ethereum-based falsified transaction
JP6992036B2 (en) 2019-03-26 2022-01-13 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド How to handle tampered transactions based on Ethereum, devices and storage media
JP2020161112A (en) * 2019-03-26 2020-10-01 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド How to handle tampered transactions based on Ethereum, devices and storage media
JP7354568B2 (en) 2019-03-27 2023-10-03 富士通株式会社 Detection program, detection method and detection device
JP2020160983A (en) * 2019-03-27 2020-10-01 富士通株式会社 Detection program, detection method and detection device
JP7607583B2 (en) 2019-04-18 2024-12-27 ライン プラス コーポレーション Method and system for verifying blockchain data stored in a storage format different from the blockchain
JP2022539283A (en) * 2019-04-18 2022-09-08 ライン プラス コーポレーション A method and system for validating blockchain data stored in a storage format different from the blockchain
WO2020230831A1 (en) * 2019-05-14 2020-11-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Information transaction method, information user terminal, and program
JPWO2020230831A1 (en) * 2019-05-14 2020-11-19
JP7467435B2 (en) 2019-05-14 2024-04-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Information transaction method, information user terminal, and program
JP2020191091A (en) * 2019-05-21 2020-11-26 歐簿客科技股▲ふん▼有限公司 Method for determining information integrity and computer system using the same
CN110245949A (en) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 It is related to the packaging method and device of block chain
US12309280B2 (en) 2019-10-21 2025-05-20 Kabushiki Kaisha Toshiba Tampering validation method and tampering validation system
JP2021090113A (en) * 2019-12-03 2021-06-10 LasTrust株式会社 Authentic collateral system, collateral badge display system, genuine collateral system program, and collateral badge display system program
JP7443036B2 (en) 2019-12-03 2024-03-05 株式会社サイバーリンクス Collateral badge display system, Collateral badge display system program
JP2021168177A (en) * 2019-12-26 2021-10-21 シビラ株式会社 Transaction delegation method and transaction delegation system
US11775967B2 (en) 2019-12-26 2023-10-03 Sivira Inc. Transaction delegation method, transaction delegation system, and computer readable medium
WO2021132454A1 (en) * 2019-12-26 2021-07-01 シビラ株式会社 Transaction delegation method, transaction delegation system, and computer program
JP6915934B1 (en) * 2019-12-26 2021-08-11 シビラ株式会社 Transaction delegation methods, transaction delegation systems, and computer programs
JP7628289B2 (en) 2019-12-26 2025-02-10 シビラ株式会社 Transaction delegation method and transaction delegation system
JP2021119544A (en) * 2019-12-26 2021-08-12 シビラ株式会社 Transaction delegation method and transaction delegation system
JP2023533250A (en) * 2020-06-30 2023-08-02 京▲東▼科技信息技▲術▼有限公司 User information processing method and system based on blockchain
JP7581388B2 (en) 2020-06-30 2024-11-12 京▲東▼科技信息技▲術▼有限公司 Blockchain-based user information processing method and system
JP2022123531A (en) * 2021-02-12 2022-08-24 株式会社ボーグテクノロジー Browsing Image Assurance System, Browsing Image Assurance Site, and Browsing Image Assurance Server
JP2022187163A (en) * 2021-06-07 2022-12-19 株式会社テクノロジックアート Data management system and data management program

Also Published As

Publication number Publication date
JP6731783B2 (en) 2020-07-29

Similar Documents

Publication Publication Date Title
JP6731783B2 (en) Tamper detection system and tamper detection method
US10013573B2 (en) Personal ledger blockchain
US11308448B1 (en) Intelligent employment-based blockchain
KR102556741B1 (en) Techniques for tracking objects between different parties
US20190122186A1 (en) Hierarchical Network System, And Node And Program Used In Same
US11409901B2 (en) Data security in a peer-to-peer network
JP2021527274A (en) Distributed access, storage, and transfer of blockchain
US12210646B2 (en) Cryptographic data entry blockchain data structure
KR102731838B1 (en) Electronic apparatus and method for managing data based on block chain
US11157876B1 (en) Intelligent employment-based blockchain
CN109508564B (en) Block chain-based digital asset storage system and method
US20140344944A1 (en) Dynamic database update in multi-server private information retrieval scheme
WO2020230695A1 (en) Digital asset transfer method, digital asset transfer device, and program
US10394781B2 (en) Synchronization of offline data
US20230291562A1 (en) Apparatus and method of managing non-fungible tokens based on blockchain
JP2022075328A (en) Data management method, computer program, and data management system
US10887371B2 (en) Systems and methods for content storage and retrieval
CN110808974A (en) Data acquisition method and device, computer device and storage medium
JP6429962B1 (en) Information processing apparatus, information processing method, and information processing program
US11283893B2 (en) Method and system for tracking chain of custody on unstructured data
US20250023743A1 (en) Electronic deposit box for data protection and storage
WO2014065114A1 (en) Targeted advertising distribution system, and information recording medium on which are recorded targeted advertising distribution method and targeted advertising distribution program in same system
KR102130017B1 (en) Method for managing contents and cloud server for executing the same
US20230114566A1 (en) Electronic deposit box for data protection and storage
CN116827630A (en) Searchable encryption method, device, equipment and storage medium for card business information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200707

R150 Certificate of patent or registration of utility model

Ref document number: 6731783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250