JP6302592B2 - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP6302592B2
JP6302592B2 JP2017123622A JP2017123622A JP6302592B2 JP 6302592 B2 JP6302592 B2 JP 6302592B2 JP 2017123622 A JP2017123622 A JP 2017123622A JP 2017123622 A JP2017123622 A JP 2017123622A JP 6302592 B2 JP6302592 B2 JP 6302592B2
Authority
JP
Japan
Prior art keywords
common key
key
data
block
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.)
Active
Application number
JP2017123622A
Other languages
Japanese (ja)
Other versions
JP2017195627A (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.)
NTT Data Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2017123622A priority Critical patent/JP6302592B2/en
Publication of JP2017195627A publication Critical patent/JP2017195627A/en
Application granted granted Critical
Publication of JP6302592B2 publication Critical patent/JP6302592B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program.

近年、ビットコイン(登録商標)等の仮想通貨を用いた商取引が行われている。当該仮想通貨を用いた商取引では、中央集権的な管理を必要とせずに不正を防止するため、ブロックチェーンと呼ばれる技術が用いられている。ブロックチェーンでは、複数のトランザクション、直前のハッシュ値及びその他の情報を「ブロック」として定義し、参加者全体で形成されるネットワーク内での合意形成のプロセスによって当該「ブロック」内の情報の信頼性を担保している。   In recent years, commercial transactions using a virtual currency such as Bitcoin (registered trademark) have been performed. In the commercial transaction using the virtual currency, a technique called block chain is used in order to prevent fraud without requiring centralized management. In blockchain, multiple transactions, previous hash values, and other information are defined as “blocks”, and the reliability of the information in these “blocks” is determined by a consensus building process in the network formed by all participants. Is secured.

例えば特許文献1には、このようなブロックチェーン技術により仮想通貨を用いた商取引を実現する技術が開示されている。   For example, Patent Literature 1 discloses a technology for realizing a commercial transaction using a virtual currency by such a block chain technology.

特開2016−218633号公報JP, 2006-218633, A

ここで、ブロックチェーンは参加者全ての取引の内容を示すものであるから、ビットコイン(登録商標)等の仮想通貨の取引に限られず、様々な取引に応用することが考えられる。例えば、複数者間で契約書を交わす際の証跡としてブロックチェーンを用いる方法が考えられる。しかしながら、契約といった性質上、当該契約書の内容を特定の参加者にのみ参照可能とし、他の者には秘匿しておきたいといった問題が生じる。このような場合に、特許文献1に記載の技術をそのまま適用しただけでは、当該問題を解決することはできず、特定の情報に対する秘匿性を担保するといった面からすると未だ十分ではなかった。   Here, since the block chain indicates the contents of the transaction for all the participants, the block chain is not limited to the transaction of virtual currency such as Bitcoin (registered trademark), and can be applied to various transactions. For example, a method of using a block chain as a trail when a contract is exchanged between a plurality of persons can be considered. However, due to the nature of the contract, there arises a problem that the contents of the contract can be referred to only by a specific participant and kept secret from others. In such a case, simply applying the technique described in Patent Document 1 as it is cannot solve the problem, and it is not yet sufficient from the aspect of ensuring confidentiality of specific information.

本発明は、上述のような事情に鑑みてなされたものであり、特定の情報に対する秘匿性を担保することができる情報処理装置、情報処理方法およびプログラムを提供することを目的としている。   The present invention has been made in view of the above-described circumstances, and an object thereof is to provide an information processing apparatus, an information processing method, and a program capable of ensuring confidentiality with respect to specific information.

上記目的を達成するため、本発明の第1の観点に係る情報処理装置は、
ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納手段(例えばステップS207およびステップS208の処理を実行する暗号化復号化部124およびデータ登録部121)と、
予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得手段(例えばステップS204の処理を実行する他公開鍵取得部126)と、
前記公開鍵取得手段で取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納手段(例えばステップS205およびステップS206の処理を実行する暗号化復号化部124およびデータ登録部121)と、
前記共通鍵格納手段により前記暗号化された前記共通鍵が前記ブロックチェーンで連結されるブロックに格納された後、前記共通鍵とは異なる新たな共通鍵を生成する共通鍵生成手段と、を備え、
前記データ格納手段は、前記ブロックチェーンで連結されるブロックに、前記生成されたデータを、前記共通鍵または前記新たな共通鍵のうち予め定められた条件に応じた共通鍵で暗号化して格納する、
とを特徴とする。
In order to achieve the above object, an information processing apparatus according to the first aspect of the present invention provides:
Data storage means for encrypting and storing the generated data with a common key in blocks connected by a block chain constructed in the network (for example, the encryption / decryption unit 124 that executes the processing of step S207 and step S208, and Data registration unit 121);
Public key acquisition means (for example, another public key acquisition unit 126 that executes the process of step S204) for acquiring a second public key different from the first public key stored in advance from the blocks connected by the block chain; ,
Common key storage means for encrypting the common key with the second public key acquired by the public key acquisition means, and storing the encrypted common key in blocks connected by the block chain (for example, step S205 and step An encryption / decryption unit 124 and a data registration unit 121) that execute the process of S206;
A common key generation unit configured to generate a new common key different from the common key after the common key encrypted by the common key storage unit is stored in a block connected by the block chain. ,
The data storage means encrypts and stores the generated data with a common key corresponding to a predetermined condition among the common key or the new common key in blocks connected by the block chain. ,
And wherein a call.

上記目的を達成するため、本発明の第2の観点に係る情報処理装置は、
ネットワーク内に構築されるブロックチェーンで連結されたブロックから、共通鍵で暗号化されたデータを取得するデータ取得手段(例えばステップS301の処理を実行するブロック統合部125)と、
前記共通鍵を記憶していない場合、前記ブロックチェーンで連結されたブロックから、予め記憶している公開鍵で暗号化された前記共通鍵を取得する暗号化共通鍵取得手段(例えばステップS301の処理を実行するブロック統合部125)と、
前記暗号化共通鍵取得手段で取得した前記共通鍵を、前記公開鍵に対応する秘密鍵で復号化する共通鍵復号化手段(例えばステップS305の処理を実行する暗号化復号化部124)と、
前記データ取得手段で取得した前記データを、前記共通鍵で復号化するデータ復号化手段(例えばステップS306の処理を実行する暗号化復号化部124)と、
前記データ復号化手段により復号化したデータを表示する表示手段(例えばステップS307の処理を実行するブロック統合部125)と、
を備えることを特徴とする。
In order to achieve the above object, an information processing apparatus according to the second aspect of the present invention provides:
Data acquisition means (for example, the block integration unit 125 that executes the process of step S301) for acquiring data encrypted with a common key from blocks connected in a block chain constructed in the network;
When the common key is not stored, an encrypted common key acquisition unit (for example, the process of step S301) that acquires the common key encrypted with the public key stored in advance from the blocks connected by the block chain Block integration unit 125) for executing
A common key decryption means for decrypting the common key obtained by the encrypted common key obtaining means with a secret key corresponding to the public key (for example, an encryption / decryption unit 124 for executing the process of step S305);
A data decryption means for decrypting the data acquired by the data acquisition means with the common key (for example, an encryption / decryption unit 124 that executes the process of step S306);
Display means for displaying the data decrypted by the data decryption means (for example, the block integration unit 125 for executing the process of step S307);
It is characterized by providing.

前記共通鍵格納手段は、前記第1公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する(例えばステップS103およびステップS104の処理を実行する暗号化復号化部124およびデータ登録部121)、
ようにしてもよい。
The common key storage means encrypts the common key with the first public key, and stores the encrypted common key in blocks connected by the block chain (for example, execute the processes of step S103 and step S104) Encryption / decryption unit 124 and data registration unit 121),
You may do it.

また、前記生成されたデータには、予め定められた重要度未満の重要度低データと、前記予め定められた重要度以上の重要度高データとがあり、  Further, the generated data includes low-importance data less than a predetermined importance and high-importance data higher than the predetermined importance,
前記重要度高データを、前記ブロックチェーンで連結されるブロックとは異なる、前記ネットワークを介して接続されたデータベースに格納する重要度データ格納手段をさらに備え、  Further comprising importance data storage means for storing the high importance data in a database connected via the network, which is different from the blocks connected by the block chain,
前記データ格納手段は、前記重要度低データを前記ブロックチェーンで連結されるブロックに格納し、前記重要度高データの格納先を示す格納先情報を、前記重要度高データに所定の演算を行うことにより算出した算出値とともに前記ブロックチェーンで連結されるブロックに格納する、  The data storage means stores the low importance data in blocks connected by the block chain, and performs a predetermined calculation on the high importance data with storage destination information indicating a storage destination of the high importance data. Stored in the block connected with the block chain together with the calculated value calculated by
ようにしてもよい。  You may do it.

上記目的を達成するため、本発明の第3の観点に係る情報処理方法は、
情報処理装置における情報処理方法であって、
ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納ステップ(例えばステップS207およびステップS208の処理を実行するステップ)と、
予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得ステップ(例えばステップS204の処理を実行するステップ)と、
前記公開鍵取得ステップで取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納ステップ(例えばステップS205およびステップS206の処理を実行するステップ)と、
前記共通鍵格納ステップにより前記暗号化された前記共通鍵が前記ブロックチェーンで連結されるブロックに格納された後、前記共通鍵とは異なる新たな共通鍵を生成する共通鍵生成ステップと、を備え、
前記データ格納ステップでは、前記ブロックチェーンで連結されるブロックに、前記生成されたデータを、前記共通鍵または前記新たな共通鍵のうち予め定められた条件に応じた共通鍵で暗号化して格納する、
とを特徴とする。
In order to achieve the above object, an information processing method according to a third aspect of the present invention includes:
An information processing method in an information processing apparatus,
A data storage step (for example, a step of executing the processing of step S207 and step S208) for encrypting the generated data with a common key and storing it in the blocks connected by the block chain constructed in the network;
A public key acquisition step of acquiring a second public key different from the first public key stored in advance from the blocks connected by the block chain (for example, the step of executing step S204);
A common key storage step (for example, step S205 and step S) that encrypts the common key with the second public key acquired in the public key acquisition step, and stores the encrypted common key in blocks connected by the block chain. Step of executing the process of S206),
A common key generation step of generating a new common key different from the common key after the encrypted common key is stored in the block connected by the block chain in the common key storage step. ,
In the data storing step, the generated data is encrypted and stored in a block connected by the block chain with a common key corresponding to a predetermined condition among the common key or the new common key. ,
And wherein a call.

上記目的を達成するため、本発明の第4の観点に係るプログラムは、
コンピュータを、
ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納手段(例えばステップS207およびステップS208の処理を実行する暗号化復号化部124およびデータ登録部121)、
予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得手段(例えばステップS204の処理を実行する他公開鍵取得部126)、
前記公開鍵取得手段で取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納手段(例えばステップS205およびステップS206の処理を実行する暗号化復号化部124およびデータ登録部121)、
前記共通鍵格納手段により前記暗号化された前記共通鍵が前記ブロックチェーンで連結されるブロックに格納された後、前記共通鍵とは異なる新たな共通鍵を生成する共通鍵生成手段、として機能させ、
前記データ格納手段は、前記ブロックチェーンで連結されるブロックに、前記生成されたデータを、前記共通鍵または前記新たな共通鍵のうち予め定められた条件に応じた共通鍵で暗号化して格納する、
とを特徴とする。
In order to achieve the above object, a program according to the fourth aspect of the present invention provides:
Computer
Data storage means for encrypting and storing the generated data with a common key in blocks connected by a block chain constructed in the network (for example, the encryption / decryption unit 124 that executes the processing of step S207 and step S208, and Data registration unit 121),
Public key acquisition means for acquiring a second public key different from the first public key stored in advance from the blocks connected by the block chain (for example, another public key acquisition unit 126 that executes the process of step S204),
Common key storage means for encrypting the common key with the second public key acquired by the public key acquisition means, and storing the encrypted common key in blocks connected by the block chain (for example, step S205 and step Encryption / decryption unit 124 and data registration unit 121) that execute the process of S206,
After the common key encrypted by the common key storage means is stored in the block connected by the block chain, it functions as a common key generation means for generating a new common key different from the common key. ,
The data storage means encrypts and stores the generated data with a common key corresponding to a predetermined condition among the common key or the new common key in blocks connected by the block chain. ,
And wherein a call.

