Nothing Special   »   [go: up one dir, main page]

JP7131200B2 - DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM - Google Patents

DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM Download PDF

Info

Publication number
JP7131200B2
JP7131200B2 JP2018156427A JP2018156427A JP7131200B2 JP 7131200 B2 JP7131200 B2 JP 7131200B2 JP 2018156427 A JP2018156427 A JP 2018156427A JP 2018156427 A JP2018156427 A JP 2018156427A JP 7131200 B2 JP7131200 B2 JP 7131200B2
Authority
JP
Japan
Prior art keywords
data
blockchain
inspection
processing
target data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018156427A
Other languages
Japanese (ja)
Other versions
JP2020030666A (en
Inventor
康貴 川本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2018156427A priority Critical patent/JP7131200B2/en
Publication of JP2020030666A publication Critical patent/JP2020030666A/en
Application granted granted Critical
Publication of JP7131200B2 publication Critical patent/JP7131200B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

この発明は、データ処理装置、データ処理プログラム、データ処理方法、及びデータ処理システムに関し、例えば、ユーザ(ユーザが使用するユーザ端末)からデータベースのデータ更新を受け付けて処理するWebサーバに適用し得る。 The present invention relates to a data processing device, a data processing program, a data processing method, and a data processing system, and can be applied, for example, to a web server that accepts and processes database data updates from users (user terminals used by users).

従来、データベース(以下、単に「DB」とも呼ぶ)やファイルサーバ等ネットワーク上でデータを蓄積する装置(以下、「データ蓄積装置」とも呼ぶ)には様々なデータが保存される。 2. Description of the Related Art Conventionally, various data are stored in a data storage device (hereinafter also referred to as a "data storage device") such as a database (hereinafter simply referred to as "DB") or a file server on a network.

例えば、DBやファイルサーバ等に保存されているデータが土地の権利書等ビジネス上重要な文書データであった場合、それらの内容が悪意のある外部侵入者に改ざんされるとビジネス上大きな損害が発生するおそれがある。そのため、DBやファイルサーバにおいて、特にビジネス上重要な文書については、改ざん(不正なデータ更新)がされているか否かをチェック可能な構成とすることが望ましい。 For example, if the data stored in a database, file server, etc. is business-critical document data such as land deeds, if the contents are tampered with by a malicious outsider, it will cause great damage to the business. It may occur. Therefore, it is desirable that a DB or a file server be configured to check whether or not documents important for business in particular have been falsified (unauthorized data update).

従来、DBにおいて、データ改ざんをチェックする技術として特許文献1の記載技術が存在する。 Conventionally, there is a technique described in Patent Document 1 as a technique for checking falsification of data in a DB.

従来手法では、DBの所定のデータを更新する際にはデータのハッシュ値をダイジェス卜として計算してブロックチェーン(以下、単に「BC」とも呼ぶ)に保存し、読み出す際には該当のデータのBC上のハッシュ値と読み出そうとするデータのハッシュ値を比較することでデータが改ざんされていないかどうかをチェックする。従来手法では、以上のような処理により読み出し時にデータの改ざんを検知できる。 In the conventional method, when updating predetermined data in the DB, the hash value of the data is calculated as a digest and stored in a blockchain (hereinafter also simply referred to as “BC”), and when reading it, the corresponding data By comparing the hash value on the BC with the hash value of the data to be read, it is checked whether the data has been tampered with. According to the conventional method, falsification of data can be detected at the time of reading by the above processing.

特許文献1に記載されたシステムでは、ダイジェスト情報(例えば、ハッシュ値)をブロックチェーの構造で高信頼に保存する機能に対応するブロックチェーンと、ユーザデータを保存する機能を備えるデータベースと、データベースからのデータの読み出し/書き込みを要求するユーザ(ユーザ端末)と、これらの装置の間を取り持つWebサーバとを有している。そして、特許文献1に記載されたWebサーバは、ユーザからデータベースへの書き込み要求を受け付けてデータベースに保存する機能と、データのダイジェスト情報を作成してブロックチェーンへ保存する機能に対応している。また、特許文献1に記載されたWebサーバは、ユーザからデータベースのデータの参照要求があった場合、データベースのデータとブロックチェーンのダイジェスト情報とを比較することで、データベースのデータの改ざんの有無を判断している。 In the system described in Patent Document 1, a block chain corresponding to the function of storing digest information (e.g., hash value) in a block chain structure with high reliability, a database equipped with a function of storing user data, and from the database It has a user (user terminal) who requests reading/writing of data from and a Web server which mediates between these devices. The Web server described in Patent Literature 1 supports a function of accepting a request to write to a database from a user and storing it in the database, and a function of creating digest information of data and storing it in a blockchain. In addition, the web server described in Patent Document 1 compares the database data with the digest information of the blockchain when there is a request to refer to the database data from the user, thereby checking whether the database data has been tampered with. Deciding.

以上のように、従来では、ブロックチェーンを用いてデータベースのデータ改ざん検査を実現している。 As described above, conventionally, data falsification inspection of databases is realized using blockchain.

特開2017-207979号公報JP 2017-207979 A

しかしながら、従来のブロックチェーンを用いたデータベースの改ざん検査方式では、例えば、データベース上のデータが改ざんされた後、読み出しが発生するまでの間に、改ざんされたデータに対する再書き込みがあると、ブロックチェーンに再書き込み時のダイジェスト情報が保存されるため、検知できない改ざんが発生し得る。 However, in a conventional database tampering inspection method using a blockchain, for example, after the data on the database is tampered with, if the tampered data is rewritten before it is read, the blockchain Since the digest information at the time of rewriting is stored in , undetectable tampering can occur.

そのため、より確実にデータ蓄積装置(例えば、データベースやファイルサーバ等)のデータ改ざんを検知することができるデータ処理装置、データ処理プログラム、データ処理方法、及びデータ処理システムが望まれている。 Therefore, a data processing device, a data processing program, a data processing method, and a data processing system capable of more reliably detecting falsification of data in a data storage device (for example, database, file server, etc.) are desired.

第1の本発明のデータ処理装置は、(1)データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、(2)前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、(3)前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段とを備え、(4)前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行い、(5)前記ブロックチェーンアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、更新後の前記対象データを前記変換処理した検査データを前記ブロックチェーンデータに書き込み、(6)外部のユーザ端末から前記データ蓄積装置上の前記対象データの更新要求を受け付ける更新要求受付手段と、(7)前記ユーザ端末に対して認証処理を行う認証処理手段とをさらに備え、(8)前記データアクセス手段は、前記認証処理手段により認証成功した前記ユーザ端末から要求された前記対象データの更新要求のみを実行し、(9)前記ブロックチェーンアクセス手段は、更新後の前記対象データを前記変換処理した検査データに、前記ユーザ端末を使用するユーザを特定可能なユーザ特定情報を、当該検査データを更新したユーザに関する情報として付加したデータを前記ブロックチェーンデータに書き込むことを特徴とする。
A data processing apparatus according to a first aspect of the present invention comprises: (1) data access means for accessing a data storage device and processing data on the data storage device; (3) a block chain access means for accessing the block chain data in which the inspection data obtained by the conversion process is recorded in a block chain structure and processing the inspection data on the block chain data; , when attempting to update the target data on the data storage device, the result of comparison between the inspection data obtained by the conversion processing of the target data before updating and the inspection data corresponding to the target data on the blockchain data. (4) the data access means, when the tampering verification means determines that the target data has not been tampered with, the target data and (5) when the tampering verification means determines that the target data has not been tampered with, the blockchain access means transmits the inspection data obtained by converting the updated target data to the blockchain. (6) update request receiving means for receiving a request to update the target data on the data storage device from an external user terminal; and (7) authentication processing means for performing authentication processing on the user terminal. (8) the data access means executes only an update request for the target data requested by the user terminal that has been successfully authenticated by the authentication processing means; to the inspection data obtained by the conversion processing of the target data, and adding user identification information that can identify the user who uses the user terminal as information related to the user who updated the inspection data, into the blockchain data. characterized by

第2の本発明のデータ処理プログラムは、コンピュータを、(1)データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、(2)前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、(3)前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段として機能させ、(4)前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行い、(5)前記ブロックチェーンアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、更新後の前記対象データを前記変換処理した検査データを前記ブロックチェーンデータに書き込み、(6)前記コンピュータを、外部のユーザ端末から前記データ蓄積装置上の前記対象データの更新要求を受け付ける更新要求受付手段と、(7)前記ユーザ端末に対して認証処理を行う認証処理手段としてさらに機能させ、(8)前記データアクセス手段は、前記認証処理手段により認証成功した前記ユーザ端末から要求された前記対象データの更新要求のみを実行し、(9)前記ブロックチェーンアクセス手段は、更新後の前記対象データを前記変換処理した検査データに、前記ユーザ端末を使用するユーザを特定可能なユーザ特定情報を、当該検査データを更新したユーザに関する情報として付加したデータを前記ブロックチェーンデータに書き込むことを特徴とする。
A data processing program according to a second aspect of the present invention provides a computer with (1) data access means for accessing a data storage device and processing data on the data storage device; (3) Blockchain access means for accessing blockchain data in which inspection data obtained by performing a predetermined conversion process is recorded in a blockchain structure, and processing the inspection data on the blockchain data; When the access means attempts to update the target data on the data storage device, the inspection data obtained by converting the target data before update and the inspection data corresponding to the target data on the blockchain data (4) when the data access means determines that the target data has not been tampered with, (5) when the tampering verification means determines that the target data has not been tampered with, the blockchain access means converts the updated target data into inspection data; to the blockchain data, (6) update request receiving means for receiving a request to update the target data on the data storage device from an external user terminal, and (7) authenticating the user terminal (8) the data access means executes only an update request for the target data requested by the user terminal that has been successfully authenticated by the authentication processing means; (9) the The blockchain access means adds user identification information capable of identifying a user who uses the user terminal to the inspection data obtained by converting the updated target data as information related to the user who updated the inspection data. is written to the blockchain data .

第3の本発明は、データ処理装置が行うデータ処理方法において、(1)前記データ処理装置は、データアクセス手段、ブロックチェーンアクセス手段、及び改ざん検証手段、更新要求受付手段及び認証処理手段を備え、(2)前記データアクセス手段は、データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理し、(3)前記ブロックチェーンアクセス手段は、前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理し、(4)前記改ざん検証手段は、前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証し、(5)前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行い、(6)前記ブロックチェーンアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、更新後の前記対象データを前記変換処理した検査データを前記ブロックチェーンデータに書き込み、(7)前記更新要求受付手段は、外部のユーザ端末から前記データ蓄積装置上の前記対象データの更新要求を受け付け、(8)前記認証処理手段は、前記ユーザ端末に対して認証処理を行い、(9)前記データアクセス手段は、前記認証処理手段により認証成功した前記ユーザ端末から要求された前記対象データの更新要求のみを実行し、(10)前記ブロックチェーンアクセス手段は、更新後の前記対象データを前記変換処理した検査データに、前記ユーザ端末を使用するユーザを特定可能なユーザ特定情報を、当該検査データを更新したユーザに関する情報として付加したデータを前記ブロックチェーンデータに書き込むことを特徴とする。 A third aspect of the present invention is a data processing method performed by a data processing device, wherein: (1) the data processing device comprises data access means, blockchain access means, falsification verification means , update request reception means, and authentication processing means ; (2) the data access means accesses a data storage device and processes data on the data storage device; (3) the blockchain access means performs a predetermined conversion of the data on the data storage device; (4) the tampering verification means accesses the block chain data obtained by processing and records the inspection data in the structure of the block chain, and processes the inspection data on the block chain data; , when attempting to update the target data on the data storage device, the result of comparison between the inspection data obtained by the conversion processing of the target data before updating and the inspection data corresponding to the target data on the blockchain data. (5) when the falsification verification means determines that the target data has not been falsified, the data access means updates the target data ; 6) When the tampering verification means determines that the target data has not been tampered with, the blockchain access means writes inspection data obtained by converting the updated target data into the blockchain data, and (7) (8) the authentication processing means performs authentication processing on the user terminal; ) The data access means executes only an update request for the target data requested by the user terminal that has been successfully authenticated by the authentication processing means; Data obtained by adding user identification information that can identify a user who uses the user terminal to the converted test data as information about the user who updated the test data is written in the blockchain data .

