JP2020099010A - 情報処理方法、情報処理装置、プログラムならびに情報処理システム - Google Patents

情報処理方法、情報処理装置、プログラムならびに情報処理システム Download PDF

Info

Publication number
JP2020099010A
JP2020099010A JP2018236692A JP2018236692A JP2020099010A JP 2020099010 A JP2020099010 A JP 2020099010A JP 2018236692 A JP2018236692 A JP 2018236692A JP 2018236692 A JP2018236692 A JP 2018236692A JP 2020099010 A JP2020099010 A JP 2020099010A
Authority
JP
Japan
Prior art keywords
data
information processing
common key
block chain
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018236692A
Other languages
English (en)
Other versions
JP6909452B2 (ja
Inventor
雅俊 清水
Masatoshi Shimizu
雅俊 清水
誠 古郷
Makoto Kogo
誠 古郷
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.)
Bank Of Iwate Ltd
International Business Machines Corp
Original Assignee
Bank Of Iwate Ltd
International Business Machines Corp
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 Bank Of Iwate Ltd, International Business Machines Corp filed Critical Bank Of Iwate Ltd
Priority to JP2018236692A priority Critical patent/JP6909452B2/ja
Publication of JP2020099010A publication Critical patent/JP2020099010A/ja
Application granted granted Critical
Publication of JP6909452B2 publication Critical patent/JP6909452B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ブロックチェーンにおいて暗号化されたデータを扱う場合に、暗号化されたデータの受け渡しと所定のビジネスロジックの実行とを両立する情報処理方法を提供する。【解決手段】ブロックチェーンサーバは、アプリケーションサーバにおいてトランザクション鍵を用いてトランザクションのデータを暗号化することで生成されたスマートコントラクトパラメータと、トランザクション鍵とを、アプリケーションサーバから受信し、受信されたトランザクション鍵を用いて、スマートコントラクトパラメータからトランザクションのデータを復号化し、復号化されたトランザクションのデータに対してビジネスロジックを実行し、トランザクション鍵を用いてビジネスロジックの実行結果を暗号化し、暗号化された実行結果をブロックチェーンに記録する。【選択図】図5

Description