本発明によれば、特定の情報に対する秘匿性を担保することができる。   According to the present invention, confidentiality with respect to specific information can be ensured.

本発明の実施形態に係る情報処理システムの一例を示すブロック図である。It is a block diagram showing an example of an information processing system concerning an embodiment of the present invention. 本発明の実施形態に係る情報処理装置の一例を示すブロック図である。It is a block diagram which shows an example of the information processing apparatus which concerns on embodiment of this invention. 作成する契約書の一例を示す図である。It is a figure which shows an example of the contract document to produce. 事前登録処理の一例を示すフローチャートである。It is a flowchart which shows an example of a prior registration process. 事前登録処理にて登録される具体的内容の一例を示す図である。It is a figure which shows an example of the specific content registered by a prior registration process. ブロック登録処理の一例を示すフローチャートである。It is a flowchart which shows an example of a block registration process. 参照処理の一例を示すフローチャートである。It is a flowchart which shows an example of a reference process. パターン1におけるブロック登録処理の具体的な登録内容の一例を示す図である。It is a figure which shows an example of the specific registration content of the block registration process in the pattern 1. FIG. ブロックチェーンの内容が図8に示す状態である場合の具体的な参照内容の例を示す図である。It is a figure which shows the example of the concrete reference content in case the content of a block chain is in the state shown in FIG. パターン2におけるブロック登録処理の具体的な登録内容の一例を示す図である。It is a figure which shows an example of the specific registration content of the block registration process in the pattern 2. FIG. ブロックチェーンの内容が図10に示す状態である場合の具体的な参照内容の例を示す図である。It is a figure which shows the example of the concrete reference content in case the content of a block chain is in the state shown in FIG. パターン3におけるブロック登録処理の具体的な登録内容の一例を示す図である。It is a figure which shows an example of the specific registration content of the block registration process in the pattern 3. FIG. ブロックチェーンの内容が図12に示す状態である場合の具体的な参照内容の例を示す図である。It is a figure which shows the example of the concrete reference content in case the content of a block chain is in the state shown in FIG. 変形例におけるブロックチェーンの具体的内容を示す図である。It is a figure which shows the specific content of the block chain in a modification. 変形例における情報処理システムの一例を示すブロック図である。It is a block diagram which shows an example of the information processing system in a modification.

まず、図1に示す情報処理システム1を例に、ブロックチェーンの概要について説明する。情報処理システム1では、図1に示すように、情報処理装置100A〜100C(情報処理装置100A〜100Cを単に情報処理装置100ともいう)のそれぞれがネットワーク210を介して通信可能に接続されている。   First, the outline of the block chain will be described by taking the information processing system 1 shown in FIG. 1 as an example. In the information processing system 1, as shown in FIG. 1, information processing apparatuses 100 </ b> A to 100 </ b> C (the information processing apparatuses 100 </ b> A to 100 </ b> C are also simply referred to as information processing apparatuses 100) are connected to be communicable via a network 210. .

情報処理装置100は、携帯電話やスマートフォン、タブレットやPC(Personal Computer)等の情報端末であり、P2P(Peer to Peer)等の分散型のネットワーク210を構築している。なお、情報処理システム1は、P2P型のシステムに限られず、例えばクラウドコンピューティング型であってもよい。   The information processing apparatus 100 is an information terminal such as a mobile phone, a smartphone, a tablet, or a PC (Personal Computer), and constructs a distributed network 210 such as P2P (Peer to Peer). Note that the information processing system 1 is not limited to a P2P type system, and may be a cloud computing type, for example.

情報処理装置100は、ユーザによる操作により契約に関するデータなどを生成し、ネットワーク210へ配信する機能を有するトランザクション生成装置として機能する。また、情報処理装置100は、トランザクション生成装置により配信されたトランザクションの正当性を検証し、新たなブロックを生成して既存のブロックチェーンを連結するブロックチェーン生成装置としても機能する。ブロックチェーン生成装置が検証した結果は、ネットワーク210を介して、各情報処理装置100で共有される。なお、図示する例では、理解を容易にするために、トランザクション生成装置の機能とブロックチェーン生成装置の機能とを当該情報処理装置100が併せ持つ例を示しているが、それぞれ別の端末が備え持っていてもよい。また、通常、一定数のトランザクションにて扱われるデータが一つのブロックに格納される(ブロックチェーン生成装置は、一定数のトランザクションをひとまとめにして当該トランザクションにて扱われる複数のデータを一つのブロックに格納する)が、この実施の形態では、理解を容易にするため、一つのトランザクションによって扱われるデータが一つのブロックに格納されるものとする。   The information processing apparatus 100 functions as a transaction generation apparatus having a function of generating data related to a contract by a user operation and distributing it to the network 210. The information processing apparatus 100 also functions as a block chain generation apparatus that verifies the validity of the transaction distributed by the transaction generation apparatus, generates a new block, and connects existing block chains. The result verified by the block chain generation device is shared by each information processing device 100 via the network 210. In the illustrated example, in order to facilitate understanding, an example in which the information processing apparatus 100 has both the function of the transaction generation apparatus and the function of the block chain generation apparatus is shown. It may be. Usually, data handled by a certain number of transactions is stored in one block (the block chain generation device collects a certain number of transactions in one block and puts a plurality of data handled by that transaction into one block. In this embodiment, it is assumed that data handled by one transaction is stored in one block in order to facilitate understanding.

この実施の形態において、トランザクション生成装置としての機能により生成されたトランザクションにて扱われる契約に関するデータ(単にデータという)は、ブロックと呼ばれる一つの単位に格納され、当該ブロックを時系列に連結したブロックチェーンによって管理される。具体的に、データは、ブロックチェーン生成装置としての機能により新たに生成されたブロックに格納された後、既存のブロックチェーンに連結され、各情報処理装置100で共有される。例えば、ブロックチェーンに含まれていないトランザクションが配信されると、ブロックチェーン生成装置の機能により、当該トランザクションについての検証を行い、新たなブロック(第nのブロック)を生成する。そして、当該データに、現在のブロックチェーンの末尾のブロック(第n−1のブロック)のハッシュ値(256ビット)を含めて新たなブロック(第nのブロック)に格納する。これにより、データがブロックに格納され、ブロックチェーンにより時系列に管理されることとなる。すなわち、ブロックチェーンは、契約に関するデータ(契約内容)を記録した台帳としての役割を有している。なお、以下では、ユーザA、ユーザB、ユーザCの三者にて行われる契約を例に説明する。   In this embodiment, data relating to a contract handled by a transaction generated by a function as a transaction generation device (simply referred to as data) is stored in one unit called a block, and the block is a block obtained by connecting the blocks in time series Managed by a chain. Specifically, the data is stored in a block newly generated by a function as a block chain generation device, and then linked to an existing block chain and shared by each information processing device 100. For example, when a transaction that is not included in the block chain is distributed, the function of the block chain generation device verifies the transaction and generates a new block (nth block). Then, the hash value (256 bits) of the last block (n-1th block) of the current block chain is included in the data and stored in a new block (nth block). As a result, data is stored in the block and is managed in time series by the block chain. In other words, the block chain has a role as a ledger that records data (contract contents) related to the contract. In the following, a contract performed by the user A, the user B, and the user C will be described as an example.

次に、図2を参照し、この実施の形態における情報処理装置100の構成について説明する。なお、図示する例では、ユーザAの端末である情報処理装置100Aを例としているが、ユーザBの端末である情報処理装置100BおよびユーザCの端末である情報処理装置100Cについても同様であるため、説明は省略する。   Next, the configuration of the information processing apparatus 100 in this embodiment will be described with reference to FIG. In the illustrated example, the information processing apparatus 100A that is the user A terminal is taken as an example, but the same applies to the information processing apparatus 100B that is the user B terminal and the information processing apparatus 100C that is the user C terminal. The description is omitted.

図2に示すように、情報処理装置100A(以下、情報処理装置100)は、記憶部110と、制御部120と、入出力部130と、通信部140と、これらを相互に接続するシステムバス(図示省略)と、を備えている。   As shown in FIG. 2, the information processing apparatus 100A (hereinafter referred to as the information processing apparatus 100) includes a storage unit 110, a control unit 120, an input / output unit 130, a communication unit 140, and a system bus that interconnects them. (Not shown).

記憶部110は、ROM(Read Only Memory)やRAM(Random Access Memory)等を備える。ROMは制御部120のCPUが実行するプログラム及び、プログラムを実行する上で予め必要なデータを記憶する。具体的に、この実施の形態では、当該情報処理装置100を、トランザクション生成装置として機能させるためのプログラム、ブロックチェーン生成装置として機能させるためのプログラム、各種鍵を生成するプログラム等が、予めインストールされている。RAMは、プログラム実行中に作成されたり変更されたりするデータを記憶する。記憶部110は、制御部120が実行するプログラムが用いる主要な情報として、ユーザAの秘密鍵111、ユーザAの公開鍵112、第1共通鍵113、ブロック統合データ114、他ユーザの公開鍵115、を記憶する。   The storage unit 110 includes a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The ROM stores a program executed by the CPU of the control unit 120 and data necessary for executing the program in advance. Specifically, in this embodiment, a program for causing the information processing apparatus 100 to function as a transaction generation apparatus, a program for causing the information processing apparatus 100 to function as a block chain generation apparatus, a program for generating various keys, and the like are installed in advance. ing. The RAM stores data that is created or changed during program execution. The storage unit 110 includes user A's private key 111, user A's public key 112, first common key 113, block integration data 114, and other users' public key 115 as main information used by the program executed by the control unit 120. , Remember.

ユーザAの秘密鍵111、ユーザAの公開鍵112は、後述するペア鍵生成部122により生成される、暗号化および復号化に用いられる鍵である。ユーザAの公開鍵112にて暗号化されたデータは、ユーザAの秘密鍵111でのみ復号可能である。なお、図示する例では、ユーザAの公開鍵112およびユーザAの秘密鍵111が記憶されているが、当該公開鍵112および秘密鍵111は、ペア鍵生成部122によりユーザ毎に生成され記憶される。   User A's private key 111 and user A's public key 112 are keys used for encryption and decryption generated by a pair key generation unit 122 described later. Data encrypted with the public key 112 of the user A can be decrypted only with the private key 111 of the user A. In the illustrated example, the public key 112 of the user A and the private key 111 of the user A are stored, but the public key 112 and the private key 111 are generated and stored for each user by the pair key generation unit 122. The

第1共通鍵113は、後述する共通鍵生成部123により生成される鍵であり、暗号化および復号化の両方で共通して用いられる鍵である。図示する例では、第1共通鍵113が記憶されている例を示しているが、共通鍵は記憶されていなくてもよく、また、第1共通鍵113とは異なる新たな共通鍵が生成され記憶されてもよい(詳しくは後述する)。ブロック統合データ114は、後述するブロック統合部125にて統合された各ブロックの内容を示すデータである。他ユーザの公開鍵115は、後述する他公開鍵取得部126により取得される他のユーザの公開鍵である。   The first common key 113 is a key generated by a common key generation unit 123 described later, and is a key used in common for both encryption and decryption. In the illustrated example, the first common key 113 is stored, but the common key may not be stored, and a new common key different from the first common key 113 is generated. It may be stored (details will be described later). The block integration data 114 is data indicating the contents of each block integrated by the block integration unit 125 described later. The public key 115 of another user is a public key of another user acquired by the other public key acquisition unit 126 described later.

ブロック情報DB116は、生成されたブロックに関する情報が格納されるデータベースである。   The block information DB 116 is a database that stores information about the generated blocks.

制御部120は、CPU(Central Processing Unit)やASIC(Application Specific Integrated Circuit)等から構成される。制御部120は、記憶部110に記憶されたプログラムに従って動作し、当該プログラムに従った処理を実行する。制御部120は、記憶部110に記憶されたプログラムにより提供される主要な機能部として、データ登録部121と、ペア鍵生成部122と、共通鍵生成部123と、暗号化復号化部124と、ブロック統合部125と、他公開鍵取得部126と、を備える。   The control unit 120 includes a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), and the like. The control unit 120 operates according to a program stored in the storage unit 110 and executes processing according to the program. The control unit 120 includes, as main functional units provided by programs stored in the storage unit 110, a data registration unit 121, a pair key generation unit 122, a common key generation unit 123, and an encryption / decryption unit 124. The block integration unit 125 and the other public key acquisition unit 126 are provided.