第4の本発明は、データ蓄積装置と、ブロックチェーンの構造で記録されたブロックチェーンデータを保持するブロックチェーンシステムと、データ処理装置とを備えるデータ処理システムにおいて、前記データ処理装置として第1の本発明のデータ処理装置を適用したことを特徴とする。 A fourth aspect of the present invention provides a data processing system comprising a data storage device, a blockchain system for holding blockchain data recorded in a blockchain structure, and a data processing device, wherein the data processing device comprises: It is characterized by applying the data processing apparatus of the present invention.

本発明によれば、より確実にデータ蓄積装置のデータ改ざんを検知することができる。 According to the present invention, falsification of data in a data storage device can be detected more reliably.

実施形態に係るWebサーバ(データ処理装置)の機能的構成について示したブロック図である。1 is a block diagram showing the functional configuration of a web server (data processing device) according to an embodiment; FIG. 実施形態に係るデータ処理システムの全体構成の例について示したブロック図である。1 is a block diagram showing an example of the overall configuration of a data processing system according to an embodiment; FIG. 実施形態に係るデータ処理システムの動作について示したシーケンス図(その1)である。FIG. 2 is a sequence diagram (part 1) showing the operation of the data processing system according to the embodiment; 実施形態に係るデータ処理システムの動作について示したシーケンス図(その2)である。2 is a sequence diagram (part 2) showing the operation of the data processing system according to the embodiment; FIG.

(A)主たる実施形態
以下、本発明によるデータ処理装置、データ処理プログラム、データ処理方法、及びデータ処理システムの一実施形態を、図面を参照しながら詳述する。この実施形態では、本発明のデータ処理装置を、Webサーバに適用する例について説明する。
(A) Main Embodiments Hereinafter, one embodiment of a data processing device, a data processing program, a data processing method, and a data processing system according to the present invention will be described in detail with reference to the drawings. In this embodiment, an example in which the data processing apparatus of the present invention is applied to a web server will be described.

(A-1)実施形態の構成
図2は、この実施形態のデータ処理システム1の全体構成を示すブロック図である。
(A-1) Configuration of Embodiment FIG. 2 is a block diagram showing the overall configuration of the data processing system 1 of this embodiment.

この実施形態の例において、データ処理システム1には、BCシステム10、Webサーバ20、DBサーバ30、及びユーザが使用するユーザ端末40が配置されている。なお、データ処理システム1を構成する各要素(装置)の数は限定されないものである。 In the example of this embodiment, the data processing system 1 includes a BC system 10, a Web server 20, a DB server 30, and a user terminal 40 used by a user. The number of elements (apparatuses) constituting the data processing system 1 is not limited.

