Information processing method, information processing system and information processing program
By sorting data into deletion and non-deletion categories and using block number information for tampering checks, the method addresses the challenge of confirming data integrity after deletion in blockchain systems, reducing storage costs and maintaining reliability.
Patent Information
- Application Number
- JP2023191815
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2023-11-09
- Publication Date
- 2025-01-20
- Estimated Expiration
- 2043-11-09
AI Technical Summary
Existing information processing devices using blockchain technology face issues with data deletion methods that result in old data being uniformly deleted, making it difficult to confirm whether the data has been tampered with after deletion.
The method involves sorting data into deletion permission data and non-deletion data, storing them in separate channels of the blockchain, recording block number information related to the position of deleted data, and determining the start position of tampering checks based on this information to confirm data integrity.
This approach allows for appropriate data deletion while ensuring that tampering checks can be performed even after data is deleted, reducing storage costs and maintaining data reliability and integrity.
Smart Images

Figure 2025009693000001_ABST
Abstract
Description
[Technical field]
[0001] The disclosure of this specification relates to a technology for storing data using a blockchain. [Background technology]
[0002] In the information processing device disclosed in Patent Document 1, a registration blockchain distributed ledger capable of transaction registration processing and a reference blockchain distributed ledger in which transaction registration processing is not performed are stored separately. This information processing device suppresses the expansion of data stored using blockchain technology by deleting the reference blockchain distributed ledger. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2023-18905 Summary of the Invention [Problem to be solved by the invention]
[0004] In the information processing device of Patent Document 1, the registration blockchain distributed ledger becomes the reference blockchain distributed ledger over time and is then deleted. That is, old past data is deleted uniformly. Therefore, after deleting the past data, it becomes impossible to check for tampering, and it may be difficult to confirm that the data has not been tampered with. As described above, there are problems with the data deletion method disclosed in Patent Document 1.
[0005] The present disclosure aims to provide an information processing method, an information processing system, and an information processing method that are capable of appropriately deleting data stored using blockchain technology. [Means for solving the problem]
[0006] In order to achieve the above object, one disclosed aspect is an information processing method for storing data to be stored (DS) using blockchain (BC) technology, the information processing method including the steps of: classifying the data to be stored into a plurality of data types including at least data permitted to be deleted (DD) that permits deletion and data not permitted to be deleted (DN) that does not permit deletion (S102); storing the data permitted to be deleted and the data not permitted to be deleted by linking them to different channels of the blockchain (S104, S105); recording block number information (BNi) related to the position of a processed block (BLe) from which data to be stored linked to a block to be deleted among a plurality of blocks to be deleted (BLa) that constitute a channel to be deleted (BCa) that stores the data permitted to be deleted (S114); and determining the start position of the check process based on the block number information in a check process to check whether the channel to be deleted has been tampered with (S122).
[0007] Another disclosed aspect is an information processing system that uses blockchain (BC) technology to store data to be stored (DS), comprising: a data storage unit (51) that classifies the data to be stored into a plurality of data types including at least data permitted to be deleted (DD) that permits deletion and data not permitted to be deleted (DN), and stores the data permitted to be deleted and the data not permitted to be deleted by linking them to different channels of the blockchain; and a tampering check unit (33) that records block number information (BNi) related to the position of a processed block (BLe) from which data to be stored linked to a block to be deleted has been deleted among a plurality of blocks to be deleted (BLa) that constitute a channel to be deleted (BCa) that stores the data permitted to be deleted, and determines the start position of the check process based on the block number information in a check process to check whether the channel to be deleted has been tampered with.
[0008] Another disclosed aspect is an information processing program for storing data to be stored (DS) using blockchain (BC) technology, the information processing program causing at least one processor (11) to execute processes including: classifying the data to be stored (DS) into a plurality of data types including at least data permitted for deletion that is permitted for deletion and data not permitted for deletion (DN) that is not permitted for deletion (S102); storing the data permitted for deletion and the data not permitted for deletion by linking them to different channels of the blockchain (S104, S105); recording block number information (BNi) related to the position of a processed block (BLe) from which data to be stored linked to a block to be deleted among a plurality of blocks to be deleted (BLa) constituting a channel to be deleted (BCa) storing the data permitted for deletion (BCa); and determining the start position of the check process based on the block number information in a check process for checking whether the channel to be deleted has been tampered with (S122).
[0009] In these aspects, when the data to be stored is deleted, block number information related to the position of the processed block is recorded in the channel to be deleted that stores the data permitted to be deleted. Therefore, if the start position of the check process is determined based on the block number information, a tamper check of the channel to be deleted can be performed even after the data to be stored is deleted, and it can be confirmed that the data has not been tampered with. Therefore, it becomes possible to appropriately delete the data to be stored using blockchain technology.
[0010] In addition, the reference numbers in parentheses in the above and claims merely show an example of the correspondence with the specific configurations in the embodiments described below, and do not limit the technical scope in any way. In addition, claims that are not explicitly stated in the claims can be combined together as long as there is no particular problem with the combination. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a block diagram showing an overall view of a blockchain platform on which an information processing method according to an embodiment of the present disclosure is executed. [Diagram 2] 11 is a diagram for explaining the contents of a registration process of data to be stored by a data registration unit. FIG. [Diagram 3] This is a diagram to explain the details of data storage by blockchain nodes. [Figure 4] FIG. 13 is a diagram illustrating an example of sorting data to be stored. [Diagram 5] 11 is a diagram for explaining the contents of a deletion process of data to be stored by a data deletion unit. FIG. [Figure 6] 11 is a diagram for explaining the contents of a tamper check process of data to be stored performed by a tamper check unit; FIG. [Figure 7] 10 is a flowchart showing details of a data registration process executed by a data registration unit. [Figure 8] 13 is a flowchart showing details of a data deletion process performed by a data deletion unit. [Figure 9] 13 is a flowchart showing details of a tamper checking process performed by a tamper checking unit. [Figure 10] 13 is a diagram for explaining the contents of a deletion process of data to be stored in the first modification example. FIG. [Figure 11] FIG. 13 is a diagram for explaining the contents of a tamper check process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] A blockchain platform 100 according to an embodiment of the present disclosure shown in FIG. 1 enables information sharing between participating clients (e.g., companies, etc.) using blockchain BC technology. A general-purpose blockchain BC framework such as Hyperledger Fabric (HLF, see FIG. 3) is used for the blockchain platform 100. The blockchain platform 100 makes it possible to build a private blockchain network (hereinafter, a channel) in which only specific participants can participate in the network and share data and transactions. As a result, it is possible to satisfy the privacy and confidentiality requirements of each participant.
[0013] The blockchain platform 100 includes multiple blockchain nodes (hereinafter, BC nodes) 50. As an example, each BC node 50 is constructed by a blockchain server (virtual machine) on the cloud. The blockchain server is mainly configured with a control circuit 10. The control circuit 10 includes a processor 11, a RAM 12, a storage 13, an input / output interface 14, and a bus connecting these, and functions as a high-performance computer that performs calculation processing at high speed.
[0014] The processor 11 is hardware for arithmetic processing coupled with the RAM 12. The processor 11 executes various processes (instructions) related to data management and provision by accessing the RAM 12. The storage 13 stores an information processing program that realizes functions related to data management and provision. The information processing program is a program for causing the blockchain server (control circuit 10) to execute the information processing method of the present disclosure.
[0015] The BC node 50 is a blockchain management system linked to the system of each client. As an example, in a blockchain network that manages vehicle information, an automobile manufacturer (Original Equipment Manufacturer, OEM) that manufactures vehicles and a dealer that sells vehicles are clients (Users B and C in FIG. 1). One of the multiple BC nodes 50 is a BC node 60 (BC Node_B in FIG. 1) that cooperates with a user terminal 160 (User Terminal B in FIG. 1) of the OEM's management system. Another of the multiple BC nodes 50 is a BC node 80 (BC Node_C in FIG. 1) that cooperates with a user terminal 160 (User Terminal C in FIG. 1) of the dealer's management system.
[0016] The BC node 60 includes a node database 70 (B_DB in FIG. 1). The node database 70 stores data to be stored DS associated with user B, and enables the data to be stored DS to be shared with other BC nodes 50. Similarly, the BC node 60 includes a node database 90 (C_DB in FIG. 1). The node database 90 stores data to be stored DS associated with user C, and enables the data to be stored DS to be shared with other BC nodes 50. The data to be stored DS is data that is stored and shared in the blockchain platform 100 using blockchain BC technology. The data to be stored DS is collected in each user terminal, and transmitted to the BC node 50 associated with each user terminal.
[0017] The BC node 50 accepts new registration requests, update requests, reference requests, deletion requests, etc. for the data DS to be stored from each user's user terminal 160. The BC node 50 has functional units such as a data registration unit 51 and a data deletion unit 52. Note that the BC node 30 described later may also have a data registration unit 51, like the other BC nodes 50.
[0018] 2, the data registration unit 51 receives a new registration request for data to be stored DS from the user terminal 160 etc. The data registration unit 51 executes a registration process (see FIG. 7) for the data to be stored DS based on the registration request. The data registration unit 51 prepares original data DM, metadata, and a hash value from the data to be stored DS.
[0019] The original data DM is the main body of the data to be stored DS, and is the raw data of the data to be stored DS. Specifically, document data such as PDF format, image data such as JPEG format, and multimedia data with a large data size, such as music data and video data such as MPEG format, are considered to be the original data DM.
[0020] Metadata is data that provides information related to the data to be stored DS (original data DM). Metadata is data related to the storage of the data to be stored DS in the blockchain BC, and specifically, is generated in association with the registration and usage process, such as registration (connection) of the data to be stored DS, operations such as search, and authentication of data and users. In the blockchain network that manages the vehicle information described above, the related data of the blockchain BC, excluding pure vehicle information, becomes metadata.
[0021] The metadata is closely related to the structure of the blockchain BC. Deleting the metadata may affect the blockchain BC. Specifically, summary data indicating the contents, characteristics, structure, relationships, etc. of the data to be stored DS, operation data related to this summary data, and authentication information of the data and the user, etc. are prepared as metadata. The summary data is, for example, the data name (file name), creation date and time, data size, data format (extension), etc. of the original data DM. The operation data is, for example, the contents that record the execution history of the registration operation to the blockchain BC, ID assignment, data authentication, data search, etc. The authentication information is information about the public key and the assigned ID. The metadata may be generated by the user terminal 160, or may be generated by the data registration unit 51 using the data to be stored DS provided from the user terminal 160.
[0022] The hash value is generated using the original data DM. The hash value is data that maintains a predetermined number of bits (for example, 256 bits) and is a unique value that reflects the contents of the original data DM. A hash function such as SHA-256 is used to generate the hash value. Instead of SHA-256, encryption algorithms (hash functions) such as SHA-1, SHA-2, SHA-3, and SHA-512 may be used to generate the hash value.
[0023] The data registration unit 51 classifies the data to be stored DS into a plurality of data types including at least data permitted to be deleted DD and data not to be deleted DN. Data permitted to be deleted DD is data permitted to be deleted after a predetermined period of time has elapsed or based on a specific deletion trigger. Data permitted to be deleted includes the above-mentioned hash value. Data not to be deleted DN is data not to be deleted that is not permitted to be deleted, and is essentially stored permanently. Data not to be deleted DN includes the above-mentioned metadata.
[0024] The data registration unit 51 stores the original data DM, the hash value, and the metadata in different data storage areas (storage) of the node database 70. Specifically, the original data DM, which has a large data size, is stored in the object storage So. On the other hand, the metadata and hash value, which have a small data size and which are to be shared between participants without being tampered with, are stored in the instance storage Si.
[0025] The object storage So shown in FIG. 2 and FIG. 3 is a storage that stores files and data as objects. As an example, a search index database So1 and a search target database So2 are constructed in the object storage So. The search index database So1 stores data required for searching information stored in the search target database So2. That is, information associated with an object (original data DM) stored in the search target database So2 is stored in the search index database So1. For example, RDS (Relational Database Service) can be used for the search index database So1. RDS is a relational database provided on AWS (Amazon Web Services, registered trademark). For example, S3 (Simple Storage Service) buckets can be used for the search target database So2. The S3 bucket is provided on AWS like the RDS, and can permanently store a large amount of data. The data stored in the object storage So is not shared with other BC nodes 50. Note that, instead of the RDS and the S3 bucket, other cloud storages such as Azure Blob Storage of Azure (registered trademark) can be used.
[0026] The instance storage Si is a local storage of the blockchain server. Instead of the instance storage Si, a block storage that stores data of the blockchain server in blocks on the cloud may be used. In this case, the instance storage Si may be an EBS (Elastic Block Store) of AWS or an Azure Managed Disks of Azure. The data stored in the instance storage Si may be shared with other BC nodes 50.
[0027] The data registration unit 51 stores the deletion permission data DD including the hash value and the deletion non-target data DN including metadata separately in different channels of the blockchain BC. For convenience, the network of the blockchain BC that stores the deletion permission data DD is a first blockchain channel (hereinafter, A channel BCa) dedicated to the deletion permission data DD. And the network of the blockchain BC that stores the deletion non-target data DN is a second blockchain channel (hereinafter, B channel BCb) dedicated to the deletion non-target data DN. Both A channel BCa and B channel BCb are public channels that share data with other BC nodes 50.
[0028] In each block BL (hereinafter, Ach block BLa) constituting A channel BCa, deletion permission data DD is stored as a transaction. The deletion permission data DD is registered as block data of A channel BCa, and is also stored in a ledger DC (see Figure 3) provided in a distributed database such as CouchDB. In A channel BCa, a hash value generated from one Ach block BLa is stored in the next Ach block BLa. Furthermore, timestamp data indicating the date and time when the deletion permission data DD was added is recorded in the Ach block BLa.
[0029] Data not to be deleted DN is stored as a transaction in each block BL (hereinafter, Bch block BLb) constituting B channel BCb. Data not to be deleted DN is registered as block data of B channel BCb and also stored in Ledger DC. In B channel BCb, a hash value generated from one Bch block BLb is stored in the next Bch block BLb. Furthermore, timestamp data indicating the date and time when the data not to be deleted DN was added is also recorded in the Bch block BLb.
[0030] The time stamp data may simply be information indicating the date and time, or may be a hash value generated by a time stamp server, etc. The time stamp server takes news articles distributed by a news distribution server, etc., as input information, and generates a hash value of a predetermined number of bits (e.g., 256 bits) as time stamp data by inputting the input information into a hash function.
[0031] Here, in the blockchain network that manages vehicle information, approval information, asset information, access information, and other stored information, etc. are included in the data to be stored DS together with the vehicle information (see FIG. 4). The data registration unit 51 sets a hash value based on the vehicle information as deletion permission data DD. Then, the hash value based on the vehicle information is stored in the A channel BCa. The A channel BCa becomes a vehicle channel that stores the vehicle information. As an example, the vehicle information that becomes the original data DM is the vehicle number, year, grade, vehicle name, mileage, collision detection results, registration inspection results, registration photos, appraisal price, etc. Furthermore, the data registration unit 51 sets the approval information, asset information, access information, and other stored information, etc. as data not to be deleted DN. Then, this information is stored in the B channel BCb.
[0032] The data registration unit 51 can also store data in channels other than A channel BCa and B channel BCb, specifically, C channel BCc and D channel BCd. C channel BCc and D channel BCd are private channels, unlike public channels such as A channel BCa and B channel BCb. C channel BCc and D channel BCd are channels for storing non-disclosure information such as trade secrets and key information that is not to be disclosed to other BC nodes 50. C channel BCc is a private channel corresponding to A channel BCa, and stores deletion permission data DD among the non-disclosure information. D channel BCd is a private channel corresponding to B channel BCb, and stores non-deletion target data DN among the non-disclosure information.
[0033] The non-disclosure information stored in the C channel BCc and the D channel BCd may be raw data such as trade secrets and key information, or may be a hash value generated from the trade secrets and key information. The raw data of the non-disclosure information is stored in the object storage So as original data DM. The non-disclosure information is disclosure-restricted information in which the disclosure target is restricted with respect to the deletion-permitted data DD and the deletion-non-target data DN. The non-disclosure information is stored as a transaction together with timestamp data, etc., in each block BL constituting the C channel BCc (hereinafter, Cch block BLc) or each block BL constituting the D channel BCd (hereinafter, Dch block BLd). The non-disclosure information is registered as block data of the C channel BCc and the D channel BCd, and is also stored in the ledger DC (see FIG. 3).
[0034] The C channel BCc may be a private channel used for data sharing within a specific group. In this case, only a portion of all BC nodes 50, that is, BC nodes 50 within a preset shared group, can access the C channel BCc and the D channel BCd. In addition, when the non-disclosure information does not include non-deletion target data DN, or when the non-disclosure information includes only a small amount of non-deletion target data DN, the D channel BCd may not be provided.
[0035] The data deletion unit 52 executes a deletion process (see FIG. 8) for deleting a part of the storage target data DS as shown in FIG. 3 and FIG. 5. The data deletion unit 52 may automatically delete the storage target data DS that has been stored for a certain period of time (e.g., seven years) or may delete old storage target data DS based on a deletion request received from the user terminal 160 or the BC node 30 described later.
[0036] The data deletion unit 52 deletes data DS to be stored that was stored before a specific time based on a predefined period condition or a condition specified in a deletion request. When deleting data to be stored DS, the data deletion unit 52 deletes only data that is linked to the A channel BCa and the C channel BCc. In other words, the data deletion unit 52 does not delete data that is linked to the B channel BCb and stored.
[0037] In detail, the data deletion unit 52 determines the range of blocks BL to be processed in the A channel BCa and the C channel BCc based on the time stamp data stored in each Ach block BLa and each Cch block BLc. Each block BLa, BLc to be processed becomes an expired block BLe (see dots in FIG. 5). The data deletion unit 52 targets data groups linked to the blocks BLa, BLc set as targets for processing as targets for deletion. On the other hand, the data deletion unit 52 does not target the blocks BLa, BLc (block data files, see FIG. 3) themselves as targets for deletion. Note that, when the time stamp data of the data to be stored DS is stored in the object storage So, the data deletion unit 52 may determine the data groups to be deleted using the time stamp data of the object storage So.
[0038] The data deletion unit 52 deletes the deletion permission data DD corresponding to a copy of block data included in the Ach block BLa (expired block BLe) to be processed from the ledger DC. In addition, the data deletion unit 52 deletes the original data DM, which is the storage target data DS linked to the Ach block BLa to be processed and which was used to generate the deletion permission data DD to be stored in the Ach block BLa to be processed, from the object storage So.
[0039] Similarly, the data deletion unit 52 deletes non-disclosure information equivalent to a copy of block data included in the Cch block BLc (expired block BLe) to be processed from the ledger DC. In addition, the data deletion unit 52 deletes the original data DM linked to the Cch block BLc to be processed and used to generate the non-disclosure information from the object storage So.
[0040] As described above, the original data DM etc. linked to A channel BCa or C channel BCc is deleted when the storage period expires. This allows large-sized multimedia data such as document data, image data, music data, and video data to be deleted from the search index database So1 and search target database So2 of the object storage So. On the other hand, data related to B channel BCb, not only the block data included in Bch block BLb, but also the non-delete target data DN in ledger DC and its original data DM, continue to be stored without being deleted even after the storage period has expired.
[0041] The data deletion unit 52 grasps block number information BNi related to the position of the Ach block BLa from which the deletion permission data DD and its original data DM in the ledger DC have been deleted among the multiple Ach blocks BLa constituting the A channel BCa. Similarly, the data deletion unit 52 grasps block number information BNi related to the position of the Cch block BLc from which the non-disclosure information and its original data DM in the ledger DC have been deleted among the multiple Cch blocks BLc constituting the C channel BCc. The data deletion unit 52 regards each block BLa, BLc from which the original data DM is deleted as an expired block BLe (see dots in FIG. 5). The block number information BNi is information indicating the boundary position between the range of the expired block BLe and the range of the block BL from which the original data DM has not been deleted in each of the A channel BCa and the C channel BCc.
[0042] As one example, the data deletion unit 52 designates the oldest block BL among the many Ach blocks BLa or Cch blocks BLc that are not expired blocks BLe as the specific block BLs (see FIG. 5). As another example, the data deletion unit 52 designates the newest block BL among the expired blocks BLe as the specific block BLs. The data deletion unit 52 acquires a unique block number indicating the specific block BLs as block number information BNi. The data deletion unit 52 provides the acquired block number information BNi to the BC node 30, which will be described later. The block number information BNi may be shared among multiple BC nodes 50 using the blockchain BC.
[0043] The BC node 30 is a BC node 50 that manages access to the blockchain platform 100 by a user terminal 110 (user terminal A in FIG. 1) of an external system or an external user (user A in FIG. 1). The BC node 30 performs authentication and authorization for connection to the blockchain platform 100 by the external system or user terminal 110. The BC node 30 acquires a reference request for the storage target data DS stored by the blockchain BC from the external system and the user terminal 110. The BC node 30 generates data to be provided from the storage target data DS based on the reference request, and provides the generated data to be provided to the requesting external system or user terminal 110.
[0044] The BC node 30 includes functional units such as a node database 40 and a tamper checking unit 33. The node database 40 is a data storage area that stores information related to the BC node 30. At least a portion of the data stored in the node database 40 is shared with the node databases 70, 90, etc.
[0045] As shown in FIG. 5, when a part of the data DS to be stored is deleted by the data deletion unit 52, the tampering check unit 33 acquires the block number information BNi. The tampering check unit 33 may acquire the block number information BNi directly from the data deletion unit 52 that performed the deletion process, or may acquire the block number information BNi by information sharing by the blockchain BC. The tampering check unit 33 records the acquired block number information BNi in the node database 40. As an example, the tampering check unit 33 registers the block number information BNi in a private channel of the node database 40. When the data deletion unit 52 newly executes a deletion process of the original data DM, etc. linked to the Ach block BLa, the tampering check unit 33 updates the block number information BNi linked to the A channel BCa. Similarly, when the data deletion unit 52 newly executes a deletion process of the original data DM, etc. linked to the Cch block BLc, the tampering check unit 33 updates the block number information BNi linked to the C channel BCc.
[0046] As shown in Fig. 6, the tamper checking unit 33 performs a tamper checking process (see Fig. 9) to check whether the data DS to be stored has been tampered with at a predefined timing or based on a check request from an external system or the user terminal 110. Specifically, the tamper checking unit 33 repeatedly recalculates the hash value of each block BL using data in each block BL (the transaction and the hash value of the previous block) and the hash function used when generating the blockchain BC. The tamper checking unit 33 determines whether tampering has occurred by verifying whether the hash values of each block BL are correctly linked.
[0047] In the check process for checking for tampering of the B channel BCb, the tamper checking unit 33 starts recalculating the hash value from the oldest Bch block BLb located at the beginning of the B channel BCb. Meanwhile, in the check process for checking for tampering of the A channel BCa and the C channel BCc, the tamper checking unit 33 determines the start position (start block) of the check process based on the block number information BNi.
[0048] As described above, when the block number information BNi indicates the block number of the oldest valid blocks BLa, BLc, the tamper checking unit 33 sets the specific block BLs indicated by the block number information BNi as the start block of the check process. When the block number information BNi indicates the block number of the newest expired block BLe, the tamper checking unit 33 sets the blocks BLa, BLc next to the specific block BLs indicated by the block number information BNi as the start block of the check process. The tamper checking unit 33 recalculates the hash value from the determined start block. In other words, the expired block BLe is excluded from the check process to confirm whether it has been tampered with.
[0049] Incidentally, the tamper checking unit 33 is also provided in the BC node 50 other than the BC node 30. Such a tamper checking unit 33 can also execute processing for tamper checking. Similarly, the BC node 30 may have the function of the data deleting unit 52 and be capable of executing data deletion processing.
[0050] Next, the data registration process, data deletion process, and tamper check process described above will be described in detail based on FIGS. 7 to 9 with reference to FIGS. 1 to 6.
[0051] The data registration process shown in FIG. 7 is mainly performed by the data registration unit 51 (see FIG. 2). In S101, the data registration unit 51 receives and acquires the storage target data DS from the user terminal 160. In S102, the data registration unit 51 classifies the acquired storage target data DS into a plurality of data types including at least the deletion permission data DD and the deletion non-target data DN. If the acquired storage target data DS includes non-disclosure information, in S102, the data registration unit 51 classifies this non-disclosure information as a data type different from the deletion permission data DD and the deletion non-target data DN. Furthermore, in S103, the data registration unit 51 acquires timestamp data indicating the acquisition timing or storage timing of the storage target data DS.
[0052] In S104 and S105, the deletion permitted data DD and the deletion non-target data DN are stored separately in different channels of the block chain BC (public chain). Specifically, in S104, the data registration unit 51 adds a new Ach block BLa that stores the current deletion permitted data DD to the A channel BCa. Furthermore, in S105, the data registration unit 51 adds a new Bch block BLb that stores the current deletion non-target data DN to the B channel BCb.
[0053] In S106 and S107, the non-disclosure information is stored in a private chain prepared separately from the public chain. In S106, the data registration unit 51 adds a new Cch block BLc that stores the current non-disclosure information to the C channel BCc. Furthermore, in S107, the data registration unit 51 adds a new Dch block BLd that stores the current non-disclosure information to the D channel BCd. Note that if the storage target data DS does not include non-disclosure information, the processes of S106 and S107 are omitted. In addition, the data registration process of adding non-disclosure information to the C channel BCc and the D channel BCd may be executed as a process separate from the data registration process of adding the deletion permission data DD and the deletion non-target data DN to the public channel.
[0054] In the above S104 to S107, the time stamp data acquired in S103 is recorded in each block BL to be added. Then, in S108, the data registration unit 51 stores the original data DM linked to the deletion permitted data DD, the deletion non-target data DN, and the non-disclosure information, etc., in the object storage So. The order of performing S104 to S108 may be changed as appropriate.
[0055] The data deletion process shown in FIG. 8 is mainly performed by the data deletion unit 52 (see FIG. 5). In S111, the data deletion unit 52 grasps the storage target data DS to be deleted. As an example, when performing periodic data deletion due to the passage of a predetermined period, the data deletion unit 52 refers to the time stamp data recorded in each Ach block BLa and identifies the Ach block BLa that falls within the deletion period. Similarly, the data deletion unit 52 refers to the time stamp data recorded in each Cch block BLc and identifies the Cch block BLc that falls within the deletion period. When performing data deletion based on a specific deletion trigger, the data deletion unit 52 also refers to the time stamp data of each Ach block BLa and each Cch block BLc and identifies the Ach block BLa and Cch block BLc that fall within the specified deletion period.
[0056] The data deletion unit 52 sets the Ach block BLa and Cch block BLc that fall within the deletion period in S111 to the expired block BLe in S112. The data deletion unit 52 deletes the storage target data DS linked to the expired block BLe, i.e., the deletion permission data DD, non-disclosure information, and original data DM, etc., in S113. In the above S112 and S113, the expired block BLe is set only to the A channel BCa among the A channel BCa that stores the deletion permission data DD and the B channel BCb that stores the non-deletion target data DN, and the deletion of the original data DM is applied. The order of performing S112 and S113 may be changed as appropriate. Specifically, after deleting the original data DM, etc. that fall within the deletion period, the corresponding block BL may be set to the expired block BLe.
[0057] In S114 and S115, the falsification check unit 33 records block number information BNi related to the position of the currently set expired block BLe, which indicates the start position (start block) of the falsification check. When an expired block BLe is newly set in the A channel BCa, the falsification check unit 33 updates the block number information BNi linked to the A channel BCa in S114. Similarly, when an expired block BLe is newly set in the C channel BCc, the falsification check unit 33 updates the block number information BNi linked to the C channel BCc in S115.
[0058] The tamper check process shown in Fig. 9 is mainly performed by the tamper check unit 33 (see Fig. 6). In S121, the tamper check unit 33 checks whether or not all Bch blocks BLb of the B channel BCb and all Dch blocks BLd of the D channel BCd have been tampered with. That is, the tamper check unit 33 calculates a hash value for tamper check from the first Bch block BLb of the B channel BCb and the first Dch block BLd of the D channel BCd, using block data stored in each block BL. The tamper check unit 33 compares the hash value recorded in each block BL with the hash value for tamper check, and if they match, determines that there is no possibility of tampering.
[0059] In S122, the tamper checking unit 33 refers to the block number information BNi associated with the A channel BCa and determines the number (start position) of the start block from which to start the tamper checking of the A channel BCa. In S123, the tamper checking unit 33 checks whether or not the Ach block BLa after the start block (specific block BLs) of the A channel BCa has been tampered with. That is, the tamper checking unit 33 excludes the expired block BLe from the target of the tamper checking. Then, the tamper checking unit 33 calculates a hash value for the tamper checking using the block data stored in each block BL after the specific block BLs. The tamper checking unit 33 compares the hash value recorded in each block BL with the hash value for the tamper checking, and if they match, determines that there is no possibility of tampering.
[0060] In S123, the tamper checking unit 33 refers to the block number information BNi associated with the C channel BCc and determines the number (start position) of the start block at which to start the tamper checking of the C channel BCc. In S124, the tamper checking unit 33 checks whether or not the Cch blocks BLc after the specific block BLs of the C channel BCc have been tampered with. As a result, the expired block BLe of the C channel BCc is excluded from the tamper checking.
[0061] The order of the check process of B channel BCb by S121, the check process of A channel BCa by S122 and S123, and the check process of C channel BCc by S124 and S125 may be changed as appropriate. In addition, the check process of C channel BCc, which is a private chain, may be executed as a process separate from the check process of A channel BCa and B channel BCb, which are public chains.
[0062] In S126, the tamper checking unit 33 judges whether an abnormality has been detected in the concatenation of hash values in each of A channel BCa, B channel BCb, C channel BCc, and D channel BCd. If an abnormality has been detected in the concatenation of hash values in at least one of A channel BCa, B channel BCb, C channel BCc, and D channel BCd (S126: YES), the tamper checking unit 33 judges in S127 that there is a possibility of tampering. When starting the tamper checking process based on a request from the BC node 30 or the user terminal 160, the tamper checking unit 33 transmits an abnormality detection notification indicating that there is a possibility of tampering to the check request source.
[0063] On the other hand, if no abnormality is detected in the concatenation of hash values in all of A channel BCa, B channel BCb, C channel BCc, and D channel BCd (S126: NO), the tampering check unit 33 determines in S128 that there is no possibility of tampering. That is, the tampering check unit 33 determines in S128 that the data to be stored DS is normal. In this case, the tampering check unit 33 may transmit a normal determination notification indicating that there is no possibility of tampering to the check request source such as the BC node 30 or the user terminal 160.
[0064] (Summary of embodiments) In the embodiment described so far, when the storage target data DS is deleted, the block number information BNi related to the position of the expired block BLe is recorded in the Ach block BLa that stores the deletion permission data DD. Therefore, if the start position of the check process is determined based on the block number information BNi, a tamper check of the A channel BCa can be performed even after the storage target data DS is deleted, and it can be confirmed that it has not been tampered with. Therefore, it becomes possible to appropriately delete data to be stored using the technology of the blockchain BC.
[0065] In detail, by establishing a new channel A BCa dedicated to the deletion permission data DD and managing it separately from the non-deletion target data DN, it is possible to reduce the amount of stored data and ensure reliability by checking for tampering. That is, even if the amount of data stored in the BC node 50 participating in the blockchain BC increases in proportion to the total number of transactions processed by the blockchain BC, it is possible to reduce the amount of data by sequentially performing data deletion processing. Therefore, it is possible to avoid a situation in which the cost required for data accumulation becomes enormous, and the economic hurdle of data storage using the blockchain BC can be lowered. This also lowers the hurdle of setting up the BC node 50, and it is possible to avoid a situation in which the consensus formation of the blockchain BC becomes unstable due to a decrease in the number of nodes.
[0066] In addition, since the block number information BNi indicating the position of the expired block BLe is recorded, it is possible to start the tamper check process of the A channel BCa from an appropriate position. Therefore, it is possible to avoid a situation in which it becomes difficult to normally execute the tamper check process due to data deletion. Furthermore, the tamper check process can be applied without omission to the range of the Ach block BLa in which it is possible to determine the presence or absence of tampering in the A channel BCa.
[0067] In addition, among the data to be stored DS, only the deletion permission data DD linked to the A channel BCa is deleted, and the data not to be deleted DN linked to the B channel BCb is not deleted. As a result, the data to be stored DS related to the B channel BCb continues to be permanently stored. Therefore, even after deleting a part of the data to be stored DS, it is possible to confirm that the deleted data to be stored DS has not been tampered with by performing a tampering check using the blockchain BC of the B channel BCb.
[0068] Furthermore, in this embodiment, the original data DM related to the deletion permission data DD is stored in an object storage So different from the instance storage Si that stores the deletion permission data DD. Then, the original data DM linked to the expired block BLe is deleted from the object storage So. In this way, by appropriately deleting the original data DM with a large data size, it is possible to effectively reduce the amount of accumulated data.
[0069] In addition, the deletion permission data DD of this embodiment includes a hash value generated from the original data DM. On the other hand, the deletion non-target data DN includes metadata related to the original data DM. As a result, the metadata is permanently stored in a state protected from tampering.
[0070] In this embodiment, non-disclosure information, which is restricted in disclosure target for the deletion permission data DD, is stored in association with a C channel BCc different from the Ach block BLa. Therefore, trade secrets that cannot be disclosed to other BC nodes 50 can also be securely stored using the blockchain BC technology.
[0071] Furthermore, in this embodiment, among the multiple Cch blocks BLc constituting the C channel BCc, block number information BNi related to the position of the expired block BLe from which non-disclosure information has been deleted is recorded. Then, in a check process for checking whether the Cch block BLc has been tampered with, the start position of the check process is determined based on the block number information BNi. As a result, it is possible to delete non-disclosure information stored by the C channel BCc, similar to the original data DM of the deletion permission data DD. As a result, it is possible to effectively reduce the amount of accumulated data.
[0072] Furthermore, in this embodiment, an object storage So is secured in addition to the instance storage Si that allows information sharing between the BC nodes 50. The original data DM is stored in the object storage So in addition to the hash values and metadata. According to the above storage configuration, the hash values and metadata that need to be shared and the original data DM that has a large data size can each be appropriately stored.
[0073] In the above embodiment, the data registration unit 51 corresponds to the "data storage unit", the A channel BCa corresponds to the "channel to be deleted", the C channel BCc corresponds to the "disclosure restriction channel", and the non-disclosure information corresponds to the "disclosure restriction information". Also, the Ach block BLa corresponds to the "block to be deleted", the Cch block BLc corresponds to the "disclosure restriction block", the expired block BLe corresponds to the "processed block", and the non-deletion target data DN corresponds to the "non-deleted data". And the instance storage Si corresponds to the "first storage", the object storage So corresponds to the "second storage", and the blockchain platform 100 corresponds to the "information processing system".
[0074] (Other embodiments) Although one embodiment of the present disclosure has been described above, the present disclosure should not be construed as being limited to the above embodiment, and can be applied to various embodiments and combinations within the scope not departing from the gist of the present disclosure.
[0075] In the blockchain platform 100 according to the first modification of the above embodiment, the construction of a private channel is omitted. In the first modification shown in Fig. 10 and Fig. 11, the non-disclosure information is securely stored using a technology different from the blockchain BC. As an example, the non-disclosure information of each client is stored in a database managed by each client.
[0076] A data deletion unit 52 shown in Fig. 10 sets an expired block BLe only to the A channel BCa among the A channel BCa and the B channel BCb, and deletes the original data DM etc. linked to the expired block BLe. Also, a tamper check unit 33 shown in Fig. 11 performs a tamper check of the Ach block BLa after the specific block BLs, and a tamper check of all the Bch blocks BLb.
[0077] As in the above-described first modification, the number of channels of the blockchain BC constructed in the blockchain platform 100 may be changed as appropriate. For example, multiple private channels of different BC nodes 50 that share data may be set in the blockchain platform 100. Furthermore, multiple public channels that are equivalent to the A channel BCa in the above embodiment and allow deletion of the associated original data DM may be set.
[0078] In the second modification of the above embodiment, the original data DM is stored in the instance storage Si. That is, in the second modification, the storage configuration corresponding to the object storage So is omitted. The original data DM is treated as deletion permission data DD in the instance storage Si. Then, the original data DM is stored in the Ach block BLa as a transaction of the A channel BCa. As in the second modification, the configuration of the storage that stores the data to be stored DS may be changed as appropriate depending on the contents of the data to be stored DS.
[0079] In the third modification of the above embodiment, the block number information BNi is not recorded. The falsification check unit 33 of the third modification grasps the states of the A channel BCa and the C channel BCc each time during the falsification check process, and determines the start position of the check process to be performed on each channel, without relying on the block number information BNi.
[0080] In addition, among the data to be stored DS, the information (data) to be sorted into deletion-permitted data DD and the information (data) to be sorted into deletion-non-target data DN may be changed as appropriate depending on the purpose of use of the blockchain platform 100, etc.
[0081] In the above embodiment, each function provided by the BC node 50 can be provided by software and hardware that executes the software, software alone, hardware alone, or a combination of these. When such a function is provided by an electronic circuit as hardware, each function can also be provided by a digital circuit including a large number of logic circuits, or an analog circuit.
[0082] The processor of the above embodiment may be configured to include at least one arithmetic core such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The processor may further include an FPGA (Field-Programmable Gate Array), an NPU (Neural network Processing Unit), and an IP core having other dedicated functions. The processor is not limited to a chip configuration individually mounted on a printed circuit board. The processor may be implemented in an ASIC (Application Specific Integrated Circuit), an SoC (System on Chip), an FPGA, or the like.
[0083] The form of the recording medium (non-transitory tangible storage medium) employed as the storage in the above embodiment and storing each program may be changed as appropriate. For example, the recording medium is not limited to a configuration provided on a circuit board, and may be provided in the form of a memory card or the like, inserted into a slot, and electrically connected to a computer bus. Furthermore, the recording medium may be an optical disk, a hard disk drive, a solid state drive, or the like used as a source from which a program is copied or distributed to a computer.
[0084] The control unit and the method described herein may be implemented by a special-purpose computer having a processor programmed to execute one or more functions embodied in a computer program. Alternatively, the device and the method described herein may be implemented by a special-purpose hardware logic circuit. Alternatively, the device and the method described herein may be implemented by one or more special-purpose computers configured by a combination of a processor that executes a computer program and one or more hardware logic circuits. The computer program may also be stored in a computer-readable non-transitory tangible recording medium as instructions to be executed by the computer.
[0085] (Disclosure of technical ideas) This specification discloses multiple technical ideas described in the following multiple dependent claims. Some of the claims may be described in a multiple dependent form, where the subsequent claim alternatively refers to the preceding claim. Furthermore, some of the claims may be described in a multiple dependent form, where the subsequent claim alternatively refers to the preceding claim. The claims described in these multiple dependent forms define multiple technical ideas.
[0086] (Technical thought 1) An information processing method for storing data to be stored (DS) using blockchain (BC) technology, The data to be stored is classified into a plurality of data types including at least deletion permission data (DD) that is permitted to be deleted and non-deletion data (DN) that is not permitted to be deleted (S102); The deletion permission data and the non-deletion data are stored in association with different channels of the blockchain (S104, S105); Among a plurality of deletion target blocks (BLa) constituting a deletion target channel (BCa) storing the deletion permitted data, block number information (BNi) related to a position of a processed block (BLe) from which the storage target data associated with the deletion target block has been deleted is recorded (S114); In a check process for checking whether the channel to be deleted has been tampered with, a start position of the check process is determined based on the block number information (S122); The information processing method includes the steps of: (Technical thought 2) storing original data (DM) related to the deletion permission data in a second storage (So) different from the first storage (Si) storing the deletion permission data (S108); The information processing method according to Technical Idea 1 further includes the step of deleting the original data associated with the processed block from the second storage (S113). (Technical Thought 3) the deletion permission data includes a hash value generated from the original data, The information processing method described in Technical Idea 2, wherein the non-deleted data includes data generated in connection with the storage of the original data in the blockchain. (Technical Thought 4) The disclosure restriction information in which the disclosure target is restricted for the deletion permitted data is stored in association with a disclosure restriction channel (BCc) different from the deletion target channel (S106, S107). The information processing method according to any one of Technical Ideas 1 to 3, further comprising the step of: (Technical Thought 5) Among the plurality of disclosure restriction blocks (BLc) constituting the disclosure restriction channel, the block number information related to the position of the processed block (BLe) from which the disclosure restriction information associated with the disclosure restriction block has been deleted is further recorded (S115); In the check process for checking whether the disclosure-restricted channel has been tampered with, a start position of the check process is determined based on the block number information (S124); The information processing method according to Technical Idea 4 further comprises the step of: (Technical Thought 6) A storage medium that stores an information processing program for storing data to be stored (DS) using blockchain (BC) technology and is readable by a computer (10), The information processing program includes: The data to be stored is classified into a plurality of data types including at least deletion permitted data that is permitted to be deleted and non-deletion data (DN) that is not permitted to be deleted (S102); The deletion permission data and the non-deletion data are stored in association with different channels of the blockchain (S104, S105); Among a plurality of deletion target blocks (BLa) constituting a deletion target channel (BCa) storing the deletion permitted data, block number information (BNi) related to a position of a processed block (BLe) from which the storage target data associated with the deletion target block has been deleted is recorded (S114); In a check process for checking whether the channel to be deleted has been tampered with, a start position of the check process is determined based on the block number information (S122); A storage medium configured to cause at least one processor (11) to perform processes including: [Explanation of symbols]
[0087] 11 Processor, 33 Tamper checking unit, 51 Data registration unit (data storage unit), 100 Blockchain platform (information processing system), BC Blockchain, BCa A channel (channel to be deleted), BCc C channel (channel with disclosure restriction), BLa Ach block (block to be deleted), BLc Cch block (block with disclosure restriction), BLe Expired block (processed block), BNi Block number information, DD Data permitted to be deleted, DM Original data, DN Data not to be deleted (data not to be deleted), DS Data to be stored, Si Instance storage (first storage), So Object storage (second storage)
Claims
1. An information processing method for storing data to be stored (DS) using blockchain (BC) technology, The data to be stored is classified into a plurality of data types including at least deletion permitted data (DD) that is permitted to be deleted and non-deletion data (DN) that is not permitted to be deleted (S102); The deletion permission data and the non-deletion data are stored in association with different channels of the block chain (S104, S105), Among a plurality of blocks to be deleted (BLa) constituting a channel to be deleted (BCa) for storing the deletion permitted data, block number information (BNi) related to the position of a processed block (BLe) from which the storage target data associated with the blocks to be deleted has been deleted is recorded (S114); In a check process for checking whether the channel to be deleted has been tampered with, a start position of the check process is determined based on the block number information (S122). The information processing method includes the steps of:
2. storing original data (DM) related to the deletion permission data in a second storage (So) different from the first storage (Si) storing the deletion permission data (S108); The original data associated with the processed block is deleted from the second storage (S113). The information processing method according to claim 1 , further comprising the step of:
3. the deletion permission data includes a hash value generated from the original data, The information processing method according to claim 2 , wherein the non-deleted data includes data generated in association with storing the original data in the blockchain.
4. The disclosure restriction information in which the disclosure target is restricted for the deletion permitted data is stored in association with a disclosure restriction channel (BCc) different from the deletion target channel (S106, S107). The information processing method according to claim 1 , further comprising the step of:
5. Among the plurality of disclosure restriction blocks (BLc) constituting the disclosure restriction channel, the block number information related to the position of the processed block (BLe) from which the disclosure restriction information associated with the disclosure restriction block has been deleted is further recorded (S115); In the check process for checking whether the disclosure-restricted channel has been tampered with, a start position of the check process is determined based on the block number information (S124). The information processing method according to claim 4 , further comprising the step of:
6. An information processing system that stores data to be stored (DS) using blockchain (BC) technology, A data storage unit (51) that classifies the data to be stored into a plurality of data types including at least deletion permission data (DD) that permits deletion and non-deletion data (DN) that does not permit deletion, and stores the deletion permission data and the non-deletion data by linking them to different channels of the blockchain; a tampering check unit (33) that records block number information (BNi) related to a position of a processed block (BLe) from which the storage target data associated with a block to be deleted has been deleted among a plurality of blocks to be deleted (BLa) constituting a channel to be deleted (BCa) that stores the deletion permitted data, and determines a start position of the check process based on the block number information in a check process for checking whether the channel to be deleted has been tampered with; An information processing system comprising:
7. An information processing program for storing data to be stored (DS) using blockchain (BC) technology, The data to be stored is classified into a plurality of data types including at least deletion permitted data that is permitted to be deleted and non-deletion data (DN) that is not permitted to be deleted (S102); The deletion permission data and the non-deletion data are stored in association with different channels of the block chain (S104, S105), Among a plurality of blocks to be deleted (BLa) constituting a channel to be deleted (BCa) for storing the deletion permitted data, block number information (BNi) related to the position of a processed block (BLe) from which the storage target data associated with the blocks to be deleted has been deleted is recorded (S114); In a check process for checking whether the channel to be deleted has been tampered with, a start position of the check process is determined based on the block number information (S122). An information processing program that causes at least one processor (11) to execute a process including the steps of:
Citation Information
Patent Citations
Information processing apparatus, information processing method and program
JP2019211821A
Vehicle information management system
JP2021068339A
Information deletion guarantee system using distributed ledger
JP2023506236A
Systems and methods for securely managing vehicle information
US20230162544A1
Ledger management device, ledger management system, and vehicle-mounted information provision device
WO2019021861A1