本発明は、情報処理方法、情報処理装置、プログラムならびに情報処理システムに関する。
近年、いくつかのトランザクションのデータとハッシュ値等とを含むデータを1つのブロックとして生成し、生成したブロックをチェーン状に連結したうえで複数のノード間で共有する、ブロックチェーンが知られている。ブロックチェーンは、その特性から改ざん不可能な情報共有プラットフォームとして期待されている。しかし、ブロックチェーンは、複数のノード間でデータを共有するため、あるノードで記録されたデータは他のノードと共有されて閲覧可能になる。すなわち、例えばユーザ間、組織間、或いは企業間でやり取りするデータを扱う場合、データの機密性の確保が課題となる場合がある。
このような課題に対し、特許文献1は、スマートフォン等の装置がブロックチェーンに新規ブロックを追加する際に、共通鍵により暗号化したトランザクションのデータを、参照可能者の公開鍵により共通鍵を暗号化したデータと記録する技術を提案している。特許文献1で提案された技術を用いることにより、ブロックチェーンで共有されるデータを参照可能者のみが復号化して参照することが可能になる。
特開2017−195627号公報
ところで、特許文献1に記載のように各携帯端末がノードとなるブロックチェーンのシステムとは異なり、サービス等を提供する企業等のアプリケーションサーバからブロックチェーンのノードにアクセスするシステムを構築する場合がある。すなわち、ノード上で動作するブロックチェーンサーバが、ブロックチェーンクライアント(例えばアプリケーションサーバ)からの要求を受信する。そして、ブロックチェーンサーバ上で動作するスマートコントラクトプログラムにより所定のビジネスロジックを実行し、所定のデータをブロックチェーンに記録する。
このようなシステムでは、ブロックチェーンクライアントからスマートコントラクトに引き渡されるデータがブロックチェーンに記録されるように構成されるものがある。このようなシステムで秘匿化の必要なデータを扱う場合、ブロックチェーンクライアントから引き渡されるデータは予め暗号化されている必要がある。一方、スマートコントラクトで所定のビジネスロジックを実行できるようにするためには、データを復号化する必要があり、システム内の鍵の扱いが課題となる。
本発明は、上記課題に鑑みてなされ、その目的は、ブロックチェーンにおいて暗号化されたデータを扱う場合に、暗号化されたデータの受け渡しと所定のビジネスロジックの実行とを両立する技術を実現することである。
この課題を解決するため、例えば本発明の情報処理方法は以下の構成を備える。すなわち、外部装置と通信する情報処理装置において各工程が実行される情報処理方法であって、外部装置において共通鍵を用いてトランザクションのデータを暗号化することで生成された第1データと、共通鍵とを、外部装置から受信する受信工程と、受信工程において受信された共通鍵を用いて、第1データからトランザクションのデータを復号化する復号化工程と、第1データから復号化されたトランザクションのデータに対して所定のビジネスロジックを実行して、所定のビジネスロジックの実行結果を出力する処理工程と、共通鍵を用いて所定のビジネスロジックの実行結果を暗号化する暗号化工程と、暗号化された実行結果を、ブロックチェーンに記録する記録工程と、を有する、ことを特徴とする。
本発明によれば、ブロックチェーンにおいて暗号化されたデータを扱う場合に、暗号化されたデータの受け渡しと所定のビジネスロジックの実行とを両立する技術を実現することが可能になる。
本発明に係る情報処理システムの概要を説明する図 実施形態1に係る情報処理装置の一例としてのブロックチェーンサーバの機能構成例を示すブロック図 実施形態1に係る情報処理装置の一例としてのアプリケーションサーバの機能構成例を示すブロック図 実施形態1に係るブロックチェーンサーバのソフトウェア構成例とブロックチェーンの構成例とを模式的に示す図 実施形態1に係る書込処理における、アプリケーションサーバとブロックチェーンサーバのそれぞれの動作を示すフローチャート 実施形態1に係る読出処理における、アプリケーションサーバとブロックチェーンサーバのそれぞれの動作を示すフローチャート 実施形態2に係る書込処理における、アプリケーションサーバとブロックチェーンサーバのそれぞれの動作を示すフローチャート 実施形態2に係る読出処理における、アプリケーションサーバとブロックチェーンサーバのそれぞれの動作を示すフローチャート
(実施形態1)
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。
<ブロックチェーンシステムの構成例>
図1を参照して、本実施形態に係る情報処理システムの一例としてのブロックチェーンシステム100の構成例について説明する。ブロックチェーンシステム100は、情報処理装置の一例としての、ブロックチェーンサーバ150a〜150nと、情報処理装置の一例としてのアプリケーションサーバ110a〜110bとを含む。これらの情報処理装置の台数は例示であって、これらの数に限定されるものではない。ブロックチェーンサーバ150a〜ブロックチェーンサーバ150nはそれぞれが別個のノード上で動作するブロックチェーンサーバを示すが、これらを特に区別しない場合は単にブロックチェーンサーバ150という。ブロックチェーンサーバ150a〜150nはP2Pネットワークによって他のブロックチェーンサーバと通信可能である。詳細は後述するが、ブロックチェーンサーバ150は、アプリケーションサーバ110から受信したトランザクション(例えば企業Aから企業BにXX円支払う)の内容に基づいてスマートコントラクトを実行する。そして、その実行結果について、複数のブロックチェーンサーバ150でコンセンサスアルゴリズムに基づき合意をとり、ブロックチェーンを更新する。また、ブロックチェーンサーバ150は、ブロックチェーンに格納されているトランザクションのデータを読み出して、アプリケーションサーバ110へ送信することができる。
アプリケーションサーバ110は、図1に示す例では、組織Aが管理する組織Aアプリケーションサーバ110aと組織Bが管理する組織Bアプリケーションサーバ110bとを含む(特に区別しない場合には単にアプリケーションサーバ110という)。アプリケーションサーバ110は、ブロックチェーンクライアントとして動作し、各アプリケーションサーバ110は、組織や企業ごとに管理される。なお、アプリケーションサーバをエンティティという場合がある。また、ブロックチェーンサーバ150a〜150nも、例えば、組織や企業ごとに管理されてよい。
アプリケーションサーバ110は、通信装置130a或いは通信装置130bと有線又は無線ネットワークを介して通信可能である(通信装置についても、特に区別しない場合には単に通信装置130という)。アプリケーションサーバ110は、通信装置130からのデータに基づいてトランザクションを生成したり、通信装置130が閲覧するトランザクションのデータをクライアントへ送信したりする。通信装置130は、例えばスマートフォンやパーソナルコンピュータを含む。また、アプリケーションサーバ110は、有線又は無線ネットワークを介して、ブロックチェーンサーバ150a〜150nのいずれかと通信可能である。ブロックチェーンサーバ150の間や、アプリケーションサーバ110とブロックチェーンサーバ150との間は、セキュアなプロトコルで通信される。
アプリケーションサーバ110は、通信装置130からトランザクション(例えば企業Aから企業BにXX円支払う)の実行に対するリクエストを受けると、ブロックチェーンサーバ150に当該トランザクションを実行させるためのパラメータを生成する。そして、このパラメータをスマートコントラクトパラメータとしてブロックチェーンサーバ150a〜150nのいずれかに送信する。なお、スマートコントラクトパラメータは、ブロックチェーンサーバ150のスマートコントラクトを呼び出す際のパラメータである。また、スマートコントラクトは、アプリケーションサーバからのデータに応じてブロックチェーンサーバ150側でビジネスロジックを実行するためのプログラムである。
ブロックチェーンサーバ150は、スマートコントラクトパラメータを受信すると、スマートコントラクトを実行して所定のビジネスロジックを実行し、トランザクションとその実行結果とをブロックチェーンに書き込む。所定のビジネスロジックは、例えば、企業Aから企業Bへ仮想的通貨の送金を行ったうえで残金を更新するような処理でもよい。或いは、(実際の支払いは不図示の金融システムによって実行されるが)企業Aから企業Bへの支払いの記録と残金の更新を行うものであってもよい。なお、トランザクションは、支払いに限らず、口座振替のデータや当座預金の口座に係る取引データを対象としてもよい。また、これらの金融機関で取り扱うデータに限らず、秘匿化を要するデータであれば個人の健康に関するデータなど他のデータを対象とするものであってもよい。
(ブロックチェーンシステムにおいて暗号化データを扱う際の課題)
ブロックチェーンシステム100を構成する各装置について説明する前に、ブロックチェーンにおいて暗号化データを扱う際の課題について説明する。ブロックチェーンサーバ150では、スマートコントラクトの呼び出し時のデータ(すなわちスマートコントラクトパラメータ)がブロックチェーンに記録される場合がある。このため、ブロックチェーンに記録されるデータを秘匿化する必要がある場合には、アプリケーションサーバ110側でデータを暗号化しておく必要がある。一方、ブロックチェーンサーバ150側でスマートコントラクトを実行するためにアプリケーションサーバ110からのデータを一旦復号化する必要があり、また、ビジネスロジックの実行結果も暗号化してブロックチェーンに書き込む必要がある。
加えて、ブロックチェーンサーバ150におけるスマートコントラクトの実行結果は、コンセンサスを得るブロックチェーンサーバ間で一致する必要がある。このため、スマートコントラクト内で使用可能な暗号アルゴリズムに制約がある。すなわち、暗号化後のデータが複数のサーバ間で一致するように処理の同一性を担保する観点から、原則としてブロックチェーン以外のリポジトリの参照結果を用いるような処理を行うことができない。例えば、ブロックチェーン以外の外部サービスや、ローカルのファイルシステムや環境変数、乱数などを複数のサーバで参照した場合には、処理結果が同一であることが保証されないため、これらの値を用いる暗号アルゴリズムを採用することができない。このように、スマートコントラクトの中で暗号アルゴリズムを用いる場合、その鍵管理が課題となる。
このような課題に対し、例えば、単一の共通鍵を用いる場合には、ブロックチェーンサーバ間で共通鍵のやりとりが必要となる。しかし、仮にこの鍵が流出した場合、既に分散台帳に記録されている広範囲のデータが危険にさらされることになる。一般的な暗号化データの管理では、鍵が流出した場合に鍵を変更してデータを暗号化し直す対応が可能な場合がある。しかし、ブロックチェーンでは、(例えばコンセンサスアルゴリズムやハッシュ値を用いたブロックの構成などの耐改ざん性を向上させるための仕組みにより)過去のデータを、変更した鍵で再暗号化して上書きすることは不可能である。
他方、トランザクションごとに鍵を生成する場合、ブロックチェーンに記録したトランザクションの数だけ鍵を管理する必要があるため、そのような鍵の管理をどのように行うかが課題となる。以下、当該課題を解決するための実施形態について具体的に説明する。
<ブロックチェーンサーバの構成>
次に、ブロックチェーンサーバ150の構成について、図2を参照して説明する。なお、説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、各機能ブロックはハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。更に、ブロックチェーンサーバ150がハードウェアを用いて構成される例に説明するが、仮想マシンとして実現されてもよい。
通信部201は、ネットワークを介してアプリケーションサーバ110又は他のブロックチェーンサーバ150と通信する通信回路を含む。制御部202によって処理された情報をアプリケーションサーバ110に送信したり、制御部202によって処理される情報を通信装置130等から受信したりする。
制御部202は、中央演算装置であるCPU210とRAM211とを含む。制御部202は、記録部203に記憶されたプログラムをRAM211に展開、実行することにより、制御部202内部の各部の動作を制御したり、ブロックチェーンサーバ150の各部の動作を制御したりする。また、制御部202は、後述するように、ノードプロセスを実行して、スマートコントラクトを実行したり、ブロックチェーンへアクセスしたりする。RAM211は、例えばDRAM等の揮発性の記憶媒体を含み、制御部202がプログラムを実行するためのパラメータや処理結果等を一時的に記憶する。
記録部203は、例えば半導体メモリ或いはハードディスク等の不揮発性の記録媒体を含み、ブロックチェーンサーバ150の動作に必要な設定値、プログラム、およびブロックチェーンのデータを保持する。ブロックチェーンの構成については後述するが、ブロックチェーンは、複数のトランザクションのデータ等を格納したブロックをチェーン状に繋げた構成で保持されている。各トランザクションのデータは暗号化された状態でブロックチェーンに格納される(実際にはトランザクションごとに存在するが、便宜上、暗号化済データ221として表す)。また、各トランザクションのデータは、トランザクションごとに生成される共通鍵(Tx鍵という)を用いて暗号化される。このTx鍵も、後述するように、暗号化されてブロックチェーンに格納される(実際にはトランザクションごとに存在するが、便宜上、暗号化済Tx鍵222として表す)。
アプリケーション要求取得部212は、アプリケーションサーバ110から、トランザクションの書き込み要求、鍵取得要求、およびデータ取得要求などの要求信号を受信して、要求信号に含まれるパラメータを取得する。トランザクションの書き込み要求は、トランザクションをブロックチェーンに書き込む処理(書込処理)を開始させるための要求である。一方、鍵取得要求とデータ取得要求は、ブロックチェーンからトランザクションのデータを読み出す処理(読出処理)において、アプリケーションサーバ110から送信される。これらの要求信号については後述する。
暗号化復号化処理部213は、アプリケーションサーバ110から受信したトランザクションのデータや鍵、ブロックチェーンから読み出したトランザクションのデータや鍵、あるいはスマートコントラクトの実行結果を、暗号化したり、復号化したりする。ビジネスロジック実行部214は、後述するように、スマートコントラクトを実行するためのコンテナ(例えば、各コンテナは仮想マシンで実現される)上で、スマートコントラクトを実行する。ビジネスロジック実行部214は、暗号化復号化処理部213によって復号化されたトランザクションのデータの内容に基づいて、スマートコントラクトに記述されているビジネスロジックを実行し、その実行結果を出力する。なお、以下の実施形態では、コンテナ上でスマートコントラクトを実行する場合を例に説明するが、スマートコントラクトの実行はコンテナ上での実行に限定されない。
ブロック書込部215は、暗号化されたトランザクションのデータと、暗号化されたスマートコントラクトの実行結果と、暗号化された鍵とを、ブロックチェーン220に書き込む(すなわち記録する)。また、これらのデータをブロックチェーン220に書き込むための一連の処理(例えば、コンセンサスアルゴリズムの実行等)を行う。
ブロック読出部216は、ブロックチェーン220から、暗号化されたトランザクションのデータと、暗号化されたスマートコントラクトの実行結果と、暗号化された鍵とを読み出す。
図4には、ブロックチェーンサーバ150のソフトウェア構成例とブロックチェーン220の構成例とを模式的に示している。ノードプロセス401は、ブロックチェーンサーバ150におけるスマートコントラクトの実行やブロックチェーンへのアクセス(書き込みおよび読み出し)を制御するプロセスであり、制御部202によって実行される。
ブロックチェーンにチェーン状に記録される個々のブロック425は、内部に、トランザクション(群)のハッシュ値421と、タイムスタンプ等の情報422、前のブロックのハッシュ値423を含む。これらの412〜423のハッシュ値は、次のブロック(n+1)における、前のブロックのハッシュ値423に格納される。ブロックチェーンでは、このような構成により改ざんを困難にしている。ハッシュ値421は、ブロックに含まれる複数のトランザクションに基づいて計算されるハッシュ値である。そのほか、ブロック425には、個々のトランザクションの記録と実行結果を表す情報424が格納される。この情報424には、個々のトランザクションの内容として、例えば、スマートコントラクトパラメータや、その実行結果が含まれる。すなわち、ブロック425には、アプリケーションサーバ110から送信される、暗号化されたトランザクションのデータや、暗号化された鍵、暗号化されたビジネスロジックの実行結果が含まれる。なお、ブロックチェーン220は、ブロック425がチェーン状に構成されるブロックチェーンとは別に、データをキー・バリューで管理する不図示の分散DB(ワールドステートともいわれる)を備えてもよい。この場合、分散DBは、例えば、スマートコントラクトの実行結果を格納する。例えば、企業Aから企業BへXX円を支払うトランザクションをスマートコントラクトで実行した場合、分散DBは、キーを「企業A」、バリューを「残高100億円」として保持する。このように分散DBを用いれば、過去の取引履歴を用いて再計算すること無く、現在の状態を取得することができ、アプリケーションサーバ110から残高照会などの、データの読み出し要求に対して、応答速度が高速化される。
スマートコントラクト実行用コンテナ410は、スマートコントラクトを実行するためのコンテナ(例えば、各コンテナは仮想マシンで実現される)である。スマートコントラクト411は、トランザクションの内容に基づいて、例えば、支払、残高照会、口座振替といった目的ごとに関数化された処理を実行するプログラムである。
<アプリケーションサーバ110の構成>
更に、アプリケーションサーバ110の構成について、図3を参照して説明する。なお、説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、各機能ブロックはハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。更に、アプリケーションサーバ110がハードウェアを用いて構成される例に説明するが、仮想マシンとして実現されてもよい。
通信部301は、ネットワークを介してブロックチェーンサーバ150a〜150nや、通信装置130と通信する通信回路を含む。制御部302によって処理された情報を通信装置130やブロックチェーンサーバ150に送信したり、制御部302によって処理される情報を通信装置130やブロックチェーンサーバ150から受信したりする。
制御部302は、中央演算装置であるCPU310とRAM311とを含む。制御部302は、記録部303に記憶されたプログラムをRAM311に展開、実行することにより、制御部302内部の各部の動作を制御したり、アプリケーションサーバ110の各部の動作を制御したりする。RAM311は、例えばDRAM等の揮発性の記憶媒体を含み、制御部302がプログラムを実行するためのパラメータや処理結果等を一時的に記憶する。
記録部303は、例えば半導体メモリ或いはハードディスク等の不揮発性の記録媒体を含み、アプリケーションサーバ110の動作に必要な設定値、およびプログラムのデータを保持する。アプリケーションサーバ110aの記録部303は、アプリケーションサーバ110a(すなわち自エンティティ)に関連付けられた鍵ペア321を保持する。この鍵ペアは、公開鍵と秘密鍵のペアである。例えば、アプリケーションサーバ110aの公開鍵は、ブロックチェーンサーバ150のそれぞれや他のアプリケーションサーバ110b〜110nに公開されている。これらのサーバにおいて当該公開鍵を用いて共通鍵が暗号化された場合、アプリケーションサーバ110a(自エンティティ)の秘密鍵を用いて復号化する場合にのみ共通鍵を取得することができる。また、記録部303は、アプリケーションサーバ110b〜110n(他のエンティティ)の公開鍵322を保持する。なお、記録部303は、自エンティティの秘密鍵を保持する必要があるが、自エンティティの公開鍵や他のエンティティの公開鍵は必要に応じて外部装置から取得してもよい。
鍵取得部312は、トランザクションごとに生成される共通鍵(すなわちTx鍵)を生成する。暗号化復号化処理部313は、鍵取得部312で生成された共通鍵やトランザクションを暗号化したり、ブロックチェーンサーバ150から受信した暗号化された鍵を復号化したりする。
アプリケーション要求生成部314は、必要なパラメータを格納して、ブロックチェーンサーバ150へ送信するトランザクションの書き込み要求、鍵取得要求、およびデータ取得要求などの要求信号を生成する。アプリケーション要求生成部314は、トランザクションのデータをブロックチェーンに書き込もうとする場合、トランザクションの書き込み要求を生成する。例えば、共通鍵(Tx鍵)を用いてトランザクションのデータを暗号化することで生成されたデータ(暗号化済データ)と、共通鍵と、共通鍵を各エンティティの公開鍵を用いて暗号化したデータ(暗号化済Tx鍵)と、を格納して、トランザクションの書き込み要求を生成する。
このとき、アプリケーション要求生成部314は、スマートコントラクトパラメータに、暗号化済データ、共通鍵、暗号化済Tx鍵を格納する。本実施形態のコントラクトパラメータは、ブロックチェーンに記録されるフィールドと、ブロックチェーンに記録されないように区別されたフィールド(一時フィールドともいう)とを含むように構成される。アプリケーション要求生成部314は、暗号化済データと暗号化済Tx鍵とを、ブロックチェーンに記録されるフィールドに格納し、一方、共通鍵を一時フィールドに格納する。一時フィールドは、スマートコントラクトに引き渡されるとその場で消費されて残らないように扱われる。本実施形態では、一時フィールドのデータは、アプリケーションサーバ110とブロックチェーンサーバ150との間で共通鍵を共有するためのデータとして機能する。
一方、アプリケーション要求生成部314は、鍵取得要求とデータ取得要求を、ブロックチェーンからトランザクションのデータを読み出す処理(読出処理)において生成する。これらの要求信号の詳細については後述する。
結果送信部315は、ブロックチェーンサーバ150から、トランザクションの書き込みや読み出したデータに対するビジネスロジックの実行が終了した場合に、処理の完了通知と処理結果とを受信する。そして、通信装置130に表示できるように処理結果を通信装置130に送信する。
<書込処理におけるアプリケーションサーバ110の動作>
次に、図5(a)を参照して、アプリケーションサーバ110における書込処理の動作について説明する。なお、本処理は、制御部302のCPU310が記録部303に記録されるプログラムを実行することにより実現される。また、本処理は、例えば、企業Aのユーザが通信装置130aに表示されているWebページを介して、「企業Aから企業BにXX円支払う」要求を発信し、アプリケーションサーバ110が当該要求を受信した場合を例に説明する。
S501において、鍵取得部312は、トランザクションのデータを暗号化するための共通鍵(Tx鍵)を、トランザクションごとに生成する。具体的には、制御部302が、通信装置130からの要求に基づいて「企業Aから企業BにXX円支払う」を示すトランザクションを作成し、鍵取得部312は、生成されたトランザクションを暗号化するためのTx鍵をランダムに生成する。
S502において、暗号化復号化処理部313は、共通鍵(Tx鍵)を用いてトランザクションのデータを暗号化することで暗号化済データを生成する。S503において、暗号化復号化処理部313は、共通鍵を各エンティティの公開鍵を用いて暗号化する。例えば、企業Aのエンティティ(アプリケーションサーバ110)の公開鍵を用いて共通鍵を暗号化することで暗号化済Tx鍵を生成する。暗号化済Tx鍵は、企業Aのエンティティ(アプリケーションサーバ110)の秘密鍵によってのみ復号化される。
S504において、アプリケーション要求生成部314は、スマートコントラクトパラメータを含む、トランザクションの書き込み要求を生成し、当該書き込み要求をブロックチェーンサーバ150へ送信する。上述のように、トランザクションの書き込み要求のスマートコントラクトパラメータには、暗号化済データ、共通鍵、暗号化済Tx鍵が格納されており、このうち共通鍵は一時フィールドに格納される。
S505において、結果送信部315は、書き込み後の処理を行う。例えば、結果送信部315は、ブロックチェーンサーバ150においてトランザクションの書き込みや読み出したデータに対するビジネスロジックの実行が終了した場合に、ブロックチェーンサーバ150から処理の完了通知と処理結果とを受信する。そして、通信装置130に表示するための処理結果を作成して、通信装置130に送信する。制御部302は、処理結果を通信装置130へ送信すると、本一連の動作を終了する。
<書込処理におけるブロックチェーンサーバ150の動作>
次に、図5(b)を参照して、ブロックチェーンサーバ150における書込処理の動作について説明する。なお、本処理は、制御部202のCPU210が記録部203に記録されるプログラムを実行することにより実現される。また、本処理は、S504において送信された、トランザクションの書き込み要求をアプリケーションサーバ110から受信した場合に開始される。
S511において、アプリケーション要求取得部212は、スマートコントラクトパラメータを含むトランザクションの書き込み要求を受信する。S512において、暗号化復号化処理部213は、スマートコントラクトパラメータに含まれる共通鍵(Tx鍵)を用いて、スマートコントラクトパラメータに含まれる暗号化済データからトランザクションのデータを復号化する。
S513において、ビジネスロジック実行部214は、暗号化復号化処理部213によって復号化されたトランザクションのデータの内容に基づいて、スマートコントラクトに記述されているビジネスロジックを実行し、その実行結果を出力する。例えば、「企業Aから企業BにXX円支払う」のトランザクションについて、企業Aおよび企業Bの現在の残金を取引額に応じて計算し、実行結果として出力する。
S514において、暗号化復号化処理部213は、共通鍵(Tx鍵)を用いて、ビジネスロジックの実行結果を暗号化する。S514において、ブロック書込部215は、暗号化されたトランザクションのデータと、暗号化されたスマートコントラクトの実行結果と、暗号化された鍵とを、ブロックチェーン220に書き込む(すなわち記録する)。また、コンセンサスアルゴリズムの実行等の、ブロックチェーンへの書き込みに必要な処理を終了すると、アプリケーションサーバ110に終了通知を送信する。制御部202は、その後、本一連の処理を終了する。
<読出処理におけるアプリケーションサーバ110の動作>
次に、図6(a)を参照して、アプリケーションサーバ110における読出処理の動作について説明する。なお、本処理は、制御部302のCPU310が記録部303に記録されるプログラムを実行することにより実現される。また、本処理は、例えば、企業Aのユーザが通信装置130aに表示されているWebページを介して、「企業Aの現在の残高を参照」を要求し、アプリケーションサーバ110が当該要求を受信した場合を例に説明する。
S601において、アプリケーション要求生成部314は、通信装置130aからの要求を受信したことに応じて、鍵取得要求を生成し、ブロックチェーンサーバ150に送信する。鍵取得要求は、ブロックチェーンサーバ150に対して、アプリケーションサーバ110(自エンティティ)に関連付けられた公開鍵を用いて暗号化された暗号化済Tx鍵の送信を要求する命令である。アプリケーション要求生成部314は、この鍵取得要求をスマートコントラクトパラメータに格納して、ブロックチェーンサーバ150に送信する。
S602において、暗号化復号化処理部313は、ブロックチェーンサーバ150からS601で要求した暗号化済Tx鍵を受信したことに応じて、この暗号化済Tx鍵から共通鍵(Tx鍵)を復号化する。具体的には、暗号化復号化処理部313は、アプリケーションサーバ110(自エンティティ)に関連付けられた秘密鍵を用いて、暗号化済Tx鍵から共通鍵を復号化する。
S603において、アプリケーション要求生成部314は、復号化した共通鍵をブロックチェーンサーバ150に送信する。具体的には、アプリケーション要求生成部314は、データ取得要求を生成して、ブロックチェーンサーバ150に送信する。データ取得要求は、スマートコントラクトパラメータに、ブロックチェーンサーバ150に対するデータ取得を要求する命令と、S602で復号化された共通鍵が含まれる。共通鍵は、ブロックチェーンに記録されることを防ぐために、スマートコントラクトパラメータの一時フィールドに格納される。データ取得を要求する命令には、例えば、企業Aの現在の残高の参照を求める命令が含まれる。
S604において、結果送信部315は、読み出し後の処理を行う。例えば、結果送信部315は、ブロックチェーンサーバ150からビジネスロジックの実行結果を受信したことに応じて、通信装置130aに表示するための処理結果を作成して、通信装置130に送信する。結果送信部315は、例えば、ブロックチェーンサーバ150からの実行結果に基づいて、「企業Aの現在の残高:YY円」などと表示するWebページを通信装置130aに送信する。制御部302は、Webページを通信装置130へ送信すると、本一連の動作を終了する。
<読出処理におけるブロックチェーンサーバ150の動作>
次に、図6(b)を参照して、ブロックチェーンサーバ150における読出処理の動作について説明する。なお、本処理は、制御部202のCPU210が記録部203に記録されるプログラムを実行することにより実現される。また、本処理は、S601において送信された鍵取得要求をアプリケーションサーバ110から受信した場合に開始される。
S611において、ブロック読出部216は、暗号化済Tx鍵をブロックチェーンから読み出す。具体的には、ブロック読出部216は、要求元のアプリケーションサーバ110に関連付けられた公開鍵を用いて暗号化された、暗号化済Tx鍵をブロックチェーンから読み出す。また、S612において、読み出した暗号化済Tx鍵をアプリケーションサーバ110に送信する。
S613において、アプリケーション要求取得部212は、アプリケーションサーバ110からのデータ取得要求を受信して、そのスマートコントラクトパラメータの一時フィールドから共通鍵を取得する。S614において、ブロック読出部216は、暗号化済データ(すなわち共通鍵を用いてトランザクションのデータを暗号化したデータ)をブロックチェーン220から読み出す。
S615において、暗号化復号化処理部213は、S613で受信した共通鍵を用いて、暗号化済データからトランザクションのデータを復号化する。S616において、ビジネスロジック実行部214は、暗号化復号化処理部213によって復号化されたトランザクションのデータの内容に基づいて、スマートコントラクトに記述されているビジネスロジックを実行し、その実行結果を出力する。例えば、「企業Aの現在の残高を参照」のトランザクションについて、企業Aの残高を演算或いは取得し、実行結果として出力する。ビジネスロジック実行部214は、処理が終了すると実行結果を終了通知としてアプリケーションサーバ110に送信する。制御部202は、終了通知の送信が完了すると、その後本処理を終了する。
上記実施形態では、アプリケーションサーバ110とブロックチェーンサーバ150とを用いるブロックチェーンシステムについて説明した。このシステムにおいて、アプリケーションサーバ110は、共通鍵を用いて暗号化したトランザクションのデータを、ブロックチェーンサーバ150に記録するようにした。そして、ブロックチェーンサーバ150とアプリケーションサーバ110は、共通鍵をやり取りするようにし、受信した共通鍵を用いて復号化したトランザクションのデータにビジネスロジックを適用するようにした。また、ブロックチェーンサーバ150がアプリケーションサーバ110から共通鍵を受信する際には、ブロックチェーンに記録されない一時フィールドを用いて受信することで、共通鍵をブロックチェーンに記録することなく、受信できるようにした。
このようにすることで、ブロックチェーンにおいて暗号化されたデータを扱う場合に、暗号化されたデータの受け渡しと所定のビジネスロジックの実行とを両立することができる。また、ブロックチェーンサーバ150は、暗号化済データをブロックチェーンに記録することで、適切な閲覧権限のある者のみがデータを参照可能になり、例えば、ブロックチェーンサーバの管理者であっても参照することができなくなる。このため、ブロックチェーンに機密データを記録することができ、機密データを扱う場合であってもブロックチェーンによる可用性、耐改ざん性のメリットを受けることができる。更に、アプリケーションサーバ110とブロックチェーンサーバ150との間でやり取りされる鍵を、トランザクションごとに生成される共通鍵とすることで、仮に共通鍵が流出した場合のリスクを1つのトランザクションに制限することができる。そして、共通鍵は復号化を必要としないため、ブロックチェーンサーバ150側の共通鍵の扱いに対する処理負荷を軽減することができる。
また、本実施形態の書込処理および読出処理を用いれば、機密データを記録するブロックチェーンサーバを特定のブロックチェーンサーバに限定する必要がない。このため、データを参照させたくないブロックチェーンサーバとも物理的にデータを共有し、多数のブロックチェーンサーバを用いたシステムの構築が可能である。すなわち、多数のブロックチェーンサーバによる実効的なコンセンサスを実現することができ、ブロックチェーンの可用性、耐改ざん性を活かすことができる。
(実施形態2)
次に、実施形態2について説明する。実施形態1では、トランザクションのデータを暗号化した共通鍵を、スマートコントラクトパラメータの一時フィールドに格納することで、ブロックチェーンサーバ150とアプリケーションサーバ110との間で共通鍵を共有した。これに対し、本実施形態では、トランザクションのデータを暗号化した共通鍵を、ブロックチェーンサーバに関連付けられた公開鍵で暗号化したうえで、(一時フィールドを用いることなく)ブロックチェーンサーバ150に送信する。なお、本実施形態2で用いるブロックチェーンサーバ150とアプリケーションサーバ110の構成は実質的に同一であり、書込処理および読出処理の一部が異なる。このため、同一または実質的に同一な構成や処理については同一の参照番号を付して重複する説明は省略する。
なお、本実施形態では、ブロックチェーンサーバ150の公開鍵と秘密鍵のペアを用いる。このため、ブロックチェーンサーバ150は、記録部203に、自己のブロックチェーンサーバ150の公開鍵と秘密鍵のペアを保持する。一方、アプリケーションサーバ110は、記録部303に、ブロックチェーンサーバ150a〜150nの公開鍵を保持する。
<書込処理における動作>
次に、実施形態2に係る書込処理について、図7(a)および(b)を参照して説明する。図7(a)および(b)は、実施形態1と同様に、それぞれ制御部302および制御部202がそれぞれのプログラムを実行することにより実現される。
アプリケーションサーバ110の制御部302は、実施形態1と同様に、S501〜503の処理を実行する。
S701において、制御部302の暗号化復号化処理部213は、共通鍵を各ブロックチェーンサーバの公開鍵を用いて暗号化する。例えば、ブロックチェーンサーバ150aの公開鍵を用いて共通鍵を暗号化することで暗号化済Tx鍵を生成する。暗号化済Tx鍵は、ブロックチェーンサーバ150aの秘密鍵によってのみ復号化される。従って、暗号化復号化処理部213は、ブロックチェーンサーバ150a〜150nの公開鍵を用いて共通鍵を暗号化し、ブロックチェーンサーバ150の数に応じた暗号化済Tx鍵を生成する。
S702において、アプリケーション要求生成部314は、スマートコントラクトパラメータを含む、トランザクションの書き込み要求を生成し、当該書き込み要求をブロックチェーンサーバ150へ送信する。本実施形態では、トランザクションの書き込み要求のスマートコントラクトパラメータには、暗号化済データと、S701における暗号化により生成された暗号化済データと、S503における暗号化により生成された暗号化済Tx鍵とが格納される。本実施形態では一時フィールドを用いない。なお、本実施形態では、S701における暗号化により生成された暗号化済データは、アプリケーションサーバ110とブロックチェーンサーバ150との間で共通鍵を共有するためのデータとして機能する。制御部302は、残りのS505の実行を完了すると、その後処理を終了する。
一方、ブロックチェーンサーバ150の制御部202は、S511において、アプリケーション要求取得部212は、スマートコントラクトパラメータを含むトランザクションの書き込み要求を受信する。
S711において、暗号化復号化処理部213は、スマートコントラクトパラメータに含まれる(自ブロックチェーンサーバの公開鍵で暗号化された)暗号化済Tx鍵から共通鍵(Tx鍵)を復号化する。但し、暗号化復号化処理部213は、自ブロックチェーンサーバの秘密鍵を用いて復号化を行う。そして、復号化により得られた共通鍵を用いて、スマートコントラクトパラメータに含まれる暗号化済データからトランザクションのデータを復号化する。そして、制御部202は、実施形態1と同様に、S512〜S515を実行して、その後、本処理を終了する。
<読出処理における動作>
次に、実施形態2に係る読出処理について、図8(a)および(b)を参照して説明する。図8(a)および(b)は、実施形態1と同様に、それぞれ制御部302および制御部202がそれぞれのプログラムを実行することにより実現される。
アプリケーションサーバ110の制御部302は、実施形態1と同様に、S601〜603の処理を実行して、共通鍵を取得する。次に、S801において、制御部302の暗号化復号化処理部213は、共通鍵を各ブロックチェーンサーバの公開鍵を用いて暗号化する。例えば、ブロックチェーンサーバ150a〜150nの公開鍵を用いて共通鍵をそれぞれ暗号化することで、ブロックチェーンサーバ150の数の暗号化済Tx鍵を生成する。更に、アプリケーション要求生成部314は、暗号化した暗号化済Tx鍵をブロックチェーンサーバ150に送信する。具体的には、アプリケーション要求生成部314は、データ取得要求を生成して、ブロックチェーンサーバ150に送信する。データ取得要求は、スマートコントラクトパラメータに、ブロックチェーンサーバ150に対するデータ取得を要求する命令と、ブロックチェーンサーバの公開鍵を用いて暗号化することで生成された暗号化済Tx鍵が含まれる。暗号化済Tx鍵は、ブロックチェーンに記録されるフィールドに格納される。アプリケーションサーバ110の制御部302は、その後、実施形態1と同様にS604を実行して一連の処理を終了する。
一方、ブロックチェーンサーバ150の制御部202は、S611〜S612を実施形態1と同様に実行する。そして、S802において、暗号化復号化処理部213は、スマートコントラクトパラメータに含まれる(自ブロックチェーンサーバの公開鍵で暗号化された)暗号化済Tx鍵から共通鍵(Tx鍵)を復号化する。但し、暗号化復号化処理部213は、自ブロックチェーンサーバの秘密鍵を用いて復号化を行う。そして、復号化により得られた共通鍵を用いて、スマートコントラクトパラメータに含まれる暗号化済データからトランザクションのデータを復号化する。そして、制御部202は、実施形態1と同様に、S614〜S616を実行して、その後、本処理を終了する。
このように、本実施形態の読出処理では、アプリケーションサーバ110において、ブロックチェーンサーバに関連付けられた公開鍵を用いて共通鍵を暗号化した暗号化済Tx鍵を生成し、この暗号化済Tx鍵をブロックチェーンサーバに送信するようにした。そして、ブロックチェーンサーバでは、自身に関連付けられている公開鍵を用いて暗号化された暗号化済Tx鍵を、自身に関連付けられている秘密鍵を用いて共通鍵を得るようにした。このように、本実施形態では、暗号化済Tx鍵がブロックチェーンに記録されるパラメータとして送信されるものの、暗号化によって保護されているため機密性を確保することができる。例えば、スマートコントラクトパラメータに一時フィールドを設けることができない場合であっても、上述のブロックチェーンの特性を活かしつつ機密データを安全に扱うことができる。
なお、実施形態1のように共通鍵を一時フィールドに格納して送信する方法と、実施形態2のように共通鍵をブロックチェーンサーバ150の公開鍵で暗号化する方法とを切り替えるようにしてもよい。例えば、アプリケーションサーバ110からの送信されるトランザクションの書き込み要求におけるスマートコントラクトパラメータに、共通鍵をいずれの方法で扱うかを示すフラグを付加してもよい。この場合、当該トランザクションを扱うアプリケーションサーバ110とブロックチェーンサーバ150は、フラグに基づいて暗号化の方法がいずれであるかを判定し、判定結果に応じて、共通鍵の復号化や取り扱いを制御すればよい。このようにすれば、システムに求められるセキュリティのレベルや性能要件、ストレージの規模などに応じて、システムの動作を切り替えることができる。
203…記録部、212…アプリケーション要求取得部、213…暗号化復号化処理部、214…ビジネスロジック実行部、215…ブロック書込部、216…ブロック読出部、312…鍵取得部、313…暗号化復号化処理部

