Valuable article management system

文档序号:1957960 发布日期:2021-12-10 浏览:14次 中文

阅读说明:本技术 有价物管理系统 (Valuable article management system ) 是由 杉浦伸一 中原伸之 浅野美香 于 2020-05-28 设计创作,主要内容包括:由于现实上可能会发生怀有恶意者有可能会找出交易的内容基本上被公开的区块链的系统性的漏洞,且突破漏洞而以非法存取等方式使加密资产流出至未预期的第三者的情况,因此安全性对策难谓充分。在本发明中提供一种系统,该系统由集群服务器记忆包含将从终端所接收到的有价物数据从前头算起至既定的大小为止的数据的部分数据,且由中心服务器记忆包含既定的大小+1起之后的数据的本体数据,从而不仅可使有价物数据分散进行管理,而且即使本体数据因为非法存取等而从集群服务器流出,也会因为本体数据原本就仅只是有价物数据的一部分的数据,若光只有本体数据则仅是无价值的数据,故可针对非法存取实现强固的安全性。(In reality, there is a possibility that a malicious person may find out a systematic vulnerability of a blockchain in which the contents of a transaction are basically disclosed, and break through the vulnerability and cause encrypted assets to flow out to an unexpected third party by illegal access or the like, so that it is difficult to sufficiently take security measures. The present invention provides a system in which a cluster server stores partial data including data from a head to a predetermined size of valuable data received from a terminal, and a center server stores main data including data from +1, so that the valuable data can be distributed and managed, and even if the main data flows out of the cluster server due to unauthorized access, the main data is only data of a part of the valuable data originally, and only the main data is useless data if only the main data is optical, thereby achieving strong security against unauthorized access.)

1. A value management system at least comprises:

a terminal;

a cluster server connected to the terminal through a first network; and

a central server connected to the cluster server through a second network;

the terminal transmits a transaction requirement about the valuable object to the cluster server;

the cluster server includes:

a division transfer unit that divides valuable item data acquired or generated in accordance with a transaction request for the valuable item into partial data including data from a beginning to a predetermined size and body data including data from the predetermined size +1 and transfers the partial data to the center server; and

a body data management part for receiving the block hash value from the central server, establishing association with the body data and memorizing the block hash value as the hash value of the body data;

the center server includes:

a partial data management unit that encrypts the partial data, generates a block in which the encrypted partial data is stored as an encryption key, and adds the block to a block chain; and

a hash notification unit for updating the block hash value of the block at the predetermined interval and transmitting the updated block hash value to the cluster server; and is

The main body data management unit updates the hash value of the main body data to the block hash value transmitted from the hash notification unit at the predetermined interval.

2. A value management system according to claim 1, wherein a block in the block chain includes a flag which is active when the block is newly connected and inactive when it is not;

the partial data management unit judges whether or not the flag of the connection destination block is valid when the block is newly connected, generates a new block when the flag is valid, and stores at least the encryption key, the block hash of the connection destination block, and the block hash of the new block in the new block, and invalidates the flag of the connection destination block when the new block is already connected to the connection destination block, and further stores and displays a valid flag as an initial value in the new block.

3. A value management system according to claim 1 or claim 2, wherein the partial data management section encrypts, in addition to the partial data, at least one of a file name and a transaction date of the value data;

the encryption key includes at least one of the file name and the transaction time of day in addition to the partial data.

4. A value management system according to any one of claims 1 to 3, wherein the transaction requirements for the value include: value data corresponding to the value is uploaded in the terminal.

5. A value management system according to any one of claims 1 to 3, wherein the transaction requirements for the value are requirements to generate value data corresponding to the value in the aggregation server.

6. A value management system according to any one of claims 1 to 5, wherein the predetermined size is 30 bytes or less from the head of the value data.

7. A value management system according to any one of claims 1 to 6, wherein the established interval is an interval of 24 hours or less.

8. A value management system according to any one of claims 1 to 7, wherein the first network is the Internet and the second network is a closed network.

9. A value management system according to any one of claims 1 to 8, further comprising a surveillance robot program that monitors tampering of the block chain;

the monitoring robot program invalidates each of blocks subsequent to one block in the block chain when tampering of the one block is found.

10. The value management system of claim 9, further comprising a repair robot program that performs repair of the blockchain;

after each of the blocks subsequent to the one block is invalidated,

the repair robot program repairs the blocks in the block chain with reference to an account book database managed independently of the block chain.

11. A value management system according to any one of claims 1 to 10, wherein the split transport of the cluster server splits in the following manner:

replacing data of a predetermined size from the head of the valuable object data with data of a predetermined size in an arbitrary part of the valuable object data as the partial data,

and the data of the remaining part of the valuable object data except the arbitrary part is used as the body data to replace the data after the predetermined size + 1.

12. A value management method performed by a value system, the value system including at least:

a terminal;

a cluster server connected to the terminal through a first network; and

a central server connected to the cluster server through a second network;

the valuable object management method comprises the following steps:

a step of transmitting, by the terminal, a transaction request for a valuable item to the cluster server;

a step of dividing the value data acquired or generated by the cluster server in accordance with a transaction request for the value into partial data including data from the beginning to a predetermined size and body data including data from the predetermined size +1 onward, and transmitting the partial data to the center server;

a step of encrypting the partial data by the center server;

generating a block by the central server, wherein the block is formed by memorizing the encrypted partial data as an encryption key, and adding the block into a block chain; and

updating, by the central server, the block hash value of the block at the predetermined interval, and transmitting the updated block hash value to the cluster server; and is

The cluster server updates the hash value of the body data to the block hash value transmitted from the central server at the predetermined interval.

13. A method of managing value items according to claim 11, wherein a block in the block chain includes a flag which is active when the block is newly connected and inactive when it is not;

in the step of adding the block to the block chain, the center server judges whether or not the flag of the block of the connection destination is valid when the block is newly connected, generates a new block when the flag is valid, and stores at least the encryption key, the block hash of the block of the connection destination, and the block hash of the new block in the new block, and invalidates the flag of the block of the connection destination when the new block is already connected to the block of the connection destination, and further stores a flag showing valid in the new block as an initial value.

14. A value management method according to claim 11 or claim 12, wherein in the step of encrypting the partial data, the central server encrypts the partial data while including at least one of a file name and a transaction date of the value data;

the encryption key includes at least one of the file name and the transaction time of day in addition to the partial data.

15. A value management method according to any one of claims 11 to 13, wherein the transaction requirements regarding the value include: value data corresponding to the value is uploaded in the terminal.

16. A value management method according to any one of claims 11 to 14, wherein the transaction requirement for the value is a requirement to generate value data corresponding to the value in the aggregation server.

17. A value management method according to any one of claims 11 to 15, wherein the predetermined size is 30 bytes or less from the head of the value data.

18. A value management method according to any one of claims 11 to 16, wherein the predetermined interval is an interval of 24 hours or less.

19. A value management method according to any one of claims 11 to 17, wherein the first network is the internet and the second network is a closed network.

20. A value management method according to any one of claims 12 to 19, wherein the dividing of the value data obtained or generated by the cluster server in accordance with a transaction request concerning the value into partial data including data from the beginning to a predetermined size and body data including data from the predetermined size +1 onward and the transmitting of the partial data to the center server is performed in such a manner that:

replacing data of a predetermined size from the head of the valuable object data with data of a predetermined size in an arbitrary part of the valuable object data as the partial data,

and the data of the remaining part of the valuable object data except the arbitrary part is used as the body data to replace the data after the predetermined size + 1.

21. A cluster server apparatus, comprising:

means for receiving a transaction request for value;

a dividing and transmitting device that divides valuable item data acquired or generated in accordance with a transaction request concerning the valuable item into partial data including data from a head to a predetermined size and body data including data from the predetermined size +1 onward, and transmits the partial data to the center server; and

