Information processing method, information processing system, and storage medium

By classifying blockchain data into two categories—those that can be deleted and those that cannot—and recording the block number information, the problem of not being able to confirm that the data has not been tampered with after deletion is solved, thus achieving secure data deletion and cost reduction.

CN121399593APending Publication Date: 2026-01-23DENSO CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202480042890.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-09
Filing Date
2024-05-08
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

In existing technologies, the methods for deleting blockchain data make it impossible to effectively confirm that the data has not been tampered with, and it is difficult to properly delete historical data.

Method used

Data is categorized into data that can be deleted and data that cannot be deleted. Each category is associated with the blockchain through different channels, and block number information is recorded to determine the starting position of tampering checks, ensuring that tampering checks can still be performed after deletion.

Benefits of technology

It enables verification that data has not been tampered with after deletion, properly manages blockchain data, reduces data storage costs and economic barriers, and ensures data security and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121399593A_ABST
    Figure CN121399593A_ABST
Patent Text Reader

Abstract

The invention provides an information processing method, an information processing system, and a storage medium. A node of a block chain platform implements an information processing method, and uses a block chain (BC) technology to store data to be stored. In this information processing method, data to be stored is classified into a plurality of data types including at least deletion-permitted data in which deletion is permitted and non-deletion-target data in which deletion is not permitted. Deleted data and non-deleted data are allowed to be stored in association with mutually different channels of a block chain (BC). Furthermore, block number information (BNi) relating to the position of the expired block (BLe) from which the data to be stored has been deleted is recorded, and the start position of the check process is determined on the basis of the block number information (BNi) in the check process for confirming the tampering of the A channel (BCa) for storing the data to be deleted.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is based on Japanese Patent Application No. 2023-107363 filed in Japan on June 29, 2023, and Japanese Patent Application No. 2023-191815 filed in Japan on November 9, 2023, the contents of which are incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The disclosure of the present specification relates to a technology of preserving data using a blockchain. BACKGROUND

[0003] In the information processing device disclosed in Patent Literature 1, a registration blockchain distributed ledger that can perform registration processing of a transaction and a reference blockchain distributed ledger that does not perform registration processing of a transaction are stored separately. The information processing device suppresses the expansion of data saved using a blockchain technology by deleting the reference blockchain distributed ledger.

[0004] Patent Literature 1: Japanese Patent Application Publication No. 2023-18905

[0005] In the information processing device of Patent Literature 1, the registration blockchain distributed ledger becomes the reference blockchain distributed ledger as time passes, and is then deleted. That is, old historical data is deleted en bloc. Therefore, after the historical data is deleted, tampering check thereof cannot be performed, and it can be difficult to confirm that it is not tampered with. As described above, the data deletion method disclosed in Patent Literature 1 has a problem. SUMMARY

[0006] The present disclosure aims to provide an information processing method, an information processing system, and a storage medium that can appropriately delete data saved using a technology of a blockchain.

[0007] To achieve the above object, one embodiment disclosed is an information processing method of saving data of an object of preservation using a technology of a blockchain, the information processing method including, in processing performed by at least one processor, the steps of: classifying the data of the object of preservation into a plurality of data categories, the plurality of data categories including at least deletion-allowed data that is allowed to be deleted and non-deletion data that is not allowed to be deleted, saving the deletion-allowed data and the non-deletion data in association with channels different from each other of a blockchain, and recording block number information associated with a position of a processed block, the processed block being a block in which the data of the object of preservation associated with the block is deleted among a plurality of deletion target blocks that constitute a deletion target channel of the deletion-allowed data, in check processing of confirming tampering of the deletion target channel, determining a start position of the check processing based on the block number information.

[0008] Another embodiment disclosed is an information processing system that uses a technology of a blockchain to store data of an object to be stored, and includes: a data storage unit that classifies data of an object to be stored into a plurality of data categories including at least data that is allowed to be deleted and data that is not allowed to be deleted, and stores the data that is allowed to be deleted and the data that is not allowed to be deleted in association with mutually different channels of the blockchain; and a tamper check unit that records block number information associated with a position of a processed block, wherein the processed block is a block in which data of an object to be stored associated with the block is deleted among a plurality of deletion target blocks that constitute a deletion target channel in which the data that is allowed to be deleted is stored, and a start position of a check process in which tampering of the deletion target channel is confirmed is determined based on the block number information.

[0009] Another embodiment disclosed is a storage medium that stores an information processing program that uses a technology of a blockchain to store data of an object to be stored, and is readable by a computer, wherein the information processing program is configured to cause at least one processor to execute a process including: classifying data of an object to be stored into a plurality of data categories including at least data that is allowed to be deleted and data that is not allowed to be deleted, and storing the data that is allowed to be deleted and the data that is not allowed to be deleted in association with mutually different channels of the blockchain; and recording block number information associated with a position of a processed block, wherein the processed block is a block in which data of an object to be stored associated with the block is deleted among a plurality of deletion target blocks that constitute a deletion target channel in which the data that is allowed to be deleted is stored, and a start position of a check process in which tampering of the deletion target channel is confirmed is determined based on the block number information.

[0010] In these embodiments, in a case where data of an object to be stored is deleted, block number information associated with a position of a processed block is recorded in a deletion target channel in which the data that is allowed to be deleted is stored. Therefore, if a start position of a check process is determined based on the block number information, tampering of the deletion target channel can be checked even after the data of the object to be stored is deleted, and it can be confirmed that the deletion target channel is not tampered. Therefore, data stored using the technology of the blockchain can be appropriately deleted.

[0011] Further, reference numerals in parentheses in the claims only indicate one example of a correspondence relationship with specific structures in the embodiments described later, and do not limit the technical scope in any way. In particular, combinations of claims not explicitly shown in the claims can also be made if the combinations do not pose obstacles. BRIEF DESCRIPTION OF DRAWINGS

[0012] Figure 1is a block diagram showing an overall structure of a blockchain platform that implements an information processing method of one embodiment of the present disclosure.

[0013] Figure 2 is a diagram for describing the content of registration processing of storage target data by a data registration section.

[0014] Figure 3 is a diagram for describing the detailed content of data storage by a blockchain node.

[0015] Figure 4 is a diagram showing one example of classification of storage target data.