データ登録部121は、上述したトランザクション生成装置としての機能およびブロックチェーン生成装置としての機能を実現する機能部である。データ登録部121は、ユーザの入出力部130に対する操作の基づいて新たなトランザクションを生成する機能(トランザクション生成装置の機能)、当該新たなトランザクションが正当なものであることを検証する機能、および新たなブロックを生成して検証済みのトランザクションにて扱われるデータを格納してブロックチェーンを生成する機能(ブロックチェーン生成装置の機能)、を有する。すなわち、データ登録部121は、ブロックチェーンのデータ登録に関する一般的な機能を有している。なお、上述したように、この実施の形態では、理解を容易にするため、当該情報処理装置100(ユーザAの端末)がデータ登録部121としてトランザクション生成装置としての機能およびブロックチェーン生成装置としての機能を有するものとして説明しているが、例えば、ユーザAの端末におけるデータ登録部121がトランザクション生成装置としての機能を有し、ユーザBの端末におけるデータ登録部121がブロックチェーン生成装置としての機能を有していてもよい。すなわち、データ登録部121は必ずしも両方の機能を有していなくてもよく、条件(状況)に応じて異なる機能を有していてもよい。   The data registration unit 121 is a functional unit that implements the functions as the transaction generation device and the block chain generation device described above. The data registration unit 121 has a function of generating a new transaction based on a user operation on the input / output unit 130 (a function of a transaction generation device), a function of verifying that the new transaction is valid, and a new A function for generating a block chain by generating a block and storing data handled in a verified transaction (function of a block chain generation device). That is, the data registration unit 121 has a general function related to block chain data registration. As described above, in this embodiment, in order to facilitate understanding, the information processing apparatus 100 (user A's terminal) functions as a data generation unit 121 as a transaction generation apparatus and as a block chain generation apparatus. Although described as having a function, for example, the data registration unit 121 in the terminal of the user A has a function as a transaction generation device, and the data registration unit 121 in the terminal of the user B functions as a block chain generation device. You may have. That is, the data registration unit 121 does not necessarily have both functions, and may have different functions according to conditions (situations).

ペア鍵生成部122は、当該ユーザの公開鍵および秘密鍵を生成する機能を有する。具体的にペア鍵生成部122は、記憶部110に記憶されたペア鍵生成プログラムに従って、当該ユーザの公開鍵および秘密鍵を生成する(図2に示す例では、ユーザAの公開鍵112およびユーザAの秘密鍵111を生成する)。なお、この実施の形態では、予めユーザ毎の公開鍵および秘密鍵が、当該ペア鍵生成部122により生成され記憶部110に記憶されている。   The pair key generation unit 122 has a function of generating the public key and secret key of the user. Specifically, the pair key generation unit 122 generates the public key and secret key of the user according to the pair key generation program stored in the storage unit 110 (in the example illustrated in FIG. 2, the public key 112 of the user A and the user A private key 111 of A is generated). In this embodiment, a public key and a secret key for each user are generated in advance by the pair key generation unit 122 and stored in the storage unit 110.

共通鍵生成部123は、記憶部110に記憶された共通鍵生成プログラムに従って、共通鍵を生成する機能を有する(図2に示す例では、第1共通鍵113を生成する)。なお、この実施の形態では、共通鍵生成プログラムにより共通鍵を生成する例を示しているが、共通鍵については、ネットワーク210を介して外部から取得してもよい。   The common key generation unit 123 has a function of generating a common key according to the common key generation program stored in the storage unit 110 (in the example illustrated in FIG. 2, the first common key 113 is generated). In this embodiment, an example in which a common key is generated by a common key generation program is shown, but the common key may be acquired from the outside via the network 210.

暗号化復号化部124は、各種暗号化および復号化を行う機能を有する。詳しくは後述するが、この実施の形態における暗号化復号化部124は、共通鍵を自己または他者の公開鍵により暗号化する機能、データを共通鍵により暗号化する機能、暗号化された共通鍵を自己の秘密鍵により復号化する機能、暗号化されたデータを共通鍵により復号化する機能、を有する。   The encryption / decryption unit 124 has a function of performing various encryptions and decryptions. As will be described in detail later, the encryption / decryption unit 124 in this embodiment has a function of encrypting a common key with its own or another person's public key, a function of encrypting data with a common key, and an encrypted common It has a function of decrypting a key with its own secret key and a function of decrypting encrypted data with a common key.

ブロック統合部125は、ブロックチェーンとして連結されている各ブロックの内容(各データ)を統合してブロック統合データ114を生成する機能を有している。   The block integration unit 125 has a function of generating the block integrated data 114 by integrating the contents (each data) of the blocks connected as a block chain.

他公開鍵取得部126は、他のユーザの公開鍵を取得する機能を有する。他公開鍵取得部126は、他のユーザの端末にて生成されブロックチェーンに登録された公開鍵を取得する。   The other public key acquisition unit 126 has a function of acquiring another user's public key. The other public key acquisition unit 126 acquires a public key generated in another user's terminal and registered in the block chain.

入出力部130は、キーボード、マウス、カメラ、マイク、液晶ディスプレイ、有機EL(Electoro−Luminescence)ディスプレイ等から構成され、データの入出力を行うための装置である。   The input / output unit 130 includes a keyboard, a mouse, a camera, a microphone, a liquid crystal display, an organic EL (Electro-Luminescence) display, and the like, and is a device for inputting and outputting data.

通信部140は、他の情報処理装置100とネットワーク210を介して通信を行うためのデバイスである。   The communication unit 140 is a device for communicating with another information processing apparatus 100 via the network 210.

以上が、情報処理装置100の構成である。続いて情報処理装置100の動作について、図3〜図7を参照して説明する。なお、この実施の形態では、図3に示す「書類A」をユーザA、ユーザB、ユーザC間の契約書として作成する場合を例に説明する。また、この実施の形態では、書類の種類(書類名)によって一意に識別可能なグループ情報が予め定められており、グループ毎にブロックチェーンが生成される(図示する例では、書類AがグループAのグループ情報に相当し、書類Aのブロックチェーンが生成されることとなる)。なお、図3に示す項目1〜3の内容がそれぞれ一つのデータに相当するものである。また、この実施の形態では、理解を容易にするため、項目1〜3のそれぞれの内容(すなわち、データ1〜3)が、ブロック1〜3にそれぞれ順に格納され、ブロックチェーンとして管理されるものとする(一つのトランザクションにて一つのデータが扱われ、当該一つのデータが一つのブロックに順次格納される)。   The above is the configuration of the information processing apparatus 100. Next, the operation of the information processing apparatus 100 will be described with reference to FIGS. In this embodiment, a case where “document A” shown in FIG. 3 is created as a contract between users A, B, and C will be described as an example. In this embodiment, group information that can be uniquely identified by the type of document (document name) is predetermined, and a block chain is generated for each group (in the example shown, document A is group A). The block chain of document A is generated). The contents of items 1 to 3 shown in FIG. 3 correspond to one piece of data. In this embodiment, in order to facilitate understanding, the contents of items 1 to 3 (that is, data 1 to 3) are sequentially stored in blocks 1 to 3 and managed as a block chain. (One data is handled in one transaction, and the one data is sequentially stored in one block).

まず、ユーザによる操作に基づいて、図4に示す事前登録処理が行われる。事前登録処理は、ブロックチェーンとして図3に示すグループの書類のデータを、ブロックチェーンにより管理するための設定を行う処理である。なお、ユーザA、ユーザB、ユーザCそれぞれの情報端末(情報処理装置100)には、各ユーザの公開鍵112および秘密鍵111が予めペア鍵生成部122の機能により生成され、記憶部110に格納されているものとする。この実施の形態では、ユーザAの操作により当該事前登録処理が実行されるものとする。事前登録処理を行うユーザは予め定められており、ユーザA以外のユーザにより行われてもよい。   First, the pre-registration process shown in FIG. 4 is performed based on an operation by the user. The pre-registration process is a process for setting the data of the group of documents shown in FIG. 3 as a block chain to be managed by the block chain. Note that the public key 112 and the private key 111 of each user are generated in advance by the function of the pair key generation unit 122 in each information terminal (information processing apparatus 100) of the user A, the user B, and the user C, and are stored in the storage unit 110. Assume that it is stored. In this embodiment, it is assumed that the pre-registration process is executed by user A's operation. The user who performs the pre-registration process is determined in advance, and may be performed by a user other than the user A.

図4に示す事前登録処理において、まず、情報処理装置100は、データ登録部121の機能により、グループ情報を作成する(ステップS101)。具体的にステップS101の処理では、ブロックチェーンで管理するグループが「書類A」(グループA)であり、当該グループには項目1〜項目N(Nは整数で当該書類Aの最終項目)が含まれることを、ブロック1を生成して定義する(登録する)。なお、ブロック1は、ブロックチェーンにおける先頭のブロックである。このように、ステップS101の処理が行われることにより、図5に示すように、ブロック1に、作成対象のグループ情報として、書類Aを示すグループAの内容が定義されることとなる。なお、ステップS101の処理では、予め記憶部110に記憶された複数のグループ情報の中から作成対象のグループ情報をユーザが選択することにより行われてもよい。また、当該ステップS101の処理は、情報処理装置100ではなく、当該情報処理装置100にネットワークを介して接続された専用のサーバにて行われてもよい。そして、当該専用サーバでは、後述する参照可能者の管理が行われるとともに、当該専用サーバが、ペア鍵生成部122の機能および共通鍵生成部123の機能を有していてもよい。すなわち、専用サーバにて生成された公開鍵や秘密鍵が各ユーザの識別情報に対応付けて管理され、各ユーザに配布されてもよい。そして、共通鍵については、必要とされるユーザに当該専用サーバから配布されるようにしてもよい。   In the pre-registration process shown in FIG. 4, first, the information processing apparatus 100 creates group information using the function of the data registration unit 121 (step S <b> 101). Specifically, in the process of step S101, the group managed by the block chain is “document A” (group A), and the group includes items 1 to N (N is an integer and the last item of the document A). This is defined by creating (registering) block 1. Block 1 is the first block in the block chain. Thus, by performing the process of step S101, as shown in FIG. 5, the content of the group A indicating the document A is defined in the block 1 as the group information to be created. Note that the processing in step S101 may be performed by the user selecting group information to be created from a plurality of group information stored in advance in the storage unit 110. Further, the processing in step S101 may be performed by a dedicated server connected to the information processing apparatus 100 via a network instead of the information processing apparatus 100. In the dedicated server, the referable person described later is managed, and the dedicated server may have the function of the pair key generation unit 122 and the function of the common key generation unit 123. That is, the public key and secret key generated by the dedicated server may be managed in association with the identification information of each user and distributed to each user. The common key may be distributed from the dedicated server to the required users.

