以下、図面を参照して本コンテンツ取引システムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
[一実施形態に係るコンテンツ取引システムのハードウェア構成例]
はじめに、図1は、実施形態の一例としてのコンテンツ取引システム1のハードウェア構成を例示する図である。
この図1に例示するように、コンテンツ取引システム1は、ブロックチェーン10,20,25を備える。これらのブロックチェーン10,20,25は、それぞれ、単に、BC10,BC20,BC25とも表す。なお、図1では、3つのブロックチェーンを備える場合を例示したが、コンテンツ取引システム1が備えるブロックチェーンは4つ以上であってもよい。
また、図1に例示するように、これらのBC10,BC20は、それぞれ、各ブロックチェーンの利用者が用いるクライアントコンピュータ50A,50Bを備える。以下、クライアントコンピュータを示す符号としては、複数のクライアントコンピュータのうち1つを特定する必要があるときには符号50A,50Bを用いるが、任意のクライアントコンピュータを指すときには符号50を用いる。
なお、図1は、BC10,BC20が、それぞれ1人の利用者を備える場合、すなわち、1つのクライアントコンピュータ50を備える場合を例示したが、それぞれ、2以上の利用者、すなわち、2つ以上のクライアントコンピュータ50を備えてもよい。各ブロックチェーン内では、ブロックチェーンを構成するノード間で、例えば、ピア・ツー・ピア技術(Peer-To-Peer;P2P)を用いた通信(ピア・ツー・ピア接続)が実行されることにより、ブロックチェーン10,20が実現される。
図1に例示するコンテンツ取引システム1は、BC10の利用者とBC20の利用者との間での資産の取引を実現するものである。なお、本実施形態では、図1に例示するように、資産の取引のうち資産(コンテンツ)の移転を取り上げ、BC10の利用者から、BC20の利用者に対する資産の移転を例示する。
なお、図1に例示するように、資産の移転元である利用者、又は、当該利用者が利用するコンピュータをコンテンツ送信者Aともいう。また、資産の移転先である利用者、又は、当該利用者が利用するコンピュータをコンテンツ受信者Bともいう。なお、移転対象の資産は、例えば通貨のような数値型のものに限られず、例えば、ライセンス情報のような非数値型の電子コンテンツであってもよい。
さらに、図1に例示するように、BC25は、当該BC25の利用者が用いる承認者コンピュータ70C1,70C2を備える。以下、承認者コンピュータを示す符号としては、複数の承認者コンピュータのうち1つを特定する必要があるときには符号70C1,70C2を用いるが、任意の承認者コンピュータを指すときには符号70を用いる。なお、本実施形態において、承認者コンピュータ70の利用者を承認者という。
また、図1は、BC25が、2人の承認者を備える場合、すなわち、2つの承認者コンピュータ70を備える場合を例示したが、これに限られない。
また、図1に例示するように、BC10,BC20は、それぞれ、連携ノード40A,40Bを備える。以下、連携ノードを示す符号としては、複数の連携ノードのうち1つを特定する必要があるときには符号40A,40Bを用いるが、任意の連携ノードを指すときには符号40を用いる。
この連携ノード40は、異なるブロックチェーン間でのコンテンツの移転処理を、利用者に代わって行なう。なお、これらの連携ノード40A,40Bは、それぞれ、移転元連携ノード40A,移転先連携ノード40Bともいい、連携ノード40は単にノードともいう。
さらに、これらBC10(連携ノード40A)とBC20(連携ノード40B)との間に仲介システム30を備える。この仲介システム30は、異なるブロックチェーン間(図1ではBC10とBC20との間)の通信を仲介する。また、連携ノード40と仲介システム30とは、それぞれ、インターネット等のネットワークを介して接続される。
例えば、BC10の利用者(コンテンツ送信者A)が、他のブロックチェーン(BC20)の利用者(コンテンツ受信者B)に対してコンテンツの移転処理を実行する場合を例にとる。この場合、連携ノード40Aは、自身が属するブロックチェーン(BC10)の利用者(コンテンツ送信者A)から移転処理の実行依頼を受け取る。そして、連携ノード40Aは、仲介システム30を介して移転処理を行なう。そして、仲介システム30は、移転先のブロックチェーン(BC20)に属する連携ノード40B(移転先連携ノード40B)を介して、コンテンツ受信者Bに対してコンテンツを移転する。
さらに、図1に例示するように、BC10,BC20は、それぞれ、鍵管理システム60A,60Bを備える。以下、鍵管理システムを示す符号としては、複数の鍵管理システムのうち1つを特定する必要があるときには符号60A,60Bを用いるが、任意の鍵管理システムを指すときには符号60を用いる。
鍵管理システム60は、暗号化に用いる鍵の生成や、後述するトランザクションの発行等を行なう。そして、鍵管理システム60は、例えば、インターネット等のネットワークを介して、連携ノード40、クライアントコンピュータ50、及び、仲介システム30と接続される。
なお、これら鍵管理システム60A,60Bは、それぞれ、移転元鍵管理システム60A,移転先鍵管理システム60Bともいう。
また、承認者コンピュータ70は、コンテンツの暗号化に必要な承認者の鍵を生成する。なお、本実施形態においては、これらの承認者コンピュータ70C1,70C2は、それぞれ、承認者C1,C2によって利用されるものとしたが、これに限られない。
なお、上述した連携ノード40、仲介システム30、鍵管理システム60、及び、承認者コンピュータ70は、サーバ機能を有するコンピュータによって実現されてもよい。また、この仲介システム30は、ブロックチェーンの公知のスマートコントラクト技術を用いて構築されてもよい。
[一実施形態に係るコンテンツ取引システムにおける各装置のハードウェア構成例]
上述したコンテンツ取引システム1における各装置(仲介システム30,連携ノード40,クライアントコンピュータ50,鍵管理システム60,承認者コンピュータ70)のハードウェア構成について説明する。
図2は、実施形態の一例としてのコンテンツ取引システム1における仲介システム30のハードウェア構成を例示する図である。
この図2を用いて、図1に示す仲介システム30のハードウェア構成を説明する。
仲介システム30は、例えば、サーバ機能を備えるコンピュータ(情報処理装置)であり、例示的に、CPU(Central Processing Unit)31、記憶部320、台帳記憶部321、鍵情報記憶部322を備えてよい。さらに、仲介システム30は、例えば、メモリ33、IF部34、入力部35、及び、表示部36を備えてよい。
CPU31は、後述する記憶部320に格納されるOS(Operating System)やプログラムを実行する。そして、CPU31は、例えば、連携ノード40Aや鍵管理システム60Aから入力された要求に応じ、例えば、連携ノード40Bへのアクセスを実行すべく仲介システム30を制御する。また、例えば、コンテンツ取引システム1における通信を実現すべく仲介システム30を制御する。本実施形態では、CPU31は、後述する仲介プログラム38を実行する。
記憶部320、台帳記憶部321、及び、鍵情報記憶部322は、種々のデータやプログラム等を格納するハードウェアの一例である。例えば、記憶部320、台帳記憶部321、及び、鍵情報記憶部322は、仲介システム30において二次記憶装置として使用されてよく、OSやファームウェア、アプリケーション等のプログラム、及び、各種データが格納されてよい。記憶部320、台帳記憶部321、及び、鍵情報記憶部322としては、例えば、HDD(Hard Disk Drive)等の磁気ディスク装置の他、SSD(Solid State Drive)やSCM(Storage Class Memory)等の半導体記憶装置が挙げられる。また、記憶部320は、仲介システム30の各種機能の全部若しくは一部を実現するプログラムを格納してもよい。なお、記憶部320、台帳記憶部321、及び、鍵情報記憶部322のうち、少なくとも2つが同一のハードウェアであってもよい。
メモリ33は、種々のデータやプログラムを格納するハードウェアの一例である。メモリ33としては、揮発性メモリ、例えば、DRAM(Dynamic RAM)等のRAMが挙げられる。なお、RAMはRandom Access Memoryの略称である。
IF部34は、インターネット等のネットワークを介して、連携ノード40や鍵管理システム60との間の各接続及び各通信の制御等を行なう通信インタフェースの一例である。例えば、IF部34としては、イーサネット(登録商標)、光通信(例えばFibre Channel)等に準拠したアダプタが挙げられる。なお、仲介システム30は、図示しない管理者の管理端末との間の接続及び通信の制御等を行なう通信インタフェースを備えてもよく、当該通信インタフェースを用いて仲介プログラム38をダウンロードしてもよい。
入力部35は、例えば、マウス、キーボード、タッチパネル、操作ボタン等の入力装置の少なくともいずれか一つを含んでよい。
表示部36は、例えば、ディスプレイや、プロジェクタ、スピーカ、プリンタ等の出力装置の少なくともいずれか一つを含んでよい。
次に、図3を用いて、図1に示す連携ノード40のハードウェア構成を説明する。
図3は、実施形態の一例としてのコンテンツ取引システム1における連携ノード40のハードウェア構成を例示する図である。
連携ノード40は、例えば、サーバ機能を備えるコンピュータ(情報処理装置)であり、例示的に、CPU41、記憶部42、メモリ43、IF部44、入力部45、及び、表示部46を備えてよい。なお、記憶部42、メモリ43、入力部45、及び、表示部46は、それぞれ、図2を用いて説明した仲介システム30の記憶部320、メモリ33、入力部35、及び、表示部36と概ね同様であるので説明を省略する。
CPU41は、記憶部42に格納されるOSやプログラムを実行し、例えば、鍵管理システム60から入力された要求に応じ、例えば、仲介システム30へのアクセスを実行すべく連携ノード40を制御する。本実施形態では、CPU41は、後述する連携プログラム47を実行する。
IF部44は、インターネット等のネットワークを介して、鍵管理システム60や仲介システム30との間の接続や通信の制御等を行なう通信インタフェースの一例である。なお、連携ノード40は、図示しない管理者の管理端末との間の接続及び通信の制御等を行なう通信インタフェースを備えてもよく、当該通信インタフェースを用いて連携プログラム47をダウンロードしてもよい。
次に、図4を用いて、図1に示すクライアントコンピュータ50のハードウェア構成を説明する。
図4は、実施形態の一例としてのコンテンツ取引システム1におけるクライアントコンピュータ50のハードウェア構成を例示する図である。
クライアントコンピュータ50は、例えば、携帯電話等のコンピュータ(情報処理装置)であり、例示的に、CPU51、記憶部52、メモリ53、IF部54、入力部55、及び、表示部56を備えてよい。なお、記憶部52、メモリ53、入力部55、及び、表示部56は、それぞれ、図2を用いて説明した仲介システム30の記憶部320、メモリ33、入力部35、及び、表示部36と概ね同様であるので説明を省略する。
CPU51は、記憶部52に格納されるOSやプログラムを実行し、例えば、当該クライアントコンピュータ50の利用者から入力された要求に応じ、例えば、クライアントコンピュータ50を制御する。本実施形態では、CPU51は、後述するクライアントプログラム57を実行する。
IF部54は、インターネット等のネットワークを介して、鍵管理システム60、及び、自身が属するブロックチェーン(の他のクライアントコンピュータ50)との間の各接続及び各通信の制御等を行なう通信インタフェースの一例である。なお、クライアントコンピュータ50は、図示しない管理者の管理端末との間の接続及び通信の制御等を行なう通信インタフェースを備えてもよく、当該通信インタフェースを用いクライアントプログラム57をダウンロードしてもよい。
次に、図5を用いて、図1に示す鍵管理システム60のハードウェア構成を説明する。
図5は、実施形態の一例としてのコンテンツ取引システム1における鍵管理システム60のハードウェア構成を例示する図である。
鍵管理システム60は、例えば、サーバ機能を備えるコンピュータ(情報処理装置)であり、例示的に、CPU61、記憶部62、メモリ63、IF部64、入力部65、及び、表示部66を備えてよい。なお、記憶部62、メモリ63、入力部65、及び、表示部66は、それぞれ、図2を用いて説明した仲介システム30の記憶部320、メモリ33、入力部35、及び、表示部36と概ね同様であるので説明を省略する。
CPU61は、記憶部62に格納されるOSやプログラムを実行し、例えば、連携ノード40、クライアントコンピュータ50、及び、仲介システム30から入力された要求に応じ、例えば、鍵管理システム60を制御する。本実施形態では、CPU61は、後述する鍵管理プログラム67を実行する。
IF部64は、インターネット等のネットワークを介して、連携ノード40、クライアントコンピュータ50、及び、仲介システム30との間の接続及び通信の制御等を行なう通信インタフェースの一例である。なお、鍵管理システム60は、図示しない管理者の管理端末との間の接続及び通信の制御等を行なう通信インタフェースを備えてもよく、当該通信インタフェースを用いて鍵管理プログラム67をダウンロードしてもよい。
次に、図6を用いて、図1に示す承認者コンピュータ70のハードウェア構成を説明する。
図6は、実施形態の一例としてのコンテンツ取引システム1における承認者コンピュータ70のハードウェア構成を例示する図である。
承認者コンピュータ70は、例えば、コンピュータ(情報処理装置)であり、例示的に、CPU71、記憶部72、メモリ73、IF部74、入力部75、及び、表示部76を備えてよい。なお、記憶部72、メモリ73、入力部75、及び、表示部76は、それぞれ、図2を用いて説明した仲介システム30の記憶部320、メモリ33、入力部35、及び、表示部36と概ね同様であるので説明を省略する。
CPU71は、記憶部72に格納されるOSやプログラムを実行し、例えば、仲介システム30から入力された要求に応じ、例えば、承認者コンピュータ70を制御する。本実施形態では、CPU71は、後述する承認プログラム77を実行する。
IF部74は、インターネット等のネットワークを介して、仲介システム30との間の接続や通信の制御等を行なう通信インタフェースである。なお、承認者コンピュータ70は、図示しない管理者の管理端末との間の接続及び通信の制御等を行なう通信インタフェースを備えてもよく、当該通信インタフェースを用いて承認プログラム77をダウンロードしてもよい。
[一実施形態に係るコンテンツ取引システムにおける各装置の機能構成例]
上述したコンテンツ取引システム1における各装置(仲介システム30,連携ノード40,クライアントコンピュータ50,鍵管理システム60,承認者コンピュータ70)の機能構成について説明する。
[仲介システム]
図7は、実施形態の一例としてのコンテンツ取引システム1における仲介システム30の機能構成を例示する図である。
この図7を用いて、図1に示す仲介システム30の機能構成を説明する。
この図7に例示するように、仲介システム30は、例示的に、ブロックチェーン通信部81、ブロックチェーン制御部82、及び、鍵管理部83を備えてもよい。また、仲介システム30の台帳記憶部321は台帳90Dを備えてもよく、仲介システム30の鍵情報記憶部322は鍵情報91を備えてもよい。また、これらの台帳90D、及び、鍵情報91は、同一の記憶部に備えられてもよい。
まず、仲介システム30のブロックチェーン通信部81は、当該コンテンツ取引システム1に備えられる、連携ノード40、鍵管理システム60、及び、承認者コンピュータ70との通信を行なう。
このブロックチェーン通信部81は、図7に例示するように、トランザクション送受信部811、及び、ブロック検知部812を備えてもよい。
ブロックチェーン通信部81のトランザクション送受信部811は、トランザクションの発行や送信、及び、トランザクションの受信(検知)を行なう。本実施形態において、トランザクションとは取引の履歴であり、資産を移転する取引が行なわれた場合に、例えば、移転元の利用者や移転先の利用者が履歴として記録される。なお、このトランザクション送受信部811が生成するトランザクションについては、図16を用いて後述する。
また、このトランザクション送受信部811は、トランザクションを送信する際、鍵情報記憶部322に格納される鍵情報91に含まれる情報を当該トランザクションに付加する機能も備える。なお、本実施形態において、後述する承認者の秘密鍵は、仲介システム30の鍵情報記憶部322に備えられる鍵情報91に格納されるものとする。なお、鍵情報91については後述する。
また、ブロックチェーン通信部81のブロック検知部812は、定期的に、または、必要に応じて(例えば、後述する、資産が凍結されていないことを確認する必要がある場合)、所定のブロックの検知を行なう。例えば、ブロック検知部812は、台帳90Dが備えられる自身の台帳記憶部321、及び、後述するBC10の台帳90Aや後述するBC20の台帳90Bが記憶される記憶部42を一定のタイミングで監視する。そして、ブロック検知部812は、所定のトランザクションを示す情報(所定のトランザクションが含まれるブロック)を検知してもよい。なお、ブロックとは、例えば、データの集合体である。以下、台帳を示す符号としては、複数の台帳のうち1つを特定する必要があるときには符号90A,90B,90Dを用いるが、任意の台帳を指すときには符号90を用いる。
さらに、ブロック検知部812は、例えば、所定のトランザクションが含まれるブロックを検知することにより、当該トランザクションが所定のブロックチェーンに取り込まれたかを判断する。言い換えると、ブロック検知部812は、台帳90D、後述するBC10の台帳90A、及び、後述するBC20の台帳90Bに所定のトランザクションを含むブロックを検知した場合、当該トランザクションが正常に終了(確定)したと判断する。すなわち、ブロック検知部812は、当該トランザクションが所定のブロックチェーンに正常に取り込まれたと判断する。そして、ブロック検知部812は、正常に終了しなかったと判断した場合、鍵管理システム60を介してその旨をコンテンツ送信者Aに通知する。
仲介システム30のブロックチェーン制御部82は、他のブロックチェーンに後述する口座間の資産の移転を行なわせ、例えば、供給口座(後述)から移転先口座(後述)への資産の移転や、預託口座(後述)から凍結口座(後述)への資産の移転を行なわせる。
また、ブロックチェーン制御部82は、台帳記憶部321に格納される台帳90D(後述)、または、当該台帳90Dの情報の制御も行なう。本実施形態において、台帳90とは、トランザクションが記録されたデータの集合であり、例えば、データベースのようなデータ管理システムを用いて管理されてもよく、また、HDDやSSDのような記憶装置に管理(記憶)で管理されてもよい。なお、台帳90には、後述する、利用者の口座、預託口座、凍結口座、及び、供給口座や、これら口座に関する情報が含まれてもよい。なお、後述するBC10の台帳90Aには、後述する、利用者の口座、預託口座、及び、凍結口座や、これらの口座に関する情報が含まれることが望ましいが、これに限られない。また、後述するBC20の台帳90Bには、供給口座や、供給口座に関する情報が含まれることが望ましいが、これに限られない。
利用者の口座(図示省略)とは、ブロックチェーンの利用者の保持する各自の資産が格納される領域であり、仮想的な領域であってもよい。また、コンテンツ送信者Aの口座を移転元口座ともいい、また、コンテンツ受信者Bの口座を移転先口座ともいう。
例えば、コンテンツ送信者Aからコンテンツ受信者Bへの資産の移転が成功した場合、コンテンツ送信者Aの資産が、当該コンテンツ送信者Aの口座(移転元口座)から、コンテンツ受信者Bの口座(移転先口座)に対して移転される。なお、この資産の格納や移転は物理的に実行されるものに限られず、例えばクラウドサービスを用いてサーバ上で仮想的に実現されるものであってもよい。
預託口座(図示省略)とは、仲介システム30において、移転対象の資産が一時的に格納される領域であり、仮想的な領域であってもよい。上述した例では、コンテンツ送信者Aがコンテンツ受信者Bに対して自身の資産を移転させるに際し、当該資産移転処理が実行される前に、コンテンツ送信者A(移転元口座)から移転対象の資産が一時的に預託口座に移転される。
預託口座(図示省略)とは、移転先の口座に移転されるまでの間、移転対象の資産が格納される領域であり、仮想的な領域であってもよい。この凍結口座に資産が移転されてしまうと、コンテンツ送信者Aは当該資産を取り戻せなくなる(利用できなくなる)が、預託口座に移転された資産については取り戻すことができる(利用できる)。すなわち、凍結口座だけでなく預託口座をも備えることにより、資産が移転先に移転される前の段階で、当該移転の処理が失敗した場合に、コンテンツ送信者Aが当該資産を取り戻すことができる。なお、預託口座は、預託先ともいう。
また、供給口座(図示省略)とは、資産を供給するために当該資産が格納される領域であり、仮想的な領域であってもよい。
また、図7に例示するように、このブロックチェーン制御部82は、台帳制御部821を備えてもよい。
この台帳制御部821は、上述した台帳90Dからデータを取得(リード)する。また、台帳制御部821は、台帳90Dに対してデータの書き込み(記録,更新,ライト)を行なう。
次に、仲介システム30の鍵管理部83は、自身の鍵情報記憶部322の鍵情報91に格納される暗号化や復号に用いる鍵の管理を行なう。なお、鍵情報91の詳細や、鍵情報91の管理については後述する。
また、図7に例示するように、鍵管理部83は、鍵送信部831を備えてもよい。
この鍵送信部831は、鍵管理システム60に対して、自身の鍵情報記憶部322の鍵情報91に格納される、承認者の秘密鍵を送信する。
[連携ノード]
次に、図8を用いて、図1に示す連携ノード40の機能構成を説明する。
連携ノード40は、ブロックチェーン間におけるコンテンツの移転処理を行なう。
図8は、実施形態の一例としてのコンテンツ取引システム1における連携ノード40の機能構成を例示する図である。
この図8に例示するように、連携ノード40は、例示的に、ブロックチェーン通信部48、及び、ブロックチェーン制御部49を備えてもよい。また、連携ノード40の記憶部42は、台帳90A又は台帳90Bを備えてもよい。ここでは一例として、BC10の連携ノード40Aが備える台帳を台帳90Aといい、BC20の連携ノード40Bが備える台帳を台帳90Bという。
まず、連携ノード40のブロックチェーン通信部48は、本コンテンツ取引システム1に備えられる、仲介システム30、及び、鍵管理システム60との通信を行なう。
そして、このブロックチェーン通信部48は、図8に例示するように、トランザクション送受信部481を備えてもよい。
このトランザクション送受信部481は、トランザクションを送信すると共に、後述する鍵管理システム60から送信されるトランザクションを受信(検知)する。
次に、連携ノード40のブロックチェーン制御部49は、自身の記憶部42に格納される台帳90A又は台帳90B、または当該台帳90A又は台帳90Bの情報を制御する。
なお、本実施形態では、BC10の連携ノード40Aの記憶部42に格納される台帳90Aには、BC10における取引のトランザクション情報が記録される。また、BC20の連携ノード40Bの記憶部42に格納される台帳90Bには、BC20における取引のトランザクション情報が記録される。すなわち、各装置に備えられる台帳90A,90Bには、それを保持するノードが属するブロックチェーンのノード間で同期をとって同様の情報が格納されるものとする。
また、図8に例示するように、このブロックチェーン制御部49は、台帳制御部491を備えてもよい。
この台帳制御部491は、上述のトランザクション送受信部481にて受信した情報に基づき、台帳90A,90Bからデータを取得(リード)したり、台帳90A,90Bに対してデータの書き込み(記録,更新,ライト)を行なう。
[クライアントコンピュータ]
次に、図9を用いて、図1に示すクライアントコンピュータ50の機能構成を説明する。
図9は、実施形態の一例としてのコンテンツ取引システム1におけるクライアントコンピュータ50の機能構成を例示する図である。
この図9に例示するように、クライアントコンピュータ50は、例示的に、鍵管理システム通信部58を備えてもよい。
クライアントコンピュータ50の鍵管理システム通信部58は、鍵管理システム60との通信を行ない、例えば、暗号化に用いる鍵の生成(発行)、トランザクションの発行、及び、コンテンツの復号を鍵管理システム60に依頼する。
[鍵管理システム]
次に、図10を用いて、図1に示す鍵管理システム60の機能構成を説明する。
この図10に例示するように、鍵管理システム60は、例示的に、ブロックチェーン通信部68、及び、暗号化制御部69を備えてもよい。また、鍵管理システム60の記憶部62は、鍵情報91を備えてもよい。
まず、鍵管理システム60のブロックチェーン通信部68は、本コンテンツ取引システム1に備えられる、仲介システム30、連携ノード40、及び、クライアントコンピュータ50との通信を行なう。
そして、このブロックチェーン通信部68は、図10に例示するように、トランザクション発行部681を備えてもよい。
このトランザクション発行部681は、所定のトランザクションを発行する。なお、このトランザクション発行部681によって発行されるトランザクションについては、図15を用いて後述する。
鍵管理システム60の暗号化制御部69は、後述する暗号化の処理を行なう。この暗号化制御部69は、例えば、暗号化に必要な鍵を生成し、生成した鍵を用いて所定の情報の暗号化を行なったり、鍵を用いて情報の復号を行なう。
また、図10に例示するように、暗号化制御部69は、暗号化・復号部691を備え、この暗号化・復号部691が、移転対象となるコンテンツを暗号化するために必要となる鍵の生成や、所定の情報の暗号化ならびに鍵を用いた情報の復号を行なってもよい。
具体的に、暗号化・復号部691は、移転対象となるコンテンツを暗号化するための共通鍵を生成すると共に、当該共通鍵の生成に必要な暗号鍵を生成する。この暗号化・復号部691によって行なわれる暗号化及び復号の処理については、図12,図13を用いて後述する。
また、暗号化・復号部691は、暗号化に用いる鍵を、記憶部62の後述する鍵情報91に格納する。
本実施形態において、鍵情報91は、暗号化・復号部691によって生成された鍵が格納されるものであり、例えば、データベースのようなデータ管理システムを用いて管理されてもよく、また、HDDやSSDのような記憶装置に管理(記憶)で管理されてもよい。したがって、鍵情報91に格納される鍵は、本コンテンツ取引システム1において、情報の暗号化や復号に用いられる。
具体的に、鍵管理システム60が自身の記憶部62に備える鍵情報91には、クライアントコンピュータ50の利用者の公開鍵と秘密鍵とが格納される。
図1を用いて上述した取引を例にとると、鍵管理システム60の備える鍵情報91には、一例として、コンテンツ送信者Aの公開鍵pk_Aと秘密鍵sk_A、及び、コンテンツ受信者Bの公開鍵pk_Bと秘密鍵sk_Bとが格納される。
なお、鍵管理システム60Aと鍵管理システム60Bとで、それぞれが属するブロックチェーンの利用者の公開鍵と秘密鍵とを、自身の鍵情報91に格納してもよい。その場合、鍵管理システム60Aは、コンテンツ送信者Aの公開鍵pk_Aと秘密鍵sk_Aとを自身の鍵情報91に格納し、鍵管理システム60Bは、コンテンツ受信者Bの公開鍵pk_Bと秘密鍵sk_Bとを自身の鍵情報91に格納する。そして、必要に応じて、鍵管理システム60Aと鍵管理システム60Bとで、それぞれが鍵情報91に格納する公開鍵の授受を行なってもよい。
また、各鍵の格納形態はこれに限られない。例えば、鍵管理システム60Aと鍵管理システム60Bとで、それぞれが属するブロックチェーンの利用者の秘密鍵を自身の鍵情報91に格納すると共に、自身が属するブロックチェーン以外の利用者の公開鍵も自身の鍵情報91に格納してもよい。
さらに、鍵管理システム60が備える鍵情報91には、承認者C1の公開鍵pk_C1、及び、承認者C2の公開鍵pk_C2が格納されてもよい。なお、本実施形態において、承認者C1の秘密鍵sk_C1、及び、承認者C2の秘密鍵sk_C2については、仲介システム30の鍵情報記憶部322に備えられる鍵情報91に格納されるものとする。
なお、本実施形態では、この鍵管理システム60の記憶部62に格納される鍵情報91が更新された場合、上述した仲介システム30の鍵情報記憶部322に備えられる鍵情報91のうち同様の情報が更新されてもよい。
[承認者コンピュータ]
次に、図11を用いて、図1に示す承認者コンピュータ70の機能構成を説明する。
図11は、実施形態の一例としてのコンテンツ取引システム1における承認者コンピュータ70の機能構成を例示する図である。
この図11に例示するように、承認者コンピュータ70は、例示的に、鍵管理システム通信部78を備えてもよい。
この鍵管理システム通信部78は、仲介システム30との通信を行ない、仲介システム30からの依頼を受けて、例えば、当該承認者コンピュータ70を利用する承認者の鍵を発行、または、送信する。
[一実施形態に係るコンテンツ取引システムにおける鍵の利用と暗号化の概要]
上述の如く構成された実施形態の一例として、コンテンツ取引システム1において暗号化に用いる鍵の利用と暗号化の概要について、図12、及び、図13を用いて説明する。
図12は、本実施形態におけるコンテンツ取引システム1に係る鍵の利用を例示する図であり、図13は、本実施形態におけるコンテンツ取引システム1における暗号化を例示する図である。
図12は、本コンテンツ取引システム1において、BC10の利用者(コンテンツ送信者A)が、自身のコンテンツを、他のブロックチェーン(BC20)の利用者(コンテンツ受信者B)に対して移転する場合を例示する。また、その際の承認者は、BC25に属する(の利用者である)、承認者C1と承認者C2との2人であるものとする。
本コンテンツ取引システム1では、コンテンツを安全に移転させるべく、秘密鍵や共通鍵を用いて移転対象のコンテンツを暗号化し、暗号化されたコンテンツ(暗号化コンテンツ)を復号する際にも鍵を必要とする。具体的には、この図12に例示するように、コンテンツ送信者Aの公開鍵pk_Aと秘密鍵sk_A、及び、コンテンツ受信者Bの公開鍵pk_Bと秘密鍵sk_Bを用いる。
さらに、本コンテンツ取引システム1では、コンテンツの暗号化や復号において、承認者C1の公開鍵pk_C1と秘密鍵sk_C1、及び、承認者C2の公開鍵pk_C2と秘密鍵sk_C2を用いる。これらの承認者C1の公開鍵pk_C1,承認者C2の公開鍵pk_C2を取引認証用公開鍵ともいい、承認者C1の秘密鍵sk_C1,承認者C2の秘密鍵sk_C1を取引認証用秘密鍵ともいう。なお、本実施形態において、承認者C1の公開鍵pk_C1、及び、承認者C2の公開鍵pk_C2は、鍵管理システム60の記憶部62内の鍵情報91に格納されるものとする。そして、承認者C1の秘密鍵sk_C1、及び、承認者C2の秘密鍵sk_C2については、仲介システム30の鍵情報記憶部322に備えられる鍵情報91に格納されるものとする。この格納の形態は一例であり、種々変形して実施することができる。
次に、図13を用いて、図12に例示した取引において、様々な鍵を組み合わせることにより、コンテンツを暗号化する処理を説明する。なお、この暗号化の処理は、鍵管理システム60の暗号化・復号部691において実行される。
この図13に例示するように、鍵管理システム60Aの暗号化・復号部691は、コンテンツ送信者Aの公開鍵pk_A、承認者C1の公開鍵pk_C1、及び、承認者C2の公開鍵pk_C2を組み合わせて、1つの暗号鍵K_ACを生成する。本実施形態では、例えば、DTPKE(Dynamic Threshold Public Key Encryption)等の公知の3of3閾値型公開鍵暗号技術を用いて、3つの公開鍵pk_A,pk_C1,pk_C2から1つの暗号鍵K_ACを生成してもよいが、暗号鍵K_ACの生成手法はこれに限られない。なお、この暗号鍵K_ACは、第一の暗号鍵ともいう。
なお、図13中の“3/3”は、3つ(3個)の公開鍵のうち、これら3つの公開鍵のそれぞれに対応する秘密鍵があれば、暗号化されたコンテンツを復元できることを示す。すなわち、暗号鍵K_ACによって暗号化されたコンテンツを復元する際には、pk_A、pk_C1、及び、pk_C2の3つの公開鍵のそれぞれに対応する秘密鍵(sk_A、sk_C1、及び、sk_C2)が必要である。
同様に、暗号化・復号部691は、コンテンツ受信者Bの公開鍵pk_B、承認者C1の公開鍵pk_C1、及び、承認者C2の公開鍵pk_C2を組み合わせて、1つの暗号鍵K_BCを生成する。この暗号鍵K_BCの生成においても、同様に、例えば、DTPKE等の公知の3of3の閾値型公開鍵暗号技術を用いて、3つの公開鍵pk_B,pk_C1,pk_C2から1つの暗号鍵K_BCを生成してもよいが、これに限られない。また、上述したように、暗号鍵K_BCによって暗号化されたコンテンツを復元する際には、pk_B、pk_C1、及び、pk_C2の3つの公開鍵のそれぞれに対応する秘密鍵(sk_B、sk_C1、及び、sk_C2)が必要である。なお、この暗号鍵K_BCは、第二の暗号鍵ともいう。
次に、暗号化・復号部691は、生成した暗号鍵K_AC、及び、暗号鍵K_BCを組み合わせて、1つの暗号鍵K_ABCを生成する。本実施形態では、例えば、公知の1of2の閾値型公開鍵暗号技術を用いて、2つの暗号鍵K_AC,K_ACから1つの暗号鍵K_ABCを生成してもよいが、暗号鍵K_ABCの生成手法はこれに限られない。なお、この暗号鍵K_ABCは、階層型暗号鍵ともいう。
すなわち、図13中の“1/2”は、この暗号鍵K_ABCによって暗号化されたコンテンツを復元する際には、暗号鍵K_AC、及び、暗号鍵K_BCのうちの1つの暗号鍵が必要であることを示す。
そして、図示を省略するが、暗号化・復号部691は、移転対象のコンテンツを暗号化するための共通鍵Kを生成する。そして、暗号化・復号部691は、生成した共通鍵Kを用いて、移転対象のコンテンツを暗号化する。さらに、鍵管理システム60Aのトランザクション発行部681は、暗号化・復号部691によって暗号化されたコンテンツを預託口座へ移転するトランザクションTx1(後述)を発行する。また、トランザクション発行部681は、共通鍵Kを暗号鍵K_ABCで暗号化して作成した情報(暗号化共通鍵K’)を付加する。この暗号化共通鍵K’を暗号化コンテンツ鍵ともいう。
このようにして、本コンテンツ取引システム1では、3of3の閾値型公開鍵暗号技術と1of2の閾値型公開鍵暗号技術とを階層的に用いることにより、コンテンツの暗号化を行なう。これにより、暗号化共通鍵K’の復号時には、暗号鍵K_ACか暗号鍵K_BCがあればよいことになる。これは、例えば、暗号鍵K_ACによって暗号化されたコンテンツを復元する場合には、秘密鍵sk_Aと、承認者の秘密鍵sk_C1,sk_C2があればよいことになる。すなわち、コンテンツ送信者Aがコンテンツを復号する場合、暗号鍵K_ACによって暗号化されたコンテンツを復元することを選択すれば、コンテンツ受信者Bの秘密鍵sk_Bを取得せずとも、自身の秘密鍵sk_Aを用いてコンテンツを復号できる。したがって、コンテンツ送信者Aは、承認者の秘密鍵sk_C1,sk_C2さえ取得できれば、コンテンツの移転が失敗した場合にも、コンテンツ送信者Aがコンテンツを取り戻すことが可能となる。
(B)動作
[一実施形態に係るコンテンツ取引システムにおけるブロックチェーンを跨ったコンテンツの移転処理]
上述の如く構成された実施形態の一例として、コンテンツ取引システム1におけるコンテンツの移転処理を、図15,図16を参照しながら、図14,図17,図18に示すフローチャート(ステップS1〜S9,S11〜S18,Q1〜Q3)に従って説明する。
図14,図17,図18は、本実施形態におけるブロックチェーンを跨った資産の移転処理を説明するためのフローチャートである。図14はステップS1〜S8の処理を、図17はステップS9,S11〜S18の処理を、図18はステップQ1〜Q3の処理を、それぞれ示す。
また、図15,図16は、本実施形態のコンテンツ取引システム1におけるトランザクションを例示する図である。
これらの図14,図17,図18では、図1,図12に例示するように、BC10の利用者(コンテンツ送信者A)が、自身のコンテンツを、他のブロックチェーン(BC20)の利用者(コンテンツ受信者B)に対して移転する場合を例にとる。また、その際の承認者は、BC25に属する(の利用者である)、承認者C1と承認者C2との2人であるものとする。
図14に示すステップS1において、コンテンツ送信者Aの鍵管理システム通信部58は、コンテンツ受信者Bに対してコンテンツを移転すべく、自身が属するブロックチェーンBC10の鍵管理システム60Aにアクセスする。
そして、鍵管理システム60Aの暗号化・復号部691は、移転対象であるコンテンツを暗号化するための共通鍵Kを生成する。
続くステップS2において、暗号化・復号部691は、鍵情報91から、コンテンツ送信者Aの公開鍵pk_A、コンテンツ受信者Bの公開鍵pk_B、承認者C1の公開鍵pk_C1、及び、承認者C2の公開鍵pk_C2を取得する。
続くステップS3では、暗号化・復号部691は、例えば、3of3の閾値型公開鍵暗号技術を用い、コンテンツ送信者Aの公開鍵pk_Aと、承認者C1,C2の公開鍵pk_C1,pk_C2とを組み合わせて1つの暗号鍵K_ACを生成する。
そして、暗号化・復号部691は、3of3の閾値型公開鍵暗号技術を用いて、コンテンツ受信者Bの公開鍵pk_Bと、承認者C1,C2の公開鍵pk_C1,pk_C2とを組み合わせることにより1つの暗号鍵K_BCを生成する。
さらに、暗号化・復号部691は、例えば、1of2の閾値型公開鍵暗号技術を用いて、生成した暗号鍵K_ACと暗号鍵K_BCとを組み合わせることにより、1つの暗号鍵K_ABCを生成する。
続くステップS4において、暗号化・復号部691は、暗号鍵K_ABCを用いて共通鍵Kを暗号化して暗号化共通鍵K'を作成する。また、暗号化・復号部691は、共通鍵Kを用いて、移転対象のコンテンツを暗号化する。
続くステップS5において、鍵管理システム60Aのトランザクション発行部681は、暗号化したコンテンツを預託口座へ移転するトランザクションTx1を発行する。その際、トランザクション発行部681は、共通鍵Kを暗号鍵K_ABCで暗号化した暗号化共通鍵K'をトランザクションTx1に付加する。この鍵管理システム60Aのトランザクション発行部681が発行するトランザクションTx1について、図15を用いて説明する。
図15には、上述したステップS5において、鍵管理システム60Aのトランザクション発行部681が発行するトランザクションTx1に含まれる(格納される)情報を例示する。なお、トランザクションTx1に含まれる情報は図15に例示した情報に限られない。
この図15に例示するように、トランザクションTx1は、一例として、“移転元口座”、“移転先口座”、“移転資産”、及び、“暗号鍵”に関する情報を含む。図15に示したトランザクションTx1の例では、“移転元口座”として「コンテンツ送信者Aの口座」が格納され、“移転先口座”として「預託口座」が格納される。また、“移転資産”として「共通鍵Kで暗号化されたコンテンツ」が格納され、“暗号鍵”として「暗号鍵K_ABCで暗号化された共通鍵K(暗号化共通鍵K')」が格納される。
なお、トランザクションTx1の表現形式はテーブルに限られるものではなく、種々変形して実施することができる。
続くステップS6では、コンテンツ送信者Aの属するBC10における、連携ノード40Aのトランザクション送受信部481は、上記ステップS5で発行されたトランザクションTx1を受信する。そして、連携ノード40Aの台帳制御部491は、自身の記憶部42に備える台帳90Aに、トランザクションTx1を記録する(格納する)。なお、この記録の際、例えば、台帳90Aに古いトランザクションTx1に関する情報が記録されている場合には、当該情報を更新することにより台帳90Aに書き込みを行なってもよい。
なお、上述したとおり、台帳90Aには、BC10の情報としてトランザクションTx1が格納される。具体的には、連携ノード40Aの台帳90Aに含まれるBC10の台帳に、トランザクションTx1が格納される。
続くステップS7において、仲介システム30のブロック検知部812は、例えば、自身の台帳記憶部321に備えられる台帳90D、BC10の連携ノード40Aの台帳90A、及び、BC20の連携ノード40Bの台帳90Bを一定のタイミングで監視する。そして、ブロック検知部812が、トランザクションTx1が含まれるブロックを検知すると、すなわち、鍵管理システム60が発行したトランザクションTx1がBC10の台帳に記録されたことを検知すると、トランザクションTx1が確定したと判断する。
そして、仲介システム30の台帳制御部821は、トランザクションTx1が確定したという結果(トランザクション)を、自身の台帳記憶部321に格納される台帳90Dに含まれるBC25の台帳に記録する。
続くステップS8において、仲介システム30のトランザクション送受信部811は、共通鍵Kを用いて暗号化された移転対象のコンテンツを、BC20のコンテンツ受信者Bの口座に移転するトランザクションTx2を発行する。また、トランザクションTx2を発行する際、トランザクション送受信部811は、共通鍵Kを暗号鍵K_ABCで暗号化した暗号化共通鍵K'をトランザクションTx2に付加する。
なお、この共通鍵Kや暗号鍵K_ABC、または、暗号化共通鍵K'は、鍵管理システム60Aの記憶部62に格納される鍵情報91に格納されてもよい。その場合、本実施形態では、鍵管理システム60Aの記憶部62に格納される鍵情報91が、所定のタイミングで、仲介システム30の鍵情報記憶部322の鍵情報91に書き込まれてもよい。上述したステップS8では、仲介システム30のトランザクション送受信部811は、この書き込まれた情報を用いて、トランザクションTx2に対して、暗号化共通鍵K'を付加してもよい。
上述したステップS8において、仲介システム30のトランザクション送受信部811が発行するトランザクションTx2について、図16を用いて説明する。このトランザクションTx2には、一例として、図16に例示するような情報が含まれる(格納される)。なお、トランザクションTx2に含まれる情報は図16に例示した情報に限られない。
この図16に例示するように、トランザクションTx2は、一例として、“移転先口座”、“移転資産”、及び、“暗号鍵”に関する情報を含む。図16に示したトランザクションTx2の例では、“移転先口座”として「コンテンツ受信者Bの口座」が格納される。また、“移転資産”として「共通鍵Kで暗号化されたコンテンツ」が格納され、“暗号鍵”として「暗号鍵K_ABCで暗号化された共通鍵K(暗号化共通鍵K')」が格納される。
続いて、図17に示すステップS9において、仲介システム30のブロック検知部812は、トランザクションTx2が正常にBC20に取り込まれたかを判断する。本実施形態においてブロック検知部812は、例えば、BC20の連携ノード40Bの記憶部42の台帳90BにトランザクションTx2が含まれるブロックを検知すると、トランザクションTx2が正常にBC20に取り込まれたと判断する。すなわち、ブロック検知部812は、正常に終了したと判断する。
このステップS9で正常にBC20に取り込まれたと判断した場合(ステップS9の“Yes”ルート)、すなわち、コンテンツ送信者Aからコンテンツ受信者B側へのコンテンツの移転が成功した場合、処理がステップS11とステップQ1(後述)とに移行する。一方、正常にBC20に取り込まれなかったと判断した場合(ステップS9における“No”ルート)、すなわち、コンテンツ送信者Aからコンテンツ受信者B側へのコンテンツの移転が失敗した場合、処理がステップS13に移行する。
ステップS11において、仲介システム30のトランザクション送受信部811は、暗号化コンテンツを預託口座から凍結口座へ移転するトランザクションTx3を発行する。
続くステップS12では、ブロック検知部812は、BC10の連携ノード40Aの記憶部42の台帳90AにトランザクションTx3が含まれるブロックを検知する。そして、ブロック検知部812は、トランザクションTx3が確定したという結果(トランザクション)を、台帳90Dに含まれるBC25の台帳に記録する。このトランザクションTx3が台帳に記録されることにより、コンテンツ送信者Aからコンテンツ受信者B側へのコンテンツの移転が完了したことが明示される。したがって、トランザクションTx3が台帳に記録されていることがわかれば、コンテンツ送信者Aに対して当該コンテンツが凍結されたこと、すなわち、コンテンツ送信者Aはもはや当該コンテンツを復号できないことがわかる。その後、処理を終了する。
一方、上記ステップS9にて、コンテンツの移転が失敗したことを検知した場合(ステップS9における“No”ルート)、ステップS13において、仲介システム30のブロック検知部812は、当該移転が失敗した旨を、鍵管理システム60Aを介してコンテンツ送信者Aに通知する。そして、本コンテンツ取引システム1では、コンテンツ送信者Aに対してコンテンツを取り戻す処理を開始する。
続くステップS14において、コンテンツ送信者Aの鍵管理システム通信部58は、コンテンツを取り戻すべく、鍵管理システム60Aに対して、資産取り戻しのトランザクションの発行を依頼する。
続くステップS15において、鍵管理システム60Aの暗号化・復号部691は、仲介システム30に対して、承認者C1の秘密鍵sk_C1、及び、承認者C2の秘密鍵sk_C2を要求する。
すると、仲介システム30のブロック検知部812は、コンテンツが凍結されていないことを確認すべく、BC20の連携ノード40Bに備えられる台帳90Bに、トランザクションTx2が含まれるブロックを検知しないことを確認する。そして、コンテンツが凍結されていないことを確認すると、仲介システム30の鍵送信部831は、鍵情報記憶部322の鍵情報91に格納される、承認者C1,C2の秘密鍵sk_C1,sk_C2を鍵管理システム60Aの暗号化・復号部691に送信する。このようにして、鍵管理システム60Aの暗号化・復号部691は、承認者C1,C2の秘密鍵sk_C1,sk_C2を取得する。
続くステップS16で、鍵管理システム60Aの暗号化・復号部691は、上記ステップS15にて取得した秘密鍵sk_C1,sk_C2と、自身の鍵情報91に格納しているコンテンツ送信者Aの秘密鍵sk_Aとを用いて、暗号化共通鍵K’を復号する。これにより、コンテンツ送信者Aは、暗号化コンテンツを復号する。
続くステップS17において、仲介システム30のトランザクション送受信部811は、コンテンツを取り戻すトランザクションTx4を発行する。そして、このトランザクションTx4は、BC10の台帳に記録される。
続くステップS18において、仲介システム30のブロック検知部812は、BC10の連携ノード40Aに備えられる台帳90AにトランザクションTx4が含まれるブロックを検知する。そして、このブロック検知部812は、トランザクションTx4が確定したという結果(トランザクション)を、台帳90Dに含まれるBC25の台帳に記録する。このトランザクションTx4が台帳に記録されることにより、コンテンツ送信者Aにおいて、コンテンツを取り戻せたこと、すなわち、当該コンテンツが復号されたことがわかる。その後、処理を終了する。
また、上記ステップS9で、正常にBC20に取り込まれたと判断した場合(ステップS9の“Yes”ルート)、処理が上述したステップS11とステップQ1とに移行する。次に、ステップQ1に移行した場合の処理について説明する。
ステップQ1において、コンテンツ受信者Bは受信したコンテンツを復号すべく、コンテンツ受信者Bの鍵管理システム通信部58は、鍵管理システム60Bに対して暗号化コンテンツの復号を依頼する。
続くステップQ2において、鍵管理システム60Bの暗号化・復号部691は、仲介システム30に対して、承認者C1の秘密鍵sk_C1、及び、承認者C2の秘密鍵sk_C2を要求する。
次に、仲介システム30のブロック検知部812は、コンテンツが凍結されていることを確認すべく、台帳記憶部321の台帳90Dに含まれるBC25の台帳に、トランザクションTx3が確定したという結果(トランザクション)を検知できるかを確認する。そして、コンテンツが凍結されていることを確認すると、仲介システム30の鍵送信部831は、承認者C1,C2の秘密鍵sk_C1,sk_C2を、鍵情報記憶部322の鍵情報91から取得し、鍵管理システム60Bの暗号化・復号部691に対して送信する。このようにして、鍵管理システム60Bの暗号化・復号部691はこれらの秘密鍵sk_C1,sk_C2を取得する。
続くステップQ3で、鍵管理システム60Bの暗号化・復号部691は、上記ステップS15にて取得した秘密鍵sk_C1,sk_C2と、自身の鍵情報91に格納しているコンテンツ受信者Bの秘密鍵sk_Bとを用いて、暗号化共通鍵K’を復号する。これにより、コンテンツ受信者Bは、暗号化コンテンツを復号する。そして、処理を終了する。
このようにステップS9,S13〜S18に示す処理を経ることにより、コンテンツの移転処理が失敗した場合に、コンテンツ送信者Aによるコンテンツの取戻しが可能となる。また、ステップS9,S11,S12,Q1〜Q3に示す処理を経ることにより、コンテンツの移転処理が成功した場合にも、コンテンツの凍結が可能となり、コンテンツ受信者B側でのコンテンツの復号が可能となる。
(C)効果
このように、第1実施形態の一例としてのコンテンツ取引システム1によれば、3of3の閾値型公開鍵暗号技術と1of2の閾値型公開鍵暗号技術とを階層的に用いることで、コンテンツ送信者Aの秘密鍵sk_Aを用いてコンテンツを復元することができる。これにより、コンテンツの移転が失敗した場合にも、自身の秘密鍵sk_Aを用いることにより、コンテンツ送信者Aがコンテンツを取り戻すことが可能となる。
また、第1実施形態の一例としてのコンテンツ取引システム1では、コンテンツを復号する際、コンテンツ送信者Aの秘密鍵sk_Aやコンテンツ受信者Bの秘密鍵sk_Bだけでなく、承認者の秘密鍵sk_C1,sk_C2をも必要とする。これにより暗号強度を高くすることができる。
このように、第1実施形態の一例としてのコンテンツ取引システム1では、コンテンツ送信者Aと、コンテンツ受信者Bと、承認者C1,C2とに、取り戻しや復号に必要な権限を同一にもたせず、取引の処理に応じて権限をもたせるユーザの組合せを変更できる。これにより、取引の処理に応じた所定の鍵の組合せが揃ったときのみ、コンテンツの取り戻しや復号を行なうことができるようになり、例えば、コンテンツ送信者Aとコンテンツ受信者Bとの結託による不正なコンテンツの移転を回避できる。
(D)その他
上述した一実施形態に係るコンテンツ取引システム1は、以下のように変形、変更して実施することができる。
上述した一実施形態に係るコンテンツ取引システム1において、仲介システム30は、ブロックチェーンの公知のスマートコントラクト技術を用いて構築されてもよいものとしたが、これに限られるものではなく、種々変形して実施することができる。
上述した一実施形態に係るコンテンツ取引システム1において、クライアントコンピュータ50の利用者は、自身のクライアントコンピュータ50を用いて、鍵管理システム60やブロックチェーンにアクセスするものとした。しかし、コンテンツ取引システム1のハードウェア及び機能構成は上述したものに限られず、例えば、鍵管理システム60は、クライアントコンピュータ50内においてアプリケーションとして実現されてもよい。その場合、クライアントコンピュータ50の利用者は、自身のクライアントコンピュータ50を用いて、仲介システム30や連携ノード40にアクセスしてもよい。
そして、本発明は図1に例示した構成に限定されるものではなく、種々変形して実施することができる。例えば、連携するブロックチェーンの数は3つ以上であってもよく、当該システムには他のコンピュータが備えられてもよい。
例えば、コンテンツ取引システム1の構成は、図19に例示するものであってもよい。図19は、変形例としてのコンテンツ取引システム1におけるハードウェア構成を例示する図である。なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
この図19に例示するコンテンツ取引システム1では、一方のブロックチェーンには、連携ノード40A、クライアントコンピュータ50A、及び、鍵管理システム60Aが備えられる。また、他方のブロックチェーンには、連携ノード40B、クライアントコンピュータ50B、及び、鍵管理システム60Bが備えられる。そして、これらのブロックチェーンを跨った資産の移転を仲介システム30が仲介する。また、図19に例示するコンテンツ取引システム1では、複数の連携ノード40Aまたは40Bが備えられる。なお、図19中では連携ノード40A,40Bのうち一部の構成を省略しているが、これらの連携ノード40A,40Bが連携してブロックチェーン間でのコンテンツの移転処理を、利用者に代わって行なってもよい。
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。