Claims (12)

  1. 外部装置と通信する情報処理装置において各工程が実行される情報処理方法であって、
    前記外部装置において共通鍵を用いてトランザクションのデータを暗号化することで生成された第1データと、前記共通鍵とを、前記外部装置から受信する受信工程と、
    前記受信工程において受信された前記共通鍵を用いて、前記第1データから前記トランザクションのデータを復号化する復号化工程と、
    前記第1データから復号化された前記トランザクションのデータに対して所定のビジネスロジックを実行して、前記所定のビジネスロジックの実行結果を出力する処理工程と、
    前記共通鍵を用いて前記所定のビジネスロジックの実行結果を暗号化する暗号化工程と、
    前記暗号化された実行結果を、ブロックチェーンに記録する記録工程と、を有する、ことを特徴とする情報処理方法。
  2. 前記受信工程では、更に、前記トランザクションのデータを参照可能なエンティティに関連付けられた公開鍵を用いて、前記外部装置において前記共通鍵を暗号化することで生成された第2データを、前記外部装置から受信し、
    前記記録工程では、更に、前記第2データを前記ブロックチェーンに記録する、ことを特徴とする請求項1に記載の情報処理方法。
  3. 前記受信工程では、前記共通鍵を、前記ブロックチェーンに記録されないように区別されたフィールドを用いて受信する、ことを特徴とする請求項1または2に記載の情報処理方法。
  4. 前記共通鍵は、前記情報処理装置に関連付けられた公開鍵を用いて、前記外部装置において暗号化され、
    前記受信工程では、前記情報処理装置に関連付けられた公開鍵を用いて暗号化された状態の前記共通鍵を、前記ブロックチェーンに記録されるフィールドを用いて受信する、ことを特徴とする請求項1または2に記載の情報処理方法。
  5. 前記処理工程では、前記第1データから復号化された前記トランザクションのデータに対して、スマートコントラクトを用いて前記所定のビジネスロジックを実行し、前記実行結果を出力する、ことを特徴とする請求項1から4のいずれか1項に記載の情報処理方法。
  6. 前記共通鍵は、トランザクションごとに生成される鍵である、ことを特徴とする請求項1から5のいずれか1項に記載の情報処理方法。
  7. ブロックチェーンに記録されたデータを参照する情報処理装置において各工程が実行される情報処理方法であって、
    トランザクションのデータを参照可能なエンティティに関連付けられた公開鍵を用いて共通鍵を暗号化することで生成された第1データを、前記ブロックチェーンから読み出す第1読出工程と、
    前記第1読出工程において読み出された前記第1データを、前記トランザクションのデータを参照可能な前記エンティティに送信する送信工程と、
    前記トランザクションのデータを参照可能な前記エンティティから、前記共通鍵を受信する受信工程と、
    前記共通鍵を用いて前記トランザクションのデータを暗号化することで生成された第2データを、前記ブロックチェーンから読み出す第2読出工程と、
    前記受信工程において受信された前記共通鍵を用いて前記第2データから前記トランザクションのデータを復号化する復号化工程と、
    前記第2データから復号化された前記トランザクションのデータに対して所定のビジネスロジックを実行して、前記所定のビジネスロジックの実行結果を出力する処理工程と、を有する、ことを特徴とする情報処理方法。
  8. 外部装置と通信する情報処理装置であって、
    前記外部装置において共通鍵を用いてトランザクションのデータを暗号化することで生成された第1データと、前記共通鍵とを、前記外部装置から受信する受信手段と、
    前記受信手段により受信された前記共通鍵を用いて、前記第1データから前記トランザクションのデータを復号化する復号化手段と、
    前記第1データから復号化された前記トランザクションのデータに対して所定のビジネスロジックを実行して、前記所定のビジネスロジックの実行結果を出力する処理手段と、
    ブロックチェーンに記録するために、前記共通鍵を用いて前記所定のビジネスロジックの実行結果を暗号化する暗号化手段と、を有する、ことを特徴とする情報処理装置。
  9. ブロックチェーンに記録されたデータを参照する情報処理装置であって、
    共通鍵を用いてトランザクションのデータを暗号化することで生成された第1データと、前記トランザクションのデータを参照可能なエンティティに関連付けられた公開鍵を用いて、前記共通鍵を暗号化することで生成された第2データとを、前記ブロックチェーンから読み出す読出手段と、
    前記読出手段により読み出された前記第2データを、前記トランザクションのデータを参照可能な前記エンティティに送信する送信手段と、
    前記トランザクションのデータを参照可能な前記エンティティから、前記共通鍵を受信する受信手段と、
    前記受信手段により受信された前記共通鍵を用いて前記第1データから前記トランザクションのデータを復号化する復号化手段と、
    前記第1データから復号化された前記トランザクションのデータに対して所定のビジネスロジックを実行して、前記所定のビジネスロジックの実行結果を出力する処理手段と、を有する、ことを特徴とする情報処理装置。
  10. 第1情報処理装置と第2情報処理装置とで構成される情報処理システムであって、
    第1情報処理装置は、
    共通鍵を生成する生成手段と、
    生成された前記共通鍵を用いてトランザクションのデータを暗号化することで第1データを生成する第1暗号化手段と、
    前記第1データと、前記共通鍵とを、前記第2情報処理装置に送信する送信手段と、を有し、
    前記第2情報処理装置は、
    前記第1データと前記共通鍵とを、前記第1情報処理装置から受信する受信手段と、
    前記受信手段により受信された前記共通鍵を用いて、前記第1データから前記トランザクションのデータを復号化する復号化手段と、
    前記第1データから復号化された前記トランザクションのデータに対して所定のビジネスロジックを実行して、前記所定のビジネスロジックの実行結果を出力する処理手段と、
    ブロックチェーンに記録するために、前記共通鍵を用いて前記所定のビジネスロジックの実行結果を暗号化する第2暗号化手段と、を有する、ことを特徴とする情報処理システム。
  11. 第1情報処理装置と第2情報処理装置とで構成される情報処理システムであって、
    ブロックチェーンに記録されたデータを参照する前記第1情報処理装置は、
    共通鍵を用いてトランザクションのデータを暗号化することで生成された第1データと、前記トランザクションのデータを参照可能な前記第2情報処理装置に関連付けられた公開鍵を用いて、前記共通鍵を暗号化することで生成された第2データとを、前記ブロックチェーンから読み出す読出手段と、
    前記読出手段により読み出された前記第2データを、前記第2情報処理装置に送信する第1送信手段と、
    前記共通鍵を、前記第2情報処理装置から受信する第1受信手段と、
    前記第1受信手段により受信された前記共通鍵を用いて前記第1データから前記トランザクションのデータを復号化する第1復号化手段と、
    前記第1データから復号化された前記トランザクションのデータに対して所定のビジネスロジックを実行して、前記所定のビジネスロジックの実行結果を出力する処理手段と、を有し、
    前記第2情報処理装置は、
    前記第1情報処理装置において読み出された前記第2データを、前記第1情報処理装置から受信する第2受信手段と、
    前記第2情報処理装置に関連付けられた秘密鍵を用いて前記第2データから前記共通鍵を復号化する第2復号化手段と、
    復号化された前記共通鍵を、前記第1情報処理装置に送信する第2送信手段と、を有することを特徴とする情報処理システム。
  12. 情報処理装置のプロセッサに請求項1から7のいずれか1項に記載の情報処理方法の各工程を実行させるためのプログラム。