an ontology data management device for receiving a block hash value from the central server, and establishing association with the ontology data to memorize the block hash value as a hash value of the ontology data;

the hash value of the body data is updated with the block hash value transmitted from the central server at the predetermined interval.

22. The cluster server apparatus of claim 21 wherein the split transfer means splits in the following manner:

replacing data of a predetermined size from the head of the valuable object data with data of a predetermined size in an arbitrary part of the valuable object data as the partial data,

and the data of the remaining part of the valuable object data except the arbitrary part is used as the body data to replace the data after the predetermined size + 1.

23. A central server apparatus, comprising:

means for receiving partial data including data of a predetermined size from the beginning of the valuable item data from the cluster server;

an encryption device for encrypting the partial data;

a block chain management device which generates a block in which the encrypted partial data is stored as an encryption key, and adds the block to a block chain; and

a hash notification device for updating the block hash value of the block at the predetermined interval and transmitting the updated block hash value to the cluster server; and is

The block hash value is memorized in the cluster server as a hash value of the body data including data after the predetermined size + 1.

24. The center server device according to claim 22, wherein the partial data includes data of a predetermined size in any part of the value data, in place of data of a predetermined size from the head;

the body data includes data of the remaining part other than the arbitrary part of the value object data, instead of data after the predetermined size + 1.

25. A program that, when executed by a computer, causes the computer to function as each of the cluster server devices according to claim 21 or claim 22.

26. A program that, when executed by a computer, causes the computer to function as each device of the center server device according to claim 23 or claim 24.

Technical Field

The present invention relates to a system, method, apparatus, and program for securely storing valuable data such as encrypted assets, virtual money, electronic money, and securities on a plurality of servers (servers) constituting a cloud (cloud) via a network such as the internet, and enabling a user to appropriately acquire valuable data from an information processing terminal in accordance with a request from the terminal.

More specifically, the present invention relates to a technique in which a server (hereinafter, referred to as a "cluster server") connected to an information processing terminal such as a smartphone (smartphone) or a computer (computer) of a user via a network such as the internet divides valuable data uploaded from the information processing terminal of the user into partial data including data of a predetermined size from the head and main data including data subsequent to the partial data, transmits the partial data to a server (hereinafter, referred to as a "center server") connected to the cluster server via a closed network (closed network), encrypts the received partial data and stores the encrypted partial data as one block of a block chain (block chain), and updates a hash value (hash) of the partial data at predetermined intervals, and the hash value of the body data is updated to the same value as that of the partial data, thereby realizing high security and safely circulating valuable data.

Background

Conventionally, a financial product transaction is performed through a trusted central authority such as a financial institution or a government, but in recent years, a distributed accounting technique using a block chain has been proposed as a technique for performing a direct transaction instead of a P2P (Peer-to-Peer) between users.

The distributed accounting technique is mainly used for confirming a transaction among participants participating in a distributed accounting system by consensus or confirmation performed by (arbitrary or specific) participants, not via a central authority. In addition, distributed accounting techniques aggregate multiple transactions (transactions) as blocks, record them in long runs in distributed accounts called blockchains, and perform hash calculations on consecutive blocks, thereby rendering tampering virtually impossible. In addition, the distributed accounting technique allows the participants to confirm the transaction by sharing the same accounting data with the participants.

Based on the above features, the distributed accounting technique such as the block chain has been studied as a framework for managing and sharing trusted data or performing execution and management of transactions according to contracts in a wide range of fields such as the financial field and the IoT (Internet of things). As one application example, distributed accounting techniques such as blockchain are installed in the transaction of encrypted assets such as Bitcoin (Bitcoin). Encrypted assets are also known as virtual currency.

In electronic commerce in which a user purchases and sells encrypted assets (virtual money, various financial products, and the like) on line via a network using an information processing terminal such as a smartphone, the transaction record can be recorded in a block chain. For example, japanese patent application laid-open No. 2019-106639 (patent document 1) describes an electronic commerce apparatus or the like that can perform electronic commerce as described above on a block chain, and even if there is no relationship of trust between parties or trust for a third party on the block chain, it is possible to prevent content theft and potential escape due to difficulty in tampering of transaction records.

[ Prior art documents ]

[ patent document ]

Patent document 1: japanese patent laid-open publication No. 2019-106639.

Disclosure of Invention

[ problem to be solved by the invention ]

As described above, although electronic commerce of encrypted assets can be realized by using a blockchain, since the fairness of transactions in the blockchain is secured by each node constituting the blockchain, the contents of transactions are basically disclosed, and there may be a systematic vulnerability to malicious persons seeking the blockchain. In addition, when a vulnerability is discovered, it may actually happen that the vulnerability is broken and the encrypted assets are exported to an unexpected third party by illegal access, so that the security countermeasure of the blockchain is difficult to be sufficient.

In addition, in order to ensure the fairness of the transactions recorded on the blockchain, a verification operation of verifying, by a computer, that each of the blocks in the blockchain is correctly recorded is required. For example, in the framework Of Proof Of effort (POW) used in bitcoin, in order to add a new block to a block chain, a value called a random number (nonce) is changed into a brute force formula to calculate a hash value satisfying a predetermined condition (for example, a hash value starting from "0" continuously for a certain number Of times), which requires enormous calculation by a computer and consumes a large amount Of power for the calculation.

In order to solve this problem, the present invention provides a valuable object management system including at least a terminal, a cluster server, and a center server, for securely storing valuable object data such as encrypted assets and valuable securities on a cloud and appropriately transmitting the data to a user on a line. In the valuable-item management system of the present invention, the cluster server stores partial data including data obtained by counting valuable-item data received from the terminal from the head to a predetermined size, and the center server stores main data including data obtained by counting valuable-item data from the predetermined size +1, so that not only the valuable-item data is distributed into the partial data and the main data to be managed, but also even if the main data flows out from the cluster server due to illegal access or the like, the main data is originally only data of a part of the valuable-item data, and only the main data is worthless data. As described above, the present invention provides a valuable-item management system, method, device, and program (hereinafter also simply referred to as "valuable-item system or the like") that realize strong security without being substantially harmed even if the main-body data is illegally distributed from the cluster server.

In addition, in the present invention, there is provided a valuable object management system and the like in which a central server encrypts received partial data and stores the encrypted partial data as one block of a block chain, and updates a hash value of the partial data at predetermined intervals, and updates a hash value of body data in a cluster server to a value identical to the hash value of the partial data, whereby even if an encryption key including partial data paired with the body data is to be locked in a case where the body data flows out from the cluster server due to illegal access or the like, the hash value of the encryption key is updated at predetermined intervals, and therefore, an encryption key including a hash value identical to a hash value included in body data that flows out illegally does not exist any more, and valuable object data cannot be recovered from the body data that flows out illegally.

In addition, in the present invention, a valuable object management system and the like are provided, in which a central server can store only a part of data, that is, a part of data, on a block chain, instead of storing the whole of valuable object data on the block chain, so that the block chain can be managed with a relatively small storage area, and by operating the central server in a reliable organ such as a government or a bank, the calculation work for ensuring the fairness of the block chain can be simplified or omitted.

[ means for solving the problems ]

As one embodiment of the value object management system of the present invention, the value object management system includes at least:

a terminal;

a cluster server connected to the terminal through a first network; and

a central server connected to the cluster server through a second network;

the terminal transmits a transaction requirement about the valuable object to the cluster server;

the cluster server includes:

a division transfer unit that divides valuable item data acquired or generated in accordance with a transaction request for the valuable item into partial data including data from a beginning to a predetermined size and body data including data from the predetermined size +1 and transfers the partial data to the center server; and

a body data management part for receiving the block hash value from the central server, establishing association with the body data and memorizing the block hash value as the hash value of the body data;

the center server includes:

a partial data management unit that encrypts the partial data, generates a block in which the encrypted partial data is stored as an encryption key, and adds the block to a block chain; and

a hash notification unit for updating the block hash value of the block at the predetermined interval and transmitting the updated block hash value to the cluster server; and is

