Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7805534B2 - USE RIGHT PROTECTION DEVICE, USE RIGHT PROTECTION METHOD, USE RIGHT PROTECTION PROGRAM, AND DISTRIBUTED FILE SYSTEM - Google Patents
[go: Go Back, main page]

JP7805534B2 - USE RIGHT PROTECTION DEVICE, USE RIGHT PROTECTION METHOD, USE RIGHT PROTECTION PROGRAM, AND DISTRIBUTED FILE SYSTEM - Google Patents

USE RIGHT PROTECTION DEVICE, USE RIGHT PROTECTION METHOD, USE RIGHT PROTECTION PROGRAM, AND DISTRIBUTED FILE SYSTEM

Info

Publication number
JP7805534B2
JP7805534B2 JP2025537600A JP2025537600A JP7805534B2 JP 7805534 B2 JP7805534 B2 JP 7805534B2 JP 2025537600 A JP2025537600 A JP 2025537600A JP 2025537600 A JP2025537600 A JP 2025537600A JP 7805534 B2 JP7805534 B2 JP 7805534B2
Authority
JP
Japan
Prior art keywords
file
request
fragments
user
file system
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.)
Active
Application number
JP2025537600A
Other languages
Japanese (ja)
Other versions
JPWO2025158653A1 (en
Inventor
光弘 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2025158653A1 publication Critical patent/JPWO2025158653A1/ja
Application granted granted Critical
Publication of JP7805534B2 publication Critical patent/JP7805534B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本開示は、デジタルデータの利用権の保護に関するものである。 This disclosure relates to protecting the right to use digital data.

従来のデジタルデータの利用権は、DRMというデジタル著作権管理技術によって保護されている。
DRMは次のような仕組みである。DRMライセンスサーバは、ライセンスを有するユーザに復号鍵を配布する。暗号化されたデジタルデータは、復号鍵を用いて復号して閲覧することができる。
このように、デジタルデータの利用権は、DRMライセンスサーバという中央集権的な制御装置によって保護されている。
しかし、DRMライセンスサーバの管理者がライセンス情報を改変したりサーバを止めたりすることが可能であり、中央集権化はデジタルデータの利用権に対する透明性と安全性を欠く。
DRMは、Digital Rights Managementの略称である。
Conventional rights to use digital data are protected by a digital rights management technology known as DRM.
DRM works as follows: A DRM license server distributes decryption keys to licensed users, who can then decrypt and view the encrypted digital data using the decryption keys.
In this way, the right to use digital data is protected by a centralized control device called a DRM license server.
However, since the administrator of the DRM license server can alter the license information or shut down the server, centralization lacks transparency and security regarding the rights to use digital data.
DRM is an abbreviation for Digital Rights Management.

特許文献1は、DRMライセンスサーバの機能をブロックチェーンで実現することで透明性と安全性を確保する方法を提案している。
ブロックチェーンの利用によって、著作権の管理プロセスをだれでも確認することができるという透明性とデータを改ざんすることができないという安全性が確保される。
Patent Document 1 proposes a method for ensuring transparency and safety by implementing the functions of a DRM license server using a blockchain.
The use of blockchain ensures transparency by allowing anyone to verify the copyright management process and security by preventing data tampering.

特許第6983794号公報Patent No. 6983794

特許文献1の提案では、ライセンス管理をブロックチェーンで行うことで非中央集権化を実現できる。
しかし、コンテンツが分散管理されていないため、コンテンツ配信サーバが停止すると、コンテンツを閲覧できない場合がある。
また、コンテンツ配信者がコンテンツを改変することが可能である。
The proposal in Patent Document 1 makes it possible to achieve decentralization by using blockchain for license management.
However, since the content is not managed in a distributed manner, if the content distribution server stops, the content may not be viewable.
In addition, the content distributor can modify the content.

本開示は、ファイル(デジタルデータ)とファイルの所有権が分散管理されているシステムにおいて、ファイルの所有者だけがファイルにアクセスできるようにすることを目的とする。 The purpose of this disclosure is to ensure that only file owners can access files in a system where files (digital data) and file ownership are managed in a decentralized manner.

本開示の利用権保護装置は、
複数の断片に分割され暗号化されずに分散ファイルシステムに保管されたファイルのリクエストをユーザから受け付け、前記ユーザからリクエストされたファイルであるリクエストファイルの前記複数の断片を前記分散ファイルシステムに接続された1つ以上の端末にリクエストし、前記リクエストファイルの所有者の公開鍵を用いて暗号化された前記複数の断片を前記1つ以上の端末から受信し、暗号化された前記複数の断片から複数の断片を前記ユーザの秘密鍵を用いて復号し、復号された複数の断片を用いてファイルを形成する分散ファイルシステム部を備える。
前記ユーザの前記秘密鍵が前記リクエストファイルの前記所有者の前記公開鍵と対をなす秘密鍵である場合に、前記リクエストファイルの前記複数の断片が復号されて、前記リクエストファイルが形成される。
The usage right protection device of the present disclosure comprises:
The system includes a distributed file system unit that receives a request from a user for a file that has been split into multiple fragments and stored unencrypted in a distributed file system, requests the multiple fragments of a request file, which is the file requested by the user, from one or more terminals connected to the distributed file system, receives the multiple fragments encrypted using the public key of the owner of the request file from the one or more terminals, decrypts the multiple fragments from the encrypted multiple fragments using the private key of the user, and forms a file using the decrypted multiple fragments.
If the private key of the user is the private key paired with the public key of the owner of the request file, the fragments of the request file are decrypted to form the request file.

本開示によれば、ファイル(デジタルデータ)の所有者だけがファイルにアクセスできるようになる。 This disclosure ensures that only the owner of the file (digital data) can access the file.

実施の形態1における利用権保護装置100の構成図。FIG. 1 is a configuration diagram of a rights protection device 100 according to a first embodiment. 実施の形態1における利用権保護装置100の機能構成図。FIG. 2 is a functional configuration diagram of a rights protection device 100 according to the first embodiment. 実施の形態1におけるネットワークシステム400の構成図。FIG. 1 is a configuration diagram of a network system 400 according to the first embodiment. 実施の形態1における利用権保護方法(閲覧)のシーケンス図。FIG. 10 is a sequence diagram of a usage right protection method (viewing) according to the first embodiment. 実施の形態1における利用権保護方法(閲覧)のシーケンス図。FIG. 10 is a sequence diagram of a usage right protection method (viewing) according to the first embodiment. 実施の形態1における利用権保護方法(閲覧)のシーケンス図。FIG. 10 is a sequence diagram of a usage right protection method (viewing) according to the first embodiment. 実施の形態1における利用権保護方法(閲覧)のシーケンス図。FIG. 10 is a sequence diagram of a usage right protection method (viewing) according to the first embodiment. 実施の形態1におけるブロックチェーンの構成の例を示す図。FIG. 1 is a diagram showing an example of the configuration of a blockchain according to the first embodiment. 実施の形態1におけるユーザのアカウント情報の説明のための図。FIG. 4 is a diagram for explaining user account information according to the first embodiment. 実施の形態1におけるファイルの管理の例を示す図。FIG. 2 is a diagram showing an example of file management according to the first embodiment. 実施の形態1におけるNFTの主要なデータ項目を示す図。FIG. 1 is a diagram showing main data items of an NFT in the first embodiment. 実施の形態2における利用権保護装置100の機能構成図。FIG. 11 is a functional configuration diagram of a rights protection device 100 according to a second embodiment. 実施の形態2における利用権保護方法(アップロード)のシーケンス図。FIG. 11 is a sequence diagram of a usage right protection method (upload) according to the second embodiment. 実施の形態2におけるダウンロードの拡散を説明するためのシーケンス図。FIG. 11 is a sequence diagram for explaining the diffusion of downloads in the second embodiment. 実施の形態3における利用権保護装置100の機能構成図。FIG. 11 is a functional configuration diagram of a rights protection device 100 according to a third embodiment. 実施の形態3における非公開ファイルを説明するための図。FIG. 11 is a diagram for explaining a private file in the third embodiment. 実施の形態3におけるNFTのメタデータについて説明するための図。FIG. 11 is a diagram for explaining metadata of an NFT in the third embodiment. 実施の形態における利用権保護装置100のハードウェア構成図。FIG. 2 is a hardware configuration diagram of a rights protection device 100 according to an embodiment.

実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。 In the embodiments and drawings, the same or corresponding elements are given the same symbols. Explanations of elements given the same symbols as previously described elements will be omitted or simplified as appropriate. Arrows in the figures primarily indicate the flow of data or processing.

実施の形態1.
デジタルデータの利用権を保護するための形態について、図1から図11に基づいて説明する。
Embodiment 1.
A method for protecting the right to use digital data will be described with reference to FIGS. 1 to 11. FIG.

***構成の説明***
図1に基づいて、利用権保護装置100の構成を説明する。
利用権保護装置100は、パーソナルコンピュータ、タブレットまたはスマートフォンのようなコンピュータである。
***Configuration Description***
The configuration of the rights protection device 100 will be described with reference to FIG.
The usage right protection device 100 is a computer such as a personal computer, a tablet, or a smartphone.

利用権保護装置100は、プロセッサ101とメモリ102と補助記憶装置103と通信装置104と入出力インタフェース105といったハードウェアを備える。これらのハードウェアは、信号線を介して互いに接続されている。 The usage rights protection device 100 comprises hardware such as a processor 101, a memory 102, an auxiliary storage device 103, a communication device 104, and an input/output interface 105. These pieces of hardware are connected to each other via signal lines.

プロセッサ101は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ101はCPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
The processor 101 is an IC that performs arithmetic processing and controls other hardware. For example, the processor 101 is a CPU.
IC is an abbreviation for Integrated Circuit.
CPU is an abbreviation for Central Processing Unit.

メモリ102は揮発性または不揮発性の記憶装置である。メモリ102は主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAMである。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
RAMは、Random Access Memoryの略称である。
The memory 102 is a volatile or non-volatile storage device. The memory 102 is also called a primary storage device or a main memory. For example, the memory 102 is a RAM. Data stored in the memory 102 is saved in the secondary storage device 103 as needed.
RAM is an abbreviation for Random Access Memory.

補助記憶装置103は不揮発性の記憶装置である。補助記憶装置103はストレージとも呼ばれる。例えば、補助記憶装置103は、ROM、HDD、フラッシュメモリまたはこれらの組み合わせである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
The auxiliary storage device 103 is a non-volatile storage device. The auxiliary storage device 103 is also called storage. For example, the auxiliary storage device 103 is a ROM, a HDD, a flash memory, or a combination thereof. Data stored in the auxiliary storage device 103 is loaded into the memory 102 as needed.
ROM is an abbreviation for Read Only Memory.
HDD is an abbreviation for Hard Disk Drive.

通信装置104はレシーバ及びトランスミッタである。例えば、通信装置104は通信チップまたはNICである。利用権保護装置100の通信は通信装置104を用いて行われる。
NICは、Network Interface Cardの略称である。
The communication device 104 is a receiver and a transmitter. For example, the communication device 104 is a communication chip or a NIC. The communication of the rights protection device 100 is performed using the communication device 104.
NIC is an abbreviation for Network Interface Card.

入出力インタフェース105は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース105はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。利用権保護装置100の入出力は入出力インタフェース105を用いて行われる。
USBは、Universal Serial Busの略称である。
The input/output interface 105 is a port to which an input device and an output device are connected. For example, the input/output interface 105 is a USB terminal, the input devices are a keyboard and a mouse, and the output device is a display. Input and output of the rights protection device 100 are performed using the input/output interface 105.
USB is an abbreviation for Universal Serial Bus.

利用権保護装置100は、分散ファイルシステム部200とブロックチェーン部300といった要素を備える。これらの要素はソフトウェアで実現される。 The usage rights protection device 100 comprises elements such as a distributed file system unit 200 and a blockchain unit 300. These elements are realized in software.

補助記憶装置103には、分散ファイルシステム部200とブロックチェーン部300としてコンピュータを機能させるための利用権保護プログラムが記憶されている。利用権保護プログラムは、メモリ102にロードされて、プロセッサ101によって実行される。
補助記憶装置103には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
プロセッサ101は、OSを実行しながら、利用権保護プログラムを実行する。
OSは、Operating Systemの略称である。
The auxiliary storage device 103 stores a usage right protection program for causing a computer to function as the distributed file system unit 200 and the block chain unit 300. The usage right protection program is loaded into the memory 102 and executed by the processor 101.
The auxiliary storage device 103 also stores an OS. At least a part of the OS is loaded into the memory 102 and executed by the processor 101.
The processor 101 executes the usage rights protection program while executing the OS.
OS is an abbreviation for Operating System.

利用権保護プログラムのデータ(例えば入出力データ)は記憶部190に記憶される。
メモリ102は記憶部190として機能する。但し、補助記憶装置103、プロセッサ101内のレジスタおよびプロセッサ101内のキャッシュメモリなどの記憶装置が、メモリ102の代わりに、又は、メモリ102と共に、記憶部190として機能してもよい。
The data of the rights-protected program (for example, input/output data) is stored in the storage unit 190 .
The memory 102 functions as the storage unit 190. However, a storage unit such as the auxiliary storage unit 103, a register in the processor 101, or a cache memory in the processor 101 may function as the storage unit 190 instead of or together with the memory 102.

利用権保護プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。 The usage rights protection program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or flash memory.

補助記憶装置103は、分散ファイルシステム用ストレージとブロックチェーン用ストレージとして使用される。 The auxiliary storage device 103 is used as storage for the distributed file system and blockchain.

図2に、利用権保護装置100の機能構成を示す。
分散ファイルシステム部200は、データアクセス部210とファイル受信部220とファイル送信部230とネットワーク管理部240とファイル管理部250とUI部260といった要素を備える。UIはユーザインタフェースの略称である。
ファイル受信部220は、リクエスト部221と復号部222とファイル形成部223といった要素を備える。
ファイル送信部230は、レスポンス部231と暗号化部232といった要素を備える。
ブロックチェーン部300は、データ管理部310とアカウント管理部320とネットワーク管理部330といった要素を備える。
FIG. 2 shows the functional configuration of the rights protection device 100 .
The distributed file system unit 200 comprises elements such as a data access unit 210, a file receiving unit 220, a file transmitting unit 230, a network management unit 240, a file management unit 250, and a UI unit 260. UI is an abbreviation for user interface.
The file receiving unit 220 includes elements such as a request unit 221 , a decryption unit 222 , and a file forming unit 223 .
The file transmission unit 230 includes elements such as a response unit 231 and an encryption unit 232 .
The blockchain unit 300 includes elements such as a data management unit 310 , an account management unit 320 , and a network management unit 330 .

図3に基づいて、ネットワークシステム400の構成を説明する。
ネットワークシステム400は、複数の利用権保護装置100を備える。
複数の利用権保護装置100は、P2Pネットワークを構成して互いに通信し、分散ファイルシステムとブロックチェーンを実現する。P2Pはピアツーピアの略称である。
分散ファイルシステム部200は、利用権保護装置100を分散ファイルシステムの一部として機能させる。
ブロックチェーン部300は、利用権保護装置100をブロックチェーンの一部として機能させる。
ネットワーク管理部330は、ブロックチェーンクライアント(利用権保護装置100)間のP2P接続を実現する機能を有する。
The configuration of the network system 400 will be described with reference to FIG.
The network system 400 includes a plurality of rights protection devices 100 .
A plurality of usage right protection devices 100 communicate with each other by forming a P2P network, thereby realizing a distributed file system and a blockchain. P2P is an abbreviation for peer-to-peer.
The distributed file system unit 200 allows the usage right protection device 100 to function as a part of the distributed file system.
The block chain unit 300 allows the usage right protection device 100 to function as a part of the block chain.
The network management unit 330 has a function of realizing P2P connections between blockchain clients (usage right protection devices 100).

利用権保護装置100は、分散ファイルシステム部200とブロックチェーン部300の一方のみを備えてもよい。
分散ファイルシステムを構成する利用権保護装置100がブロックチェーンを構成する利用権保護装置100と異なっても構わない。
The usage right protection device 100 may include only one of the distributed file system unit 200 and the block chain unit 300 .
The usage right protection device 100 that constitutes the distributed file system may be different from the usage right protection device 100 that constitutes the blockchain.

***動作の説明***
利用権保護装置100の動作の手順は利用権保護方法に相当する。また、利用権保護装置100の動作の手順は利用権保護プログラムによる処理の手順に相当する。
***Explanation of Operation***
The operation procedure of the rights protection device 100 corresponds to a rights protection method, and also corresponds to a processing procedure by a rights protection program.

図4から図7に基づいて、利用権保護方法(閲覧)を説明する。
利用権保護方法(閲覧)は、ユーザ401がファイルを閲覧するための方法である。
ユーザ401は、ファイルの所有者であり、ファイルを閲覧する権利を有する。
ファイルは、デジタルデータである。ファイルはコンテンツとも呼ばれる。
The usage right protection method (browsing) will be described with reference to FIGS.
The usage right protection method (view) is a method by which the user 401 can view a file.
A user 401 is the owner of the file and has the right to view the file.
A file is digital data. A file is also called content.

分散ファイルシステムにおいて、各ファイルは複数の断片に分割され、各ファイルの複数の断片は1つ以上の利用権保護装置100に保存されている。但し、ファイルは必ずしも断片化されなくてもよい。例えば、ファイルサイズが小さい場合、ファイルは断片化されなくてもよい。 In a distributed file system, each file is divided into multiple fragments, and the multiple fragments of each file are stored in one or more usage rights protection devices 100. However, files do not necessarily have to be fragmented. For example, if the file size is small, the file does not have to be fragmented.

ユーザ401が使用する利用権保護装置100を、「ユーザ端末」と称する。
ユーザ端末とは別の利用権保護装置100を、「他端末」と称する。
The rights protection device 100 used by the user 401 is called a "user terminal."
The rights protection device 100 other than the user terminal is referred to as an "other terminal."

ステップS101において、ユーザ401は、ユーザインタフェースを利用して、ファイルリクエストをユーザ端末に入力する。
ユーザインタフェースは、例えば、ユーザ端末を操作するために必要な画面、コマンドを受け付ける機能などである。ユーザインタフェースはUI部260によって制御される。
In step S101, the user 401 inputs a file request into the user terminal using the user interface.
The user interface includes, for example, a screen required for operating the user terminal, a function for accepting commands, etc. The user interface is controlled by a UI unit 260.

ファイルリクエストは、ユーザ端末に対するファイルのリクエストである。
リクエストされたファイルを、リクエストファイルと称する。
A file request is a request for a file to a user terminal.
The requested file is called the request file.

ステップS102において、ユーザ端末のUI部260は、ファイルリクエストを受け取り、ユーザ端末のファイルリクエストをリクエスト部221に渡す。 In step S102, the UI unit 260 of the user terminal receives the file request and passes the file request of the user terminal to the request unit 221.

ステップS103において、ユーザ端末のリクエスト部221は、ファイルリクエストを受け取り、ファイルリクエストをユーザ端末のファイル管理部250に渡す。 In step S103, the request unit 221 of the user terminal receives the file request and passes the file request to the file management unit 250 of the user terminal.

ステップS104において、ユーザ端末のファイル管理部250は、ファイルリクエストを受け取る。
そして、ユーザ端末のファイル管理部250は、ユーザ端末の分散ファイルシステム用ストレージを検索してリクエストファイルの複数の断片を探す。
リクエストファイルの複数の断片が見つかった場合、処理はステップS105に進む。
リクエストファイルの複数の断片が見つからなかった場合、処理はステップS111に進む。
In step S104, the file management unit 250 of the user terminal receives the file request.
Then, the file management unit 250 of the user terminal searches the distributed file system storage of the user terminal for multiple fragments of the requested file.
If multiple fragments of the request file are found, the process proceeds to step S105.
If multiple fragments of the requested file are not found, the process proceeds to step S111.

ステップS105において、ユーザ端末のファイル管理部250は、リクエストファイルの複数の断片をユーザ端末のリクエスト部221に返す。
そして、ユーザ端末のリクエスト部221は、リクエストファイルの複数の断片を受け取る。
ステップS105の後、処理はステップS161(図7を参照)に進む。
In step S105, the file management unit 250 of the user terminal returns a plurality of fragments of the requested file to the request unit 221 of the user terminal.
Then, the request unit 221 of the user terminal receives a plurality of fragments of the request file.
After step S105, the process proceeds to step S161 (see FIG. 7).

ステップS111において、ユーザ端末のファイル管理部250は、リクエストファイルの複数の断片が見つからなかったことを示す探索結果をユーザ端末のリクエスト部221に返す。 In step S111, the file management unit 250 of the user terminal returns a search result to the request unit 221 of the user terminal indicating that multiple fragments of the requested file were not found.

ステップS112において、ユーザ端末のリクエスト部221は、P2Pネットワークで繋がっている他端末を選択し、選択した他端末へファイルリクエストを送信する。
つまり、ユーザ端末のリクエスト部221は、リクエストファイルの複数の断片を他端末にリクエストする。
In step S112, the request unit 221 of the user terminal selects another terminal connected via the P2P network, and transmits a file request to the selected other terminal.
That is, the request unit 221 of the user terminal requests multiple fragments of the request file from another terminal.

ステップS113において、他端末のレスポンス部231は、ファイルリクエストを受信し、ファイルリクエストを他端末のファイル管理部250に渡す。 In step S113, the response unit 231 of the other terminal receives the file request and passes the file request to the file management unit 250 of the other terminal.

ステップS114において、他端末のファイル管理部250は、ファイルリクエストを受け取る。
そして、他端末のファイル管理部250は、他端末の分散ファイルシステム用ストレージを検索してリクエストファイルの複数の断片を探す。
リクエストファイルの少なくともいずれかの断片が見つかった場合、処理はステップS131(図5を参照)に進む。
リクエストファイルの断片が見つからなかった場合、処理はステップS121に進む。
In step S114, the file management unit 250 of the other terminal receives the file request.
Then, the file management unit 250 of the other terminal searches the distributed file system storage of the other terminal to find multiple fragments of the request file.
If at least one fragment of the requested file is found, the process proceeds to step S131 (see FIG. 5).
If no fragment of the requested file is found, the process proceeds to step S121.

ステップS121において、他端末のファイル管理部250は、リクエストファイルの断片が見つからなかったことを示す探索結果を他端末のレスポンス部231に返す。 In step S121, the file management unit 250 of the other terminal returns a search result indicating that no fragments of the requested file were found to the response unit 231 of the other terminal.

ステップS122において、他端末のレスポンス部231は、他端末のネットワーク管理部240に接続端末情報を問い合わせる。
接続端末情報は、P2Pネットワークで自端末に繋がっている1つ以上の他端末を示すデータであり、自端末に予め記憶される。
In step S122, the response unit 231 of the other terminal inquires of the network management unit 240 of the other terminal about the connected terminal information.
The connected terminal information is data indicating one or more other terminals connected to the own terminal in the P2P network, and is stored in advance in the own terminal.

ステップS123において、他端末のネットワーク管理部240は、接続端末情報を他端末のレスポンス部231に返す。 In step S123, the network management unit 240 of the other terminal returns the connected terminal information to the response unit 231 of the other terminal.

ステップS124において、他端末のレスポンス部231は、接続端末情報をユーザ端末へ返信する。 In step S124, the response unit 231 of the other terminal returns the connection terminal information to the user terminal.

ステップS124の後、ユーザ端末のリクエスト部221は、接続端末情報を受信し、受信した接続端末情報を参照して新たな他端末を選択し、選択した他端末へファイルリクエストを送信する(ステップS112)。
他端末がリクエストファイル(の断片)を持っていなくても、他端末の接続端末情報に基づいてファイル探索を続けることで、リクエストファイル(の断片)を見つけることができる。
After step S124, the request unit 221 of the user terminal receives the connection terminal information, selects a new other terminal by referring to the received connection terminal information, and transmits a file request to the selected other terminal (step S112).
Even if the other terminal does not have the request file (fragment thereof), the request file (fragment thereof) can be found by continuing the file search based on the connection terminal information of the other terminal.

ステップS112からステップS124までの処理は、暗号化ファイルが他端末からユーザ端末へ送信されるまで繰り返される。
暗号化ファイルは、リクエストファイルの少なくともいずれかの断片を暗号化して得られるファイルである。
ステップS124の後、処理はステップS131(図5を参照)に進む。
The processes from step S112 to step S124 are repeated until the encrypted file is transmitted from the other terminal to the user terminal.
The encrypted file is a file obtained by encrypting at least one fragment of the request file.
After step S124, the process proceeds to step S131 (see FIG. 5).

ステップS131において、他端末のファイル管理部250は、リクエストファイルの少なくともいずれかの断片を他端末の分散ファイルシステム用ストレージから取得する。
そして、他端末のファイル管理部250は、リクエストファイルの少なくともいずれかの断片を他端末のレスポンス部231に渡す。
In step S131, the file management unit 250 of the other terminal acquires at least one fragment of the request file from the distributed file system storage of the other terminal.
Then, the file management unit 250 of the other terminal passes at least one fragment of the request file to the response unit 231 of the other terminal.

ステップS132において、他端末のレスポンス部231は、リクエストファイルの少なくともいずれかの断片を受け取り、リクエストファイルの少なくともいずれかの断片の暗号化を他端末の暗号化部232に依頼する。 In step S132, the response unit 231 of the other terminal receives at least one fragment of the request file and requests the encryption unit 232 of the other terminal to encrypt at least one fragment of the request file.

ステップS133において、他端末の暗号化部232は、リクエストファイルの少なくともいずれかの断片を受け取る。
そして、他端末の暗号化部232は、リクエストファイルの所有者の公開鍵の取得を他端末のデータアクセス部210に依頼する。
In step S133, the encryption unit 232 of the other terminal receives at least one fragment of the request file.
Then, the encryption unit 232 of the other terminal requests the data access unit 210 of the other terminal to acquire the public key of the owner of the request file.

ステップS134において、他端末のデータアクセス部210は、リクエストファイルの所有者の公開鍵の取得を他端末のデータ管理部310に依頼する。 In step S134, the data access unit 210 of the other terminal requests the data management unit 310 of the other terminal to obtain the public key of the owner of the request file.

ステップS135において、他端末のデータ管理部310は、リクエストファイルの所有者の公開鍵をブロックチェーンから取得する。 In step S135, the data management unit 310 of the other terminal obtains the public key of the owner of the request file from the blockchain.

ステップS136において、他端末のデータ管理部310は、リクエストファイルの所有者の公開鍵を他端末のデータアクセス部210に返す。 In step S136, the data management unit 310 of the other terminal returns the public key of the owner of the requested file to the data access unit 210 of the other terminal.

ステップS137において、他端末のデータアクセス部210は、リクエストファイルの所有者の公開鍵を受け取り、リクエストファイルの所有者の公開鍵を他端末の暗号化部232に返す。 In step S137, the data access unit 210 of the other terminal receives the public key of the owner of the request file and returns the public key of the owner of the request file to the encryption unit 232 of the other terminal.

ステップS138において、他端末の暗号化部232は、リクエストファイルの所有者の公開鍵を受け取る。
そして、他端末の暗号化部232は、受け取った公開鍵を用いて、リクエストファイルの少なくともいずれかの断片を暗号化する。これにより、暗号化ファイルが得られる。
In step S138, the encryption unit 232 of the other terminal receives the public key of the owner of the request file.
The encryption unit 232 of the other terminal then uses the received public key to encrypt at least one of the fragments of the request file, thereby obtaining an encrypted file.

ステップS139において、他端末の暗号化部232は、暗号化ファイルを他端末のレスポンス部231に返す。 In step S139, the encryption unit 232 of the other terminal returns the encrypted file to the response unit 231 of the other terminal.

ステップS140において、他端末のレスポンス部231は、暗号化ファイルを受け取り、暗号化ファイルをユーザ端末へ返信する。
そして、ユーザ端末のリクエスト部221は、暗号化ファイルを受信する。
ステップS140の後、処理はステップS141(図6を参照)に進む。
In step S140, the response unit 231 of the other terminal receives the encrypted file and returns the encrypted file to the user terminal.
Then, the request unit 221 of the user terminal receives the encrypted file.
After step S140, the process proceeds to step S141 (see FIG. 6).

ステップS141において、ユーザ端末のリクエスト部221は、暗号化ファイルの復号をユーザ端末の復号部222に依頼する。 In step S141, the request unit 221 of the user terminal requests the decryption unit 222 of the user terminal to decrypt the encrypted file.

ステップS142において、ユーザ端末の復号部222は、暗号化ファイルを受け取る。
そして、ユーザ端末の復号部222は、ユーザ401の秘密鍵の取得をユーザ端末のデータアクセス部210に依頼する。
In step S142, the decryption unit 222 of the user terminal receives the encrypted file.
Then, the decryption unit 222 of the user terminal requests the data access unit 210 of the user terminal to acquire the private key of the user 401 .

ステップS143において、ユーザ端末のデータアクセス部210は、ユーザ401の秘密鍵の取得をユーザ端末のアカウント管理部320に依頼する。
ユーザ401の秘密鍵および公開鍵は、ユーザ401のアカウント情報の一部としてアカウント管理部320によって管理されている。
In step S143, the data access unit 210 of the user terminal requests the account management unit 320 of the user terminal to acquire the private key of the user 401.
The private key and public key of the user 401 are managed by the account management unit 320 as part of the account information of the user 401 .

ステップS144において、ユーザ端末のアカウント管理部320は、ユーザ401の秘密鍵をユーザ端末の補助記憶装置103から取得する。 In step S144, the account management unit 320 of the user terminal obtains the private key of the user 401 from the auxiliary storage device 103 of the user terminal.

ステップS145において、ユーザ端末のアカウント管理部320は、ユーザ401の秘密鍵をユーザ端末のデータアクセス部210に返す。 In step S145, the account management unit 320 of the user terminal returns the private key of the user 401 to the data access unit 210 of the user terminal.

ステップS146において、ユーザ端末のデータアクセス部210は、ユーザ401の秘密鍵を受け取り、ユーザ401の秘密鍵をユーザ端末の復号部222に返す。 In step S146, the data access unit 210 of the user terminal receives the private key of the user 401 and returns the private key of the user 401 to the decryption unit 222 of the user terminal.

ステップS147において、ユーザ端末の復号部222は、ユーザ401の秘密鍵を受け取る。
そして、ユーザ端末の復号部222は、ユーザ401の秘密鍵を用いて、暗号化ファイルから1つ以上の断片を復号する。
In step S 147 , the decryption unit 222 of the user terminal receives the private key of the user 401 .
The decryption unit 222 of the user terminal then uses the private key of the user 401 to decrypt one or more fragments from the encrypted file.

ユーザ401はリクエストファイルの所有者である。そのため、ユーザ401の秘密鍵はリクエストファイルの所有者の公開鍵と対をなす秘密鍵である。この場合、リクエストファイルの全ての断片が復号される。
ユーザ401はリクエストファイルの所有者でない場合、ユーザ401の秘密鍵はリクエストファイルの所有者の公開鍵と対をなさないため、リクエストファイルの断片が正しく復号されない。
The user 401 is the owner of the request file. Therefore, the private key of the user 401 is the private key paired with the public key of the owner of the request file. In this case, all fragments of the request file are decrypted.
If user 401 is not the owner of the request file, the request file fragments will not be decrypted correctly because user 401's private key will not pair with the request file owner's public key.

ステップS148において、ユーザ端末の復号部222は、復号された1つ以上の断片をユーザ端末のリクエスト部221に返す。
そして、ユーザ端末のリクエスト部221は、復号された1つ以上の断片を受け取る。
In step S148, the decoding unit 222 of the user terminal returns the one or more decoded fragments to the request unit 221 of the user terminal.
The request unit 221 of the user terminal then receives the decrypted one or more fragments.

リクエストファイルの複数の断片が得られるまで、ステップS112からステップS148がリクエスト先の他端末を変更しながら実行される。
リクエストファイルの複数の断片が得られた後、処理はステップS151に進む。
Steps S112 to S148 are executed while changing the other terminal to which the request is made until multiple fragments of the request file are obtained.
After obtaining multiple fragments of the request file, the process proceeds to step S151.

ステップS151において、ユーザ端末のリクエスト部221は、リクエストファイルの複数の断片の保管をユーザ端末のファイル管理部250に依頼する。 In step S151, the request unit 221 of the user terminal requests the file management unit 250 of the user terminal to store multiple fragments of the request file.

ステップS152において、ユーザ端末のファイル管理部250は、リクエストファイルの複数の断片を受け取る。
そして、ユーザ端末のファイル管理部250は、リクエストファイルの複数の断片をユーザ端末の分散ファイルシステム用ストレージに保管する。
In step S152, the file management unit 250 of the user terminal receives multiple fragments of the requested file.
Then, the file management unit 250 of the user terminal stores the multiple fragments of the request file in the distributed file system storage of the user terminal.

ステップS153において、ユーザ端末のファイル管理部250は、保管結果をユーザ端末のリクエスト部221に返す。
S153の後、処理はステップS161(図7を参照)に進む。
In step S153, the file management unit 250 of the user terminal returns the storage result to the request unit 221 of the user terminal.
After S153, the process proceeds to step S161 (see FIG. 7).

ステップS161において、ユーザ端末のリクエスト部221は、リクエストファイルの複数の断片をユーザ端末のファイル形成部223に渡して、リクエストファイルの形成を依頼する。 In step S161, the request unit 221 of the user terminal passes multiple fragments of the request file to the file creation unit 223 of the user terminal and requests the creation of the request file.

ステップS162において、ユーザ端末のファイル形成部223は、リクエストファイルの複数の断片を受け取る。
そして、ユーザ端末のファイル形成部223は、受け取った複数の断片を用いてリクエストファイルを形成する。
In step S162, the file forming unit 223 of the user terminal receives a plurality of fragments of the request file.
Then, the file forming unit 223 of the user terminal forms a request file using the received multiple fragments.

ステップS163において、ユーザ端末のファイル形成部223は、リクエストファイルをユーザ端末のリクエスト部221に返す。 In step S163, the file creation unit 223 of the user terminal returns the request file to the request unit 221 of the user terminal.

ステップS164において、ユーザ端末のリクエスト部221は、リクエストファイルを受け取り、リクエストファイルをユーザ端末のUI部260に返す。 In step S164, the request unit 221 of the user terminal receives the request file and returns the request file to the UI unit 260 of the user terminal.

ステップS165において、ユーザ端末のUI部260は、リクエストファイルを受け取り、リクエストファイルをユーザ401に対して出力する。
例えば、ユーザ端末のUI部260は、リクエストファイルをディスプレイに表示する。
そして、ユーザ401は、リクエストファイルを閲覧する。
In step S 165 , the UI unit 260 of the user terminal receives the request file and outputs the request file to the user 401 .
For example, the UI unit 260 of the user terminal displays the request file on a display.
Then, the user 401 views the request file.

***実施の形態1の特徴***
利用権保護装置100は、データアクセス部210とファイル送信部230とファイル受信部220を備えて、分散デジタルデータの利用権を保護する。
データアクセス部210は、ブロックチェーンから自アカウントの秘密鍵と、デジタルデータの所有者の公開鍵を取得する。
ファイル送信部230は、他端末からのファイルリクエストに対して、当該ファイルの所有者の公開鍵を用いて当該ファイルを暗号化し、暗号化ファイルを送信する。
ファイル受信部220は、他端末から送られてきた暗号化ファイルに対して、自アカウントの秘密鍵を使って当該暗号化ファイルを復号する。
***Features of the First Embodiment***
The usage right protection device 100 includes a data access unit 210, a file transmission unit 230, and a file reception unit 220, and protects the usage right of the distributed digital data.
The data access unit 210 obtains the private key of its own account and the public key of the owner of the digital data from the blockchain.
In response to a file request from another terminal, the file transmission unit 230 encrypts the file using the public key of the owner of the file and transmits the encrypted file.
The file receiving unit 220 uses the private key of its own account to decrypt the encrypted file sent from the other terminal.

***実施の形態1の効果***
実施の形態1は、分散デジタルデータの利用権保護に関するものである。
実施の形態1は、コンテンツの所有者だけが正しいコンテンツにアクセスできるようにすることを目的とする。
実施の形態1により、ブロックチェーンで管理されて所有権を有するユーザ(所有者)だけが、分散ファイルシステムで管理されているファイルにアクセスすることができる。
***Effects of First Embodiment***
The first embodiment relates to protection of the right to use distributed digital data.
The first embodiment aims to enable only the owner of the content to access the correct content.
According to the first embodiment, only users (owners) who have ownership rights and are managed by the blockchain can access files managed by the distributed file system.

ファイル(の断片群)は、ファイルの所有者の公開鍵を用いて暗号化して送信される。これにより、ファイルの所有者のみがファイルを閲覧することができる。
ユーザがファイルの所有者でなければ、ユーザ端末にある秘密鍵がファイル(の断片群)の暗号化に用いられる公開鍵と対をなさないため、暗号化されたファイル(の断片群)を復号化することができない。
悪意のあるユーザがファイルの一部の断片を暗号化せずに送信したとしても、ファイルの一部の断片が暗号化されていないだけであり、ファイルの多くの断片は暗号化されている。そのため、ファイルの所有者でなければ、完全なファイルを取得することができない。
悪意のあるユーザがファイルの所有者の公開鍵と異なる公開鍵を用いて暗号化したファイルの断片を送信したとしても、次のような理由で、ファイルの所有者は完全なファイルを取得することができる。この場合、ファイルの所有者の秘密鍵でファイルの断片を復号した際に、リクエストされたファイルの断片のハッシュ値と復号されたファイルの断片のハッシュ値が異なることとなる。または、ファイルの所有者の秘密鍵でファイルの断片を復号しようとしても、復号に失敗する。そのため、ファイルの所有者は、送信されたファイルの断片が異なる公開鍵で暗号化されていることに気が付いて、別の端末からファイルの断片を入手して、完全なファイルを取得することができる。
The files (fragments) are encrypted and sent using the file owner's public key, so that only the file owner can view them.
If the user is not the owner of the file, they will not be able to decrypt the encrypted file (fragments) because the private key on the user's device does not match the public key used to encrypt the file (fragments).
Even if a malicious user sends some fragments of a file unencrypted, only some fragments of the file are unencrypted, while many fragments of the file are encrypted, so that only the file owner can retrieve the complete file.
Even if a malicious user sends file fragments encrypted using a public key different from the file owner's public key, the file owner can still obtain the complete file for the following reasons: In this case, when the file fragments are decrypted using the file owner's private key, the hash value of the requested file fragment will be different from the hash value of the decrypted file fragment. Alternatively, an attempt to decrypt the file fragments using the file owner's private key will fail. As a result, the file owner will realize that the transmitted file fragments have been encrypted with a different public key, and will be able to obtain the file fragments from another device and obtain the complete file.

実施の形態1において、ファイル(の断片群)は暗号化されずに分散ファイルシステムに保管される。そして、ファイル(の断片群)は送信時に暗号化される。これにより、NFTによる所有権の譲渡が可能となる。NFTはNon-Fungible Tokenの略称である。
一方、所有者が変わるごとにファイル(の断片群)を新たな所有者の公開鍵を用いて暗号化して保管する方式では、所有権が譲渡されるたびに、ファイル(の断片群)を再暗号化して保管する必要がある。その結果、ファイルの一意性が損なわれてしまう。
分散ファイルシステムでは、再暗号化されたファイルは元のファイルとは異なるファイルとして扱われてしまう。コンテンツID(ファイルのハッシュ値)が不変であるからこそ、一意なファイルの所有権が価値を持つため、ファイルの一意性を担保することは重要である。
実施の形態1は、分散ファイルシステムでファイルを暗号化せずに扱うことで、ファイルの一意性の担保を達成する。
In the first embodiment, files (fragments) are stored in the distributed file system without being encrypted. The files (fragments) are then encrypted when they are transmitted. This enables ownership to be transferred using NFTs. NFT is an abbreviation for Non-Fungible Token.
On the other hand, in a method in which a file (or a group of fragments) is encrypted and stored using the public key of the new owner each time the owner changes, the file (or a group of fragments) must be re-encrypted and stored every time ownership is transferred, which results in the loss of file uniqueness.
In a distributed file system, a re-encrypted file is treated as a different file from the original file. Ensuring file uniqueness is important because unique file ownership has value precisely because the content ID (the file hash value) is immutable.
In the first embodiment, the uniqueness of a file is guaranteed by handling the file in the distributed file system without encrypting it.

***実施の形態1の補足***
図8に基づいて、ブロックチェーンについて補足する。
ブロックチェーンネットワークでは、複数のブロックデータが共有される。
ブロックデータは、各端末で発行された複数のトランザクションを一つに束ねて「ブロック」として管理されるデータである。
データ管理部310は、各ブロックデータを管理する機能を有する。
*** Supplement to the first embodiment ***
Based on FIG. 8, the blockchain will be explained in more detail.
In a blockchain network, multiple blocks of data are shared.
Block data is data that is managed as a "block" by bundling multiple transactions issued by each terminal into one.
The data management unit 310 has a function of managing each block data.

図9に基づいて、ユーザのアカウント情報について補足する。実線矢印は入出力を表している。点線矢印はコピーを表している。
ユーザのアカウント情報として、公開鍵と秘密鍵が使用される。
公開鍵は、アカウントIDとして利用される。
公開鍵と秘密鍵は、トランザクションの発行時と受信時に利用される。
トランザクションの発行時には、正当なアカウントIDを持つユーザがトランザクションの発行者であることを証明するために、秘密鍵を用いてトランザクションに含まれる取引内容に電子署名を付けて、電子署名と公開鍵をトランザクションに含める。
トランザクションの受信時には、トランザクションの中の公開鍵を用いてトランザクションの中の電子署名からハッシュ値が復号され、復号されたハッシュ値が取引内容のハッシュ値と一致するか確認される。
これにより、トランザクションの発行者がトランザクションの中の公開鍵と対となる秘密鍵を有する正当なユーザであることが確認される。
アカウント管理部320は、ユーザのアカウント情報となる公開鍵と秘密鍵を管理する機能を有する。
データ管理部310は、トランザクションを管理する機能を有する。
データアクセス部210は、ブロックデータに格納されたトランザクションの中の公開鍵をデータ管理部310から取得する機能を有する。トランザクションの中の公開鍵は、アカウント管理部320によって管理されるユーザの公開鍵ではなく、トランザクション発行者の公開鍵である。
データアクセス部210は、アカウント管理部320からユーザの秘密鍵を取得する機能を有する。
The user's account information will be explained further based on Figure 9. Solid arrows represent input and output, while dotted arrows represent copying.
A public key and a private key are used as the user's account information.
The public key is used as an account ID.
Public and private keys are used when issuing and receiving transactions.
When a transaction is issued, in order to prove that a user with a valid account ID is the issuer of the transaction, a digital signature is attached to the transaction details included in the transaction using a private key, and the digital signature and public key are included in the transaction.
When a transaction is received, the public key in the transaction is used to decrypt the hash value from the digital signature in the transaction, and the decrypted hash value is checked to see if it matches the hash value of the transaction details.
This verifies that the issuer of the transaction is a legitimate user who holds the private key that pairs with the public key in the transaction.
The account management unit 320 has a function of managing the public key and private key that constitute the user's account information.
The data management unit 310 has a function of managing transactions.
The data access unit 210 has a function of obtaining the public key in a transaction stored in block data from the data management unit 310. The public key in the transaction is not the public key of a user managed by the account management unit 320, but the public key of the transaction issuer.
The data access unit 210 has a function of obtaining the user's private key from the account management unit 320 .

分散ファイルシステムについて補足する。
IPFSは、著名な分散ファイルシステムである。IPFSはInter Planet File Systemの略称である。
IPFSでは、端末のID(256ビット)がファイルのハッシュ値(256ビット)に近い端末が、ファイルを持っている端末のIDを記憶しておく、という工夫がなされている。これにより、ファイルのハッシュ値に基づいて近い端末を探索して目的のファイルを早く見つけることができる。
A supplementary note about distributed file systems.
IPFS is a well-known distributed file system. IPFS is an abbreviation for Inter Planet File System.
IPFS is designed so that a device whose terminal ID (256 bits) is close to the file's hash value (256 bits) remembers the ID of the terminal that has the file. This allows the target file to be found quickly by searching for nearby terminals based on the file's hash value.

図10に、IPFSでのファイル管理の例を示す。最上段の図形はファイルを表している。丸はデータオブジェクトを表していて、四角はファイルの断片を表している。
大きなファイルは、複数の断片に分割されて管理される。
ファイルは、データオブジェクトという形式で管理される。ファイルは、CID(ファイルのハッシュ値)と、断片間のリンク情報「Links」と、データの中身「Data」から成る。
リンク情報は、ファイルを形成するために必要となる。リンク情報を辿っていくとデータの中身にたどり着き、リンク情報に従ってファイルを合成すると1つのファイルが出来上がる。
An example of file management in IPFS is shown in Figure 10. The topmost figure represents a file. Circles represent data objects, and squares represent file fragments.
Large files are split into multiple pieces and managed.
Files are managed in the form of data objects. A file consists of a CID (a hash value of the file), link information between fragments called "Links," and data contents called "Data."
Link information is necessary to form a file. By tracing the link information, you can reach the data content, and by combining files according to the link information, a single file is created.

NFTについて補足する。
デジタルデータは簡単に複製できる。そのため、デジタルデータは、物理的なモノ(例えば、金およびダイヤモンド)に比べて、希少価値が低かった。
しかし、ブロックチェーンを利用してデジタルデータ(コンテンツ)の所有権を管理することができるNFTが出現した。これにより、デジタルデータが価値を持つようになり、デジタルデータが高値で売買されるようになった。
NFTは、デジタルデータの識別子(基本的には、デジタルデータのハッシュ値)と所有者の識別子(ウォレットアドレス)を紐づけて管理される。これにより、NFTはデジタルデータの所有権を保証することができる。
デジタルデータのハッシュ値は、デジタルデータに対して一意である。そのため、デジタルデータが1ビットでも改変されると、ハッシュ値が全く別の値になり、デジタルデータが別物であることを確認できる。
一意な識別子はスマートコントラクトで変更できないように設計されている。そのため、一意なデジタルデータを所有していることが保証される。
デジタルデータは、IPFSという分散ファイルシステムでファイルのハッシュ値ベースで管理される。そして、NFTで記録されたファイルのハッシュ値が入力されると、分割されたファイルの断片が複数の端末から収集されることによってファイルが取得される。IPFSはInterPlanetary File Systemの略称である。
所有権を売買する際は、ブロックチェーンのスマートコントラクトを介して、暗号資産(仮想通貨)が支払われる。これにより、所有権が譲渡される。
NFTの登録および譲渡が全てブロックチェーンのスマートコントラクトで実現されるので、信頼性、透明性および耐改ざん性が高い。つまり、人手を介さないプログラムでの自動実行のため、信頼性が高い。また、すべての取引が記録および公開されるため、透明性が高い。また、記録された取引を覆すことが困難なため、耐改ざん性が高い。これにより、安全性が確保される。
NFTによって、デジタルデータの所有権は保証される。しかし、デジタルデータが守られているわけではないため、所有権がない人がデジタルデータをダウンロードして閲覧することができる。また、所有権がない人がダウンロードしたデジタルデータをコピーして配布することができる。
物理世界では、複製できない、所有者だけが扱うことができる、といったモノの希少価値が存在する。しかし、NFTだけでは、モノの希少価値をデジタルデータに与えることができない。
そこで、デジタルデータそのものを守る技術が必要となる。
A bit more information about NFTs.
Digital data can be easily copied, which is why it has always been less scarce than physical objects (e.g., gold and diamonds).
However, the emergence of NFTs, which use blockchain to manage ownership of digital data (content), has given digital data value, allowing it to be bought and sold at high prices.
NFTs are managed by linking the identifier of the digital data (basically the hash value of the digital data) with the owner's identifier (wallet address), which allows NFTs to guarantee ownership of the digital data.
The hash value of digital data is unique to that digital data. Therefore, if even one bit of the digital data is altered, the hash value will become completely different, making it possible to verify that the digital data is different.
The unique identifier is designed to be immutable by smart contract, ensuring that you own a unique piece of digital data.
Digital data is managed based on file hash values in a distributed file system called IPFS. When the hash value of a file recorded in NFT is entered, the file is retrieved by collecting the fragments from multiple devices. IPFS stands for InterPlanetary File System.
When ownership is bought or sold, crypto assets (virtual currencies) are paid via a blockchain smart contract, which transfers ownership.
Since the registration and transfer of NFTs is all achieved through blockchain smart contracts, they are highly reliable, transparent, and tamper-resistant. In other words, they are highly reliable because they are executed automatically by a program without human intervention. In addition, they are highly transparent because all transactions are recorded and made public. Furthermore, they are highly tamper-resistant because recorded transactions are difficult to reverse. This ensures safety.
NFTs guarantee ownership of digital data. However, the digital data is not protected, so people without ownership can download and view the digital data. They can also copy and distribute the downloaded digital data.
In the physical world, there is a scarcity value of things, such as things that cannot be replicated and can only be handled by their owner. However, NFTs alone cannot impart the scarcity value of things to digital data.
Therefore, technology to protect the digital data itself is needed.

図11に、NFTで管理される主要なデータ項目を示す。
スマートコントラクトアドレスとトークンIDを使って、コンテンツIDおよび所有者アドレスを取得することができる。コンテンツIDはコンテンツのハッシュ値またはコンテンツのメタデータのハッシュ値である。所有者アドレスは所有者の公開鍵に相当する。
Ethereumは著名なブロックチェーンである。Ethereumでは、所有者アドレスは公開鍵のハッシュ値である。そのため、トランザクションの署名から公開鍵を取得する必要がある。
FIG. 11 shows the main data items managed by the NFT.
Using the smart contract address and token ID, you can obtain the content ID and owner address. The content ID is the hash value of the content or the hash value of the content metadata. The owner address corresponds to the owner's public key.
Ethereum is a well-known blockchain. In Ethereum, the owner address is the hash value of the public key. Therefore, the public key must be obtained from the transaction signature.

実施の形態2.
ファイルを分散させる形態について、主に実施の形態1と異なる点を図12から図14に基づいて説明する。
Embodiment 2.
The file distribution mode will be described below, focusing mainly on the differences from the first embodiment, with reference to FIGS. 12 to 14. FIG.

***構成の説明***
図12に基づいて、利用権保護装置100の構成を説明する。
利用権保護装置100において、分散ファイルシステム部200は、ファイル拡散部270という要素を備える。
***Configuration Description***
The configuration of the rights protection device 100 will be described with reference to FIG.
In the rights protection device 100 , the distributed file system unit 200 includes an element called a file distribution unit 270 .

***動作の説明***
図13に基づいて、利用権保護方法(アップロード)を説明する。
利用権保護方法(アップロード)は、ユーザ401がファイルをアップロードするための方法である。つまり、利用権保護方法(アップロード)は、ファイルを分散ファイルシステムに保管するための方法である。
***Explanation of Operation***
The usage right protection method (upload) will be described with reference to FIG.
The usage right protection method (upload) is a method for the user 401 to upload a file. In other words, the usage right protection method (upload) is a method for storing a file in the distributed file system.

ステップS201において、ユーザ401は、ユーザインタフェースを利用して、アップロードファイルをユーザ端末に対して指定する。
アップロードファイルは、分散ファイルシステムに保管したいファイルである。
In step S201, the user 401 uses the user interface to specify an upload file on the user terminal.
An uploaded file is a file that you want to store in the distributed file system.

ステップS202において、ユーザ端末のUI部260は、アップロードファイルをユーザ端末のファイル管理部250に渡す。 In step S202, the UI unit 260 of the user terminal passes the uploaded file to the file management unit 250 of the user terminal.

ステップS203において、ユーザ端末のファイル管理部250は、アップロードファイルを受け取る。
そして、ユーザ端末のファイル管理部250は、アップロードファイルのサイズに応じてアップロードファイルを断片化する。
これにより、アップロードファイルの複数の断片が得られる。
In step S203, the file management unit 250 of the user terminal receives the uploaded file.
Then, the file management unit 250 of the user terminal fragments the uploaded file according to the size of the uploaded file.
This will give you multiple fragments of the uploaded file.

ステップS204において、ユーザ端末のファイル管理部250は、アップロードファイルの複数の断片の拡散をユーザ端末のファイル拡散部270に依頼する。 In step S204, the file management unit 250 of the user terminal requests the file spreading unit 270 of the user terminal to spread multiple fragments of the uploaded file.

ステップS205において、ユーザ端末のファイル拡散部270は、アップロードファイルの複数の断片を受け取る。
そして、ユーザ端末のファイル拡散部270は、P2Pネットワークで繋がっている1つ以上の他端末を選択し、選択した1つ以上の他端末へアップロードファイルの複数の断片を送信する。
つまり、ユーザ端末のファイル拡散部270は、分散ファイルシステムに対するアップロードファイルの複数の断片の保管を要求する。
In step S205, the file spreader 270 of the user terminal receives a plurality of fragments of the uploaded file.
Then, the file spreading unit 270 of the user terminal selects one or more other terminals connected in the P2P network, and transmits a plurality of fragments of the uploaded file to the selected one or more other terminals.
That is, the file spreading unit 270 of the user terminal requests the distributed file system to store multiple fragments of the uploaded file.

ステップS206において、他端末のファイル管理部250は、アップロードファイルの1つ以上の断片を受信する。
そして、他端末のファイル管理部250は、アップロードファイルの1つ以上の断片の保管を他端末のファイル拡散部270に依頼する。
In step S206, the file management unit 250 of the other terminal receives one or more fragments of the uploaded file.
Then, the file management unit 250 of the other terminal requests the file distribution unit 270 of the other terminal to store one or more fragments of the uploaded file.

ステップS207において、他端末のファイル拡散部270は、アップロードファイルの1つ以上の断片を受け取る。
そして、他端末のファイル拡散部270は、アップロードファイルの1つ以上の断片を他端末の分散ファイルシステム用ストレージに保管する。
In step S207, the file spreading unit 270 of the other terminal receives one or more fragments of the uploaded file.
Then, the file spreading unit 270 of the other terminal stores one or more fragments of the uploaded file in the storage for the distributed file system of the other terminal.

ステップS208において、他端末のファイル拡散部270は、保管結果を他端末のファイル管理部250に返す。 In step S208, the file distribution unit 270 of the other terminal returns the storage result to the file management unit 250 of the other terminal.

ステップS209において、他端末のファイル管理部250は、保管結果を受け取る。
そして、他端末のファイル管理部250は、保管結果をユーザ端末へ返信する。
In step S209, the file management unit 250 of the other terminal receives the storage result.
Then, the file management unit 250 of the other terminal returns the storage result to the user terminal.

保管が失敗した場合、別の他端末に対してステップS205からステップS209が実行される。 If storage fails, steps S205 to S209 are executed for another terminal.

ステップS210において、ユーザ端末のファイル拡散部270は、1つ以上の他端末から保管結果を受信し、保管結果に相当する拡散結果をユーザ端末のファイル管理部250に返す。 In step S210, the file distribution unit 270 of the user terminal receives storage results from one or more other terminals and returns distribution results corresponding to the storage results to the file management unit 250 of the user terminal.

ステップS211において、ユーザ端末のファイル管理部250は、拡散結果を受け取り、拡散結果に相当するアップロード結果をユーザ端末のUI部260に返す。 In step S211, the file management unit 250 of the user terminal receives the diffusion result and returns the upload result corresponding to the diffusion result to the UI unit 260 of the user terminal.

ステップS212において、ユーザ端末のUI部260は、アップロード結果を受け取る。
そして、ユーザ端末のUI部260は、アップロード結果をユーザ401に対して出力する。
例えば、ユーザ端末のUI部260は、アップロード結果をディスプレイに表示する。
In step S212, the UI unit 260 of the user terminal receives the upload result.
Then, the UI unit 260 of the user terminal outputs the upload result to the user 401 .
For example, the UI unit 260 of the user terminal displays the upload result on a display.

図14に基づいて、ダウンロードファイルの拡散について説明する。
ダウンロードファイルは、分散ファイルシステムから得られたファイル(の複数の断片)である。
ステップS151(実施の形態1を参照)において、ユーザ端末のリクエスト部221は、ダウンロードファイルの複数の断片の保管をユーザ端末のファイル管理部250に依頼する。
その後、ダウンロードファイルの複数の断片に対して、ステップS204からステップS211が実行される。
The diffusion of the download file will be described with reference to FIG.
A download file is a file (or pieces of a file) obtained from a distributed file system.
In step S151 (see embodiment 1), the request unit 221 of the user terminal requests the file management unit 250 of the user terminal to store a plurality of fragments of a downloaded file.
Steps S204 to S211 are then performed for the multiple fragments of the downloaded file.

***実施の形態2の特徴***
利用権保護装置100は、ファイル拡散部270を備える。
ファイル拡散部270は、アップロードするファイルまたはダウンロードしたファイルに対して、隣接する端末にファイルの断片を拡散する。
***Features of the Second Embodiment***
The rights protection device 100 includes a file spreading unit 270 .
The file spreading unit 270 spreads fragments of a file to be uploaded or downloaded to neighboring terminals.

***実施の形態2の効果***
分散ファイルシステムでは、各端末がファイルを取得することによって、ネットワーク内でファイルが拡散されていく。
利用権保護方法では、所有者のみがファイルを復号することができる。そのため、ファイルの拡散が起こりにくく、ファイルの可用性およびファイルの永続性が担保されない可能性がある。例えば、所有者の端末が破損した場合にファイルが永久に失われてしまう可能性がある。
しかし、実施の形態2ではファイル拡散が機能する。これにより、ファイルの分散化が行われ、ファイルの可用性およびファイルの永続性が担保される。
***Effects of the Second Embodiment***
In a distributed file system, files are spread within the network as each terminal acquires the files.
In the usage rights protection method, only the owner can decrypt the file. Therefore, the file is unlikely to be spread, and the availability and permanence of the file may not be guaranteed. For example, if the owner's device is damaged, the file may be lost forever.
However, in the second embodiment, file diffusion works, which distributes files and ensures the availability and permanence of files.

実施の形態3.
ファイルが公開データと非公開データを含む場合の形態について、主に実施の形態1および実施の形態2と異なる点を図15から図17に基づいて説明する。
Embodiment 3.
The following describes a configuration in which a file contains public data and private data, focusing mainly on the differences from the first and second embodiments, with reference to FIGS. 15 to 17. FIG.

***構成の説明***
図15に基づいて、利用権保護装置100の構成を説明する。
利用権保護装置100において、分散ファイルシステム部200は、アクセス管理部280という要素を備える。
***Configuration Description***
The configuration of the rights protection device 100 will be described with reference to FIG.
In the rights protection device 100 , the distributed file system unit 200 includes an element called an access management unit 280 .

***動作の説明***
ユーザ401は、アップロードファイルのファイル属性(公開ファイルまたは非公開ファイル)を指定する(ステップS201)。
公開ファイルは、閲覧が制限されないファイルである。
非公開ファイルは、閲覧が制限されるファイルである。
***Explanation of Operation***
The user 401 specifies the file attribute (public file or private file) of the uploaded file (step S201).
A public file is a file that is not restricted in terms of viewing.
A private file is a file whose access is restricted.

ユーザ端末のファイル管理部250は、アップロードファイルの複数の断片に公開フラグまたは非公開フラグを付与する(ステップS203)。
アップロードファイルが公開ファイルである場合、アップロードファイルの複数の断片には公開フラグが付与される。
アップロードファイルが非公開ファイルである場合、アップロードファイルの複数の断片には非公開フラグが付与される。
The file management unit 250 of the user terminal assigns a public flag or a private flag to the multiple fragments of the uploaded file (step S203).
If the uploaded file is a public file, the fragments of the uploaded file are flagged as public.
If the uploaded file is a private file, the fragments of the uploaded file are flagged as private.

他端末のアクセス管理部280は、リクエストファイルの1つ以上の断片に非公開フラグが付与されているか判断する。
リクエストファイルの1つ以上の断片に非公開フラグが付与されている場合、他端末の暗号化部232は、リクエストファイルの1つ以上の断片を暗号化する(ステップS138)。そして、他端末の暗号化部232は、非公開フラグが付与された暗号化ファイルをユーザ端末へ送信する(ステップS139)。
リクエストファイルの1つ以上の断片に公開フラグが付与されている場合、リクエストファイルの1つ以上の断片は暗号化されない。
The access management unit 280 of the other terminal determines whether a non-public flag has been added to one or more fragments of the request file.
If a private flag is set for one or more fragments of the request file, the encryption unit 232 of the other terminal encrypts the one or more fragments of the request file (step S138), and then transmits the encrypted file with the private flag set to the user terminal (step S139).
If one or more fragments of the request file are flagged as public, then the one or more fragments of the request file are not encrypted.

ユーザ端末のアクセス管理部280は、分散ファイルシステムから得られた複数の断片に非公開フラグが付与されているか判断する。
分散ファイルシステムから得られた複数の断片に非公開フラグが付与されている場合、ユーザ端末の復号部222は、暗号化されている複数の断片を復号する(ステップS147)。
分散ファイルシステムから得られた複数の断片に公開フラグが付与されている場合、複数の断片に対する復号処理は不要である。
The access management unit 280 of the user terminal determines whether the fragments obtained from the distributed file system have been flagged as private.
If the multiple fragments obtained from the distributed file system have private flags attached, the decryption unit 222 of the user terminal decrypts the multiple encrypted fragments (step S147).
If multiple fragments obtained from the distributed file system are flagged as public, no decryption process is required for the multiple fragments.

***実施の形態3の特徴***
利用権保護装置100は、ファイル管理部250とアクセス管理部280を備える。
ファイル管理部250は、保管するファイルのデータオブジェクトに公開フラグまたは非公開フラグを追加する。
アクセス管理部280は、データオブジェクトの公開フラグまたは非公開フラグに基づいて、ファイルの断片の暗号化/復号の要否を判断する。
***Features of the Third Embodiment***
The rights protection device 100 includes a file management unit 250 and an access management unit 280 .
The file management unit 250 adds a public flag or a private flag to the data object of the file to be stored.
The access management unit 280 determines whether or not a fragment of a file needs to be encrypted/decrypted based on the public or private flag of the data object.

***実施の形態3の効果***
実施の形態3により、分散ファイルシステムの中に公開ファイルと非公開ファイルが混在していても、公開ファイルは誰でも閲覧可能であるのに対して非公開ファイルは所有者しかアクセスできないという制御を可能とする。
***Effects of the Third Embodiment***
According to the third embodiment, even if public files and private files are mixed in a distributed file system, it is possible to control that public files can be viewed by anyone, while private files can only be accessed by their owners.

***実施の形態3の補足*** ***Additional information for embodiment 3***

図16に基づいて、非公開ファイルについて補足する。
分散ファイルシステムは、アクセス制御が必要なデータ(非公開ファイル)とアクセス制御が不要なデータ(公開ファイル)の両方を保管している。
アクセス管理部280は、非公開ファイルのデータオブジェクトにEncryption属性(非公開フラグ)を入れる。
Encryption属性がtrueである場合、暗号化処理および復号処理が実行される。
Encryption属性がfalseである場合は、暗号化処理および復号処理が実行されない。
A supplementary explanation of private files will be given based on FIG.
A distributed file system stores both data that requires access control (private files) and data that does not require access control (public files).
The access management unit 280 puts an Encryption attribute (private flag) into the data object of the private file.
If the Encryption attribute is true, encryption and decryption processes are performed.
If the Encryption attribute is false, the encryption and decryption processes are not executed.

図17に基づいて、NFTについて補足する。
保有者アドレスは、例えば、16進数の42桁で表される。
TokenURIは、メタデータの場所を示す情報である。
nameは、NFTの名前を示す。
descriptionの欄は、NFTの説明を示す。
imageの欄は、対象データのURLを示す。
対象データは、例えば、画像、テキストまたは動画である。
Based on FIG. 17, the NFT will be explained in more detail.
The owner address is expressed, for example, as a 42-digit hexadecimal number.
The TokenURI is information indicating the location of the metadata.
Name indicates the name of the NFT.
The description column shows a description of the NFT.
The image column indicates the URL of the target data.
The target data is, for example, an image, text, or video.

NFTで管理されるファイルは、ブロックチェーンで管理されるインデックスデータ(図11を参照)と、分散ファイルシステムで管理される対象データ(コンテンツファイル)以外に、メタデータを含む場合がある。
メタデータは、コンテンツの内容を記載したデータであり、分散ファイルシステムで管理される。
Files managed by NFT may contain metadata in addition to index data managed by the blockchain (see Figure 11) and target data (content files) managed by the distributed file system.
Metadata is data that describes the content and is managed by a distributed file system.

図17において、ブロックチェーンには、メタデータのハッシュ値がTokenURIの欄に記録され、メタデータのimageの欄に対象データのハッシュ値が記録される。
対象データは、所有者のみが閲覧できるようにアクセス制御しなければならない。
一方で、メタデータが暗号化されていると、対象データが何なのかが分からず、対象データが価値を持たない。
つまり、メタデータはアクセス制御すべきでない。
また、メタデータの中に対象データのサムネイルデータのハッシュ値が登録されることもあり、サムネイルデータは誰でもアクセスできることが望ましい。これにより、画像の所有権を購入する際に、サムネイルを確認してから買うということが可能となる。例えば、対象データが画像であればサムネイルデータは解像度を落とした画像データであり、対象データが映像であればサムネイルデータは静止画像データである。
In FIG. 17, in the blockchain, the hash value of the metadata is recorded in the TokenURI column, and the hash value of the target data is recorded in the image column of the metadata.
Access to the data must be controlled so that only the owner can view it.
On the other hand, if the metadata is encrypted, the identity of the target data cannot be determined and the target data has no value.
In other words, metadata should not be access-controlled.
In addition, a hash value of thumbnail data of the target data may be registered in the metadata, and it is desirable that the thumbnail data be accessible to anyone. This allows users to check the thumbnail before purchasing ownership of an image. For example, if the target data is an image, the thumbnail data is image data with reduced resolution, and if the target data is video, the thumbnail data is still image data.

実施の形態3は、実施の形態2と組み合わせて実施されてもよい。
つまり、実施の形態3において、利用権保護装置100はファイル拡散部270を備えてもよい。リクエストファイルはアップロードファイルと同様に拡散される。
The third embodiment may be implemented in combination with the second embodiment.
That is, in the third embodiment, the rights protection device 100 may include a file spreading unit 270. The request file is spread in the same way as the uploaded file.

***実施の形態の補足*** ***Additional information on implementation form***

図18に基づいて、利用権保護装置100のハードウェア構成を説明する。
利用権保護装置100は処理回路109を備える。
処理回路109は、分散ファイルシステム部200とブロックチェーン部300を実現するハードウェアである。
処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
The hardware configuration of the rights protection device 100 will be described with reference to FIG.
The rights protection device 100 comprises a processing circuit 109 .
The processing circuit 109 is hardware that realizes the distributed file system unit 200 and the blockchain unit 300 .
The processing circuitry 109 may be dedicated hardware, or may be a processor 101 that executes a program stored in memory 102 .

処理回路109が専用のハードウェアである場合、処理回路109は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
ASICは、Application Specific Integrated Circuitの略称である。
FPGAは、Field Programmable Gate Arrayの略称である。
When processing circuitry 109 is dedicated hardware, processing circuitry 109 may be, for example, a single circuit, a multiple circuit, a programmed processor, parallel programmed processors, an ASIC, an FPGA, or a combination thereof.
ASIC is an abbreviation for Application Specific Integrated Circuit.
FPGA is an abbreviation for Field Programmable Gate Array.

利用権保護装置100は、処理回路109を代替する複数の処理回路を備えてもよい。 The usage rights protection device 100 may be provided with multiple processing circuits that replace the processing circuit 109.

処理回路109において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。 In the processing circuit 109, some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.

このように、利用権保護装置100の機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。 In this way, the functions of the usage rights protection device 100 can be realized by hardware, software, firmware, or a combination of these.

各実施の形態は、好ましい形態の例示であり、本開示の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。 Each embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present disclosure. Each embodiment may be implemented in part or in combination with other embodiments. Procedures described using flowcharts, etc. may be modified as appropriate.

利用権保護装置100の各要素の「部」は、「処理」、「工程」、「回路」または「サーキットリ」と読み替えてもよい。 The "part" of each element of the usage rights protection device 100 may also be read as "processing," "step," "circuit," or "circuitry."

100 利用権保護装置、101 プロセッサ、102 メモリ、103 補助記憶装置、104 通信装置、105 入出力インタフェース、109 処理回路、190 記憶部、200 分散ファイルシステム部、210 データアクセス部、220 ファイル受信部、221 リクエスト部、222 復号部、223 ファイル形成部、230 ファイル送信部、231 レスポンス部、232 暗号化部、240 ネットワーク管理部、250 ファイル管理部、260 UI部、270 ファイル拡散部、280 アクセス管理部、300 ブロックチェーン部、310 データ管理部、320 アカウント管理部、330 ネットワーク管理部、400 ネットワークシステム、401 ユーザ。100 Usage rights protection device, 101 Processor, 102 Memory, 103 Auxiliary storage device, 104 Communication device, 105 Input/output interface, 109 Processing circuit, 190 Memory unit, 200 Distributed file system unit, 210 Data access unit, 220 File receiving unit, 221 Request unit, 222 Decryption unit, 223 File formation unit, 230 File transmission unit, 231 Response unit, 232 Encryption unit, 240 Network management unit, 250 File management unit, 260 UI unit, 270 File distribution unit, 280 Access management unit, 300 Blockchain unit, 310 Data management unit, 320 Account management unit, 330 Network management unit, 400 Network system, 401 User.

Claims (10)

複数の断片に分割され暗号化されずに分散ファイルシステムに保管されたファイルのリクエストをユーザから受け付け、前記ユーザからリクエストされたファイルであるリクエストファイルの前記複数の断片を前記分散ファイルシステムに接続された1つ以上の端末にリクエストし、前記リクエストファイルの所有者の公開鍵を用いて暗号化された前記複数の断片を前記1つ以上の端末から受信し、暗号化された前記複数の断片から複数の断片を前記ユーザの秘密鍵を用いて復号し、復号された複数の断片を用いてファイルを形成する分散ファイルシステム部を備え、
前記ユーザの前記秘密鍵が前記リクエストファイルの前記所有者の前記公開鍵と対をなす秘密鍵である場合に、前記リクエストファイルの前記複数の断片が復号されて、前記リクエストファイルが形成される
利用権保護装置。
a distributed file system unit that receives from a user a request for a file that has been split into multiple fragments and stored in a distributed file system without encryption, requests the multiple fragments of a request file that is the file requested by the user from one or more terminals connected to the distributed file system, receives the multiple fragments encrypted using a public key of an owner of the request file from the one or more terminals, decrypts the multiple fragments from the encrypted multiple fragments using a private key of the user, and forms a file using the decrypted multiple fragments;
a usage rights protection device for decrypting the fragments of the request file to form the request file when the private key of the user is a private key paired with the public key of the owner of the request file;
前記利用権保護装置は、分散ファイルシステム用ストレージを備え、前記分散ファイルシステムに接続され、
前記分散ファイルシステム部は、複数の断片に分割され暗号化されずに前記分散ファイルシステムに保管されたファイルのリクエストをユーザ端末から受信し、前記ユーザ端末からリクエストされたファイルであるリクエストファイルの少なくとも1つの断片を前記分散ファイルシステム用ストレージから取得し、取得した1つ以上の断片を前記リクエストファイルの所有者の公開鍵を用いて暗号化し、暗号化された1つ以上の断片を前記ユーザ端末へ送信する
請求項1に記載の利用権保護装置。
the usage right protection device includes a storage for a distributed file system and is connected to the distributed file system;
The usage rights protection device described in claim 1, wherein the distributed file system unit receives a request from a user terminal for a file that has been divided into multiple fragments and stored in the distributed file system without encryption, obtains at least one fragment of the request file, which is the file requested by the user terminal, from the distributed file system storage, encrypts the obtained one or more fragments using the public key of the owner of the request file, and transmits the encrypted one or more fragments to the user terminal.
前記ユーザ端末からリクエストされた前記リクエストファイルの前記所有者の前記公開鍵をブロックチェーンから取得するブロックチェーン部を備える
請求項2に記載の利用権保護装置。
The usage right protection device according to claim 2 , further comprising a block chain unit that acquires the public key of the owner of the request file requested from the user terminal from a block chain.
各ファイルの複数の断片は、公開フラグまたは非公開フラグが付与され暗号化されずに前記分散ファイルシステムに保管され、
前記分散ファイルシステム部は、前記ユーザ端末からリクエストされた前記リクエストファイルの前記少なくとも1つの断片を前記分散ファイルシステム用ストレージから取得し、前記取得した1つ以上の断片に前記非公開フラグが付与されている場合に、前記取得した1つ以上の断片を前記リクエストファイルの前記所有者の前記公開鍵を用いて暗号化し、暗号化され前記非公開フラグが付与された1つ以上の断片を前記ユーザ端末へ送信する
請求項2に記載の利用権保護装置。
The fragments of each file are stored in the distributed file system unencrypted and flagged as public or private;
The usage rights protection device described in claim 2, wherein the distributed file system unit obtains at least one fragment of the request file requested by the user terminal from the distributed file system storage, and if the one or more obtained fragments have the private flag attached, encrypts the one or more obtained fragments using the public key of the owner of the request file, and transmits the encrypted one or more fragments attached with the private flag attached to the user terminal.
前記分散ファイルシステム部は、アップロードファイルの指定を受け付け、前記アップロードファイルを複数の断片に分割し、前記アップロードファイルの前記複数の断片を前記分散ファイルシステムに接続された1つ以上の端末へ送信して前記分散ファイルシステムに対する前記アップロードファイルの前記複数の断片の保管を要求する
請求項1に記載の利用権保護装置。
The usage rights protection device described in claim 1, wherein the distributed file system unit accepts a specification of an uploaded file, divides the uploaded file into multiple fragments, sends the multiple fragments of the uploaded file to one or more terminals connected to the distributed file system, and requests the distributed file system to store the multiple fragments of the uploaded file.
前記分散ファイルシステム部は、前記アップロードファイルのファイル属性の指定を受け付け、前記アップロードファイルが非公開ファイルである場合に非公開フラグを付与して前記アップロードファイルの前記複数の断片を前記1つ以上の端末へ送信する
請求項5に記載の利用権保護装置。
The usage rights protection device described in claim 5, wherein the distributed file system unit accepts specification of file attributes of the uploaded file, and if the uploaded file is a private file, assigns a private flag and transmits the multiple fragments of the uploaded file to the one or more terminals.
前記分散ファイルシステム部は、前記リクエストファイルを複数の断片に分割し、前記リクエストファイルの前記複数の断片を前記分散ファイルシステムに接続された1つ以上の端末へ送信して前記分散ファイルシステムに対する前記リクエストファイルの前記複数の断片の保管を要求する
請求項1から請求項6のいずれか1項に記載の利用権保護装置。
The usage rights protection device described in any one of claims 1 to 6, wherein the distributed file system unit divides the request file into multiple fragments, sends the multiple fragments of the request file to one or more terminals connected to the distributed file system, and requests the distributed file system to store the multiple fragments of the request file.
利用権保護装置が、複数の断片に分割され暗号化されずに分散ファイルシステムに保管されたファイルのリクエストをユーザから受け付け、前記ユーザからリクエストされたファイルであるリクエストファイルの前記複数の断片を前記分散ファイルシステムに接続された1つ以上の端末にリクエストし、前記リクエストファイルの所有者の公開鍵を用いて暗号化された前記複数の断片を前記1つ以上の端末から受信し、暗号化された前記複数の断片から複数の断片を前記ユーザの秘密鍵を用いて復号し、復号された複数の断片を用いてファイルを形成する利用権保護方法であり、
前記ユーザの前記秘密鍵が前記リクエストファイルの前記所有者の前記公開鍵と対をなす秘密鍵である場合に、前記リクエストファイルの前記複数の断片が復号されて、前記リクエストファイルが形成される
利用権保護方法。
A usage right protection method, comprising: a usage right protection device receiving a request from a user for a file that is divided into multiple fragments and stored in a distributed file system without encryption; requesting the multiple fragments of a request file, which is the file requested by the user, from one or more terminals connected to the distributed file system; receiving the multiple fragments encrypted using a public key of an owner of the request file from the one or more terminals; decrypting the multiple fragments from the encrypted multiple fragments using a private key of the user; and forming a file using the decrypted multiple fragments,
A usage rights protection method, wherein the multiple fragments of the request file are decrypted to form the request file if the private key of the user is a private key paired with the public key of the owner of the request file.
複数の断片に分割され暗号化されずに分散ファイルシステムに保管されたファイルのリクエストをユーザから受け付け、前記ユーザからリクエストされたファイルであるリクエストファイルの前記複数の断片を前記分散ファイルシステムに接続された1つ以上の端末にリクエストし、前記リクエストファイルの所有者の公開鍵を用いて暗号化された前記複数の断片を前記1つ以上の端末から受信し、暗号化された前記複数の断片から複数の断片を前記ユーザの秘密鍵を用いて復号し、復号された複数の断片を用いてファイルを形成する分散ファイルシステム処理
をコンピュータに実行させるための利用権保護プログラムであり、
前記ユーザの前記秘密鍵が前記リクエストファイルの前記所有者の前記公開鍵と対をなす秘密鍵である場合に、前記リクエストファイルの前記複数の断片が復号されて、前記リクエストファイルが形成される
利用権保護プログラム。
a usage rights protection program that causes a computer to execute a distributed file system process that receives a request from a user for a file that has been split into multiple fragments and stored in a distributed file system without encryption, requests the multiple fragments of a request file that is the file requested by the user from one or more terminals connected to the distributed file system, receives the multiple fragments encrypted using a public key of an owner of the request file from the one or more terminals, decrypts the multiple fragments from the encrypted multiple fragments using a private key of the user, and forms a file using the decrypted multiple fragments;
a usage rights protection program for decrypting the fragments of the request file to form the request file if the private key of the user is a private key paired with the public key of the owner of the request file;
複数の端末を含み、ファイルが複数の断片に分割され暗号化されずに保管される分散ファイルシステムであって、A distributed file system including a plurality of terminals, in which files are split into a plurality of fragments and stored unencrypted,
前記複数の端末のうちユーザが使用するユーザ端末が、前記ユーザからリクエストされたファイルであるリクエストファイルの複数の断片を、前記分散ファイルシステムに含まれる1つ以上の他端末にリクエストし、A user terminal used by a user among the plurality of terminals requests a plurality of fragments of a request file, which is a file requested by the user, from one or more other terminals included in the distributed file system;
前記1つ以上の他端末が、前記リクエストファイルの所有者の公開鍵を用いて前記複数の断片を暗号化し、the one or more other terminals encrypt the plurality of fragments using a public key of the owner of the request file;
前記ユーザ端末が、暗号化された前記複数の断片を前記1つ以上の他端末から受信し、暗号化された前記複数の断片を前記ユーザの秘密鍵を用いて復号し、復号された複数の断片を用いてファイルを形成し、the user terminal receives the encrypted fragments from the one or more other terminals, decrypts the encrypted fragments using the user's private key, and forms a file using the decrypted fragments;
前記ユーザの秘密鍵が前記リクエストファイルの所有者の公開鍵と対をなす秘密鍵である場合に、暗号化された前記複数の断片が復号されて前記リクエストファイルが形成されるIf the user's private key is a private key paired with the public key of the owner of the request file, the encrypted fragments are decrypted to form the request file.
分散ファイルシステム。Distributed file system.
JP2025537600A 2024-01-26 2024-01-26 USE RIGHT PROTECTION DEVICE, USE RIGHT PROTECTION METHOD, USE RIGHT PROTECTION PROGRAM, AND DISTRIBUTED FILE SYSTEM Active JP7805534B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2024/002470 WO2025158653A1 (en) 2024-01-26 2024-01-26 Use right protection device, use right protection method, and use right protection program

Publications (2)

Publication Number Publication Date
JPWO2025158653A1 JPWO2025158653A1 (en) 2025-07-31
JP7805534B2 true JP7805534B2 (en) 2026-01-23

Family

ID=96544616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2025537600A Active JP7805534B2 (en) 2024-01-26 2024-01-26 USE RIGHT PROTECTION DEVICE, USE RIGHT PROTECTION METHOD, USE RIGHT PROTECTION PROGRAM, AND DISTRIBUTED FILE SYSTEM

Country Status (2)

Country Link
JP (1) JP7805534B2 (en)
WO (1) WO2025158653A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151797A (en) 2015-02-16 2016-08-22 キヤノンマーケティングジャパン株式会社 Information processing system, control method thereof, and program
US20200175138A1 (en) 2018-12-03 2020-06-04 Bildosund Sl Computer-implemented method, a system, and computer programs for digital files management and preservation in digital licenses
WO2021010317A1 (en) 2019-07-17 2021-01-21 ソニー株式会社 Information system, information terminal, information processing method and information providing method
JP2023130017A (en) 2022-03-07 2023-09-20 株式会社日立ソリューションズ content protection system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151797A (en) 2015-02-16 2016-08-22 キヤノンマーケティングジャパン株式会社 Information processing system, control method thereof, and program
US20200175138A1 (en) 2018-12-03 2020-06-04 Bildosund Sl Computer-implemented method, a system, and computer programs for digital files management and preservation in digital licenses
WO2021010317A1 (en) 2019-07-17 2021-01-21 ソニー株式会社 Information system, information terminal, information processing method and information providing method
JP2023130017A (en) 2022-03-07 2023-09-20 株式会社日立ソリューションズ content protection system

Also Published As

Publication number Publication date
WO2025158653A1 (en) 2025-07-31
JPWO2025158653A1 (en) 2025-07-31

Similar Documents

Publication Publication Date Title
JP7823136B2 (en) Computer-Implemented System and Method for Storing Data on a Blockchain
EP3404891B1 (en) Method and system for distributing digital content in peer-to-peer network
KR101974075B1 (en) Method and system for verifying ownership of a digital asset using a distributed hash table and a peer-to-peer distributed ledger
EP3522051B1 (en) Detection method, device and system for copyright protection
JP4912406B2 (en) Transfer of digital license from the first platform to the second platform
US7975312B2 (en) Token passing technique for media playback devices
NO333104B1 (en) Secure architecture with server plugins for digital rights management systems
JP2005536951A (en) Apparatus, system, and method for securing digital documents in a digital device
KR102286016B1 (en) System Providing Cloud Service Based on Blockchain
US8091137B2 (en) Transferring a data object between devices
EP3920056B1 (en) Digital artwork display device, management method, and electronic device
JP7053031B2 (en) Information processing system, information processing device, information processing method and information processing program
KR20210037274A (en) Apparatus and method for managing contents
KR20200099041A (en) Apparatus and method for managing content access rights based on blockchain
JP7805534B2 (en) USE RIGHT PROTECTION DEVICE, USE RIGHT PROTECTION METHOD, USE RIGHT PROTECTION PROGRAM, AND DISTRIBUTED FILE SYSTEM
US8755521B2 (en) Security method and system for media playback devices
CN118051930A (en) Distributed privacy file encryption and decryption method, device and storage medium
CN1340795A (en) Method and system for preventing electronic file piracy
CN101243469A (en) Digital License Migration from First Platform to Second Platform
KR102529277B1 (en) Method and apparatus for encrypting data to realize web3.0
KR20040032369A (en) Method and System for protecting digital contents using terminal-unique-key
KR20240013335A (en) Blockchain-based financial transaction security system
KR100648207B1 (en) Distribution method of digital contents
KR20050059346A (en) Compressed cryptography method for digital cartoon contents
WO2025225364A1 (en) Device, control method for device, and content distribution system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250625

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250625

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20250625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20251216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260113

R150 Certificate of patent or registration of utility model

Ref document number: 7805534

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150