(57)【要約】【課題】利用者間での円滑なデータの送受信を可能とする。【解決手段】第１端末装置１０は、データを格納部に格納する。第１端末装置１０は、格納部に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する。第１端末装置１０は、暗号化された位置情報及び設定情報位を含むブロックをブロックチェーンに追加する。第２端末装置２０は、ブロックがブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する。第２端末装置２０は、復号化された位置情報及び設定情報を用いて格納部にアクセスし、データを格納部から取得する。【選択図】図１
2019083447.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムであって、
前記第１端末装置は、
前記データを格納手段に格納する格納処理手段と、
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、
前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加する制御手段と
を含み、
前記第２端末装置は、
前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と
を含む
データ送受信システム。
【請求項２】
前記第１端末装置は、前記第２端末装置の公開鍵を管理する第１管理手段を更に含み、
前記暗号化手段は、前記位置情報及び前記設定情報を前記第２端末装置の公開鍵を用いて暗号化し、
前記第２端末装置は、前記第２端末装置の秘密鍵を管理する第２管理手段を更に含み、
前記復号化手段は、前記位置情報及び前記設定情報を前記第２端末装置の秘密鍵を用いて復号化する
請求項１記載のデータ送受信システム。
【請求項３】
前記第１端末装置は、第１算出手段及び署名手段を更に具備し、
前記第１管理手段は、前記第１端末装置の秘密鍵を更に管理し、
前記第１算出手段は、ハッシュ関数に基づいて前記データのハッシュ値を算出し、
前記署名手段は、前記算出されたハッシュ値に対して前記第１端末装置の秘密鍵で署名することによって署名ハッシュを生成し、
前記制御手段は、前記生成された署名ハッシュを更に含むブロックを前記ブロックチェーンに追加し、
前記第２端末装置は、第２算出手段及び第１チェック処理手段を更に含み、
前記第２管理手段は、前記第１端末装置の公開鍵を更に管理し、
前記第２算出手段は、前記ハッシュ関数に基づいて前記取得されたデータのハッシュ値を算出し、
前記第１チェック処理手段は、前記第１端末装置の公開鍵を用いて前記ブロックに含まれる署名ハッシュからハッシュ値を取得し、前記第２算出手段によって算出されたハッシュ値と当該取得されたハッシュ値とを比較することによって、前記アクセス処理手段によって取得されたデータの正当性をチェックする
請求項２記載のデータ送受信システム。
【請求項４】
前記第２端末装置は、
過去に前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュを保持する保持手段と、
前記保持手段に保持されている署名ハッシュと前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュとを比較することによって、前記第１端末装置から前記第２端末装置への前記データの二重送信をチェックする第２チェック処理手段と
を更に含む
請求項３記載のデータ送受信システム。
【請求項５】
前記制御手段は、前記第２端末装置を識別するための識別子を更に含むブロックを前記ブロックチェーンに追加し、
前記第２端末装置は、前記ブロックチェーンに追加されるブロックをポーリングするポーリング手段を更に含み、
前記復号化手段は、前記第２端末装置を識別するための識別子を含むブロックが前記ブロックチェーンに追加された場合に、当該ブロックに含まれる位置情報及び設定情報を復号化する
請求項１記載のデータ送受信システム。
【請求項６】
前記第２端末装置は、前記格納手段から前記データが取得された場合、当該データが前記第２端末装置において受信されたことを示す受信確認情報を前記ブロックに追加するブロック更新手段を更に含む請求項１記載のデータ送受信システム。
【請求項７】
前記ブロック更新手段は、前記第２端末装置を利用する利用者によって前記取得されたデータに関する業務処理が終了したことが指示された場合、当該業務処理が終了したことを示す処理済情報を前記ブロックに追加する請求項６記載のデータ送受信システム。
【請求項８】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムが実行するデータ送受信方法であって、
前記第１端末装置が前記データを格納手段に格納するステップと、
前記第１端末装置が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、
前記第１端末装置が前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加するステップと、
前記第２端末装置が前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化するステップと、
前記第２端末装置が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと
を具備するデータ送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不特定多数ノードにおけるデータ送受信システム及びデータ送受信方法に関する。
【背景技術】
【０００２】
一般的に、企業間の電子商取引（ＥＣ：Electronic Commerce）においては、多くのクラウドベンダまたはＥＤＩ（Electronic Data Interchange）事業者によって提供されるネットワーク（システム）を介して、商取引に関するデータ（例えば、受発注のメッセージ）等の送受信（交換）が行われている。
【０００３】
このような技術に関連して、例えば特許文献１には、ユーザ間で互いの身分を明かすことなくメッセージを交換し、匿名での交渉を実現することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６６２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、近年では、多数のクラウドベンダ及びＥＤＩ事業者が存在しており、複数の電子商取引ネットワーク（ＥＣネットワーク）が存在している状況である。
【０００６】
このような状況においては、ＥＣネットワーク（プラットフォーム）毎に個別のプロトコルまたはＩ／Ｆ仕様が規定されているため、異なるＥＣネットワークを利用する企業間におけるデータの送受信にはコストがかかる。また、例えば取引先のために新規のＥＣネットワークを利用する場合、その都度、当該ＥＣネットワークの仕様（固有の接続及びデータ送受信等）に対応する必要があり、時間がかかる。
【０００７】
このため、例えば企業のような利用者間でのデータの送受信を円滑に行うことが可能な仕組みが望まれている。
【０００８】
そこで、本発明の目的は、利用者間での円滑なデータの送受信を可能にするデータ送受信システム及びデータ送受信方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の１つの態様によれば、ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムが提供される。前記第１端末装置は、前記データを格納手段に格納する格納処理手段と、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、前記暗号化された位置情報及び設定情報位を含むブロックを前記ブロックチェーンに追加する制御手段とを含む。前記第２端末装置は、前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段とを含む。
【発明の効果】
【００１０】
本発明は、利用者間での円滑なデータの送受信を可能とする。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るデータ送受信システムにおけるネットワーク構成の一例を示す図。
【図２】データ送受信システムにおける送信端末の機能構成の一例を示す図。
【図３】データ送受信システムにおける受信端末の機能構成の一例を示す図。
【図４】送信端末の処理手順の一例を示すフローチャート。
【図５】ブロックチェーンに追加されるブロックのデータ構造の一例を示す図。
【図６】受信端末の処理手順の一例を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態について説明する。
【００１３】
図１は、本実施形態に係るデータ送受信システムにおけるネットワーク構成の一例を示す。本実施形態に係るデータ送受信システムは、例えば端末装置１０（第１端末装置）及び端末装置２０（第２端末装置）を備え、当該端末装置１０及び端末装置２０をそれぞれ利用する利用者（例えば、企業）間でメッセージファイルのようなデータを送受信（交換）するための処理を実行する。本実施形態に係るデータ送受信システムは、ブロックチェーンを利用して実現されるものとする。
【００１４】
ここで、ブロックチェーンは、例えばビットコイン（登録商標）と称される仮想通貨決済システムで用いられる分散型の台帳システムである。このブロックチェーンを利用する場合、図１に示すデータ送受信システムはピア・ツー・ピア（Ｐ２Ｐ）型のシステムである。
【００１５】
本実施形態に係るデータ送受信システムにおいて端末装置１０及び２０はＰ２Ｐネットワーク３０に接続されているが、当該Ｐ２Ｐネットワーク３０上には、当該端末装置１０及び２０を含む複数のノード（端末装置）が存在する。図１においては、端末装置１０及び２０以外のノードについては省略されている。
【００１６】
このようなデータ送受信システムにおいて例えば端末装置１０から端末装置２０に対してメッセージファイルが送信される場合、当該メッセージファイルに関する情報（以下、メッセージ情報と表記）は、Ｐ２Ｐネットワーク３０上の複数のノードにブロードキャストされる。この場合、ブロードキャストされたメッセージ情報を複数のノード間で共有するための合意形成と称される処理が複数のノードにおいて行われた後、メッセージ情報は、ブロックと称される単位で分散データベースに記録（格納）される。
【００１７】
なお、本実施形態に係るデータ送受信システムにおいて、端末装置１０及び２０を含む複数のノードの各々は、ブロックが記録される分散データベースを構成するデータベースをそれぞれ管理している。
【００１８】
以下、本実施形態においては、各ノードにおいて管理されるデータベース（分散データベースを構成するデータベース）をブロックチェーンと称する。
【００１９】
なお、上記したＰ２Ｐネットワーク３０上のノード（端末装置）は、例えばクラウドベンダ（ＥＳＰ）またはＥＤＩ事業者等によって用意される。
【００２０】
以下、本実施形態に係るデータ送受信システムを構成する端末装置１０及び２０の機能構成について説明する。以下の説明においては、端末装置１０から端末装置２０にメッセージファイル（データ）が送信されるものとして説明する。
【００２１】
図２は、図１に示すデータ送受信システムにおける端末装置１０の機能構成を示すブロック図である。本実施形態において、端末装置１０は、上記したメッセージファイルを送信する送信端末であり、例えばパーソナルコンピュータ等によって実現され得る。この場合、端末装置１０は、各種プログラムを格納する記憶装置及び当該プログラムを実行するコンピュータ等を備える。
【００２２】
図２に示すように、端末装置（送信端末）１０は、鍵生成部１１、鍵管理部１２、メッセージ処理部１３、暗号化処理部１４、制御部１５及びブロックチェーン１６を含む。
【００２３】
本実施形態において、各部１１〜１５は、上記した記憶装置（例えば、不揮発性メモリ等）に格納されているプログラムをコンピュータ（例えば、プロセッサ等）が実行すること（つまり、ソフトウェア）によって実現される機能部である。なお、このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムは、例えばネットワークを介して端末装置１０にダウンロードされても構わない。
【００２４】
ここでは、各部１１〜１５がソフトウェアにより実現されるものとして説明したが、当該各部１１〜１５は、ハードウェアにより実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
【００２５】
また、本実施形態において、ブロックチェーン１６は、上記した分散データベースを構成するデータベースであり、例えばＨＨＤ及びＳＳＤ等の記憶装置によって実現され得る。
【００２６】
鍵生成部１１は、公開鍵暗号方式における公開鍵及び秘密鍵のペアを生成する。なお、公開鍵暗号方式については、一例としてＲＳＡ暗号等が利用可能である。以下、鍵生成部１１によって生成された公開鍵は端末装置１０（を利用する利用者）の公開鍵、鍵生成部１１によって生成された秘密鍵は端末装置１０（を利用する利用者）の秘密鍵と称する。
【００２７】
鍵管理部１２は、鍵生成部１１によって生成された端末装置１０の秘密鍵及び公開鍵を管理する。また、鍵管理部１２は、例えば端末装置２０を含むＰ２Ｐネットワーク３０上の各ノード（を利用する利用者）の公開鍵を管理する。なお、各ノードの公開鍵は、端末装置１０の公開鍵と交換される。すなわち、各ノードの公開鍵が端末装置１０（鍵管理部１２）において管理されるように、端末装置１０の公開鍵は、Ｐ２Ｐネットワーク３０上の各ノードにおいても管理される。
【００２８】
ここで、端末装置１０においては、例えば当該端末装置１０から端末装置２０に対して送信するメッセージファイルを作成することができる。この場合、メッセージ処理部１３は、端末装置１０において作成されたメッセージファイルを取得する。なお、メッセージ処理部１３は、端末装置１０の外部で作成されたメッセージファイルを取得してもよい。
【００２９】
図２に示すように、端末装置１０に対しては、格納部４０が接続されているものとする。この格納部４０は、上記したクラウドベンダまたはＥＤＩ事業者等によって用意される。
【００３０】
この場合、メッセージ処理部１３は、取得されたメッセージファイルを格納部４０に格納（配置する）。メッセージ処理部１３は、格納部４０に格納されたメッセージファイルの位置（場所）を示す情報（位置情報）を取得する。なお、この位置情報としては、例えばＵＲＬ（Uniform Resource Locator）が含まれる。
【００３１】
なお、この格納部４０は、例えばＳＦＴＰ（SSH File Transfer Protocol）等のプロトコルに従ってＰ２Ｐネットワーク３０上の複数のノードによってアクセス可能な限定公開ストアとして機能する。この限定公開ストアは、例えばＰ２Ｐネットワーク３０上のノード毎に用意されているものとする。
【００３２】
メッセージ処理部１３は、格納部４０にアクセスする（つまり、当該格納部４０からメッセージを取得する）ために用いられる情報（設定情報）としてアクセスＩＤ及びアクセスＰＡＳＳ（パスワード）を設定する。
【００３３】
暗号化処理部１４は、上記した鍵管理部１２によって管理されている各ノードの公開鍵のうち、メッセージファイルを受信する受信端末（つまり、メッセージファイルの送信先）である端末装置２０の公開鍵を用いて、位置情報（ＵＲＬ）及び設定情報（アクセスＩＤ及びアクセスＰＡＳＳ）を暗号化する。
【００３４】
制御部１５は、例えばブロックチェーン１６に対する処理を実行する機能部である。制御部１５は、暗号化処理部１４によって暗号化された位置情報及び設定情報を含むメッセージ情報を生成する。制御部１５は、生成されたメッセージ情報を含むブロックをブロックチェーン１６に追加する。
【００３５】
なお、制御部１５によって生成されたメッセージ情報はＰ２Ｐネットワーク３０上の各ノードにブロードキャストで送信されることにより、制御部１５によって生成されたメッセージ情報を含むブロックは、ＰＳＰネットワーク３０上の各ノードに含まれるブロックチェーン（分散データベース）に追加される。なお、メッセージ情報がブロードキャストで送信された後、当該メッセージ情報がブロックチェーンに追加されるまでの間には上記した合意形成等の処理が行われる。
【００３６】
図３は、図１に示すデータ送受信システムにおける端末装置２０の機能構成を示すブロック図である。本実施形態において、端末装置２０は、上記したメッセージ（データ）を受信する受信端末であり、端末装置１０と同様に、例えばパーソナルコンピュータ等によって実現され得る。この場合、端末装置２０は、各種プログラムを格納する記憶装置及び当該プログラムを実行するコンピュータ等を備える。
【００３７】
図３に示すように、端末装置（受信端末）２０は、ブロックチェーン２１、鍵生成部２２、鍵管理部２３、制御部２４、復号化処理部２５、アクセス処理部２６及びチェック処理部２７を含む。
【００３８】
本実施形態において、ブロックチェーン２１は、上記した分散データベースを構成するデータベースであり、例えばＨＨＤ及びＳＳＤ等の記憶装置によって実現され得る。なお、上記したように送信端末（例えば、端末装置１０）によってメッセージファイルが送信された場合、ブロックチェーン２１には、ブロックチェーン１６と同様に、当該メッセージファイルに関するメッセージ情報を含むブロックが追加される。
【００３９】
また、本実施形態において、各部２２〜２７は、記憶装置（例えば、不揮発性メモリ等）に格納されているプログラムをコンピュータ（例えば、プロセッサ等）が実行すること（つまり、ソフトウェア）によって実現される機能部である。なお、このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムは、例えばネットワークを介して端末装置２０にダウンロードされても構わない。
【００４０】
ここでは、各部２２〜２７がソフトウェアにより実現されるものとして説明したが、当該各部２２〜２７は、ハードウェアにより実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
【００４１】
鍵生成部２２は、公開鍵暗号方式における秘密鍵及び公開鍵のペアを生成する。なお、公開鍵暗号方式については、一例としてＲＳＡ暗号等が利用可能である。以下、鍵生成部２２によって生成された秘密鍵は端末装置２０（を利用する利用者）の秘密鍵、鍵生成部２２によって生成された公開鍵は端末装置２０（を利用する利用者）の公開鍵と称する。
【００４２】
鍵管理部２３は、鍵生成部２１によって生成された端末装置２０の秘密鍵及び公開鍵を管理する。また、鍵管理部２３は、例えば端末装置１０を含むＰ２Ｐネットワーク３０上の各ノードの公開鍵を管理する。なお、各ノードの公開鍵は、端末装置２０の公開鍵と交換される。換言すれば、各ノードの公開鍵が端末装置２０（鍵管理部２３）において管理されるように、端末装置２０の公開鍵は、Ｐ２Ｐネットワーク３０上の各ノードにおいても管理される。
【００４３】
制御部２４は、例えばブロックチェーン２１に対する処理を実行する機能部である。制御部２４は、端末装置１０から端末装置２０に対して送信されたメッセージファイルに関するメッセージ情報を含むブロックがブロックチェーン２１に追加された場合に、当該ブロックに含まれる位置情報及び設定情報を取得する。
【００４４】
復号化処理部２５は、上記した鍵管理部２３によって管理されている端末装置２０の秘密鍵を用いて、制御部２４によって取得された位置情報及び設定情報を復号化する。
【００４５】
ここで、端末装置２０は、上記したように格納部４０にアクセス可能である。このため、アクセス処理部２６は、復号化処理部２５によって復号化された位置情報（ＵＲＬ）及び設定情報（アクセスＩＤ及びアクセスＰＡＳＳ）を用いて格納部４０にアクセスし、当該格納部４０からメッセージファイルを取得する。
【００４６】
チェック処理部２７は、アクセス処理部２６によって取得されたメッセージファイルの正当性（改ざんの有無等）をチェックする処理を実行する。
【００４７】
なお、本実施形態においては、端末装置１０がメッセージファイルを送信する送信端末であり、端末装置２０がメッセージファイルを受信する受信端末であるものとして説明するが、当該端末装置１０が受信端末として動作し、当該端末装置２０が送信端末として動作することも可能である。すなわち、端末装置１０が図３において説明した端末装置２０の機能構成を更に有していてもよいし、端末装置２０が図２において説明した端末装置１０の機能構成を更に有していてもよい。更に、ここではＰ２Ｐネットワーク３０上の複数のノードのうちの端末装置１０及び２０についてのみ説明しているが、他のノードについても同様にメッセージをファイル送信及び受信することが可能である。
【００４８】
以下、本実施形態に係るデータ送受信システムの動作について説明する。ここでは、端末装置１０においては、鍵生成部１１によって端末装置１０の秘密鍵及び公開鍵が生成されており、当該端末装置１０の秘密鍵及び公開鍵と端末装置２０（を含む各ノード）の公開鍵とが鍵管理部１２によって管理されているものとする。同様に、端末装置２０においては、鍵生成部２２によって端末装置２０の秘密鍵及び公開鍵が生成されており、当該端末装置２０の秘密鍵及び公開鍵と端末装置１０（を含む各ノード）の公開鍵とが鍵管理部２３によって管理されているものとする。
【００４９】
なお、各ノードの公開鍵は、例えば当該ノード（を利用する利用者）を識別するための識別子に対応づけて管理されているものとする。
【００５０】
まず、図４のフローチャートを参照して、上記したメッセージファイルを送信する送信端末である端末装置１０の処理手順について説明する。
【００５１】
上記したように端末装置１０において端末装置２０（受信端末）に対して送信するメッセージファイルが作成された場合、メッセージ処理部１３は、当該メッセージファイルを取得する（ステップＳ１）。
【００５２】
ここで、上記したＰ２Ｐネットワーク３０上の複数のノード（端末装置１０及び２０）には、各種データのハッシュ値を算出するための同一のハッシュ関数が予め用意されているものとする。ハッシュ関数は、同一の入力値から同一の出力値を算出するための一方向性関数である。一方向性関数とは、当該入力値から出力値を得ることは容易であるが、逆に、当該出力値から入力値を得ることが困難な関数である。なお、ハッシュ関数における出力値は、入力値に対して非常に小さな値である。本実施形態において、ハッシュ関数としては例えばＳＨＡ−１等を用いることができるが、他のハッシュ関数が用いられても構わない。
【００５３】
この場合、メッセージ処理部１３は、上記したように予め用意されているハッシュ関数に基づいて、ステップＳ１において取得されたメッセージファイルのハッシュ値を算出する。メッセージ処理部１３は、算出されたハッシュ値に対して鍵管理部１２によって管理されている端末装置１０の秘密鍵で署名することにより、署名ハッシュを生成する。
【００５４】
次に、メッセージ処理部１３は、ステップＳ１において取得されたメッセージファイルを格納部４０に格納（送信）する（ステップＳ３）。本実施形態においては、ステップＳ３においてメッセージファイルが格納部４０に格納されることによって当該メッセージファイルの送信が完了される。このとき、メッセージ処理部１３は、メッセージファイルの位置を示す位置情報としてＵＲＬを取得する。
【００５５】
また、メッセージ処理部１３は、格納部４０にアクセスしてメッセージファイルを取得するために用いられる設定情報としてアクセスＩＤ及びアクセスＰＡＳＳを設定する（ステップＳ４）。なお、ステップＳ４において設定されるアクセスＩＤ及びアクセスＰＡＳＳはランダムに生成される。
【００５６】
暗号化処理部１４は、鍵管理部１２によって管理されている端末装置２０の公開鍵を用いて、上記したＵＲＬ、アクセスＩＤ及びアクセスＰＡＳＳを暗号化する（ステップＳ５）。
【００５７】
次に、制御部１５は、上記したステップＳ２において生成された署名ハッシュ、ステップＳ５において暗号化されたＵＲＬ、アクセスＩＤ及びアクセスＰＡＳＳ等を含むメッセージ情報を生成する（ステップＳ６）。
【００５８】
ステップＳ６の処理が実行されると、制御部１５は、当該ステップＳ６において生成されたメッセージ情報をＰ２Ｐネットワーク３０に対してブロードキャストで送信し、合意形成等の処理が実行することによって、当該メッセージ情報を含むブロックをブロックチェーン１６に追加する（ステップＳ１６）。なお、Ｐ２Ｐネットワーク３０上のノード間でやり取りされる情報（メッセージファイル）の信頼性は、上記した合意形成によって担保される。
【００５９】
なお、このような処理が端末装置１０（送信端末）によって実行された場合、ステップＳ６において生成されたメッセージ情報を含むブロックは、他のノード（例えば、端末装置２０）のブロックチェーンにも追加される。
【００６０】
ここで、図５は、ブロックチェーン１６に追加されたブロック（メッセージ情報）のデータ構造の一例を示す。
【００６１】
図５に示すように、ブロックには、送信者ＩＤ、受信者ＩＤ、ＵＲＬ（暗号化済）、アクセスＩＤ（暗号化済）、アクセスＰＡＳＳ（暗号化済）、署名ハッシュ、ストアのプロトコル及びタイムスタンプ等が含まれている。
【００６２】
送信者ＩＤは、メッセージファイルを送信する端末装置１０（を利用する利用者）、つまり送信者を識別するための識別子である。送信者が企業である場合、当該企業に割り当てられている法人番号または端末装置１０の公開鍵のハッシュ値（例えば、フィンガープリント）を送信者ＩＤとして用いることができる。
【００６３】
受信者ＩＤは、メッセージファイルを受信する端末装置２０（を利用する利用者）、つまり、受信者を識別するための識別子である。受信者が企業である場合、当該企業に割り当てられている法人番号または端末装置２０の公開鍵のハッシュ値（例えば、フィンガープリント）を受信者ＩＤとして用いることができる。
【００６４】
なお、送信者ＩＤ及び受信者ＩＤとして用いられるハッシュ値を算出するためのハッシュ関数としては、上記したように端末装置１０において予め用意されているハッシュ関数を利用することができる。
【００６５】
ＵＲＬ（暗号化済）は上記した図４に示すステップＳ５において端末装置２０の公開鍵を用いて暗号化されたＵＲＬであり、このＵＲＬは、端末装置１０から端末装置２０に対して送信されたメッセージファイルの位置を示す情報である。
【００６６】
アクセスＩＤ（暗号化済）は、上記した図４に示すステップＳ５において端末装置２０の公開鍵を用いて暗号化されたアクセスＩＤである。アクセスＰＡＳＳ（暗号化済）は、上記した図４に示すステップＳ５において端末装置２０の公開鍵を用いて暗号化されたアクセスＰＡＳＳである。
【００６７】
なお、アクセスＩＤ及びアクセスＰＡＳＳは、メッセージファイルが格納された格納部４０（限定公開ストア）にアクセスするために用いられる情報である。
【００６８】
署名ハッシュは、上記した図４に示すステップＳ２において生成された署名ハッシュである。
【００６９】
ストアのプロトコルは、メッセージファイルが格納された格納部４０（限定公開ストア）において採用されているプロトコルを含む。なお、ストアのプロトコルには、ＳＦＴＰ、ＦＴＰＳ、ＦＴＰ及びＧＥＴ等が含まれる。
【００７０】
タイムスタンプは、メッセージファイルが作成された（または格納部４０に格納された）時点を証明するために用いられるものであり、例えばメッセージファイルのハッシュ値及び時刻情報に対して署名することによって生成される。
【００７１】
次に、図６のフローチャートを参照して、上記したメッセージを受信する受信端末である端末装置２０の処理手順について説明する。
【００７２】
ここで、上記したように例えば端末装置１０からメッセージファイルが送信された（つまり、格納部４０に格納された）場合、図５に示すようなブロックが各ノードのブロックチェーンに追加される。
【００７３】
このため、制御部２４は、端末装置２０に対するメッセージの送信を検出するために、ブロックチェーン２１に追加されるブロックをポーリングする（ステップＳ１１）。
【００７４】
ここで、制御部２４は、端末装置２０に対するメッセージ送信が検出されたか否かを判定する（ステップＳ１２）。ステップＳ１２においては、端末装置２０を利用する利用者（企業）を識別するための受信者ＩＤ（を含むメッセージ情報）を含むブロックがブロックチェーン２１に追加された場合、当該端末装置２０に対するメッセージの送信が検出される。一方、端末装置２０を利用する利用者を識別するための受信者ＩＤを含むブロックがブロックチェーン２１に追加されない場合、当該端末装置２０に対するメッセージの送信は検出されない。
【００７５】
以下の説明において、端末装置２０を利用する利用者を識別するための受信者ＩＤを含むブロックを対象ブロック、当該対象ブロックに含まれるメッセージ情報を対象メッセージ情報と称する。
【００７６】
端末装置２０に対するメッセージの送信が検出されないと判定された場合（ステップＳ１２のＮＯ）、ステップＳ１１に戻って処理が繰り返される。
【００７７】
一方、端末装置２０に対するメッセージの送信が検出されたと判定された場合（ステップＳ１２のＹＥＳ）、チェック処理部２７は、対象メッセージ情報に含まれる署名ハッシュに基づいて端末装置１０から端末装置２０へのメッセージファイルの二重送信をチェックする（ステップＳ１３）。
【００７８】
ここで、本実施形態において図６に示す処理は定期的に実行されるが、端末装置２０（またはチェック処理部２７）は、当該図６に示す処理が実行される度に、端末装置２０を利用する利用者を識別する受信者ＩＤを含むブロック（メッセージ情報）の署名ハッシュを保持しておく保持部（図示せず）を有するものとする。換言すれば、端末装置２０においては、過去にブロックチェーン２１に追加されたブロックに含まれる署名ハッシュ（つまり、当該端末装置２０において既に受信されたメッセージファイルの署名ハッシュ）が保持される。なお、この署名ハッシュは、例えば予め定められた期間中保持され、当該期間の経過後には破棄（削除）される。
【００７９】
上記したようにメッセージファイルの署名ハッシュが当該メッセージファイルのハッシュ値に対して署名することによって生成されるものであるところ、例えば対象メッセージ情報に含まれる署名ハッシュと同一の署名ハッシュが既に端末装置２０に保持されている場合には、図６に示す処理において受信するメッセージファイル（と同一のメッセージファイル）は既に端末装置２０において受信されていることになる。
【００８０】
このため、チェック処理部２７は、端末装置２０において保持されている署名ハッシュと対象メッセージ情報に含まれる署名ハッシュとを比較することによってメッセージファイルの二重送信をチェックすることができる。
【００８１】
チェック処理部２７は、チェック結果に基づいてメッセージファイルの二重送信であるか否かを判定する（ステップＳ１４）。ステップＳ１４においては、対象メッセージ情報に含まれる署名ハッシュと同一の署名ハッシュが端末装置２０において保持されている場合、メッセージファイルの二重送信であると判定される。一方、対象メッセージ情報に含まれる署名ハッシュと同一の署名ハッシュが端末装置２０において保持されていない場合、メッセージファイルの二重送信でないと判定される。
【００８２】
ステップＳ１４においてメッセージファイルの二重送信であると判定された場合（ステップＳ１４のＹＥＳ）、当該メッセージファイルは端末装置２０において既に受信されているため、図６に示す処理は終了される。
【００８３】
一方、ステップＳ１４においてメッセージファイルの二重送信でないと判定された場合（ステップＳ１４のＮＯ）、復号化処理部２５は、対象メッセージ情報に含まれるＵＲＬ、アクセスＩＤ及びアクセスＰＡＳＳを取得する。
【００８４】
ここで、対象メッセージ情報に含まれるＵＲＬ、アクセスＩＤ及びアクセスＰＡＳＳは、上記したように端末装置２０の公開鍵を用いて暗号化されている。このため、復号化処理部２５は、取得されたＵＲＬ、アクセスＩＤ及びアクセスＰＡＳＳを、鍵管理部２３によって管理されている端末装置２０の秘密鍵を用いて復号化する（ステップＳ１５）。
【００８５】
次に、アクセス処理部２６は、ステップＳ１５において復号化されたＵＲＬ、アクセスＩＤ及びアクセスＰＡＳＳと、対象メッセージ情報に含まれるストアのプロトコルとに基づいて端末装置１０に対して用意されている格納部４０（限定公開ストア）にアクセスし、当該格納部４０に格納されているメッセージファイルを取得（受信）する（ステップＳ１６）。
【００８６】
なお、本実施形態においては各ノードから送信されるメッセージファイルが格納される限定公開ストアは当該ノード毎に用意されているが、上記したようにメッセージファイルに当該ストアのプロトコルが含まれていることにより、当該ノード毎にプロトコルの異なるストアが用いられたとしてもデータ送受信システムにおいては当該ストアにアクセスすることができる。
【００８７】
ステップＳ１６の処理が実行されると、チェック処理部２７は、対象メッセージ情報に含まれる署名ハッシュに基づいて当該ステップＳ１６において取得されたメッセージファイルの正当性（改ざん等の有無）をチェックする（ステップＳ１７）。
【００８８】
以下、ステップＳ１７の処理について説明する。ステップＳ１７において、チェック処理部２７は、予め用意されているハッシュ関数に基づいて、ステップＳ１６において取得されたメッセージファイルのハッシュ値（以下、第１ハッシュ値と表記）を算出する。
【００８９】
次に、チェック処理部２７は、対象メッセージ情報に含まれる送信者ＩＤに対応づけて鍵管理部２３によって管理されている端末装置１０の秘密鍵を取得する。チェック処理部２７は、取得された端末装置１０の秘密鍵を用いて対象メッセージ情報に含まれる署名ハッシュを復号化することによって、当該署名ハッシュからメッセージファイルのハッシュ値（以下、第２ハッシュ値と表記）を取得する。
【００９０】
ここで、上記した第１ハッシュ値と第２ハッシュ値とが異なる場合、署名ハッシュが生成された時点のメッセージファイルとステップＳ１６において取得されたメッセージファイルとが異なるデータであることになり、当該メッセージファイルは例えば格納部４０に格納された後に改ざんされている可能性がある。
【００９１】
このため、チェック処理部２７は、第１ハッシュ値と第２ハッシュ値とを比較することによってメッセージファイルの正当性をチェックすることができる。
【００９２】
チェック処理部２７は、チェック結果に基づいてステップＳ１６において取得されたメッセージファイルが改ざんされているか否かを判定する（ステップＳ１８）。ステップＳ１８においては、第１ハッシュ値と第２ハッシュ値とが一致していない場合には、メッセージファイルが改ざんされている（可能性がある）と判定される。一方、第１ハッシュ値と第２ハッシュ値とが一致している場合には、メッセージファイルが改ざんされていないと判定される。
【００９３】
ステップＳ１８においてメッセージファイルが改ざんされていると判定された場合（ステップＳ１８のＹＥＳ）、図６に示す処理は終了される。
【００９４】
一方、ステップＳ１８においてメッセージファイルが改ざんされていないと判定された場合（ステップＳ１８のＮＯ）、当該メッセージファイルが例えば端末装置２０に表示され、当該メッセージファイルの受信が完了する。
【００９５】
なお、上記したようにメッセージファイルの受信が完了した（つまり、格納部４０からメッセージファイルが取得された）場合、制御部２４は、当該メッセージファイルが端末装置２０において受信されたことを示す受信確認情報（フラグ）を対象ブロック（に含まれる対象メッセージ情報）に追加する（積む）ことによって当該対象ブロックを更新する（ステップＳ１９）。
【００９６】
また、端末装置２０を利用する利用者は、上記したように端末装置２０において受信されたメッセージファイルに関する業務処理が終了した場合、当該端末装置２０に対して当該業務処理が終了したことを指示することができる。具体的には、例えば端末装置２０において受信されたメッセージファイルが受発注メッセージであるような場合には、当該メッセージに関する受発注業務が終了した場合に、当該受発注業務が終了したことが端末装置２０に対して指示される。
【００９７】
端末装置２０に対してこのような指示がされた場合、制御部２４は、端末装置２０において受信されたメッセージファイルに関する業務処理が終了したことを示す処理済情報（フラグ）を対象ブロックに追加する（積む）ことによって当該対象ブロックを更新する（ステップＳ２０）。
【００９８】
なお、上記したステップＳ１９及びＳ２０における対象ブロックの更新は、上記したＰ２Ｐネットワーク３０上の各ノードのブロックチェーンにおいて反映される。
【００９９】
上記したように本実施形態においては、ブロックチェーンを利用してデータを送受信する端末装置（第１端末装置）１０及び端末装置（第２端末装置）２０を備え、当該端末装置１０は、メッセージファイル（データ）を格納部４０に格納し、当該格納部４０に格納されたメッセージファイルの位置を示す位置情報（ＵＲＬ）及び当該メッセージファイルを取得するために用いられる情報として設定されている設定情報（アクセスＩＤ及びアクセスＰＡＳＳ）を暗号化し、当該暗号化された位置情報及び設定情報を含むブロックをブロックチェーン１６に追加する。また、端末装置２０は、ブロックがブロックチェーン２１に追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化し、当該復号化された位置情報及び設定情報を用いて格納部４０にアクセスし、端末装置１０から送信されたメッセージファイルを取得する。
【０１００】
本実施形態においては、このような構成により、端末装置１０及び２０を利用する利用者（例えば、企業）間での円滑なメッセージファイル（データ）の送受信が可能となる。
【０１０１】
具体的には、本実施形態においては、端末装置１０における位置情報及び設定情報の暗号化は端末装置２０の公開鍵を用いて行われ、端末装置２０における位置情報及び設定情報の復号化は端末装置２０の秘密鍵を用いて行われる。本実施形態においては、このような構成により、端末装置１０から端末装置２０に対してメッセージファイルが送信された場合、端末装置２０のみが位置情報及び設定情報を復号化することができる。すなわち、本実施形態においては、メッセージファイルへのアクセスするために必要な情報を秘匿化し、メッセージファイルの送信先である端末装置２０を利用する利用者以外の利用者がメッセージファイルを受信することを防止することができる。
【０１０２】
また、端末装置１０においては、ハッシュ関数に基づいてメッセージファイルのハッシュ値を算出し、当該算出されたハッシュ値に対して端末装置１０の秘密鍵で署名することによって署名ハッシュを生成し、当該生成された署名ハッシュを含むブロックをブロックチェーン１６に追加する。また、端末装置２０においては、格納部４０から取得されたメッセージファイルのハッシュ値をハッシュ関数に基づいて算出し、端末装置１０の公開鍵を用いてブロックに含まれる署名ハッシュからハッシュ値を取得し、当該算出されたハッシュ値と当該取得されたハッシュ値とを比較することによって、当該メッセージファイルの正当性（改ざん等の有無）をチェックする。
【０１０３】
本実施形態においては、このような構成により、例えばメッセージファイルが繰り返し転送されるような場合において当該メッセージファイルが改ざんされたか否か等をチェックする（検出する）ことが可能となる。ここではメッセージファイルの改ざんについてチェックするものとして説明したが、本実施形態においては、メッセージファイルの欠損等についても同様にチェックすることが可能である。また、上記したようにメッセージファイルは端末装置１０の秘密鍵で署名されるため、端末装置２０においては、メッセージファイルが端末装置１０によって作成されたものであることを確認することができる。
【０１０４】
更に、本実施形態においては、端末装置２０が過去にブロックチェーン２１に追加されたブロックの署名ハッシュを保持しておき、当該保持されている署名ハッシュと新たにブロックチェーン２１に追加されたブロックの署名ハッシュとを比較することによって、端末装置１０から端末装置２０へのメッセージファイルの二重送信をチェックする構成により、当該端末装置２０において同一のメッセージファイルを複数回受信するようなことを防止することが可能となる。ここでは、署名ハッシュのみに基づいて二重送信をチェックするものとして説明したが、例えば署名ハッシュに加えてブロック（メッセージ情報）に含まれる送信者ＩＤを用いても構わない。この場合、過去にブロックチェーンに追加されたブロックの送信者ＩＤ及び署名ハッシュを保持しておき、当該保持されている送信者ＩＤ及び署名ハッシュと新たにブロックチェーンに追加されたブロックの送信者ＩＤ及び署名ハッシュとがそれぞれ一致する場合に二重送信が検出されるようにしてもよい。
【０１０５】
また、本実施形態においては、端末装置２０がブロックチェーンに追加されるブロックをポーリングし、当該端末装置２０（を利用する利用者）を識別するための識別子（受信者ＩＤ）を含むブロックがブロックチェーンに追加された場合に当該ブロックに含まれる位置情報及び設定情報を復号化してメッセージファイルを取得する。これによれば、端末装置２０に対して送信された場合に、当該端末装置２０においてメッセージファイルを確実に受信することが可能となる。
【０１０６】
また、本実施形態においては、端末装置２０において格納部４０からメッセージファイルが取得された場合、当該メッセージファイルが端末装置２０において受信されたことを示す受信確認情報がブロックに追加されることによって当該ブロック（に含まれるメッセージ情報）が更新される。なお、このようなブロックの更新は、端末装置１０を含む複数のノードのブロックチェーンにおいて反映される。これによれば、例えば端末装置１０を利用する利用者は、端末装置１０と端末装置２０とが通信を行うことなく、当該端末装置１０のブロックチェーン１６において更新されたブロック中の受信確認情報に基づいて端末装置１０によって送信されたメッセージファイルが端末装置２０において受信されたことを確認することが可能となる。
【０１０７】
また、本実施形態においては、端末装置２０を利用する利用者によってメッセージファイルに関する業務処理が終了したことが指示された場合、当該業務処理が終了したことを示す処理済情報がブロックに追加されることによって当該ブロック（に含まれるメッセージ情報）が更新される。なお、このようなブロックの更新は、上記したように端末装置１０を含む複数のノードのブロックチェーンにおいて反映される。これによれば、例えば端末装置１０を利用する利用者は、当該端末装置１０と端末装置２０とが通信を行うことなく、当該端末装置１０のブロックチェーン１６において更新されたブロック中の処理済情報に基づいて端末装置１０から送信されたメッセージファイルに関する業務処理が終了したことを確認することができる。
【０１０８】
なお、本実施形態に係るデータ送受信システムにおいてはブロックチェーンを利用してメッセージファイルを送受信する構成により、例えば端末装置１０から端末装置２０に対してメッセージファイルが送信される場合、当該メッセージファイルに関するメッセージ情報を含むブロックはＰ２Ｐネットワーク３０上の複数のノードのブロックチェーンの各々に追加される。このような構成によれば、メッセージ送受信の当事者である端末装置１０及び２０を利用する利用者（つまり、送信者及び受信者）以外の第三者であっても、各ノードのブロックチェーンに追加されたブロック（メッセージ情報）により当該メッセージファイルが送信または受信されたことを証明（確認）することが可能である。
【０１０９】
すなわち、本実施形態においては、上記したように不要な通信を実行することなく、メッセージファイルの送信確認及び受信確認等を行うことが可能となる。なお、本実施形態においては、ブロックチェーンにより、メッセージファイルの送受信に関する記録（ブロック）が失われる可能性を極めて低くすることが可能である。
【０１１０】
また、本実施形態においては、上記したようにクラウドベンダまたはＥＤＩ事業者は限定公開ストアとしての格納部４０及びノードとして動作する端末装置のみを用意すればよいため、当該クラウドベンダまたはＥＤＩ事業者等における負担（コスト）を軽減することができる。
【０１１１】
なお、本実施形態においては、格納部４０にメッセージファイルを格納することによってメッセージファイルの送信が完了するため、当該メッセージファイルの送達を確実に行うことができる。
【０１１２】
更に、本実施形態においては、上記したようにメッセージファイル自体はブロックに含まれないため、ネットワーク輻輳や各ノードの容量増大等を回避することができるとともに、メッセージのサイズ等を制限する必要もない。
【０１１３】
また、本実施形態においては、設定情報としてのアクセスＩＤ及びアクセスＰＡＳＳがランダムに生成される（つまり、毎回変更される）ため、堅固なセキュリティレベルでのメッセージファイルの送受信を実現することができる。
【０１１４】
また、本実施形態においては、ブロックチェーンに追加されるブロックにストアのプロトコルが含まれることにより、ノード毎に用意されるストア（格納部４０）を柔軟に選択することが可能となる。
【０１１５】
以上説明した構成によれば、シンプル（低コスト及び短期間）で、かつ、安全にメッセージファイル（データ）を送受信することが可能なデータ送受信システムを実現することが可能となる。
【０１１６】
なお、本実施形態においては、公開鍵暗号方式における公開鍵及び秘密鍵が用いられるものとして説明したが、例えば共通鍵暗号方式における共通鍵等の他の方式における鍵が用いられるような構成であってもよい。
【０１１７】
また、本実施形態においてはＰ２Ｐネットワーク３０上の端末装置１０及び２０を含む複数のノードの各々がブロックチェーン（分散データベースを構成するデータベース）を有するものとして説明したが、本実施形態においては、ブロックチェーンを有しない端末装置（ノード）がメッセージファイルを送受信することも可能である。
【０１１８】
また、本実施形態においてはＰ２Ｐネットワーク３０上のノード毎にストア（格納部４０）が用意されているものとして説明したが、複数のノードが１つのストアを共有する構成としてもよい。
【０１１９】
また、１つのノード（端末装置１０または２０）を複数の利用者（パートナー等）が利用するような構成としてもよい。
【０１２０】
なお、上記した実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１２１】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【０１２２】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。
【０１２３】
更に、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１２４】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。
【０１２５】
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
【０１２６】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１２７】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。  
【符号の説明】
【０１２８】
１０…端末装置（第１端末装置）、１１…鍵生成部、１２…鍵管理部、１３…メッセージ処理部、１４…暗号化処理部、１５…制御部、１６…ブロックチェーン、２０…端末装置（第２端末装置）、２１…ブロックチェーン、２２…鍵生成部、２３…鍵管理部、２４…制御部、２５…復号化処理部、２６…アクセス処理部、２７…チェック処理部、３０…Ｐ２Ｐネットワーク、４０…格納部。
【図１】
2019083447.tif 000003
【図２】
2019083447.tif 000004
【図３】
2019083447.tif 000005
【図４】
2019083447.tif 000006
【図５】
2019083447.tif 000007
【図６】
2019083447.tif 000008
【手続補正書】
【提出日】平成30年3月26日(2018.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムであって、
前記第１端末装置は、
前記データを格納手段に格納する格納処理手段と、
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、
ハッシュ関数に基づいて前記データのハッシュ値を算出する第１算出手段と、
前記算出されたハッシュ値に対して前記第１端末装置の秘密鍵で署名することによって署名ハッシュを生成する署名手段と、
前記暗号化された位置情報及び設定情報と前記生成された署名ハッシュとを含むブロックを前記ブロックチェーンに追加する制御手段と
を含み、
前記第２端末装置は、
過去に前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュを保持する保持手段と、
前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる署名ハッシュと前記保持手段に保持されている署名ハッシュとを比較することによって、前記第１端末装置から前記第２端末装置への前記データの二重送信をチェックする第１チェック処理手段と、
前記データの二重送信でない場合、前記ブロックチェーンに追加されたブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と
を含むデータ送受信システム。
【請求項２】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムであって、
前記第１端末装置は、
前記データを格納手段に格納する格納処理手段と、
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、
前記暗号化された位置情報及び設定情報と前記第２端末装置を識別するための識別子とを含むブロックを前記ブロックチェーンに追加する制御手段と
を含み、
前記第２端末装置は、
前記ブロックチェーンに追加されるブロックをポーリングするポーリング手段と、
前記第２端末装置を識別するための識別子を含むブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と
を含む
データ送受信システム。
【請求項３】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムであって、
前記第１端末装置は、
前記データを格納手段に格納する格納処理手段と、
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、
前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加する制御手段と
を含み、
前記第２端末装置は、
前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と、
前記格納手段から前記データが取得された場合、当該データが前記第２端末装置において受信されたことを示す受信確認情報を前記ブロックに追加するブロック更新手段と
を含む
データ送受信システム。
【請求項４】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムであって、
前記第１端末装置は、
前記データを格納手段に格納する格納処理手段と、
前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、
前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加する制御手段と
を含み、
前記第２端末装置は、
前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、
前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段と、
前記第２端末装置を利用する利用者によって前記取得されたデータに関する業務処理が終了したことが指示された場合、当該業務処理が終了したことを示す処理済情報を前記ブロックに追加するブロック更新手段と
を含む
データ送受信システム。
【請求項５】
前記第１端末装置は、前記第２端末装置の公開鍵を管理する第１管理手段を更に含み、
前記暗号化手段は、前記位置情報及び前記設定情報を前記第２端末装置の公開鍵を用いて暗号化し、
前記第２端末装置は、前記第２端末装置の秘密鍵を管理する第２管理手段を更に含み、
前記復号化手段は、前記位置情報及び前記設定情報を前記第２端末装置の秘密鍵を用いて復号化する
請求項１〜４のいずれか一項に記載のデータ送受信システム。
【請求項６】
前記第２端末装置は、
前記ハッシュ関数に基づいて前記取得されたデータのハッシュ値を算出する第２算出手段と、
前記第１端末装置の公開鍵を用いて前記ブロックに含まれる署名ハッシュからハッシュ値を取得し、前記第２算出手段によって算出されたハッシュ値と当該取得されたハッシュ値とを比較することによって、前記アクセス処理手段によって取得されたデータの正当性をチェックする第２チェック処理手段と
を更に含む
請求項１記載のデータ送受信システム。
【請求項７】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備え、前記第１端末装置が格納処理手段、暗号化手段、第１算出手段、署名手段及び制御手段を備え、前記第２端末装置が保持手段、チェック処理手段、復号化手段及びアクセス処理手段を備えるデータ送受信システムが実行するデータ送受信方法であって、
前記格納処理手段が前記データを格納手段に格納するステップと、
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、
前記第１算出手段がハッシュ関数に基づいて前記データのハッシュ値を算出するステップと、
前記署名手段が前記算出されたハッシュ値に対して前記第１端末装置の秘密鍵で署名することによって署名ハッシュを生成するステップと、
前記制御手段が前記暗号化された位置情報及び設定情報と前記生成された署名ハッシュとを含むブロックを前記ブロックチェーンに追加するステップと、
前記保持手段が過去に前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュを保持するステップと、
前記ブロックが前記ブロックチェーンに追加された場合、前記チェック処理手段が、当該ブロックに含まれる署名ハッシュと前記保持手段に保持されている署名ハッシュとを比較することによって、前記第１端末装置から前記第２端末装置への前記データの二重送信をチェックするステップと、
前記復号化手段が前記データの二重送信でない場合、前記第２端末装置が前記ブロックチェーンに追加されたブロックに含まれる位置情報及び設定情報を復号化するステップと、
前記アクセス処理手段が前記第２端末装置が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと
を具備するデータ送受信方法。
【請求項８】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備え、前記第１端末装置が格納処理手段、暗号化手段及び制御手段を備え、前記第２端末装置がポーリング手段、復号化手段及びアクセス処理手段を備えるデータ送受信システムが実行するデータ送受信方法であって、
前記格納処理手段が前記データを格納手段に格納するステップと、
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、
前記制御手段が前記暗号化された位置情報及び設定情報と前記第２端末装置を識別するための識別子とを含むブロックを前記ブロックチェーンに追加するステップと、
前記ポーリング手段が前記ブロックチェーンに追加されるブロックをポーリングするステップと、
前記第２端末装置を識別するための識別子を含むブロックが前記ブロックチェーンに追加された場合、前記復号化手段が当該ブロックに含まれる位置情報及び設定情報を復号化するステップと、
前記アクセス処理手段が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと
を具備するデータ送受信方法。
【請求項９】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備え、前記第１端末装置が格納処理手段、暗号化手段及び制御手段を備え、前記第２端末装置が復号化手段、アクセス処理手段及びブロック更新手段を備えるデータ送受信システムが実行するデータ送受信方法であって、
前記格納処理手段が前記データを格納手段に格納するステップと、
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、
前記制御手段が前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加するステップと、
前記ブロックが前記ブロックチェーンに追加された場合、前記復号化手段が当該ブロックに含まれる位置情報及び設定情報を復号化するステップと、
前記アクセス処理手段が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと、
前記格納手段から前記データが取得された場合、前記ブロック更新手段が、当該データが前記第２端末装置において受信されたことを示す受信確認情報を前記ブロックに追加するステップと
を具備するデータ送受信方法。
【請求項１０】
ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備え、前記第１端末装置が格納処理手段、暗号化手段及び制御手段を備え、前記第２端末装置が復号化手段、アクセス処理手段及びブロック更新手段を備えるデータ送受信システムが実行するデータ送受信方法であって、
前記格納処理手段が前記データを格納手段に格納するステップと、
前記暗号化手段が、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化するステップと、
前記制御手段が前記暗号化された位置情報及び設定情報を含むブロックを前記ブロックチェーンに追加するステップと、
前記ブロックが前記ブロックチェーンに追加された場合、前記復号化手段が当該ブロックに含まれる位置情報及び設定情報を復号化するステップと、
前記アクセス処理手段が前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するステップと、
前記第２端末装置を利用する利用者によって前記取得されたデータに関する業務処理が終了したことが指示された場合、前記ブロック更新手段が、当該業務処理が終了したことを示す処理済情報を前記ブロックに追加するステップと
を具備するデータ送受信方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の１つの態様によれば、ブロックチェーンを利用してデータを送受信する第１端末装置及び第２端末装置を備えるデータ送受信システムが提供される。前記第１端末装置は、前記データを格納手段に格納する格納処理手段と、前記格納手段に格納されたデータの位置を示す位置情報及び当該データを取得するために用いられる情報として設定されている設定情報を暗号化する暗号化手段と、ハッシュ関数に基づいて前記データのハッシュ値を算出する第１算出手段と、前記算出されたハッシュ値に対して前記第１端末装置の秘密鍵で署名することによって署名ハッシュを生成する署名手段と、前記暗号化された位置情報及び設定情報と前記生成された署名ハッシュとを含むブロックを前記ブロックチェーンに追加する制御手段とを含む。前記第２端末装置は、過去に前記ブロックチェーンに追加されたブロックに含まれる署名ハッシュを保持する保持手段と、前記ブロックが前記ブロックチェーンに追加された場合、当該ブロックに含まれる署名ハッシュと前記保持手段に保持されている署名ハッシュとを比較することによって、前記第１端末装置から前記第２端末装置への前記データの二重送信をチェックする第１チェック処理手段と、前記データの二重送信でない場合、前記ブロックチェーンに追加されたブロックに含まれる位置情報及び設定情報を復号化する復号化手段と、前記復号化された位置情報及び設定情報を用いて前記格納手段にアクセスし、前記データを前記格納手段から取得するアクセス処理手段とを含む。