データ処理システム1を構成する各装置は、ネットワークNに接続しているものとする。なお、ネットワークN内の構成や、各装置間の接続構成については限定されず、種々の構成を適用することができる。 It is assumed that each device constituting the data processing system 1 is connected to a network N. FIG. Note that the configuration within the network N and the connection configuration between each device are not limited, and various configurations can be applied.

DBサーバ30は、DB31を保持し、ユーザ(例えば、ユーザ端末40を操作するユーザ)の要求応じて、保持しているDB31のデータ処理(例えば、DB31のデータの読み込みや書き込み)を実行する装置である。図2では、DBサーバ30は1つの要素として図示しているが、複数の装置(コンピュータ)を用いて構成(例えば、分散型データベースとして構成)するようにしてもよい。DBサーバ30は、例えば、1又は複数のコンピュータにDB31を構成するミドルウェアやアプリケーションをインストールすることにより構成することができる。なお、後述するように、DBサーバ30は、Webサーバ20を介してユーザ(ユーザ端末40)からのデータアクセスを受け付ける。 The DB server 30 is a device that holds the DB 31 and performs data processing (for example, reading and writing data in the DB 31) in response to a request from a user (for example, a user operating the user terminal 40). is. Although the DB server 30 is illustrated as one element in FIG. 2, it may be configured using a plurality of devices (computers) (for example, configured as a distributed database). The DB server 30 can be configured, for example, by installing middleware and applications that configure the DB 31 in one or more computers. As will be described later, the DB server 30 receives data access from users (user terminals 40) via the Web server 20. FIG.

ユーザ端末40は、DBサーバ30が保持するDB31を利用するユーザが操作する端末である。ユーザ端末40は、Webサーバ20を介してDBサーバ30にアクセスする。この実施形態では、例えば、ユーザ端末40にインストールされたWebブラウザから、Webサーバ20経由でDBサーバ30にアクセスするものとして説明する。なお、ユーザ端末40の構成やユーザ端末40がDBサーバ30(DB31)にアクセスする手段については限定されないものである。 The user terminal 40 is a terminal operated by a user who uses the DB 31 held by the DB server 30 . The user terminal 40 accesses the DB server 30 via the web server 20 . In this embodiment, for example, a web browser installed in the user terminal 40 accesses the DB server 30 via the web server 20 . The configuration of the user terminal 40 and the means by which the user terminal 40 accesses the DB server 30 (DB 31) are not limited.

BCシステム10は、ブロックチェーン型のデータ構造を備えるBC11を処理するものである。BC11は、DB31を構成する各レコードの改ざんを検査するためのデータ(以下、「検査データ」とも呼ぶ)を含むデータがブロックチェーン構造となっているものである。この実施形態において、検査データは、検査対象であるDB31上のデータに所定の演算処理(例えば、ハッシュ関数等に基づく演算処理;以下、「ダイジェスト変換処理」と呼ぶ)を施してダイジェスト化したデータ(以下、単に、「ダイジェスト情報」と呼ぶ)であるものとする。BCシステム10は、BC11を保持し、外部からの要求に応じて、BC11のデータ追加(ブロックチェーンの構造に対する新たなデータ追加)や、BC11の提供(ブロックチェーンを構成するデータの提供)を行う。 The BC system 10 processes BC 11 having a blockchain type data structure. The BC 11 has a blockchain structure of data including data for inspecting falsification of each record constituting the DB 31 (hereinafter also referred to as “inspection data”). In this embodiment, the inspection data is data obtained by subjecting the data on the DB 31 to be inspected to predetermined arithmetic processing (for example, arithmetic processing based on a hash function; hereinafter referred to as "digest conversion processing") to digest data. (hereinafter simply referred to as “digest information”). The BC system 10 holds the BC 11, and in response to external requests, adds data to the BC 11 (adds new data to the block chain structure) and provides the BC 11 (provides data that constitutes the block chain). .

BCシステム10は、複数のコンピュータに、種々のブロックチェーン構造のデータを処理するミドルウェアやアプリケーションをインストールすることにより構成することができる。すなわち、BCシステム10が保持するBC11としては、種々のブロックチェーンのデータ構造を適用することができる。 The BC system 10 can be configured by installing middleware and applications for processing data of various blockchain structures in a plurality of computers. That is, as the BC 11 held by the BC system 10, data structures of various blockchains can be applied.

Webサーバ20は、ユーザ端末40からの接続(例えば、HTTPS等を用いたWeb接続)を受け付け、ユーザ端末40からの要求(リクエスト)に応じた処理を行い、その処理結果をユーザ端末40に返答する。 The web server 20 accepts a connection from the user terminal 40 (for example, a web connection using HTTPS or the like), performs processing according to a request from the user terminal 40, and returns the processing result to the user terminal 40. do.

Webサーバ20は、例えば、ユーザ端末40からDBサーバ30が保持するDB31へのデータ書き込みの要求を受け付けると、その要求に従ってDB31(要求に係るレコード)にデータ書き込みを試み、その結果をユーザ端末40に返答する。また、Webサーバ20は、例えば、ユーザ端末40からDBサーバ30が保持するDB31のデータ読み込みの要求を受け付けると、その要求に従ってDB31(要求に係るレコード)のデータを読み込み、読み込んだ結果を、ユーザ端末40に返答する。 For example, upon receiving a request from the user terminal 40 to write data to the DB 31 held by the DB server 30, the Web server 20 attempts to write data to the DB 31 (requested record) in accordance with the request, and writes the result to the user terminal 40. reply to Further, for example, upon receiving a request from the user terminal 40 to read data from the DB 31 held by the DB server 30, the Web server 20 reads data from the DB 31 (requested record) according to the request, and sends the read result to the user. The terminal 40 is answered.

Webサーバ20は、DB31へのデータ書き込みを行おうとする際には、BCシステム10が保持するBC11を用いてデータ改ざんの有無を検証(確認)し、データ改ざんがないと確認された場合にのみ、そのデータ書き込みを実行する。この実施形態において、Webサーバ20によるDB31への「データ書き込み」には、DB31への新規のデータ追加処理だけでなく、DB31上に既に記録されているデータの更新(上書き)の処理も含むものとする。また、Webサーバ20は、DB31から読み込んだデータについて、BCシステム10が保持するBC11を用いてデータ改ざんの有無を検証(確認)し、データ改ざんがないと確認された場合にのみ、ユーザ(例えば、ユーザ端末40)に提供する。また、Webサーバ20は、DB31へのデータ書き込みを行う際に、BCシステム10に、DB31に書き込むデータの改ざんを検査するためのデータ追加(ブロックチェーンへのデータ追加)を行う。 When attempting to write data to the DB 31, the Web server 20 verifies (confirms) whether or not data has been falsified using the BC 11 held by the BC system 10, and only when it is confirmed that there has been no data falsification. , perform its data write. In this embodiment, "writing data" to the DB 31 by the Web server 20 includes not only processing for adding new data to the DB 31, but also processing for updating (overwriting) data already recorded on the DB 31. . In addition, the Web server 20 verifies (confirms) whether or not the data read from the DB 31 has been falsified using the BC 11 held by the BC system 10, and only when it is confirmed that the data has not been falsified, the user (for example , to the user terminal 40). Further, when writing data to the DB 31 , the Web server 20 adds data to the BC system 10 (adds data to the block chain) for checking falsification of the data written to the DB 31 .