続いて、情報処理装置100は、共通鍵生成部123の機能により、第1共通鍵113を生成し(ステップS102)、暗号化復号化部124の機能により、当該生成した第1共通鍵113をユーザAの公開鍵112で暗号化する(ステップS103)。そして、データ登録部121の機能により、暗号化した第1共通鍵113Aを当該ブロック1に登録し(ステップS104)、事前登録処理を終了する。なお、ステップS104の処理では、図5に示すように、ユーザAの公開鍵112についても、第1共通鍵113Aと同様にブロック1へ登録する。図4および図5に示す例では、ユーザAの公開鍵112および第1共通鍵113Aをブロックへ登録する例を示しているが、これは、ユーザAが当該秘密鍵111さえ管理すれば、第1共通鍵113を管理しなくとも、ブロックから取得可能となるためであり、鍵の管理負担を軽減することができるためである。鍵の管理負担を考慮しない場合には、当該、ユーザAの公開鍵112および第1共通鍵113Aをブロックへ登録しなくてもよい。   Subsequently, the information processing apparatus 100 generates the first common key 113 by the function of the common key generation unit 123 (step S102), and the generated first common key 113 by the function of the encryption / decryption unit 124. It encrypts with the public key 112 of the user A (step S103). Then, using the function of the data registration unit 121, the encrypted first common key 113A is registered in the block 1 (step S104), and the pre-registration process is terminated. In the process of step S104, as shown in FIG. 5, the public key 112 of user A is also registered in block 1 in the same manner as the first common key 113A. The example shown in FIGS. 4 and 5 shows an example in which the public key 112 and the first common key 113A of the user A are registered in the block. This is because the user A manages only the secret key 111. This is because even if one common key 113 is not managed, it can be obtained from a block, and the key management burden can be reduced. When the key management burden is not taken into account, the public key 112 and the first common key 113A of the user A may not be registered in the block.

なお、この実施の形態では、一般的なブロックチェーンの技術と同様に、ブロックへ登録される全てのトランザクションについて、ブロックチェーン生成装置の機能により定期的なタイミングにて内容の検証が行われる。そして、正当であると認定されると、当該トランザクションにて扱われたデータがブロックへ登録されるとともに、既存のブロックチェーンに連結され、ネットワーク210を介して各情報処理装置100で共有されることとなる。以下、ブロックへの登録については同様であるため、当該事項については説明を省略する。   In this embodiment, the contents of all transactions registered in the block are verified at regular timing by the function of the block chain generation device, as in the general block chain technology. If it is recognized as valid, the data handled in the transaction is registered in the block, connected to the existing block chain, and shared by each information processing apparatus 100 via the network 210. It becomes. Hereinafter, since the registration to the block is the same, description thereof will be omitted.

続いて、ユーザの操作により生成されたトランザクションにて扱われるデータ(生成されたデータ、または単にデータという)をブロックへ登録するブロック登録処理について説明する。当該ブロック登録処理は、ユーザによる操作(トランザクションを生成してデータを登録する旨の操作)により実行される。なお、この実施の形態では、上述したように、一つの項目(一つのデータ)につき一つのブロックが作成され登録されることから、当該ブロック登録処理は、登録すべき項目の数(トランザクションの数)、繰り返し実行されればよい。   Next, a block registration process for registering data (generated data or simply data) handled in a transaction generated by a user operation in a block will be described. The block registration process is executed by a user operation (an operation for generating a transaction and registering data). In this embodiment, as described above, since one block is created and registered for each item (one data), the number of items to be registered (the number of transactions) ), It may be executed repeatedly.

図6は、当該ブロック登録処理の一例を示すフローチャートである。なお、ここでは、実行ユーザを指定せずに説明する。ブロック登録処理において、まず、情報処理装置100は、データ登録部121の機能により、発生したトランザクションにて扱われるデータ(登録対象のデータ)が暗号化対象であるか否かを判定する(ステップS201)。なお、暗号化対象であるか否かは、事前登録処理にてグループ情報が登録(定義)される際に、後述する参照可能者とともに予め定められていればよく(暗号化対象の項目および参照可能者が予め定められている)、暗号化対象のデータであるか否かを示す情報が、参照可能者に関する情報とともに記憶部110に記憶されていればよい。   FIG. 6 is a flowchart illustrating an example of the block registration process. Here, description will be made without designating an execution user. In the block registration process, first, the information processing apparatus 100 determines whether the data handled in the generated transaction (data to be registered) is an encryption target by the function of the data registration unit 121 (step S201). ). Whether or not it is an encryption target may be determined in advance together with a referable person (to be described later) when group information is registered (defined) in the pre-registration process (items and references for encryption). It is only necessary that information indicating whether or not the data is data to be encrypted is stored in the storage unit 110 together with information on the referable person.

登録対象のデータが暗号化対象でない場合(ステップS201;No)、情報処理装置100は、データ登録部121の機能により、当該データを対象のブロックへ登録し(ステップS202)、ブロック登録処理を終了する。   When the registration target data is not the encryption target (step S201; No), the information processing apparatus 100 registers the data in the target block by the function of the data registration unit 121 (step S202), and ends the block registration process. To do.

一方、登録対象のデータが暗号化対象である場合(ステップS201;Yes)、当該データを参照可能なユーザ(参照可能者)の公開鍵を所有しているか否かを判定する(ステップS203)。上述したように、参照可能者に関する情報は、事前登録処理にてグループ情報が登録(定義)される際に予め定められ記憶部110に記憶されているため、ステップS203の処理では、記憶部110に記憶された情報に基づいて参照可能者を特定し、当該特定した参照可能者全員の公開鍵を所有しているか否かを判定すればよい。なお、公開鍵にはユーザを識別する識別情報が付加されていればよく、当該識別情報によりいずれのユーザの公開鍵であるかを判定すればよい。   On the other hand, when the data to be registered is the encryption target (step S201; Yes), it is determined whether or not the public key of the user (referenceable person) who can refer to the data is owned (step S203). As described above, the information regarding the referable person is predetermined and stored in the storage unit 110 when the group information is registered (defined) in the pre-registration process. Therefore, in the process of step S203, the storage unit 110 It is only necessary to identify the referable person based on the information stored in and to determine whether or not all of the identified referable persons have public keys. Note that identification information for identifying a user may be added to the public key, and it may be determined which user's public key is based on the identification information.

参照可能者の公開鍵を所有していないと判定した場合(ステップS203;No)、情報処理装置100は、他公開鍵取得部126の機能により、参照可能者の公開鍵を取得する(ステップS204)。詳しくは後述するが、ステップS204の処理では、ブロックに登録された参照可能者の公開鍵を取得する。ステップS204の処理を実行した後、情報処理装置100は、暗号化復号化部124の機能により、取得した公開鍵で共通鍵(当該共通鍵は図4のステップS102の処理にて生成されている)を暗号化し(ステップS205)、ブロックに登録する(ステップS206)。当該ステップS206の処理が行われることにより、参照可能者が、ステップS205の処理にて暗号化された共通鍵を取得可能となる。そして、参照可能者は、当該取得した暗号化された共通鍵を、自己の所有する秘密鍵で復号化すればよい(後述するステップS305)。なお、当該ステップS204〜ステップS206の処理は、後述するステップS208の処理の後に行ってもよい。   When it is determined that the public key of the referable person is not owned (step S203; No), the information processing apparatus 100 acquires the public key of the referable person by the function of the other public key acquisition unit 126 (step S204). ). Although details will be described later, in the process of step S204, the public key of the referable person registered in the block is acquired. After executing the process of step S204, the information processing apparatus 100 uses the function of the encryption / decryption unit 124 to generate a common key with the acquired public key (the common key is generated in the process of step S102 in FIG. 4). ) Is encrypted (step S205) and registered in the block (step S206). By performing the process in step S206, the referable person can acquire the common key encrypted in the process in step S205. Then, the referable person only has to decrypt the acquired encrypted common key with the private key owned by himself / herself (step S305 described later). In addition, you may perform the process of the said step S204-step S206 after the process of step S208 mentioned later.

ステップS206の処理を実行した後、またはステップS203にて参照可能者の公開鍵を所有していると判定した場合(ステップS203;Yes)、情報処理装置100は、暗号化復号化部124の機能により、所有する共通鍵にてデータを暗号化する(ステップS207)。そして、暗号化したデータを対象のブロックへ登録し(ステップS208)、ブロック登録処理を終了する。当該ブロック登録処理が行われることで、登録対象のデータ(発生したトランザクションにて扱われるデータ)がブロックチェーンにより管理されることとなる。   After performing the process of step S206, or when it is determined in step S203 that the public key of the referable person is owned (step S203; Yes), the information processing apparatus 100 performs the function of the encryption / decryption unit 124. Thus, the data is encrypted with the common key owned (step S207). Then, the encrypted data is registered in the target block (step S208), and the block registration process is terminated. By performing the block registration process, data to be registered (data handled in the generated transaction) is managed by the block chain.

次に、図6のブロック登録処理によりブロックチェーンに連結されたブロックの内容を参照する場合の参照処理について、図7を参照して説明する。当該参照処理は、ユーザによる操作により実行される。より具体的には、参照したいグループを指定する操作が行われることにより実行される。なお、当該参照処理は、ユーザ毎に実行可能である。   Next, reference processing when referring to the contents of the blocks connected to the block chain by the block registration processing of FIG. 6 will be described with reference to FIG. The reference process is executed by a user operation. More specifically, it is executed by performing an operation for designating a group to be referred to. Note that the reference process can be executed for each user.

参照処理が開始されると、情報処理装置100は、ブロック統合部125の機能により、当該指定されたグループに対応するブロックチェーンで連結されたブロックの内容(各データおよび鍵情報)を全て取得する(ステップS301)。そして、当該取得したブロックの内容に、暗号化されたデータが含まれているか否かを判定する(ステップS302)。暗号化されているデータが含まれている場合(ステップS302;Yes)、対応する共通鍵を所有しているか否かを判定する(ステップS303)。この実施の形態では、データの暗号化が行われる場合には、図6のステップS207の処理により共通鍵にて暗号化されるため、ステップS303の処理では、復号化可能な共通鍵を所有しているか否かの判定を行う。   When the reference process is started, the information processing apparatus 100 acquires all the contents (each data and key information) of the blocks connected by the block chain corresponding to the specified group by the function of the block integration unit 125. (Step S301). Then, it is determined whether or not encrypted data is included in the content of the acquired block (step S302). If encrypted data is included (step S302; Yes), it is determined whether or not the corresponding common key is owned (step S303). In this embodiment, when data is encrypted, it is encrypted with the common key by the process of step S207 in FIG. 6, and therefore the process of step S303 has a common key that can be decrypted. It is determined whether or not.

対応する共通鍵を所有していないと判定した場合(ステップS303;No)、情報処理装置100は、ブロック統合部125の機能により、取得した内容に暗号化された共通鍵が含まれているか否かを判定する(ステップS304)。具体的に、ステップS304の処理では、当該暗号化された共通鍵が自己の所有する秘密鍵で復号化可能であるか否かを判定する。自己の所有する秘密鍵にて当該暗号化された共通鍵が復号化可能である場合(ステップS304;Yes)、情報処理装置100は、暗号化復号化部124の機能により、当該暗号化された共通鍵を、自己の秘密鍵で復号化する(ステップS305)。   When it is determined that the corresponding common key is not owned (step S303; No), the information processing apparatus 100 determines whether the acquired content includes an encrypted common key by the function of the block integration unit 125. Is determined (step S304). Specifically, in the process of step S304, it is determined whether or not the encrypted common key can be decrypted with the private key owned by itself. When the encrypted common key can be decrypted with the private key owned by itself (step S304; Yes), the information processing apparatus 100 uses the function of the encryption / decryption unit 124 to decrypt the encrypted key. The common key is decrypted with its own secret key (step S305).

