(57)【要約】      （修正有）【課題】より確実にデータ蓄積装置のデータ改ざんを検知することができるデータ処理装置、データ処理プログラム、データ処理方法及びデータ処理システムを提供する。【解決手段】Ｗｅｂサーバは、ブロックチェーン（ＢＣ）ダイジェストチェック部、制御部、データベース（ＤＢ）更新部及びＢＣ書き込み部を備える。ＢＣダイジェストチェック部は、ＤＢサーバ上のデータと、ＢＣシステム上のデータに対応するダイジェスト情報を比較して改ざんの有無を検査する。制御部は、ＢＣダイジェストチェック部により、ＤＢサーバ上のデータの改ざんが行われていないと確認できた場合にのみ、データの書き込みを実行すると判断する。ＤＢ更新部は、ＤＢサーバのＤＢへのデータ書き込み処理を行う。ＢＣ書き込み部は、ＤＢ更新部がＤＢに書き込むデータに所定の演算処理を施してダイジェスト情報を取得し、取得したダイジェスト情報をＢＣシステムに追加させる処理を行う。【選択図】図１
2020030666.tif 000002
【特許請求の範囲】
【請求項１】
データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、
前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、
前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段とを備え、
前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行う
ことを特徴とするデータ処理装置。
【請求項２】
前記ブロックチェーンアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、更新後の前記対象データを前記変換処理した検査データを前記ブロックチェーンデータに書き込むことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
外部のユーザ端末から前記データ蓄積装置上の前記対象データの更新要求を受け付ける更新要求受付手段と、
前記ユーザ端末に対して認証処理を行う認証処理手段とをさらに備え、
前記データアクセス手段は、前記認証処理手段により認証成功した前記ユーザ端末から要求された前記対象データの更新要求のみを実行する
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記認証処理手段は、電子署名を用いた認証処理を行うことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記ブロックチェーンアクセス手段は、更新後の前記対象データを前記変換処理した検査データと共に前記外部のユーザ端末を使用するユーザを特定可能なユーザ特定情報を前記ブロックチェーンデータに書き込むことを特徴とする請求項３又は４に記載のデータ処理装置。
【請求項６】
前記ユーザ特定情報は、前記認証処理手段が認証処理の際に前記外部のユーザ端末から取得した認証情報又は前記認証情報に基づく情報であることを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
コンピュータを、
データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、
前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、
前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段として機能させ、
前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行う
ことを特徴とするデータ処理プログラム。
【請求項８】
データ処理装置が行うデータ処理方法において、
データアクセス手段、ブロックチェーンアクセス手段、及び改ざん検証手段を備え、
前記データアクセス手段は、データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理し、
前記ブロックチェーンアクセス手段は、前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理し、
前記改ざん検証手段は、前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証し、
前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行う
ことを特徴とするデータ処理方法。
【請求項９】
データ蓄積装置と、ブロックチェーンの構造で記録されたブロックチェーンデータを保持するブロックチェーンシステムと、データ処理装置とを備えるデータ処理システムにおいて、前記データ処理装置として請求項１〜６のいずれかに記載のデータ処理装置を適用したことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ処理装置、データ処理プログラム、データ処理方法、及びデータ処理システムに関し、例えば、ユーザ（ユーザが使用するユーザ端末）からデータベースのデータ更新を受け付けて処理するＷｅｂサーバに適用し得る。
【背景技術】
【０００２】
従来、データベース（以下、単に「ＤＢ」とも呼ぶ）やファイルサーバ等ネットワーク上でデータを蓄積する装置（以下、「データ蓄積装置」とも呼ぶ）には様々なデータが保存される。
【０００３】
例えば、ＤＢやファイルサーバ等に保存されているデータが土地の権利書等ビジネス上重要な文書データであった場合、それらの内容が悪意のある外部侵入者に改ざんされるとビジネス上大きな損害が発生するおそれがある。そのため、ＤＢやファイルサーバにおいて、特にビジネス上重要な文書については、改ざん（不正なデータ更新）がされているか否かをチェック可能な構成とすることが望ましい。
【０００４】
従来、ＤＢにおいて、データ改ざんをチェックする技術として特許文献１の記載技術が存在する。
【０００５】
従来手法では、ＤＢの所定のデータを更新する際にはデータのハッシュ値をダイジェス卜として計算してブロックチェーン（以下、単に「ＢＣ」とも呼ぶ）に保存し、読み出す際には該当のデータのＢＣ上のハッシュ値と読み出そうとするデータのハッシュ値を比較することでデータが改ざんされていないかどうかをチェックする。従来手法では、以上のような処理により読み出し時にデータの改ざんを検知できる。
【０００６】
特許文献１に記載されたシステムでは、ダイジェスト情報（例えば、ハッシュ値）をブロックチェーの構造で高信頼に保存する機能に対応するブロックチェーンと、ユーザデータを保存する機能を備えるデータベースと、データベースからのデータの読み出し／書き込みを要求するユーザ（ユーザ端末）と、これらの装置の間を取り持つＷｅｂサーバとを有している。そして、特許文献１に記載されたＷｅｂサーバは、ユーザからデータベースへの書き込み要求を受け付けてデータベースに保存する機能と、データのダイジェスト情報を作成してブロックチェーンへ保存する機能に対応している。また、特許文献１に記載されたＷｅｂサーバは、ユーザからデータベースのデータの参照要求があった場合、データベースのデータとブロックチェーンのダイジェスト情報とを比較することで、データベースのデータの改ざんの有無を判断している。
【０００７】
以上のように、従来では、ブロックチェーンを用いてデータベースのデータ改ざん検査を実現している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１７−２０７９７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のブロックチェーンを用いたデータベースの改ざん検査方式では、例えば、データベース上のデータが改ざんされた後、読み出しが発生するまでの間に、改ざんされたデータに対する再書き込みがあると、ブロックチェーンに再書き込み時のダイジェスト情報が保存されるため、検知できない改ざんが発生し得る。
【００１０】
そのため、より確実にデータ蓄積装置（例えば、データベースやファイルサーバ等）のデータ改ざんを検知することができるデータ処理装置、データ処理プログラム、データ処理方法、及びデータ処理システムが望まれている。
【課題を解決するための手段】
【００１１】
第１の本発明のデータ処理装置は、（１）データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、（２）前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、（３）前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段とを備え、（４）前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行うことを特徴とする。
【００１２】
第２の本発明のデータ処理プログラムは、コンピュータを、（１）データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理するデータアクセス手段と、（２）前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理するブロックチェーンアクセス手段と、（３）前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証する改ざん検証手段として機能させ、（４）前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行うことを特徴とする。
【００１３】
第３の本発明は、データ処理装置が行うデータ処理方法において、（１）データアクセス手段、ブロックチェーンアクセス手段、及び改ざん検証手段を備え、（２）前記データアクセス手段は、データ蓄積装置にアクセスして、前記データ蓄積装置上のデータを処理し、（３）前記ブロックチェーンアクセス手段は、前記データ蓄積装置上のデータを所定の変換処理することにより得られる検査データをブロックチェーンの構造で記録したブロックチェーンデータにアクセスして、前記ブロックチェーンデータ上の検査データを処理し、（４）前記改ざん検証手段は、前記データアクセス手段が、前記データ蓄積装置上の対象データの更新をしようとする際、更新前の前記対象データを前記変換処理した検査データと、前記ブロックチェーンデータ上で前記対象データに対応する検査データとの比較結果に基づいて前記対象データの改ざんの有無を検証し、（５）前記データアクセス手段は、前記改ざん検証手段で前記対象データの改ざんが無かったと判断されると、前記対象データの更新を行うことを特徴とする。
【００１４】
第４の本発明は、データ蓄積装置と、ブロックチェーンの構造で記録されたブロックチェーンデータを保持するブロックチェーンシステムと、データ処理装置とを備えるデータ処理システムにおいて、前記データ処理装置として第１の本発明のデータ処理装置を適用したことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、より確実にデータ蓄積装置のデータ改ざんを検知することができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係るＷｅｂサーバ（データ処理装置）の機能的構成について示したブロック図である。
【図２】実施形態に係るデータ処理システムの全体構成の例について示したブロック図である。
【図３】実施形態に係るデータ処理システムの動作について示したシーケンス図（その１）である。
【図４】実施形態に係るデータ処理システムの動作について示したシーケンス図（その２）である。
【発明を実施するための形態】
【００１７】
（Ａ）主たる実施形態
以下、本発明によるデータ処理装置、データ処理プログラム、データ処理方法、及びデータ処理システムの一実施形態を、図面を参照しながら詳述する。この実施形態では、本発明のデータ処理装置を、Ｗｅｂサーバに適用する例について説明する。
【００１８】
（Ａ−１）実施形態の構成
図２は、この実施形態のデータ処理システム１の全体構成を示すブロック図である。
【００１９】
この実施形態の例において、データ処理システム１には、ＢＣシステム１０、Ｗｅｂサーバ２０、ＤＢサーバ３０、及びユーザが使用するユーザ端末４０が配置されている。なお、データ処理システム１を構成する各要素（装置）の数は限定されないものである。
【００２０】
データ処理システム１を構成する各装置は、ネットワークＮに接続しているものとする。なお、ネットワークＮ内の構成や、各装置間の接続構成については限定されず、種々の構成を適用することができる。
【００２１】
ＤＢサーバ３０は、ＤＢ３１を保持し、ユーザ（例えば、ユーザ端末４０を操作するユーザ）の要求応じて、保持しているＤＢ３１のデータ処理（例えば、ＤＢ３１のデータの読み込みや書き込み）を実行する装置である。図２では、ＤＢサーバ３０は１つの要素として図示しているが、複数の装置（コンピュータ）を用いて構成（例えば、分散型データベースとして構成）するようにしてもよい。ＤＢサーバ３０は、例えば、１又は複数のコンピュータにＤＢ３１を構成するミドルウェアやアプリケーションをインストールすることにより構成することができる。なお、後述するように、ＤＢサーバ３０は、Ｗｅｂサーバ２０を介してユーザ（ユーザ端末４０）からのデータアクセスを受け付ける。
【００２２】
ユーザ端末４０は、ＤＢサーバ３０が保持するＤＢ３１を利用するユーザが操作する端末である。ユーザ端末４０は、Ｗｅｂサーバ２０を介してＤＢサーバ３０にアクセスする。この実施形態では、例えば、ユーザ端末４０にインストールされたＷｅｂブラウザから、Ｗｅｂサーバ２０経由でＤＢサーバ３０にアクセスするものとして説明する。なお、ユーザ端末４０の構成やユーザ端末４０がＤＢサーバ３０（ＤＢ３１）にアクセスする手段については限定されないものである。
【００２３】
ＢＣシステム１０は、ブロックチェーン型のデータ構造を備えるＢＣ１１を処理するものである。ＢＣ１１は、ＤＢ３１を構成する各レコードの改ざんを検査するためのデータ（以下、「検査データ」とも呼ぶ）を含むデータがブロックチェーン構造となっているものである。この実施形態において、検査データは、検査対象であるＤＢ３１上のデータに所定の演算処理（例えば、ハッシュ関数等に基づく演算処理；以下、「ダイジェスト変換処理」と呼ぶ）を施してダイジェスト化したデータ（以下、単に、「ダイジェスト情報」と呼ぶ）であるものとする。ＢＣシステム１０は、ＢＣ１１を保持し、外部からの要求に応じて、ＢＣ１１のデータ追加（ブロックチェーンの構造に対する新たなデータ追加）や、ＢＣ１１の提供（ブロックチェーンを構成するデータの提供）を行う。
【００２４】
ＢＣシステム１０は、複数のコンピュータに、種々のブロックチェーン構造のデータを処理するミドルウェアやアプリケーションをインストールすることにより構成することができる。すなわち、ＢＣシステム１０が保持するＢＣ１１としては、種々のブロックチェーンのデータ構造を適用することができる。
【００２５】
Ｗｅｂサーバ２０は、ユーザ端末４０からの接続（例えば、ＨＴＴＰＳ等を用いたＷｅｂ接続）を受け付け、ユーザ端末４０からの要求（リクエスト）に応じた処理を行い、その処理結果をユーザ端末４０に返答する。
【００２６】
Ｗｅｂサーバ２０は、例えば、ユーザ端末４０からＤＢサーバ３０が保持するＤＢ３１へのデータ書き込みの要求を受け付けると、その要求に従ってＤＢ３１（要求に係るレコード）にデータ書き込みを試み、その結果をユーザ端末４０に返答する。また、Ｗｅｂサーバ２０は、例えば、ユーザ端末４０からＤＢサーバ３０が保持するＤＢ３１のデータ読み込みの要求を受け付けると、その要求に従ってＤＢ３１（要求に係るレコード）のデータを読み込み、読み込んだ結果を、ユーザ端末４０に返答する。
【００２７】
Ｗｅｂサーバ２０は、ＤＢ３１へのデータ書き込みを行おうとする際には、ＢＣシステム１０が保持するＢＣ１１を用いてデータ改ざんの有無を検証（確認）し、データ改ざんがないと確認された場合にのみ、そのデータ書き込みを実行する。この実施形態において、Ｗｅｂサーバ２０によるＤＢ３１への「データ書き込み」には、ＤＢ３１への新規のデータ追加処理だけでなく、ＤＢ３１上に既に記録されているデータの更新（上書き）の処理も含むものとする。また、Ｗｅｂサーバ２０は、ＤＢ３１から読み込んだデータについて、ＢＣシステム１０が保持するＢＣ１１を用いてデータ改ざんの有無を検証（確認）し、データ改ざんがないと確認された場合にのみ、ユーザ（例えば、ユーザ端末４０）に提供する。また、Ｗｅｂサーバ２０は、ＤＢ３１へのデータ書き込みを行う際に、ＢＣシステム１０に、ＤＢ３１に書き込むデータの改ざんを検査するためのデータ追加（ブロックチェーンへのデータ追加）を行う。
【００２８】
以上のように、Ｗｅｂサーバ２０は、ＢＣシステム１０が保持するＢＣ１１を用いてデータ改ざんの有無を検証して、データ改ざんが行われていないと確認できた場合にのみ、ＤＢ３１上のデータについて処理（データの書き込みやユーザ端末４０への提供）する。
【００２９】
次に、Ｗｅｂサーバ２０の内部構成について、図１を用いて説明する。
【００３０】
Ｗｅｂサーバ２０は、制御部２１、ＤＢ更新部２２、ＤＢ参照部２３、ＢＣダイジェストチェック部２４、ＢＣ書き込み部２５、及び電子署名検証部２６を有している。
【００３１】
Ｗｅｂサーバ２０は、例えば、ＰＣやワークステーション等のコンピュータにプログラム（実施形態に係るデータ処理プログラムを含む）をインストールすることで構成するようにしてもよい。
【００３２】
ＤＢ更新部２２は、制御部２１制御に応じて、ＤＢサーバ３０にアクセスしてＤＢ３１へのデータ書き込みを行うものである。ＤＢ更新部２２は、ＤＢサーバ３０のＤＢ３１にアクセスし、ＤＢ３１へのデータ書き込みの処理を行う。
【００３３】
ＤＢ参照部２３は、制御部２１制御に応じて、ＤＢサーバ３０のＤＢ３１にアクセスして、データの読み込みを行うものである。ＤＢ参照部２３は、制御部２１の制御に応じて、ＤＢサーバ３０のＤＢ３１にアクセスし、ＤＢ３１のデータ参照（読み込み）の処理を行う。
【００３４】
ＢＣ書き込み部２５は、制御部２１制御に応じて、新たなダイジェスト情報を生成してＢＣシステム１０（ＢＣ１１）に追加させるものである。ＢＣ書き込み部２５は、ＤＢ更新部２２がＤＢ３１に書き込むデータに所定の演算処理を施してダイジェスト情報を取得し、取得したダイジェスト情報をＢＣシステム１０（ＢＣ１１）に追加させる処理を行う。
【００３５】
ＢＣダイジェストチェック部２４は、制御部２１の制御に応じて、ＤＢサーバ３０（ＤＢ３１）上のデータと、ＢＣシステム１０（ＢＣ１１）上の当該データに対応するダイジェスト情報とを比較（照合）して改ざんの有無を検査するものである。以下では、ＢＣダイジェストチェック部２４で検査対象となっているデータを「検査対象データ」と呼ぶものとする。以下では、ＢＣダイジェストチェック部２４が、検体対象データの検査のためにＢＣシステム１０（ＢＣ１１）から読み込んだダイジェスト情報を「検査用ダイジェスト情報」と呼ぶものとする。
【００３６】
電子署名検証部２６は、制御部２１制御に応じて、制御部２１制御に応じて、ユーザ端末４０から供給された認証データ（例えば、電子証明書に基づく認証データ）に基づく検証処理（認証データが正当な電子署名に基づいた正当なデータであるか否かの検証）を行う。
【００３７】
制御部２１は、Ｗｅｂサーバ２０の処理（Ｗｅｂサービス全体の処理）全体を制御するものである。制御部２１は、ユーザ端末４０との通信や、他の構成要素の制御の処理等を行う。制御部２１は、ＤＢ３１上のデータについて、ＢＣダイジェストチェック部２４により、データ改ざんが行われていないと確認できた場合にのみ処理（例えば、データの書き込みやユーザ端末４０への提供）を実行すると判断する。
【００３８】
次に、この実施形態におけるＤＢ３１とＢＣ１１の構成例について説明する。
【００３９】
ＤＢ３１の具体的な構造については限定されないものであるが、この実施形態の例では、ＤＢ３１では、所定のデータ単位（以下、「レコード」と呼ぶ）で処理が可能な構造となっているものとする。１つのレコードにはＤＢ３１上でそのレコードを一意に識別するためのキー情報（例えば、ＤＢ３１上の主キーや、ＤＢ３１上でレコードを特定可能なＩＤ）を含むＮ個（Ｎは２以上の整数）の項目（カラム）のデータが含まれているものとする。レコードを構成するデータの形式は限定されないものであり種々の形式のデータ（例えば、数値、文字列、文書データ、画像データ等）を適用することができる。
【００４０】
そして、上述の通り、ＢＣ１１は、ＤＢ３１を構成する各レコードの改ざんを検査するための検査データを含むデータがブロックチェーンの構造となっている。例えば、ＢＣ１１を構成する各データには、少なくともダイジェスト情報と当該ダイジェスト情報に対応するＤＢ３１上のレコードを特定するためのキー情報を含む構成としてもよい。ＢＣダイジェストチェック部２４は、検査対象データのキー情報に基づいて、検査対象データに対応するダイジェスト情報をＢＣ１１から取得することができる。
【００４１】
なお、ＤＢ３１上で１つのデータが１回以上更新された場合、ＢＣ１１には、１つのキー情報に対応するデータ（ダイジェスト情報）が複数登録されることになる。したがって、この場合、ＢＣダイジェストチェック部２４は、１つのキー情報に対応する複数のデータ（ＢＣ１１上のデータ）のうち、最もタイムスタンプが新しいデータを取得する必要がある。例えば、ＢＣダイジェストチェック部２４は、ＢＣ１１上で最もタイムスタンプが最も新しいデータから順にキー情報に対応するデータ（ダイジェスト情報）を検索するようにしてもよい。
【００４２】
（Ａ−２）実施形態の動作
次に、以上のような構成を有するこの実施形態のデータ処理システム１の動作（実施形態に係るデータ処理方法）を説明する。
【００４３】
図３は、この実施形態のデータ処理システム１の動作例について示したシーケンス図である。図３では、Ｗｅｂサーバ２０によるＤＢサーバ３０（ＤＢ３１）へのデータ書き込み時及びデータ読み込み時の処理について示している。
【００４４】
ここでは、まず、ユーザ端末４０から、Ｗｅｂサーバ２０（制御部２１）に、ＤＢ３１へのデータの書き込み要求があったものとする（Ｓ１０１）。ここでは、Ｗｅｂサーバ２０（制御部２１）には、ユーザ端末４０から、ＤＢサーバ３０（ＤＢ３１）に既に登録されたデータの更新要求があったものとする。
【００４５】
Ｗｅｂサーバ２０の制御部２１は、ユーザ端末４０からデータの書き込み要求があると、まず要求元のユーザ端末４０に対して電子署名に基づく認証データ（電子署名を用いた認証データであればその具体的な形式は限定されない）の送信を要求する（Ｓ１０２）。ここでは、ユーザ端末４０は、Ｗｅｂサーバ２０（制御部２１）の要求に応じて保持している電子署名に基づく認証データを生成して、Ｗｅｂサーバ２０（制御部２１）に送信したものとする（Ｓ１０３）。
【００４６】
そして、Ｗｅｂサーバ２０の制御部２１は、ユーザ端末４０から供給された認証データを電子署名検証部２６に供給し、電子署名検証部２６に当該認証データに基づく認証処理（送信元であるユーザ端末４０のユーザが信頼できるユーザであるか否かを確認する処理；電子署名を用いた認証処理であればその具体的な形式は限定されない）を実行させる（Ｓ１０４）。Ｗｅｂサーバ２０の制御部２１は、電子署名検証部２６による認証結果が認証失敗（認証ＮＧ）であった場合には、ユーザ端末４０からの要求を拒否し、電子署名検証部２６による認証結果が認証成功（認証ＯＫ）であった場合には、以後のステップの処理によりユーザ端末４０から要求された処理を続行する。ここでは、電子署名検証部２６による認証結果が認証成功（認証ＯＫ）であったものとして以後の説明を行う。
【００４７】
なお、Ｗｅｂサーバ２０とユーザ端末４０との間でやりとりされる認証データは、電子署名に基づくデータであれば良い。さらに、Ｗｅｂサーバ２０とユーザ端末４０との間の認証方式や認証データの形式については限定されないものであり、ワンタイムパスワードを用いた認証処理等、種々の認証方式を適用することができる。
【００４８】
次に、Ｗｅｂサーバ２０の制御部２１は、ＢＣダイジェストチェック部２４に、書き込み対象（更新対象）のデータが改ざんされているか否かの検査を実行させる（Ｓ１０５、Ｓ１０６、Ｓ１０７）。具体的には、ＢＣダイジェストチェック部２４は、ＤＢ参照部２３を介してＤＢサーバ３０（ＤＢ３１）で、書き込み対象となっている検査対象データを読み込んでダイジェスト変換処理を行ってダイジェスト情報を得る。また、ＢＣダイジェストチェック部２４は、ＢＣシステム１０（ＢＣ１１）から、書き込み対象のデータに対応する検査用ダイジェスト情報を読み込み、検査対象データのダイジェスト情報と比較（照合）する。ＢＣダイジェストチェック部２４は、生成した検査対象データのダイジェスト情報と、ＢＣシステム１０（ＢＣ１１）から読み込んだ検査用ダイジェスト情報とが同一であった場合には検査対象データの改ざんは無かった旨の検査結果を出力し、検査対象のダイジェスト情報と検査用ダイジェスト情報とが異なる場合には、検査対象データの改ざんがあった旨の検査結果を出力する。
【００４９】
Ｗｅｂサーバ２０の制御部２１は、ＢＣダイジェストチェック部２４による検査結果が改ざん有り（検査対象データの改ざん有り；検査ＮＧ）であった場合には、以後の処理を中止し、ＢＣダイジェストチェック部２４による検査結果が改ざん無し（検査対象データの改ざん無し；検査ＯＫ）であった場合には、以後のステップの処理によりユーザ端末４０から要求された処理を続行する。ここでは、ＢＣダイジェストチェック部２４による検査結果が改ざん無し（検査ＯＫ）であったものとして以後の説明を行う。
【００５０】
次に、検査対象データの改ざん無し（検査ＯＫ）の検査結果を得ると、Ｗｅｂサーバ３００の制御部２１は、ＢＣ書き込み部２５を制御して、ユーザ端末４０から要求されたＤＢ３１へのデータ書き込みを実行した場合における書き込み後のデータ（以下、「書き込み後データ」と呼ぶ）をダイジェスト変換処理してダイジェスト情報を生成させ、ＢＣシステム１０のＢＣ１１に書き込みさせる（Ｓ１０８）。
【００５１】
また、検査対象データの改ざん無し（検査ＯＫ）の検査結果を得ると、Ｗｅｂサーバ３００の制御部２１は、ＤＢ更新部２２を制御して、ユーザ端末４０から要求されたＤＢ３１へのデータ書き込みを実行させる（Ｓ１０９）。
【００５２】
そして、Ｗｅｂサーバ３００の制御部２１は、ユーザ端末４０に対して、データ書き込みの結果（書き込み成功又は失敗）を通知する（Ｓ１１０）。ここでは、Ｗｅｂサーバ３００の制御部２１は、ユーザ端末４０に対して、データ書き込みの結果として「書き込み成功」を通知する。
【００５３】
以上の処理により、データ処理システム１では、ＤＢサーバ３０（ＤＢ３１）に対するデータ書き込みが実行される。
【００５４】
そして、その後、ユーザ端末４０から、Ｗｅｂサーバ２０（制御部２１）に、ＤＢ３１へのデータの読み込み要求があったものとする（Ｓ２０１）。なお、Ｗｅｂサーバ２０とユーザ端末４０との間でデータの読み込み時にもデータ書き込み時と同様に電子署名等を用いた認証処理を実行するようにしてもよい。
【００５５】
次に、Ｗｅｂサーバ２０の制御部２１は、ＢＣダイジェストチェック部２４に、読込対象（参照対象）のデータが改ざんされているか否かの検査を実行させる（Ｓ２０２、Ｓ２０３、Ｓ２０４、Ｓ２０５）。
【００５６】
具体的には、ＢＣダイジェストチェック部２４は、ＤＢ参照部２３を介してＤＢサーバ３０（ＤＢ３１）で、読み込み対象となっている検査対象データを読み込んで（Ｓ２０２）ダイジェスト変換処理を行ってダイジェスト情報を得る（Ｓ２０３）。また、ＢＣダイジェストチェック部２４は、ＢＣシステム１０（ＢＣ１１）から、読み込み対象のデータに対応する検査用ダイジェスト情報を読み込み（Ｓ２０４）、検査対象データのダイジェスト情報と比較（照合）する（Ｓ２０５）。ＢＣダイジェストチェック部２４は、生成した検査対象データのダイジェスト情報と、ＢＣシステム１０（ＢＣ１１）から読み込んだ検査用ダイジェスト情報とが同一であった場合には検査対象データの改ざんは無かった旨の検査結果を出力し、検査対象のダイジェスト情報と検査用ダイジェスト情報とが異なる場合には、検査対象データの改ざんがあった旨の検査結果を出力する。
【００５７】
Ｗｅｂサーバ２０の制御部２１は、ＢＣダイジェストチェック部２４による検査結果が改ざん有り（検査対象データの改ざん有り；検査ＮＧ）であった場合には、以後の処理を中止し、ＢＣダイジェストチェック部２４による検査結果が改ざん無し（検査対象データの改ざん無し；検査ＯＫ）であった場合には、以後のステップの処理によりユーザ端末４０から要求されたデータの読み込み処理を続行する。ここでは、ＢＣダイジェストチェック部２４による検査結果が改ざん無し（検査ＯＫ）であったものとして以後の説明を行う。
【００５８】
検査対象データの改ざん無し（検査ＯＫ）の検査結果を得ると、Ｗｅｂサーバ３００の制御部２１は、ユーザ端末４０から読み込みを要求されたデータ（ＤＢ参照部２３が読み込んだデータ）を、ユーザ端末４０に送信（返答）する処理を行う（Ｓ２０６）。
【００５９】
以上の処理により、データ処理システム１では、ＤＢサーバ３０（ＤＢ３１）からのデータ読み込みが実行される。
【００６０】
（Ａ−３）施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【００６１】
この実施形態のデータ処理システム１では、ＤＢ３１に対して不正な改ざんがあった後、読み出される前に続けて書き込みがあった場合でも、Ｗｅｂサーバ２０で改ざんを発見できる。また、Ｗｅｂサーバ２０において、書き込み時に電子署名に基づく認証処理を要求することで信頼できないユーザの書き込みも防止できる。
【００６２】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００６３】
（Ｂ−１）上記の実施形態では、本発明のデータ処理装置をＤＢサーバ３０（ＤＢ３１）のデータ処理を行うＷｅｂサーバ２０に適用する例について説明したが、本発明のデータ処理装置が処理対象とするデータはＤＢに限定されず種々のデータ蓄積装置が蓄積するデータとしてもよい。例えば、本発明のデータ処理装置を、ファイルサーバ上のデータを処理する装置として構築するようにしてもよい。この場合、データ処理装置は、ファイルサーバ上のデータをファイル単位で処理（読み込み及び書き込み）し、各ファイルに対応するダイジェスト情報をＢＣに書き込むことになる。
【００６４】
（Ｂ−２）上記の実施形態では、本発明のデータ処理装置をＷｅｂ通信によりユーザ端末４０からのデータ処理要求（ＤＢ３１に対するデータ処理要求）を受け付けるＷｅｂサーバ２０に適用する例について説明したが、ユーザ端末（ユーザ）からデータ処理要求を受け付ける方式はＷｅｂ通信に限定されず、種々のコマンド(例えば、シェルを用いたコマンド受付や、ＳＱＬ文を用いたコマンド受付等)を用いた通信としてもよい。
【００６５】
（Ｂ−３）上記の実施形態において、ＢＣ書き込み部２５が、ＢＣ１１にダイジェスト情報を含むデータを書き込む（ＢＣ１１に追加）する場合には、さらにユーザ端末４０のユーザを特定可能な情報(以下、「ユーザ特定情報」と呼ぶ)を付加して書き込むようにしてもよい。言い換えると、ＢＣ１１には、ダイジェスト情報とユーザ特定情報（すなわち、ユーザを特定したデータ更新履歴の情報）がセットで保存されることになる。ユーザ特定情報としては、例えば、ユーザ端末４０の認証に用いた情報（例えば、認証に用いた電子署名、電子署名に基づくデータ、ユーザ名等）を用いることができる。
【００６６】
これにより、ＢＣ１１には、ＤＢ３１上の各レコードに対応するダイジェスト情報（検査データ）だけでなく、ユーザを特定した更新履歴が保持されるため、正規ユーザによるデータ更新の履歴を保持することができる。言い換えると、正規ユーザにより不正なデータ更新を監視することが可能となる。従来手法ではデータを修正したユーザが誰かわからないので不正なデータ修正（＝改ざん）があった場合、改ざんしたユーザの特定ができなかったが、上記の構成とすることで解決できる。
【００６７】
さらに、この場合、ユーザ特定情報も含めてＢＣ１１に保持されるので、更新履歴自体を改ざんすることがシステム管理者であっても困難となるため、正規ユーザに対する不正なデータ更新の抑止につながる。
【符号の説明】
【００６８】
１…データ処理システム、１０…ＢＣシステム、１１…ＢＣデータ、２０…Ｗｅｂサーバ、制御部２１、２２…ＤＢ更新部、２３…ＤＢ参照部、２４…ＢＣダイジェストチェック部、２５…ＢＣ書き込み部、２６…電子署名検証部、３０…ＤＢサーバ、３１…ＤＢ、４０…ユーザ端末、Ｎ…ネットワーク。
【図１】
2020030666.tif 000003
【図２】
2020030666.tif 000004
【図３】
2020030666.tif 000005
【図４】
2020030666.tif 000006