以上のように、Webサーバ20は、BCシステム10が保持するBC11を用いてデータ改ざんの有無を検証して、データ改ざんが行われていないと確認できた場合にのみ、DB31上のデータについて処理(データの書き込みやユーザ端末40への提供)する。 As described above, the Web server 20 verifies the presence or absence of data falsification using the BC 11 held by the BC system 10, and processes the data on the DB 31 only when it is confirmed that the data has not been falsified. (data writing and provision to the user terminal 40).

次に、Webサーバ20の内部構成について、図1を用いて説明する。 Next, the internal configuration of the web server 20 will be explained using FIG.

Webサーバ20は、制御部21、DB更新部22、DB参照部23、BCダイジェストチェック部24、BC書き込み部25、及び電子署名検証部26を有している。 The web server 20 has a control section 21 , a DB update section 22 , a DB reference section 23 , a BC digest check section 24 , a BC writing section 25 and an electronic signature verification section 26 .

Webサーバ20は、例えば、PCやワークステーション等のコンピュータにプログラム(実施形態に係るデータ処理プログラムを含む)をインストールすることで構成するようにしてもよい。 The Web server 20 may be configured by installing a program (including the data processing program according to the embodiment) in a computer such as a PC or workstation, for example.

DB更新部22は、制御部21制御に応じて、DBサーバ30にアクセスしてDB31へのデータ書き込みを行うものである。DB更新部22は、DBサーバ30のDB31にアクセスし、DB31へのデータ書き込みの処理を行う。 The DB update unit 22 accesses the DB server 30 and writes data to the DB 31 under the control of the control unit 21 . The DB update unit 22 accesses the DB 31 of the DB server 30 and writes data to the DB 31 .

DB参照部23は、制御部21制御に応じて、DBサーバ30のDB31にアクセスして、データの読み込みを行うものである。DB参照部23は、制御部21の制御に応じて、DBサーバ30のDB31にアクセスし、DB31のデータ参照(読み込み)の処理を行う。 The DB reference unit 23 accesses the DB 31 of the DB server 30 and reads data under the control of the control unit 21 . The DB reference unit 23 accesses the DB 31 of the DB server 30 under the control of the control unit 21 and performs data reference (reading) processing of the DB 31 .

BC書き込み部25は、制御部21制御に応じて、新たなダイジェスト情報を生成してBCシステム10(BC11)に追加させるものである。BC書き込み部25は、DB更新部22がDB31に書き込むデータに所定の演算処理を施してダイジェスト情報を取得し、取得したダイジェスト情報をBCシステム10(BC11)に追加させる処理を行う。 The BC writing unit 25 generates new digest information and adds it to the BC system 10 (BC11) under the control of the control unit 21 . The BC writing unit 25 acquires digest information by subjecting the data written by the DB updating unit 22 to the DB 31 to predetermined arithmetic processing, and adds the acquired digest information to the BC system 10 (BC 11).

BCダイジェストチェック部24は、制御部21の制御に応じて、DBサーバ30(DB31)上のデータと、BCシステム10(BC11)上の当該データに対応するダイジェスト情報とを比較(照合)して改ざんの有無を検査するものである。以下では、BCダイジェストチェック部24で検査対象となっているデータを「検査対象データ」と呼ぶものとする。以下では、BCダイジェストチェック部24が、検体対象データの検査のためにBCシステム10(BC11)から読み込んだダイジェスト情報を「検査用ダイジェスト情報」と呼ぶものとする。 The BC digest check unit 24 compares (collates) the data on the DB server 30 (DB31) with the digest information corresponding to the data on the BC system 10 (BC11) under the control of the control unit 21. This is to inspect whether or not there is falsification. Data to be inspected by the BC digest check unit 24 is hereinafter referred to as "inspection data". Hereinafter, the digest information read by the BC digest check unit 24 from the BC system 10 (BC11) for inspection of sample target data is referred to as "inspection digest information".

電子署名検証部26は、制御部21制御に応じて、制御部21制御に応じて、ユーザ端末40から供給された認証データ(例えば、電子証明書に基づく認証データ)に基づく検証処理(認証データが正当な電子署名に基づいた正当なデータであるか否かの検証)を行う。 The electronic signature verification unit 26 performs verification processing (authentication data is valid data based on a valid electronic signature).

制御部21は、Webサーバ20の処理(Webサービス全体の処理)全体を制御するものである。制御部21は、ユーザ端末40との通信や、他の構成要素の制御の処理等を行う。制御部21は、DB31上のデータについて、BCダイジェストチェック部24により、データ改ざんが行われていないと確認できた場合にのみ処理(例えば、データの書き込みやユーザ端末40への提供)を実行すると判断する。 The control unit 21 controls the entire processing of the web server 20 (processing of the entire web service). The control unit 21 performs communication with the user terminal 40, control processing of other components, and the like. The control unit 21 executes processing (for example, writing data or providing it to the user terminal 40) only when the BC digest check unit 24 confirms that the data on the DB 31 has not been falsified. to decide.

次に、この実施形態におけるDB31とBC11の構成例について説明する。 Next, configuration examples of the DB 31 and BC 11 in this embodiment will be described.

DB31の具体的な構造については限定されないものであるが、この実施形態の例では、DB31では、所定のデータ単位(以下、「レコード」と呼ぶ)で処理が可能な構造となっているものとする。1つのレコードにはDB31上でそのレコードを一意に識別するためのキー情報(例えば、DB31上の主キーや、DB31上でレコードを特定可能なID)を含むN個(Nは2以上の整数)の項目(カラム)のデータが含まれているものとする。レコードを構成するデータの形式は限定されないものであり種々の形式のデータ(例えば、数値、文字列、文書データ、画像データ等)を適用することができる。 Although the specific structure of the DB 31 is not limited, in the example of this embodiment, the DB 31 is assumed to have a structure that allows processing in predetermined data units (hereinafter referred to as "records"). do. One record contains N pieces of key information (for example, a primary key on the DB 31 or an ID that can identify the record on the DB 31) for uniquely identifying the record on the DB 31 (N is an integer of 2 or more). ) items (columns) are included. The format of the data that constitutes the record is not limited, and data of various formats (for example, numerical values, character strings, document data, image data, etc.) can be applied.

そして、上述の通り、BC11は、DB31を構成する各レコードの改ざんを検査するための検査データを含むデータがブロックチェーンの構造となっている。例えば、BC11を構成する各データには、少なくともダイジェスト情報と当該ダイジェスト情報に対応するDB31上のレコードを特定するためのキー情報を含む構成としてもよい。BCダイジェストチェック部24は、検査対象データのキー情報に基づいて、検査対象データに対応するダイジェスト情報をBC11から取得することができる。 As described above, the BC 11 has a block chain structure of data including inspection data for inspecting falsification of each record constituting the DB 31 . For example, each data constituting the BC 11 may include at least digest information and key information for specifying a record on the DB 31 corresponding to the digest information. The BC digest check unit 24 can acquire the digest information corresponding to the inspection target data from the BC 11 based on the key information of the inspection target data.

なお、DB31上で1つのデータが1回以上更新された場合、BC11には、1つのキー情報に対応するデータ(ダイジェスト情報)が複数登録されることになる。したがって、この場合、BCダイジェストチェック部24は、1つのキー情報に対応する複数のデータ(BC11上のデータ)のうち、最もタイムスタンプが新しいデータを取得する必要がある。例えば、BCダイジェストチェック部24は、BC11上で最もタイムスタンプが最も新しいデータから順にキー情報に対応するデータ(ダイジェスト情報)を検索するようにしてもよい。 If one piece of data is updated once or more on the DB 31, a plurality of pieces of data (digest information) corresponding to one piece of key information will be registered in the BC 11. FIG. Therefore, in this case, the BC digest check unit 24 needs to acquire the data with the latest time stamp among the plurality of data (data on the BC 11) corresponding to one piece of key information. For example, the BC digest check unit 24 may search for data (digest information) corresponding to key information in order from the data with the newest time stamp on the BC 11 .