ステップS305の処理を実行した後、またはステップS303の処理にて対応する共通鍵を所有していると判定した場合(ステップS303;Yes)、情報処理装置100は、暗号化復号化部124の機能により、当該暗号化されたデータを、共通鍵にて復号化する(ステップS306)。ステップS306の処理を実行した後、情報処理装置100は、ブロック統合部125の機能により、当該復号化したデータを出力し(ステップS307)、参照処理を終了する。   After determining that the corresponding common key is possessed in the process of step S303 after executing the process of step S305 (step S303; Yes), the information processing apparatus 100 functions the encryption / decryption unit 124. Thus, the encrypted data is decrypted with the common key (step S306). After executing the process of step S306, the information processing apparatus 100 outputs the decrypted data by the function of the block integration unit 125 (step S307), and ends the reference process.

一方、ステップS304にて、暗号化された共通鍵が自己の所有する秘密鍵では復号化不可能であると判定した場合(ステップS304;No)、暗号化されたデータを、暗号化された状態のまま出力し(ステップS307)、参照処理を終了する。また、ステップS302にて暗号化されたデータが含まれていないと判定した場合(ステップS302;No)、情報処理装置100は、ブロック統合部125の機能により、当該データを出力して(ステップS307)参照処理を終了する。   On the other hand, if it is determined in step S304 that the encrypted common key cannot be decrypted with the private key owned by itself (step S304; No), the encrypted data is in an encrypted state. The output is output as it is (step S307), and the reference process is terminated. When it is determined in step S302 that the encrypted data is not included (step S302; No), the information processing apparatus 100 outputs the data by the function of the block integration unit 125 (step S307). ) End the reference process.

以上が、情報処理装置100の動作である。続いて、より具体的な動作について、パターン1〜パターン3に分けて説明する。   The above is the operation of the information processing apparatus 100. Subsequently, a more specific operation will be described separately for Pattern 1 to Pattern 3.

まず、図3に示す「書類A」のグループにおける項目3に相当するデータが、ユーザAにのみ参照可能である場合(パターン1)について説明する。図8は、パターン1におけるブロック登録処理の具体的な登録内容の一例を示す図である。なお、以下では、ユーザAにより図4に示す事前登録処理が行われていることを前提に説明する(すなわち、図8に示すように、ユーザAの公開鍵およびユーザAの公開鍵で暗号化した第1共通鍵がブロック1に登録されていることを前提に説明する)。また、ユーザAによりブロック登録処理が行われ、項目1〜項目3に相当するデータが対象のブロックへ登録されるものとする(パターン2についても同様)。   First, a case where data corresponding to item 3 in the group of “document A” shown in FIG. 3 can be referred to only by user A (pattern 1) will be described. FIG. 8 is a diagram illustrating an example of specific registration contents of the block registration process in Pattern 1. In the following description, it is assumed that the pre-registration process shown in FIG. 4 is performed by the user A (that is, encryption is performed using the public key of the user A and the public key of the user A as shown in FIG. The description will be made on the assumption that the first common key is registered in block 1). Also, block registration processing is performed by user A, and data corresponding to items 1 to 3 is registered in the target block (the same applies to pattern 2).

ユーザAはまず、図6に示すブロック登録処理を開始すると、項目1に相当するデータが暗号化対象ではないため、図6のステップS201にてNoと判定され、ステップS202の処理にて項目1の内容がブロック1に登録される(図8のブロック1参照)。項目2についても項目1と同様に、ステップS202の処理にて項目2の内容がブロック2に登録される(図8のブロック2参照)。   First, when the user A starts the block registration process shown in FIG. 6, the data corresponding to the item 1 is not an object to be encrypted, so it is determined No in step S <b> 201 of FIG. 6, and the item 1 is processed in the process of step S <b> 202. Is registered in block 1 (see block 1 in FIG. 8). As for item 2, the contents of item 2 are registered in block 2 in the process of step S202 as in item 1 (see block 2 in FIG. 8).

一方、項目3に相当するデータについては暗号化対象であるため、図6のステップS201にてYesと判定され、ステップS203の処理に移行する。ステップS203では、参照可能者がユーザA本人であることから、参照可能者の公開鍵を所有していると判定される(Yesと判定される)。そして、ステップS207により第1共通鍵113にて当該項目3に相当するデータが暗号化され(図8に示すように、99999999をMzYWdU0Mとするなど)、ステップS208にて当該暗号化したデータが、ブロック3に登録される。   On the other hand, since the data corresponding to item 3 is an encryption target, it is determined Yes in step S201 in FIG. 6 and the process proceeds to step S203. In step S203, since the referable person is the user A himself / herself, it is determined that the public key of the referable person is owned (determined as Yes). Then, in step S207, the data corresponding to the item 3 is encrypted with the first common key 113 (for example, 99999999 is set to MzYWdU0M as shown in FIG. 8), and the encrypted data in step S208 is Registered in block 3.

以上がパターン1におけるブロック登録処理の具体的な登録内容である。なお、いずれのユーザについても参照可能なデータのみを登録する場合については、図8に示すブロック1およびブロック2への登録と同様である。続いて、当該パターン1における参照処理の具体的な参照内容について説明する。図9は、ブロックチェーンの内容が図8に示す状態である場合の具体的な参照内容の例を示している。   The above is the specific registration contents of the block registration process in Pattern 1. Note that the case where only data that can be referred to by any user is registered is the same as the registration in block 1 and block 2 shown in FIG. Subsequently, specific reference contents of the reference process in the pattern 1 will be described. FIG. 9 shows an example of specific reference contents when the contents of the block chain are in the state shown in FIG.

まず、ユーザAが図7に示す参照処理を行った場合について説明する。参照処理を開始すると、ステップS301の処理により、図8に示すブロック1〜ブロック3の内容が取得される。そのうち、項目3に相当するデータが暗号化されていることから、ステップS302にてYesと判定され、ステップS303の処理に移行する。ステップS303の処理では、当該暗号化されたデータに対応する第1共通鍵113を所有しているため、Yesと判定され、ステップS306の処理に移行する。そして、ステップS306の処理にて項目3に相当するデータが第1共通鍵113により復号化される。続けてステップS307の処理が実行されることで、図9(A)に示すように、項目3に相当するデータが、復号化された状態で表示される(項目1および2は暗号化されていないためそのまま表示される)。   First, the case where the user A performs the reference process shown in FIG. 7 will be described. When the reference process is started, the contents of block 1 to block 3 shown in FIG. 8 are acquired by the process of step S301. Among them, since the data corresponding to item 3 is encrypted, it is determined Yes in step S302, and the process proceeds to step S303. In the process of step S303, since the first common key 113 corresponding to the encrypted data is owned, it is determined Yes and the process proceeds to step S306. Then, the data corresponding to item 3 is decrypted by the first common key 113 in the process of step S306. By subsequently executing the process of step S307, the data corresponding to item 3 is displayed in a decrypted state as shown in FIG. 9A (items 1 and 2 are encrypted). It will be displayed as it is).

これに対し、ユーザBまたはユーザCが図7に示す参照処理を行った場合、ユーザAの場合と同様に、ステップS301の処理により、図8に示すブロック1〜ブロック3の内容が取得され、図7のステップS302にてYesと判定されるものの、ユーザBおよびユーザCは第1共通鍵113を所有していないため、ステップS303の処理にてNoと判定される。そして、ステップS304の処理に移行するが、取得したブロック1〜3の内容には、暗号化された共通鍵が含まれていないため、ステップS304にてNoと判定される。そして、ステップS307の処理が実行され、図9(B)に示すように、項目3に相当するデータが暗号化された状態のまま表示される(項目1および2は暗号化されていないためそのまま表示される)。   On the other hand, when the user B or the user C performs the reference process illustrated in FIG. 7, the contents of the blocks 1 to 3 illustrated in FIG. Although it is determined Yes in step S302 of FIG. 7, since user B and user C do not have the first common key 113, it is determined No in the process of step S303. Then, the process proceeds to step S304. However, since the encrypted common key is not included in the acquired contents of blocks 1 to 3, it is determined No in step S304. Then, the process of step S307 is executed, and as shown in FIG. 9B, the data corresponding to item 3 is displayed in an encrypted state (items 1 and 2 are not encrypted and thus remain as they are. Is displayed).

このように、ユーザAにて項目3に相当するデータを、第1共通鍵113にて暗号化してブロックへ登録することにより、項目3に相当するデータをユーザAにのみ参照可能とすることができる。したがって、特定の情報に対する秘匿性を担保することができる。また、生成した第1共通鍵113をユーザAの公開鍵112にて暗号化してブロックへ登録することで、ユーザAは第1共通鍵113を所有せずとも、当該ブロックから取得可能となる。したがって、ユーザAは秘密鍵111を管理すればよく、第1共通鍵113の管理負担を軽減することができる。   In this way, the data corresponding to item 3 can be referred to only by user A by encrypting the data corresponding to item 3 with the first common key 113 and registering it in the block. it can. Therefore, confidentiality with respect to specific information can be ensured. Also, by encrypting the generated first common key 113 with the public key 112 of the user A and registering it in the block, the user A can obtain the first common key 113 from the block without owning the first common key 113. Therefore, the user A only has to manage the secret key 111, and the management burden of the first common key 113 can be reduced.

次に、図3に示す「書類A」のグループにおける項目3に相当するデータが、ユーザAおよびユーザBにのみ参照可能である場合(パターン2)について説明する。図10は、パターン2におけるブロック登録処理の具体的な登録内容の一例を示す図である。なお、パターン1と同様の部分については説明を省略する。なお、図10にて図示を省略したブロック1にも、パターン1と同様(図8のブロック1と同様)に、ユーザAの公開鍵で暗号化された第1共通鍵が登録されているものとする。   Next, a case where the data corresponding to item 3 in the group of “document A” shown in FIG. 3 can be referred to only by user A and user B (pattern 2) will be described. FIG. 10 is a diagram illustrating an example of specific registration contents of the block registration process in the pattern 2. Note that description of the same parts as those of the pattern 1 is omitted. The first common key encrypted with the public key of user A is also registered in block 1 (not shown in FIG. 10) as in pattern 1 (similar to block 1 in FIG. 8). And

ユーザAは、図6に示すブロック登録処理を開始すると、項目1に相当するデータおよび項目2に相当するデータを、パターン1と同様に各ブロックへ登録する(図10のブロック2参照)。そして、項目3に相当するデータについては暗号化対象であるため、図6のステップS201にてYesと判定され、ステップS203に移行する。   When the user A starts the block registration process shown in FIG. 6, the data corresponding to the item 1 and the data corresponding to the item 2 are registered in each block in the same manner as the pattern 1 (see block 2 in FIG. 10). Since the data corresponding to item 3 is to be encrypted, it is determined Yes in step S201 in FIG. 6, and the process proceeds to step S203.