The main body data management unit updates the hash value of the main body data to the block hash value transmitted from the hash notification unit at the predetermined interval.

As a preferred embodiment of the value management system of the present invention, a block in the block chain includes a flag (flag) that is valid when the block is newly connected and invalid when it is not connected;

the partial data management unit judges whether or not the flag of the connection destination block is valid when the block is newly connected, generates a new block when the flag is valid, and stores at least the encryption key, the block hash of the connection destination block, and the block hash of the new block in the new block, and invalidates the flag of the connection destination block when the new block is already connected to the connection destination block, and further stores and displays a valid flag as an initial value in the new block.

In a preferred embodiment of the value document management system according to the present invention, the partial data management unit encrypts the partial data including at least one of a file name and a transaction date of the value document;

the encryption key includes at least one of the file name and the transaction time of day in addition to the partial data.

As a preferred embodiment of the value management system of the present invention, the transaction request concerning the value includes: value data corresponding to the value is uploaded in the terminal.

As a preferred embodiment of the value management system of the present invention, the transaction request regarding the value is a request to generate value data corresponding to the value in the cluster server.

In a preferred embodiment of the value document management system according to the present invention, the predetermined size is 30 bytes (byte) or less from the beginning of the value document data.

In a preferred embodiment of the value object management system according to the present invention, the predetermined interval is an interval of 24 hours or less.

As a preferred embodiment of the value management system of the present invention, the first network is the internet, and the second network is a closed network.

As a preferred embodiment of the value object management system of the present invention, a monitoring robot program (bot) for monitoring tampering of the block chain;

the monitoring robot program invalidates each of blocks subsequent to one block in the block chain when tampering of the one block is found.

A preferred embodiment of the value object management system according to the present invention further includes a repair robot program for performing repair of the block chain;

after each of the blocks subsequent to the one block is invalidated,

the repair robot program repairs the blocks in the block chain with reference to an account book database (database) managed independently of the block chain.

As a preferred embodiment of the value object management system of the present invention, the division transfer unit of the cluster server divides the value object into the following components: data of a predetermined size in an arbitrary part of the valuable item data is used as the partial data instead of data of the valuable item data from the head to the predetermined size, and data of the remaining part of the valuable item data other than the arbitrary part is used as the body data instead of data of the predetermined size +1 onward.

As one embodiment of the value management method of the present invention, the value management method is executed by a value system including at least:

a terminal;

a cluster server connected to the terminal through a first network; and

a central server connected to the cluster server through a second network;

the valuable object management method comprises the following steps:

a step of transmitting, by the terminal, a transaction request for a valuable item to the cluster server;

dividing valuable object data acquired or generated by the cluster server in accordance with a transaction request for the valuable object into partial data including data from the beginning to a predetermined size and body data including data from the predetermined size +1 onward, and transmitting the partial data to the center server;

a step of encrypting the partial data by the center server;

generating a block by the central server, wherein the block is formed by memorizing the encrypted partial data as an encryption key, and adding the block into a block chain; and

updating, by the central server, the block hash value of the block at the predetermined interval, and transmitting the updated block hash value to the cluster server; and is

The cluster server updates the hash value of the body data to the block hash value transmitted from the central server at the predetermined interval.

As a preferred embodiment of the value object management method of the present invention, a block in the block chain includes a flag, which is valid when the block is newly connected to the block and invalid when the block cannot be connected;

in the step of adding the block to the block chain, the center server judges whether or not the flag of the block of the connection destination is valid when the block is newly connected, generates a new block when the flag is valid, and stores at least the encryption key, the block hash of the block of the connection destination, and the block hash of the new block in the new block, and invalidates the flag of the block of the connection destination when the new block is already connected to the block of the connection destination, and further stores a flag showing valid in the new block as an initial value.

In a preferred embodiment of the value document management method according to the present invention, in the step of encrypting the partial data, the center server encrypts the partial data, including at least one of a document name and a transaction date of the value document;

the encryption key includes at least one of the file name and the transaction time of day in addition to the partial data.

As a preferred embodiment of the value management method of the present invention, the transaction request concerning the value includes: value data corresponding to the value is uploaded in the terminal.

As a preferred embodiment of the value management method of the present invention, the transaction request regarding the value is a request to generate value data corresponding to the value in the cluster server.

In a preferred embodiment of the value material management method according to the present invention, the predetermined size is 30 bytes or less from the head of the value material data.

As a preferred embodiment of the value management method of the present invention, the first network is the internet, and the second network is a closed network.

In a preferred embodiment of the value document management method according to the present invention, the cluster server divides value document data obtained or generated in response to a transaction request for the value document into partial data including data from a beginning to a predetermined size and body data including data from the predetermined size +1, and transmits the partial data to the center server, the dividing is performed in the following manner:

replacing data of a predetermined size from the head of the valuable object data with data of a predetermined size in an arbitrary part of the valuable object data as the partial data,

and the data of the remaining part of the valuable object data except the arbitrary part is used as the body data to replace the data after the predetermined size + 1.

As one embodiment of the cluster server apparatus of the present invention, the cluster server apparatus includes:

means for receiving a transaction request for value;

a dividing and transmitting device that divides valuable item data acquired or generated in accordance with a transaction request concerning the valuable item into partial data including data from a head to a predetermined size and body data including data from the predetermined size +1 onward, and transmits the partial data to the center server; and

an ontology data management device for receiving a block hash value from the central server, and establishing association with the ontology data to memorize the block hash value as a hash value of the ontology data;

the hash value of the body data is updated with the block hash value transmitted from the central server at the predetermined interval.

As a preferred embodiment of the cluster server apparatus of the present invention, the division and transfer apparatus divides the cluster server apparatus into the following sections:

replacing data of a predetermined size from the head of the valuable object data with data of a predetermined size in an arbitrary part of the valuable object data as the partial data,

and the data of the remaining part of the valuable object data except the arbitrary part is used as the body data to replace the data after the predetermined size + 1.

As an embodiment of the cluster server apparatus of the present invention, the center server apparatus includes:

means for receiving partial data including data of a predetermined size from the beginning of the valuable item data from the cluster server;

an encryption device for encrypting the partial data;

a block chain management device which generates a block in which the encrypted partial data is stored as an encryption key, and adds the block to a block chain; and

a hash notification device for updating the block hash value of the block at the predetermined interval and transmitting the updated block hash value to the cluster server; and is

The block hash value is stored in the cluster server as a hash value of the body data including data after the predetermined size + 1.

In a preferred embodiment of the cluster server according to the present invention, the partial data includes data of a predetermined size in any part of the valuable data, instead of data of the predetermined size from the head of the valuable data;

the body data includes data of the remaining part other than the arbitrary part of the value object data, instead of data after the predetermined size + 1.

In one embodiment of the program of the present invention, the program is executed by a computer, and causes the computer to function as each device of the cluster server device.

In one embodiment of the program of the present invention, the program is executed by a computer, and causes the computer to function as each device of the center server device.

[ efficacy of the invention ]

The present invention relates to a valuable item management system, method, device, and program, wherein a cluster server stores partial data including data obtained by counting valuable item data received from a terminal from a head to a predetermined size, and a center server stores main data including data obtained by counting the predetermined size +1, so that the valuable item data can be distributed and managed, and even if the main data flows out of the cluster server due to unauthorized access or the like, the main data is originally only data of a part of the valuable item data, and if only the main data is light, only data of no value is obtained, so that strong security can be achieved against unauthorized access.

In addition, the valuable object management system and the like of the present invention updates the hash value of partial data stored as an encryption key in one block of a block chain under the management of a center server at predetermined intervals, and updates the hash value of the body data in the cluster server to the same value as the hash value of the partial data, thereby, even if the body data is streamed from the cluster server due to illegal access or the like, the hash value of the encryption key including the partial data paired with the body data which is illegally streamed is updated at a predetermined interval and therefore the encryption key including the hash value which is identical to the hash value of the body data does not exist any more, even if the illegally distributed body data is analyzed, it is difficult to obtain an encryption key necessary for restoring valuable object data, and the valuable object data can be substantially prevented from being restored.