JP2018236692A 2018-12-18 2018-12-18 情報処理方法、情報処理装置、プログラムならびに情報処理システム Active JP6909452B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018236692A JP6909452B2 (ja) 2018-12-18 2018-12-18 情報処理方法、情報処理装置、プログラムならびに情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018236692A JP6909452B2 (ja) 2018-12-18 2018-12-18 情報処理方法、情報処理装置、プログラムならびに情報処理システム

Publications (2)

Publication Number Publication Date
JP2020099010A true JP2020099010A (ja) 2020-06-25
JP6909452B2 JP6909452B2 (ja) 2021-07-28

Family

ID=71106622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018236692A Active JP6909452B2 (ja) 2018-12-18 2018-12-18 情報処理方法、情報処理装置、プログラムならびに情報処理システム

Country Status (1)

Country Link
JP (1) JP6909452B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037548A (zh) * 2022-06-24 2022-09-09 蚂蚁区块链科技(上海)有限公司 基于区块链的数据安全多方计算的系统、方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014161078A (ja) * 2007-12-27 2014-09-04 Into Inc 情報流通システム、情報端末及びプログラム
JP2017195627A (ja) * 2017-06-23 2017-10-26 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム
JP2018181309A (ja) * 2017-04-20 2018-11-15 株式会社岩手銀行 取引情報提供システム、サーバ装置、ノード装置ならびにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014161078A (ja) * 2007-12-27 2014-09-04 Into Inc 情報流通システム、情報端末及びプログラム
JP2018181309A (ja) * 2017-04-20 2018-11-15 株式会社岩手銀行 取引情報提供システム、サーバ装置、ノード装置ならびにプログラム
JP2017195627A (ja) * 2017-06-23 2017-10-26 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037548A (zh) * 2022-06-24 2022-09-09 蚂蚁区块链科技(上海)有限公司 基于区块链的数据安全多方计算的系统、方法和装置
CN115037548B (zh) * 2022-06-24 2024-01-23 蚂蚁区块链科技(上海)有限公司 基于区块链的数据安全多方计算的系统、方法、装置、介质及设备