(A-2)実施形態の動作
次に、以上のような構成を有するこの実施形態のデータ処理システム1の動作(実施形態に係るデータ処理方法)を説明する。
(A-2) Operation of Embodiment Next, the operation (data processing method according to the embodiment) of the data processing system 1 of the embodiment having the configuration described above will be described.

図3は、この実施形態のデータ処理システム1の動作例について示したシーケンス図である。図3では、Webサーバ20によるDBサーバ30(DB31)へのデータ書き込み時及びデータ読み込み時の処理について示している。 FIG. 3 is a sequence diagram showing an operation example of the data processing system 1 of this embodiment. FIG. 3 shows processing when the Web server 20 writes data to and reads data from the DB server 30 (DB 31).

ここでは、まず、ユーザ端末40から、Webサーバ20(制御部21)に、DB31へのデータの書き込み要求があったものとする(S101)。ここでは、Webサーバ20(制御部21)には、ユーザ端末40から、DBサーバ30(DB31)に既に登録されたデータの更新要求があったものとする。 Here, first, it is assumed that the user terminal 40 requests the Web server 20 (control unit 21) to write data to the DB 31 (S101). Here, it is assumed that the Web server 20 (control unit 21) receives a request from the user terminal 40 to update data already registered in the DB server 30 (DB 31).

Webサーバ20の制御部21は、ユーザ端末40からデータの書き込み要求があると、まず要求元のユーザ端末40に対して電子署名に基づく認証データ(電子署名を用いた認証データであればその具体的な形式は限定されない)の送信を要求する(S102)。ここでは、ユーザ端末40は、Webサーバ20(制御部21)の要求に応じて保持している電子署名に基づく認証データを生成して、Webサーバ20(制御部21)に送信したものとする(S103)。 When there is a data write request from the user terminal 40, the control unit 21 of the Web server 20 first sends the authentication data based on the electronic signature to the requesting user terminal 40. format is not limited) (S102). Here, it is assumed that the user terminal 40 generates authentication data based on the retained electronic signature in response to a request from the web server 20 (control unit 21), and transmits the authentication data to the web server 20 (control unit 21). (S103).

そして、Webサーバ20の制御部21は、ユーザ端末40から供給された認証データを電子署名検証部26に供給し、電子署名検証部26に当該認証データに基づく認証処理(送信元であるユーザ端末40のユーザが信頼できるユーザであるか否かを確認する処理;電子署名を用いた認証処理であればその具体的な形式は限定されない)を実行させる(S104)。Webサーバ20の制御部21は、電子署名検証部26による認証結果が認証失敗(認証NG)であった場合には、ユーザ端末40からの要求を拒否し、電子署名検証部26による認証結果が認証成功(認証OK)であった場合には、以後のステップの処理によりユーザ端末40から要求された処理を続行する。ここでは、電子署名検証部26による認証結果が認証成功(認証OK)であったものとして以後の説明を行う。 Then, the control unit 21 of the Web server 20 supplies the authentication data supplied from the user terminal 40 to the electronic signature verification unit 26, and causes the electronic signature verification unit 26 to perform authentication processing based on the authentication data. A process of confirming whether or not the user 40 is a trustworthy user; the specific format is not limited as long as the authentication process uses an electronic signature) is executed (S104). If the authentication result by the electronic signature verification unit 26 is authentication failure (authentication NG), the control unit 21 of the Web server 20 rejects the request from the user terminal 40 and confirms that the authentication result by the electronic signature verification unit 26 is If the authentication is successful (authentication OK), the process requested by the user terminal 40 is continued by the process of the subsequent steps. In the following description, it is assumed that the authentication result by the electronic signature verification unit 26 is authentication success (authentication OK).

なお、Webサーバ20とユーザ端末40との間でやりとりされる認証データは、電子署名に基づくデータであれば良い。さらに、Webサーバ20とユーザ端末40との間の認証方式や認証データの形式については限定されないものであり、ワンタイムパスワードを用いた認証処理等、種々の認証方式を適用することができる。 Authentication data exchanged between the Web server 20 and the user terminal 40 may be data based on an electronic signature. Furthermore, the authentication method between the Web server 20 and the user terminal 40 and the format of the authentication data are not limited, and various authentication methods such as authentication processing using a one-time password can be applied.

次に、Webサーバ20の制御部21は、BCダイジェストチェック部24に、書き込み対象(更新対象)のデータが改ざんされているか否かの検査を実行させる(S105、S106、S107)。具体的には、BCダイジェストチェック部24は、DB参照部23を介してDBサーバ30(DB31)で、書き込み対象となっている検査対象データを読み込んでダイジェスト変換処理を行ってダイジェスト情報を得る。また、BCダイジェストチェック部24は、BCシステム10(BC11)から、書き込み対象のデータに対応する検査用ダイジェスト情報を読み込み、検査対象データのダイジェスト情報と比較(照合)する。BCダイジェストチェック部24は、生成した検査対象データのダイジェスト情報と、BCシステム10(BC11)から読み込んだ検査用ダイジェスト情報とが同一であった場合には検査対象データの改ざんは無かった旨の検査結果を出力し、検査対象のダイジェスト情報と検査用ダイジェスト情報とが異なる場合には、検査対象データの改ざんがあった旨の検査結果を出力する。 Next, the control unit 21 of the web server 20 causes the BC digest check unit 24 to check whether or not the data to be written (updated) has been tampered with (S105, S106, S107). Specifically, the BC digest check unit 24 reads the inspection target data to be written in the DB server 30 (DB 31) via the DB reference unit 23, performs digest conversion processing, and obtains digest information. The BC digest check unit 24 also reads inspection digest information corresponding to data to be written from the BC system 10 (BC 11) and compares (verifies) it with the digest information of the data to be inspected. The BC digest check unit 24 checks that the inspection target data has not been falsified when the digest information of the inspection target data generated and the inspection digest information read from the BC system 10 (BC 11) are the same. A result is output, and if the digest information to be inspected and the digest information for inspection are different, an inspection result indicating that the data to be inspected has been falsified is output.

Webサーバ20の制御部21は、BCダイジェストチェック部24による検査結果が改ざん有り(検査対象データの改ざん有り;検査NG)であった場合には、以後の処理を中止し、BCダイジェストチェック部24による検査結果が改ざん無し(検査対象データの改ざん無し;検査OK)であった場合には、以後のステップの処理によりユーザ端末40から要求された処理を続行する。ここでは、BCダイジェストチェック部24による検査結果が改ざん無し(検査OK)であったものとして以後の説明を行う。 If the inspection result by the BC digest check unit 24 indicates that there has been falsification (falsification of data to be inspected; inspection NG), the control unit 21 of the Web server 20 stops the subsequent processing, and the BC digest check unit 24 If the inspection result is no falsification (no falsification of data to be inspected; inspection OK), the processing requested by the user terminal 40 is continued by the processing of the subsequent steps. In the following description, it is assumed that the result of inspection by the BC digest check unit 24 is no falsification (inspection OK).