ステップS203では、参照可能者であるユーザBの公開鍵を所有していないため、Noと判定されることとなる。そして、ユーザAは、ステップS204の処理により、参照可能者であるユーザBの公開鍵を取得する。なお、図10に示すように、ユーザBの公開鍵は、予めブロック(図示する例ではブロック3)に登録されている。例えば、ユーザAによりブロック2が登録され各ユーザ間で共有されたことに基づいて、ユーザBの操作により当該ユーザBの公開鍵が対象のブロックへ登録されればよい。また、ユーザAによりユーザBに対して公開鍵を対象ブロックへ登録する指示を送信し、当該指示に基づいてユーザBが公開鍵を登録してもよい。図6に示すステップS204の処理では、このようにユーザBにより登録されたユーザBの公開鍵を取得する。   In step S203, since the public key of the user B who can be referred to is not owned, it is determined No. And user A acquires the public key of user B who is a referable person by the process of step S204. As shown in FIG. 10, user B's public key is registered in advance in a block (block 3 in the illustrated example). For example, based on the fact that the block 2 is registered by the user A and shared among the users, the public key of the user B may be registered in the target block by the operation of the user B. In addition, an instruction for registering the public key in the target block may be transmitted from the user A to the user B, and the user B may register the public key based on the instruction. In the process of step S204 shown in FIG. 6, the public key of user B registered by user B in this way is acquired.

ステップS204の処理に続いて、ユーザAは、ステップS205の処理により、取得したユーザBの公開鍵で第1共通鍵113が暗号化され、ステップS206の処理により、当該暗号化した第1共通鍵113が、図10に示すように、ブロック4へ登録される。その後、上記パターン1と同様に、項目3に相当するデータが、第1共通鍵で暗号化され、ブロック5へ登録される(図6のステップS207、S208、図10のブロック5参照)。   Following the process of step S204, user A encrypts the first common key 113 with the public key of user B obtained by the process of step S205, and the encrypted first common key by the process of step S206. 113 is registered in block 4 as shown in FIG. Thereafter, similarly to the pattern 1, the data corresponding to the item 3 is encrypted with the first common key and registered in the block 5 (see steps S207 and S208 in FIG. 6 and block 5 in FIG. 10).

以上がパターン2におけるブロック登録処理の具体的な登録内容である。続いて、当該パターン2における参照処理の具体的な参照内容について説明する。図11は、ブロックチェーンの内容が図10に示す状態である場合の具体的な参照内容の例を示している。なお、参照可能者であるユーザAが参照処理を行った場合についてはパターン1で説明した処理(パターン1の第1共通鍵113を所有している場合の処理)と同様の処理により(図7のステップS303にてYesと判定され、ステップS306の処理にて復号化されることにより)、図11(A)に示すように、項目3に相当するデータが復号化された状態で表示される。また、参照可能者ではないユーザCが参照処理を行った場合についても、パターン1で説明した処理(パターン1の第1共通鍵113を所有していない場合の処理)と同様の処理により(図7のステップS304にてNoと判定され)、図11(B)に示すように、項目3に相当するデータが暗号化された状態で表示される。したがって、ここでは、ユーザBにより参照処理が行われた場合を例に説明する。   The above is the specific registration contents of the block registration process in Pattern 2. Subsequently, specific reference contents of the reference process in the pattern 2 will be described. FIG. 11 shows an example of specific reference contents when the contents of the block chain are in the state shown in FIG. When user A who can be referred to performs the reference process, the process similar to the process described in pattern 1 (the process when the first common key 113 of pattern 1 is owned) is performed (FIG. 7). 11), the data corresponding to item 3 is displayed in a decrypted state as shown in FIG. 11A. . Further, even when the user C who is not a referable person performs the reference process, the process similar to the process described in the pattern 1 (the process when the first common key 113 of the pattern 1 is not owned) is performed (see FIG. 7, the data corresponding to item 3 is displayed in an encrypted state as shown in FIG. 11B. Therefore, here, a case where the reference process is performed by the user B will be described as an example.

ユーザBが参照処理を開始すると、ステップS301の処理により、図10に示すブロック1〜ブロック5の内容が取得される(なお、図10に示す例ではブロック1を省略している)。そのうち、項目3に相当するデータが暗号化されていることから、ステップS302にてYesと判定され、ステップS303の処理に移行する。ステップS303の処理では、当該暗号化されたデータに対応する第1共通鍵113を所有していないため、Noと判定され、ステップ304の処理に移行する。ここで、図10に示すブロック4にユーザBの公開鍵で暗号化された第1共通鍵113が登録されており、当該ブロックの内容は、図7のステップS301の処理にて取得されているため、当該ステップS304の処理では、自己の所有する秘密鍵(ユーザBの所有する秘密鍵)で当該第1共通鍵113を復号化可能であると判定される(すなわち、Yes)と判定される。   When user B starts the reference process, the contents of block 1 to block 5 shown in FIG. 10 are acquired by the process of step S301 (note that block 1 is omitted in the example shown in FIG. 10). Among them, since the data corresponding to item 3 is encrypted, it is determined Yes in step S302, and the process proceeds to step S303. In the process of step S303, since the first common key 113 corresponding to the encrypted data is not owned, it is determined No, and the process proceeds to step 304. Here, the first common key 113 encrypted with the public key of the user B is registered in the block 4 shown in FIG. 10, and the contents of the block are acquired in the process of step S301 in FIG. Therefore, in the process of step S304, it is determined that the first common key 113 can be decrypted with the private key owned by the user (the private key owned by the user B) (that is, Yes). .

続いてステップS305の処理により、ユーザBの秘密鍵で、当該暗号化された第1共通鍵113が復号化され、ユーザBは第1共通鍵113を取得することとなる。そして、ステップS306の処理にて、項目3に相当するデータが第1共通鍵113により復号化され、続けてステップS307の処理が実行されることで、図11(A)に示すように、項目3に相当するデータが、復号化された状態で表示される(項目1および2は暗号化されていないためそのまま表示される)。   Subsequently, by the process of step S305, the encrypted first common key 113 is decrypted with the secret key of the user B, and the user B acquires the first common key 113. Then, in the process of step S306, the data corresponding to item 3 is decrypted by the first common key 113, and then the process of step S307 is executed, as shown in FIG. Data corresponding to 3 is displayed in a decrypted state (items 1 and 2 are displayed as they are because they are not encrypted).

このように、ユーザBの公開鍵をユーザAが取得し、第1共通鍵113を取得したユーザBの公開鍵にて暗号化してブロックへ登録することにより、項目3に相当するデータを、ユーザAおよびユーザBが参照可能とすることができる。したがって、参照可能者以外のユーザに対し、特定の情報に対する秘匿性を適切に担保することができる。   As described above, the user A obtains the public key of the user B, encrypts the first common key 113 with the public key of the user B who has obtained the first common key 113, and registers the data in the block. A and user B can be referred to. Therefore, the confidentiality with respect to specific information can be appropriately ensured with respect to users other than the referable person.

次に、図3に示す「書類A」のグループにおける項目3にデータが、ユーザBにのみ参照可能である場合(パターン3)について説明する。なお、パターン3は、パターン1およびパターン2とは異なり、参照可能者がユーザBのみであるため、当該項目3に相当するデータについては、項目1および項目2とは異なり(項目1および項目2はユーザAが登録)、ユーザBが対象のブロックへ登録する。図12は、パターン3におけるブロック登録処理の具体的な登録内容の一例を示す図である。なお、パターン1と同様の部分については説明を省略する。なお、図12にて図示を省略したブロック1にも、パターン1と同様(図8のブロック1と同様)に、ユーザAの公開鍵で暗号化された第1共通鍵が登録されているものとする。   Next, a case where data can be referred to only by the user B in the item 3 in the group of “document A” shown in FIG. 3 (pattern 3) will be described. Since pattern 3 is different from pattern 1 and pattern 2 in that only the user B can be referred to, the data corresponding to item 3 is different from item 1 and item 2 (item 1 and item 2). User A registers), and User B registers in the target block. FIG. 12 is a diagram illustrating an example of specific registration contents of the block registration process in the pattern 3. Note that description of the same parts as those of the pattern 1 is omitted. The first common key encrypted with the public key of user A is also registered in block 1 (not shown in FIG. 12), similarly to pattern 1 (similar to block 1 in FIG. 8). And

ユーザAは、図6に示すブロック登録処理を開始すると、項目1に相当するデータおよび項目2に相当するデータを、パターン1と同様に各ブロックへ登録する(図12のブロック2参照)。続いて項目3に相当するデータを対象のブロックへ登録することとなるが、項目3に相当するデータは、ユーザBにのみ参照可能であるため、ユーザBにより登録されるべきデータである。なお、データの登録者については、事前登録処理にてグループ情報が登録(定義)される際に予め定められていればよい。   When the user A starts the block registration process shown in FIG. 6, the data corresponding to the item 1 and the data corresponding to the item 2 are registered in each block in the same manner as the pattern 1 (see block 2 in FIG. 12). Subsequently, data corresponding to the item 3 is registered in the target block. The data corresponding to the item 3 is data that should be registered by the user B because it can be referred to only by the user B. Note that the data registrant may be determined in advance when the group information is registered (defined) in the pre-registration process.

項目2に相当するデータが対象のブロック(この例ではブロック2)に登録され各ユーザ間で共有されると、ユーザBはこのことに基づいて、図4のステップS102〜ステップS104の処理を実行する。なお、ユーザAによりユーザBへ、項目3に相当するデータの登録を促す信号を送信してもよい。具体的に、ユーザBの情報処理装置100は、共通鍵生成部123の機能により、第1共通鍵113とは異なる新たな共通鍵として第2共通鍵を生成し(ステップS102)、暗号化復号化部124の機能により、当該生成した第2共通鍵をユーザBの公開鍵112で暗号化する(ステップS103)。そして、データ登録部121の機能により、暗号化した第2共通鍵を対象のブロック(図12に示す例ではブロック3)に登録する(ステップS104)。ここで、第2共通鍵は、第1共通鍵113とは異なる鍵であるため、当該第2共通鍵で暗号化した内容を復号化できるのは、当該第2共通鍵の所有者のみとなる。また、当該第2共通鍵は、ユーザBの公開鍵により暗号化されているため、ユーザBの秘密鍵でなければ復号化することができないこととなる。   When the data corresponding to item 2 is registered in the target block (block 2 in this example) and shared among the users, user B executes the processing from step S102 to step S104 in FIG. 4 based on this. To do. Note that a signal that prompts the user A to register data corresponding to the item 3 may be transmitted from the user A to the user B. Specifically, the information processing apparatus 100 of the user B generates a second common key as a new common key different from the first common key 113 by the function of the common key generation unit 123 (step S102), and performs encryption / decryption. The generated second common key is encrypted with the public key 112 of the user B by the function of the generating unit 124 (step S103). Then, the function of the data registration unit 121 registers the encrypted second common key in the target block (block 3 in the example shown in FIG. 12) (step S104). Here, since the second common key is a key different from the first common key 113, only the owner of the second common key can decrypt the content encrypted with the second common key. . Further, since the second common key is encrypted with the public key of the user B, it can be decrypted only by the secret key of the user B.

暗号化した第2共通鍵を対象のブロックへ登録した後、ユーザBは、パターン1と同様に、参照可能者がユーザB本人であることから、図6のステップS203にて参照可能者の公開鍵を所有していると判定され(Yesと判定され)、ステップS207にて第2共通鍵にて当該項目3に相当するデータの内容が暗号化される(図12に示すように、99999999をXI0tagBagとする)。そして、ステップS208にて当該暗号化した内容が、ブロック4に登録される(図12のブロック4参照)。   After registering the encrypted second common key in the target block, the user B is the user B himself as in the case of the pattern 1, so that the referenceable person is disclosed in step S203 of FIG. It is determined that the key is owned (Yes is determined), and the content of the data corresponding to the item 3 is encrypted with the second common key in step S207 (as shown in FIG. XI0tagBag). In step S208, the encrypted content is registered in block 4 (see block 4 in FIG. 12).

