Information processing apparatus, information processing method, and program
Abstract
Problem to be solved.To provide an information processing device, an information processing method and a program capable of ensuring the confidentiality of specific information. An information processing device encrypts and stores generated data with a common key in blocks connected by a block chain constructed in a network. In addition, the second public key, which is different from the first public key stored in advance, is acquired from the blocks connected by the blockchain. Then, the common key is encrypted with the second public key, and the encrypted common key is stored in a block connected by a blockchain. [Selection diagram] Fig. 6

Term
10.7 yearsto projected expiry
Projected expiry 23 June 2037, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
6 claims: 4 independent, 2 dependent
- 1ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納手段と、 予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得手段と、 前記公開鍵取得手段で取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納手段と、 を備えることを特徴とする情報処理装置。
- 2ネットワーク内に構築されるブロックチェーンで連結されたブロックから、共通鍵で暗号化されたデータを取得するデータ取得手段と、 前記共通鍵を記憶していない場合、前記ブロックチェーンで連結されたブロックから、予め記憶している公開鍵で暗号化された前記共通鍵を取得する暗号化共通鍵取得手段と、 前記暗号化共通鍵取得手段で取得した前記共通鍵を、前記公開鍵に対応する秘密鍵で復号化する共通鍵復号化手段と、 前記データ取得手段で取得した前記データを、前記共通鍵で復号化するデータ復号化手段と、 前記データ復号化手段により復号化したデータを表示する表示手段と、 を備えることを特徴とする情報処理装置。
- 3前記共通鍵格納手段は、前記第1公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する、 ことを特徴とする請求項1に記載の情報処理装置。
- 4前記共通鍵とは異なる新たな共通鍵を生成する共通鍵生成手段をさらに備え、 前記共通鍵格納手段は、前記第1公開鍵で前記新たな共通鍵を暗号化し、前記暗号化した前記新たな共通鍵を前記ブロックチェーンで連結されるブロックに格納し、 前記データ格納手段は、前記ブロックチェーンで連結されるブロックに、生成されたデータを前記新たな共通鍵で暗号化して格納する、 ことを特徴とする請求項1または3に記載の情報処理装置。
- 5情報処理装置における情報処理方法であって、 ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納ステップと、 予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得ステップと、 前記公開鍵取得ステップで取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納ステップと、 を備えることを特徴とする情報処理方法。
- 6コンピュータを、 ネットワーク内に構築されるブロックチェーンで連結されるブロックに、生成されたデータを共通鍵で暗号化して格納するデータ格納手段、 予め記憶している第1公開鍵とは異なる第2公開鍵を、前記ブロックチェーンで連結されたブロックから取得する公開鍵取得手段、 前記公開鍵取得手段で取得した前記第2公開鍵で前記共通鍵を暗号化し、前記暗号化した前記共通鍵を前記ブロックチェーンで連結されるブロックに格納する共通鍵格納手段、 として機能させることを特徴とするプログラム。
Independent claims6
75 paragraphs, as filed
0001The present invention relates to information processing devices, information processing methods and programs.
0002In recent years, commercial transactions using virtual currencies such as Bitcoin (registered trademark) have been carried out. In commercial transactions using the virtual currency, a technology called blockchain is used to prevent fraud without the need for centralized management. In the blockchain, multiple transactions, previous hash values and other information are defined as "blocks", and the reliability of the information in the "blocks" is achieved by the process of consensus building within the network formed by all participants. Is secured.
0003For example, Patent Document 1 discloses a technique for realizing commercial transactions using virtual currency by such a blockchain technique.
<p num="0004"><patcit num="1"><text>Japanese Unexamined Patent Publication No. 2016-218633</text></patcit></p>
<p num="0005"> Here, since the blockchain shows the contents of the transactions of all the participants, it can be applied not only to the transactions of virtual currencies such as Bitcoin (registered trademark) but also to various transactions. For example, a method of using a blockchain as a trail when exchanging a contract between a plurality of parties can be considered. However, due to the nature of the contract, there is a problem that the contents of the contract can be referred only to a specific participant and kept secret from other people. In such a case, the problem cannot be solved by simply applying the technique described in Patent Document 1 as it is, and it is still insufficient from the viewpoint of ensuring the confidentiality of specific information.</p><p num="0006"> The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an information processing device, an information processing method, and a program capable of ensuring the confidentiality of specific information.</p>
<p num="0007"> In order to achieve the above object, the information processing device according to the first aspect of the present invention is Data storage means (for example, encryption / decryption unit 124 that executes the processes of steps S207 and S208) that encrypts and stores the generated data with a common key in blocks connected by a blockchain constructed in the network. Data registration unit 121) and With a public key acquisition means (for example, another public key acquisition unit 126 that executes the process of step S204) that acquires a second public key different from the first public key stored in advance from the blocks connected by the blockchain. , A common key storage means (for example, step S205 and step S205) in which the common key is encrypted with the second public key acquired by the public key acquisition means, and the encrypted common key is stored in a block connected by the blockchain. The encryption / decryption unit 124 and the data registration unit 121) that execute the processing of S206, It is characterized by having.</p><p num="0008"> In order to achieve the above object, the information processing device according to the second aspect of the present invention is Data acquisition means (for example, block integration unit 125 that executes the process of step S301) that acquires data encrypted with a common key from blocks connected by a block chain constructed in the network, and When the common key is not stored, the encrypted common key acquisition means (for example, the process of step S301) for acquiring the common key encrypted with the public key stored in advance from the blocks connected by the blockchain. 125) and the block integration unit 125) A common key decryption means (for example, an encryption / decryption unit 124 that executes the process of step S305) that decrypts the common key acquired by the encryption common key acquisition means with a private key corresponding to the public key. A data decoding means for decrypting the data acquired by the data acquisition means with the common key (for example, an encryption / decryption unit 124 for executing the process of step S306). A display means for displaying the data decoded by the data decoding means (for example, the block integration unit 125 that executes the process of step S307) and It is characterized by having.</p><p num="0009"> The common key storage means encrypts the common key with the first public key and stores the encrypted common key in a block connected by the blockchain (for example, executing the processes of steps S103 and S104). Encryption / decryption unit 124 and data registration unit 121), You may do so.</p><p num="0010"> A common key generation means for generating a new common key different from the common key (for example, a common key generation unit 123 for generating a new common key different from the first common key 113 by the process of step S102) is further provided. The common key storage means encrypts the new common key with the first public key, and stores the encrypted new common key in a block connected by the blockchain (for example, steps S103 and S104). Encryption / decryption unit 124 and data registration unit 121), which execute the processing of The data storage means encrypts and stores the generated data in the blocks connected by the blockchain with the new common key (for example, the encryption / decryption unit 124 that executes the processes of steps S207 and S208). And data registration unit121), You may do so.</p><p num="0011"> In order to achieve the above object, the information processing method according to the third aspect of the present invention is It is an information processing method in an information processing device. A data storage step (for example, a step of executing the processes of steps S207 and S208) in which the generated data is encrypted with a common key and stored in blocks connected by a blockchain constructed in the network. A public key acquisition step (for example, a step of executing the process of step S204) of acquiring a second public key different from the first public key stored in advance from the blocks connected by the blockchain, and A common key storage step (for example, step S205 and step) in which the common key is encrypted with the second public key acquired in the public key acquisition step and the encrypted common key is stored in a block connected by the blockchain. Step to execute the processing of S206) and It is characterized by having.</p><p num="0012"> In order to achieve the above object, the program according to the fourth aspect of the present invention is Computer, Data storage means (for example, encryption / decryption unit 124 that executes the processing of steps S207 and S208) that encrypts and stores the generated data with a common key in blocks connected by a blockchain constructed in the network. Data Registration Department 121), A public key acquisition means (for example, another public key acquisition unit 126 that executes the process of step S204) that acquires a second public key different from the first public key that is stored in advance from the blocks connected by the blockchain. A common key storage means (for example, step S205 and step S205) in which the common key is encrypted with the second public key acquired by the public key acquisition means, and the encrypted common key is stored in a block connected by the blockchain. Encryption / decryption unit 124 and data registration unit 121) that execute the processing of S206, It is characterized by functioning as.</p>
<p num="0013"> According to the present invention, the confidentiality of specific information can be ensured.</p>
0014<figref num="1">It is a block diagram which shows an example of the information processing system which concerns on embodiment of this invention.</figref><figref num="2">It is a block diagram which shows an example of the information processing apparatus which concerns on embodiment of this invention.</figref><figref num="3">It is a figure which shows an example of the contract to be created.</figref><figref num="4">It is a flowchart which shows an example of the pre-registration process.</figref><figref num="5">It is a figure which shows an example of the specific content which is registered by a pre-registration process.</figref><figref num="6">It is a flowchart which shows an example of a block registration process.</figref><figref num="7">It is a flowchart which shows an example of a reference process.</figref><figref num="8">It is a figure which shows an example of the specific registration content of the block registration process in pattern 1.</figref><figref num="9">It is a figure which shows the example of the specific reference content when the content of a blockchain is the state shown in FIG.</figref><figref num="10">It is a figure which shows an example of the specific registration content of the block registration process in pattern 2.</figref><figref num="11">It is a figure which shows the example of the specific reference content when the content of a blockchain is the state shown in FIG.</figref><figref num="12">It is a figure which shows an example of the specific registration content of the block registration process in pattern 3.</figref><figref num="13">It is a figure which shows the example of the specific reference content when the content of a blockchain is the state shown in FIG.</figref><figref num="14">It is a figure which shows the specific content of a blockchain in a modification.</figref><figref num="15">It is a block diagram which shows an example of an information processing system in a modification.</figref>
0015First, an outline of the blockchain will be described using the information processing system 1 shown in FIG. 1 as an example. In the information processing system 1, as shown in FIG. 1, each of the information processing devices 100A to 100C (the information processing devices 100A to 100C are also simply referred to as the information processing device 100) are communicably connected via the network 210. ..
0016The information processing device 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). The information processing system 1 is not limited to the P2P type system, and may be, for example, a cloud computing type.
0017The information processing device 100 functions as a transaction generation device having a function of generating data related to a contract or the like by an operation by a user and distributing the data to the network 210. The information processing device 100 also functions as a blockchain generator that verifies the validity of the transaction delivered by the transaction generator, generates a new block, and connects the existing blockchain. The result verified by the blockchain generator is shared by each information processing device 100 via the network 210. In the illustrated example, in order to facilitate understanding, the information processing apparatus 100 has both the function of the transaction generator and the function of the blockchain generator, but different terminals have each. You may be. In addition, normally, the data handled by a certain number of transactions is stored in one block (the blockchain generator collects a certain number of transactions and puts a plurality of data handled by the transaction into one block). However, in this embodiment, the data handled by one transaction is stored in one block for ease of understanding.
0018In this embodiment, the data related to the contract (simply referred to as data) handled in the transaction generated by the function as the transaction generator is stored in one unit called a block, and the block is connected in chronological order. Managed by the chain. Specifically, the data is stored in a block newly generated by the function as a blockchain generation device, then connected to an existing blockchain and shared by each information processing device 100. For example, when a transaction not included in the blockchain is delivered, the function of the blockchain generator verifies the transaction and generates a new block (nth block). Then, the data includes the hash value (256 bits) of the last block (nth block) of the current blockchain and is stored in a new block (nth block). As a result, the data is stored in the block and managed in chronological order by the blockchain. That is, the blockchain has a role as a ledger that records data (contract contents) related to the contract. In the following, a contract made by three parties, user A, user B, and user C, will be described as an example.
0019Next, the configuration of the information processing apparatus 100 according to this embodiment will be described with reference to FIG. In the illustrated example, the information processing device 100A which is the terminal of the user A is taken as an example, but the same applies to the information processing device 100B which is the terminal of the user B and the information processing device 100C which is the terminal of the user C. , The description is omitted.
0020As shown in FIG. 2, the information processing device 100A (hereinafter, information processing device 100) includes a storage unit 110, a control unit 120, an input / output unit 130, a communication unit 140, and a system bus that connects them to each other. (Not shown) and.
0021The storage unit 110 includes a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The ROM stores the program executed by the CPU of the control unit 120 and the data necessary for executing the program in advance. Specifically, in this embodiment, a program for making the information processing device 100 function as a transaction generator, a program for making the information processing device 100 function as a blockchain generator, a program for generating various keys, and the like are installed in advance. ing. RAM stores data that is created or modified during program execution. The storage unit 110 has the private key 111 of the user A, the public key 112 of the user A, the first common key 113, the block integrated data 114, and the public key 115 of another user as the main information used by the program executed by the control unit 120. Remember ,.
0022The private key 111 of the user A and the public key 112 of the user A are keys used for encryption and decryption generated by the pair key generation unit 122 described later. The data encrypted by the public key 112 of the user A can be decrypted only by 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. To.
0023The first common key 113 is a key generated by the common key generation unit 123, which will be described later, and is a key commonly used for both encryption and decryption. In the illustrated example, the first common key 113 is stored, but the common key does not have to be stored, and a new common key different from the first common key 113 is generated. It may be stored (more on this later). The block integration data 114 is data indicating the contents of each block integrated by the block integration unit 125, which will be 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, which will be described later.
0024The block information DB116 is a database in which information about the generated block is stored.
0025The control unit 120 is composed of a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), and the like. The control unit 120 operates according to the program stored in the storage unit 110, and executes processing according to the program. The control unit 120 includes a data registration unit 121, a pair key generation unit 122, a common key generation unit 123, and an encryption / decryption unit 124 as main functional units provided by a program stored in the storage unit 110. , A block integration unit 125 and another public key acquisition unit 126 are provided.
0026The data registration unit 121 is a functional unit that realizes the above-mentioned function as a transaction generator and the function as a blockchain generator. The data registration unit 121 has a function of generating a new transaction based on an operation on the user's input / output unit 130 (a function of a transaction generator), a function of verifying that the new transaction is valid, and a new function. It has a function to generate a blockchain by generating a block and storing data handled in a verified transaction (a function of a blockchain generator). That is, the data registration unit 121 has a general function related to blockchain data registration. As described above, in this embodiment, in order to facilitate understanding, the information processing device 100 (terminal of user A) functions as a transaction generation device as a data registration unit 121 and as a blockchain generation device. Although it is described as having a function, for example, the data registration unit 121 in the terminal of user A has a function as a transaction generator, and the data registration unit 121 in the terminal of user B has a function as a blockchain generator. May have. That is, the data registration unit 121 does not necessarily have both functions, and may have different functions depending on the conditions (situations).
0027The pair key generation unit 122 has a function of generating a public key and a private key of the user. Specifically, the pair key generation unit 122 generates the public key and the private key of the user according to the pair key generation program stored in the storage unit 110 (in the example shown in FIG. 2, the public key 112 of the user A and the user). Generate A's private key 111). In this embodiment, the public key and the private key for each user are generated in advance by the pair key generation unit 122 and stored in the storage unit 110.
0028The 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 shown in FIG. 2, the first common key 113 is generated). In this embodiment, an example in which the common key is generated by the common key generation program is shown, but the common key may be acquired from the outside via the network 210.
0029The 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 a public key of oneself or another person, a function of encrypting data with a common key, and an encrypted common. It has a function to decrypt the key with its own private key and a function to decrypt the encrypted data with the common key.
0030The block integration unit 125 has a function of integrating the contents (each data) of each block connected as a blockchain to generate block integration data 114.
0031The other public key acquisition unit 126 has a function of acquiring the public key of another user. The other public key acquisition unit 126 acquires the public key generated on the terminal of another user and registered in the blockchain.
0032The input / output unit 130 is a device for inputting / outputting data, which is composed of a keyboard, a mouse, a camera, a microphone, a liquid crystal display, an organic EL (Electoro-Luminescence) display, and the like.
0033The communication unit 140 is a device for communicating with another information processing device 100 via the network 210.
0034The above is the configuration of the information processing device 100. Subsequently, the operation of the information processing apparatus 100 will be described with reference to FIGS. 3 to 7. In this embodiment, a case where "Document A" shown in FIG. 3 is created as a contract between user A, user B, and user C will be described as an example. Further, in this embodiment, group information that can be uniquely identified by the type of document (document name) is predetermined, and a blockchain is generated for each group (in the illustrated example, document A is group A). Corresponds to the group information of, and the blockchain of document A will be generated). The contents of items 1 to 3 shown in FIG. 3 correspond to one piece of data. Further, 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).
0035First, the pre-registration process shown in FIG. 4 is performed based on the operation by the user. The pre-registration process is a process of setting the data of the documents of the group shown in FIG. 3 as a blockchain to be managed by the blockchain. In each of the information terminals (information processing device 100) of user A, user B, and user C, 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, and are stored in the storage unit 110. It is assumed that it is stored. In this embodiment, it is assumed that the pre-registration process is executed by the operation of user A. The user who performs the pre-registration process is predetermined, and may be performed by a user other than user A.
0036In the pre-registration process shown in FIG. 4, first, the information processing apparatus 100 creates group information by the function of the data registration unit 121 (step S101). Specifically, in the process of step S101, the group managed by the blockchain is "Document A" (Group A), and the group includes items 1 to N (N is an integer and the final item of the document A). To be generated, block 1 is generated and defined (registered). Note that block 1 is the first block in the blockchain. By performing the process of step S101 in this way, 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. The process of step S101 may be performed by the user selecting the group information to be created from the plurality of group information stored in the storage unit 110 in advance. Further, the process of step S101 may be performed not by the information processing device 100 but by a dedicated server connected to the information processing device 100 via a network. Then, the dedicated server manages the referrer who can be described later, 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 or private key generated by the dedicated server may be managed in association with the identification information of each user and distributed to each user. Then, the common key may be distributed to the required users from the dedicated server.
0037Subsequently, 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 is generated by the function of the encryption / decryption unit 124. Encrypt with user A's public key 112 (step S103). Then, the encrypted first common key 113A is registered in the block 1 by the function of the data registration unit 121 (step S104), and the pre-registration process is completed. In the process of step S104, as shown in FIG. 5, the public key 112 of the user A is also registered in the block 1 in the same manner as the first common key 113A. In the examples shown in FIGS. 4 and 5, the public key 112 and the first common key 113A of the user A are registered in the block, but this is the first if the user A manages the private key 111. 1 This is because the common key 113 can be obtained from the block without being managed, and the key management burden can be reduced. When the key management burden is not taken into consideration, it is not necessary to register the public key 112 and the first common key 113A of the user A in the block.
0038In this embodiment, as in the general blockchain technology, the contents of all transactions registered in the block are verified at regular timings by the function of the blockchain generator. Then, when it is confirmed to be valid, the data handled in the transaction is registered in the block, connected to the existing blockchain, and shared by each information processing device 100 via the network 210. It becomes. Hereinafter, since the registration to the block is the same, the description of the relevant matter will be omitted.
0039Next, a block registration process for registering data handled in a transaction generated by a user operation (generated data, or simply referred to as data) in a block will be described. The block registration process is executed by an operation by the user (an operation to generate a transaction and register data). In this embodiment, as described above, one block is created and registered for one item (one data), so that the block registration process is the number of items to be registered (the number of transactions). ), It may be executed repeatedly.
0040FIG. 6 is a flowchart showing an example of the block registration process. In this section, the execution user is not specified. In the block registration process, first, the information processing apparatus 100 determines whether or not the data handled in the generated transaction (data to be registered) is the encryption target by the function of the data registration unit 121 (step S201). ). Whether or not the information is to be encrypted may be determined in advance together with a referrer who will be described later when the group information is registered (defined) in the pre-registration process (items and references to be encrypted). Information indicating whether or not the data is to be encrypted (the possible person is predetermined) may be stored in the storage unit 110 together with the information regarding the referenceable person.
0041When the data to be registered is not the object to be encrypted (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.
0042On the other hand, when the data to be registered is to be encrypted (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 about 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 The referenceable person may be identified based on the information stored in the above, and it may be determined whether or not the public keys of all the identified referenceable persons are owned. It is sufficient that the public key has identification information that identifies the user, and it is sufficient to determine which user's public key is based on the identification information.
0043When it is determined that the public key of the referrer is not owned (step S203; No), the information processing apparatus 100 acquires the public key of the referrer by the function of the other public key acquisition unit 126 (step S204). ). The details will be described later, but in the process of step S204, the public key of the referrer registered in the block is acquired. After executing the process of step S204, the information processing apparatus 100 uses the acquired public key by the function of the encryption / decryption unit 124 to generate a common key (the common key is generated by the process of step S102 in FIG. 4). ) Is encrypted (step S205) and registered in the block (step S206). By performing the process of step S206, the referrer can acquire the common key encrypted in the process of step S205. Then, the referrer may decrypt the acquired encrypted common key with his / her own private key (step S305 described later). The processing of steps S204 to S206 may be performed after the processing of step S208 described later.
0044After executing the process of step S206, or when it is determined in step S203 that the public key of the referrer is owned (step S203; Yes), the information processing apparatus 100 uses the function of the encryption / decryption unit 124. Encrypts the data with the common key owned by the above (step S207). Then, the encrypted data is registered in the target block (step S208), and the block registration process is completed. By performing the block registration process, the data to be registered (data handled in the generated transaction) will be managed by the blockchain.
0045Next, the reference process for referencing the contents of the blocks connected to the blockchain by the block registration process of FIG. 6 will be described with reference to FIG. 7. The reference process is executed by an operation by the user. More specifically, it is executed by performing an operation of specifying a group to be referred to. The reference process can be executed for each user.
0046When 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 blockchain corresponding to the specified group by the function of the block integration unit 125. (Step S301). Then, it is determined whether or not the contents of the acquired block include encrypted data (step S302). If it contains encrypted data (step S302; Yes), it determines if it has the corresponding common key (step S303). In this embodiment, when the data is encrypted, it is encrypted with the common key by the process of step S207 in FIG. 6, so that the process of step S303 owns the decryptable common key. It is judged whether or not it is.
0047When it is determined that the information processing device 100 does not have the corresponding common key (step S303; No), whether or not the information processing device 100 includes the encrypted common key in the acquired contents 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 the user. When the encrypted common key can be decrypted with the private key owned by the user (step S304; Yes), the information processing apparatus 100 is encrypted by the function of the encryption / decryption unit 124. Decrypt the common key with its own private key (step S305).
0048After executing the process of step S305, or when it is determined in the process of step S303 that the corresponding common key is possessed (step S303; Yes), the information processing apparatus 100 has the function of the encryption / decryption unit 124. 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 decoded data by the function of the block integration unit 125 (step S307), and ends the reference process.
0049On the other hand, if it is determined in step S304 that the encrypted common key cannot be decrypted with the private key owned by the user (step S304; No), the encrypted data is in an encrypted state. Output as is (step S307), and the reference process ends. If 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.
0050The above is the operation of the information processing device 100. Subsequently, a more specific operation will be described separately for patterns 1 to 3.
0051First, 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 (pattern 1) will be described. FIG. 8 is a diagram showing an example of specific registration contents of the block registration process in pattern 1. In the following, the explanation will be made on the assumption that the pre-registration process shown in FIG. 4 has been performed by the user A (that is, as shown in FIG. 8, the encryption is performed with the public key of the user A and the public key of the user A. The explanation is based on the assumption that the first common key is registered in block 1). In addition, it is assumed that the block registration process is performed by the user A, and the data corresponding to the items 1 to 3 is registered in the target block (the same applies to the pattern 2).
0052When user A first starts the block registration process shown in FIG. 6, since the data corresponding to item 1 is not the encryption target, it is determined as No in step S201 of FIG. 6, and item 1 is processed in step S202. The contents of are 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).
0053On the other hand, since the data corresponding to item 3 is subject to encryption, it is determined as Yes in step S201 of FIG. 6, and the process proceeds to step S203. In step S203, since the referrer is the user A himself / herself, it is determined that he / she owns the public key of the referrer (determines 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 is encrypted in step S208. Registered in block 3.
0054The above is the specific registration content of the block registration process in pattern 1. Note that the case of registering only the data that can be referred to by any user is the same as the registration in block 1 and block 2 shown in FIG. Subsequently, a specific reference content 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 blockchain are in the state shown in FIG.
0055First, a case where the user A performs the reference processing shown in FIG. 7 will be described. When the reference process is started, the contents of blocks 1 to 3 shown in FIG. 8 are acquired by the process of step S301. Since the data corresponding to item 3 is encrypted, it is determined as 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 possessed, it is determined as Yes, and the process proceeds to step S306. Then, in the process of step S306, the data corresponding to item 3 is decoded by the first common key 113. By subsequently executing the process of step S307, as shown in FIG. 9A, the data corresponding to item 3 is displayed in a decrypted state (items 1 and 2 are encrypted). It is displayed as it is because it does not exist).
0056On the other hand, when user B or user C performs the reference processing shown in FIG. 7, the contents of blocks 1 to 3 shown in FIG. 8 are acquired by the processing in step S301 as in the case of user A. Although it is determined as Yes in step S302 of FIG. 7, since user B and user C do not have the first common key 113, it is determined as No in the process of step S303. Then, the process proceeds to step S304, but since the acquired contents of blocks 1 to 3 do not include the encrypted common key, it is determined as 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 the encrypted state (items 1 and 2 are not encrypted, so they are displayed as they are). Is displayed).
0057In this way, by encrypting the data corresponding to item 3 in user A with the first common key 113 and registering it in the block, the data corresponding to item 3 can be referred only to user A. it can. Therefore, the confidentiality of specific information can be guaranteed. Further, by encrypting the generated first common key 113 with the user A's public key 112 and registering it in the block, the user A can obtain the first common key 113 from the block without having to own the first common key 113. Therefore, the user A only needs to manage the private key 111, and can reduce the management burden of the first common key 113.
0058Next, 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 showing an example of specific registration contents of the block registration process in pattern 2. The description of the same part as that of pattern 1 will be omitted. Note that the first common key encrypted with the public key of user A is registered in block 1 (not shown in FIG. 10) in the same manner as in pattern 1 (similar to block 1 in FIG. 8). And.
0059When 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 in the pattern 1 (see block 2 in FIG. 10). Then, since the data corresponding to item 3 is subject to encryption, it is determined as Yes in step S201 of FIG. 6, and the process proceeds to step S203.
0060In step S203, since the public key of user B who is a referrer is not owned, it is determined as No. Then, the user A acquires the public key of the user B who can refer to the user by the process of step S204. As shown in FIG. 10, the public key of user B is registered in the block (block 3 in the illustrated example) in advance. 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. Further, the user A may send an instruction to register the public key to the target block 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.
0061Following the process of step S204, the user A encrypts the first common key 113 with the acquired public key of the user B by the process of step S205, and the encrypted first common key 113 by the process of step S206. 113 is registered in block 4 as shown in FIG. After that, similarly to the above 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).
0062The above is the specific registration content of the block registration process in pattern 2. Subsequently, a specific reference content 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 blockchain are in the state shown in FIG. When user A, who is a referrer, performs reference processing, the same processing as the processing described in pattern 1 (processing when the first common key 113 of pattern 1 is owned) is performed (Fig. 7). (By determining Yes in step S303 of the above and decoding in the process of step S306), as shown in FIG. 11 (A), the data corresponding to item 3 is displayed in the decoded state. .. Also, when user C, who is not a referrer, performs reference processing, the same processing as the processing described in pattern 1 (processing when the first common key 113 of pattern 1 is not owned) is performed (Fig. No) is determined in step S304 of 7, and as shown in FIG. 11 (B), the data corresponding to item 3 is displayed in an encrypted state. Therefore, here, a case where the reference process is performed by the user B will be described as an example.
0063When the user B starts the reference process, the contents of blocks 1 to 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). Since the data corresponding to item 3 is encrypted, it is determined as 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 as No, and the process proceeds to step 304. Here, the first common key 113 encrypted with the public key of user B is registered in block 4 shown in FIG. 10, and the contents of the block are acquired by 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 itself (the private key owned by user B) (that is, Yes). ..
0064Subsequently, by the process of step S305, the encrypted first common key 113 is decrypted with the user B's private key, 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 the process of step S307 is subsequently executed, so that the item is as shown in FIG. 11 (A). The data corresponding to 3 is displayed in the decrypted state (items 1 and 2 are displayed as they are because they are not encrypted).
0065In this way, the user A acquires the public key of the user B, encrypts it with the public key of the user B who acquired the first common key 113, and registers the data in the block. It can be made visible to A and user B. Therefore, it is possible to appropriately guarantee the confidentiality of specific information to users other than those who can refer to it.
0066Next, a case where data can be referred only to user B in item 3 in the group of "document A" shown in FIG. 3 will be described (pattern 3). Note that, unlike pattern 1 and pattern 2, pattern 3 is different from item 1 and item 2 in that the data corresponding to item 3 is different from item 1 and item 2 because the reference user is only user B (item 1 and item 2). Is registered by user A), and user B registers in the target block. FIG. 12 is a diagram showing an example of specific registration contents of the block registration process in pattern 3. The description of the same part as that of pattern 1 will be omitted. Note that the first common key encrypted with the public key of user A is registered in block 1 (not shown in FIG. 12) in the same manner as in pattern 1 (similar to block 1 in FIG. 8). And.
0067When 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 in the pattern 1 (see block 2 in FIG. 12). Subsequently, the data corresponding to the item 3 is registered in the target block, but since the data corresponding to the item 3 can be referred only to the user B, the data should be registered by the user B. The data registrant may be predetermined when the group information is registered (defined) in the pre-registration process.
0068When the data corresponding to item 2 is registered in the target block (block 2 in this example) and shared among the users, the user B executes the processes of steps S102 to S104 in FIG. 4 based on this. To do. Note that the user A may send a signal to the user B prompting the registration of the data corresponding to the item 3. Specifically, the information processing device 100 of the user B generates the 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 encrypts and decrypts the second common key. The second common key generated is encrypted with the public key 112 of user B by the function of the encryption unit 124 (step S103). Then, the encrypted second common key is registered in the target block (block 3 in the example shown in FIG. 12) by the function of the data registration unit 121 (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 contents encrypted by the second common key. .. Further, since the second common key is encrypted by the public key of the user B, it cannot be decrypted unless it is the private key of the user B.
0069After registering the encrypted second common key in the target block, user B publishes the referrer in step S203 of FIG. 6 because the referrer is the user B as in pattern 1. It is determined that the key is owned (determined as Yes), and in step S207, the content of the data corresponding to the item 3 is encrypted with the second common key (99999999 as shown in FIG. 12). XI0tagBag). Then, the encrypted content is registered in block 4 in step S208 (see block 4 in FIG. 12).
0070The above is the specific registration content of the block registration process in pattern 3. After that, when not only user B but also user C can be referred to, user B acquires the public key of user C and uses the public key of the user C to obtain the second common key as in pattern 2. It should be encrypted and registered in the target block. Further, even in the case where the data corresponding to the item 3 is registered in the target block in the pattern 2 and then the data corresponding to the item 4 that can be referred only to the user A is registered in the target block, the relevant case is also applicable. Similar to pattern 3, the registrant user A may generate a new common key, encrypt the data corresponding to item 4 with the generated new common key, and register the data in the block. That is, when adding a referrer to the data to be registered, as explained in pattern 2, the public key of the added participant is acquired, and the common key is encrypted and blocked by the acquired public key. If you want to reduce the number of referrers to the data to be registered while registering, or if you want to use a completely different referrer, you can generate a new common key as described in Pattern 3.
0071The specific reference content of the reference process in pattern 3 is the same as that of 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 blockchain are in the state shown in FIG.
0072When user B, who is a referrer, performs reference processing, the same processing as the processing described in pattern 1 (processing when the first common key 113 of pattern 1 is owned) is performed (step S303 in FIG. 7). (By being decoded in the process of step S306), the data corresponding to item 3 is displayed in the decoded state as shown in FIG. 13 (A). On the other hand, when user A and user C who are not referrable perform the reference process, the process is the same as the process described in pattern 1 (process when the first common key 113 of pattern 1 is not owned). (Determined No in step S304), the data corresponding to item 3 is displayed in an encrypted state as shown in FIG. 13 (B).
0073In this way, when the common key can be referred only to the user B other than the user A who has previously registered in the block, the referable person (user B) newly generates the second common key, and the second common key is generated. The data encrypted with the key may be registered in the block. Therefore, it is possible to appropriately guarantee the confidentiality of specific information to users other than those who can refer to it. Further, if the generated second common key is encrypted with the public key owned by the user and registered in the block, the management burden of the second common key can be reduced.
0074(Modification example) The present invention is not limited to the above embodiment, and various modifications and applications are possible. For example, the information processing apparatus 100 does not have to have all the technical features shown in the above-described embodiment, and has been described in the above-described embodiment so as to solve at least one problem in the prior art. It may have a structure of parts. In addition, at least a part of each of the following modifications may be combined.
0075In the above embodiment, in order to facilitate understanding, an example is shown 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. This 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 illustrated example, group A shows a contract between user A, user B, and user C, and group B shows a contract between user A and user D. Although not shown, 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, it is possible to appropriately decrypt the referenceable person, and it is possible to appropriately guarantee the confidentiality of the specific information to the users other than the referenceable person. ..
0076Further, in the above embodiment, in the information processing system 1 shown in FIG. 1, an example in which all the data handled in the transaction is managed by the blockchain is shown, but this is an example. For example, information having high confidentiality in the future may be managed by, for example, the information processing system 2 shown in FIG. The information processing system 2 shown in FIG. 2 includes a center server 999 having a database 199 as compared with the information processing system 1 shown in FIG. In the information processing system 2 shown in FIG. 2, for example, extremely highly confidential information (confidential information) is managed in the database 199 of the center server 999. Then, the address information (address of database 199 of the center server 999) that stores the confidential information, the hash value of the confidential information, and the unique key that identifies the confidential information are encrypted in the blocks connected by the blockchain. It is encrypted (it may be encrypted in the same manner as in the above embodiment) and registered. The referrable person acquires the information of each block by performing the reference process, and decrypts the storage address information, the hash value, and the unique key of the confidential information.
0077Then, based on the decrypted address information, the database 199 of the center server 999 is accessed, it is verified whether or not the hash value and the unique key match, and if they match, access is permitted and information is provided to the referrer. You can refer to. According to this, the confidential information is managed by the center server 999, the confidential information itself is not managed by the blockchain, and the hash value of the confidential information is managed by the blockchain. Therefore, even if the information about the key is leaked, the security can be ensured. Further, since it is impossible to recover the confidential information based on the hash value, the confidentiality can be guaranteed.
0078Further, in the above-described embodiment, the case of creating a contract has been described as an example, but the present invention is not limited to the case of creating a contract, and it is necessary to ensure the confidentiality of specific information. It is applicable when various transactions are carried out.
0079When the above-mentioned functions are realized by sharing the OS (Operating System) and the application, or by cooperating with the OS and the application, only the part other than the OS may be stored in the medium.
0080It 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 system (BBS, Bulletin Board System) on a communication network, and the program may be distributed via the network. Then, by starting these programs and executing them in the same manner as other application programs under the control of the operating system, the above-mentioned processing may be executed.
00811 Information processing system, 2 Information processing system, 100A ~ C information processing device, 110 storage, 111 private key, 112 public key, 113 1st common key, 113A encrypted 1st common key, 114 block integrated data, 115 Other user's public key, 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 I / O, 140 Communication, 199 Database, 210 Network, 999 Center Saver
16 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2021502023A | Cited by | Japan | Search report |
| CN112204921A | Cited by | China | Search report |
| EP3703306A4 | Cited by | European Patent Office (EPO) | Search report |
| JP2019075755A | Cited by | Japan | Search report |
| JP2021516917A | Cited by | Japan | Search report |
| JP2021511560A | Cited by | Japan | Search report |
| CN113328979A | Cited by | China | Search report |
| JP2021511560A | Cited by | Japan | Search report |
| JP2022518715A | Cited by | Japan | Search report |
| JP2020010299A | Cited by | Japan | Search report |
| US11223477B2 | Cited by | United States of America | Applicant |
| JP2023543457A | Cited by | Japan | Search report |
| JP2020003897A | Cited by | Japan | Search report |
| JPWO2019082442A1 | Cited by | Japan | Search report |
| JP2020155801A | Cited by | Japan | Search report |
| JP2022039713A | Cited by | Japan | Search report |
| JPWO2021124568A1 | Cited by | Japan | Search report |
| US12079867B2 | Cited by | United States of America | Applicant |
| JP2020191091A | Cited by | Japan | Search report |
| US12058253B2 | Cited by | United States of America | Applicant |
| JP2019174995A | Cited by | Japan | Search report |
| US11563569B2 | Cited by | United States of America | Applicant |
| US11720689B2 | Cited by | United States of America | Search report |
| JP2022187163A | Cited by | Japan | Search report |
| JP2020099010A | Cited by | Japan | Search report |
| JP2022020604A | Cited by | Japan | Search report |
| CN111709047A | Cited by | China | Search report |
| JP2025122067A | Cited by | Japan | Search report |
| JP6389558B1 | Cited by | Japan | Search report |
| JP2021500811A | Cited by | Japan | Search report |
| WO2021124568A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US11782904B2 | Cited by | United States of America | Applicant |
| US11442922B2 | Cited by | United States of America | Applicant |
| JP2023130017A | Cited by | Japan | Search report |
| WO2019082442A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| JP2019160269A | Cited by | Japan | Search report |
| JP2021090113A | Cited by | Japan | Search report |
| US12225135B2 | Cited by | United States of America | Applicant |
| JP2020086903A | Cited by | Japan | Search report |
| WO2019106768A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO2020141610A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| JP2022120111A | Cited by | Japan | Search report |
| US11720689B2 | Cited by | United States of America | Applicant |
| US11809409B2 | Cited by | United States of America | Applicant |
| JP2024112935A | Cited by | Japan | Search report |
| JP2022501712A | Cited by | Japan | Search report |
| US11868321B2 | Cited by | United States of America | Applicant |
| US2015244690A1 | Cites | United States of America | Search report |
| US2015244690A1 | Cites | United States of America | Search report |
| WO2017010455A1 | Cites | World Intellectual Property Organization (WIPO) | Search report |
| JP2017050763A | Cites | Japan | Search report |
| JP5344109B1 | Cites | Japan | Search report |
| JP5344109B1 | Cites | Japan | Search report |
| JP6199518B1 | Cites | Japan | Search report |
| JP6199518B1 | Cites | Japan | Search report |
| JPH10240826A | Cites | Japan | Search report |
| JPH10240826A | Cites | Japan | Search report |
| 岡本 栄司: "明るい情報化社会の実現をめざす暗号技術▲5▼ 暗号鍵配送管理", BIT, vol. 23, no. 12, JPN6010018511, 1 November 1991 (1991-11-01), JP, pages 51 - 59, ISSN: 0003650563 | Non-patent | – | Search report |
| 森岡 剛: "Special Report 1 決済拡大の鍵は「サービスとの融合」 自動車分野に見るカード決済の未来像", CARDWAVE, vol. 第29巻 第1号, JPN6017037054, 25 February 2016 (2016-02-25), JP, pages 32 - 35, ISSN: 0003734823 | Non-patent | – | Search report |
| XU, X. ET AL.: "The Blockchain as a Software Connector", 2016 13TH WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE, JPN6017020446, April 2016 (2016-04-01), pages 182 - 191, ISSN: 0003734824 | Non-patent | – | Search report |
| 淵田 康之: "特集:イノベーションと金融 ブロックチェーンと金融取引の革新", 野村資本市場クォータリー, vol. 第19巻第2号(通巻74号), JPN6016047552, 1 November 2015 (2015-11-01), JP, pages 11 - 35, ISSN: 0003734821 | Non-patent | – | Search report |
| 佐古 和恵: "透明性と公平性を実現するブロックチェーン技術", 情報処理, vol. 第57巻 第9号, JPN6017020449, 15 August 2016 (2016-08-15), JP, pages 864 - 869, ISSN: 0003734822 | Non-patent | – | Search report |
2 members in 1 office
Members2
| Document | Office | Kind | |
|---|---|---|---|
| JP2017195627AThis record | Japan | A | |
| JP6302592B2 | Japan | B2 |
17 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313111S111 | S111 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on accelerated examinationJAPANESE INTERMEDIATE CODE: A971005A975 | A975 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 | |
| Explanation of circumstances concerning accelerated examinationJAPANESE INTERMEDIATE CODE: A871A871 | A871 |
Numbers
- Publication
- 2017195627
- Application
- 123622
Titles2
- Japanese
- 情報処理装置、情報処理方法およびプログラム
- English
- Information processing equipment, information processing methods and programs
Classification
- IPC, 5
- H04L9 08
- H04L9 32
- G09C1 00
- G06Q20 38
- G06F21 60