IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7354877制御方法、制御プログラムおよび情報処理装置
<>
  • 特許-制御方法、制御プログラムおよび情報処理装置 図1
  • 特許-制御方法、制御プログラムおよび情報処理装置 図2
  • 特許-制御方法、制御プログラムおよび情報処理装置 図3
  • 特許-制御方法、制御プログラムおよび情報処理装置 図4
  • 特許-制御方法、制御プログラムおよび情報処理装置 図5
  • 特許-制御方法、制御プログラムおよび情報処理装置 図6
  • 特許-制御方法、制御プログラムおよび情報処理装置 図7A
  • 特許-制御方法、制御プログラムおよび情報処理装置 図7B
  • 特許-制御方法、制御プログラムおよび情報処理装置 図8A
  • 特許-制御方法、制御プログラムおよび情報処理装置 図8B
  • 特許-制御方法、制御プログラムおよび情報処理装置 図9
  • 特許-制御方法、制御プログラムおよび情報処理装置 図10
  • 特許-制御方法、制御プログラムおよび情報処理装置 図11
  • 特許-制御方法、制御プログラムおよび情報処理装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】制御方法、制御プログラムおよび情報処理装置
(51)【国際特許分類】
   H04L 9/08 20060101AFI20230926BHJP
   H04L 9/32 20060101ALI20230926BHJP