以上がパターン3におけるブロック登録処理の具体的な登録内容である。なお、その後、ユーザBのみでなくユーザCも参照可能とする場合には、パターン2と同様に、ユーザBがユーザCの公開鍵を取得し、当該ユーザCの公開鍵により第2共通鍵を暗号化して、対象のブロックに登録すればよい。また、パターン2において項目3に相当するデータを対象のブロックへ登録した後、例えば、ユーザAにのみ参照可能な項目4に相当するデータを、対象のブロックへ登録するような場合においても、当該パターン3と同様に、登録者であるユーザAが新たな共通鍵を生成し、当該生成した新たな共通鍵により項目4に相当するデータを暗号化してブロックへ登録すればよい。すなわち、登録対象のデータに対する参照可能者を追加する場合には、パターン2で説明したように、追加された参加者の公開鍵を取得し、取得した公開鍵にて共通鍵を暗号化してブロック登録を行う一方で、登録対象のデータに対する参照可能者を減少させる場合や、全く異なる参照可能者とする場合には、パターン3で説明したように、新たな共通鍵を生成すればよい。   The above is the specific registration contents of the block registration process in Pattern 3. After that, when it is possible to refer not only to the user B but also to the user C, the user B obtains the public key of the user C and uses the public key of the user C to obtain the second common key as in the case of the pattern 2 What is necessary is just to encrypt and register to the target block. In addition, after registering data corresponding to item 3 in the pattern 2 in the target block, for example, when registering data corresponding to the item 4 that can be referred to only by the user A in the target block, Similarly to pattern 3, user A who is a registrant generates a new common key, encrypts data corresponding to item 4 with the generated new common key, and registers it in the block. That is, when adding a referenceable person to the registration target data, as described in Pattern 2, the public key of the added participant is acquired, and the common key is encrypted with the acquired public key and blocked. While performing registration, when reducing the number of people who can refer to data to be registered, or when making a completely different referenceable person, a new common key may be generated as described in Pattern 3.

なお、パターン3における参照処理の具体的な参照内容については、第1共通鍵113が第2共通鍵であり、第2共通鍵所有者がユーザBである他は、パターン1と同様であるため、詳細な説明は省略する。図13は、ブロックチェーンの内容が図12に示す状態である場合の具体的な参照内容の例を示している。   The specific reference contents of the reference process in pattern 3 are the same as those in pattern 1 except that the first common key 113 is the second common key and the second common key owner is user B. Detailed description will be omitted. FIG. 13 shows an example of specific reference contents when the contents of the block chain are in the state shown in FIG.

参照可能者であるユーザBが参照処理を行った場合、パターン1で説明した処理(パターン1の第1共通鍵113を所有している場合の処理)と同様の処理により(図7のステップS303にてYesと判定され、ステップS306の処理にて復号化されることにより)、図13(A)に示すように項目3に相当するデータが、復号化された状態で表示される。一方、参照可能者ではないユーザAおよびユーザCが参照処理を行った場合については、パターン1で説明した処理(パターン1の第1共通鍵113を所有していない場合の処理)と同様の処理により(ステップS304にてNoと判定され)、図13(B)に示すように項目3に相当するデータが暗号化された状態で表示されることとなる。   When user B who is a referable person performs the reference process, the process is the same as the process described in pattern 1 (the process when the first common key 113 of pattern 1 is owned) (step S303 in FIG. 7). If the result of the determination in step S306 is “Yes”, the data corresponding to item 3 is displayed in a decrypted state as shown in FIG. On the other hand, when user A and user C who are not referable users perform reference processing, processing similar to the processing described in pattern 1 (processing when the first common key 113 of pattern 1 is not owned) (No in step S304), the data corresponding to item 3 is displayed in an encrypted state as shown in FIG. 13B.

このように、先に共通鍵をブロックに登録したユーザA以外のユーザBにのみ参照可能とする場合、当該参照可能者(ユーザB)が新たに第2共通鍵を生成し、当該第2共通鍵にて暗号化したデータをブロックへ登録すればよい。したがって、参照可能者以外のユーザに対し、特定の情報に対する秘匿性を適切に担保することができる。また、当該生成した第2共通鍵を自己の所有する公開鍵で暗号化してブロックへ登録しておけば、第2共通鍵の管理負担を軽減することができる。   Thus, when only the user B other than the user A who previously registered the common key in the block can be referred to, the referable person (user B) newly generates the second common key, and the second common key. Data encrypted with the key may be registered in the block. Therefore, the confidentiality with respect to specific information can be appropriately ensured with respect to users other than the referable person. Also, if the generated second common key is encrypted with the public key owned by itself and registered in the block, the management burden of the second common key can be reduced.

(変形例)
なお、この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。例えば、情報処理装置100では、上記実施の形態で示した全ての技術的特徴を備えるものでなくてもよく、従来技術における少なくとも1つの課題を解決できるように、上記実施の形態で説明した一部の構成を備えたものであってもよい。また、下記の変形例それぞれについて、少なくとも一部を組み合わせても良い。
(Modification)
In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible. For example, the information processing apparatus 100 does not have to include all the technical features described in the above embodiment, and the one described in the above embodiment so as to solve at least one problem in the prior art. The structure of the part may be provided. Further, at least some of the following modifications may be combined.

上記実施の形態では、理解を容易にするため、同一グループ内の一つのトランザクションにて扱われるデータが一つのブロックに登録され、グループ毎にブロックチェーンが生成される例を示したが、これは一例である。例えば、図14に示すように、一つのブロックには、異なるグループの契約書に関するトランザクションにて扱われるデータがそれぞれ登録されてもよい。図示する例では、グループAについては、ユーザA、ユーザB、ユーザC間における契約書を示し、グループBについては、ユーザA、ユーザD間における契約書を示している。なお、図示は省略しているが、同一グループ内の複数のトランザクションにて扱われるデータが一つのブロックに登録されてもよい。この場合についても、上記実施の形態と同様の処理により、参照可能者に対し適切に復号化可能となり、参照可能者以外のユーザに対し、特定の情報に対する秘匿性を適切に担保することができる。   In the above embodiment, in order to facilitate understanding, an example in which data handled in one transaction in the same group is registered in one block and a block chain is generated for each group is shown. It is an example. For example, as shown in FIG. 14, data handled in transactions related to contracts of different groups may be registered in one block. In the example shown in the figure, a contract between user A, user B, and user C is shown for group A, and a contract between user A and user D is shown for group B. Although illustration is omitted, data handled by a plurality of transactions in the same group may be registered in one block. Also in this case, by the same processing as in the above embodiment, decryption can be appropriately performed for a referable person, and confidentiality of specific information can be appropriately ensured for users other than the referable person. .

また、上記実施の形態では、図1に示す情報処理システム1において、当該トランザクションにて扱われるデータを全てブロックチェーンにて管理する例を示したが、これは一例である。例えば、将来に亘って機密性の高い情報については、例えば図15に示す情報処理システム2により管理してもよい。図2に示す情報処理システム2は、図1に示す情報処理システム1と比較して、データベース199を備えるセンターサーバ999を備えている。図2に示す情報処理システム2では、例えば、機密性の極めて高い情報(機密情報)については、センターサーバ999のデータベース199にて管理されている。そして、ブロックチェーンで連結されたブロックに、機密情報の格納先であるアドレス情報(センターサーバ999のデータベース199のアドレス)と、当該機密情報のハッシュ値と、当該機密情報を特定するユニークキーが暗号化されて(上記実施の形態と同様に暗号化されればよい)登録される。参照可能者は、参照処理を行うことで各ブロックの情報を取得し、機密情報の格納先アドレス情報、ハッシュ値、およびユニークキーを復号化する。   In the above-described embodiment, the example in which all data handled in the transaction is managed by the block chain in the information processing system 1 shown in FIG. 1 is an example. For example, highly confidential information for the future may be managed by the information processing system 2 shown in FIG. 15, for example. The information processing system 2 illustrated in FIG. 2 includes a center server 999 including a database 199, as compared with the information processing system 1 illustrated in FIG. In the information processing system 2 illustrated in FIG. 2, for example, highly confidential information (confidential information) is managed in the database 199 of the center server 999. Then, in the blocks connected by the block chain, the address information (address of the database 199 of the center server 999) where the confidential information is stored, the hash value of the confidential information, and the unique key specifying the confidential information are encrypted. Registered (encrypted as in the above embodiment). The referable person obtains information of each block by performing a reference process, and decrypts the storage address information, the hash value, and the unique key of the confidential information.

そして、復号化したアドレス情報に基づいてセンターサーバ999のデータベース199にアクセスし、当該ハッシュ値およびユニークキーが一致するか否かが検証され、一致する場合にアクセスを許可して参照可能者に情報を参照させればよい。これによれば、機密情報をセンターサーバ999にて管理し、機密情報そのものをブロックチェーンでは管理せず、機密情報のハッシュ値をブロックチェーンにて管理する。したがって、万が一鍵に関する情報が漏洩した場合でも安全性を確保することができる。また、ハッシュ値に基づいて機密情報を復元することは不可能であるため、機密性を担保することができる。   Then, the database 199 of the center server 999 is accessed based on the decrypted address information, and whether or not the hash value and the unique key match is verified. Should be referred to. According to this, the confidential information is managed by the center server 999, the confidential information itself is not managed by the block chain, and the hash value of the confidential information is managed by the block chain. Therefore, safety can be ensured even if information on the key is leaked. Moreover, since it is impossible to restore confidential information based on the hash value, confidentiality can be ensured.

また、上記実施の形態では、契約書を作成する場合を例として説明したが、この発明は、契約書を作成する場合に限られず、特定の情報についての秘匿性を担保することが必要な様々な取引が行われる場合において適用可能である。   In the above embodiment, the case where a contract is created has been described as an example. However, the present invention is not limited to the case where a contract is created, and various types of information that need to ensure confidentiality of specific information. This is applicable when various transactions are conducted.

なお、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。   In the case where the above functions are realized by sharing an OS (Operating System) and an application, or by cooperation between the OS and the application, only a part other than the OS may be stored in the medium.

また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。   It is also possible to superimpose a program on a carrier wave and distribute it via a communication network. For example, the program may be posted on a bulletin board (BBS, Bulletin Board System) on a communication network, and the program may be distributed via the network. Then, the above-described processing may be executed by starting these programs and executing them in the same manner as other application programs under the control of the operating system.

1 情報処理システム、2 情報処理システム、 100A〜C 情報処理装置、110 記憶部、111 秘密鍵、112 公開鍵、113 第1共通鍵、113A 暗号化した第1共通鍵、114 ブロック統合データ、115 他ユーザの公開鍵、116 ブロック情報DB、120 制御部、121 データ登録部、122 ペア鍵生成部、123 共通鍵生成部、124 暗号化復号化部、125 ブロック統合部、126 他公開鍵取得部、130 入出力部、140 通信部、199 データベース、210 ネットワーク、999 センターセーバ DESCRIPTION OF SYMBOLS 1 Information processing system, 2 Information processing system, 100A-C Information processing apparatus, 110 Storage part, 111 Secret key, 112 Public key, 113 1st common key, 113A Encrypted 1st common key, 114 Block integration data, 115 Public key of other user, 116 block information DB, 120 control unit, 121 data registration unit, 122 pair key generation unit, 123 common key generation unit, 124 encryption / decryption unit, 125 block integration unit, 126 other public key acquisition unit 130 Input / output unit 140 Communication unit 199 Database 210 Network 999 Center saver