[0016] Figure 5 is a diagram for describing the content of deletion processing of storage target data by a data deletion section.

[0017] Figure 6 is a diagram for describing the content of tamper checking processing of storage target data by a tamper checking section.

[0018] Figure 7 is a flowchart showing the detailed content of data registration processing by a data registration section.

[0019] Figure 8 is a flowchart showing the detailed content of data deletion processing by a data deletion section.

[0020] Figure 9 is a flowchart showing the detailed content of tamper checking processing by a tamper checking section.

[0021] Figure 10 is a diagram for describing the content of deletion processing of storage target data in Modification 1.

[0022] Figure 11 is a diagram for describing the content of tamper checking processing. DETAILED DESCRIPTION

[0023] Figure 1 The blockchain platform 100 of one embodiment of the present disclosure shown in FIG. 1 uses the technology of a blockchain BC to realize sharing of information between clients (e.g., enterprises and the like) that become participants. The blockchain platform 100 uses, for example, a framework of a general-purpose blockchain BC such as Hyperledger Fabric (HLF, Hyperledger Fabric, refer to Figure 3 ) or the like. In the blockchain platform 100, a private blockchain network (hereinafter, a channel) in which only specific participants participate in a network and can share data and transactions can be constructed. Thus, the requirements of privacy and confidentiality of each participant can be satisfied.

[0024] The blockchain platform 100 comprises multiple blockchain nodes (hereinafter, BC nodes) 50. As an example, each BC node 50 is constructed from a blockchain server (virtual machine) in the cloud. The blockchain server is structured with a control circuit 10 as its main component. The control circuit 10 includes a processor 11, RAM 12, memory 13, input / output interfaces 14, and buses connecting them, functioning as a high-performance computer that performs high-speed computational processing.

[0025] Processor 11 is hardware used for arithmetic processing in conjunction with RAM 12. Processor 11 executes various processes (instructions) related to data management and provision through access to RAM 12. Memory 13 stores information processing programs that implement functions related to data management and provision. These information processing programs are used to enable the blockchain server (control circuit 10) to implement the information processing methods of this disclosure.

[0026] BC Node 50 is a blockchain management system that establishes connections with the systems of various clients. As an example, in a blockchain network managing vehicle information, the car manufacturer (Original Equipment Manufacturer, OEM) and the dealership that sells the vehicles become clients. Figure 1 (The middle node represents users B and C). One of the multiple BC nodes 50 is connected to the user terminal 160 of the OEM's management system. Figure 1 BC node 60 (where B is the user terminal) collaborates Figure 1 The middle one is BC Node_B). Additionally, another node among the multiple BC nodes 50 is the user terminal 160 connected to the dealer's management system (…). Figure 1 The BC node 80 (where C is the user terminal) collaborates with Figure 1 The middle part is BC Node_C).

