JP2019029933A - Content distribution device, content distribution system, content distribution program, and content distribution method - Google Patents
Content distribution device, content distribution system, content distribution program, and content distribution method Download PDFInfo
- Publication number
- JP2019029933A JP2019029933A JP2017149994A JP2017149994A JP2019029933A JP 2019029933 A JP2019029933 A JP 2019029933A JP 2017149994 A JP2017149994 A JP 2017149994A JP 2017149994 A JP2017149994 A JP 2017149994A JP 2019029933 A JP2019029933 A JP 2019029933A
- Authority
- JP
- Japan
- Prior art keywords
- content
- user
- key
- common key
- block chain
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、コンテンツ配信装置、コンテンツ配信システム、コンテンツ配信プログラム、およびコンテンツ配信方法に関する。 The present invention relates to a content distribution device, a content distribution system, a content distribution program, and a content distribution method.
コンピュータネットワークを介してコンテンツを提供するサービスがある。提供されるコンテンツは、例えばメールマガジンやビデオ情報など様々である。コンテンツの配信サービスでは、サービス提供者が管理するサーバは、コンテンツの送信先の端末装置を使用するユーザが、サービスの契約者であることを確認した後、その端末装置にコンテンツを送信する。例えばビデオ配信サービスの場合、ユーザは、端末装置を用いてサービス提供者のサーバにネットワーク経由でアクセスし、そのサーバにログインする。サーバでは、ログインしたユーザについては、コンテンツ配信の契約が締結されていると認識し、そのユーザの使用する端末装置にコンテンツを送信する。 There are services that provide content over a computer network. The provided contents are various, such as e-mail magazines and video information. In the content distribution service, the server managed by the service provider transmits the content to the terminal device after confirming that the user using the terminal device to which the content is transmitted is a service contractor. For example, in the case of a video distribution service, a user accesses a server of a service provider via a network using a terminal device and logs in to the server. The server recognizes that the content distribution contract is concluded for the logged-in user, and transmits the content to the terminal device used by the user.
なお、配信したコンテンツに対する課金に関する技術としては、例えば投稿者がコンテンツの投稿により簡易に、且つ効率良く収入を得ることを可能とする情報処理装置が考えられている。 As a technique related to billing for distributed content, for example, an information processing apparatus that allows a poster to easily and efficiently earn income by posting content is considered.
従来、ユーザは、コンテンツ配信サービスの契約を解除するとサーバへのログイン資格を失い、以後、サーバへの端末装置からのアクセスができなくなる。すなわち、契約を解除すると、ユーザは、契約解除後に配信されるコンテンツのみならず、契約期間中に配信されていたコンテンツについても参照できなくなる。 Conventionally, when the user cancels the contract for the content distribution service, the user loses the login qualification for the server, and thereafter, the user cannot access the server from the terminal device. In other words, when the contract is canceled, the user cannot refer to not only the content distributed after the contract cancellation but also the content distributed during the contract period.
ユーザの契約期間中に配信されていたコンテンツを参照するための適切な対価をユーザが支払い済みの場合、契約を解除したからといって、契約期間中に配信されていた、対価支払い済みのコンテンツまでも参照できなくなると、ユーザの不利益が大きすぎる。しかし、従来のコンテンツ配信技術では、ユーザの契約解除後に、新たに配信するコンテンツへのそのユーザによる参照を抑止しつつ、そのユーザの契約期間中に配信されていたコンテンツに対するそのユーザによる参照を許容することができない。 If the user has paid the appropriate consideration for referring to the content that was delivered during the user's contract period, the paid content that was delivered during the contract period just because the contract was terminated If it becomes impossible to refer to the user, the disadvantage of the user is too great. However, in the conventional content distribution technology, after the user's contract is canceled, the user's reference to the content distributed during the user's contract period is permitted while the user's reference to the newly distributed content is suppressed. Can not do it.
1つの側面では、本件は、契約期間中にユーザが参照できていたコンテンツを契約解除後も参照できるようにすることを目的とする。 In one aspect, the object of the present invention is to make it possible to refer to content that the user was able to refer to during the contract period even after the contract is canceled.
1つの案では、鍵生成部、鍵配布部、暗号化部、登録部、および鍵更新部を有するコンテンツ配信装置が提供される。
鍵生成部は、コンテンツの配信を受けるための契約について契約中のユーザである複数の契約ユーザのそれぞれに公開鍵を生成する。鍵配布部は、公開鍵に対応する秘密鍵を複数の契約ユーザのそれぞれに配布する。暗号化部は、コンテンツを共通鍵で暗号化し、複数の契約ユーザの情報を保有するユーザデータベースを記憶する記憶部を参照し、該共通鍵をユーザデータベースに記憶された複数の契約ユーザのそれぞれに割り当てられた公開鍵のそれぞれで暗号化する。登録部は、共通鍵で暗号化されたコンテンツと暗号化された共通鍵のそれぞれとをブロックチェーンに登録する。鍵更新部は、共通鍵を更新する。
In one proposal, a content distribution apparatus having a key generation unit, a key distribution unit, an encryption unit, a registration unit, and a key update unit is provided.
The key generation unit generates a public key for each of a plurality of contract users who are contracting users for a contract for receiving content distribution. The key distribution unit distributes a secret key corresponding to the public key to each of a plurality of contract users. The encryption unit encrypts the content with a common key, refers to a storage unit that stores a user database that holds information on a plurality of contract users, and stores the common key to each of the plurality of contract users stored in the user database. Encrypt with each assigned public key. The registration unit registers the content encrypted with the common key and each of the encrypted common key in the block chain. The key update unit updates the common key.
なお暗号化部は、共通鍵の更新に応じて、登録部による登録する処理が実行された後に契約ユーザの情報が更新された記憶部を参照し、更新後の共通鍵をユーザデータベースから取得した複数の契約ユーザのそれぞれに割り当てられた公開鍵のそれぞれで暗号化する。また登録部は、暗号化された更新後の共通鍵のそれぞれをブロックチェーンに登録する。 The encryption unit refers to the storage unit in which the contract user information has been updated after the registration process is executed by the registration unit in response to the update of the common key, and acquires the updated common key from the user database. Encryption is performed with each public key assigned to each of a plurality of contract users. The registration unit registers each encrypted updated common key in the block chain.
1態様によれば、契約期間中に登録されたコンテンツを契約解除後も参照できる。 According to one aspect, the content registered during the contract period can be referred to even after the contract is canceled.
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
Hereinafter, the present embodiment will be described with reference to the drawings. Each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
First, a first embodiment will be described.
図1は、第1の実施の形態に係るコンテンツ配信システムの一例を示す図である。コンテンツ配信システム10は、例えば複数のコンテンツ配信装置10a,10b,10c,・・・を連携して動作させることで実現される。複数のコンテンツ配信装置10a,10b,10c,・・・それぞれは、例えばコンピュータである。 FIG. 1 is a diagram illustrating an example of a content distribution system according to the first embodiment. The content distribution system 10 is realized by operating a plurality of content distribution apparatuses 10a, 10b, 10c,. Each of the plurality of content distribution apparatuses 10a, 10b, 10c,... Is a computer, for example.
コンテンツ配信システム10は、記憶部11、鍵生成部12、鍵配布部13、暗号化部14、登録部15、ユーザ更新部16、および鍵更新部17を有する。記憶部11は、例えば複数のコンテンツ配信装置10a,10b,10c,・・・のうちの少なくとも1台が有するメモリ、またはストレージ装置である。また鍵生成部12、鍵配布部13、暗号化部14、登録部15、ユーザ更新部16、および鍵更新部17それぞれは、例えば複数のコンテンツ配信装置10a,10b,10c,・・・のうちの少なくとも1台が有するプロセッサ、または演算回路である。
The content distribution system 10 includes a
記憶部11は、コンテンツの配信を受けるための契約について契約中のユーザである複数の契約ユーザの情報を保有するユーザデータベース(DB)11aを記憶する。
鍵生成部12は、複数の契約ユーザのそれぞれに対応する公開鍵を生成する。例えば鍵生成部12は、複数の契約ユーザのそれぞれに対応する鍵ペア12a,12b,12cを生成する。鍵ペア12a,12b,12cは、それぞれ公開鍵3a,3b,3cと秘密鍵4a,4b,4cとのペアである。図1の例では、3人のユーザ1a,1b,1cが契約ユーザであり、ユーザ1a,1b,1cそれぞれの鍵ペア12a,12b,12cが生成されている。1つの鍵ペアに含まれる公開鍵を暗号鍵として用いて暗号化した暗号データは、その鍵ペアに含まれる秘密鍵を復号鍵として用いることで復号できる。
The
The
鍵配布部13は、公開鍵3a,3b,3cに対応する秘密鍵4a,4b,4cを、契約中の複数のユーザ1a,1b,1cのそれぞれに配布する。例えば鍵配布部13は、複数のユーザ1a,1b,1cのそれぞれが使用している端末装置2a,2b,2cに、使用しているユーザ1a,1b,1cそれぞれの秘密鍵4a,4b,4cを送信する。
The
暗号化部14は、コンテンツ5を共通鍵6で暗号化する。これにより暗号化されたコンテンツ5a(暗号データ)が生成される。なおコンテンツ5は、例えばユーザ1a,1b,1cに提供する文書、写真、動画などである。またコンテンツ5は、他のコンテンツの格納場所を示す位置情報であってもよい。暗号化部14は、さらに、共通鍵6を、ユーザDB11aに記憶された複数の契約ユーザ(ユーザ1a,1b,1c)のそれぞれに割り当てられた公開鍵3a,3b,3cのそれぞれで暗号化する。これによりユーザ1aの公開鍵3aで暗号化された共通鍵6a(暗号データ)、ユーザ1bの公開鍵3bで暗号化された共通鍵6b(暗号データ)、およびユーザ1cの公開鍵3cで暗号化された共通鍵6c(暗号データ)が生成される。
The
登録部15は、共通鍵6で暗号化されたコンテンツ5aと暗号化された共通鍵6a,6b,6cのそれぞれとをブロックチェーン18に登録する。登録部15は、コンテンツ5aと共通鍵6a,6b,6cのそれぞれとを、まとめて1つのブロックでブロックチェーン18に登録してもよく、複数のブロックに分けてブロックチェーン18に登録してもよい。例えば登録部15は、複数の共通鍵6a,6b,6cを含む1つのブロックをブロックチェーン18に登録する。そして登録部15は、コンテンツ5aを含む1つのブロックを、ブロックチェーン18に登録する。
The
ユーザ更新部16は、登録部15による登録する処理が実行された後に、記憶部11に記憶された契約ユーザの情報を更新する。例えばユーザ更新部16は、契約を解除したユーザがいる場合、そのユーザの情報を、ユーザDB11aから削除する。
The
鍵更新部17は、共通鍵6を更新する。例えば鍵更新部17は、定期的に共通鍵6を更新する。また鍵更新部17は、ユーザ更新部16により、ユーザDB11aから契約ユーザの削除処理が行われたとき、共通鍵6を更新する。
The
なお、暗号化部14は、鍵更新部17による共通鍵6の更新に応じて、記憶部11を参照し、更新後の共通鍵をユーザデータベース11aから取得した複数の契約ユーザのそれぞれに割り当てられた公開鍵のそれぞれで暗号化する。すると登録部15は、暗号化された更新後の共通鍵のそれぞれをブロックチェーン18に登録する。
The
このようなコンテンツ配信システム10によれば、3人のユーザ1a,1b,1cのいずれもが契約期間中であれば、ユーザ1a,1b,1cそれぞれの端末装置2a,2b,2cに秘密鍵4a,4b,4cが配布される。そして暗号化されたコンテンツ5aと、ユーザ1a,1b,1cそれぞれの公開鍵3a,3b,3cで暗号化された共通鍵6a,6b,6cがブロックチェーン18に登録される。この場合、例えばユーザ1aは、自身の使用する端末装置2aにより、ブロックチェーン18からコンテンツ5aと共通鍵6aとを取得する。端末装置2aは、秘密鍵4aを用いて、共通鍵6aを復号し、平文の共通鍵6を得る。さらに端末装置2aは、共通鍵6を用いて、コンテンツ5aを復号し、平文のコンテンツ5を得る。そして端末装置2aは、コンテンツ5をモニタに表示する。これによりユーザ1aは、コンテンツ5を参照することができる。同様にユーザ1bは、端末装置2bを用いてブロックチェーン18からコンテンツ5aと共通鍵6bとを取得することで、コンテンツ5を参照することができる。ユーザ1cは、端末装置2cを用いてブロックチェーン18からコンテンツ5aと共通鍵6cとを取得することで、コンテンツ5を参照することができる。
According to such a content distribution system 10, if all of the three
その後、例えばユーザ1cがコンテンツの提供を受けるための契約が解除されたものとする。契約の解除には、ユーザ1cが契約解除手続きを行った場合や、契約が延長されることなく契約期間が満了した場合が含まれる。ユーザ1cの契約が解除されたことは、例えばコンテンツ配信の管理者により、ユーザ更新部16に入力される。するとユーザ更新部16は、ユーザDB11aにおける契約ユーザの情報からユーザ1cの情報を削除する。例えばユーザ更新部16は、ユーザDB11a内のユーザ1cの情報に対して契約の無効を示すフラグを設定する。これにより、ユーザ1cの情報は、契約ユーザの情報ではなくなる。すなわち契約ユーザの情報から、ユーザ1cの情報が削除されたこととなる。
Thereafter, for example, it is assumed that the contract for the
ユーザ更新部16によりユーザDB11aが更新された後、鍵更新部17により共通鍵6が更新される。そして暗号化部14により、契約を解除したユーザ1cを除くユーザ1a,1bの公開鍵3a,3bにより、更新後の共通鍵が暗号化される。そして登録部15により、ユーザ1a,1bそれぞれの公開鍵3a,3bで暗号化された更新後の共通鍵が、ブロックチェーン18に登録される。その後配信されるコンテンツは、暗号化部14により更新後の共通鍵で暗号化され、暗号化されたコンテンツが、登録部15によりブロックチェーン18に登録される。
After the user DB 11 a is updated by the
この場合、契約期間中のユーザ1aは、端末装置2aを用いて、ユーザ1aの公開鍵3aで暗号化された更新後の共通鍵と、更新後の共通鍵で暗号化されたコンテンツとを、ブロックチェーン18から取得することで、そのコンテンツを参照できる。同様に契約期間中のユーザ1bは、端末装置2bを用いて、ユーザ1bの公開鍵3bで暗号化された更新後の共通鍵と、更新後の共通鍵で暗号化されたコンテンツとを、ブロックチェーン18から取得することで、そのコンテンツを参照できる。それに対して、契約が解除されたユーザ1cは、ユーザ1cの公開鍵3cで暗号化した更新後の共通鍵を取得することができず、更新後の共通鍵で暗号化されたコンテンツを参照することができない。
In this case, the
なお、ブロックチェーン18には、一度登録されたブロックは、その後に新たなブロックが登録されても、ブロックチェーン18の一部として保持される。従って、ユーザ1cの契約期間中に登録されたコンテンツ5aは、ユーザ1cの契約解除後もブロックチェーン18に登録されている。したがって、ユーザ1cは、端末装置2cにより、契約解除後であっても、契約期間中に提供されたコンテンツ5aと共通鍵6cとをブロックチェーン18から取得することができる。そしてユーザ1cは、端末装置2cに、更新前の共通鍵6を用いてコンテンツ5aを復号させ、復号により得られたコンテンツ5を表示させることができる。すなわち、ユーザ1cは、契約期間中に提供されたコンテンツ5を、契約解除後も参照することができる。
The block once registered in the
このように第1の実施の形態によれば、ユーザにログインページにログインさせなくとも、コンテンツの配信を行う際、時間的に継続したコンテンツを契約ユーザのみに配信することができる。そして契約を解約し資格を失ったユーザは、解約以降のコンテンツを参照できなくすることができる。ただし、解約したユーザであっても、契約していた間のコンテンツの情報はブロックチェーンに保存されているので再配信することなく、参照することができる。 As described above, according to the first embodiment, even when a user distributes content without logging in to the login page, the content that has continued in time can be distributed only to contract users. Then, the user who cancels the contract and loses his / her qualification can not refer to the contents after the cancellation. However, even a canceled user can refer to the content information during the contract without redistribution because it is stored in the block chain.
なお記憶部11は、ユーザDB11aを、ユーザ管理用ブロックチェーンによって実現することもできる。この場合、ユーザ更新部16は、コンテンツの配信を受けるための契約を締結したユーザを示すユーザ情報を、契約ユーザの情報としてユーザ管理用ブロックチェーンに登録する。またユーザ更新部16は、コンテンツの配信を受けるための契約を解除した契約ユーザの情報を、ユーザ管理用ブロックチェーンから削除する。このように、ユーザDB11aをユーザ管理用ブロックチェーンで実現することで、契約ユーザを管理するためのコンピュータを、特別に用意せずにすみ、コンテンツ配信システム10の運用コストを低減することができる。
The
また、コンテンツ配信システム10では、提供するコンテンツごとに、そのコンテンツを参照するユーザにそのコンテンツの代金の課金を行い、課金が完了したユーザのみ、そのコンテンツを参照できるようにすることもできる。この場合、コンテンツ配信システム10は、例えば、一端末装置から一コンテンツの提供要求を受信すると、一端末装置を使用する一ユーザの仮想通貨に対して課金処理を行う課金部をさらに有する。暗号化部14は、課金処理が正常に完了した場合に、一ユーザに割り当てられた公開鍵で共通鍵を暗号化する。そして登録部15は、一ユーザに割り当てられた公開鍵で暗号化された共通鍵を、ブロックチェーン18に登録する。これにより、コンテンツ配信サービスの課金をコンテンツ単位で行うことができる。コンテンツ配信サービスの課金をコンテンツ単位で行う場合であっても、各ユーザは、その後、ユーザのコンテンツの配信の契約が解除されたとしても、代金を一度支払ったコンテンツについては、契約解除後も継続して参照することができる。
Further, in the content distribution system 10, for each content to be provided, the user who refers to the content can be charged for the content, and only the user who has been charged can refer to the content. In this case, the content distribution system 10 further includes, for example, a charging unit that performs a charging process on the virtual currency of one user who uses one terminal device when receiving a request for providing one content from one terminal device. The
〔第2の実施の形態〕
次に第2の実施の形態について説明する。
図2は、第2の実施の形態のネットワークシステムの構成の一例を示す図である。第2の実施の形態のネットワークシステムでは、ネットワークスイッチ31〜35を介して、複数のブロックチェーンノード100,100a〜100fが接続されている。ブロックチェーンノード100,100a〜100fそれぞれは、ブロックチェーン上の1ノードとして機能するコンピュータである。
[Second Embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram illustrating an example of a configuration of a network system according to the second embodiment. In the network system according to the second embodiment, a plurality of
またネットワークには、コンテンツ提供サーバ200と複数の端末装置300,300a,300bとが接続されている。コンテンツ提供サーバ200は、コンテンツの配信サービスを行うサービス提供業者が管理するコンピュータである。コンテンツ提供サーバ200では、配信するコンテンツを含むブロックのブロックチェーンへの登録、および配信対象のユーザの管理が行われる。複数の端末装置300,300a,300bは、ネットワークを介した取引を行うユーザ41〜43が使用するコンピュータである。なおユーザ41の名は「A氏」であり、ユーザ42の名は「B氏」であり、ユーザ43の名は「C氏」であるものとする。
The
なお第2の実施の形態のネットワークシステムには、図示したブロックチェーンノード100,100a〜100f以外にも、図示していない多数のブロックチェーンノードが接続されている。同様に第2の実施の形態のネットワークシステムには、図示した端末装置300,300a,300b以外にも、図示していない多数の端末装置が接続されている。
In addition to the illustrated
図3は、第2の実施の形態に用いるブロックチェーンノードのハードウェアの一構成例を示す図である。ブロックチェーンノード100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
FIG. 3 is a diagram illustrating a configuration example of hardware of a block chain node used in the second embodiment. The entire
メモリ102は、ブロックチェーンノード100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
The
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108a,108bがある。
Peripheral devices connected to the bus 109 include a
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
The
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
A monitor 21 is connected to the
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 22 and a mouse 23 are connected to the
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
機器接続インタフェース107は、ブロックチェーンノード100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
The
ネットワークインタフェース108a,108bは、それぞれネットワークスイッチ31,33に接続されている。ネットワークインタフェース108aは、ネットワークスイッチ31介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108bは、ネットワークスイッチ33を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The network interfaces 108a and 108b are connected to network
以上のようなハードウェア構成によって、ブロックチェーンノード100における第2の実施の形態の処理機能を実現することができる。他のブロックチェーンノード100a〜100fも、ブロックチェーンノード100と同様のハードウェアにより実現することができる。
With the hardware configuration as described above, the processing function of the second embodiment in the
なお、第1の実施の形態に示したコンテンツ配信装置10a,10b,10c,・・・も、図3に示したブロックチェーンノード100と同様のハードウェアにより実現することができる。
Note that the content distribution apparatuses 10a, 10b, 10c,... Shown in the first embodiment can also be realized by hardware similar to the
ブロックチェーンノード100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。ブロックチェーンノード100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ブロックチェーンノード100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またブロックチェーンノード100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
The
次に、ブロックチェーンノード100,100a〜100fによるブロックチェーンネットワークについて説明する。
図4は、ブロックチェーンネットワークの例を示す図である。ブロックチェーンノード100,100a〜100fは、互いに通信して、3つのブロックチェーンを実現している。コンテンツ管理ブロックチェーン51は、ユーザ鍵とコンテンツの管理に使用するブロックチェーンである。仮想通貨ブロックチェーン52は、課金の管理に使用するブロックチェーンである。ユーザ管理ブロックチェーン53は、ユーザ情報管理に使用するブロックチェーンである。ユーザ管理ブロックチェーン53は、図1に示すユーザDB11aの一例である。すなわち第2の実施の形態では、図1に示したユーザDB11a内の契約ユーザの情報が、ユーザ管理ブロックチェーン53によって管理される。
Next, a block chain network including the
FIG. 4 is a diagram illustrating an example of a block chain network. The
次に、各装置が有する機能について説明する。
図5は、各装置の機能の一例を示すブロック図である。コンテンツ提供サーバ200は、OS210と、OS210上で動作する入退会管理システム220とを有している。入退会管理システム220は、コンテンツの配信サービスに対する入会(契約)と退会(解約の解除)とを管理すると共に、提供するコンテンツのブロックチェーンへの登録を行う。例えば入退会管理システム220は、入退会の管理のために、ユーザ管理部222と課金管理部223とを有する。ユーザ管理部222は、ユーザの入会処理を行い、入会したユーザのユーザ情報を、ユーザ管理ブロックチェーン53に格納する。またユーザ管理部222は、ユーザの退会処理を行い、退会したユーザのユーザ情報をユーザ管理ブロックチェーン53から削除する。課金管理部223は、入会したユーザに対する課金処理を行う。
Next, functions of each device will be described.
FIG. 5 is a block diagram illustrating an example of the function of each device. The
また入退会管理システム220は、コンテンツのブロックチェーンへの登録のために、メール管理部224を有する。メール管理部224は、ユーザに提供するコンテンツが入力された場合、電子メールを用いて、コンテンツ管理ブロックチェーン51に、入力されたコンテンツを含むブロックを登録する。
In addition, the entrance /
ブロックチェーンノード100は、OS110、ブロックチェーンサブシステム120、SMTP(Simple Mail Transfer Protocol)サーバ130、鍵配布エージェント140、およびコンテンツ管理エージェント150を有する。ブロックチェーンサブシステム120、SMTPサーバ130、鍵配布エージェント140、およびコンテンツ管理エージェント150は、OS110上で動作する。
The
ブロックチェーンサブシステム120は、他のブロックチェーンノード100a,100b,・・・と連携して、ブロックチェーンへのブロックの登録や、ブロック内のコンテンツなどの情報の提供を行う。SMTPサーバ130は、コンテンツ提供サーバ200から、配信するコンテンツを含む電子メールを受信する。またSMTPサーバ130は、受信した電子メールをブロックチェーンサブシステム120に転送する。鍵配布エージェント140は、コンテンツの暗号化および復号を行うための鍵(共通鍵)を管理する。コンテンツ管理エージェント150は、ユーザ41〜43が使用する端末装置300,300a,300bへ配信するコンテンツを管理する。鍵配布エージェント140とコンテンツ管理エージェント150とは、いずれも、例えばブロックチェーンにおけるチェーンコードをブロックチェーンノード100が実行することで実現される。
The
ブロックチェーンノード100aは、OS110a、ブロックチェーンサブシステム120a、HTTP(HyperText Transfer Protocol)サーバ130a、鍵配布エージェント140a、およびコンテンツ管理エージェント150aを有する。ブロックチェーンサブシステム120a、HTTPサーバ130a、鍵配布エージェント140a、およびコンテンツ管理エージェント150aは、OS110a上で動作する。
The
ブロックチェーンサブシステム120aは、他のブロックチェーンノード100,100b,・・・と連携して、ブロックチェーンへのブロックの登録や、ブロック内のコンテンツなどの情報の提供を行う。HTTPサーバ130aは、端末装置300,300a,300bに対して、コンテンツ管理ブロックチェーン51に登録されたコンテンツを提供する。鍵配布エージェント140aは、コンテンツの暗号化および復号を行うための共通鍵を管理する。コンテンツ管理エージェント150aは、ユーザ41〜43が使用する端末装置300,300a,300bへ配信するコンテンツを管理する。
The
ブロックチェーンノード100,100a以外のブロックチェーンノード100b,・・・は、ブロックチェーンノード100aと同様の機能を有している。
端末装置300は、OS310、Webブラウザ320、鍵管理エージェント330、およびコンテンツリーダ340を有する。Webブラウザ320、鍵管理エージェント330、およびコンテンツリーダ340は、OS310上で動作する。
The
Webブラウザ320は、ブロックチェーンノード100a,100b,・・・からコンテンツを取得する。Webブラウザ320は、取得したコンテンツをコンテンツリーダ340に送信する。鍵管理エージェント330は、暗号化したコンテンツを復号するための共通鍵を管理する。コンテンツリーダ340は、取得したコンテンツをモニタに表示する。
The
図4に示した3つのブロックチェーンは、ブロックチェーンサブシステム120,120a,・・・が連係動作することで管理される。ブロックチェーンのそれぞれに含まれるブロックは、同じ内容のブロックが、ブロックチェーンサブシステム120,120a,・・・それぞれで保持される。例えばブロックチェーンサブシステム120,120a,・・・のうちの1つに登録されたブロックは、他のブロックチェーンサブシステムに転送され、ブロックチェーンサブシステムそれぞれで保持される。ユーザ41〜43は、端末装置300,300a,300bを用いて、複数のブロックチェーンノード100,100a,100b,・・・のいずれかから、共通鍵またはコンテンツを含むブロックを取得することができる。
The three block chains shown in FIG. 4 are managed by the
なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。 In addition, the line which connects between each element shown in FIG. 5 shows a part of communication path, and communication paths other than the illustrated communication path can also be set. Further, the function of each element shown in FIG. 5 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
第2の実施の形態では、提供されるコンテンツが、暗号化してコンテンツ管理ブロックチェーン51に登録される。コンテンツの暗号化に使用される共通鍵は、所定のタイミングで変更される。例えば、定期的に共通鍵が変更される。またユーザの退会手続きが行われるごとに、共通鍵が変更される。各ユーザ41〜43は、端末装置300,300a,300bを用いて、契約期間中は、その期間中に配信されたコンテンツの暗号化に使用された共通鍵を受け取ることができる。これにより各ユーザ41〜43は、退会後であっても、契約期間中に取得した共通鍵を用いて、契約期間中に提供されたコンテンツを参照することが可能となる。
In the second embodiment, the provided content is encrypted and registered in the content
図6は、配布された鍵とコンテンツとの対応関係の一例を示す図である。図6の例では、ユーザ41〜43が、コンテンツの提供を受ける契約期間中であるものとする。この場合、ユーザ41〜43それぞれに共通鍵「sk1」が配布される。例えば、共通鍵「sk1」は、ユーザ41〜43それぞれの公開鍵で暗号化して配布される。そしてコンテンツ提供者は、コンテンツ提供サーバ200を用いて、コンテンツ管理ブロックチェーン51に、共通鍵「sk1」で暗号化したコンテンツ61aを含むブロック61を登録する。ブロック61には、例えばコンテンツ管理ブロックチェーン51に対してブロック61の直前に登録されたブロックのハッシュ値が含まれる。コンテンツ61aには、文書や画像が含まれる。
FIG. 6 is a diagram illustrating an example of a correspondence relationship between a distributed key and content. In the example of FIG. 6, it is assumed that the
ユーザ41〜43それぞれは、端末装置300,300a,300bを用いて、コンテンツ管理ブロックチェーン51に登録されたブロック61内のコンテンツ61aを、複数のブロックチェーンノード100,100a〜100fのうちの1台から取得する。端末装置300,300a,300bは、ユーザ41〜43それぞれの公開鍵で暗号化された共通鍵「sk1」を、ユーザ41〜43それぞれの秘密鍵で復号する。端末装置300,300a,300bは、復号した共通鍵「sk1」を用いてコンテンツ61aを復号し、コンテンツ61aに含まれる文書や画像を表示する。
Each of the
その後、退会するユーザがいなければ、コンテンツ提供者は、コンテンツ提供サーバ200を用いて、コンテンツ管理ブロックチェーン51に、以前と同じ共通鍵「sk1」で暗号化したコンテンツ62aを含むブロック62を登録する。ユーザ41〜43それぞれは、端末装置300,300a,300bを用いて、ブロック62内のコンテンツ62aを取得する。そして端末装置300,300a,300bは、ユーザ41〜43それぞれの秘密鍵で復号した共通鍵「sk1」を用いてコンテンツ62aを復号し、コンテンツ62aに含まれる文書や画像を表示する。
Thereafter, if there is no user to withdraw, the content provider registers the
その後、ユーザ43(C氏)が退会したものとする。すると退会していないユーザ41,42には、新たな共通鍵「sk2」が配布される。例えば、共通鍵「sk2」は、ユーザ41,42それぞれの公開鍵で暗号化して配布される。コンテンツ提供者は、コンテンツ提供サーバ200を用いて、コンテンツ管理ブロックチェーン51に、新たな共通鍵「sk2」で暗号化したコンテンツ63aを含むブロック63を登録する。ユーザ41,42それぞれは、端末装置300,300aを用いて、ブロック63内のコンテンツ63aを取得する。端末装置300,300aは、ユーザ41,42それぞれの公開鍵で暗号化された共通鍵「sk2」を、ユーザ41,42それぞれの秘密鍵で復号する。そして端末装置300,300aは、復号した共通鍵「sk2」を用いてコンテンツ63aを復号し、コンテンツ63aに含まれる文書や画像を表示する。
Thereafter, it is assumed that the user 43 (Mr. C) has withdrawn. Then, a new common key “sk2” is distributed to the
他方、ユーザ43は、端末装置300bを用いて、ブロック63内のコンテンツ63aを取得したとしても、ユーザ43の公開鍵で暗号化された共通鍵「sk2」を有していないため、端末装置300bにコンテンツ63aを復号させることができない。なおユーザ43は、退会後であっても、契約期間中に配布された、ユーザ43の公開鍵で暗号化された共通鍵「sk1」を有している。そのためユーザ43は、その共通鍵「sk1」をユーザ43の秘密鍵で復号し、復号した共通鍵「sk1」用いて、退会後に、契約期間中に提供されたコンテンツ61aまたはコンテンツ62aを参照することは可能である。
On the other hand, even if the
第2の実施の形態では、ユーザ41〜43それぞれへの共通鍵の配布も、コンテンツ管理ブロックチェーン51を用いて行われる。以下、図7、図8を参照し、共通鍵の配布およびコンテンツの提供の方法について説明する。
In the second embodiment, distribution of the common key to each of the
図7は、契約期間中のユーザへの共通鍵の配布およびコンテンツ提供の一例を示す図である。図7の例では、3人のユーザ41〜43がコンテンツ提供者との間で、コンテンツの提供を受けるための契約を締結している。ユーザ41〜43は、それぞれ、契約と同時に、契約者用の鍵ペア(公開鍵、秘密鍵)を、コンテンツ提供者から受け取る。入退会管理システム220は、ユーザ41〜43それぞれの公開鍵「PKA」、「PKB」、「PKC」を、例えば鍵配布エージェント140に渡す。例えば入退会管理システム220は、ユーザ管理ブロックチェーン53に、公開鍵「PKA」、「PKB」、「PKC」を含むブロックを登録する。鍵配布エージェント140は、そのユーザ管理ブロックチェーン53から、ユーザ41〜43それぞれの公開鍵を取得する。
FIG. 7 is a diagram showing an example of common key distribution and content provision to users during a contract period. In the example of FIG. 7, three
鍵配布エージェント140は、共通鍵「sk1」を生成し、生成した共通鍵「sk1」をコンテンツ管理エージェント150に送信する。次に鍵配布エージェント140は、ユーザ41〜43の公開鍵「PKA」、「PKB」、「PKC」それぞれを用いて、共通鍵「sk1」を暗号化する。これにより、A氏の公開鍵「PKA」で暗号化された共通鍵「sk1」、B氏の公開鍵「PKB」で暗号化された共通鍵「sk1」、およびC氏の公開鍵「PKC」で暗号化された共通鍵「sk1」が生成される。鍵配布エージェント140は、3種類の公開鍵それぞれで暗号化された共通鍵「sk1」を含むブロック60を、コンテンツ管理ブロックチェーン51に登録する。例えば鍵配布エージェント140がブロック60を生成する。そして鍵配布エージェント140と他の鍵配布エージェント140a,・・・との間で、ブロック60が正当であるとの合意形成を行う。合意形成が正しく行われると、鍵配布エージェント140は、ブロック60を、ブロックチェーンサブシステム120で管理されているコンテンツ管理ブロックチェーン51に登録する。なお、ブロック60のように、共通鍵を含むブロックを、特に鍵ブロックと呼ぶこととする。
The
共通鍵「sk1」を受信したコンテンツ管理エージェント150は、ユーザ41〜43に提供するコンテンツが入力されると、共通鍵「sk1」を使ってコンテンツを暗号化する。コンテンツ管理エージェント150は、暗号化したコンテンツにコンテンツID「1」を付与したブロック61を、コンテンツ管理ブロックチェーン51に登録する。そしてコンテンツ管理エージェント150と他のコンテンツ管理エージェント150a,・・・との間で、ブロック61が正当であるとの合意形成が行われる。合意形成が正しく行われると、コンテンツ管理エージェント150は、ブロック61を、ブロックチェーンサブシステム120で管理されているコンテンツ管理ブロックチェーン51に登録する。なお、ブロック61のように、コンテンツを含むブロックを、特にコンテンツブロックと呼ぶこととする。
The
コンテンツ管理エージェント150は、共通鍵「sk1」が更新されるまでは、共通鍵「sk1」を、配布するコンテンツの暗号化に使用する。例えばコンテンツ管理エージェント150は、新たに配布するコンテンツを共通鍵「sk1」で暗号化し、暗号化したコンテンツにコンテンツID「2」を付与したブロック62(コンテンツブロック)を、コンテンツ管理ブロックチェーン51に登録する。
The
ユーザ41は、コンテンツリーダ340を用いて、自分用の公開鍵「PKA」で暗号化された共通鍵「sk1」を、コンテンツ管理ブロックチェーン51から取得する。例えばユーザ41は、端末装置300においてコンテンツリーダ340を起動する。コンテンツリーダ340は、鍵管理エージェント330(図5参照)に共通鍵の取得を依頼する。鍵管理エージェント330は、ブロックチェーンノード100bのブロックチェーンサブシステム120aから、ユーザ41用の公開鍵「PKA」で暗号化された共通鍵「sk1」を取得する。鍵管理エージェント330は、暗号化された共通鍵「sk1」をコンテンツリーダ340に送信する。コンテンツリーダ340は、取得した共通鍵「sk1」を、ユーザ41の秘密鍵で復号する。
The
コンテンツリーダ340は、ユーザ41からコンテンツの参照要求の入力を受け取ると、該当するコンテンツをコンテンツ管理ブロックチェーン51から取得する。そしてコンテンツリーダ340は、取得したコンテンツを、共通鍵「sk1」で復号し、モニタに表示する。これにより、ユーザ41は、コンテンツを参照することができる。
When the
同様に、他のユーザ42,43も、それぞれコンテンツリーダ340a,340bを用いてコンテンツを参照することができる。
次に、いずれかのユーザが退会した後のユーザへの共通鍵の配布およびコンテンツの提供の処理について説明する。
Similarly, the
Next, processing for distributing a common key to a user and providing content after any user has withdrawn will be described.
図8は、一部のユーザが退会した後の共通鍵の配布およびコンテンツ提供の一例を示す図である。図8の例では、ユーザ43(C氏)が退会したものとする。例えば、入退会管理システム220は、ユーザ41とユーザ42との公開鍵「PKA」、「PKB」を含むブロックをユーザ管理ブロックチェーン53に登録する。このブロックには、退会したユーザ43の公開鍵「PKC」は含まれない。鍵配布エージェント140は、そのユーザ管理ブロックチェーン53から、ユーザ41,42それぞれの公開鍵を取得する。
FIG. 8 is a diagram illustrating an example of common key distribution and content provision after some users have withdrawn. In the example of FIG. 8, it is assumed that the user 43 (Mr. C) has withdrawn. For example, the entrance /
鍵配布エージェント140は、共通鍵「sk1」を作成してから所定の有効時間が経過したことを確認すると、新たな共通鍵「sk2」を生成し、生成した共通鍵「sk2」をコンテンツ管理エージェント150に送信する。次に、鍵配布エージェント140は、契約期間中のユーザ41,42それぞれの公開鍵「PKA」、「PKB」を使って、新たな共通鍵「sk2」を暗号化する。そして鍵配布エージェント140は、暗号化した共通鍵「sk2」を含むブロック63を、コンテンツ管理ブロックチェーン51に登録する。
When the
共通鍵「sk2」を受信したコンテンツ管理エージェント150は、ユーザ41,42に提供するコンテンツが入力されると、共通鍵「sk2」を使って、新たに提供するコンテンツを暗号化する。コンテンツ管理エージェント150は、暗号化したコンテンツにコンテンツID「3」を付与したブロック64を、コンテンツ管理ブロックチェーン51に登録する。
Upon receiving the content to be provided to the
ユーザ41は、コンテンツリーダ340を用いて、自分用の公開鍵「PKA」で暗号化された共通鍵「sk2」を、コンテンツ管理ブロックチェーン51から取得する。コンテンツリーダ340は、取得した共通鍵「sk2」を、ユーザ41の秘密鍵で復号する。コンテンツリーダ340は、ユーザ41から最新のコンテンツの参照要求の入力を受け取ると、該当するコンテンツ(コンテンツID:3)をコンテンツ管理ブロックチェーン51から取得する。そしてコンテンツリーダ340は、取得したコンテンツを、共通鍵「sk2」で復号し、モニタに表示する。これにより、ユーザ41は、最新のコンテンツを参照することができる。
The
同様に、ユーザ42もコンテンツリーダ340aを用いてコンテンツを参照することができる。退会したユーザ43は、ブロック63に、ユーザ43の公開鍵で暗号化した共通鍵「sk2」が含まれていないため、共通鍵「sk2」を取得できない。そのため、ユーザ43は、退会後に提供されたコンテンツを参照することはできない。
Similarly, the
このようにして、退会したユーザ43による、退会後に提供開始されたコンテンツの参照を抑止できると共に、そのユーザ43の契約期間中に提供開始されたコンテンツについては、退会後でもユーザ43による参照を可能とすることができる。なお第2の実施の形態に示す方法では、ユーザ数が多くても、そのユーザに提供するコンテンツは、1つだけコンテンツ管理ブロックチェーン51に登録すればよく、ユーザ数が増加しても、登録するコンテンツ数は増加しない。
In this way, reference to contents started to be provided after withdrawal by the
また共通鍵の有効時間を設定し、有効時間が経過すると自動的に共通鍵を更新するようにしたことで、鍵配布エージェント140において、ユーザの退会の有無の確認処理が不要となる。共通鍵の有効期間は、例えばユーザの契約期間の計算単位に応じて設定される。例えば、ユーザの契約期間の計算を1日単位で行っている場合、共通鍵の有効期間を1日とする。この場合、例えば鍵配布エージェント140は、毎日の午前0時に共通鍵を変更する。これにより、退会したユーザが発生するたびに共通鍵を変更しなくても、退会したユーザについては、契約期間満了後に配布したコンテンツを参照できないようにすることができる。
In addition, since the effective time of the common key is set and the common key is automatically updated when the effective time elapses, the
なお、共通鍵の変更を、例えばユーザの退会手続きが行われるごとに行うようにしてもよい。
次に、鍵配布エージェント140が実行する処理の手順について具体的に説明する。
The common key may be changed every time a user withdrawal procedure is performed, for example.
Next, a procedure of processing executed by the
図9は、鍵配布エージェントが実行する処理の手順の一例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS101]鍵配布エージェント140は、コンテンツの暗号化および復号用の共通鍵を生成する。
FIG. 9 is a flowchart illustrating an example of a procedure of processing executed by the key distribution agent. In the following, the process illustrated in FIG. 9 will be described in order of step number.
[Step S101] The
[ステップS102]鍵配布エージェント140は、コンテンツ管理エージェント150に共通鍵を送信する。
[ステップS103]鍵配布エージェント140は、契約期間中のユーザごとに、そのユーザの公開鍵で共通鍵を暗号化する。
[Step S102] The
[Step S103] The
[ステップS104]鍵配布エージェント140は、暗号化した共通鍵を、コンテンツ管理ブロックチェーン51に登録する。
[ステップS105]鍵配布エージェント140は、共通鍵の使用時間の計測を開始する。
[Step S104] The
[Step S105] The
[ステップS106]鍵配布エージェント140は、ステップS105で計測を開始してからの使用時間が、予め設定された共通鍵の有効時間だけ経過したか否かを判断する。鍵配布エージェント140は、有効時間が経過した場合、処理をステップS101に進める。鍵配布エージェント140は、有効時間が経過していなければ、ステップS106の処理を繰り返す。
[Step S106] The
このような手順で共通鍵が繰り返し生成され、生成された共通鍵が、その時点で契約期間中であるユーザの公開鍵で暗号化され、コンテンツ管理ブロックチェーン51に登録される。
The common key is repeatedly generated in such a procedure, and the generated common key is encrypted with the public key of the user who is currently contracting and registered in the content
次に、コンテンツ管理エージェント150が実行する処理について具体的に説明する。
図10は、コンテンツ管理エージェントが実行する処理の手順の一例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
Next, the process executed by the
FIG. 10 is a flowchart illustrating an example of a procedure of processing executed by the content management agent. In the following, the process illustrated in FIG. 10 will be described in order of step number.
[ステップS111]コンテンツ管理エージェント150は、鍵配布エージェント140から共通鍵を取得する。
[ステップS112]コンテンツ管理エージェント150は、共通鍵を暗号鍵として使用して、コンテンツを暗号化する。
[Step S111] The
[Step S112] The
[ステップS113]コンテンツ管理エージェント150は、暗号化したコンテンツを含むブロックを、コンテンツ管理ブロックチェーン51に登録する。
図10に示す処理は、例えばコンテンツ提供サーバ200の入退会管理システム220から、提供するコンテンツがブロックチェーンノード100に入力されるごとに実行される。これにより、最新の共通鍵で暗号化したコンテンツが、コンテンツ管理ブロックチェーン51に追加される。
[Step S113] The
The process shown in FIG. 10 is executed each time content to be provided is input to the
次に、入退会管理システム220が実行する処理について具体的に説明する。
図11は、入退会管理システムが実行する処理の手順の一例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
Next, the processing executed by the entrance /
FIG. 11 is a flowchart illustrating an example of a procedure of processing executed by the entrance / exit management system. In the following, the process illustrated in FIG. 11 will be described in order of step number.
[ステップS121]入退会管理システム220は、ユーザからの退会要求を受け付ける。
[ステップS122]入退会管理システム220は、退会を希望するユーザのレコードに削除フラグを立てたユーザ管理情報を、ユーザ管理ブロックチェーン53に登録する。
[Step S121] The entrance /
[Step S122] The entrance /
これにより、ユーザ管理ブロックチェーン53の最新のブロックを取得することで、最新のユーザ管理情報が参照可能となる。例えば鍵配布エージェント140は、共通鍵を更新した際に、ユーザ管理ブロックチェーン53から最新のブロックに含まれるユーザ管理情報取得する。ユーザ管理情報には、退会したユーザも含め、ユーザの管理情報を示すレコードが登録されている。ユーザのレコードには、そのユーザの公開鍵が含まれる。また退会したユーザのレコードには、削除フラグが含まれる。鍵配布エージェント140は、削除フラグが含まれないレコードの公開鍵を用いて、共通鍵の暗号化を行う。
Thereby, by acquiring the latest block of the user
次に、コンテンツリーダ340が実行する処理について具体的に説明する。
図12は、コンテンツリーダが実行する処理の手順の一例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
Next, the process executed by the
FIG. 12 is a flowchart illustrating an example of a procedure of processing executed by the content reader. In the following, the process illustrated in FIG. 12 will be described in order of step number.
[ステップS131]コンテンツリーダ340は、コンテンツ管理ブロックチェーン51から、端末装置300を使用しているユーザ41の公開鍵で暗号化された共通鍵を取得する。
[Step S131] The
[ステップS132]コンテンツリーダ340は、取得した共通鍵を、ユーザ41の秘密鍵で復号する。コンテンツリーダ340は、復号した共通鍵を、ストレージ装置などの記憶媒体に格納する。
[Step S132] The
[ステップS133]コンテンツリーダ340は、ユーザ41からの閲覧対象のコンテンツの指定入力に応じ、指定されたコンテンツのコンテンツIDを指定して、コンテンツ管理ブロックチェーン51からコンテンツを取得する。例えばコンテンツリーダ340は、最後に提供されたコンテンツではなく、そのコンテンツよりも前に提供された古いコンテンツのコンテンツIDを指定することで、古いコンテンツを取得することができる。
[Step S133] The
[ステップS134]コンテンツリーダ340は、取得したコンテンツを共通鍵で復号する。なおコンテンツリーダ340が古いコンテンツを取得した場合、そのコンテンツの暗号化に用いた共通鍵が、最新のものではない可能性がある。コンテンツリーダ340は、古い共通鍵で暗号化された古いコンテンツを取得した場合、以前に取得して格納した、そのコンテンツに対応する共通鍵を用いてコンテンツを復号する。
[Step S134] The
[ステップS135]コンテンツリーダ340は、復号したコンテンツをモニタに表示する。
これにより、ユーザ41は、閲覧対象として指定したコンテンツを閲覧することができる。すなわちユーザ41は、最新のコンテンツに限らず、ユーザ41の契約期間中に提供されたコンテンツを任意に指定して、そのコンテンツを閲覧できる。ユーザ41のコンテンツの提供を受ける契約が解除された場合であっても、ユーザ41は、契約解除前に提供されていたコンテンツについて、自由に閲覧可能である。
[Step S135] The
Thereby, the
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、メールマガジンをコンテンツとして提供する場合の例である。以下、第3の実施の形態における第2の実施の形態との相違点について説明する。
[Third Embodiment]
Next, a third embodiment will be described. The third embodiment is an example in which a mail magazine is provided as content. Hereinafter, differences between the third embodiment and the second embodiment will be described.
図13は、第3の実施の形態における契約期間中のユーザへの共通鍵の配布およびコンテンツ提供の一例を示す図である。図13において、第2の実施の形態の要素と同じ機能を有する要素には、第2の実施の形態の対応する要素と同じ符号を付している。 FIG. 13 is a diagram illustrating an example of common key distribution and content provision to users during a contract period according to the third embodiment. In FIG. 13, elements having the same functions as those of the second embodiment are denoted by the same reference numerals as the corresponding elements of the second embodiment.
第3の実施の形態では、コンテンツ管理エージェント150から提供されるコンテンツには、メールマガジンが含まれる。またコンテンツ管理エージェント150は、提供するメールマガジンの価格を示す価格情報を有している。
In the third embodiment, the content provided from the
図13の例では、ユーザ41〜43がいずれも契約期間中である。ユーザ41〜43が契約期間中の場合、入退会管理システム220は、仮想通貨ブロックチェーン52から、ユーザ41〜43からコンテンツの代金を引き落とすことができる。また入退会管理システム220は、ユーザ41〜43が契約期間中であることを示すユーザ管理情報を、ユーザ管理ブロックチェーン53に登録する。鍵配布エージェント140は、ユーザ管理ブロックチェーン53からユーザ管理情報を所得して、ユーザ41〜43が契約期間中であることを認識する。
In the example of FIG. 13, all of the
ユーザ41〜43それぞれが使用する端末装置は、メーラ350,350a,350bを有している。ユーザ41〜43が、いずれも契約期間中の場合、鍵配布エージェント140は、共通鍵「sk1」を生成し、生成した共通鍵「sk1」をコンテンツ管理エージェント150に送信する。次に、鍵配布エージェント140は、ユーザ41〜43それぞれの公開鍵「PKA」、「PKB」、「PKC」を使って共通鍵「sk1」を暗号化する。そして鍵配布エージェント140は、暗号化した共通鍵「sk1」を含むブロック70を、コンテンツ管理ブロックチェーン51に登録する。
The terminal devices used by the
共通鍵「sk1」を受信したコンテンツ管理エージェント150は、ユーザ41〜43に提供するコンテンツとしてメールマガジンが入力されるごとに、共通鍵「sk1」を使って、提供するコンテンツを暗号化する。コンテンツ管理エージェント150は、コンテンツID「1」、「2」が付与された暗号化済みのコンテンツと価格情報とを含むブロック71,72を、コンテンツ管理ブロックチェーン51に登録する。
The
ユーザ41は、メーラ350を用いて、自分用の公開鍵「PKA」で暗号化された共通鍵「sk1」を、コンテンツ管理ブロックチェーン51から取得する。メーラ350は、取得した共通鍵「sk1」を、ユーザ41の秘密鍵で復号する。メーラ350は、ユーザ41からコンテンツの参照要求の入力を受け取ると、該当するコンテンツ(コンテンツID「1」,「2」)と価格情報とをコンテンツ管理ブロックチェーン51から取得する。そしてメーラ350は、価格情報をモニタに表示する。メーラ350は、ユーザ41により、価格情報に示される価格を承認する入力が行われると、取得したコンテンツを共通鍵「sk1」で復号し、メールマガジンをモニタに表示する。これにより、ユーザ41は、メールマガジンを参照することができる。他のユーザ42,43も同様に、それぞれメーラ350a,350bを用いて、メールマガジンを読むことができる。
The
図14は、第3の実施の形態において一部のユーザが退会した後の共通鍵の配布およびコンテンツ提供の一例を示す図である。図14の例では、ユーザ43(C氏)が退会したものとする。 FIG. 14 is a diagram illustrating an example of common key distribution and content provision after a part of users are unsubscribed in the third embodiment. In the example of FIG. 14, it is assumed that the user 43 (Mr. C) has withdrawn.
鍵配布エージェント140は、公開鍵「sk1」を作成してから所定の有効時間が経過したことを確認すると、新たな共通鍵「sk2」を生成し、生成した共通鍵「sk2」をコンテンツ管理エージェント150に送信する。次に、鍵配布エージェント140は、契約期間中のユーザ41,42それぞれの公開鍵「PKA」、「PKB」を使って、新たな共通鍵「sk2」を暗号化する。そして鍵配布エージェント140は、暗号化した共通鍵「sk2」を含むブロック73を、コンテンツ管理ブロックチェーン51に登録する。
When the
共通鍵「sk2」を受信したコンテンツ管理エージェント150は、ユーザ41,42に提供するメールマガジンが入力されると、共通鍵「sk2」を使って、新たに提供するメールマガジンを暗号化する。コンテンツ管理エージェント150は、コンテンツID「3」を付与した暗号化済みのコンテンツと価格情報とを含むブロック74を、コンテンツ管理ブロックチェーン51に登録する。
Upon receiving the mail magazine to be provided to the
ユーザ41は、メーラ350を用いて、自分用の公開鍵「PKA」で暗号化された共通鍵「sk2」を、コンテンツ管理ブロックチェーン51から取得する。メーラ350は、取得した共通鍵「sk2」を、ユーザ41の秘密鍵で復号する。メーラ350は、ユーザ41からコンテンツの参照要求の入力を受け取ると、該当するコンテンツ(コンテンツID「3」)と価格情報とをコンテンツ管理ブロックチェーン51から取得する。そしてメーラ350は、価格情報をモニタに表示する。メーラ350は、ユーザ41により、価格情報に示される価格を承認する入力が行われると、取得したコンテンツを共通鍵「sk2」で復号し、メールマガジンをモニタに表示する。これにより、ユーザ41は、最新のメールマガジンを参照することができる。
The
同様に、ユーザ42もメーラ350aを用いてメールマガジンを参照することができる。退会したユーザ43は、ブロック73に、ユーザ43の公開鍵で暗号化した共通鍵「sk2」が含まれていないため、共通鍵「sk2」を取得できない。すなわち、ユーザ43は、退会後に提供されたメールマガジンを参照することはできない。
Similarly, the
第3の実施の形態における各要素の処理のうち、鍵配布エージェント140の処理は、図9に示した第2の実施の形態の処理と同じである。また入退会管理システム220の処理は、図11に示した第2の実施の形態の処理と同じである。以下、第2の実施の形態と異なる処理を実行する要素について、実行する処理の手順を具体的に説明する。
Of the processing of each element in the third embodiment, the processing of the
図15は、第3の実施の形態におけるコンテンツ管理エージェントの処理の手順の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。 FIG. 15 is a flowchart illustrating an example of a processing procedure of the content management agent according to the third embodiment. In the following, the process illustrated in FIG. 15 will be described in order of step number.
[ステップS201]コンテンツ管理エージェント150は、鍵配布エージェント140から共通鍵を取得する。
[ステップS202]コンテンツ管理エージェント150は、共通鍵を暗号鍵として使用して、メールマガジンを含むコンテンツを暗号化する。
[Step S201] The
[Step S202] The
[ステップS203]コンテンツ管理エージェント150は、暗号化したコンテンツと価格情報とを含むブロックを、コンテンツ管理ブロックチェーン51に登録する。
次に、メーラ350が実行する処理について具体的に説明する。
[Step S203] The
Next, the process executed by the
図16は、メーラが実行する処理の手順の一例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS211]メーラ350は、コンテンツ管理ブロックチェーン51から、端末装置300を使用しているユーザ41の公開鍵で暗号化された共通鍵を取得する。
FIG. 16 is a flowchart illustrating an example of a procedure of processing executed by the mailer. In the following, the process illustrated in FIG. 16 will be described in order of step number.
[Step S211] The
[ステップS212]メーラ350は、取得した共通鍵を、ユーザ41の秘密鍵で復号する。メーラ350は、復号した共通鍵を、ストレージ装置などの記憶媒体に格納する。
[ステップS213]メーラ350は、ユーザ41からの閲覧対象のコンテンツの指定入力に応じ、指定されたコンテンツのコンテンツIDを指定して、コンテンツ管理ブロックチェーン51から該当コンテンツの価格情報を取得する。そしてメーラ350は、価格情報に示されるメールマガジンの価格を表示し、価格に対するユーザ41の承認入力を受け付ける。
[Step S212] The
[Step S213] The
[ステップS214]メーラ350は、ユーザ41の承認入力に応じ、指定されたコンテンツのコンテンツIDを指定して、コンテンツ管理ブロックチェーン51からメールマガジンを取得する。
[Step S214] The
[ステップS215]メーラ350は、取得したメールマガジンを共通鍵で復号する。
[ステップS216]メーラ350は、復号したメールマガジンをモニタに表示する。
これにより、ユーザ41は、閲覧対象として指定したメールマガジンを閲覧することができる。
[Step S215] The
[Step S216] The
Thereby, the
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態は、共通鍵はコンテンツ管理ブロックチェーン51で管理するが、コンテンツはコンテンツ管理ブロックチェーン51以外で管理するものである。例えば、コンテンツが動画データの場合、1つのコンテンツのデータ量が大きく、コンテンツをブロックチェーンで管理すると、ブロックチェーンノード100,100a,100b・・・のリソースの消費が激しくなる。そこで第4の実施の形態では、コンテンツを、コンテンツ管理ブロックチェーン51とは別に管理できるようにしている。
[Fourth Embodiment]
Next, a fourth embodiment will be described. In the fourth embodiment, the common key is managed by the content
図17は、第4の実施の形態における各装置の機能の一例を示すブロック図である。図17では、第2の実施の形態と同様の機能を有する要素には第2の実施の形態と同じ符号を付している。 FIG. 17 is a block diagram illustrating an example of the function of each device according to the fourth embodiment. In FIG. 17, elements having the same functions as those in the second embodiment are denoted by the same reference numerals as those in the second embodiment.
第4の実施の形態では、コンテンツを記憶するコンテンツサーバ400が設けられている。コンテンツサーバ400は、動画データなどのコンテンツを保持するコンピュータである。コンテンツサーバ400は、例えばコンテンツ提供サービスの契約者であることの署名を検証し、契約者であることが確認できたユーザが使用する端末装置にコンテンツを送信する。
In the fourth embodiment, a
第4の実施の形態では、コンテンツ提供サーバ200は、コンテンツサーバ400に格納されたコンテンツの位置情報を、共通鍵で暗号化して、ブロックチェーンノード100を介して、コンテンツ管理ブロックチェーン51に登録する。位置情報は、例えばURL(Uniform Resource Locator)である。端末装置300は、再生アプリケーション360を有している。再生アプリケーション360は、ブロックチェーンノード100aから、コンテンツ管理ブロックチェーン51に登録された位置情報を取得し、取得した位置情報を共通鍵で復号する。そして再生アプリケーション360は、位置情報に基づいてコンテンツサーバ400内のコンテンツにアクセスし、該当コンテンツを再生する。
In the fourth embodiment, the
図18は、第4の実施の形態における契約期間中のユーザへの共通鍵の配布およびコンテンツ提供の一例を示す図である。第4の実施の形態では、コンテンツ管理エージェント150から提供されるコンテンツには、コンテンツの位置情報としてURLが含まれる。
FIG. 18 is a diagram illustrating an example of common key distribution and content provision to users during a contract period according to the fourth embodiment. In the fourth embodiment, the content provided from the
コンテンツ管理ブロックチェーン51には、ユーザ41〜43それぞれの公開鍵を含むブロック80が登録されている。
ユーザ41〜43それぞれが使用する端末装置300,300a,300bは、再生アプリケーション360,360a,360bを有している。ユーザ41〜43が、いずれも契約期間中の場合、鍵配布エージェント140は、共通鍵「sk1」を生成し、生成した共通鍵「sk1」をコンテンツ管理エージェント150に送信する。次に、鍵配布エージェント140は、ユーザ41〜43それぞれの公開鍵「PKA」、「PKB」、「PKC」を使って共通鍵「sk1」を暗号化する。そして鍵配布エージェント140は、暗号化した共通鍵「sk2」を含むブロック81を、コンテンツ管理ブロックチェーン51に登録する。
In the content
The
共通鍵「sk1」を受信したコンテンツ管理エージェント150は、ユーザ41〜43に提供するコンテンツのURLが入力されると、共通鍵「sk1」を使って、提供するコンテンツのURLを暗号化する。コンテンツ管理エージェント150は、コンテンツID「1」が付与された暗号化済みのURLと、コンテンツの価格情報とを含むブロック82を、コンテンツ管理ブロックチェーン51に登録する。
Upon receiving the URL of the content to be provided to the
ユーザ41は、再生アプリケーション360を用いて、自分用の公開鍵「PKA」で暗号化された共通鍵「sk1」を、コンテンツ管理ブロックチェーン51から取得する。再生アプリケーション360は、取得した共通鍵「sk1」を、ユーザ41の秘密鍵で復号する。再生アプリケーション360は、ユーザ41からコンテンツの参照要求の入力を受け取ると、該当するコンテンツ(コンテンツID「1」)のURLと価格情報とをコンテンツ管理ブロックチェーン51から取得する。そして再生アプリケーション360は、価格情報をモニタに表示する。再生アプリケーション360は、ユーザ41により、価格情報に示される価格を承認する入力が行われると、取得したURLを共通鍵「sk1」で復号する。再生アプリケーション360は、復号して得られたURLに、ユーザの秘密鍵の署名を添付したアクセス要求をコンテンツサーバ400に送信する。
The
コンテンツサーバ400は、アクセス要求を送信した端末装置300を使用しているユーザ41の公開鍵を、コンテンツ管理ブロックチェーン51から取得し、その公開鍵を用いて署名の正当性を確認する。署名が正当であるとコンテンツサーバ400で認められると、再生アプリケーション360は、送信したURLに示される位置にあるコンテンツをコンテンツサーバ400から取得する。再生アプリケーション360は、取得したコンテンツ(例えば動画データ)を再生し、再生結果をモニタに表示する。これにより、ユーザ41は、コンテンツサーバ400に格納されているコンテンツを閲覧することができる。他のユーザ42,43も同様に、それぞれ再生アプリケーション360a,360bを用いて、コンテンツを閲覧することができる。
The
図19は、第4の実施の形態において一部のユーザが退会した後の共通鍵の配布およびコンテンツ提供の一例を示す図である。図19の例では、ユーザ43(C氏)が退会したものとする。 FIG. 19 is a diagram illustrating an example of common key distribution and content provision after a part of users have withdrawn in the fourth embodiment. In the example of FIG. 19, it is assumed that the user 43 (Mr. C) has withdrawn.
鍵配布エージェント140は、共通鍵「sk1」を作成してから所定の有効時間が経過したことを確認すると、新たな共通鍵「sk2」を生成し、生成した共通鍵「sk2」をコンテンツ管理エージェント150に送信する。次に、鍵配布エージェント140は、契約期間中のユーザ41,42それぞれの公開鍵「PKA」、「PKB」を使って、新たな共通鍵「sk2」を暗号化する。そして鍵配布エージェント140は、暗号化した共通鍵「sk2」を含むブロック83を、コンテンツ管理ブロックチェーン51に登録する。
When the
共通鍵「sk2」を受信したコンテンツ管理エージェント150は、ユーザ41,42に提供するコンテンツのURLが入力されると、共通鍵「sk2」を使って、新たに提供するコンテンツのURLを暗号化する。コンテンツ管理エージェント150は、コンテンツID「3」を付与した暗号化済みのURLと価格情報とを含むブロック84を、コンテンツ管理ブロックチェーン51に登録する。
Upon receiving the URL of the content to be provided to the
ユーザ41は、再生アプリケーション360を用いて、自分用の公開鍵「PKA」で暗号化された共通鍵「sk2」を、コンテンツ管理ブロックチェーン51から取得する。再生アプリケーション360は、取得した共通鍵「sk2」を、ユーザ41の秘密鍵で復号する。再生アプリケーション360は、ユーザ41からコンテンツの参照要求の入力を受け取ると、該当するコンテンツ(コンテンツID「3」)のURLと価格情報とをコンテンツ管理ブロックチェーン51から取得する。そして再生アプリケーション360は、価格情報をモニタに表示する。再生アプリケーション360は、ユーザ41により、価格情報に示される価格を承認する入力が行われると、取得したURLを共通鍵「sk2」で復号する。再生アプリケーション360は、復号して得られたURLに、ユーザの秘密鍵の署名を添付したアクセス要求をコンテンツサーバ400に送信する。
The
署名が正当であるとコンテンツサーバ400で認められると、再生アプリケーション360は、送信したURLに示される位置にあるコンテンツをコンテンツサーバ400から取得する。再生アプリケーション360は、取得したコンテンツ(例えば動画データ)を再生し、再生結果をモニタに表示する。これにより、ユーザ41は、コンテンツサーバ400に格納されているコンテンツを閲覧することができる。
When the
同様に、ユーザ42も再生アプリケーション360aを用いてコンテンツを参照することができる。退会したユーザ43は、ブロック83に、ユーザ43の公開鍵で暗号化した共通鍵「sk2」が含まれていないため、共通鍵「sk2」を取得できない。すなわち、ユーザ43は、退会後に提供されたコンテンツを参照することはできない。
Similarly, the
第4の実施の形態における各要素の処理のうち、鍵配布エージェント140の処理は、図9に示した第2の実施の形態の処理と同じである。また入退会管理システム220の処理は、図11に示した第2の実施の形態の処理と同じである。以下、第4の実施の形態における第2の実施の形態と異なる処理を実行する要素について、実行する処理の手順を具体的に説明する。
Of the processing of each element in the fourth embodiment, the processing of the
図20は、第4の実施の形態におけるコンテンツ管理エージェントの処理の手順の一例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。 FIG. 20 is a flowchart illustrating an example of a processing procedure of the content management agent according to the fourth embodiment. In the following, the process illustrated in FIG. 20 will be described in order of step number.
[ステップS301]コンテンツ管理エージェント150は、鍵配布エージェント140から共通鍵を取得する。
[ステップS302]コンテンツ管理エージェント150は、共通鍵を暗号鍵として使用して、コンテンツのURLを暗号化する。
[Step S301] The
[Step S302] The
[ステップS303]コンテンツ管理エージェント150は、暗号化したURLと価格情報とを含むブロックを、コンテンツ管理ブロックチェーン51に登録する。
次に、再生アプリケーション360が実行する処理について具体的に説明する。
[Step S303] The
Next, the process executed by the
図21は、再生アプリケーションが実行する処理の手順の一例を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
[ステップS311]再生アプリケーション360は、コンテンツ管理ブロックチェーン51から、端末装置300を使用しているユーザ41の公開鍵で暗号化された共通鍵を取得する。
FIG. 21 is a flowchart illustrating an example of a procedure of processing executed by the playback application. In the following, the process illustrated in FIG. 21 will be described in order of step number.
[Step S311] The
[ステップS312]再生アプリケーション360は、取得した共通鍵を、ユーザ41の秘密鍵で復号する。再生アプリケーション360は、復号した共通鍵を、ストレージ装置などの記憶媒体に格納する。
[Step S312] The
[ステップS313]再生アプリケーション360は、ユーザ41からの閲覧対象のコンテンツの指定入力に応じ、指定されたコンテンツのコンテンツIDを指定して、コンテンツ管理ブロックチェーン51から該当コンテンツの価格情報を取得する。そして再生アプリケーション360は、価格情報に示されるコンテンツの価格を表示し、価格に対するユーザ41の承認入力を受け付ける。
[Step S <b> 313] The
[ステップS314]再生アプリケーション360は、ユーザ41の承認入力に応じ、指定されたコンテンツのコンテンツIDを指定して、コンテンツ管理ブロックチェーン51から該当コンテンツのURLを取得する。
[Step S314] The
[ステップS315]再生アプリケーション360は、取得したURLを共通鍵で復号する。
[ステップS316]再生アプリケーション360は、復号したURLにユーザ41に署名を添付したアクセス要求を、コンテンツサーバ400に送信する。例えば再生アプリケーション360は、URLのハッシュ値を、ユーザ41の秘密鍵で暗号化し、そのURLの署名とする。
[Step S315] The
[Step S316] The
[ステップS317]再生アプリケーション360は、コンテンツサーバ400においてアクセスが許可された場合、復号したURLにあるコンテンツにアクセスし、このコンテンツを再生、および表示する。
[Step S317] When access is permitted in the
これにより、ユーザ41は、閲覧対象として指定したコンテンツを閲覧することができる。
次に、コンテンツサーバ400が実行する処理について説明する。
Thereby, the
Next, processing executed by the
図22は、コンテンツサーバが実行する処理の手順の一例を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
[ステップS321]コンテンツサーバ400は、コンテンツアクセス用のURLと契約者の署名とを含むアクセス要求を受け付ける。
FIG. 22 is a flowchart illustrating an example of a procedure of processing executed by the content server. In the following, the process illustrated in FIG. 22 will be described in order of step number.
[Step S321] The
[ステップS322]コンテンツサーバ400は、契約者の署名の検証のため、アクセス要求の送信元のユーザの公開鍵を、コンテンツ管理ブロックチェーン51から取得する。
[Step S322] The
[ステップS323]コンテンツサーバ400は、アクセス要求に添付された署名が有効か否かを判断する。例えばコンテンツサーバ400は、署名をユーザの公開鍵で復号すると共に、URLのハッシュ値を算出する。コンテンツサーバ400は、復号して得られた値と、算出したハッシュ値とが同一であれば、有効な署名であると判断する。コンテンツサーバ400は、署名が有効であれば、処理をステップS324に進める。またコンテンツサーバ400は、署名が無効であれば、処理をステップS325に進める。
[Step S323] The
[ステップS324]コンテンツサーバ400は、コンテンツへのアクセスを許可し、アクセス要求に示されるURLのコンテンツを、アクセス要求の送信元の端末装置に送信する。コンテンツサーバ400は、その後、アクセス要求に応じた処理を終了する。
[Step S324] The
[ステップS325]コンテンツサーバ400は、コンテンツ要求を送信した端末装置からのコンテンツへのアクセスを拒否する。アクセスを拒否した場合、例えばコンテンツサーバ400は、アクセス要求の送信元の端末装置へ、アクセス拒否の応答を送信する。
[Step S325] The
このようにして、ブロックチェーンとは別の場所にコンテンツを保存した場合であっても、コンテンツに対する閲覧の管理を、ブロックチェーンを用いて適切に行うことができる。 In this way, even when content is stored in a location different from the block chain, browsing management of the content can be appropriately performed using the block chain.
〔第5の実施の形態〕
次に第5の実施の形態について説明する。第5の実施の形態は、第4の実施の形態における入退会管理システム220に代えて、ブロックチェーンを用いてユーザの入退会や課金処理を実現するものである。また第5の実施の形態では、ユーザが閲覧を希望するコンテンツの代金を、仮想通貨によって課金し、課金が正常に完了した場合にのみ、ユーザがコンテンツを閲覧できるようにする。
[Fifth Embodiment]
Next, a fifth embodiment will be described. In the fifth embodiment, instead of the entrance /
図23は、第5の実施の形態における各装置の機能の一例を示すブロック図である。図23では、第4の実施の形態と同様の機能を有する要素には第4の実施の形態と同じ符号を付している。 FIG. 23 is a block diagram illustrating an example of the function of each device according to the fifth embodiment. In FIG. 23, elements having the same functions as those in the fourth embodiment are denoted by the same reference numerals as those in the fourth embodiment.
第5の実施の形態では、ブロックチェーンノード100に、入会エージェント160、退会エージェント170、および課金エージェント180が追加されている。入会エージェント160は、会員の入会処理を行う。退会エージェント170は、会員の退会処理を行う。課金エージェント180は、会員がコンテンツを参照するごとに、仮想通貨による課金処理を行う。入会エージェント160、退会エージェント170、および課金エージェント180は、例えばチェーンコードをブロックチェーンノード100に実行させることで実現される。同様に、ブロックチェーンノード100aも入会エージェント160a、退会エージェント170a、課金エージェント180aを有する。他のブロックチェーンノード100b,・・・は、ブロックチェーンノード100aと同様の要素を有している。
In the fifth embodiment, an
なお課金エージェントは、第1の実施の形態で説明した課金部の一例である。
図24は、ユーザの入会処理の一例を示す図である。入会エージェント160は、例えばユーザ41が使用する端末装置300のWebブラウザ320からユーザ情報を取得する。例えばユーザ41は、Webブラウザ320により、ブロックチェーンノード100の入会エージェント160にアクセスし、コンテンツサービスへの入会画面のデータを取得する。ユーザ41は、Webブラウザ320によって表示された入会画面に、ログインID、パスワード、ワレットIDなどのユーザ情報を入力する。なお入会画面では、閲覧するコンテンツを選択することができ、選択したコンテンツのコンテンツIDや代金が入会画面に表示される。ユーザ41が入力したユーザ情報は、Webブラウザ320から入会エージェント160に送信される。
The billing agent is an example of the billing unit described in the first embodiment.
FIG. 24 is a diagram illustrating an example of a user joining process. The
入会エージェント160は、ユーザ管理ブロックチェーン53からユーザ登録用公開鍵501を取得し、Webブラウザ320から送られたユーザ情報を、ユーザ登録用公開鍵501で暗号化する。次に入会エージェント160は、ユーザ41のワレット(電子財布)の有効性を検証する。例えば入会エージェント160は、仮想通貨ブロックチェーン52から、ユーザ41のワレットIDに対応するワレットの情報を取得し、仮想通貨ブロックチェーン52の仕組みを用いてワレットが有効であることの検証を行う。
The
次に入会エージェント160は、ユーザ鍵(秘密鍵502と公開鍵503とのペア)を生成する。入会エージェント160は、生成した秘密鍵502を、ユーザ41が使用している端末装置300内の再生アプリケーション360に送信する。また入会エージェント160は、生成した公開鍵503を含むブロック90(鍵ブロック)を、コンテンツ管理ブロックチェーン51に登録する。
Next, the
次に入会エージェント160は、暗号化されたユーザ情報に、ユーザ41のログインIDと、ユーザ情報を有効であることを示す有効フラグ「1」を付与する。そして入会エージェント160は、ログインIDと有効フラグを付与したユーザ情報をユーザ管理ブロックチェーン53に登録する。
Next, the
ユーザ管理ブロックチェーン53に登録されたユーザ情報を復号するためのユーザ登録用秘密鍵は、退会エージェント170と課金エージェント180とのそれぞれで管理されている。退会エージェント170と課金エージェント180は、それぞれ、暗号化されたユーザ情報を復号できる。
The user registration secret key for decrypting the user information registered in the user
次に、入会エージェント160が実行する処理について具体的に説明する。
図25は、入会エージェントが実行する処理の手順の一例を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。
Next, the process executed by the
FIG. 25 is a flowchart illustrating an example of a procedure of processing executed by the membership agent. In the following, the process illustrated in FIG. 25 will be described in order of step number.
[ステップS401]入会エージェント160は、ユーザが使用する端末装置に入会画面データを送信し、端末装置に入会画面を表示させる。
[ステップS402]入会エージェント160は、ユーザによって入会画面に入力されたログインID、パスワード、ワレットIDを、ユーザ情報として端末装置から取得する。
[Step S401] The
[Step S402] The
[ステップS403]入会エージェント160は、ユーザ管理ブロックチェーン53からユーザ登録用公開鍵501を取得する。そして入会エージェント160は、取得したユーザ登録用公開鍵501を暗号鍵として用いて、端末装置から取得したユーザ情報を暗号化する。
[Step S403] The
[ステップS404]入会エージェント160は、仮想通貨ブロックチェーン52にアクセスし、ユーザ情報に示されるワレットIDに対するワレットの有効性を確認する。
[ステップS405]入会エージェント160は、ワレットが有効であれば、処理をステップS406に進める。また入会エージェント160は、ワレットが有効でなければ、処理をステップS401に進める。
[Step S404] The
[Step S405] If the wallet is valid, the
[ステップS406]入会エージェント160は、ユーザの鍵ペア(公開鍵+秘密鍵)を生成する。
[ステップS407]入会エージェント160は、生成した鍵ペアを、ユーザが使用する端末装置に送信し、その端末装置に、実装されている再生アプリケーションへの秘密鍵の登録処理を実行させる。
[Step S406] The
[Step S407] The
[ステップS408]入会エージェント160は、ユーザの公開鍵を、コンテンツ管理ブロックチェーン51に登録する。
[ステップS409]入会エージェント160は、暗号化したユーザ情報に、ログインIDと「有効(1)」を示す有効フラグとを付与し、ユーザ情報を、ユーザ管理ブロックチェーン53に登録する。
[Step S408] The
[Step S409] The
このようにして、ユーザの入会処理が完了する。次にユーザの退会処理について説明する。
図26は、ユーザの退会処理の一例を示す図である。例えばユーザ41が端末装置300のWebブラウザ320を介して退会エージェント170にアクセスし、退会画面からログインIDとパスワードとを含む退会要求を入力する。退会要求は、Webブラウザ320から退会エージェント170に送信される。退会エージェント170は、退会要求を受信すると、退会要求に示されるログインIDに対応するユーザ情報を、ユーザ管理ブロックチェーン53から取得する。この時点では、取得したユーザ情報には、「有効」を示す有効フラグ「1」が付与されている。退会エージェント170は、ユーザ登録用秘密鍵504を用いて、ユーザ情報を復号する。
In this way, the user membership process is completed. Next, the user withdrawal process will be described.
FIG. 26 is a diagram illustrating an example of a user withdrawal process. For example, the
次に退会エージェント170は、パスワードの有効性を検証し、パスワードが有効であれば、ユーザ管理ブロックチェーン53から、退会するユーザ41のユーザ情報を削除する。例えば退会エージェント170は、ユーザ41のログインIDと、ユーザ情報が無効であることを示す有効フラグ「0」との組をユーザ管理ブロックチェーン53に登録する。さらに退会エージェント170は、ユーザ41の公開鍵を削除したブロック99を、コンテンツ管理ブロックチェーン51に登録する。
Next, the
次に、退会エージェント170が実行する処理について具体的に説明する。
図27は、退会エージェントが実行する処理の手順の一例を示すフローチャートである。以下、図27に示す処理をステップ番号に沿って説明する。
Next, the process executed by the
FIG. 27 is a flowchart illustrating an example of a procedure of processing executed by the withdrawal agent. In the following, the process illustrated in FIG. 27 will be described in order of step number.
[ステップS411]退会エージェント170は、ユーザが使用する端末装置から、ログインIDとパスワードとの組を含む退会要求を受信する。
[ステップS412]退会エージェント170は、ユーザ管理ブロックチェーン53から、退会要求に示されるログインIDに対応する有効なユーザ情報を取得する。
[Step S411] The
[Step S412] The
[ステップS413]退会エージェント170は、ユーザ登録用秘密鍵を復号鍵として使用し、取得したユーザ情報を復号する。
[ステップS414]退会エージェント170は、退会要求に含まれるログインIDとパスワードとの組に基づいて、パスワードが有効か否かを判断する。例えば退会エージェント170は、復号したユーザ情報に含まれるパスワードと、退会要求に含まれるパスワードとが一致した場合、パスワードが有効であると判断する。退会エージェント170は、パスワードが有効な場合、処理をステップS415に進める。また退会エージェント170は、パスワードが有効でなければ、処理をステップS411に進める。
[Step S413] The
[Step S414] The
[ステップS415]退会エージェント170は、ユーザ管理ブロックチェーン53に、退会するユーザのログインIDと有効フラグ「0」(削除)との組を登録する。
[ステップS416]退会エージェント170は、退会するユーザの公開鍵を削除したブロックを、コンテンツ管理ブロックチェーン51に登録する。
[Step S415] The
[Step S416] The
このようにしてユーザの退会処理が行われる。次に課金エージェント180によるコンテンツごとの課金処理について説明する。
図28は、課金処理の一例を示す図である。図28の例では、コンテンツ管理ブロックチェーン51には、予め会員登録しているユーザの公開鍵を含むブロック90と、共通鍵「sk1」で暗号化したURLおよび価格情報を含むブロック91とが登録されているものとする。
In this way, the user withdrawal process is performed. Next, a charging process for each content by the charging
FIG. 28 is a diagram illustrating an example of the billing process. In the example of FIG. 28, registered in the content
ここで、例えばユーザ41がコンテンツを閲覧する場合、Webブラウザ320を用いて課金エージェント180にアクセスし、コンテンツ入手画面を表示させる。ユーザ41は、コンテンツ入手画面で閲覧するコンテンツを選択し、ログインIDとパスワードとを入力する。Webブラウザ320は、入力されたコンテンツIDとユーザ情報(ログインIDとパスワード)とを課金エージェント180に送信する。
Here, for example, when the
課金エージェント180は、ユーザ管理ブロックチェーン53からユーザ41のユーザ情報を取得する。そして課金エージェント180は、ユーザ登録用秘密鍵504を復号鍵として用いて、ユーザ管理ブロックチェーン53から取得したユーザ情報を復号する。次に課金エージェント180は、Webブラウザ320から送られたコンテンツIDに対応するコンテンツの価格情報を、コンテンツ管理ブロックチェーン51から取得する。そして課金エージェント180は、仮想通貨ブロックチェーン52を介して、ユーザ41のワレットに対して、コンテンツの価格分の課金処理を行う。例えば課金エージェント180は、ユーザ41のワレットからコンテンツの価格分の金額を、コンテンツ提供者のワレットに送金することを示すブロックを、仮想通貨ブロックチェーン52に登録する。
The charging
課金処理後、課金エージェント180は、ユーザ41の端末装置300によるコンテンツ復号用の共通鍵の登録指示を、鍵配布エージェント140に送信する。鍵配布エージェント140は、共通鍵の登録指示に応じて、ユーザ41の公開鍵「PKX」で暗号化した共通鍵「sk1」を含むブロック92を、コンテンツ管理ブロックチェーン51に登録する。
After the accounting process, the
再生アプリケーション360は、コンテンツ管理ブロックチェーン51から、ユーザ41の公開鍵「PKX」で暗号化した共通鍵「sk1」を取得し、その共通鍵「sk1」をユーザ41の秘密鍵で復号する。次に再生アプリケーション360は、コンテンツ管理ブロックチェーン51から共通鍵「sk1」で暗号化されたコンテンツのURLを取得し、そのURLを共通鍵「sk1」で復号する。再生アプリケーション360は、復号により得られたURLを指定して、ユーザ41の署名付きのアクセス要求をコンテンツサーバ400に送信する。コンテンツサーバ400は、コンテンツ管理ブロックチェーン51からユーザ41の公開鍵を取得して、署名の正当性を確認し、署名が正当であれば、コンテンツへのアクセスを許可する。コンテンツへのアクセスが許可された再生アプリケーション360は、コンテンツサーバ400に格納されているコンテンツを取得し、再生および表示する。
The
次に自動課金を用いたコンテンツの提供処理について具体的に説明する。
図29は、自動課金を用いたコンテンツ提供処理の手順の一例を示すフローチャートである。以下、ユーザ41が端末装置300を用いてコンテンツを参照する場合を想定し、図29に示す処理をステップ番号に沿って説明する。
Next, a content providing process using automatic billing will be specifically described.
FIG. 29 is a flowchart illustrating an example of a content providing process using automatic billing. In the following, assuming that the
[ステップS421]課金エージェント180は、ユーザ41が使用する端末装置300からログインID、パスワード、およびコンテンツIDを取得する。
[ステップS422]課金エージェント180は、ユーザ管理ブロックチェーン53からユーザ情報を取得する。そして課金エージェント180は、取得したユーザ情報を、ユーザ登録用秘密鍵504で復号する。
[Step S421] The
[Step S422] The
[ステップS423]課金エージェント180は、コンテンツ管理ブロックチェーン51からコンテンツの価格情報を取得する。
[ステップS424]課金エージェント180は、コンテンツの価格情報に示される金額を、仮想通貨ブロックチェーン52におけるユーザ41のワレットに課金する。
[Step S423] The
[Step S424] The
[ステップS425]課金エージェント180は、課金が正常に終了したか否かを判断する。課金エージェント180は、課金が正常に終了した場合、処理をステップS427に進める。また課金エージェント180は、ユーザ41のワレットの残高不足などにより課金が正常に終了できなかった場合、処理をステップS426に進める。
[Step S425] The
[ステップS426]課金エージェント180は、課金の異常終了を、ユーザ41が使用する端末装置300に送信し、処理を終了する。
[ステップS427]課金エージェント180は、鍵配布エージェント140にユーザの復号用の共通鍵の登録を指示する。
[Step S426] The charging
[Step S427] The
[ステップS428]鍵配布エージェント140が、ユーザ41の公開鍵で暗号化した共通鍵を、コンテンツ管理ブロックチェーン51に登録する。
[ステップS429]再生アプリケーション360は、ユーザ41の公開鍵で暗号化した共通鍵をコンテンツ管理ブロックチェーン51から取得し、ユーザ41の秘密鍵で共通鍵を復号する。さらに再生アプリケーション360は、コンテンツ管理ブロックチェーン51からコンテンツの暗号化されたURLを取得し、共通鍵でURLを復号する。
[Step S428] The
[Step S429] The
[ステップS430]再生アプリケーション360は、URLにユーザ41の署名を添付したアクセス要求を、コンテンツサーバ400に送信する。
[ステップS431]再生アプリケーション360は、コンテンツサーバ400においてアクセスが許可されると、コンテンツサーバ400からコンテンツを取得し、そのコンテンツの再生および表示を行う。
[Step S430] The
[Step S431] When the
このようにして、コンテンツごとの自動課金を行うことができる。そして、課金が完了したユーザのみ、コンテンツを復号するための共通鍵を取得し、コンテンツを参照することができる。第5の実施の形態においても、各ユーザは、代金を支払い済みのコンテンツについては、そのコンテンツの暗号化に用いた共通鍵を有しているため、退会後もそのコンテンツを参照可能である。 In this way, automatic charging for each content can be performed. Only the user who has been charged can acquire the common key for decrypting the content and refer to the content. Also in the fifth embodiment, since each user has a common key used for encrypting the content for which the price has been paid, the user can refer to the content even after withdrawal.
〔その他の実施の形態〕
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
[Other Embodiments]
As mentioned above, although embodiment was illustrated, the structure of each part shown by embodiment can be substituted by the other thing which has the same function. Moreover, other arbitrary structures and processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.
1a,1b,1c ユーザ
2a,2b,2c 端末装置
3a,3b,3c 公開鍵
4a,4b,4c 秘密鍵
5,5a コンテンツ
6,6a,6b,6c 共通鍵
10 コンテンツ配信システム
10a,10b,10c,・・・ コンテンツ配信装置
11 記憶部
11a ユーザDB
12 鍵生成部
12a,12b,12c 鍵ペア
13 鍵配布部
14 暗号化部
15 登録部
16 ユーザ更新部
17 鍵更新部
18 ブロックチェーン
1a, 1b, 1c
12
Claims (9)
前記公開鍵に対応する秘密鍵を複数の前記契約ユーザのそれぞれに配布する鍵配布部と、
前記コンテンツを共通鍵で暗号化し、複数の前記契約ユーザの情報を保有するユーザデータベースを記憶する記憶部を参照し、該共通鍵を前記ユーザデータベースに記憶された複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化する暗号化部と、
前記共通鍵で暗号化されたコンテンツと暗号化された前記共通鍵のそれぞれとをブロックチェーンに登録する登録部と、
前記共通鍵を更新する鍵更新部と、
を有し、
前記暗号化部は、前記共通鍵の更新に応じて、前記登録部による前記登録する処理が実行された後に前記契約ユーザの情報が更新された前記記憶部を参照し、更新後の共通鍵を前記ユーザデータベースから取得した複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化し、
前記登録部は、暗号化された更新後の共通鍵のそれぞれを前記ブロックチェーンに登録する、
ことを特徴とするコンテンツ配信装置。 A key generation unit for generating a public key for each of a plurality of contract users who are contracting users for a contract for receiving content distribution;
A key distribution unit that distributes a secret key corresponding to the public key to each of the plurality of contract users;
The content is encrypted with a common key, and a storage unit that stores a user database that holds information on the plurality of contract users is referred to, and the common key is assigned to each of the plurality of contract users stored in the user database. An encryption unit for encrypting with each of the public keys provided;
A registration unit that registers the content encrypted with the common key and each of the encrypted common keys in a block chain;
A key update unit for updating the common key;
Have
In response to the update of the common key, the encryption unit refers to the storage unit in which the information on the contract user has been updated after the registration process by the registration unit is executed, and uses the updated common key. Encrypted with each of the public keys assigned to each of the plurality of contract users acquired from the user database,
The registration unit registers each encrypted updated common key in the block chain.
A content distribution apparatus characterized by the above.
前記暗号化部は、前記課金処理が正常に完了した場合に、前記一ユーザに割り当てられた前記公開鍵で前記共通鍵を暗号化し、
前記登録部は、前記一ユーザに割り当てられた前記公開鍵で暗号化された前記共通鍵を、前記ブロックチェーンに登録する、
ことを特徴とする請求項1ないし4のいずれかに記載のコンテンツ配信装置。 When a request for providing one content is received from one terminal device, it further includes a billing unit that performs billing processing for the virtual currency of one user who uses the one terminal device,
The encryption unit encrypts the common key with the public key assigned to the one user when the charging process is normally completed,
The registration unit registers the common key encrypted with the public key assigned to the one user in the block chain;
The content distribution device according to claim 1, wherein the content distribution device is a content distribution device.
複数の前記契約ユーザのそれぞれに公開鍵を生成する鍵生成部と、
前記公開鍵に対応する秘密鍵を複数の前記契約ユーザのそれぞれに配布する鍵配布部と、
前記コンテンツを共通鍵で暗号化し、該共通鍵を前記ユーザデータベースに記憶された複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化する暗号化部と、
前記共通鍵で暗号化されたコンテンツと暗号化された前記共通鍵のそれぞれとをブロックチェーンに登録する登録部と、
前記登録部による前記登録する処理が実行された後に、前記記憶部に記憶された前記契約ユーザの情報を更新するユーザ更新部と、
前記共通鍵を更新する鍵更新部と、
を有し、
前記暗号化部は、前記共通鍵の更新に応じて、前記記憶部を参照し、更新後の前記共通鍵を前記ユーザデータベースから取得した複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化し、
前記登録部は、暗号化された更新後の共通鍵のそれぞれを前記ブロックチェーンに登録する、
ことを特徴とするコンテンツ配信システム。 A storage unit for storing a user database that holds information on a plurality of contract users who are contracting users for contracts for receiving content distribution;
A key generation unit that generates a public key for each of the plurality of contract users;
A key distribution unit that distributes a secret key corresponding to the public key to each of the plurality of contract users;
An encryption unit that encrypts the content with a common key and encrypts the common key with each of the public keys assigned to each of the plurality of contract users stored in the user database;
A registration unit that registers the content encrypted with the common key and each of the encrypted common keys in a block chain;
A user updating unit that updates the information on the contract user stored in the storage unit after the registration unit performs the registration process;
A key update unit for updating the common key;
Have
The encryption unit refers to the storage unit in response to the update of the common key, and the public key assigned to each of the plurality of contract users who acquired the updated common key from the user database. Encrypt with each
The registration unit registers each encrypted updated common key in the block chain.
A content distribution system characterized by that.
前記ユーザ更新部は、前記コンテンツの配信を受けるための契約を締結したユーザを示すユーザ情報を、前記契約ユーザの情報として前記ユーザ管理用ブロックチェーンに登録し、前記コンテンツの配信を受けるための契約を解除した前記契約ユーザの情報を、前記ユーザ管理用ブロックチェーンから削除することを特徴とする請求項6記載のコンテンツ配信システム。 The storage unit realizes the user database by a user management block chain,
The user update unit registers user information indicating a user who has signed a contract for receiving the content distribution in the user management block chain as the contract user information, and receives a contract for receiving the content distribution. 7. The content distribution system according to claim 6, wherein the information on the contract user whose license has been canceled is deleted from the user management block chain.
コンテンツの配信を受けるための契約について契約中のユーザである複数の契約ユーザのそれぞれに公開鍵を生成し、
前記公開鍵に対応する秘密鍵を複数の前記契約ユーザのそれぞれに配布し、
前記コンテンツを共通鍵で暗号化し、
複数の前記契約ユーザの情報を保有するユーザデータベースを記憶する記憶部を参照し、該共通鍵を前記ユーザデータベースに記憶された複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化し、
前記共通鍵で暗号化されたコンテンツと暗号化された前記共通鍵のそれぞれとをブロックチェーンに登録し、
前記共通鍵を更新し、
前記共通鍵の更新に応じて、前記登録する処理が実行された後に前記契約ユーザの情報が更新された前記記憶部を参照し、更新後の共通鍵を前記ユーザデータベースから取得した複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化し、
暗号化された更新後の共通鍵のそれぞれを前記ブロックチェーンに登録する、
処理を実行させることを特徴とするコンテンツ配信プログラム。 On the computer,
Generate a public key for each of a plurality of contract users who are contracting users for contracts for receiving content distribution,
Distributing a secret key corresponding to the public key to each of the plurality of contract users,
Encrypt the content with a common key,
Reference is made to a storage unit that stores a user database that holds information on the plurality of contract users, and the common key is encrypted with each of the public keys assigned to the plurality of contract users stored in the user database. And
Register the content encrypted with the common key and each of the encrypted common keys in the block chain,
Updating the common key;
In response to the update of the common key, the plurality of contracts obtained by acquiring the updated common key from the user database with reference to the storage unit in which the contract user information is updated after the registration process is executed. Encrypt with each of the public keys assigned to each of the users,
Register each of the encrypted updated common keys in the blockchain;
A content distribution program characterized by causing a process to be executed.
コンテンツの配信を受けるための契約について契約中のユーザである複数の契約ユーザのそれぞれに公開鍵を生成し、
前記公開鍵に対応する秘密鍵を複数の前記契約ユーザのそれぞれに配布し、
前記コンテンツを共通鍵で暗号化し、
複数の前記契約ユーザの情報を保有するユーザデータベースを記憶する記憶部を参照し、該共通鍵を前記ユーザデータベースに記憶された複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化し、
前記共通鍵で暗号化されたコンテンツと暗号化された前記共通鍵のそれぞれとをブロックチェーンに登録し、
前記共通鍵を更新し、
前記共通鍵の更新に応じて、前記登録する処理が実行された後に前記契約ユーザの情報が更新された前記記憶部を参照し、更新後の共通鍵を前記ユーザデータベースから取得した複数の前記契約ユーザのそれぞれに割り当てられた前記公開鍵のそれぞれで暗号化し、
暗号化された更新後の共通鍵のそれぞれを前記ブロックチェーンに登録する、
ことを特徴とするコンテンツ配信方法。 Computer
Generate a public key for each of a plurality of contract users who are contracting users for contracts for receiving content distribution,
Distributing a secret key corresponding to the public key to each of the plurality of contract users,
Encrypt the content with a common key,
Reference is made to a storage unit that stores a user database that holds information on the plurality of contract users, and the common key is encrypted with each of the public keys assigned to the plurality of contract users stored in the user database. And
Register the content encrypted with the common key and each of the encrypted common keys in the block chain,
Updating the common key;
In response to the update of the common key, the plurality of contracts obtained by acquiring the updated common key from the user database with reference to the storage unit in which the contract user information is updated after the registration process is executed. Encrypt with each of the public keys assigned to each of the users,
Register each of the encrypted updated common keys in the blockchain;
A content distribution method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017149994A JP2019029933A (en) | 2017-08-02 | 2017-08-02 | Content distribution device, content distribution system, content distribution program, and content distribution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017149994A JP2019029933A (en) | 2017-08-02 | 2017-08-02 | Content distribution device, content distribution system, content distribution program, and content distribution method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019029933A true JP2019029933A (en) | 2019-02-21 |
Family
ID=65478875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017149994A Pending JP2019029933A (en) | 2017-08-02 | 2017-08-02 | Content distribution device, content distribution system, content distribution program, and content distribution method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019029933A (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459672A (en) * | 2020-03-30 | 2020-07-28 | 百度国际科技(深圳)有限公司 | Transaction processing method, device, equipment and medium based on block chain network |
WO2020184313A1 (en) * | 2019-03-13 | 2020-09-17 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2020190874A (en) * | 2019-05-21 | 2020-11-26 | 株式会社医療情報技術研究所 | Document management system |
JP2021131865A (en) * | 2020-02-19 | 2021-09-09 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | Blockchain-based data processing method, apparatus, device, medium, and program |
JP2021182315A (en) * | 2020-05-20 | 2021-11-25 | 株式会社リーチ・ビデオジャパン | System for managing motion-image and still-image contents posting in sns |
JP7011019B1 (en) | 2020-10-30 | 2022-02-14 | サークレイス株式会社 | User information management system, user information management method and computer program |
JP2022530582A (en) * | 2019-06-28 | 2022-06-30 | ビートダップ ソフトウェア インク. | Systems and methods for extensible tracking of media playback using blockchain |
JP2022552025A (en) * | 2020-06-24 | 2022-12-15 | ビートダップ ソフトウェア インク. | Systems and Methods for Continuous Tracking of Media Playback Using Blockchain |
JP7299576B2 (en) | 2019-06-06 | 2023-06-28 | 株式会社シティーデジタル | Goods management system and goods management method |
JP7349616B2 (en) | 2019-04-26 | 2023-09-25 | 株式会社エーエヌラボ | Payment support system, payment support method and payment support program |
JP7354877B2 (en) | 2020-02-28 | 2023-10-03 | 富士通株式会社 | Control method, control program and information processing device |
JP7368111B2 (en) | 2019-06-06 | 2023-10-24 | 富士通株式会社 | Evaluation program, evaluation method and evaluation device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007060213A (en) * | 2005-08-24 | 2007-03-08 | Fuji Xerox Co Ltd | Key distribution device and method therefor |
WO2014049830A1 (en) * | 2012-09-28 | 2014-04-03 | 富士通株式会社 | Information processing device and semiconductor device |
JP5858506B1 (en) * | 2015-04-09 | 2016-02-10 | 株式会社Orb | Virtual currency management program and virtual currency management method |
JP2017050763A (en) * | 2015-09-03 | 2017-03-09 | 日本電信電話株式会社 | Permission information management system, user terminal, right holder terminal, permission information management method, and permission information management program |
WO2017090329A1 (en) * | 2015-11-24 | 2017-06-01 | ソニー株式会社 | Information processing device, information processing method, and program |
-
2017
- 2017-08-02 JP JP2017149994A patent/JP2019029933A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007060213A (en) * | 2005-08-24 | 2007-03-08 | Fuji Xerox Co Ltd | Key distribution device and method therefor |
WO2014049830A1 (en) * | 2012-09-28 | 2014-04-03 | 富士通株式会社 | Information processing device and semiconductor device |
JP5858506B1 (en) * | 2015-04-09 | 2016-02-10 | 株式会社Orb | Virtual currency management program and virtual currency management method |
JP2017050763A (en) * | 2015-09-03 | 2017-03-09 | 日本電信電話株式会社 | Permission information management system, user terminal, right holder terminal, permission information management method, and permission information management program |
WO2017090329A1 (en) * | 2015-11-24 | 2017-06-01 | ソニー株式会社 | Information processing device, information processing method, and program |
Non-Patent Citations (1)
Title |
---|
ビットバンク株式会社, ブロックチェーンの衝撃, vol. 第1版, JPN6021007880, 13 June 2016 (2016-06-13), JP, pages 219 - 221, ISSN: 0004606869 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020184313A1 (en) * | 2019-03-13 | 2020-09-17 | ソニー株式会社 | Information processing device, information processing method, and program |
JP7349616B2 (en) | 2019-04-26 | 2023-09-25 | 株式会社エーエヌラボ | Payment support system, payment support method and payment support program |
JP2020190874A (en) * | 2019-05-21 | 2020-11-26 | 株式会社医療情報技術研究所 | Document management system |
JP7299576B2 (en) | 2019-06-06 | 2023-06-28 | 株式会社シティーデジタル | Goods management system and goods management method |
JP7368111B2 (en) | 2019-06-06 | 2023-10-24 | 富士通株式会社 | Evaluation program, evaluation method and evaluation device |
JP2022530582A (en) * | 2019-06-28 | 2022-06-30 | ビートダップ ソフトウェア インク. | Systems and methods for extensible tracking of media playback using blockchain |
JP2021131865A (en) * | 2020-02-19 | 2021-09-09 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | Blockchain-based data processing method, apparatus, device, medium, and program |
JP7066890B2 (en) | 2020-02-19 | 2022-05-13 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | Data processing methods, devices, devices, media, and programs by blockchain |
US11630821B2 (en) | 2020-02-19 | 2023-04-18 | Baidu Online Network Technology (Beijing) Co., Ltd. | Blockchain-based data processing method and apparatus, device, and medium |
JP7354877B2 (en) | 2020-02-28 | 2023-10-03 | 富士通株式会社 | Control method, control program and information processing device |
CN111459672A (en) * | 2020-03-30 | 2020-07-28 | 百度国际科技(深圳)有限公司 | Transaction processing method, device, equipment and medium based on block chain network |
CN111459672B (en) * | 2020-03-30 | 2023-09-29 | 百度国际科技(深圳)有限公司 | Transaction processing method, device, equipment and medium based on block chain network |
JP2021182315A (en) * | 2020-05-20 | 2021-11-25 | 株式会社リーチ・ビデオジャパン | System for managing motion-image and still-image contents posting in sns |
JP7308493B2 (en) | 2020-06-24 | 2023-07-14 | ビートダップ ソフトウェア インク. | Systems and Methods for Continuous Tracking of Media Playback Using Blockchain |
JP2022552025A (en) * | 2020-06-24 | 2022-12-15 | ビートダップ ソフトウェア インク. | Systems and Methods for Continuous Tracking of Media Playback Using Blockchain |
JP2022073280A (en) * | 2020-10-30 | 2022-05-17 | サークレイス株式会社 | User information management system, user information management method and computer program |
WO2022091619A1 (en) * | 2020-10-30 | 2022-05-05 | サークレイス株式会社 | User information management system, user information management method, and computer program |
JP7011019B1 (en) | 2020-10-30 | 2022-02-14 | サークレイス株式会社 | User information management system, user information management method and computer program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019029933A (en) | Content distribution device, content distribution system, content distribution program, and content distribution method | |
US9548859B2 (en) | Ticket-based implementation of content leasing | |
US7343495B2 (en) | Information recording apparatus, information reproducing apparatus, and information distribution system | |
JP4782165B2 (en) | Content usage management system, server device used therefor, content usage management method, and license information transmission method | |
KR20200115514A (en) | Systems and methods for privacy management using digital ledger | |
JP4919944B2 (en) | Information processing apparatus and license distribution system | |
EP1505509A1 (en) | Information processing device and method, information processing system, recording medium, and program | |
US20020107806A1 (en) | Content usage management system and content usage management method | |
US20120130900A1 (en) | System and Method for Trading Unused Digital Rights | |
US20040098348A1 (en) | License issuance server, processing device, software execution management device, and license issuing method and program | |
GB2401965A (en) | System for delivering encrypted content | |
CN111401867A (en) | Resource transfer method and device based on block chain, node equipment and storage medium | |
CN112953930A (en) | Cloud storage data processing method and device and computer system | |
JPWO2019082442A1 (en) | Data registration methods, data decryption methods, data structures, computers, and programs | |
JP2006155500A (en) | License management device and content use system | |
JP2001160109A (en) | Device and method for information processing, and recording medium | |
JPWO2020085226A1 (en) | Control methods, content management systems, programs, and data structures | |
JP2003187101A (en) | Information processor, information processing method, storage medium, information processing system and program | |
JP2002073191A (en) | System and method for meter-rate program use permission | |
JP2004086409A (en) | Information management system, information processor, authentication server, issue server, accounting server, community server, restricted access content, executing information, information processing method, information processing program, and recording medium | |
JP2009094592A (en) | Communication system | |
JP2005243044A (en) | Content usage management system and server used for the system | |
JP2002373261A (en) | Information distribution system | |
JP2009042925A (en) | Content use method, method for determining validity of permanent viewing license, download terminal, server, download system, method for managing content, prorgram, and recording medium | |
JP2003084852A (en) | License managing server and license managing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200529 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200529 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210430 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211005 |