Claims (5)

ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納手段と、
予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得手段と、
前記公開鍵取得手段で取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納手段と、
前記共通鍵格納手段により前記暗号化された前記共通鍵が前記ブロックチェーンで連結されるブロックに格納された後、前記共通鍵とは異なる新たな共通鍵を生成する共通鍵生成手段と、を備え、
前記データ格納手段は、前記ブロックチェーンで連結されるブロックに、前記生成されたデータを、前記共通鍵または前記新たな共通鍵のうち予め定められた条件に応じた共通鍵で暗号化して格納する、
とを特徴とする情報処理装置。
Data storage means for encrypting and storing the generated data with a common key in blocks connected by a block chain constructed in the network;
Public key acquisition means for acquiring a second public key different from the first public key stored in advance from the blocks connected by the block chain;
Common key storage means for encrypting the common key with the second public key acquired by the public key acquisition means, and storing the encrypted common key in blocks connected by the block chain;
A common key generation unit configured to generate a new common key different from the common key after the common key encrypted by the common key storage unit is stored in a block connected by the block chain. ,
The data storage means encrypts and stores the generated data with a common key corresponding to a predetermined condition among the common key or the new common key in blocks connected by the block chain. ,
The information processing apparatus according to claim and this.
前記共通鍵格納手段は、前記第1公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する、
ことを特徴とする請求項1に記載の情報処理装置。
The common key storage means encrypts the common key with the first public key, and stores the encrypted common key in blocks connected by the block chain.
The information processing apparatus according to claim 1.
前記生成されたデータには、予め定められた重要度未満の重要度低データと、前記予め定められた重要度以上の重要度高データとがあり、  The generated data includes low-importance data less than a predetermined importance and high-importance data higher than the predetermined importance,
前記重要度高データを、前記ブロックチェーンで連結されるブロックとは異なる、前記ネットワークを介して接続されたデータベースに格納する重要度データ格納手段をさらに備え、  Further comprising importance data storage means for storing the high importance data in a database connected via the network, which is different from the blocks connected by the block chain,
前記データ格納手段は、前記重要度低データを前記ブロックチェーンで連結されるブロックに格納し、前記重要度高データの格納先を示す格納先情報を、前記重要度高データに所定の演算を行うことにより算出した算出値とともに前記ブロックチェーンで連結されるブロックに格納する、  The data storage means stores the low importance data in blocks connected by the block chain, and performs a predetermined calculation on the high importance data with storage destination information indicating a storage destination of the high importance data. Stored in the block connected with the block chain together with the calculated value calculated by
ことを特徴とする請求項1または2に記載の情報処理装置。  The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
情報処理装置における情報処理方法であって、
ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納ステップと、
予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得ステップと、
前記公開鍵取得ステップで取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納ステップと、
前記共通鍵格納ステップにより前記暗号化された前記共通鍵が前記ブロックチェーンで連結されるブロックに格納された後、前記共通鍵とは異なる新たな共通鍵を生成する共通鍵生成ステップと、を備え、
前記データ格納ステップでは、前記ブロックチェーンで連結されるブロックに、前記生成されたデータを、前記共通鍵または前記新たな共通鍵のうち予め定められた条件に応じた共通鍵で暗号化して格納する、
とを特徴とする情報処理方法。
An information processing method in an information processing apparatus,
A data storage step for encrypting and storing the generated data with a common key in blocks connected by a block chain constructed in the network;
A public key acquisition step of acquiring a second public key different from the first public key stored in advance from the blocks connected by the block chain;
A common key storing step of encrypting the common key with the second public key acquired in the public key acquiring step, and storing the encrypted common key in blocks connected by the block chain;
A common key generation step of generating a new common key different from the common key after the encrypted common key is stored in the block connected by the block chain in the common key storage step. ,
In the data storing step, the generated data is encrypted and stored in a block connected by the block chain with a common key corresponding to a predetermined condition among the common key or the new common key. ,
Information processing method, wherein a call.
コンピュータを、
ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納手段、
予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得手段、
前記公開鍵取得手段で取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納手段、
前記共通鍵格納手段により前記暗号化された前記共通鍵が前記ブロックチェーンで連結されるブロックに格納された後、前記共通鍵とは異なる新たな共通鍵を生成する共通鍵生成手段、として機能させ、
前記データ格納手段は、前記ブロックチェーンで連結されるブロックに、前記生成されたデータを、前記共通鍵または前記新たな共通鍵のうち予め定められた条件に応じた共通鍵で暗号化して格納する、
とを特徴とするプログラム。
Computer
Data storage means for encrypting and storing the generated data with a common key in blocks connected by a block chain constructed in the network,
Public key acquisition means for acquiring a second public key different from the first public key stored in advance from the blocks connected by the block chain;
Common key storage means for encrypting the common key with the second public key acquired by the public key acquisition means, and storing the encrypted common key in blocks connected by the block chain;
After the common key encrypted by the common key storage means is stored in the block connected by the block chain, it functions as a common key generation means for generating a new common key different from the common key. ,
The data storage means encrypts and stores the generated data with a common key corresponding to a predetermined condition among the common key or the new common key in blocks connected by the block chain. ,
Program which is characterized a call.
JP2017123622A 2017-06-23 2017-06-23 Information processing apparatus, information processing method, and program Active JP6302592B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017123622A JP6302592B2 (en) 2017-06-23 2017-06-23 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017123622A JP6302592B2 (en) 2017-06-23 2017-06-23 Information processing apparatus, information processing method, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018036801A Division JP6709243B2 (en) 2018-03-01 2018-03-01 Information processing equipment

Publications (2)

Publication Number Publication Date
JP2017195627A JP2017195627A (en) 2017-10-26
JP6302592B2 true JP6302592B2 (en) 2018-03-28

Family

ID=60155019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017123622A Active JP6302592B2 (en) 2017-06-23 2017-06-23 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP6302592B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108854077A (en) * 2018-07-17 2018-11-23 广州瞪羚信息科技有限公司 Across game item circulation method based on block chain technology

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6389558B1 (en) * 2017-10-19 2018-09-12 アビームコンサルティング株式会社 Content data management system, server device, control method, and control program
JP7235668B2 (en) * 2017-10-27 2023-03-08 日本電信電話株式会社 REGISTRATION METHOD, COMPUTER AND PROGRAM
CN107979590B (en) 2017-11-02 2020-01-17 财付通支付科技有限公司 Data sharing method, client, server, computing device and storage medium
WO2019106768A1 (en) * 2017-11-29 2019-06-06 学校法人法政大学 Insurance system and insurance method
CN108389129B (en) * 2018-02-27 2020-12-04 创新先进技术有限公司 Transaction execution method and device based on block chain and electronic equipment
TWI662428B (en) * 2018-03-16 2019-06-11 艾維克科技股份有限公司 Decentralized information system and method for product evaluation
CN110290094B (en) * 2018-03-19 2022-03-11 华为技术有限公司 Method and device for controlling data access authority
JP6907144B2 (en) * 2018-03-27 2021-07-21 Kddi株式会社 Access control system, access control method and access control program
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
CN109002487A (en) * 2018-06-25 2018-12-14 百度在线网络技术(北京)有限公司 A kind of post-processing approach based on copyright registration information, device, equipment and medium
JP7060463B2 (en) * 2018-06-26 2022-04-26 Phcホールディングス株式会社 Data management system and node equipment
JP6715293B2 (en) * 2018-07-12 2020-07-01 ソフトバンク株式会社 Personal authentication device and personal authentication method
US20200034550A1 (en) * 2018-07-27 2020-01-30 Hrl Laboratories, Llc System and method to protect data privacy of lightweight devices using blockchain and multi-party computation
US11157484B2 (en) 2018-09-19 2021-10-26 Salesforce.Com, Inc. Advanced smart contract with decentralized ledger in a multi-tenant environment
US11080247B2 (en) * 2018-09-19 2021-08-03 Salesforce.Com, Inc. Field-based peer permissions in a blockchain network
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
JP2020048107A (en) 2018-09-20 2020-03-26 富士ゼロックス株式会社 Data management method, data management device, and data management program
JP7187283B2 (en) * 2018-11-26 2022-12-12 リーガルテック株式会社 data management system
JP6909452B2 (en) * 2018-12-18 2021-07-28 株式会社岩手銀行 Information processing methods, information processing devices, programs and information processing systems
WO2020141610A1 (en) * 2018-12-31 2020-07-09 ソニー株式会社 Information processing device, information processing method, and information processing program
JP7235941B2 (en) 2019-03-18 2023-03-09 株式会社野村総合研究所 Information management system and method
US20200372008A1 (en) * 2019-05-21 2020-11-26 Obook Inc. Method for Determining Information Integrity and Computer System Using the Same
JP7443036B2 (en) * 2019-12-03 2024-03-05 株式会社サイバーリンクス Collateral badge display system, Collateral badge display system program
JPWO2021124568A1 (en) * 2019-12-20 2021-06-24
CN113328979B (en) * 2020-02-29 2022-07-19 华为技术有限公司 Method and device for recording access behaviors
CN112035891A (en) * 2020-07-20 2020-12-04 江苏傲为控股有限公司 Decentralized electronic contract certification platform
JP7250288B2 (en) * 2020-08-28 2023-04-03 ジャスミー株式会社 Terminal device and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240826A (en) * 1997-03-03 1998-09-11 Card Koole Service Kk Electronic contracting method
EP2778951B1 (en) * 2011-11-11 2017-04-26 NEC Corporation Database encryption system, method and program
US9876775B2 (en) * 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
WO2017010455A1 (en) * 2015-07-13 2017-01-19 日本電信電話株式会社 Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
JP6452156B2 (en) * 2015-09-03 2019-01-16 日本電信電話株式会社 License information management system, user terminal, rights holder terminal, license information management method, and license information management program
JP6199518B1 (en) * 2017-03-23 2017-09-20 株式会社bitFlyer Private node, processing method in private node, and program therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108854077A (en) * 2018-07-17 2018-11-23 广州瞪羚信息科技有限公司 Across game item circulation method based on block chain technology
CN108854077B (en) * 2018-07-17 2021-05-18 广州瞪羚信息科技有限公司 Cross-game item circulation method based on block chain technology

Also Published As

Publication number Publication date
JP2017195627A (en) 2017-10-26

Similar Documents

Publication Publication Date Title
JP6302592B2 (en) Information processing apparatus, information processing method, and program
CN109862041B (en) Digital identity authentication method, equipment, device, system and storage medium
JP6892513B2 (en) Off-chain smart contract service based on a reliable execution environment
RU2719451C1 (en) Protection of data of block chains based on common model based on accounts and homomorphic encryption
JP6808057B2 (en) Blockchain data protection based on generic account model and homomorphic encryption
CN109951489B (en) Digital identity authentication method, equipment, device, system and storage medium
JP7210466B2 (en) Systems and methods for distributing data records using blockchain
JP6709243B2 (en) Information processing equipment
US20190229911A1 (en) Blockchain-implemented method and system
JP2020528224A (en) Secure execution of smart contract operations in a reliable execution environment
CN111431713B (en) Private key storage method and device and related equipment
US20210344500A1 (en) Computer-implemented system and method for transferring access to digital resource
CN110881063A (en) Storage method, device, equipment and medium of private data
WO2016153430A1 (en) Method of obfuscating data
JP2018029268A (en) Encryption system, encryption device, encryption program, and encryption method
US20100306543A1 (en) Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
WO2020230695A1 (en) Digital asset transfer method, digital asset transfer device, and program
CN111327426A (en) Data sharing method and related device, equipment and system
CN112199697A (en) Information processing method, device, equipment and medium based on shared root key
CN112699390A (en) Data processing method, data processing apparatus, electronic device, storage medium, and program product
CN112069525A (en) Encryption method, device and equipment for generating key based on attribute of information
CN113826096A (en) User authentication and signature apparatus and method using user biometric identification data
US20200267133A1 (en) First communication device, second communication device, method, and computer program
US11575742B2 (en) Information processing device for generating registration data in a peer-to-peer network
CN114978620B (en) Encryption method and decryption method for identity identification number

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170803

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170803

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180302

R150 Certificate of patent or registration of utility model

Ref document number: 6302592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250