次に、検査対象データの改ざん無し(検査OK)の検査結果を得ると、Webサーバ300の制御部21は、BC書き込み部25を制御して、ユーザ端末40から要求されたDB31へのデータ書き込みを実行した場合における書き込み後のデータ(以下、「書き込み後データ」と呼ぶ)をダイジェスト変換処理してダイジェスト情報を生成させ、BCシステム10のBC11に書き込みさせる(S108)。 Next, when obtaining the inspection result that there is no falsification of the inspection target data (inspection OK), the control unit 21 of the Web server 300 controls the BC writing unit 25 to write the data to the DB 31 requested by the user terminal 40. is executed (hereinafter referred to as "post-write data") is digest-converted to generate digest information, which is written to the BC 11 of the BC system 10 (S108).

また、検査対象データの改ざん無し(検査OK)の検査結果を得ると、Webサーバ300の制御部21は、DB更新部22を制御して、ユーザ端末40から要求されたDB31へのデータ書き込みを実行させる(S109)。 Further, upon obtaining the inspection result that the data to be inspected has not been falsified (inspection OK), the control unit 21 of the Web server 300 controls the DB update unit 22 to write data to the DB 31 requested by the user terminal 40. Execute (S109).

そして、Webサーバ300の制御部21は、ユーザ端末40に対して、データ書き込みの結果(書き込み成功又は失敗)を通知する(S110)。ここでは、Webサーバ300の制御部21は、ユーザ端末40に対して、データ書き込みの結果として「書き込み成功」を通知する。 Then, the control unit 21 of the Web server 300 notifies the user terminal 40 of the data write result (write success or failure) (S110). Here, the control unit 21 of the Web server 300 notifies the user terminal 40 of "writing success" as a result of data writing.

以上の処理により、データ処理システム1では、DBサーバ30(DB31)に対するデータ書き込みが実行される。 By the above processing, in the data processing system 1, data is written to the DB server 30 (DB 31).

そして、その後、ユーザ端末40から、Webサーバ20(制御部21)に、DB31へのデータの読み込み要求があったものとする(S201)。なお、Webサーバ20とユーザ端末40との間でデータの読み込み時にもデータ書き込み時と同様に電子署名等を用いた認証処理を実行するようにしてもよい。 After that, it is assumed that the user terminal 40 requests the Web server 20 (control unit 21) to read data into the DB 31 (S201). It should be noted that authentication processing using an electronic signature or the like may be executed between the Web server 20 and the user terminal 40 when data is read in the same manner as when data is written.

次に、Webサーバ20の制御部21は、BCダイジェストチェック部24に、読込対象(参照対象)のデータが改ざんされているか否かの検査を実行させる(S202、S203、S204、S205)。 Next, the control unit 21 of the web server 20 causes the BC digest check unit 24 to check whether or not the data to be read (referenced) has been tampered with (S202, S203, S204, S205).

具体的には、BCダイジェストチェック部24は、DB参照部23を介してDBサーバ30(DB31)で、読み込み対象となっている検査対象データを読み込んで(S202)ダイジェスト変換処理を行ってダイジェスト情報を得る(S203)。また、BCダイジェストチェック部24は、BCシステム10(BC11)から、読み込み対象のデータに対応する検査用ダイジェスト情報を読み込み(S204)、検査対象データのダイジェスト情報と比較(照合)する(S205)。BCダイジェストチェック部24は、生成した検査対象データのダイジェスト情報と、BCシステム10(BC11)から読み込んだ検査用ダイジェスト情報とが同一であった場合には検査対象データの改ざんは無かった旨の検査結果を出力し、検査対象のダイジェスト情報と検査用ダイジェスト情報とが異なる場合には、検査対象データの改ざんがあった旨の検査結果を出力する。 Specifically, the BC digest check unit 24 reads the inspection target data to be read from the DB server 30 (DB 31) via the DB reference unit 23 (S202) and performs digest conversion processing to obtain digest information. is obtained (S203). Also, the BC digest check unit 24 reads inspection digest information corresponding to the data to be read from the BC system 10 (BC11) (S204), and compares (collates) it with the digest information of the inspection target data (S205). The BC digest check unit 24 checks that the inspection target data has not been falsified when the digest information of the inspection target data generated and the inspection digest information read from the BC system 10 (BC 11) are the same. A result is output, and if the digest information to be inspected and the digest information for inspection are different, an inspection result indicating that the data to be inspected has been falsified is output.

Webサーバ20の制御部21は、BCダイジェストチェック部24による検査結果が改ざん有り(検査対象データの改ざん有り;検査NG)であった場合には、以後の処理を中止し、BCダイジェストチェック部24による検査結果が改ざん無し(検査対象データの改ざん無し;検査OK)であった場合には、以後のステップの処理によりユーザ端末40から要求されたデータの読み込み処理を続行する。ここでは、BCダイジェストチェック部24による検査結果が改ざん無し(検査OK)であったものとして以後の説明を行う。 If the inspection result by the BC digest check unit 24 indicates that there has been falsification (falsification of data to be inspected; inspection NG), the control unit 21 of the Web server 20 stops the subsequent processing, and the BC digest check unit 24 If the inspection result is no falsification (no falsification of data to be inspected; inspection OK), the process of reading the data requested from the user terminal 40 is continued in the subsequent steps. In the following description, it is assumed that the result of inspection by the BC digest check unit 24 is no falsification (inspection OK).

検査対象データの改ざん無し(検査OK)の検査結果を得ると、Webサーバ300の制御部21は、ユーザ端末40から読み込みを要求されたデータ(DB参照部23が読み込んだデータ)を、ユーザ端末40に送信(返答)する処理を行う(S206)。 After obtaining the inspection result that the inspection target data is not falsified (inspection OK), the control unit 21 of the Web server 300 reads the data requested by the user terminal 40 (the data read by the DB reference unit 23) to the user terminal. 40 (S206).

以上の処理により、データ処理システム1では、DBサーバ30(DB31)からのデータ読み込みが実行される。 With the above processing, the data processing system 1 reads data from the DB server 30 (DB 31).

(A-3)施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
(A-3) Effects of Embodiment According to this embodiment, the following effects can be obtained.

この実施形態のデータ処理システム1では、DB31に対して不正な改ざんがあった後、読み出される前に続けて書き込みがあった場合でも、Webサーバ20で改ざんを発見できる。また、Webサーバ20において、書き込み時に電子署名に基づく認証処理を要求することで信頼できないユーザの書き込みも防止できる。 In the data processing system 1 of this embodiment, even if the DB 31 is illegally tampered with and subsequently written before being read, the tampering can be detected by the Web server 20 . In addition, in the Web server 20, by requesting authentication processing based on an electronic signature at the time of writing, it is possible to prevent writing by an untrusted user.

(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B) Other Embodiments The present invention is not limited to the above-described embodiments, and modified embodiments such as those exemplified below can also be mentioned.

(B-1)上記の実施形態では、本発明のデータ処理装置をDBサーバ30(DB31)のデータ処理を行うWebサーバ20に適用する例について説明したが、本発明のデータ処理装置が処理対象とするデータはDBに限定されず種々のデータ蓄積装置が蓄積するデータとしてもよい。例えば、本発明のデータ処理装置を、ファイルサーバ上のデータを処理する装置として構築するようにしてもよい。この場合、データ処理装置は、ファイルサーバ上のデータをファイル単位で処理(読み込み及び書き込み)し、各ファイルに対応するダイジェスト情報をBCに書き込むことになる。 (B-1) In the above embodiment, the example in which the data processing apparatus of the present invention is applied to the Web server 20 that processes the data of the DB server 30 (DB 31) has been described. The data to be used is not limited to the DB, and may be data stored in various data storage devices. For example, the data processing device of the present invention may be constructed as a device for processing data on a file server. In this case, the data processing device processes (reads and writes) data on the file server on a file-by-file basis, and writes digest information corresponding to each file to the BC.