【FI】
H04L9/08 A
H04L9/32 200Z
【請求項の数】 10
(21)【出願番号】P 2020033275
(22)【出願日】2020-02-28
(65)【公開番号】P2021136645
(43)【公開日】2021-09-13
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】東角 芳樹
(72)【発明者】
【氏名】藤本 真吾
(72)【発明者】
【氏名】森永 正信
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2021-027443(JP,A)
【文献】特開2017-204070(JP,A)
【文献】特開2019-029933(JP,A)
【文献】国際公開第2019/218055(WO,A1)
【文献】米国特許出願公開第2019/0318356(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンへの資産情報の記録要求と、第1の鍵情報とを受信すると、前記第1の鍵情報と、特定の記憶領域に記憶された第2の鍵情報とに基づき、第3の鍵情報を生成し、
生成した前記第3の鍵情報を用いて、暗号化された複数の鍵情報のうち、前記ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報を生成し、
生成した前記第4の鍵情報と、前記資産情報の記録要求とを前記ブロックチェーンに送信する、
処理をコンピュータが実行することを特徴とする制御方法。
【請求項2】
前記特定の記憶領域は、データの暗号化で保護された記憶領域である、
ことを特徴とする請求項1に記載の制御方法。
【請求項3】
生成した前記第3の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする請求項2に記載の制御方法。
【請求項4】
生成した前記第4の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする請求項3に記載の制御方法。
【請求項5】
前記ブロックチェーンに送信する処理の後に、生成した前記第3の鍵情報および前記第4の鍵情報を前記特定の記憶領域から消去する処理をさらにコンピュータが実行する、
ことを特徴とする請求項4に記載の制御方法。
【請求項6】
複数のブロックチェーンのうち、第1のブロックチェーンへの資産情報の記録要求を受信すると、前記複数のブロックチェーンにそれぞれ対応付けられた複数の暗号化鍵情報のうち、前記第1のブロックチェーンに対応付けられた暗号化鍵情報を取得し、
取得した前記暗号化鍵情報を復号して、復号化鍵情報を生成し、
生成した前記復号化鍵情報と、前記資産情報の記録要求とを前記第1のブロックチェーンに送信する、
処理をコンピュータが実行することを特徴とする制御方法。
【請求項7】
ブロックチェーンへの資産情報の記録要求と、第1の鍵情報とを受信すると、前記第1の鍵情報と、特定の記憶領域に記憶された第2の鍵情報とに基づき、第3の鍵情報を生成し、
生成した前記第3の鍵情報を用いて、暗号化された複数の鍵情報のうち、前記ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報を生成し、
生成した前記第4の鍵情報と、前記資産情報の記録要求とを前記ブロックチェーンに送信する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項8】
複数のブロックチェーンのうち、第1のブロックチェーンへの資産情報の記録要求を受信すると、前記複数のブロックチェーンにそれぞれ対応付けられた複数の暗号化鍵情報のうち、前記第1のブロックチェーンに対応付けられた暗号化鍵情報を取得し、
取得した前記暗号化鍵情報を復号して、復号化鍵情報を生成し、
生成した前記復号化鍵情報と、前記資産情報の記録要求とを前記第1のブロックチェーンに送信する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項9】
ブロックチェーンへの資産情報の記録要求と、第1の鍵情報とを受信すると、前記第1の鍵情報と、特定の記憶領域に記憶された第2の鍵情報とに基づき、第3の鍵情報を生成する秘密分散処理部と、
生成した前記第3の鍵情報を用いて、暗号化された複数の鍵情報のうち、前記ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報を生成する暗号化鍵復号部と、
生成した前記第4の鍵情報と、前記資産情報の記録要求とを前記ブロックチェーンに送信する認証代行部と、
を有することを特徴とする情報処理装置。
【請求項10】
複数のブロックチェーンのうち、第1のブロックチェーンへの資産情報の記録要求を受信すると、前記複数のブロックチェーンにそれぞれ対応付けられた複数の暗号化鍵情報のうち、前記第1のブロックチェーンに対応付けられた暗号化鍵情報を取得する取得部と、
取得した前記暗号化鍵情報を復号して、復号化鍵情報を生成する復号部と、
生成した前記復号化鍵情報と、前記資産情報の記録要求とを前記第1のブロックチェーンに送信する認証代行部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御方法、制御プログラムおよび情報処理装置に関する。
【背景技術】
【0002】
従来、ブロックチェーンを用いた暗号通貨などの資産の交換所では、サイバー攻撃等による盗難のリスクを軽減するために、複数のブロックチェーンに分散して資産を預けることが行われている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-153951号公報
【文献】特表2018-516026号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、ユーザは、端末操作などによりブロックチェーンから資産を移動するための手続きをブロックチェーンごとに行うため、複数のブロックチェーンに対して資産の移動の手続きを行おうとすると手間であるという問題がある。
【0005】
例えば、複数のブロックチェーンから1つのブロックチェーンの口座宛に暗号通貨を送金するには、個々のブロックチェーンのアカウントに対する認証を行った後にそれぞれのブロックチェーンから1つの宛先ブロックチェーンに送金するため、ブロックチェーン数分の認証手続きが生じることとなる。
【0006】
1つの側面では、複数のブロックチェーン間の資産移動を支援することを可能とする制御方法、制御プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、制御方法は、第3の鍵情報を生成する処理と、第4の鍵情報を生成する処理と、送信する処理とをコンピュータが実行する。第3の鍵情報を生成する処理は、ブロックチェーンへの資産情報の記録要求と、第1の鍵情報とを受信すると、第1の鍵情報と、特定の記憶領域に記憶された第2の鍵情報とに基づき、第3の鍵情報を生成する。第4の鍵情報を生成する処理は、生成した第3の鍵情報を用いて、暗号化された複数の鍵情報のうち、ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報を生成する。送信する処理は、生成した第4の鍵情報と、資産情報の記録要求とをブロックチェーンに送信する。
【発明の効果】
【0008】
複数のブロックチェーン間の資産移動を支援することができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態にかかるコネクションチェーンのシステム構成例を示す説明図である。
図2図2は、コンピュータ構成の一例を示すブロック図である。
図3図3は、トラストゾーンの概要を説明する説明図である。
図4図4は、環境設定時の概要を説明する説明図である。
図5図5は、鍵管理システムの機能構成例を示すブロック図である。
図6図6は、スマートコントラクト管理の機能構成例を示すブロック図である。
図7A図7Aは、環境設定時の動作例を示すフローチャートである。
図7B図7Bは、環境設定時の動作例を示すフローチャートである。
図8A図8Aは、鍵管理ブロックチェーンのデータ形式を例示する説明図である。
図8B図8Bは、分割鍵のデータ形式を例示する説明図である。
図9図9は、運用時の概要を説明する説明図である。
図10図10は、資産移転システムの機能構成例を示すブロック図である。
図11図11は、運用時の動作例を示すフローチャートである。
図12図12は、資産移転処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態にかかる制御方法、制御プログラムおよび情報処理装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する制御方法、制御プログラムおよび情報処理装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0011】
図1は、実施形態にかかるコネクションチェーンのシステム構成例を示す説明図である。図1に示すように、コネクションチェーン10は、複数の資産ブロックチェーンCa、Cb、Cc、Cfとインターネット等の通信回線Nを介して接続したシステム構成である。このコネクションチェーン10では、「仮想通貨間の取引を安全に支えるブロックチェーン新技術」、(URL:https://blog.global.fujitsu.com/jp/2018-01-24/01/)にあるように、複数の資産ブロックチェーンCa、Cb、Cc、Cfを連携させ、複数の資産ブロックチェーンCa、Cb、Cc、Cfに分散した資産の取引を行う。
【0012】
本実施形態では、一例として、資産ブロックチェーンCa、Cb、Ccは資産移転元のブロックチェーンとする。また、資産ブロックチェーンCfは、資産移転先のブロックチェーンとする。また、資産移転に関するコネクションチェーン10の利用者をユーザーU1(図4図9参照)とする。
【0013】
コネクションチェーン10は、資産移転システム11と、鍵管理システム12と、監査証跡ブロッチェーンCdと、鍵保管ブロックチェーンCeとを有する。資産移転システム11は、複数の資産ブロックチェーンCa、Cb、Cc、Cfにおける事務手続きや契約処理を自動化するスマートコントラクトに関するプログラム(アプリケーション)を実行するコンピュータである。鍵管理システム12は、複数の資産ブロックチェーンCa、Cb、Cc、Cfに関する鍵情報(分割鍵など)の手続きや操作に関する処理を自動化するスマートコントラクトに関するプログラム(アプリケーション)を実行するコンピュータである。監査証跡ブロッチェーンCdは、監査証跡のためのブロックチェーンである。鍵保管ブロックチェーンCeは、鍵情報を管理するためのブロックチェーンである。
【0014】
図2は、コンピュータ構成の一例を示すブロック図である。図2に示すように、コネクションチェーン10および資産ブロックチェーンCa、Cb、Cc、Cfを構成するシステム(例えば資産移転システム11、鍵管理システム12および各ノード)は、例えばPC(Personal Computer)などの通常のコンピュータの構成である。
【0015】
具体的には、資産移転システム11、鍵管理システム12のコンピュータは、CPU201、外部との通信を行うインターフェース装置202、プログラムなどを記憶する補助記憶装置203およびインターフェース装置202に作業領域を提供するメモリ装置204を有する。これらの各部は、バス205を経由して接続されている。CPU201は、補助記憶装置203に記憶されたプログラムを読み出して、メモリ装置204の作業領域に展開して実行することで、スマートコントラクト等に関する各種の処理を行う。
【0016】
なお、CPU201は、「INTEL SOFTWARE GUARD EXTENSIONS」、(URL:https://software.intel.com/en-us/sgx)におけるIntel(登録商標)SGX(Software Guard Extensions)の機能を備えたCPUである。すなわち、CPU201で実行されるスマートコントラクト等に関する各種の処理や、処理で生成された鍵情報などは、データの暗号化で保護された記憶領域(トラストゾーン)上に格納され、保護される。
【0017】
図3は、トラストゾーンの概要を説明する説明図である。図3に示すように、CPU201は、Intel SGXの機能を用い、Enclaveと呼ばれる暗号化により保護されたトラストゾーン303を生成する。これにより、トラストゾーン303に関連するプロセス(例えばスマートコントラクト等に関するアプリケーション302)からはデータ参照が可能であり、それ以外のプロセス(例えばアプリケーション301やオペレーティングシステム304)からのデータ参照は不可能となる。
【0018】
まず、コネクションチェーン10では、初期の環境設定として、鍵管理システム12において、複数の資産ブロックチェーンCa、Cb、Cc、Cfに関する鍵情報(分割鍵など)の設定を行う。ここで、図4図8Bを参照し、環境設定について説明する。
【0019】
図4は、環境設定時の概要を説明する説明図である。図4に示すように、鍵管理システム12では、ユーザーU1よりPC等の端末13を介して、鍵生成の為のSEEDの入力を受け付け、受け付けたSEEDをもとに共通鍵を生成する(S1)。
【0020】
次いで、鍵管理システム12は、「秘密分散法とその応用について」、「土井 洋」、(URL:https://www.iisec.ac.jp/proc/vol0004/doi.pdf)におけるシャミアの秘密分散法を用いて、生成した共通鍵より、3つのうち2つが揃うと復号可能な2of3の復号分割鍵K1、K2、K3を生成する(S2)。
【0021】
また、鍵管理システム12は、生成した共通鍵を用いて、各資産ブロックチェーンCa、Cb…のユーザーU1の秘密鍵を暗号化し、暗号化された秘密鍵を鍵保管ブロックチェーンCeに登録(保管)する(S3)。
【0022】
生成した復号分割鍵K1、K2、K3については、復号分割鍵K3を非常用に鍵管理システム12で保管する(S4)。復号分割鍵K1は、TLS(Transport Layer Security)等の暗号化通信を用いて端末13へ送信し、ユーザーU1に対して通知する。復号分割鍵K2は、スマートコントラクト管理14を経由して各ノード(ノードN1、N2…)へ配布する。
【0023】
スマートコントラクト管理14は、各ノード(ノードN1、N2…)におけるトラストゾーン303の安全性を検査した上で、復号分割鍵K2を配布する。具体的には、スマートコントラクト管理14は、Remote Attestation機能(「Intel SGX - Remote Attestation概説」、URL:https://qiita.com/Cliffford/items/095b1df450583b4803f2)を使用し、復号分割鍵K2に関する資産管理スマートコントラクト15配布時に各ノード(ノードN1、N2…)のトラストゾーン303をチェックする。
【0024】
次いで、スマートコントラクト管理14は、ノードのトラストゾーン303が安全と確認できた場合(チェックOK)、ブロックチェーンを構成するノードN1には、資産管理スマートコントラクト15、復号分割鍵K2を暗号化した通信により配布し、デプロイする。なお、スマートコントラクト管理14は、ノードのトラストゾーン303が安全と確認できなかった場合(チェックNG)、ブロックチェーンを構成するノードN2には、資産管理スマートコントラクト15、復号分割鍵K2を配布しない。
【0025】
図5は、鍵管理システム12の機能構成例を示すブロック図である。図5に示すように、鍵管理システム12は、共通鍵生成部122、分割鍵生成部123、分割鍵記憶部124、分割鍵配布部125、秘密鍵暗号化部126および秘密鍵書き込み部127を有する。
【0026】
共通鍵生成部122は、共通鍵を生成する処理部である。分割鍵生成部123は、共通鍵生成部122が生成した共通鍵を用いて復号分割鍵K1、K2、K3を生成する処理部である。分割鍵記憶部124は、復号分割鍵K3などの分割鍵を記憶する。分割鍵配布部125は、分割鍵生成部123が生成した復号分割鍵K1、K2、K3を配布する処理部である。秘密鍵暗号化部126は、共通鍵生成部122が生成した共通鍵を用いて各資産ブロックチェーンCa、Cb…のユーザーU1の秘密鍵を暗号化する処理部である。秘密鍵書き込み部127は、秘密鍵暗号化部126が暗号化した鍵情報を鍵保管ブロックチェーンCeに書き込む処理部である。
【0027】
図6は、スマートコントラクト管理14は、機能構成例を示すブロック図である。図6に示すように、スマートコントラクト管理14は、環境検査部142およびスマートコントラクト配布部143を有する。
【0028】
環境検査部142は、Remote Attestation機能を用いて、各ノード(ノードN1、N2…)に資産管理スマートコントラクト15、復号分割鍵K2をデプロイするための環境チェックを行う処理部である。スマートコントラクト配布部143は、環境検査部142による環境チェックをもとに、ノードのトラストゾーン303が安全と確認できた場合に、暗号化した通信により資産管理スマートコントラクト15、復号分割鍵K2を配布する処理部である。
【0029】
図7A図7Bは、環境設定時の動作例を示すフローチャートである。より具体的には、図7Aは、鍵管理システム12における環境設定時の動作例を示す。また、図7Bは、スマートコントラクト管理14における環境設定時の動作例を示す。
【0030】
図7Aに示すように、鍵管理システム12において処理が開始されると、共通鍵生成部122は、ユーザーU1からの、暗号の乱数発生のSEEDの入力を受け付ける(S1001)。次いで、共通鍵生成部122は、SEEDを使って共通鍵を作成する(S1002)。具体的には、共通鍵生成部122は、入力されたSEEDから乱数を発生させて共通鍵を生成する。
【0031】
次いで、秘密鍵暗号化部126は、生成した共通鍵を使って各資産ブロックチェーンCa、Cb…のユーザーU1の秘密鍵を暗号化し、秘密鍵書き込み部127は暗号化した秘密鍵を鍵保管ブロックチェーンCeに保管する(S1003)。
【0032】
図8Aは、鍵保管ブロックチェーンCeのデータ形式を例示する説明図である。図8Aに示すように、分割鍵生成部123は、ユーザーU1の識別情報(ユーザID)と各資産ブロックチェーンCa、Cb…の識別情報(チェーンID)とをキー(Key)として対応付けた上で、暗号化した秘密鍵の情報(Value)を鍵保管ブロックチェーンCeに格納する。
【0033】
図7Aに戻り、S1003に次いで、分割鍵生成部123は、秘密分散法を用いて、生成した共通鍵より、3つのうち2つが揃うと復号可能な3つの復号分割鍵K1、K2、K3に分割(生成)する(S1004)。
【0034】
図8Bは、分割鍵のデータ形式を例示する説明図である。図8Bに示すように、例えば、復号分割鍵K2は、ユーザーU1の識別情報(ユーザID)と、共通鍵から秘密分散で分割された鍵の鍵情報(Value)とが対応付けられている。
【0035】
次いで、分割鍵配布部125は、分割(生成)した復号分割鍵K1、K2、K3を配布し(S1005)、処理を終了する。具体的には、分割鍵配布部125は、復号分割鍵K1をTLS等の暗号化通信を用いて端末13に配布する。また、分割鍵配布部125は、復号分割鍵K2をスマートコントラクト管理14を経由して各ノード(ノードN1、N2…)へ配布する。また、分割鍵配布部125は、復号分割鍵K3を分割鍵記憶部124に格納する。
【0036】
図7Bに示すように、スマートコントラクト管理14において処理が開始されると、環境検査部142は、資産管理スマートコントラクト15の配布先システム(ノードN1、N2…)のトラストゾーン303をRemote Attestation機能を用いてチェックする(S1006)。
【0037】
次いで、スマートコントラクト配布部143は、チェック結果をもとに、配布先システムのトラストゾーン303の環境が安全(OK)であるか否かを判定する(S1007)。OKである場合(S1007:Yes)、スマートコントラクト配布部143は、資産管理スマートコントラクト15をTLS等のセキュアな通信で配送先システムに配布し、デプロイする(S1008)。OKでない場合(S1007:No)、スマートコントラクト配布部143は、資産管理スマートコントラクト15は配布しないで、エラーログに記録する(S1009)。
【0038】
このように、コネクションチェーン10では、秘密分散で分割した復号分割鍵K1、K2、K3を異なる場所に置くことで、共通鍵を1か所に置くによる漏洩のリスクを低減する。これにより、不正に資産ブロックチェーンCa、Cb、Cc、Cfの資産が移転されること防止することができ、セキュリティが向上する。
【0039】
次に、資産ブロックチェーンCa、Cb、Cc、Cf間でユーザーU1の資産を移転するコネクションチェーン10の運用時について、図9図12を参照して説明する。
【0040】
図9は、運用時の概要を説明する説明図である。図9に示すように、先ず、コネクションチェーン10のユーザーU1は、端末13よりHTTPS等のセキュアな通信(TLS通信)でUIサポートシステム16にアクセスし、ID、パスワードによるログイン認証を行う。これにより、ユーザーU1は、資産移転システム11にログインし、資産移転に関する操作を行う。
【0041】
具体的には、ユーザーU1は、端末13から暗号化されたTLS通信でUIサポートシステム16にアクセスし、例えばUIサポートシステム16の操作画面から資産移転元のブロックチェーンとして資産ブロックチェーンCa、Cb、Ccを指定する。また、ユーザーU1は、資産移転先のブロックチェーンとして資産ブロックチェーンCfを指定し、併せて環境設定時に取得済みの復号分割鍵K1を入力し、資産移転の指示を行う。
【0042】
資産移転システム11は、トラストゾーン303において、資産移転計算処理スマートコントラクト901と、監査証跡記録スマートコントラクト905と、資産移転スマートコントラクト908とを有する。
【0043】
資産移転計算処理スマートコントラクト901は、資産移転に関する計算処理を行うスマートコントラクトである。監査証跡記録スマートコントラクト905は、資産移転に関する監査証跡を監査証跡ブロッチェーンCdに記録するスマートコントラクトである。資産移転スマートコントラクト908は、指定された複数のブロックチェーン間の資産移転に関する手続き処理を行うスマートコントラクトである。
【0044】
資産移転システム11の資産移転スマートコントラクト908は、UIサポートシステム16からの資産移転の指示を受けて、資産移転に関する各ブロックチェーンの代理認証を行うための鍵を復号するために、共通鍵を生成する(S10)。具体的には、資産移転スマートコントラクト908は、分割鍵保存部909(図10参照)に保存している復号分割鍵K2と、ユーザーU1より入力された復号分割鍵K1とを用いて、前述した秘密分散法の処理を用いて共通鍵を生成する。
【0045】
なお、資産移転スマートコントラクト908は、UIサポートシステム16より復号分割鍵K1の入力が得られず、鍵管理システム12が非常用に管理している復号分割鍵K3の利用が指示された場合、ユーザーU1に対して所定の認証処理を行う。この認証処理でユーザーU1の確認が得られた場合、資産移転スマートコントラクト908は、鍵管理システム12が管理する復号分割鍵K3と、復号分割鍵K2とを用いて共通鍵を生成する。
【0046】
次いで、資産移転スマートコントラクト908は、鍵保管ブロックチェーンCeから各暗号化鍵A、B、Cを取り出し、生成した共通鍵を用いて資産ブロックチェーンCa、Cb、Ccの鍵(A’、B’、C’)を復号してメモリ(トラストゾーン303)上に展開する。
【0047】
次いで、資産移転スマートコントラクト908は、復号した鍵(A’、B’、C’)を用いて資産ブロックチェーンCa、Cb、Ccに代理認証を行う。具体的には、資産移転スマートコントラクト908は、鍵A’を用いて資産ブロックチェーンCaに代理認証を行う。同様に、資産移転スマートコントラクト908は、鍵B’を用いて資産ブロックチェーンCbに代理認証を行い、鍵C’を用いて資産ブロックチェーンCcに代理認証を行う。
【0048】
資産移転計算処理スマートコントラクト901は、認証後の資産ブロックチェーンCa、Cb、Ccより残高を取得し、UIサポートシステム16で入力された移転金額の合計より資産ブロックチェーンCa、Cb、Ccから資産ブロックチェーンCfへの資産移転量を決定して資産移転を実行する。
【0049】
監査証跡記録スマートコントラクト905では、一連の資産移転の過程(ログ)を収集し、収集したログを監査証跡として残すための監査証跡情報として監査証跡ブロッチェーンCdに保存する。
【0050】
図10は、資産移転システム11の機能構成例を示すブロック図である。図10に示すように、資産移転計算処理スマートコントラクト901は、保有資産カウント部902、引き出し資産計算部903および資産引き出し部904を有する。
【0051】
保有資産カウント部902は、各ブロックチェーン(例えば資産ブロックチェーンCa、Cb、Cc)よりユーザーU1に該当する保有資産を読み出し、カウントする処理部である。これにより、資産移転システム11は、ユーザーU1が各ブロックチェーンにおいて保有している資産量(例えば保有金額)を得ることができる。引き出し資産計算部903は、ブロックチェーン(例えば資産ブロックチェーンCa、Cb、Cc)ごとに、引き出し資産の計算処理を行う処理部である。資産引き出し部904は、ブロックチェーン(例えば資産ブロックチェーンCa、Cb、Cc)ごとに、ユーザーU1に該当する保有資産からの資産の引き出し処理を行う処理部である。
【0052】
監査証跡記録スマートコントラクト905は、監査データ収集部906および監査証跡記録部907を有する。監査データ収集部906は、一連の資産移転の過程(ログ)を収集する処理部である。監査証跡記録部907は、監査データ収集部906が収集したログを監査証跡情報として監査証跡ブロッチェーンCdに記録する処理部である。
【0053】
資産移転スマートコントラクト908は、分割鍵保存部909、秘密分散処理部910、暗号化鍵復号部911および認証代行部912を有する。
【0054】
分割鍵保存部909は、ユーザーU1より入力された復号分割鍵K1や、環境設定時に設定された復号分割鍵K2などの鍵情報を記憶する。秘密分散処理部910は、秘密分散法の処理を用いて、復号分割鍵K1、K2、K3より共通鍵を生成する処理部である。暗号化鍵復号部911は、鍵保管ブロックチェーンCeからユーザーU1の暗号化鍵A、B、Cを取り出し、生成した共通鍵を用いて資産ブロックチェーンCa、Cb、Ccの鍵(A’、B’、C’)を復号する処理部である。認証代行部912は、復号した鍵(A’、B’、C’)を用いて資産ブロックチェーンCa、Cb、Ccに代理認証を行う処理部である。
【0055】
図11は、運用時の動作例を示すフローチャートである。図11に示すように処理が開始されると、ユーザーU1は、UIサポートシステム16にログインし、資産移転情報(資産の移転額、資産移転元のブロックチェーンおよび資産移転先のブロックチェーン)と、復号分割鍵K1を入力する(S1101)。
【0056】
次いで、資産移転システム11のトラストゾーン303上の資産移転スマートコントラクト908では、入力された復号分割鍵K1と、分割鍵保存部909が保存している復号分割鍵K2とをもとに、秘密分散処理部910が秘密分散法の処理を用いて共通鍵を生成する(S1102)。
【0057】
次いで、資産移転スマートコントラクト908では、暗号化鍵復号部911が鍵保管ブロックチェーンCeから資産の保存されている各ブロックチェーンの各暗号化鍵A、B、Cを取り出し、共通鍵を用いて復号する。次いで、認証代行部912が復号した鍵(A’、B’、C’)を用いて資産ブロックチェーンCa、Cb、Ccに代理認証し、資産移転を指示する(S1103)。この代理認証により、各資産ブロックチェーンCa、Cb、Ccからの資産移転(資産の引き出し)が可能となる。なお、認証代行部912は、代理認証によるブロックチェーンに送信する処理(S1103)の後に、生成した共通鍵および復号した鍵(A’、B’、C’)をトラストゾーン303から消去する。
【0058】
次いで、資産移転計算処理スマートコントラクト901では、保有資産カウント部902が各ブロックチェーンの残高を取得し、引き出し資産計算部903が入力された移転資産の合計と、各ブロックチェーンの残高から各ブロックチェーンの資産移転量を計算し、決定する。次いで、決定した各ブロックチェーンの資産移転量をもとに、資産引き出し部904が資産移転元ブロックチェーン(例えば資産ブロックチェーンCa、Cb、Cc)から資産移転先ブロックチェーン(例えば資産ブロックチェーンCf)に資産を移転する(S1104)。
【0059】
図12は、資産移転処理の一例を示すフローチャートである。図12に示すように、処理が開始されると、引き出し資産計算部903は、資産移転量を読み出す(S1201)。
【0060】
次いで、引き出し資産計算部903は、資産移転元の各ブロックチェーン(例えば資産ブロックチェーンCa、Cb、Cc)からの移転量を計算する(S1202)。具体的には、引き出し資産計算部903は、ブロックチェーンの預金(保有資産)の引き出しを、ブロックチェーン数による頭割りではなく、引き出しの使用頻度に応じた重み付けで引き出すようにする。例えば、引き出し資産計算部903は、各ブロックチェーンの使用頻度の実績がログなどとして記録された使用頻度情報920を参照し、各チェーンの引き落とし額=(振り込み額)×(使用頻度に応じた重み値)などとして、各ブロックチェーンの移転量を計算する。
【0061】
次いで、引き出し資産計算部903は、各チェーンの移転量が預金額(保有資産)より小さいか否かを判定する(S1203)。移転量が預金額を上回る場合(S1203:No)、引き出し資産計算部903は、移転量の最大額をブロックチェーンから移転する。次いで、引き出し資産計算部903は、残りの資産移転量を残ったブロックチェーンの使用頻度を100%にした場合の割合にして再計算し(S1204)、S1202へ処理を戻す。
【0062】
すなわち、引き出し資産計算部903は、各ブロックチェーンの引き落とし額(移転量)が預金額(保有資産)を上回る場合、引き出せる最大額を引き出すようにする。そして、引き出し資産計算部903は、残額を残りのブロックチェーンの使用頻度の合計を100%になるようにして、引き落とし額を再度決める。
【0063】
次いで、資産引き出し部904は、資産移転元の各ブロックチェーン(例えば資産ブロックチェーンCa、Cb、Cc)の移転量で、資産移転先のブロックチェーン(例えば資産ブロックチェーンCf)に資産を移転する(S1205)。
【0064】
図11に戻り、S1104に次いで、監査証跡記録スマートコントラクト905では、資産移転状況(ログ)を監査データ収集部906で収集し、収集したログを監査証跡情報として監査証跡ブロッチェーンCdに記録し(S1105)、処理を終了する。
【0065】
以上のように、資産移転システム11の資産移転スマートコントラクト908では、資産ブロックチェーンCa、Cb、Cc、Cfへの資産情報の記録要求と、復号分割鍵K1(第1の鍵情報)とを受信すると、復号分割鍵K1と、特定の記憶領域(トラストゾーン303)に記憶された復号分割鍵K2(第2の鍵情報)とに基づき、共通鍵(第3の鍵情報)を生成する。また、資産移転スマートコントラクト908では、生成した共通鍵を用いて、暗号化された複数の鍵情報(暗号化鍵A、B、C)のうち、ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報(鍵A’、B’、C’)を生成する。また、資産移転スマートコントラクト908では、生成した第4の鍵情報と、資産情報の記録要求とをブロックチェーンに送信する。
【0066】
これにより、ユーザーU1は、例えば資産移転スマートコントラクト908において1回の手続き(資産情報の記録要求および復号分割鍵K1の送信)を行えば、複数のブロックチェーンに対応付けられた鍵情報それぞれを復号した上で複数のブロックチェーンに対する資産の移転手続きを行うことができる。このように、資産移転システム11では、複数のブロックチェーン間の資産移転に関するユーザーU1の負荷を軽減するように、複数のブロックチェーン間の資産移動を支援することができる。
【0067】
また、トラストゾーン303は、データの暗号化で保護された記憶領域である。これにより、例えば資産移転スマートコントラクト908などの、保護された記憶領域にアクセス可能なスマートコントラクトに関するプロセス以外のプロセスからデータが参照されることを抑止することができ、復号分割鍵K2の漏洩を防止することができる。
【0068】
また、生成した第3の鍵情報(共通鍵)は、トラストゾーン303に格納される。これにより、例えば資産移転スマートコントラクト908などのスマートコントラクトに関するプロセス以外のプロセスからデータが参照されることを抑止することができ、共通鍵の漏洩を防止することができる。
【0069】
また、生成した第4の鍵情報(鍵A’、B’、C’)は、トラストゾーン303に格納される。これにより、例えば資産移転スマートコントラクト908などのスマートコントラクトに関するプロセス以外のプロセスからデータが参照されることを抑止することができ、第4の鍵情報(鍵A’、B’、C’)の漏洩を防止することができる。
【0070】
なお、トラストゾーン303の記憶容量は限られている。このため、多数のブロックチェーンがあり、全てのブロックチェーンに関する鍵情報をトラストゾーン303に保持するとなると、記憶容量の点で厳しい。例えば、ブロックチェーンが100個あり、ユーザーU1が100人いた場合、鍵の数は10000個(=100×100)となる。一方、復号分割鍵K2は、ユーザーU1の数だけ保有すればよい。例えば、ユーザーU1の人数が100人であれば、ユーザIDごとに管理される復号分割鍵K2は100個となる。
【0071】
本実施形態では、ユーザーU1の人数分の復号分割鍵K2をトラストゾーン303に格納する(図8参照)。そして、ブロックチェーンの鍵情報が必要となったときに、その必要となった鍵情報(第3の鍵情報、第4の鍵情報)を生成して、トラストゾーン303に格納する。このため、鍵情報を保有するために要するトラストゾーン303の記憶容量を抑制することができる。
【0072】
また、資産移転スマートコントラクト908では、ブロックチェーンに送信する処理の後に、生成した第3の鍵情報(共通鍵)および第4の鍵情報(鍵A’、B’、C’)をトラストゾーン303から消去する。このように、ブロックチェーンへの送信後に不要となった鍵情報をトラストゾーン303から消去するので、トラストゾーン303の記憶容量が圧迫されることを抑制することができる。
【0073】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0074】
また、資産移転システム11、鍵管理システム12で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、資産移転システム11、鍵管理システム12で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【0075】
ところで、上記の実施形態で説明した各種の処理は、補助記憶装置203などに予め格納されたプログラムをコンピュータ(図2参照)で実行することで実現できる。このプログラムは、補助記憶装置203に記憶されていなくてもよい。例えば、コンピュータが読み取り可能な記憶媒体に記憶されたプログラムを読み出して実行するようにしてもよい。コンピュータが読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にプログラムを記憶させておき、コンピュータが、これらからインターフェース装置202などを介してプログラムを読み出し、実行するようにしてもよい。
【0076】
以上の実施形態に関し、さらに以下の付記を開示する。
【0077】
(付記1)ブロックチェーンへの資産情報の記録要求と、第1の鍵情報とを受信すると、前記第1の鍵情報と、特定の記憶領域に記憶された第2の鍵情報とに基づき、第3の鍵情報を生成し、
生成した前記第3の鍵情報を用いて、暗号化された複数の鍵情報のうち、前記ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報を生成し、
生成した前記第4の鍵情報と、前記資産情報の記録要求とを前記ブロックチェーンに送信する、
処理をコンピュータが実行することを特徴とする制御方法。
【0078】
(付記2)前記特定の記憶領域は、データの暗号化で保護された記憶領域である、
ことを特徴とする付記1に記載の制御方法。
【0079】
(付記3)生成した前記第3の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする付記2に記載の制御方法。
【0080】
(付記4)生成した前記第4の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする付記3に記載の制御方法。
【0081】
(付記5)前記ブロックチェーンに送信する処理の後に、生成した前記第3の鍵情報および前記第4の鍵情報を前記特定の記憶領域から消去する処理をさらにコンピュータが実行する、
ことを特徴とする付記4に記載の制御方法。
【0082】
(付記6)複数のブロックチェーンのうち、第1のブロックチェーンへの資産情報の記録要求を受信すると、前記複数のブロックチェーンにそれぞれ対応付けられた複数の暗号化鍵情報のうち、前記第1のブロックチェーンに対応付けられた暗号化鍵情報を取得し、
取得した前記暗号化鍵情報を復号して、復号化鍵情報を生成し、
生成した前記復号化鍵情報と、前記資産情報の記録要求とを前記第1のブロックチェーンに送信する、
処理をコンピュータが実行することを特徴とする制御方法。
【0083】
(付記7)ブロックチェーンへの資産情報の記録要求と、第1の鍵情報とを受信すると、前記第1の鍵情報と、特定の記憶領域に記憶された第2の鍵情報とに基づき、第3の鍵情報を生成し、
生成した前記第3の鍵情報を用いて、暗号化された複数の鍵情報のうち、前記ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報を生成し、
生成した前記第4の鍵情報と、前記資産情報の記録要求とを前記ブロックチェーンに送信する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【0084】
(付記8)前記特定の記憶領域は、データの暗号化で保護された記憶領域である、
ことを特徴とする付記7に記載の制御プログラム。
【0085】
(付記9)生成した前記第3の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする付記8に記載の制御プログラム。
【0086】
(付記10)生成した前記第4の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする付記9に記載の制御プログラム。
【0087】
(付記11)前記ブロックチェーンに送信する処理の後に、生成した前記第3の鍵情報および前記第4の鍵情報を前記特定の記憶領域から消去する処理をさらにコンピュータに実行させる、
ことを特徴とする付記10に記載の制御プログラム。
【0088】
(付記12)複数のブロックチェーンのうち、第1のブロックチェーンへの資産情報の記録要求を受信すると、前記複数のブロックチェーンにそれぞれ対応付けられた複数の暗号化鍵情報のうち、前記第1のブロックチェーンに対応付けられた暗号化鍵情報を取得し、
取得した前記暗号化鍵情報を復号して、復号化鍵情報を生成し、
生成した前記復号化鍵情報と、前記資産情報の記録要求とを前記第1のブロックチェーンに送信する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【0089】
(付記13)ブロックチェーンへの資産情報の記録要求と、第1の鍵情報とを受信すると、前記第1の鍵情報と、特定の記憶領域に記憶された第2の鍵情報とに基づき、第3の鍵情報を生成する秘密分散処理部と、
生成した前記第3の鍵情報を用いて、暗号化された複数の鍵情報のうち、前記ブロックチェーンに対応付けられた鍵情報を復号して、第4の鍵情報を生成する暗号化鍵復号部と、
生成した前記第4の鍵情報と、前記資産情報の記録要求とを前記ブロックチェーンに送信する認証代行部と、
を有することを特徴とする情報処理装置。
【0090】
(付記14)前記特定の記憶領域は、データの暗号化で保護された記憶領域である、
ことを特徴とする付記13に記載の情報処理装置。
【0091】
(付記15)生成した前記第3の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする付記14に記載の情報処理装置。
【0092】
(付記16)生成した前記第4の鍵情報は、前記特定の記憶領域に格納される、
ことを特徴とする付記15に記載の情報処理装置。
【0093】
(付記17)前記認証代行部は、前記ブロックチェーンへの送信後に、生成した前記第3の鍵情報および前記第4の鍵情報を前記特定の記憶領域から消去する、
ことを特徴とする付記16に記載の情報処理装置。
【0094】
(付記18)複数のブロックチェーンのうち、第1のブロックチェーンへの資産情報の記録要求を受信すると、前記複数のブロックチェーンにそれぞれ対応付けられた複数の暗号化鍵情報のうち、前記第1のブロックチェーンに対応付けられた暗号化鍵情報を取得する取得部と、
取得した前記暗号化鍵情報を復号して、復号化鍵情報を生成する復号部と、
生成した前記復号化鍵情報と、前記資産情報の記録要求とを前記第1のブロックチェーンに送信する認証代行部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【0095】
10…コネクションチェーン
11…資産移転システム
12…鍵管理システム
13…端末
14…スマートコントラクト管理
15…資産管理スマートコントラクト
16…UIサポートシステム
122…共通鍵生成部
123…分割鍵生成部
124…分割鍵記憶部
125…分割鍵配布部
126…秘密鍵暗号化部
127…秘密鍵書き込み部
142…環境検査部
143…スマートコントラクト配布部
201…CPU
202…インターフェース装置
203…補助記憶装置
204…メモリ装置
205…バス
301、302…アプリケーション
303…トラストゾーン
304…オペレーティングシステム
901…資産移転計算処理スマートコントラクト
902…保有資産カウント部
903…引き出し資産計算部
904…資産引き出し部
905…監査証跡記録スマートコントラクト
906…監査データ収集部
907…監査証跡記録部
908…資産移転スマートコントラクト
909…分割鍵保存部
910…秘密分散処理部
911…暗号化鍵復号部
912…認証代行部
920…使用頻度情報
A、B、C…暗号化鍵
Ca、Cb、Cc、Cf…資産ブロックチェーン
Cd…監査証跡ブロッチェーン
Ce…鍵保管ブロックチェーン
K1、K2、K3…復号分割鍵
N…通信回線
N1、N2…ノード
U1…ユーザー
図1
図2
図3
図4
図5
図6
図7A
図7B
図8A
図8B
図9
図10
図11
図12