In addition, the valuable object management system and the like of the invention can only memorize a part of data, namely partial data, on the block chain by the central server, but not memorize the whole valuable object data on the block chain, so that a relatively small memory area can be used for managing the block chain. Accordingly, when the central server forms a new block in the block chain, the hash value can be calculated based on relatively small information, and the calculation amount in the computer can be expected to be greatly reduced. Further, by operating the center server in a trusted authority such as a government or a bank, the verification operation for ensuring the fairness of the block chain can be simplified or omitted, and the enormous calculation using a computer and the accompanying power consumption can be suppressed.

Drawings

Fig. 1 is a schematic configuration diagram (system configuration diagram) showing a configuration of a valuable object management system according to an embodiment of the present invention.

Fig. 2 is a schematic configuration diagram (block diagram) showing an example of hardware (hardware) configurations of a server and an information processing terminal according to an embodiment of the present invention.

Fig. 3 is a schematic configuration diagram (block diagram) of a center server and a cluster server according to an embodiment of the present invention.

Fig. 4 is a diagram showing an example of a data processing procedure of the center server and the cluster server.

Fig. 5 is a diagram showing an outline of a login process of logging valuable item data from the cluster server to the center server.

Fig. 6 is a schematic diagram showing an outline of a basic configuration of a block chain managed by the center server.

Fig. 7 is a sequence (sequence) diagram showing a flow of processing for registering electronic money as an example of valuable items in the center server.

Fig. 8 is a sequence diagram showing a flow of processing for acquiring electronic money as an example of valuable objects from the center server.

Fig. 9 is a sequence diagram showing a flow of a process of transferring electronic money as an example of valuable items between terminals connected to the same cluster server.

Fig. 10 is a sequence diagram showing a flow of a process of transferring electronic money as an example of valuable items between terminals connected to different cluster servers.

Fig. 11 is a sequence diagram showing a flow of a process of transferring electronic money as an example of valuable items between terminals connected to different cluster servers.

Fig. 12 is a flowchart showing the flow of processing for dividing electronic money, which is an example of valuable items, into an encryption key and body data, as a whole valuable item management system.

FIG. 13 is a diagram showing a relationship of a tile in a chain of tiles accessible from a central server with ontology data accessible from a cluster server.

Fig. 14 is a diagram showing an outline of the body data stored independently in the cluster server.

Fig. 15 is a flowchart showing the flow of processing for newly connecting a block containing an encryption key to a block chain in the center server.

Fig. 16 is a diagram showing a configuration of a block chain under management of the center server.

Fig. 17A is a diagram showing an outline of various information stored in the database of the center server.

Fig. 17B is a diagram showing an outline of various information stored in the database of the center server.

Fig. 18 is a diagram showing an outline of information stored in the database of the cluster server.

Fig. 19 is a diagram showing an outline of processing for freezing and repairing each block when tampering is detected in the block chain.

Fig. 20 is a flowchart showing a flow of processing when tampering is detected by monitoring a block chain.

Fig. 21 is a flowchart showing a flow of processing of freezing a block in a block chain.

Fig. 22 is a flowchart showing the flow of processing of repairing a blockchain.

Detailed Description

An embodiment of the present invention is described below with reference to the drawings. In all the drawings for describing the embodiments, the same reference numerals are attached to the same elements in principle, and redundant description thereof is omitted. The embodiments of the present invention are not independent, and may be combined and appropriately carried out.

Fig. 1 is a system configuration diagram showing a configuration of a valuable object management system according to an embodiment of the present invention. The valuable object is an object having a monetary value, and is, for example, an encrypted asset, virtual money, electronic money, or valuable paper. The value management system illustratively includes a center server 10, a cluster server 20, and an information processing terminal 30. The information processing terminal 30 is, for example, a terminal connectable to the internet, such as a personal computer (personal computer), a notebook computer (notebook computer), a smart phone, and a mobile phone. The central server 10 and the cluster servers 20 are connected via a network N1. The network N1 is, for example, an intranet (intranet) connected by a dedicated line, and is a closed network. The cluster server 20 and the information processing terminal 30 are connected via a network N2. The network N2 is an open network such as the internet. The networks N1 and N2 are not limited to this, and a closed network or an open network (open network) may be appropriately selected depending on the level of security required.

The information processing terminal 30 can access the cluster server 20 through the network N2 belonging to the internet or the like, for example, but cannot directly access the center server 10 because it is not connected through the network N1 belonging to the closed network. The only access to the central server 10 is through the cluster servers 20 connected through the network N2. In the embodiment shown in fig. 1, one center server 10 is provided, but a plurality of center servers may be provided.

Fig. 2 is a block diagram showing an example of hardware configuration of a server and an information processing terminal according to an embodiment of the present invention. In the figure, no parentheses are added to the symbols corresponding to the hardware of the center server 10, and parentheses are added to the symbols corresponding to the hardware of the cluster server 20 and the information processing terminal 30.

The center server 10 illustratively includes a CPU (Central Processing Unit) 11, a Memory 12 including a ROM (Read Only Memory) and a RAM (Random Access Memory), a bus (bus)13, an input/output interface (interface)14, an input Unit 15, an output Unit 16, a storage Unit 17, and a communication Unit 18.

The CPU11 executes various processes in accordance with a program recorded in the memory 12 or a program loaded from the storage unit 27 into the memory 12. The CPU11 can execute a program for causing a server device to function as a center server according to the present invention, for example. Further, at least a part of the functions of the center server may be installed in hardware using an Application Specific Integrated Circuit (ASIC) or the like. The same applies to other servers and information processing terminals of the present invention.

The memory 12 also stores data and the like necessary for the CPU11 to execute various processes as appropriate. The CPU11 and the memory 12 are connected to each other by a bus 13. An input/output interface 14 is also connected to the bus 13. The input/output interface 14 is connected to an input unit 15, an output unit 16, a storage unit 17, and a communication unit 18.

The input unit 15 is configured by various buttons (buttons), a touch panel (touch panel), a microphone (microphone), and the like, and inputs various information in accordance with an instruction operation by a manager of the center server 10 or the like. The input unit 15 may be implemented by an input device such as a keyboard (keyboard) or a mouse (mouse) independent from the main body that houses the other parts of the center server 10.

The output unit 16 is configured by a display, a speaker (speaker), or the like, and outputs image data or audio data. The image data or music data output from the output unit 16 is output as an image or music from a display, a speaker, or the like so as to be recognizable by a player (player).

The Memory unit 17 is formed of a semiconductor Memory such as a DRAM (Dynamic Random Access Memory) and stores various data.

The communication unit 18 realizes communication with other devices. For example, the communication unit 18 communicates with the cluster server 20 via the network N1.

Further, the center server 10 is optionally provided with a driver (driver) as appropriate. The drive is suitably equipped with a removable medium (removable media) such as a magnetic disk, an optical disk, or a semiconductor memory. The removable medium stores various data such as a program for executing encrypted asset transactions, text data (text data), and image data. Various data such as programs and image data read from the removable medium by a drive are optionally installed in the storage unit 17.

Next, the configuration of the hardware of the cluster server 20 will be described. As shown in fig. 2, the cluster server 20 illustratively includes: CPU21, memory 22, bus 23, I/O interface 24, input unit 25, output unit 26, memory 27, and communication unit 28. These components have the same functions as those of the central server 10 described above, which are different only in symbols and have the same name. Therefore, redundant description is omitted. The same is true for the information processing terminal 30. When the information processing terminal 30 is configured as a portable device, the hardware, the display, and the speaker provided in the information processing terminal 30 may be realized as an integrated device.