(B-2)上記の実施形態では、本発明のデータ処理装置をWeb通信によりユーザ端末40からのデータ処理要求(DB31に対するデータ処理要求)を受け付けるWebサーバ20に適用する例について説明したが、ユーザ端末(ユーザ)からデータ処理要求を受け付ける方式はWeb通信に限定されず、種々のコマンド(例えば、シェルを用いたコマンド受付や、SQL文を用いたコマンド受付等)を用いた通信としてもよい。 (B-2) In the above embodiment, an example in which the data processing apparatus of the present invention is applied to the web server 20 that receives a data processing request (a data processing request to the DB 31) from the user terminal 40 via web communication has been described. The method of accepting data processing requests from user terminals (users) is not limited to Web communication, and communication using various commands (for example, command acceptance using a shell, command acceptance using SQL statements, etc.) may be used. .

(B-3)上記の実施形態において、BC書き込み部25が、BC11にダイジェスト情報を含むデータを書き込む(BC11に追加)する場合には、さらにユーザ端末40のユーザを特定可能な情報(以下、「ユーザ特定情報」と呼ぶ)を付加して書き込むようにしてもよい。言い換えると、BC11には、ダイジェスト情報とユーザ特定情報(すなわち、ユーザを特定したデータ更新履歴の情報)がセットで保存されることになる。ユーザ特定情報としては、例えば、ユーザ端末40の認証に用いた情報(例えば、認証に用いた電子署名、電子署名に基づくデータ、ユーザ名等)を用いることができる。 (B-3) In the above embodiment, when the BC writing unit 25 writes (adds to BC11) data including digest information to the BC11, information that can identify the user of the user terminal 40 (hereinafter referred to as (referred to as "user identification information") may be added and written. In other words, the BC 11 stores a set of digest information and user identification information (that is, data update history information identifying a user). As the user identification information, for example, information used for authentication of the user terminal 40 (for example, electronic signature used for authentication, data based on the electronic signature, user name, etc.) can be used.

これにより、BC11には、DB31上の各レコードに対応するダイジェスト情報(検査データ)だけでなく、ユーザを特定した更新履歴が保持されるため、正規ユーザによるデータ更新の履歴を保持することができる。言い換えると、正規ユーザにより不正なデータ更新を監視することが可能となる。従来手法ではデータを修正したユーザが誰かわからないので不正なデータ修正(=改ざん)があった場合、改ざんしたユーザの特定ができなかったが、上記の構成とすることで解決できる。 As a result, the BC 11 holds not only the digest information (inspection data) corresponding to each record on the DB 31, but also the update history specifying the user, so that the history of data update by authorized users can be held. . In other words, it becomes possible for authorized users to monitor unauthorized data updates. In the conventional method, the identity of the user who modified the data cannot be identified, so when there is unauthorized data modification (= falsification), the user who modified the data cannot be specified.

さらに、この場合、ユーザ特定情報も含めてBC11に保持されるので、更新履歴自体を改ざんすることがシステム管理者であっても困難となるため、正規ユーザに対する不正なデータ更新の抑止につながる。 Furthermore, in this case, since the BC 11 holds the information including the user identification information, it becomes difficult even for the system administrator to tamper with the update history itself, which leads to deterring unauthorized data updates for authorized users.

1…データ処理システム、10…BCシステム、11…BCデータ、20…Webサーバ、制御部21、22…DB更新部、23…DB参照部、24…BCダイジェストチェック部、25…BC書き込み部、26…電子署名検証部、30…DBサーバ、31…DB、40…ユーザ端末、N…ネットワーク。 1 Data processing system 10 BC system 11 BC data 20 Web server Control units 21, 22 DB update unit 23 DB reference unit 24 BC digest check unit 25 BC writing unit 26... electronic signature verification unit, 30... DB server, 31... DB, 40... user terminal, N... network.

Claims (6)

データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、
前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、
前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段とを備え、
前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行い、
前記ブロックチェーンアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、更新後の前記対象データを前記変換処理した検査データを前記ブロックチェーンデータに書き込み、
外部のユーザ端末から前記データ蓄積装置上の前記対象データの更新要求を受け付ける更新要求受付手段と、
前記ユーザ端末に対して認証処理を行う認証処理手段とをさらに備え、
前記データアクセス手段は、前記認証処理手段により認証成功した前記ユーザ端末から要求された前記対象データの更新要求のみを実行し、
前記ブロックチェーンアクセス手段は、更新後の前記対象データを前記変換処理した検査データに、前記ユーザ端末を使用するユーザを特定可能なユーザ特定情報を、当該検査データを更新したユーザに関する情報として付加したデータを前記ブロックチェーンデータに書き込む
ことを特徴とするデータ処理装置。
data access means for accessing a data storage device and processing data on the data storage device;
Blockchain access means for accessing blockchain data in which inspection data obtained by performing a predetermined conversion process on the data storage device is recorded in a blockchain structure, and processing the inspection data on the blockchain data. When,
When the data access means attempts to update target data on the data storage device, inspection data obtained by converting the target data before update and inspection corresponding to the target data on the blockchain data falsification verification means for verifying whether or not the target data has been falsified based on the result of comparison with the data;
The data access means updates the target data when the tampering verification means determines that the target data has not been tampered with,
When the tampering verification means determines that the target data has not been tampered with, the blockchain access means writes inspection data obtained by converting the updated target data into the blockchain data,
update request receiving means for receiving an update request for the target data on the data storage device from an external user terminal;
Further comprising authentication processing means for performing authentication processing on the user terminal,
The data access means executes only an update request for the target data requested by the user terminal that has been successfully authenticated by the authentication processing means,
The blockchain access means added user identification information capable of identifying a user who uses the user terminal to the inspection data obtained by converting the updated target data as information about the user who updated the inspection data. write data to said blockchain data
A data processing device characterized by:
前記認証処理手段は、電子署名を用いた認証処理を行うことを特徴とする請求項に記載のデータ処理装置。 2. The data processing apparatus according to claim 1 , wherein said authentication processing means performs authentication processing using an electronic signature. 前記ユーザ特定情報は、前記認証処理手段が認証処理の際に前記ユーザ端末から取得した認証情報又は前記認証情報に基づく情報であることを特徴とする請求項に記載のデータ処理装置。 2. The data processing apparatus according to claim 1 , wherein said user identification information is authentication information acquired from said user terminal during authentication processing by said authentication processing means or information based on said authentication information. コンピュータを、
データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、
前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、
前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段として機能させ、
前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行い、
前記ブロックチェーンアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、更新後の前記対象データを前記変換処理した検査データを前記ブロックチェーンデータに書き込み、
前記コンピュータを、外部のユーザ端末から前記データ蓄積装置上の前記対象データの更新要求を受け付ける更新要求受付手段と、
前記ユーザ端末に対して認証処理を行う認証処理手段としてさらに機能させ、
前記データアクセス手段は、前記認証処理手段により認証成功した前記ユーザ端末から要求された前記対象データの更新要求のみを実行し、
前記ブロックチェーンアクセス手段は、更新後の前記対象データを前記変換処理した検査データに、前記ユーザ端末を使用するユーザを特定可能なユーザ特定情報を、当該検査データを更新したユーザに関する情報として付加したデータを前記ブロックチェーンデータに書き込む
ことを特徴とするデータ処理プログラム。
the computer,
data access means for accessing a data storage device and processing data on the data storage device;
Blockchain access means for accessing blockchain data in which inspection data obtained by performing a predetermined conversion process on the data storage device is recorded in a blockchain structure, and processing the inspection data on the blockchain data. When,
When the data access means attempts to update target data on the data storage device, inspection data obtained by converting the target data before update and inspection corresponding to the target data on the blockchain data functioning as tampering verification means for verifying whether or not the target data has been tampered with based on the result of comparison with the data;
The data access means updates the target data when the tampering verification means determines that the target data has not been tampered with,
When the tampering verification means determines that the target data has not been tampered with, the blockchain access means writes inspection data obtained by converting the updated target data into the blockchain data,
update request receiving means for receiving a request to update the target data on the data storage device from an external user terminal;
further functions as authentication processing means for performing authentication processing on the user terminal;
The data access means executes only an update request for the target data requested by the user terminal that has been successfully authenticated by the authentication processing means,
The blockchain access means added user identification information capable of identifying a user who uses the user terminal to the inspection data obtained by converting the updated target data as information about the user who updated the inspection data. write data to said blockchain data
A data processing program characterized by:
データ処理装置が行うデータ処理方法において、
前記データ処理装置は、データアクセス手段、ブロックチェーンアクセス手段、及び改ざん検証手段、更新要求受付手段及び認証処理手段を備え、
前記データアクセス手段は、データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理し、
前記ブロックチェーンアクセス手段は、前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理し、
前記改ざん検証手段は、前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証し、
前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行い、
前記ブロックチェーンアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、更新後の前記対象データを前記変換処理した検査データを前記ブロックチェーンデータに書き込み、
前記更新要求受付手段は、外部のユーザ端末から前記データ蓄積装置上の前記対象データの更新要求を受け付け、
前記認証処理手段は、前記ユーザ端末に対して認証処理を行い、
前記データアクセス手段は、前記認証処理手段により認証成功した前記ユーザ端末から要求された前記対象データの更新要求のみを実行し、
前記ブロックチェーンアクセス手段は、更新後の前記対象データを前記変換処理した検査データに、前記ユーザ端末を使用するユーザを特定可能なユーザ特定情報を、当該検査データを更新したユーザに関する情報として付加したデータを前記ブロックチェーンデータに書き込む
ことを特徴とするデータ処理方法。
In the data processing method performed by the data processing device,
The data processing device comprises data access means, blockchain access means, falsification verification means , update request reception means, and authentication processing means ,
The data access means accesses a data storage device and processes data on the data storage device;
The block chain access means accesses the block chain data in which inspection data obtained by performing a predetermined conversion process on the data on the data storage device is recorded in a block chain structure, and accesses the inspection data on the block chain data. and
When the data access means attempts to update the target data on the data storage device, the falsification verification means performs the conversion processing of the target data before update and the inspection data on the blockchain data. verifying whether or not the target data has been tampered with based on the result of comparison with inspection data corresponding to the target data;
The data access means updates the target data when the tampering verification means determines that the target data has not been tampered with,
When the tampering verification means determines that the target data has not been tampered with, the blockchain access means writes inspection data obtained by converting the updated target data into the blockchain data,
the update request receiving means receives a request to update the target data on the data storage device from an external user terminal;
The authentication processing means performs authentication processing on the user terminal,
The data access means executes only an update request for the target data requested by the user terminal that has been successfully authenticated by the authentication processing means,
The blockchain access means added user identification information capable of identifying a user who uses the user terminal to the inspection data obtained by converting the updated target data as information about the user who updated the inspection data. write data to said blockchain data
A data processing method characterized by:
データ蓄積装置と、ブロックチェーンの構造で記録されたブロックチェーンデータを保持するブロックチェーンシステムと、データ処理装置とを備えるデータ処理システムにおいて、前記データ処理装置として請求項1~のいずれかに記載のデータ処理装置を適用したことを特徴とするデータ処理システム。
A data processing system comprising a data storage device, a blockchain system that holds block chain data recorded in a block chain structure, and a data processing device, wherein the data processing device is the data processing device according to any one of claims 1 to 3 . A data processing system characterized by applying the data processing device of
JP2018156427A 2018-08-23 2018-08-23 DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM Active JP7131200B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018156427A JP7131200B2 (en) 2018-08-23 2018-08-23 DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018156427A JP7131200B2 (en) 2018-08-23 2018-08-23 DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM

Publications (2)

Publication Number Publication Date
JP2020030666A JP2020030666A (en) 2020-02-27
JP7131200B2 true JP7131200B2 (en) 2022-09-06

Family

ID=69622685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018156427A Active JP7131200B2 (en) 2018-08-23 2018-08-23 DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM

Country Status (1)

Country Link
JP (1) JP7131200B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001094554A (en) 1999-09-20 2001-04-06 Sony Corp Information transmission system, information transmission device, information reception device, and information transmitting method
JP2006246258A (en) 2005-03-04 2006-09-14 Murata Mach Ltd Terminal apparatus
US20080154633A1 (en) 1999-09-07 2008-06-26 Sony Corporation Systems and methods for content distribution including resending data
JP2017207979A (en) 2016-05-19 2017-11-24 株式会社野村総合研究所 Tamper detection system and tamper detection method
WO2018112946A1 (en) 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 Registration and authorization method, device and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3705891B2 (en) * 1997-04-07 2005-10-12 富士通株式会社 Computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080154633A1 (en) 1999-09-07 2008-06-26 Sony Corporation Systems and methods for content distribution including resending data
JP2001094554A (en) 1999-09-20 2001-04-06 Sony Corp Information transmission system, information transmission device, information reception device, and information transmitting method
JP2006246258A (en) 2005-03-04 2006-09-14 Murata Mach Ltd Terminal apparatus
JP2017207979A (en) 2016-05-19 2017-11-24 株式会社野村総合研究所 Tamper detection system and tamper detection method
WO2018112946A1 (en) 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 Registration and authorization method, device and system

Also Published As

Publication number Publication date
JP2020030666A (en) 2020-02-27

Similar Documents

Publication Publication Date Title
US11237817B2 (en) Operating system update management for enrolled devices
US9424428B2 (en) Method and system for real time classification of events in computer integrity system
US9910743B2 (en) Method, system and device for validating repair files and repairing corrupt software
US12164898B2 (en) Automated deployment of changes to applications on a cloud computing platform
US11507358B2 (en) Method and apparatus for change automation
KR20060050223A (en) Verification method and system for dynamically generated operations in data store
US11297091B2 (en) HTTP log integration to web application testing
US12306958B2 (en) Secure application development using distributed ledgers
JP7131200B2 (en) DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, DATA PROCESSING METHOD, AND DATA PROCESSING SYSTEM
CN113886837A (en) Method and system for reliability verification of vulnerability detection tool
CN111475400B (en) Verification method of service platform and related equipment
CN116991713B (en) Method, device, computer equipment and storage medium for executing use cases across environments
Køien et al. A call for mandatory input validation and fuzz testing
WO2020233044A1 (en) Plug-in verification method and device, and server and computer-readable storage medium
KR101999130B1 (en) System and method of detecting confidential information based on 2-tier for endpoint DLP
CN114428952B (en) Method, system and server for verifying characteristic value of public network electronic file
CN119577756A (en) Automated testing method, device, equipment and storage medium for unauthorized vulnerability
CN120104181A (en) Code keyword automatic retrieval method, device, equipment and medium
CN114266070A (en) A data security protection method, device, equipment and storage medium
CN116415244A (en) Project code testing method and device, storage medium and electronic device
CN114003446A (en) Authority test method, system, equipment and medium of interface
CN119357973A (en) DEB package detection method, device, electronic device and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220808

R150 Certificate of patent or registration of utility model

Ref document number: 7131200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150