(57)【要約】【課題】文書ファイルの改ざんの有無をユーザに作業負担させることなく容易に管理することができる管理サーバ、文書ファイル管理システム、文書ファイル管理方法、および文書ファイル管理プログラムを提供する。【解決手段】ハッシュ値算出部１０３は、情報端末装置２００から受信した文書ファイルのハッシュ値を算出し、ハッシュ値取得部１０５は、受信した文書ファイルに含まれる、文書ファイルを識別する文書ファイルＩＤを取得し、取得した文書ファイルＩＤに対応するハッシュ値をブロックチェーンネットワーク３００から取得し、改ざん判断部１０６は、算出したハッシュ値と、ブロックチェーンネットワーク３００から取得したハッシュ値との比較結果に基づき文書ファイルが改ざんされているか否かと判断し、送受信部１０１は、判断した判断結果を情報端末装置２００に送信する。【選択図】図１
2020155891.tif 000002
【特許請求の範囲】
【請求項１】
情報端末装置とネットワークを介し接続する管理サーバであって、
文書ファイルを前記情報端末装置から受信する受信手段と、
前記受信手段によって受信した前記文書ファイルのハッシュ値を算出するハッシュ値算出手段と、
前記受信手段によって受信した前記文書ファイルに含まれる、前記文書ファイルを識別する文書ファイルＩＤを取得し、取得した前記文書ファイルＩＤに対応するハッシュ値をブロックチェーンネットワークから取得するハッシュ値取得手段と、
前記ハッシュ値算出手段によって算出した前記ハッシュ値と、前記ハッシュ値取得手段によって取得した前記ハッシュ値との比較結果に基づき前記文書ファイルが改ざんされているか否かと判断する改ざん判断手段と、
前記改ざん判断手段によって判断した判断結果を前記情報端末装置に送信する送信手段と、
を備えることを特徴とする管理サーバ。
【請求項２】
前記ハッシュ値取得手段は、ファイルサイズとバージョン情報とを前記ブロックチェーンネットワークからさらに取得し、
前記ハッシュ値算出手段は、前記受信手段によって受信した前記文書ファイルの先頭から前記ハッシュ値取得手段によって取得した前記ファイルサイズまでのハッシュ値を算出し、
前記ハッシュ値算出手段によって算出した前記ハッシュ値と、前記ハッシュ値取得手段によって取得した前記ハッシュ値との比較結果に基づいて、前記文書ファイルのバージョン情報と未登録更新の有無を判断するバージョン判断手段、をさらに備え、
前記送信手段は、前記バージョン判断手段によって判断した前記バージョン情報と未登録更新の有無を前記情報端末装置に送信すること、を特徴とする請求項１に記載の管理サーバ。
【請求項３】
前記受信手段は、前記文書ファイルおよび文書登録要求を前記情報端末装置から受信し、
前記文書ファイルに前記文書ファイルＩＤを格納されている場合は、前記文書ファイルから前記文書ファイルＩＤを取得し、前記文書ファイルに前記文書ファイルＩＤを格納されていない場合は、前記文書ファイルＩＤを生成し、生成した前記文書ファイルＩＤを前記文書ファイルに格納するＩＤ取得手段、をさらに備え、
前記ハッシュ値算出手段は、前記文書ファイルのハッシュ値を算出し、
前記文書ファイルＩＤと前記ハッシュ値とを前記ブロックチェーンネットワークに登録するブロックチェーン登録手段、をさらに備えることを特徴とする請求項１に記載の管理サーバ。
【請求項４】
前記ブロックチェーン登録手段は、前記文書ファイルＩＤと前記ハッシュ値に加え、前記文書ファイルのファイルサイズと前記文書ファイルのバージョン情報とを前記ブロックチェーンネットワークに登録すること、を特徴とする請求項３に記載の管理サーバ。
【請求項５】
情報端末装置と、前記情報端末装置にネットワークを介し接続する管理サーバと、を備える文書ファイル管理システムであって、
前記管理サーバは、
文書ファイルを前記情報端末装置から受信した前記文書ファイルのハッシュ値を算出するハッシュ値算出手段と、
前記受信手段によって受信した前記文書ファイルに含まれる、前記文書ファイルを識別する文書ファイルＩＤを取得し、取得した前記文書ファイルＩＤに対応するハッシュ値をブロックチェーンネットワークから取得するハッシュ値取得手段と、
前記ハッシュ値算出手段によって算出した前記ハッシュ値と、前記ハッシュ値取得手段によって取得した前記ハッシュ値との比較結果に基づき前記文書ファイルが改ざんされているか否かと判断する改ざん判断手段と、
前記改ざん判断手段によって判断した判断結果を前記情報端末装置に送信する送信手段と、を備え、
前記情報端末装置は、
前記判断結果を前記管理サーバから受信する受信手段と、
前記判断結果を表示部に表示する表示手段と、
を備えることを特徴とする文書ファイル管理システム。
【請求項６】
コンピュータで実行される文書ファイル管理方法であって、
文書ファイルを情報端末装置から受信する受信ステップと、
前記受信ステップによって受信した前記文書ファイルのハッシュ値を算出するハッシュ値算出ステップと、
前記受信ステップによって受信した前記文書ファイルに含まれる、前記文書ファイルを識別する文書ファイルＩＤを取得し、取得した前記文書ファイルＩＤに対応するハッシュ値をブロックチェーンネットワークから取得するハッシュ値取得ステップと、
前記ハッシュ値算出ステップによって算出した前記ハッシュ値と、前記ハッシュ値取得手段によって取得した前記ハッシュ値との比較結果に基づき前記文書ファイルが改ざんされているか否かと判断する改ざん判断ステップと、
前記改ざん判断ステップによって判断した判断結果を前記情報端末装置に送信する送信ステップと、
を含むことを特徴とする文書ファイル管理方法。
【請求項７】
請求項６に記載した文書ファイル管理方法をコンピュータに実行させることを特徴とする文書ファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理サーバ、文書ファイル管理システム、文書ファイル管理方法、および文書ファイル管理プログラムに関する。
【背景技術】
【０００２】
近年、紙の書面に代り、内容の追加・修正、保管も容易な電子書面があらゆる場面で利用されている。特にＰＤＦ（Portable Document Format）ファイルは、ユーザが操作する情報端末装置の使用環境に影響されることが少なく、印刷または画面に表示する際にレイアウトが崩れることも少ないため、広く利用されている。このような電子書面において一部を修正したほぼ同一の電子書面が複数存在する場合、どの部分が変更されたのかを事後に確認することが難しいという問題があった。このような問題を解決するために、正式版の文書ファイルと暫定版の文書ファイルを段落ごとに比較し、両者の差分を全文比較で抽出する技術が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2013-045437号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１に記載した技術では、対象となる部分を全文比較する必要があり、処理時間がかかるという問題があった。またユーザ自身が文書ファイルの正式版や改訂版を意識して管理する必要があり、文書ファイルの管理が煩雑であった。
【０００５】
本発明は、上記に鑑みてなされたものであり、文書ファイルの改ざんの有無をユーザに作業負担させることなく管理することができる管理サーバ、文書ファイル管理システム、文書ファイル管理方法、および文書ファイル管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明では、情報端末装置から受信した文書ファイルのハッシュ値を算出し、受信した文書ファイルに含まれる、文書ファイルを識別する文書ファイルＩＤを取得し、取得した文書ファイルＩＤに対応するハッシュ値をブロックチェーンネットワークから取得し、算出したハッシュ値と、ブロックチェーンネットワークから取得したハッシュ値とを比較し、ハッシュ値の比較結果に基づき文書ファイルが改ざんされているか否かと判断し、判断した判断結果を情報端末装置に送信することを特徴とする。
【発明の効果】
【０００７】
上述したように構成した本発明によれば、文書ファイルの改ざんの有無をユーザに作業負担させることなく管理することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本実施例にかかる文書ファイル管理システム１０の構成を示すブロック図である。
【図２】管理サーバ１００と情報端末装置２００が実行する文書ファイル登録処理手順を示すフローチャートである。
【図３】管理サーバ１００と情報端末装置２００が実行する文書ファイル改ざん確認処理手順を示すフローチャートである。
【図４】管理サーバ１００と情報端末装置２００が実行する文書ファイルバージョン確認処理手順を示すフローチャートである。
【図５】管理サーバ１００が実行するバージョン判断処理手順を示すフローチャートである。
【図６】検証対象の文書ファイルのハッシュ値とブロックチェーンネットワークのブロックに記憶されている文書ファイルのハッシュ値のイメージの一例を示す説明図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照し本発明の実施例を説明する。なお、以下の説明は、実施の形態の一例であり、本発明は、これらの実施例に限定されるものではない。
【００１０】
図１は、本実施例にかかる文書ファイル管理システム１０の構成を示すブロック図である。文書ファイル管理システム１０は、管理サーバ１００と、情報端末装置２００−１〜ｎ（以下、情報端末装置２００と示す）と、ブロックチェーンネットワーク３００とを備える。管理サーバ１００と情報端末装置２００、ブロックチェーンネットワーク３００は、図１に示すように、ネットワークＮを介して互いに通信可能に接続する。ネットワークＮは、インターネット、イントラネット、ＬＡＮ（Local Area Network）やＶＰＮ（Virtual Private Network）、移動体通信網等の任意の通信ネットワークおよびそれらの組合せであり、その一部または全部が有線または無線であってもよい。
【００１１】
管理サーバ１００は、情報端末装置２００から受信した文書ファイルに関する情報をブロックチェーンネットワーク３００に登録するとともに、文書ファイルの改ざんをブロックチェーンネットワーク３００を用いて検知するサーバである。管理サーバ１００は、送受信部１０１と、ＩＤ取得部１０２と、ハッシュ値算出部１０３と、ブロックチェーン登録部１０４と、ハッシュ値取得部１０５と、改ざん判断部１０６と、バージョン判断部１０７と、を備える。
【００１２】
送受信部１０１は、情報端末装置２００から送信された文書ファイルおよび登録要求を受信する。送受信部１０１は、受信した文書ファイルに関する情報をブロックチェーンネットワーク３００に送信する。送受信部１０１は、情報端末装置２００から送信された文書ファイルおよび改ざん確認要求を受信し、改ざん確認結果を情報端末装置２００に送信する。送受信部１０１は、情報端末装置２００から送信された文書ファイルおよびバージョン確認要求を受信し、バージョン確認結果を情報端末装置２００に送信する。
【００１３】
ＩＤ取得部１０２は、文書登録要求とともに受信した文書ファイルに文書ファイルＩＤが格納されていれば、文書ファイルＩＤを取得する。またＩＤ取得部１０２は、文書ファイルに文書ファイルＩＤが格納されていなければ、文書ファイルＩＤを生成し、生成した文書ファイルＩＤを文書ファイルに格納する。文書ファイルＩＤは、文書ファイルを一意に識別する情報であり、文書ファイルを識別できれば、文書名等であってもよい。
【００１４】
ハッシュ値算出部１０３は、文書ファイルのハッシュ値を算出する。ハッシュ値算出部１０３は、文書ファイルの先頭からファイルサイズまでのハッシュ値を算出する。ここで、文書ファイルは、一例としてＰＤＦファイルであり、最初に作成した元文書に対し編集した場合更新内容を増分更新として追記し１つの文書ファイルとする。なお文書ファイルは、更新内容を文書ファイルに追記することができれば、ＰＤＦファイル以外であってもよい。本実施例では、文書ファイルがＰＤＦファイルの場合を中心に説明する。
【００１５】
ブロックチェーン登録部１０４は、登録要求された文書ファイル（文書ファイルＩＤを含む文書ファイル）の文書ファイルＩＤとハッシュ値をブロックチェーンネットワーク３００に送信し、ブロックチェーンネットワーク３００内のブロックに文書ファイルＩＤとハッシュ値を格納し登録する。
【００１６】
ハッシュ値取得部１０５は、文書ファイルに格納された文書ファイルＩＤを取得し、取得した文書ファイルＩＤをブロックチェーンネットワーク３００に送信することによって、ブロックチェーンネットワーク３００からハッシュ値を取得する。ハッシュ値取得部１０５は、ハッシュ値に加え、ブロックに記憶するファイルサイズ、バージョン情報、その他の情報を取得する。その他の情報は、一例として登録日時等である。
【００１７】
改ざん判断部１０６は、文書ファイルから算出したハッシュ値とハッシュ値取得部１０５によって取得したハッシュ値の比較結果に基づきハッシュ値が一致する場合は改ざんがないと判断し、ハッシュ値が一致しない場合は改ざんがあると判断する。
【００１８】
バージョン判断部１０７は、ブロックチェーンネットワーク３００のブロックに記憶する、１つの文書ファイルのバージョンごとに異なるハッシュ値、ファイルサイズ、バージョン情報に基づいて、検証対象である文書ファイルのバージョン情報と、ブロックチェーンネットワーク３００に登録されていない更新がなされているか否かを判断する。
【００１９】
情報端末装置２００は、文書ファイルの改ざんやバージョンを管理したいユーザが操作するパーソナルコンピュータ、タブレット端末、スマートフォン等であり、情報端末装置２００から管理サーバ１００に対し様々なリクエストを送信し、リクエストに対するレスポンスを受信し表示する。
【００２０】
ブロックチェーンネットワーク３００は、いわゆる分散型台帳技術を用いたシステムであり、本実施例では、文書ファイルＩＤと文書ファイルのハッシュ値、さらに文書ファイルのファイルサイズ、バージョン情報、その他の情報をブロックチェーンネットワーク３００に送信することによって、ブロックに記憶される。またブロックチェーンネットワーク３００に文書ファイルＩＤを送信することによって、ブロックに記憶した文書ファイルのハッシュ値、さらに文書ファイルのファイルサイズ、バージョン情報、その他の情報を取得する。
【００２１】
上述のように構成された文書ファイル管理システム１０で実行する文書ファイル登録処理について説明する。図２は、管理サーバ１００と情報端末装置２００が実行する文書ファイル登録処理手順を示すフローチャートである。
【００２２】
情報端末装置２００は、文書ファイルの登録を受付ける（ステップＳ２０１）。情報端末装置２００は、文書ファイルおよび文書登録要求を管理サーバ１００に送信する（ステップＳ２０２）。
【００２３】
管理サーバ１００において、送受信部１０１は、文書ファイルおよび文書登録要求を受信する（ステップＳ２０３）。ＩＤ取得部１０２は、文書ファイルに文書ファイルＩＤが格納されているか否かを判断する（ステップＳ２０４）。文書ファイルに文書ファイルＩＤが格納されていると判断した場合（ステップＳ２０４：Ｙｅｓ）、ＩＤ取得部１０２は、文書ファイルから文書ファイルＩＤを取得する（ステップＳ２０５）。  
【００２４】
文書ファイルに文書ファイルＩＤが格納されていないと判断した場合（ステップＳ２０４：Ｎｏ）、ＩＤ取得部１０２は、文書ファイルＩＤを生成する（ステップＳ２０６）。ＩＤ取得部１０２は、文書ファイルＩＤを文書ファイルに格納する（ステップＳ２０７）。ハッシュ値算出部１０３は、文書ファイルのハッシュ値を算出する（ステップＳ２０８）。送受信部１０１は、文書ファイルの文書ファイルＩＤとハッシュ値をブロックチェーンネットワーク３００に送信する（ステップＳ２０９）。これにより、文書ファイルＩＤとハッシュ値は、ブロックチェーンネットワーク３００のブロックに記憶される。なお文書ファイルＩＤとハッシュ値に加え、ファイルサイズ、バージョン情報、その他の情報をブロックチェーンネットワーク３００に送信し、ブロックチェーンネットワーク３００のブロックに記憶してもよい。送受信部１０１は、ＩＤ取得部１０２によって文書ファイルＩＤを生成したか否かを判断する（ステップＳ２１０）。文書ファイルＩＤを生成していないと判断した場合（ステップＳ２１０：Ｎｏ）、処理を終了する。文書ファイルＩＤを生成したと判断した場合（ステップＳ２１０：Ｙｅｓ）、送受信部１０１は、文書ファイルを情報端末装置２００に送信する（ステップＳ２１１）。
【００２５】
情報端末装置２００は、文書ファイルを受信する（ステップＳ２１２）。情報端末装置２００は、文書ファイルを格納する（ステップＳ２１３）。より具体的には、情報端末装置２００は、管理サーバ１００に送信した文書ファイルを管理サーバ１００から受信した文書ファイルに置換える。これにより、当初文書ファイルＩＤを保持していなかった文書ファイルであっても、ブロックチェーンネットワーク３００のブロックに記憶した情報と、情報端末装置２００に格納する文書ファイルを文書ファイルＩＤで紐付けすることができる。
【００２６】
このように、文書ファイルに文書ファイルＩＤを含むとともに、文書ファイルに関する情報を文書ファイルＩＤに対応付けてブロックチェーンネットワーク３００のブロックに記憶させることによって、文書ファイル自体からブロックチェーンネットワーク３００を検索する際のキーとなる文書ファイルＩＤを取得することができるため、文書ファイルと文書ファイルＩＤを関連付ける仕組み（例えばデータベース等）設ける必要もなく、文書ファイルのみでブロックチェーンネットワーク３００に記憶する文書ファイルに関する情報を参照することができる。
【００２７】
また文書ファイルに関する情報としてバージョン情報を格納すれば、文書ファイルに複数のバージョンが存在する場合であっても、バージョンごとにブロックチェーンネットワーク３００のブロックに文書ファイルに関する情報を格納することができ、文書ファイルのバージョンごとにハッシュ値を保持することができる。
【００２８】
次に文書ファイル管理システム１０で実行する文書ファイル改ざん確認処理について説明する。図３は、管理サーバ１００と情報端末装置２００が実行する文書ファイル改ざん確認処理手順を示すフローチャートである。
【００２９】
情報端末装置２００は、検証対象である文書ファイルを受付ける（ステップＳ３０１）。例えば文書ファイルの一覧から選択によって文書ファイルを受付けてもよい。情報端末装置２００は、文書ファイルと改ざん確認要求を管理サーバ１００に送信する（ステップＳ３０２）。
【００３０】
管理サーバ１００の送受信部１０１は、文書ファイルと改ざん確認要求を情報端末装置２００から受信する（ステップＳ３０３）。ハッシュ値算出部１０３は、受信した文書ファイルのハッシュ値を算出する（ステップＳ３０４）。ハッシュ値取得部１０５は、文書ファイルから文書ファイルＩＤを取得する（ステップＳ３０５）。ハッシュ値取得部１０５は、文書ファイルＩＤに対応するハッシュ値をブロックチェーンネットワーク３００から取得する（ステップＳ３０６）。なお改ざん確認処理において、バージョンが異なる文書ファイルがブロックチェーンネットワーク３００に記憶されている場合は、最新バージョン、または一番登録日時が新しいハッシュ値と比較することによって改ざんの有無を確認することができる。
【００３１】
改ざん判断部１０６は、ハッシュ値算出部１０３によって算出した文書ファイルのハッシュ値と、ブロックチェーンネットワーク３００から取得したハッシュ値との比較結果に基づき文書ファイルが改ざんされているか否かを判断する（ステップＳ３０７）。
【００３２】
より具体的には、改ざん判断部１０６は、検証対象の文書ファイルのハッシュ値とブロックチェーンネットワーク３００に記憶された文書ファイルのハッシュ値は一致する場合は、検証対象の文書ファイルはブロックチェーンネットワーク３００に記憶された文書ファイルから改ざんされていないと判断する。改ざん判断部１０６は、検証対象の文書ファイルのハッシュ値とブロックチェーンネットワーク３００に記憶された文書ファイルのハッシュ値は一致しない場合は、検証対象の文書ファイルはブロックチェーンネットワーク３００に記憶された文書ファイルから改ざんされていると判断する。
【００３３】
送受信部１０１は、改ざん判断部１０６による改ざんに関する判断結果を情報端末装置２００に送信する（ステップＳ３０８）。
【００３４】
情報端末装置２００は、改ざんに関する判断結果を管理サーバ１００から受信する（ステップＳ３０９）。情報端末装置２００は、改ざんに関する判断結果を表示部に表示する（ステップＳ３１０）。
【００３５】
このように、ユーザが入手した文書ファイルを管理サーバ１００に送信することによって文書ファイルの内容が改ざんされているか否かを判断することができる。また文書ファイルの改ざんの有無をブロックチェーンネットワーク３００のブロックに記憶した文書ファイルに関する情報を用いて判断することができるため、電子署名システム等を利用することなく改ざんの有無を判断することができる。なお文書ファイルは、更新内容を増分更新として追記できる旨を上述したが、改ざん確認の対象とする文書ファイルは、更新内容を追記しない文書ファイルでもよい。
【００３６】
文書ファイルに関する情報として、ブロックチェーンネットワーク３００のブロックに記憶した日時である登録日時を加えることにより、検証対象の文書ファイルは改ざんされていないと判断した場合に、登録日時によってその時点に文書ファイルが存在したことを証明することもできる。
【００３７】
次に文書ファイル管理システム１０で実行する文書ファイルバージョン確認処理について説明する。図４は、管理サーバ１００と情報端末装置２００が実行する文書ファイルバージョン確認処理手順を示すフローチャートである。
【００３８】
情報端末装置２００は、検証対象である文書ファイルを受付ける（ステップＳ４０１）。例えば文書ファイルの一覧から選択によって文書ファイルを受付けるとともに、バージョン確認のメニューを選択してもよい。情報端末装置２００は、文書ファイルとバージョン確認要求を管理サーバ１００に送信する（ステップＳ４０２）。
【００３９】
管理サーバ１００の送受信部１０１は、文書ファイルとバージョン確認要求を情報端末装置２００から受信する（ステップＳ４０３）。ＩＤ取得部１０２は、文書ファイルから文書ファイルＩＤを取得する（ステップＳ４０４）。ハッシュ値取得部１０５は、文書ファイルＩＤに対応するハッシュ値とファイルサイズ、バージョン情報をブロックチェーンネットワーク３００から取得する（ステップＳ４０５）。なおバージョン確認処理においては、バージョンが異なる複数の文書ファイルに関する情報がブロックチェーンネットワーク３００に記憶されていることが想定されるため、文書ファイルＩＤに対応する、複数のハッシュ値とファイルサイズ、バージョン情報が取得される。バージョン判断部１０７は、バージョン判断処理を実行する（ステップＳ４０６）。詳細は、図５を参照して後述する。送受信部１０１は、文書ファイルのバージョンに関する判断結果を情報端末装置２００に送信する（ステップＳ４０７）。
【００４０】
情報端末装置２００は、文書ファイルのバージョンに関する判断結果を管理サーバ１００から受信する（ステップＳ４０８）。情報端末装置２００は、文書ファイルのバージョンに関する判断結果を表示部に表示する（ステップＳ４０９）。
【００４１】
次に、管理サーバ１００で実行するバージョン判断処理の詳細について説明する。図５は、管理サーバ１００が実行するバージョン判断処理手順を示すフローチャートである。
【００４２】
バージョン判断部１０７は、検証対象である文書ファイルのファイルサイズを取得する（ステップＳ５０１）。バージョン判断部１０７は、ブロックチェーンネットワーク３００から取得した文書ファイルＩＤに対応するデータのうち、文書ファイルのファイルサイズと一致するデータがあるか否かを判断する（ステップＳ５０２）。図６は、検証対象の文書ファイルのハッシュ値とブロックチェーンネットワークのブロックに記憶されている文書ファイルのハッシュ値のイメージの一例を示す説明図である。図６に示す例では、ブロックチェーンネットワーク３００に記憶されているブロックから３つのバージョンのデータであるハッシュ値、ファイルサイズ、バージョン情報を取得し、そのうちのファイルサイズが一致するデータがあるか否かを判断する。図６に示す場合は、一致するデータはない。
【００４３】
文書ファイルのファイルサイズと一致するデータがあると判断した場合（ステップＳ５０２：Ｙｅｓ）、バージョン判断部１０７は、ハッシュ値が一致するか否かを判断する（ステップＳ５０３）。ハッシュ値が一致すると判断した場合（ステップＳ５０３：Ｙｅｓ）、バージョン判断部１０７は、検証対象の文書ファイルのバージョン情報と未登録の更新がされていない旨を判断する（ステップＳ５０４）。検証対象の文書ファイルのバージョン情報は、ファイルサイズが一致し、かつ、ハッシュ値が一致するデータのバーション情報であると判断でき、またブロックチェーンネットワーク３００に記憶したデータのファイルサイズが一致することから、バージョン情報に対応する文書ファイルにさらに追加したデータがない、すなわちブロックチェーンネットワーク３００に登録されていない更新内容の追記はないと判断することができる。ハッシュ値が一致しないと判断した場合（ステップＳ５０３：Ｎｏ）、ステップＳ５０５に進む。
【００４４】
文書ファイルのファイルサイズと一致するデータがないと判断した場合（ステップＳ５０２：Ｎｏ）、すなわちブロックチェーンネットワーク３００に登録されていない更新内容の追記があると判断した場合、バージョン判断部１０７は、文書ファイルのファイルサイズより次に小さいファイルサイズのデータを選択する（ステップＳ５０５）。図６に示す例では、バージョン情報が“バージョン２”のデータが選択される。
【００４５】
ハッシュ値算出部１０３は、文書ファイルの先頭からファイルサイズまでのデータのハッシュ値を算出する（ステップＳ５０６）。図６に示す例では、検証対象の文書ファイルの先頭から “バージョン２”のファイルサイズである“サイズ２”まで、すなわち元文書＋更新１までのデータのハッシュ値を算出する。バージョン判断部１０７は、選択されたデータのハッシュ値と、算出したハッシュ値が一致するか否かを判断する（ステップＳ５０７）。ハッシュ値が一致すると判断した場合（ステップＳ５０７：Ｙｅｓ）、バージョン判断部１０７は、検証対象の文書ファイルのバージョン情報と未登録の更新がされている旨を判断する（ステップＳ５０８）。検証対象の文書ファイルのバージョン情報は、ハッシュ値が一致するデータのバーション情報であると判断でき、またブロックチェーンネットワーク３００に記憶したデータのファイルサイズが一致しないことから、ブロックチェーンネットワーク３００に登録されていない更新内容の追記はあると判断することができる。
【００４６】
ハッシュ値が一致しないと判断した場合（ステップＳ５０７：Ｎｏ）、バージョン判断部１０７は、ブロックチェーンネットワーク３００から取得した文書ファイルＩＤに対応するデータがあるか否かを判断する（ステップＳ５０９）。データがあると判断した場合（ステップＳ５０９：Ｙｅｓ）、ステップＳ５０５に戻り、次の処理を実行する。データがないと判断した場合（ステップＳ５０９：Ｎｏ）、処理を終了する。
【００４７】
このように、ユーザが入手した文書ファイルを管理サーバ１００に送信することによって、検証対象の文書ファイルのバージョン情報と、検証対象の文書ファイルに未登録の更新がされているのか否かを確認することができる。また文書ファイルの文書ファイルのバージョンに関する情報をブロックチェーンネットワーク３００のブロックに記憶するため、電子署名システム等を利用することなくバージョンを管理することができる。
【００４８】
ブロックチェーンネットワーク３００に記憶した日時である登録日時を加えることにより、各バージョンの文書ファイルが存在した日時を証明することもできる。
【００４９】
上述した実施例にかかる管理サーバ１００、情報端末装置２００のハードウェア構成は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等の外部記憶装置、通信制御装置等を備えた通常のコンピュータであり、ＲＯＭやＲＡＭ、ＨＤＤ等に記憶されたプログラムをＣＰＵが読み出し動作させることによって、上述した構成や機能を実現する。
【００５０】
管理サーバ１００、情報端末装置２００で動作するプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納しておき、ネットワーク経由でダウンロードさせることにより提供したり、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＳＤカード等のコンピュータで読取り可能な記録媒体に記録し提供してもよい。また、上述した機能や処理を実現するプログラムは、ＡＰＩ（Application Programming Interface）やＳａａＳ（Software as a Service）、クラウドコンピューティングという利用形態で提供してもよい。
【００５１】
なお、本発明は、上述した実施例そのままに限定されるものではなく、必ずしも物理的に図示のように構成されている必要はない。また、本発明は、実施例で説明した構成要素の全部または一部を、各種の負荷や使用状況などに応じ、任意の単位で機能的または物理的に分割、統合、入替、変形または削除して構成することができる。
【符号の説明】
【００５２】
１０…文書ファイル管理システム、１００…管理サーバ、１０１…送受信部、１０２…ＩＤ取得部、１０３…ハッシュ値算出部、１０４…ブロックチェーン登録部、１０５…ハッシュ値取得部、１０６…改ざん判断部、１０７…バージョン判断部、２００…情報端末装置、３００…ブロックチェーンネットワーク、Ｎ…ネットワーク
【図１】
2020155891.tif 000003
【図２】
2020155891.tif 000004
【図３】
2020155891.tif 000005
【図４】
2020155891.tif 000006
【図５】
2020155891.tif 000007
【図６】
2020155891.tif 000008
【手続補正書】
【提出日】令和1年9月12日(2019.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報端末装置とネットワークを介し接続する管理サーバであって、
文書ファイルを前記情報端末装置から受信する受信手段と、
前記受信手段によって受信した、前記文書ファイルを識別する文書ファイルＩＤを含む前記文書ファイルのハッシュ値を算出するハッシュ値算出手段と、
前記受信手段によって受信した前記文書ファイルに含まれる、前記文書ファイルＩＤを取得し、取得した前記文書ファイルＩＤに対応する、１または複数のハッシュ値と、ファイルサイズと、バージョン情報とをブロックチェーンネットワークから取得するハッシュ値取得手段と、
前記文書ファイルのファイルサイズを取得し、取得した前記ファイルサイズと一致する前記ハッシュ値取得手段によって取得した前記ファイルサイズがあるか否かを判断し、一致する前記ファイルサイズがある場合は、前記ハッシュ値取得手段によって取得した前記ファイルサイズに対応するハッシュ値を、前記文書ファイルのハッシュ値と比較し、ハッシュ値が一致する場合には、前記文書ファイルのバーションは、前記ハッシュ値取得手段によって取得した前記ファイルサイズに対応する前記バーション情報であり、前記ブロックチェーンネットワークへの未登録更新は無しと判断するバージョン判断手段と、
前記バージョン判断手段によって判断した前記バージョン情報と、前記ブロックチェーンネットワークへの未登録更新は無しである旨を前記情報端末装置に送信する送信手段と、
備えることを特徴とする管理サーバ。
【請求項２】
前記バージョン判断手段は、前記文書ファイルの前記ファイルサイズと一致する前記ファイルサイズがない場合に、前記ハッシュ値取得手段によって取得した、前記文書ファイルの前記ファイルサイズより小さなファイルサイズを選択し、前記文書ファイルの先頭から、選択した前記ファイルサイズまでのハッシュ値を算出し、算出したハッシュ値と、選択した前記ファイルサイズに対応するハッシュ値と比較し、ハッシュ値が一致する場合には、前記文書ファイルのバーションは、前記ファイルサイズに対応する前記バーション情報であり、前記ブロックチェーンネットワークへの未登録更新は有りと判断し、
前記送信手段は、前記バージョン判断手段によって判断した前記バージョン情報と、前記ブロックチェーンネットワークへの未登録更新は有りである旨を前記情報端末装置に送信すること、を特徴とする請求項１に記載の管理サーバ。
【請求項３】
前記受信手段は、前記文書ファイルおよび文書登録要求を前記情報端末装置から受信し、
前記文書ファイルに前記文書ファイルＩＤを格納されている場合は、前記文書ファイルから前記文書ファイルＩＤを取得し、前記文書ファイルに前記文書ファイルＩＤを格納されていない場合は、前記文書ファイルＩＤを生成し、生成した前記文書ファイルＩＤを前記文書ファイルに格納するＩＤ取得手段、をさらに備え、
前記ハッシュ値算出手段は、前記文書ファイルのハッシュ値に加え、ファイルサイズと、バージョン情報とを算出し、
前記文書ファイルＩＤと、前記ハッシュ値と、前記ファイルサイズと、前記バージョン情報とを前記ブロックチェーンネットワークに登録するブロックチェーン登録手段、をさらに備えることを特徴とする請求項１または請求項２に記載の管理サーバ。
【請求項４】
前記ブロックチェーン登録手段は、前記文書ファイルＩＤと、前記ハッシュ値と、前記ファイルサイズと、前記バージョン情報とを、前記ブロックチェーンネットワークに記憶する日時である登録日時をさらに加えて、前記ブロックチェーンネットワークに登録すること、を特徴とする請求項３に記載の管理サーバ。
【請求項５】
情報端末装置と、前記情報端末装置にネットワークを介し接続する管理サーバと、を備える文書ファイル管理システムであって、
前記管理サーバは、
文書ファイルを前記情報端末装置から受信した、前記文書ファイルを識別する文書ファイルＩＤを含む前記文書ファイルのハッシュ値を算出するハッシュ値算出手段と、
前記情報端末装置から受信した前記文書ファイルに含まれる、前記文書ファイルＩＤを取得し、取得した前記文書ファイルＩＤに対応する、１または複数のハッシュ値と、ファイルサイズと、バージョン情報とをブロックチェーンネットワークから取得するハッシュ値取得手段と、
前記文書ファイルのファイルサイズを取得し、取得した前記ファイルサイズと一致する前記ハッシュ値取得手段によって取得した前記ファイルサイズがあるか否かを判断し、一致する前記ファイルサイズがある場合は、前記ハッシュ値取得手段によって取得した前記ファイルサイズに対応するハッシュ値を、前記文書ファイルのハッシュ値と比較し、ハッシュ値が一致する場合には、前記文書ファイルのバーションは、前記ハッシュ値取得手段によって取得した前記ファイルサイズに対応する前記バーション情報であり、前記ブロックチェーンネットワークへの未登録更新は無しと判断するバージョン判断手段と、
前記バージョン判断手段によって判断した前記バージョン情報と、前記ブロックチェーンネットワークへの未登録更新は無しである旨と、からなる判断結果を前記情報端末装置に送信する送信手段と、を備え、
前記情報端末装置は、
前記判断結果を前記管理サーバから受信する受信手段と、
前記判断結果を表示部に表示する表示手段と、
を備えることを特徴とする文書ファイル管理システム。
【請求項６】
コンピュータで実行される文書ファイル管理方法であって、
文書ファイルを情報端末装置から受信する受信ステップと、
前記受信ステップによって受信した、前記文書ファイルを識別する文書ファイルＩＤを含む前記文書ファイルのハッシュ値を算出するハッシュ値算出ステップと、
前記受信ステップによって受信した前記文書ファイルに含まれる、前記文書ファイルＩＤを取得し、取得した前記文書ファイルＩＤに対応する、１または複数のハッシュ値と、ファイルサイズと、バージョン情報とをブロックチェーンネットワークから取得するハッシュ値取得ステップと、
前記文書ファイルのファイルサイズを取得し、取得した前記ファイルサイズと一致する前記ハッシュ値取得ステップによって取得した前記ファイルサイズがあるか否かを判断し、一致する前記ファイルサイズがある場合は、前記ハッシュ値取得ステップによって取得した前記ファイルサイズに対応するハッシュ値を、前記文書ファイルのハッシュ値と比較し、ハッシュ値が一致する場合には、前記文書ファイルのバーションは、前記ハッシュ値取得ステップによって取得した前記ファイルサイズに対応する前記バーション情報であり、前記ブロックチェーンネットワークへの未登録更新は無しと判断するバージョン判断ステップと、
前記バージョン判断ステップによって判断した前記バージョン情報と、前記ブロックチェーンネットワークへの未登録更新は無しである旨を前記情報端末装置に送信する送信ステップと、
を含むことを特徴とする文書ファイル管理方法。
【請求項７】
前記バージョン判断ステップは、前記文書ファイルの前記ファイルサイズと一致する前記ファイルサイズがない場合に、前記ハッシュ値取得ステップによって取得した、前記文書ファイルの前記ファイルサイズより小さなファイルサイズを選択し、前記文書ファイルの先頭から、選択した前記ファイルサイズまでのハッシュ値を算出し、算出したハッシュ値と、選択した前記ファイルサイズに対応するハッシュ値と比較し、ハッシュ値が一致する場合には、前記文書ファイルのバーションは、前記ファイルサイズに対応する前記バーション情報であり、前記ブロックチェーンネットワークへの未登録更新は有りと判断し、
前記送信ステップは、前記バージョン判断ステップによって判断した前記バージョン情報と、前記ブロックチェーンネットワークへの未登録更新は有りである旨を前記情報端末装置に送信すること、を特徴とする請求項６に記載の文書ファイル管理方法。
【請求項８】
請求項６または請求項７に記載した文書ファイル管理方法をコンピュータに実行させることを特徴とする文書ファイル管理プログラム。