The functional configuration of the center server 10 and the cluster server 20 constituting the value material management system will be described with reference to fig. 3. Fig. 3 is a block diagram of a central server and a cluster server according to an embodiment of the present invention. When the program for managing valuable items on the center server side is executed, the center server 10 causes the partial data management unit 111 and the hash notification unit 112 to function as the CPU 11. In addition, a cluster information storage unit 171, a user information storage unit 172, and an encryption key storage unit 173 are set in a part of the storage area of the storage unit 17. Details of the information stored in the cluster information storage unit 171, the user information storage unit 172, and the encryption key storage unit 173 will be described later.

The partial data management unit 111 of the center server 10 encrypts partial data, which is a part of the valuable item data transmitted from the cluster server 20, generates a block in which the encrypted partial data is stored as an encryption key, and adds the block to the block chain. The partial data management unit 111 may encrypt the partial data, including at least one of a file name of the valuable item data and a transaction date and time, and may encrypt the partial data, including at least one of the file name and the transaction date and time, in addition to the partial data.

The hash notification unit 112 may update the block hash value of the block in which the encryption key is stored at predetermined intervals, and transmit the updated block hash value to the cluster server. The predetermined interval may be 24 hours or less, and for example, 1 hour, 6 hours, 12 hours, 24 hours, or the like may be specified. Further, the predetermined interval may also specify a time exceeding 24 hours.

When a program for managing valuable items on the cluster server side is executed, the cluster server 20 causes the divided transfer unit 211 and the main body data management unit 212 to function as the CPU 21. In addition, a hash information storage portion 271 and a main body data storage portion 272 are provided in a part of the storage area of the storage portion 27. Details of the information stored in the hash information storage 271 and the body data storage 272 will be described later.

The division transfer unit 211 of the cluster server 20 divides valuable object data acquired or generated in response to a transaction request for a valuable object from the information processing terminal 30 into partial data including data from the beginning to a predetermined size and main data including data from the predetermined size +1, and transfers the partial data to the center server 10. Here, the predetermined size may be, for example, 30 bytes or less from the head of the valuable item data. The predetermined size is not limited to this, and may be set as appropriate.

Further, the division transfer unit 211 may divide the image into: data of a predetermined size in an arbitrary part of the valuable data is used as partial data instead of data of a predetermined size from the head to the predetermined size, and data of the remaining part other than the arbitrary part (that is, partial data) of the valuable data is used as body data instead of data of a predetermined size +1 from the head.

The main body data management part 212 receives the block hash value from the center server 10, and stores the block hash value as the hash value of the main body data by associating the block hash value with the main body data.

Fig. 4 shows an example of a data processing procedure of the center server and the cluster server. First, the cluster server 20 uploads valuable data from the information processing terminal 30 of the user (or generates valuable data in the cluster server 20) (step 1), compresses the valuable data (step 2), and replaces bit (bit) sequences of 0 and 1 corresponding to the compressed data of the valuable data with 16-bit text data by MIME (Multipurpose Internet Mail Extensions) (step 3). In the example shown in fig. 4, the valuable item data is compressed, but the present invention is not limited thereto, and the valuable item data may not be compressed. MIME is a standard for expanding e-mails on the internet and can handle various forms of standards.

Next, in the cluster server 20, for example, the first 30 bytes of the 16-bit text data corresponding to the valuable item data are cut out (cut out) as partial data (step 4), and the data after 31 bytes is registered (stored) as body data in a database (for example, the body data storage unit 272) (step 5).

In addition, partial data (data of the first 30 bytes) is transmitted from the cluster server 20 to the center server 10 along with the registration file name of the valuable data. In the center server 10, partial data (data of the first 30 bytes) and the file name of the valuable item data are received (step 6), and encryption of the valuable item data is performed according to these contents (step 7). For example, the valuable object Data is Encrypted to generate an encryption key (also referred to as DBED (Data Binary Encrypted Data)). An encryption key (DBED) is appended (registered) as a Block of a Block chain (or Block chain data tree) (step 8), and a Block chain hash (Block chain hash) is generated, i.e., a Block hash value of the Block appended in the Block chain is calculated (step 9). Finally, the block hash value is transferred from the central server 10 to the cluster server 20, and the block hash value belonging to the Binary data is registered in the database (e.g., the hash information storage portion 271) in the cluster server 20 as a Binary Large Object (BLOB) (step 10).

Fig. 5 shows an outline of a login process of logging in valuable item data from the cluster server to the center server. The user X (user X) enters (registers) the cluster server 20 via the network N1 using the information processing terminal 30X, and uploads valuable item data to the cluster server 20. As described above, the valuable data uploaded to the cluster server 20 is text-listed according to MIME (e.g., MIME64), for example, as ABCDEFG2345678, and is handed to the next process along with the file name showing the valuable data. In the cluster server 20, the valuable data converted into a text is divided into partial data (for example, ABC) from the head to a predetermined size and body data (for example, DEFG2345678) from the predetermined size +1, and the partial data is transmitted to the center server 10 together with the file name through encrypted communication via the network N2. In the examples shown in fig. 4 and 5, data from the head of the value data that has been converted into a text to a predetermined size is used as partial data, and data after the data is used as body data, but the examples are not limited to this, and the partial data may include data of a predetermined size in an arbitrary part of the value data instead of data from the head of the value data to a predetermined size, and the body data may include data of the remaining part of the value data other than the arbitrary part instead of data from the predetermined size + 1.

As described above, in the valuable-item management system according to the embodiment of the present invention, the cluster server 20 stores partial data including data obtained by counting valuable item data received from the information processing terminal 30 from the head to a predetermined size, and the center server 10 stores main data including data obtained by counting the predetermined size +1, so that not only the valuable item data can be distributed and managed, but also even if the main data flows out of the cluster server 20 due to unauthorized access or the like, the main data is originally only data of a part of the valuable item data, and if only the main data is light, only data of no value is obtained, and thus strong security can be achieved against unauthorized access.

In addition, in the valuable object management system according to an embodiment of the present invention, since the central server 10 can store only a part of the data, that is, a part of the data, on the block chain, instead of storing the whole of the valuable object data on the block chain, a relatively small memory area can be used to manage the block chain. Accordingly, when a new block is formed in the block chain in the center server 10, the hash value can be calculated based on relatively small information, and the calculation amount of the center server 10 in the computer can be expected to be greatly reduced. Further, by operating the center server 10 in a trusted organization such as a government or a bank, the verification operation for ensuring the fairness of the block chain can be simplified or omitted, and the enormous calculation using a computer and the accompanying power consumption can be suppressed.

Fig. 6 shows an outline of the basic configuration of the block chain managed by the center server. One block 101A of the block chain 100 includes: two Block Hash values (Block Chain Hash (1) and Block Chain Hash (2), e.g., 0xaa708c8c, 0x038b67cf) that are different from each other; and an encryption key (e.g., ddyymmSUGIURA100) obtained by encrypting part of the value data. The Block Hash value (Block Chain Hash (1)) of one side is the same Hash value as the Block Hash value of the previous Block, and Block 101A is combined with the previous Block according to "Hash value is the same". Similarly, the other Block Hash value (Block Chain Hash (2)) is the same Hash value as the following Block Hash value, and the Block 101A is also associated with the following Block according to "the same Hash value".

Fig. 7 is a sequence diagram showing a flow of processing for registering electronic money as an example of valuable items in the center server. When a user accesses the cluster server 20 using the information processing terminal 30, for example, through the internet (sign in), the cluster server 20 transmits a response of successful entry (OK) to the information processing terminal 30 (step S102). The user selects an upload of electronic money data or a request for generation of electronic money data as one of the valuable item data on the information processing terminal 30 (step S103), and uploads the electronic money data or transmits the request for generation of electronic money data to the cluster server 20 (step S104). In the cluster server 20, the uploaded or generated electronic money data is encrypted by compression, word serialization, or the like as described above, and is divided into partial data of 30 bytes from the head and body data of 31 bytes thereafter, for example, and the partial data of 30 bytes from the head is transmitted to the center server 10 (step S106).