Also Published As

Publication number Publication date
JP6909452B2 (ja) 2021-07-28

Similar Documents

Publication Publication Date Title
CN109144961B (zh) 授权文件共享方法及装置
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
WO2021017444A1 (zh) 基于区块链的数据授权方法及装置
EP3395006B1 (en) Method for managing a trusted identity
JP6524347B2 (ja) 情報共有システム
EP2915279B1 (en) Method and system for protected exchange of data
US11765145B2 (en) Controlling access to secured data in multi-system exchange environments
JP7354877B2 (ja) 制御方法、制御プログラムおよび情報処理装置
CN111475850A (zh) 基于智能合约的隐私数据查询方法及装置
WO2020075396A1 (ja) 推論装置、推論方法及び推論プログラム
CN112966022B (zh) 一种数据交易平台的信息查询方法、装置及系统
WO2019082442A1 (ja) データ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラム
US20230138102A1 (en) Method and system for managing decentralized data using attribute-based encryption
JP6293245B1 (ja) 強化されたセキュリティを有する取引相互監視システム
JP6909452B2 (ja) 情報処理方法、情報処理装置、プログラムならびに情報処理システム
KR20160040399A (ko) 개인정보 관리 시스템 및 개인정보 관리 방법
CN108550035A (zh) 一种跨境网银交易方法及跨境网银系统
TWI766171B (zh) 帳戶資料處理方法及帳戶資料處理系統
CN114091058A (zh) 在第一区域和第二区域间数据安全共享的方法和系统
JP2020191552A (ja) シェア分散システムおよび方法
KR102475434B1 (ko) 암호화폐 보안 방법 및 시스템
JP2019071552A (ja) 暗号通信方法、暗号通信システム、鍵発行装置、プログラム
JP7041650B2 (ja) 秘密鍵を再製するためのシステム
US11683159B2 (en) Hybrid content protection architecture
US20230177209A1 (en) Distributed Communication Network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R150 Certificate of patent or registration of utility model

Ref document number: 6909452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150