[0027] BC node 60 has a node database 70 ( Figure 1 (B_DB is a Node Database 70). Node Database 70 stores the custodial object data DS associated with user B, and enables the custodial object data DS to be shared with other BC nodes 50. Similarly, BC node 60 has node database 90 (…). Figure 1 (C_DB). Node database 90 stores the custodial object data DS associated with user C and enables the custodial object data DS to be shared with other BC nodes 50. The custodial object data DS is data stored and shared on the blockchain platform 100 using blockchain BC technology. The custodial object data DS is collected from each user terminal and sent to the BC nodes 50 associated with each user terminal.

[0028] The BC node 50 accepts a new registration request, an update request, a reference request, and a deletion request, and the like from the user terminal 160 of each user with respect to the storage target data DS. The BC node 50 has a function section such as a data registration section 51 and a data deletion section 52. Further, the BC node 30 described later can also have the data registration section 51 as with the other BC nodes 50.

[0029] As shown in Figure 2 , the data registration section 51 accepts a new registration request of the storage target data DS from the user terminal 160 or the like. The data registration section 51 performs registration processing of the storage target data DS based on the registration request (refer to Figure 7 ). The data registration section 51 prepares the original data DM, the meta data, and the hash value from the storage target data DS.

[0030] The original data DM is a main part of the storage target data DS and is the original data of the storage target data DS. Specifically, document data in PDF format or the like, image data in JPEG format or the like, and music data and animation data or the like in MPEG format or the like, which are data of a large size, are taken as the original data DM.

[0031] The meta data is data that provides information associated with the storage target data DS (the original data DM). The meta data is data associated with the storage of the storage target data DS to the blockchain BC, and specifically, the meta data is generated in a registration use process accompanying an operation such as registration (connection), search, and the like of the storage target data DS, and authentication of the data and the user. In the blockchain network that manages the information of the above-described vehicle, the associated data of the blockchain BC other than the pure vehicle information is the meta data.

[0032] The meta data is closely related to the structure of the blockchain BC. If the meta data is deleted, there is a possibility of causing an impact on the blockchain BC. Specifically, summary data indicating the content, characteristics, structure, relationship, and the like of the storage target data DS, operation data related to the summary data, and authentication information of the data and the user, and the like are prepared as the meta data. The summary data is, for example, the data name (file name), the creation date and time, the data size, the data format (extension), and the like of the original data DM. The operation data is, for example, the content in which the implementation history of the registration operation, the ID assignment, the data authentication, the data search, and the like to the blockchain BC are recorded. The authentication information is information related to the public key and the assigned ID. The meta data can also be generated by the user terminal 160, or can also be generated by the data registration section 51 using the storage target data DS provided from the user terminal 160.

[0033] The hash value is generated using the original data DM. The hash value is data that maintains a prescribed number of bits (for example, 256 bits), and is an inherent value that reflects the contents of the original data DM. The generation of the hash value uses a hash function such as SHA-256, for example. Instead of SHA-256, an encryption algorithm (hash function) such as SHA-1, SHA-2, SHA-3, and SHA-512 can also be used for the generation of the hash value.

[0034] The data registration section 51 classifies the data DS to be kept into a plurality of data categories that include at least the deletion-allowed data DD and the non-deletion-target data DN. The deletion-allowed data DD is data that is allowed to be deleted based on a prescribed period of time or a specific deletion trigger. The deletion-allowed data includes the hash value described above. The non-deletion-target data DN is non-deletion-target data that is not allowed to be deleted, and is substantially permanently kept. The non-deletion-target data DN includes the metadata described above.

[0035] The data registration section 51 keeps the original data DM and the hash value and the metadata in different data keeping areas (memory) of the node database 70. Specifically, the original data DM, which is large in data size, is kept in the object memory So. On the other hand, the metadata and the hash value, which are small in data size and are desired to be shared among the participants in an unaltered state, are kept in the instance memory Si.

[0036] Figure 2 And Figure 3 The object memory So shown in FIG. 6 is a memory that keeps files and data as objects. As one example, a retrieval index database So1 and a retrieval object database So2 are constructed in the object memory So. The retrieval index database So1 keeps data required for retrieval of the information kept in the retrieval object database So2. That is, information associated with the objects (original data DM) stored in the retrieval object database So2 is kept in the retrieval index database So1. The retrieval index database So1 can use RDS (Relational Database Service), for example. RDS is a relational database provided on AWS (Amazon Web Services, registered trademark). The retrieval object database So2 can use an S3 (Simple Storage Service) bucket, for example. The S3 bucket is provided on AWS like RDS, and can keep a large amount of data permanently. The data kept in the object memory So is not shared with other BC nodes 50. In addition, instead of RDS and the S3 bucket, other cloud memories such as Azure Blob Storage of Azure (registered trademark) can be used, for example.

[0037] The example storage Si is a local storage of the blockchain server. Instead of the example storage Si, a block storage that stores data of the blockchain server in units of blocks on a cloud can also be used. In this case, as the example storage Si, an EBS (Elastic Block Store) of AWS, an Azure Managed Disks of Azure, or the like can be used. Data stored in the example storage Si can be shared with other BC nodes 50.

[0038] The data registration unit 51 separately stores the deletion-allowed data DD including a hash value and the non-deletion-target data DN including metadata in mutually different channels of the blockchain BC. For convenience, a network of the blockchain BC that stores the deletion-allowed data DD is taken as a first blockchain channel (hereinafter, A channel BCa) dedicated to the deletion-allowed data DD. Also, a network of the blockchain BC that stores the non-deletion-target data DN is taken as a second blockchain channel (hereinafter, B channel BCb) dedicated to the non-deletion-target data DN. Both the A channel BCa and the B channel BCb are public channels that share data with other BC nodes 50.

[0039] The deletion-allowed data DD is stored as a transaction in each block BL (hereinafter, Ach block BLa) that constitutes the A channel BCa. The deletion-allowed data DD is registered as block data of the A channel BCa and is also stored in the ledger DC (refer to FIG. 2) provided in a distributed database such as a CouchDB. Figure 3 In the A channel BCa, a hash value generated from one Ach block BLa is stored in the next Ach block BLa. Also, in the Ach block BLa, timestamp data indicating a date and time at which the deletion-allowed data DD is added is recorded.

[0040] The non-deletion-target data DN is stored as a transaction in each block BL (hereinafter, Bch block BLb) that constitutes the B channel BCb. The non-deletion-target data DN is registered as block data of the B channel BCb and is also stored in the ledger DC. In the B channel BCb, a hash value generated from one Bch block BLb is stored in the next Bch block BLb. Also, in the Bch block BLb, timestamp data indicating a date and time at which the non-deletion-target data DN is added is also recorded.

[0041] The timestamp data can be information indicating only a date and time, or can also be a hash value generated by a timestamp server or the like. The timestamp server generates a hash value of a prescribed number of bits (for example, 256 bits) as the timestamp data by inputting a news report distributed by a news distribution server or the like as input information and inputting the input information to a process of a hash function.

[0042] Here, in the blockchain network that manages information of the vehicle, approval information, asset information, access information, and other custody information, etc. are included in the custody object data DS (refer to Figure 4 ) together with the vehicle information. The data registration section 51 takes a hash value based on the vehicle information as the deletion-allowed data DD. Also, the hash value based on the vehicle information is kept in the A channel BCa. The A channel BCa is a vehicle channel that keeps the vehicle information. As one example, the vehicle information that becomes the original data DM is the frame number, the year, the grade, the vehicle name, the travel distance, the collision detection result, the registration inspection result, the registration photo, the evaluation price, etc. Also, the data registration section 51 takes the approval information, the asset information, the access information, and other custody information, etc. as the non-deletion object data DN. Also, these information are kept in the B channel BCb.

[0043] The data registration section 51 can also save data in a channel other than the A channel BCa and the B channel BCb, specifically, the C channel BCc and the D channel BCd. The C channel BCc and the D channel BCd are private channels unlike the public channels such as the A channel BCa and the B channel BCb. The C channel BCc and the D channel BCd are channels that keep non-public information such as business secrets and key information that are not disclosed to other BC nodes 50. The C channel BCc is a private channel that corresponds to the A channel BCa, and keeps the deletion-allowed data DD among the non-public information. The D channel BCd is a private channel that corresponds to the B channel BCb, and keeps the non-deletion object data DN among the non-public information.

[0044] The non-public information kept in the C channel BCc and the D channel BCd can also be original data such as business secrets and key information, or can also be hash values generated from business secrets and key information, etc. The original data of the non-public information is saved as the original data DM in the object storage So. The non-public information is public restriction information whose disclosure is restricted with respect to the deletion-allowed data DD and the non-deletion object data DN. The non-public information is kept as a transaction together with time stamp data, etc. in each block BL that constitutes the C channel BCc (hereinafter, Cch block BLc) or each block BL that constitutes the D channel BCd (hereinafter, Dch block BLd). The non-public information is registered as block data of the C channel BCc and the D channel BCd, and is also kept in the ledger DC (refer to Figure 3 ).

[0045] Further, the C-channel BCc can also be a private channel for data sharing within a specific group. In this case, only the BC nodes 50 within a predetermined shared group of a portion of all the BC nodes 50 can access the C-channel BCc and the D-channel BCd. In addition, in a case where the non-public information does not include the non-deletion target data DN, or in a case where the non-deletion target data DN included in the non-public information is small, the D-channel BCd can also not be provided.

[0046] As shown in Figure 3 and Figure 5 , the data deletion section 52 performs deletion processing that deletes a portion of the storage target data DS (refer to Figure 8 ). The data deletion section 52 can also automatically delete the storage target data DS that has elapsed a certain period (for example, 7 years, etc.) from the time of saving, or can also delete old storage target data DS based on a deletion request received from the user terminal 160 or the BC node 30 described later.

[0047] The data deletion section 52 specifies the storage target data DS that is to be stored until a certain period as a deletion target based on a period condition that is specified in advance or a condition specified in a deletion request. The data deletion section 52, in the case of deleting the storage target data DS, only specifies data that is stored in association with the A-channel BCa and the C-channel BCc as a deletion target. In other words, the data deletion section 52 does not specify data that is stored in association with the B-channel BCb as a deletion target.

[0048] If described in detail, the data deletion section 52 determines the range of the blocks BL that are processing targets 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 that is a processing target becomes an expired block BLe (refer to Figure 5 ). The data deletion section 52 specifies a group of data that is associated with the blocks BLa, BLc that are set as processing targets as a deletion target. On the other hand, the data deletion section 52 does not specify the blocks BLa, BLc (block data files, refer to Figure 3 ) themselves as a deletion target. Further, in a case where the time stamp data of the storage target data DS is stored in the object storage So, the data deletion section 52 can also determine a group of data that is a deletion target using the time stamp data of the object storage So.

[0049] The data deletion section 52 deletes, from the ledger DC, the permitted deletion data DD equivalent to the copy of the block data contained in the Ach block BL a that becomes the processing target (expired block BLe). Further, the data deletion section 52 deletes, from the object storage So, the custody object data DS associated with the Ach block BL a that becomes the processing target, and is the original data DM for generating the permitted deletion data DD that is to be held in the Ach block BL a that becomes the processing target.

[0050] Likewise, the data deletion section 52 deletes, from the ledger DC, the non-public information equivalent to the copy of the block data contained in the Cch block BLc that becomes the processing target (expired block BLe). Further, the data deletion section 52 deletes, from the object storage So, the original data DM associated with the Cch block BLc that becomes the processing target, and is the original data DM for generation of the non-public information.

[0051] As explained above, the original data DM and the like associated with the A channel BCa or the C channel BCc is deleted in the case where the retention period is exceeded. By this, the multimedia data such as the document data, the image data, the music data, and the moving picture data, which have a large data size, can be deleted from the search index database Soi and the search object database So2 of the object storage So. In contrast to this, among the data associated with the B channel BCb, not only the block data contained in the Bch block BLb, but also the non-deletion object data DN and the original data DM thereof within the ledger DC are not deleted but are continued to be held after the retention period elapses.

[0052] The data deletion section 52 grasps the block number information BNi associated with the position of the Ach block BL a in which the permitted deletion data DD and the original data DM thereof within the ledger DC have been deleted, among the plurality of Ach blocks BL a that constitute the A channel BCa. Likewise, the data deletion section 52 grasps the block number information BNi associated with the position of the Cch block BLc in which the non-public information and the original data DM thereof within the ledger DC have been deleted, among the plurality of Cch blocks BLc that constitute the C channel BCc. The data deletion section 52 takes each block BL a, BLc in which the original data DM has been deleted as the expired block BLe (refer to FIG. 6). The block number information BNi is information that indicates the boundary position of the range of the expired block BLe and the range of the block BL in which the original data DM has not been deleted, in each of the A channel BCa and the C channel BCc. Figure 5

[0053] As one example, the data deletion section 52 takes the oldest block BL among the plurality of Ach blocks BL a or Cch blocks BLc that are not the expired block BLe as the specific block BLs (refer to FIG. 6). The data deletion section 52 deletes, from the ledger DC, the permitted deletion data DD equivalent to the copy of the block data contained in the specific block BLs. Further, the data deletion section 52 deletes, from the object storage So, the custody object data DS associated with the specific block BLs, and is the original data DM for generating the permitted deletion data DD that is to be held in the specific block BLs. Figure 5 ​Additionally, as another example, the data deletion unit 52 designates the latest block BL in the expired block BLe as a specific block BLs. The data deletion unit 52 obtains the inherent block number representing the specific block BLs as block number information BNi. The data deletion unit 52 provides the obtained block number information BNi to the BC node 30 described later. The block number information BNi can also be shared among multiple BC nodes 50 using the blockchain BC.

[0054] BC node 30 is used to manage external systems or external users. Figure 1 User terminal 110 (where A is the user) Figure 1 In the middle, there is a BC node 50 for user terminal A's access to blockchain platform 100. BC node 30 performs authentication and authorization for external systems or user terminal 110's connection to blockchain platform 100. BC node 30 obtains reference requests, etc., of the stored object data DS held by the blockchain BC from external systems and user terminal 110. Based on the reference requests, BC node 30 generates provisioning data according to the stored object data DS and provides the generated provisioning data to the external system or user terminal 110 that is the request source.

[0055] BC node 30 includes functional units such as node database 40 and tamper inspection unit 33. Node database 40 is a data storage area that stores information associated with BC node 30. At least a portion of the data stored in node database 40 is shared with node databases 70, 90, etc.

[0056] like Figure 5 As shown, when a portion of the stored object data DS is deleted by the data deletion unit 52, the tampering inspection unit 33 obtains the block number information BNi. The tampering inspection unit 33 can obtain the block number information BNi directly from the data deletion unit 52 that performed the deletion process, or it can obtain the block number information BNi through information sharing in the blockchain BC. The tampering inspection unit 33 records the obtained block number information BNi in the node database 40. As an example, the tampering inspection unit 33 registers the block number information BNi in the private channel of the node database 40. If the data deletion unit 52 performs a new deletion process on the original data DM, etc., associated with block BLa of block Ach, the tampering inspection unit 33 updates the block number information BNi associated with channel BCa of channel A. Similarly, if the data deletion unit 52 performs a new deletion process on the original data DM, etc., associated with block Blc of block Cch, the tampering inspection unit 33 updates the block number information BNi associated with channel BCc of channel C.

[0057] like Figure 6As shown, the tamper check section 33 performs a tamper check process that confirms whether the storage object data DS has not been tampered with, based on a predetermined timing or a check request from an external system or the user terminal 110 (refer to Figure 9 ). Specifically, the tamper check section 33 repeatedly recalculates the hash value of each block BL using the data (transaction and hash value of the previous block) within the block and the hash function used at the time of generation of the block chain BC. The tamper check section 33 determines whether there is tampering by verifying whether the hash values of the blocks BL are correctly linked.

[0058] In the check process that confirms tampering of the B channel BCb, the tamper check section 33 starts the recalculation of the hash value from the old Bch block BLb located at the beginning of the B channel BCb. On the other hand, in the check process that confirms tampering of the A channel BCa and the C channel BCc, the tamper check section 33 determines the start position (start block) of the check process based on the block number information BNi.

[0059] As described above, in the case where the block number information BNi indicates the block number of the oldest valid block BLa, BLc, the tamper check section 33 takes the specific block BLs indicated by the block number information BNi as the start block of the check process. In addition, in the case where the block number information BNi indicates the block number of the newest expired block BLe, the tamper check section 33 takes the next block BLa, BLc of the specific block BLs indicated by the block number information BNi as the start block of the check process. The tamper check section 33 performs the recalculation of the hash value from the determined start block. In other words, the expired block BLe is excluded from the object of the check process that confirms whether there is tampering.

[0060] In addition, the tamper check section 33 is also provided to the BC node 50 other than the BC node 30. Such a tamper check section 33 can also perform the process for tamper check. Similarly, the BC node 30 can also have the function of the data deletion section 52 and can perform the data deletion process.

[0061] Next, based on Figure 7 to Figure 9 and referring to Figure 1 to Figure 6 , the details of the data registration process, the data deletion process, and the tamper check process described above are described.

[0062] The data registration process is mainly performed by the data registration section 51 (refer to Figure 2 ). Figure 7The data registration processing is shown. In S101, the data registration section 51 acquires the storage object data DS from the user terminal 160 by reception. In S102, the data registration section 51 classifies the acquired storage object data DS into a plurality of data categories including at least the deletion-allowed data DD and the non-deletion object data DN. In a case where the acquired storage object data DS includes non-public information, in S102, the data registration section 51 classifies the non-public information as data of a different category from the deletion-allowed data DD and the non-deletion object data DN. Then, in S103, the data registration section 51 acquires time stamp data indicating the acquisition timing or the storage timing of the storage object data DS.

[0063] In S104 and S105, the deletion-allowed data DD and the non-deletion object data DN are separately stored in mutually different channels of the blockchain BC (public chain). Specifically, in S104, the data registration section 51 adds a new Ach block BLa that stores this time's deletion-allowed data DD to the A channel BCa. Then, in S105, the data registration section 51 adds a new Bch block BLb that stores this time's non-deletion object data DN to the B channel BCb.

[0064] In S106 and S107, the non-public information is stored in a private chain prepared separately from the public chain. In S106, the data registration section 51 adds a new Cch block BLc that stores this time's non-public information to the C channel BCc. Then, in S107, the data registration section 51 adds a new Dch block BLd that stores this time's non-public information to the D channel BCd. Further, in a case where the non-public information is not included in the storage object data DS, the processing of S106 and S107 is omitted. In addition, the data registration processing of adding the non-public information to the C channel BCc and the D channel BCd can also be executed as processing different from the data registration processing of adding the deletion-allowed data DD and the non-deletion object data DN to the public channel.

[0065] In the above S104 to S107, the time stamp data acquired in S103 is recorded in each block BL added. Then, in S108, the data registration section 51 stores the original data DM associated with the deletion-allowed data DD, the non-deletion object data DN, and the non-public information, etc. in the object storage So. In addition, the order of implementation of S104 to S108 can be changed as appropriate.

[0066] The data deletion section 52 (see Figure 5 ) is mainly implemented Figure 8The data deletion processing shown. In S111, the data deletion section 52 grasps the storage object data DS as a deletion target. As one example, in the case of performing data deletion based on a periodical data deletion based on a prescribed period, the data deletion section 52 refers to the time stamp data recorded in each Ach block BLa, and determines the Ach block BLa corresponding to the deletion period. Likewise, the data deletion section 52 refers to the time stamp data recorded in each Cch block BLc, and determines the Cch block BLc corresponding to the deletion period. In the case of performing data deletion based on a specific deletion trigger, the data deletion section 52 also refers to the time stamp data of each Ach block BLa and each Cch block BLc, and determines the Ach block BLa and Cch block BLc corresponding to the specified deletion period.

[0067] In S112, the data deletion section 52 sets the Ach block BLa and Cch block BLc corresponding to the deletion period in S111 as the expired block BLe. In S113, the data deletion section 52 deletes the storage object data DS associated with the expired block BLe, i.e., the permitted deletion data DD, the non-public information, and the original data DM, etc. In the above S112 and S113, in the A channel BCa storing the permitted deletion data DD and the B channel BCb storing the non-deletion target data DN, only the A channel BCa is set with the expired block BLe, and the deletion of the original data DM is applied. In addition, the order of implementation of S112 and S113 can be changed as appropriate. Specifically, it is also possible to set the corresponding block BL as the expired block BLe after deleting the original data DM, etc., corresponding to the deletion period.

[0068] In S114 and S115, the tamper check section 33 records the block number information BNi associated with the position of the expired block BLe set this time, and is the block number information BNi indicating the start position (start block) of the tamper check. When a new expired block BLe is set in the A channel BCa, in S114, the tamper check section 33 updates the block number information BNi associated with the A channel BCa. Likewise, when a new expired block BLe is set in the C channel BCc, in S115, the tamper check section 33 updates the block number information BNi associated with the C channel BCc.

[0069] The tamper check section 33 (refer to Figure 6 ) is implemented as the main body Figure 9The tamper check processing is shown. In S121, the tamper check section 33 checks the B channel BCb for tampering with all the Bch blocks BLb and the D channel BCd for tampering with all the Dch blocks BLd. That is, the tamper check section 33 calculates a hash value for tamper check using the block data kept in each block BL from the Bch block BLb at the beginning of the B channel BCb and the Dch block BLd at the beginning of the D channel BCd. The tamper check section 33 compares the hash value recorded in each block BL with the hash value for tamper check, and determines that there is no possibility of tampering if they are identical.

[0070] In S122, the tamper check section 33 refers to the block number information BNi associated with the A channel BCa to determine the number of the start block (start position) at which to start the tamper check of the A channel BCa. In S123, the tamper check section 33 checks the A channel BCa for tampering with the start block (specific block BLs) and the subsequent Ach blocks BLa. That is, the tamper check section 33 excludes the expired block BLe from the object of the tamper check. Then, the tamper check section 33 calculates a hash value for tamper check using the block data kept in each block BL from the specific block BLs and the subsequent blocks BL. The tamper check section 33 compares the hash value recorded in each block BL with the hash value for tamper check, and determines that there is no possibility of tampering if they are identical.

[0071] In S123, the tamper check section 33 refers to the block number information BNi associated with the C channel BCc to determine the number of the start block (start position) at which to start the tamper check of the C channel BCc. In S124, the tamper check section 33 checks the C channel BCc for tampering with the specific block BLs and the subsequent Cch blocks BLc. Thus, the expired block BLe of the C channel BCc is excluded from the object of the tamper check.

[0072] Furthermore, the order of implementation of the checking processing of the B channel BCb based on S121, the checking processing of the A channel BCa based on S122 and S123, and the checking processing of the C channel BCc based on S124 and S125 can be changed as appropriate. Furthermore, in addition, the checking processing of the C channel BCc as a private chain can also be executed as processing different from the checking processing of the A channel BCa and the B channel BCb as public chains.

[0073] In S126, the tampering checking section 33 determines whether an abnormality is detected in the concatenation of hash values in each of the A-channel BCa, the B-channel BCb, the C-channel BCc, and the D-channel BCd. In a case where an abnormality is detected in the concatenation of hash values in at least one of the A-channel BCa, the B-channel BCb, the C-channel BCc, and the D-channel BCd (S126: YES), in S127, the tampering checking section 33 determines that there is a possibility of tampering. In a case where the tampering checking processing is started based on a request from the BC node 30 or the user terminal 160 or the like, the tampering checking section 33 transmits an abnormality detection notification indicating the meaning of the possibility of tampering to these checking request sources.

[0074] On the other hand, in a case where an abnormality is not detected in the concatenation of hash values in all of the A-channel BCa, the B-channel BCb, the C-channel BCc, and the D-channel BCd (S126: NO), in S128, the tampering checking section 33 determines that there is no possibility of tampering. That is, in S128, the tampering checking section 33 determines that the storage target data DS is normal. In this case, the tampering checking section 33 can also transmit a normal determination notification indicating the meaning of the possibility of no tampering to the BC node 30 or the user terminal 160 or the like checking request source.

[0075] (Summary of Embodiments)

[0076] In the present embodiment of the foregoing description, in a case where the storage target data DS is deleted, the block number information BNi associated with the position of the expired block BLe is recorded in the Ach block BLa that stores the deletion-allowed data DD. Therefore, if the start position of the checking processing is decided based on the block number information BNi, the tampering checking of the A-channel BCa can be implemented even after the storage target data DS is deleted, and it can be confirmed that there is no tampering. Therefore, the data saved using the technology of the block chain BC can be appropriately deleted.

[0077] If described in detail, by newly providing the A-channel BCa dedicated to the deletion-allowed data DD and managing it separately from the non-deletion target data DN, it is possible to give consideration to both the reduction of the amount of data stored and the assurance of reliability based on the tampering checking. That is, even if the amount of data stored by the BC node 50 participating in the block chain BC increases in proportion to the number of all transactions processed by the block chain BC, it is possible to sequentially implement the data deletion processing, and achieve the reduction of the amount of data. Therefore, it is possible to avoid a situation where the cost required for data storage becomes enormous, and it is possible to lower the economic threshold of data storage using the block chain BC. As a result, the threshold for establishing the BC node 50 is also lowered, and thus it is also possible to avoid a situation where the consensus formation of the block chain BC becomes unstable due to the reduction of the number of nodes.

[0078] Further, since the block number information BNi indicating the position of the expired block BLe is recorded, the tampering check processing of the A channel BCa can be started from an appropriate position. Therefore, it is possible to avoid a situation where the normal implementation of the tampering check processing becomes difficult due to the deletion of data. Also in the A channel BCa, the tampering check processing can be applied to the range of the Ach block BLa where it is possible to determine whether there is tampering without omission.

[0079] Further, in the storage target data DS, only the permitted deletion data DD associated with the A channel BCa is taken as a deletion target, and the non-deletion target data DN associated with the B channel BCb is not taken as a deletion target. Thereby, the storage target data DS associated with the B channel BCb continues to be permanently stored. Therefore, even after a part of the storage target data DS is deleted, it is possible to confirm that the deleted storage target data DS has not been tampered with by implementing the tampering check of the block chain BC of the B channel BCb.

[0080] Further, in the present embodiment, the original data DM associated with the permitted deletion data DD is stored in an object storage So different from the instance storage Si storing the permitted deletion data DD. Also, the original data DM associated with the expired block BLe is deleted from the object storage So. In this way, by appropriately deleting the original data DM having a large data size, it is possible to efficiently reduce the amount of stored data.

[0081] Further, the permitted deletion data DD of the present embodiment includes a hash value generated from the original data DM. On the other hand, the non-deletion target data DN includes metadata associated with the original data DM. According to the above, the metadata is permanently stored in a state protected from tampering.

[0082] Further, in the present embodiment, non-public information in which a public object is limited with respect to the permitted deletion data DD is stored in association with a C channel BCc different from the Ach block BLa. Therefore, for a trade secret or the like that cannot be disclosed to other BC nodes 50, it is also possible to securely store using the technology of the block chain BC.

[0083] Further, in the present embodiment, block number information BNi associated with the position of the expired block BLe in which the non-public information is deleted from the plurality of Cch blocks BLc constituting the C channel BCc is recorded. Also, in the check processing of confirming the tampering of the Cch block BLc, the start position of the check processing is decided based on the block number information BNi. According to the above, like the original data DM of the permitted deletion data DD, it is possible to delete the non-public information stored by the C channel BCc. As a result, it is possible to efficiently reduce the amount of stored data.

[0084] In addition, in the present embodiment, the object storage So is ensured separately from the instance storage Si that enables sharing of information between the BC nodes 50. Also, the original data DM is stored in the object storage So separately from the hash values and the metadata. According to the above storage structure, the hash values and the metadata that need to be shared and the original data DM that is large in data size can be appropriately stored separately.

[0085] In addition, in the above-described embodiment, the data registration section 51 corresponds to the "data storage section", the A channel BCa corresponds to the "deletion target channel", the C channel BCc corresponds to the "public restriction channel", the non-public information corresponds to the "public restriction information". In addition, the Ach block BL a corresponds to the "deletion target block", the Cch block BLc corresponds to the "public restriction block", the expiration block BLe corresponds to the "processed block", the non-deletion target data DN corresponds to the "non-deletion data". Also, the instance storage Si corresponds to the "first storage", the object storage So corresponds to the "second storage", the blockchain platform 100 corresponds to the "information processing system", and the storage 13 corresponds to the "storage medium".

[0086] (Other Embodiments)

[0087] The above describes one embodiment of the present disclosure, but the present disclosure is not limited to the above-described embodiment for explanation, and can be applied to various embodiments and combinations within a range not departing from the gist of the present disclosure.

[0088] In the blockchain platform 100 of the modified example 1 of the above-described embodiment, the construction of the private channel is omitted. In the modified example 1 of the above-described embodiment, Figure 10 and Figure 11 In the modified example 1 shown in FIG. 10, the non-public information is securely stored using a technology different from the blockchain BC. As one example, the non-public information of each client is stored in a database managed by each client.

[0089] Figure 10 The data deletion section 52 shown in FIG. 11 sets the expiration block BLe only in the A channel BCa among the A channel BCa and the B channel BCb, and deletes the original data DM and the like associated with the expiration block BLe. In addition, Figure 11 The tampering check section 33 shown in FIG. 12 performs the tampering check of the specific block BLs and the Ach block BL a thereafter and the tampering check of all the Bch blocks BLb.

[0090] The number of channels of the blockchain BC constructed in the blockchain platform 100 can be changed as appropriate as in the above modification example 1. For example, a different plurality of private channels of the BC nodes 50 sharing data can be set in the blockchain platform 100. Further, a plurality of public channels equivalent to the A-channel BCa of the above embodiment can be set, and be public channels allowing deletion of the associated original data DM.

[0091] In the above modification example 2 of the embodiment, the original data DM is saved in the instance memory Si. That is, in the modification example 2, the memory structure equivalent to the object memory So is omitted. The original data DM is handled as the deletion-allowed data DD in the instance memory Si. Also, the original data DM is stored as a transaction of the A-channel BCa in the Ach block BLa. As such a modification example 2, the structure of the memory storing the custody object data DS can be changed as appropriate according to the content of the custody object data DS.

[0092] In the above modification example 3 of the embodiment, the recording of the block number information BNi is not implemented. The tampering check section 33 of the modification example 3 grasps the state of the A-channel BCa and the C-channel BCc every time in the tampering check processing, and decides the start position of the check processing implemented for each channel without depending on the block number information BNi.

[0093] In addition, the information (data) classified as the deletion-allowed data DD and the information (data) classified as the non-deletion object data DN in the custody object data DS can be changed as appropriate according to the use purpose of the blockchain platform 100 or the like.

[0094] In the above embodiment, each function provided by the BC node 50 can be provided by software and hardware executing the software, only software, only hardware, or a composite combination thereof. In a case where such a function is provided by an electronic circuit as hardware, each function can be provided by a digital circuit including a plurality of logic circuits, or an analog circuit.

[0095] The processor of the above-described embodiments can also be a structure including at least one CPU (Central Processing Unit) and GPU (Graphics Processing Unit) or the like. The processor can also be a structure further including an FPGA (Field-Programmable Gate Array), NPU (Neural network Processing Unit), and IP core having other dedicated functions, or the like. In addition, the processor is not limited to a chip structure mounted on a printed circuit board independently. A structure mounted on an ASIC (Application Specific Integrated Circuit), SoC (System on Chip), FPGA, or the like can also be equivalent to the processor.

[0096] The storage medium (non-transitory tangible storage medium) used as a storage device and storing each program in the above-described embodiments can be changed as appropriate. For example, the storage medium is not limited to a structure provided on a circuit board, and can be a structure provided in a storage card or the like, inserted into a socket portion, and electrically connected to a bus of a computer. Also, the storage medium can be an optical disk, a hard disk drive, a solid state drive, or the like, used as a copy source or a distribution source of a program to a computer.

[0097] The control section and the method thereof according to the present disclosure can also be implemented by a special-purpose computer configured as a processor programmed to execute one or more functions embodied by a computer program. Alternatively, the apparatus and the method thereof according to the present disclosure can also be implemented by a special-purpose hardware logic circuit. Alternatively, the apparatus and the method thereof according to the present disclosure can also be implemented by one or more special-purpose computers configured as a combination of a processor executing a computer program and one or more hardware logic circuits. In addition, the computer program can be stored as instructions executed by a computer in a non-transitory tangible recording medium readable by the computer.

[0098] (Disclosure of Technical Idea)

[0099] The present specification discloses a plurality of technical ideas described in a plurality of items listed below. There are cases where some items are described in a multiple dependent form (a multiple dependent form) referring to a plurality of preceding items in subsequent items. Also, there are cases where some items are described in a multiple dependent form (a multiple dependent form referring to another multiple dependent form) referring to items of another multiple dependent form. These items described in a multiple dependent form define a plurality of technical ideas.

[0100] (Technical Idea 1)

[0101] An information processing method is an information processing method for managing data of a storage object (DS) using a technology of a blockchain (BC), the information processing method including the following steps in processing performed by at least one processor (11):

[0102] classifying the data of the storage object into a plurality of data categories, the plurality of data categories including at least permitted deletion data (DD) that is allowed to be deleted and non-deletion data (DN) that is not allowed to be deleted (S102),

[0103] storing the permitted deletion data and the non-deletion data in association with channels different from each other of the blockchain (S104, S105),

[0104] recording block number information (BNi) associated with a position of a processed block (BLe), the processed block being a block (S114) of a plurality of deletion target blocks (BLa) that constitute a deletion target channel (BCa) storing the permitted deletion data, in which the data of the storage object associated with the deletion target block is deleted,

[0105] in an inspection process for confirming tampering of the deletion target channel, deciding a start position of the inspection process based on the block number information (S122).

[0106] (Technical Idea 2)

[0107] The information processing method according to Technical Idea 1, further including the following steps:

[0108] storing original data (DM) associated with the permitted deletion data in a second storage (So) different from a first storage (Si) storing the permitted deletion data (S108),

[0109] deleting the original data associated with the processed block from the second storage (S113).

[0110] (Technical Idea 3)

[0111] According to the information processing method according to Technical Idea 2, wherein

[0112] The deletion-allowed data includes a hash value generated from the original data,

[0113] The non-deletion data includes data generated in association with storage of the original data to the blockchain.

[0114] (Technical Idea 4)

[0115] According to the information processing method according to any one of Technical Ideas 1 to 3, further comprising the step of:

[0116] storing disclosure restriction information in which a disclosure target is restricted with respect to the deletion-allowed data in association with a disclosure restriction channel (BCc) different from the deletion target channel (S106, S107).

[0117] (Technical Idea 5)

[0118] According to the information processing method according to Technical Idea 4, further comprising the step of:

[0119] further recording the block number information associated with the position of the processed block (BLe) in which a block (BLc) constituting the disclosure restriction channel is deleted of the disclosure restriction information associated with the block (S115),

[0120] In the checking process for confirming tampering of the disclosure restriction channel, the start position of the checking process is decided based on the block number information (S124).

[0121] (Technical Idea 6)

[0122] An information processing program that stores data of a storage target (DS) using a technology of a blockchain (BC), the information processing program causing at least one processor (11) to execute processing including the steps of:

[0123] classifying the data of the storage target into a plurality of data categories, the plurality of data categories including at least deletion-allowed data that is deletion-allowed and non-deletion data (DN) that is not deletion-allowed (S102),

[0124] storing the deletion-allowed data and the non-deletion data in association with mutually different channels of the blockchain (S104, S105),

[0125] record the block number information (BNi) associated with the position of the processed block (BLe) in which the block (S114) of the plurality of blocks (BLa) constituting the deletion target channel (BCa) that stores the deletion-allowed data has been deleted of the storage target data associated with the block,

[0126] In the checking process that confirms the tampering of the deletion target channel, the start position of the checking process is decided based on the block number information (S122).

Claims

1. An information processing method that uses blockchain (BC) technology to store data of stored objects (DS), wherein the information processing method includes the following steps in a process executed by at least one processor (11): The aforementioned data to be stored is classified into multiple data categories, which include at least deleteable data (DD) that is allowed to be deleted and non-deletable data (DN) that is not allowed to be deleted (S102). The aforementioned data that is allowed to be deleted and the aforementioned data that is not deleted are stored in association with the different channels of the aforementioned blockchain (S104, S105). record the block number information (BNi) associated with the position of the processed block (BLe), wherein The processed block is a block (S114) in which the stored object data associated with the deleted object block is deleted from the multiple deleted object blocks (BLa) that constitute the deleted object channel (BCa) for storing the deleted object data that is allowed to be deleted. In the inspection process that confirms the tampering of the aforementioned deleted object channel, the starting position of the inspection process is determined based on the aforementioned block number information (S122).

2. The information processing method according to claim 1, wherein It also includes the following steps: The original data (DM) associated with the data that is allowed to be deleted is stored in the second memory (So), wherein the second memory is different from the first memory (Si) that stores the data that is allowed to be deleted (S108). The original data associated with the processed block is deleted from the second memory (S113).

3. The information processing method according to claim 2, wherein, The data allowed for deletion includes hash values ​​generated based on the original data. The aforementioned non-deleted data includes data generated in association with the custody of the aforementioned original data on the aforementioned blockchain.

4. The information processing method according to claim 1, wherein It also includes the following steps: The public restriction information on the object that is restricted from being publicly disclosed relative to the data that is allowed to be deleted is stored in association with the public restriction channel (BCc), wherein the public restriction channel is different from the deleted object channel (S106, S107).

5. The information processing method according to claim 4, wherein It also includes the following steps: It also records the block number information associated with the location of the processed block (BLe), wherein the processed block is a block (S115) in which the public restriction information associated with the public restriction information associated with the public restriction information has been deleted from the multiple public restriction blocks (BLc) constituting the public restriction channel. In the above-mentioned inspection process that confirms the tampering of the above-mentioned public restricted channel, the starting position of the above-mentioned inspection process is determined based on the above-mentioned block number information (S124).

6. An information processing system that uses blockchain (BC) technology to store and manage data of stored objects (DS), comprising: The data storage unit (51) classifies the above-mentioned storage object data into a plurality of data categories, wherein The aforementioned data types include at least deleteable data (DD) that is allowed to be deleted and non-deletable data (DN) that is not allowed to be deleted. The deleteable data and the non-deletable data are associated with and stored in a way that distinguishes them from the channels of the blockchain. as well as A falsification checking section (33) records block number information (BNi) associated with the position of a processed block (BLe) that is a block in which the storage target data associated with the block has been deleted from among a plurality of deletion target blocks (BLa) that constitute a deletion target channel (BCa) in which the deletion permissible data is stored, and determines the start position of a checking process for confirming falsification of the deletion target channel based on the block number information.

7. A storage medium storing an information processing program for storing storage target data (DS) using a technology using a blockchain (BC), and readable by a computer (10), The information processing program is configured to cause at least one processor (11) to execute a process including: classifying the storage target data into a plurality of data categories including at least deletion permissible data that is deletion permissible and non-deletion data (DN) that is not deletion permissible (S102), storing the deletion permissible data and the non-deletion data in association with mutually different channels of the blockchain (S104, S105), record the block number information (BNi) associated with the position of the processed block (BLe), wherein the processed block is a block in which the storage target data associated with the block has been deleted from among a plurality of deletion target blocks (BLa) that constitute a deletion target channel (BCa) in which the deletion permissible data is stored (S114), in a checking process for confirming falsification of the deletion target channel, the start position of the checking process is determined based on the block number information (S122).

Citation Information

Patent Citations

  • Information processing device and control method therefor

    JP2023018905A

  • Adhesive material, article and polymer

    JP2023107363A