The center server 10 generates a block to be added to the block chain (step S107), encrypts the block including at least one of the transaction time (for example, upload time or generation time) of the electronic money and the file name corresponding to the electronic money data in addition to the first 30 bytes of partial data, and generates an encryption key including at least one of the file name and the transaction time in addition to the partial data (step S108). In this embodiment, the transaction date and time and the file name are used in addition to the partial data in the encryption, but the present invention is not limited thereto, and other character strings, data, and the like (for example, the user's entry ID and password) may be used.

The center server 10 adds the generated block to the block chain while including the encryption key (step S109), and transmits the block hash value of the added block to the cluster server 20 (step S110). In the cluster server 20, the received block hash value is stored in the database (the body data storage 272) together with the body data, and the electronic money lacking part of the data is generated (step S111). Finally, when the generation of the electronic money is completed, the cluster server 20 transmits a completion notification to the information processing terminal 30 (step S112).

Fig. 8 is a sequence diagram showing a flow of processing for acquiring electronic money as an example of valuable objects from the center server. When a user enters (signs in) the cluster server 20 through, for example, the internet using the information processing terminal 30 to access (step S201), the cluster server 20 transmits a response of the successful entry (OK) to the information processing terminal 30 (step S202) and transmits a list of electronic money or the like (step S203) when the user successfully enters using the information processing terminal 30.

The user selects an item necessary for obtaining electronic money from a list of electronic money or the like displayed on the screen of the information processing terminal 30 (step S204), and the information processing terminal 30 transmits a request for obtaining electronic money to the cluster server 20 along with the item selected by the user (step S205). In response to a request from the information processing terminal 30, the cluster server 20 locks the requested electronic money (corresponding body data) from the database and performs authentication (step S206). As a result of the verification, if there is no problem, the data after 31 bytes of the electronic money, that is, the body data, is transmitted to the information processing terminal 30 (step S207), and partial data corresponding to the body data is requested from the center server according to the block hash value memorized in association with the body data (step S208).

The center server 10 verifies the blocks of the block chain upon request (step S209), and restores 30 bytes of data, that is, partial data, from the top of the electronic money data from the encryption key, and transmits the data to the cluster server 20 (step S210). The cluster server 20 transmits the received partial data to the information processing terminal 30 (step S211), and in the information processing terminal 30, the received partial data is combined with the body data to generate electronic money data (step S212).

Fig. 9 is a sequence diagram showing a flow of a process of transferring electronic money as an example of valuable items between terminals connected to the same cluster server. When a user X who is connected to the information processing terminal 30X of the same cluster server 20 transfers electronic money to a user Y of the information processing terminal 30Y, the user X accesses the cluster server 20 through, for example, the internet using the information processing terminal 30X (step S301), and when the user successfully accesses the information processing terminal 30X, the cluster server 20 transmits a response of the access success (OK) to the information processing terminal 30X (step S302), and transmits a list of the electronic money and the like (step S303).

The user X selects an item necessary for transferring electronic money from a list of electronic money or the like displayed on the screen of the information processing terminal 30X (step S304), inputs the user ID of the user Y belonging to the transfer target (step S305), and transmits a transfer request to the cluster server 20 (step S306).

The cluster server 20 verifies the user ID of the transfer target (step S307), generates a download (download) URL (Uniform Resource Locator) if there is no problem (step S308), requests the mail address (mail address) of the user Y of the transfer target from the center server 10 (step S309), and acquires the mail address along with the response (OK) (step S310). The cluster server 20 notifies the acquired mail address (information processing terminal 30Y) of the download URL by email (step S311).

The user Y to be assigned checks the electronic mail in the information processing terminal 30Y, enters the cluster server 20 using the download URL, and downloads the data after 31 bytes of the body data belonging to the electronic money (step S312). When the body data is downloaded, the cluster server 20 transmits the block hash value of the body data to the central server 10 (step S313). The central server 10 locks the block having the hash value identical to the received hash value from the block chain, and verifies the electronic money contained in the block (step S314). When the verification result is correct, the center server 10 transmits the partial data of the first 30 bytes belonging to the electronic money to the cluster server 20 (step S315), and the cluster server 20 transmits the received partial data to the information processing terminal 30Y (step S316). Finally, the information processing terminal 30Y combines the received partial data with the body data to generate electronic money data (step S317).

Fig. 10 and 11 are sequence diagrams showing a flow of a process of transferring electronic money as an example of valuable items between terminals connected to different cluster servers, and fig. 10 and 11 show a flow of a process of transferring electronic money from the information processing terminal 30X connected to the cluster server 20A (cluster a) to the information processing terminal 30Y connected to the cluster server 20B (cluster B) in accordance with the sequence diagrams.

First, referring to fig. 10, a user X accesses the cluster server 20A through, for example, the internet by using the information processing terminal 30X (step S401), and when the user successfully accesses the information processing terminal 30X, the cluster server 20 transmits an OK response (an NG response in the case of failure) to the information processing terminal 30X (step S402), and transmits a list of electronic money and the like (step S403).

The user X selects an item necessary for transferring electronic money from a list of electronic money or the like displayed on the screen of the information processing terminal 30X (step S404), specifies the user ID of the user Y belonging to the transfer target and the ID of the cluster server 20B (step S405), and transmits a transfer request to the cluster server 20A (step S406). The cluster server 20A locks the body data of the requested electronic money, and transmits a request including the block hash value of the body data and the user ID of the transfer target user Y to the center server 10 (step S407).

The center server 10 verifies the received user ID and the block hash value (step S408), and if the verification result is correct, the mail address of the transfer target user Y is transmitted to the cluster server 20A along with the response (OK) of the contents (step S409), and the cluster server 20 transmits a final confirmation of whether or not the transfer of electronic money is to be performed to the information processing terminal 30X (step S410). The information processing terminal 30X transmits the final assignment request to the cluster server 20A along with the response (OK) to confirm the execution of the assignment (step S411), and the cluster server 20A transmits the request to the center server 10 (step S412).

The center server 10 transmits the partial data containing the first 30 bytes of the electronic money to the cluster server 20B (step S413). Referring to fig. 11, cluster server 20B notifies information processing terminal 30Y of user Y who is the transfer target of a notification indicating that transfer of electronic money from user X is possible (step S414). The user Y enters from the information processing terminal 30Y and accesses the cluster server 20B in response to a notification or the like displayed on the screen of the information processing terminal 30Y (step S415), and the information processing terminal 30Y receives the first 30 bytes of the electronic money, that is, the partial data transmitted from the center server 10 (step S416).

Referring again to fig. 10, the cluster server 20A generates the URL of the data after 31 bytes of the download electronic money, that is, the body data, immediately or substantially simultaneously after transmitting the request to the center server 10 (step S417). Referring to fig. 11, after the download URL is generated (step S417), the cluster server 20A transmits the download URL to the information processing terminal 30Y by email (step S418), and the user Y to be assigned confirms the email in the information processing terminal 30Y, enters the cluster server 20A using the download URL, and downloads the data after 31 bytes of the body data belonging to the electronic money (step S419). Finally, the information processing terminal 30Y combines the received partial data with the body data to generate electronic money data (step S420).

Fig. 12 is a flowchart showing the flow of processing for dividing electronic money, which is an example of valuable items, into an encryption key and body data, as a whole valuable item management system. When processing electronic money data as an example of valuable item data, the information processing terminal 30 uploads electronic money to the cluster server 20 (step S501), and the cluster server 20 encrypts the electronic money data (step S502). For example, AES (Advanced Encryption Standard) Encryption (AES-256-CBC) may be used. Note that encryption of valuable item data may be performed by compressing and using MIME as shown in fig. 4 and 5, or may be performed by another encryption method.

The cluster server 20 separates the encrypted electronic money data into partial data having a predetermined size and body data including the remaining data other than the partial data (step S503). For example, the partial data may be data from the head of the encrypted electronic money data to 30 bytes, and the main data may be data from 31 bytes to the end, but the present invention is not limited thereto.

On the central server 10 side, a block of the block chain for holding partial data (e.g., the first 30 bytes of data) is generated (step S504), an encryption key including the partial data is generated (step S505), and the cluster server 20 is informed of the generated current block hash value (step S506). On the cluster server 20 side, the hash value is stored in the database (hash information storage 271) (step S507). Details of the blockchain and body data comprising portions of data generated by the value management system are shown in FIGS. 13-14.

FIG. 13 shows a relationship of a tile in a chain of tiles accessible from a central server to ontology data accessible from a cluster server. Fig. 14 shows an outline of the ontology data stored independently in the cluster server. Although the outline of the block chain 100 is shown in fig. 6, if it is more specifically shown in fig. 13, one block 101A of the block chain 100 stored in the database (encryption key storage 173) of the central server 10 includes, for example, at least a hash value 102A of a previous block, a hash value 104A of a current block, and an encryption key 105A. The hash values 102A and 104A may be set to, for example, 64 bytes of data. The hash value 104A of the current chunk is updated to a new hash value by the central server 10 at a predetermined interval. The encryption key 105A is fixed data that is not updated. The encryption key 105A is data obtained by encrypting data of 30 bytes including the date and time of the document name of the valuable document data, the transaction, the document creation, and the like, and the previous date and time. In addition, in block 101A, a file ID of 4 bytes may be included as information to identify block 101A.

Referring to fig. 13 and 14, the data block group 200 is stored in the database (main body data storage 272) of the cluster server 20. The plurality of data blocks 201A to 201D included in the data block group 200 do not constitute a block chain, but are stored independently of each other.

In a data block 201A, for example, at least a hash value 204A and an entity data 205A of the current block are included. The hash value 204A may be set to, for example, 64 bytes of data. The body data 205A is, for example, data after 31 bytes of the valuable item data, and optionally and appropriately includes a file name of the valuable item data and a user ID of a user. In addition, in the data block 201A, a file ID of 4 bytes may be included as information for identifying the data block 201A.

The central server 10 updates the hash value 104A of the current block at predetermined intervals and notifies the cluster server 20. The predetermined interval is 24 hours or less, and may be an interval of 1 hour, 2 hours, 3 hours, 4 hours, 5 hours, or 6 hours, or an interval larger than 24 hours. The cluster server 20 receives the notification from the center server 10, and updates the hash value 204A to the same value as the hash value 104A as if the hash value 104A of the block including the encryption key 105A and the hash value 204A including the body data 205A are linked and updated in the blockchain. Such actions are also denoted as being performed interchangeably in the present invention. In other words, the hash value 104A and the hash value 204A are updated at predetermined intervals, which is also referred to as being linked and replaced at the same time.

As described above, the valuable object management system of the present invention manages valuable object data by dividing it into partial data and body data, updates the hash value corresponding to partial data stored as an encryption key in one block of the block chain 100 under the management of the center server 10 at predetermined intervals, and updates the hash value corresponding to body data in the cluster server 20 to the same value as the hash value corresponding to partial data (i.e., links them and replaces them at the same time), so that even if body data flows out of the cluster server 20 due to illegal access or the like, the hash value of the encryption key containing partial data paired with body data flowing out illegally is updated at predetermined intervals and thus an encryption key containing a hash value identical to the hash value of the body data does not exist any more, even if the illegally distributed body data is analyzed, it is difficult to obtain an encryption key necessary for restoring valuable object data, and the valuable object data can be substantially prevented from being restored.

Fig. 15 is a flowchart showing the flow of processing for newly connecting a block containing an encryption key to a block chain in the center server. The flowchart shown in fig. 15 corresponds to, for example, the flow of processing when registering electronic money data belonging to one of the valuable item data in the center server 10 from the information processing terminal 30 via the cluster server 20 as shown in fig. 7.

When access to electronic money data, such as registration or generation of electronic money data, which is an example of valuable item data, occurs from the information processing terminal 30 or the like (step S601), the cluster server 20 notifies the center server 10 of the contents thereof (step S602), and the center server 10 verifies the tiles of the tile chain 100 (step S602). The central server 10 associates and memorizes a valid flag indicating valid or invalid with each of the plurality of blocks in the block chain 100. The valid flag corresponding to the current block (e.g., the last block) of the block chain 100 is checked (step S604), and if not valid (NO in step S604), notification processing such as error message (error message) is executed (step S612).

When the valid flag corresponding to the current block (last block) of the blockchain 100 is valid (YES in step S604), a block to be newly added to the blockchain 100 is generated in the center server 10 (step S605). In addition, in order to connect the newly generated block (new block) to the block chain 100, the center server 10 stores partial data (for example, 30 bytes from the head) of the electronic money data in the new block (step S606). In addition, the center server 10 changes the valid flag to the block that was still valid (old block) to a value that shows invalidity (step S607), and appends the new block to the block chain 100 (step S608). Specifically, in the block chain 100, a new block is connected to an old block.

Then, the center server 10 notifies the cluster server 20 of the block hash value of the new block together with the fact that the addition of the partial data (for example, the data of the first 30 bytes) of the electronic money has been completed (step S609). In the cluster server 20, the hash value corresponding to the body data (for example, data after 31 bytes) of the electronic money is updated to the hash value of the new block notified from the center server 10 (step S610). The cluster server 20 checks whether the electronic money is successfully registered to the center server 10 (step S610), ends the processing in the case of success (yes in step S611), and executes the notification processing of error information and the like in the case of failure (no in step S611) (step S612).

Fig. 16 shows the composition of a block chain under the management of the center server. A block 101A in the block chain 100 has basically the same configuration as that shown in fig. 13, and includes a hash value 102A of the most recent previous block, a hash value 104A of the current block, and an encryption key 105A. The same applies to the other blocks 101B, 101C. In each of blocks 101A, 101B, and 101C, random values 103A, 103B, and 103C are included, for example, by the same method as workload qualification, for use in computing the hash value used to concatenate the next block. When the central server 10 is one, the block chain verification can be omitted, and thus the random number is not used, but when the valuable object management system includes a plurality of central servers 10 and the block chain 100 is managed by the plurality of central servers 10, the block chain verification can be performed in each central server 10, and the random number is used to add a new block.

In the block chain 100, the block 101A and the block 101B are combined because the hash value 104A and the hash value 102B are the same value, and the block 101B and the block 101C are combined because the hash value 104B and the hash value 102C are the same value.

Fig. 17A and 17B show an outline of various information stored in the database of the center server. The database of the center server 10 includes, for example, as shown in fig. 2, a cluster information storage unit 171 for storing cluster information, a user information storage unit 172 for storing user information, and an encryption key storage unit 173 for storing the block chain 100 shown in fig. 16. The cluster information shown in fig. 17A is stored in the cluster information storage unit 171, for example. As the cluster information, for example, there are included: cluster server IDs of one or more cluster servers 20 connected to the center server 10; the user ID of the user who enters the cluster server 20 from the information processing terminal 30; and a valid flag indicating whether the cluster server ID and the user ID are valid (TRUR) or whether either one of them is invalid (FALSE). For example, the center server 10 may lock the valid cluster server ID and the user ID according to the valid flag by referring to the cluster information stored in the cluster information storage unit 171.

The user information shown in fig. 17B is stored in the user information storage section 172, for example. As the user information, for example, there are included: a user ID of a user of the value management system; an email address; a valid flag indicating whether the user ID and the mail address are valid (TURE) or whether either one of them is invalid (FALSE). For example, the center server 10 may lock the valid user ID and mail address according to the valid flag with reference to the user information stored in the user information storage 172. In the present embodiment, the cluster information stored in the cluster information storage unit 171 and the user information stored in the user information storage unit 172 are stored as separate data from the data relating to the block chain 100 stored in the encryption key storage unit 173.

Fig. 18 shows an outline of information memorized in the database of the cluster server. As for the database of the cluster server 20, for example, as shown in fig. 2, the following are provided: a hash information memory unit 271 for memorizing hash information; and a main data storage unit 272 for storing the main data block group 200 shown in FIG. 14. The hash information shown in fig. 18 is stored in the hash information storage unit 271, for example. As hash information, for example, it includes: a user ID; a block hash of the data block holding the body data (e.g., 64 bytes of data); for example, the cluster server 20 may refer to the hash information stored in the hash information storage 271 and determine whether the hash value is valid or not based on the valid flag.

The center server 10 may include: a monitoring robot program to monitor tampering of the block chain; and a repair robot program for repairing the block chain. The robot program refers to an application program (application) or a program for automating a certain task (task) or process. Fig. 19 exemplarily shows an outline of processing of the monitoring robot program and the repairing robot program for the block chain 300 in which the plurality of blocks 301A to 301D are linked. In other words, fig. 19 shows an outline of the freezing and repairing process of each block when tampering is detected in the block chain. The block chain 300 shown in fig. 19 as an example of a block chain is basically a block chain having the same structure as the block chain 100 shown in fig. 16.

The monitoring robot program can perform regular monitoring of the block chain 300 under the management of the center server 10. For example, when the monitoring robot program detects tampering (e.g., illegal change) in the block 301B in the block chain 300, the center server 10 or the monitoring robot program invalidates the block 301B by, for example, invalidating the flag corresponding to the block 301B, and similarly invalidates blocks subsequent to the block 301B, that is, the block 301C connected to the block 301B and the block 301D connected to the block 301C. Such invalidating of blocks is also referred to herein as freezing blocks.

After the blocks after the illegal tampering blocks are frozen in response to the detection of the illegal tampering, the repair process of the block chain 300 is executed by the repair robot program. The repair robot program refers to an account book database (not shown) managed independently of the block chain 300 under the management of the center server 10, and corrects the blocks based on the correct transaction record to restore the blocks after the tampered blocks 301B. For example, in a financial institution such as a bank, when the center server 10 is operated, a transaction record of valuable items is stored in an account book database of a server completely independent from the center server 10. By referring to this account book database, the block chain 300 under the management of the center server 10 can be restored.

In the example of the repair process shown in fig. 19, the block 302B is combined with the block 301A by generating the block 302B repaired by referring to the account book database by the repair robot program and overwriting the hash value of the block 301A to make the hash value of the block 302B the same as the hash value of the block 301A. Similarly, the block 302C is a block repaired by repairing the robot program and referring to the account book database, and the block 302C is combined with the block 302B by setting the hash value of the block 302C to be the same as the hash value of the block 302B. The same applies to block 302D.

In the modification of the modified robot program, when a new transaction occurs, for example, after the block 302B is modified, a new block 303A is inserted between the blocks 302B and 302C when there is a new transaction. In other words, the block 303A storing the new transaction record is generated after the block 302B is modified, and the hash value of the block 303A is set to be the same as the hash value of the modified block 302B, thereby linking the block 303A with the block 302B. Similarly, block 302C is concatenated to block 303A, and block 302D is concatenated to block 302C.

Fig. 20 is a flowchart showing a flow of processing when tampering is detected by monitoring a block chain. The monitoring robot program is resident in the center server 10 at least temporarily, for example, and performs a process of regularly monitoring a block chain (for example, the block chain 100) (step S701). Whether or not tampering (illegal change or the like) is found in a block in the block chain is checked by monitoring (step S702), and if not found (no in step S702), the monitoring process is continued (step S701). When tampering is found (yes in step S702), as shown in fig. 19, the monitoring robot program or the center server 10 executes a process of freezing a block that has been tampered with illegally (step S703). After checking the structure of the block chain (step S704), the freezing process is similarly performed on the blocks following the tampered blocks (step S705).

After freezing the falsified block of the block chain, the center server 10 transmits the mail to the administrator (step S706), and checks whether the mail transmission is successful (step S707), and when failing (no at step S707), executes the transmission of the mail again (step S706). When the mail transfer is successful (yes at step S707), the mail is transferred to each manager of the cluster server 20 to which the influence of the freeze of the block chain is reached (step S708).

It is checked whether or not the mail transfer to the administrator of each cluster server 20 is successful (step S709), and when successful (yes at step S709), the processing is ended. When the mail transmission fails (no at step S709), the mail is transmitted to the manager of the center server 10 to contact the case of the mail transmission failure (step S710), and the mail transmission is tried again for the manager of the cluster server whose mail transmission failed (step S708).

Fig. 21 is a flowchart showing a flow of processing of freezing a block in a block chain. This flowchart is another embodiment different from the flowchart shown in fig. 20. The user manually obtains the data corresponding to the blocks of the block chain, or accesses the data corresponding to the blocks of the block chain in the replacement process (process of notifying the updated hash value) of the robot program (step S801). The hash values corresponding to the files stored in the data are compared (step S802), and it is checked whether or not the files are not falsified (step S803). If the operation has not been tampered with (yes in step S803), the process is normally terminated, and if the operation has been tampered with (no in step S803), the mail address of the user (and the administrator) is acquired from the center server 10 (step S804), and the user and the cluster server administrator are subjected to mail transfer, and whether the mail transfer is successful or not is checked (step S805). When the mail transfer is successful (yes in step S805), the data is frozen (in other words, in order to indicate that the data is invalid, a flag indicating whether the data is valid or invalid is turned off) (step S806), and when the mail transfer fails (no in step S805), the mail transfer is performed again and the mail transfer status is checked (step S805).

Fig. 22 is a flowchart showing the flow of processing of repairing a blockchain. After the freezing process of the block chain, the central server 10 receives partial data of the valuable data and an instruction to newly add a block from the cluster server 20 (step S901), and checks whether or not the end of the block chain is in a frozen state (step S902). When the end of the block chain is not in the frozen state (no at step S902), it proceeds to step S905. When the end of the block chain is in the frozen state (yes in step S902), a block that is not frozen is searched for along the block chain (step S903). When an unfrozen block is found, a new block is concatenated to the unfrozen block, branching the block chain (step S904). Further, an encryption key including the partial data received from the cluster server 20 is generated (step S905), and the encryption key is stored to generate a block chain (step S906). Finally, the center server 10 notifies the cluster server 20 of the hash value of the generated chunk in the same manner as the process of registering the valuable item data shown in fig. 7 (step S907).

[ industrial applicability ]

The valuable substance management system and the like of the present invention can be applied to: and electronic commerce or the like in which valuable data such as encrypted assets, virtual money, electronic money, securities, and the like is securely stored in a plurality of servers constituting a cloud via a network such as the internet, and the terminal appropriately acquires the valuable data in accordance with a request from an information processing terminal used by a user.

Description of the reference numerals

10 center server

11:CPU

12 memory

13 bus bar

14 input/output interface

15 input part

16: output part

17a memory part

18 communication part

20 cluster server

20A Cluster Server

20B Cluster Server

21:CPU

22 memory

23 bus bar

24: input/output interface

25 input part

26: output part

27 a memory part

28 communication part

30 information processing terminal

30X information processing terminal

30Y information processing terminal

100 block chain

101A block

101B block

101C, block

102A hash value

102B hash value

102C hash value

103A random number

103B random number

104A hash value

104B hash value

105 encryption key

105A encryption key

111 partial data management section

112 hash notification part

171 cluster information storage unit

172 user information memory part

173 encryption key storage section

200 data block group

201A data Block

204A hash value

205A ontology data

211 divided conveying part

212 body data management section

271 hash information memory section

272 main body data memory part

300 block chain

N1 network

N2 network

X is the user

Y is the user.

47页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于生成和共享内容的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!