WO2025004540A1 - 情報処理方法、情報処理システム、及び記憶媒体 - Google Patents
情報処理方法、情報処理システム、及び記憶媒体 Download PDFInfo
- Publication number
- WO2025004540A1 WO2025004540A1 PCT/JP2024/017048 JP2024017048W WO2025004540A1 WO 2025004540 A1 WO2025004540 A1 WO 2025004540A1 JP 2024017048 W JP2024017048 W JP 2024017048W WO 2025004540 A1 WO2025004540 A1 WO 2025004540A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- deletion
- deleted
- channel
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Definitions
- This specification discloses technology for storing data using blockchain.
- Patent Document 1 a registration blockchain distributed ledger in which transaction registration processing is possible 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.
- the registration blockchain distributed ledger becomes the reference blockchain distributed ledger over time and is then deleted.
- old past data is deleted across the board. Therefore, after past data is deleted, it becomes impossible to perform tamper checks on the data, making it difficult to confirm that it has not been tampered with.
- the purpose of this disclosure is to provide an information processing method, information processing system, and storage medium that can appropriately delete stored data using blockchain technology.
- one disclosed aspect is an information processing method for storing data to be stored using blockchain 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 for deletion that allows deletion and data not permitted for deletion that does not allow deletion; storing the data permitted for deletion and data not permitted for deletion linked to different channels of the blockchain; recording block number information related to the position of a processed block from which data to be stored linked to a block to be deleted has been deleted among a plurality of blocks to be deleted that constitute the channel to be deleted that stores the data permitted for deletion; and determining the start position of the check process based on the block number information in a check process to check for tampering with the channel to be deleted.
- Another disclosed aspect is an information processing system that uses blockchain technology to store data to be stored, and includes a data storage unit that classifies the data to be stored into a plurality of data types including at least data permitted for deletion that is permitted for deletion and non-deletion data that is not permitted for deletion, and stores the data permitted for deletion and the data not permitted for deletion by linking them to different channels of the blockchain; and a tampering check unit that records block number information related to the position of a processed block from which data to be stored linked to a block to be deleted has been deleted among a plurality of blocks to be deleted that constitute the channel to be deleted that stores the data permitted for deletion, and determines the start position of the check process based on the block number information in a check process to check for tampering with the channel to be deleted.
- a data storage unit that classifies the data to be stored into a plurality of data types including at least data permitted for deletion that is permitted for deletion and non-deletion data that is not permitted for deletion, and stores the data permitted for deletion and the data
- Another disclosed aspect is a computer-readable storage medium that stores an information processing program for storing data to be stored using blockchain technology, the information processing program being configured to cause at least one processor to execute processes including: classifying data to be stored into a plurality of data types including at least data permitted for deletion that allows deletion and data not permitted for deletion, storing the data permitted for deletion and data not permitted for deletion by linking them to different channels of the blockchain; recording block number information related to the position of a processed block from which data to be stored linked to a block to be deleted has been deleted among a plurality of blocks to be deleted that constitute a channel to be deleted that stores data permitted for deletion; and determining the start position of a check process based on the block number information in a check process to check for tampering with the channel to be deleted.
- block number information related to the position of the processed block is recorded in the channel to be deleted that stores the deletion permission data. Therefore, if the start position of the check process is determined based on the block number information, a tamper check can be performed on the channel to be deleted even after the stored data has been deleted, and it can be confirmed that the data has not been tampered with. Therefore, it becomes possible to appropriately delete stored data using blockchain technology.
- 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.
- 11 is a diagram for explaining the contents of a registration process of data to be stored by a data registration unit.
- FIG. This is a diagram to explain the details of data storage by blockchain nodes.
- FIG. 13 is a diagram illustrating an example of sorting data to be stored.
- 11 is a diagram for explaining the contents of a deletion process of data to be stored by a data deletion unit.
- FIG. 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. 10 is a flowchart showing details of a data registration process executed by a data registration unit.
- 13 is a flowchart showing details of a data deletion process performed by a data deletion unit.
- 13 is a flowchart showing details of a tamper checking process performed by a tamper checking unit.
- 13 is a diagram for explaining the contents of a deletion process of data to be stored in the first modified example.
- FIG. 13 is a diagram for explaining the contents of a tamper check process.
- the blockchain platform 100 uses blockchain BC technology to enable information sharing between participating clients (e.g., companies, etc.).
- the blockchain platform 100 uses a general-purpose blockchain BC framework such as Hyperledger Fabric (HLF, see FIG. 3).
- the blockchain platform 100 makes it possible to build a private blockchain network (hereinafter, a channel) in which only specific participants can join the network and share data and transactions. As a result, it is possible to meet the privacy and confidentiality requirements of each participant.
- the blockchain platform 100 includes multiple blockchain nodes (hereinafter, BC nodes) 50.
- each BC node 50 is constructed by a blockchain server (virtual machine) on the cloud.
- the blockchain server is mainly composed of a control circuit 10.
- the control circuit 10 includes a processor 11, RAM 12, storage 13, an input/output interface 14, and a bus that connects these, and functions as a high-performance computer that performs calculation processing at high speed.
- the processor 11 is hardware for arithmetic processing coupled with the RAM 12.
- the processor 11 executes various processes (instructions) related to the management and provision of data by accessing the RAM 12.
- the storage 13 stores an information processing program that realizes functions related to the management and provision of data.
- the information processing program is a program for causing the blockchain server (control circuit 10) to implement the information processing method disclosed herein.
- the BC node 50 is a blockchain management system linked to the systems of individual clients.
- the automobile manufacturer OEM
- the dealers that sell the vehicles are clients (Users B and C in Figure 1).
- One of the multiple BC nodes 50 is a BC node 60 (BC Node_B in Figure 1) that links with a user terminal 160 (User Terminal B in Figure 1) of the OEM's management system.
- Another of the multiple BC nodes 50 is a BC node 80 (BC Node_C in Figure 1) that links with a user terminal 160 (User Terminal C in Figure 1) of the dealer's management system.
- the BC node 60 includes a node database 70 (B_DB in FIG. 1).
- the node database 70 stores data to be stored DS linked to user B, and enables the data to be stored DS to be shared with other BC nodes 50.
- the BC node 60 includes a node database 90 (C_DB in FIG. 1).
- the node database 90 stores data to be stored DS linked to 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 linked to each user terminal.
- 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.
- the data registration unit 51 receives a new registration request for data to be stored DS from the user terminal 160 or the like. Based on the registration request, the data registration unit 51 executes a registration process (see FIG. 7) for the data to be stored DS. The data registration unit 51 prepares the original data DM, metadata, and a hash value from the data to be stored DS.
- 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.
- document data in PDF format, image data in JPEG format, and multimedia data with large data sizes, such as music data and video data in MPEG format are considered to be original data DM.
- 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 is specifically generated in conjunction with the registration and usage process, such as the registration (connection) and search of the data to be stored DS, as well as authentication of data and users.
- the related data of the blockchain BC excluding pure vehicle information, becomes metadata.
- Metadata is closely related to the structure of the blockchain BC. Deleting 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 user, etc. are prepared as metadata.
- the summary data is, for example, the data name (file name) of the original data DM, the creation date and time, the data size, the data format (extension), etc.
- the operation data is, for example, the contents that record the implementation history of the registration operation to the blockchain BC, ID assignment, data authentication, data search, etc.
- the authentication information is information related to 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.
- 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.
- encryption algorithms such as SHA-1, SHA-2, SHA-3, and SHA-512 may be used to generate the hash value.
- the data registration unit 51 classifies the data DS to be stored into a plurality of data types including at least data DD permitted to be deleted and data DN not to be deleted.
- Data DD permitted to be deleted is data permitted to be deleted after a specified period of time has elapsed or based on a specific deletion trigger.
- Data DD permitted to be deleted includes the above-mentioned hash value.
- Data DN not to be deleted is data not to be deleted that is not permitted to be deleted, and is essentially stored permanently.
- Data DN not to be deleted includes the above-mentioned metadata.
- 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.
- the original data DM which has a large data size, is stored in the object storage So.
- the metadata and hash value which have a small data size and which should be shared between participants without being tampered with, are stored in the instance storage Si.
- 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 necessary for searching information stored in the search target database So2. That is, information linked to the object (original data DM) stored in the search target database So2 is stored in the search index database So1.
- RDS Relational Database Service
- RDS is a relational database provided on AWS (Amazon Web Services, registered trademark).
- S3 Simple Storage Service
- the S3 bucket is provided on AWS like RDS and can store large amounts of data permanently.
- the data stored in the object storage So is not shared with other BC nodes 50. Instead of RDS and S3 buckets, other cloud storage such as Azure Blob Storage from Azure (registered trademark) may be available.
- the instance storage Si is local storage for the blockchain server. Instead of the instance storage Si, block storage that stores the data of the blockchain server in blocks on the cloud may be used. In this case, AWS's EBS (Elastic Block Store) and Azure's Azure Managed Disks, etc. can be used as the instance storage Si.
- the data stored in the instance storage Si can be shared with other BC nodes 50.
- the data registration unit 51 stores the deletion-permitted data DD, which includes a hash value, and the deletion-non-target data DN, which includes metadata, separately in different channels of the blockchain BC.
- the network of the blockchain BC that stores the deletion-permitted data DD is set as a first blockchain channel dedicated to the deletion-permitted data DD (hereinafter, channel A BCa).
- the network of the blockchain BC that stores the deletion-non-target data DN is set as a second blockchain channel dedicated to the deletion-non-target data DN (hereinafter, channel B BCb).
- Both channel A BCa and channel B BCb are public channels that share data with other BC nodes 50.
- 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.
- the hash value generated from one Ach block BLa is stored in the next Ach block BLa.
- timestamp data indicating the date and time when the deletion permission data DD was added is recorded in the Ach block BLa.
- Bch block BLb In each block BL (hereinafter, Bch block BLb) that constitutes B channel BCb, data DN that is not subject to deletion is stored as a transaction.
- the data DN that is not subject to deletion is registered as block data of B channel BCb and is also stored in Ledger DC.
- B channel BCb the hash value generated from one Bch block BLb is stored in the next Bch block BLb.
- timestamp data indicating the date and time when the data DN that is not subject to deletion was added is also recorded in the Bch block BLb.
- the timestamp data may simply be information indicating the date and time, or may be a hash value generated by a timestamp server or the like.
- the timestamp server takes news articles distributed by a news distribution server or the like as input information, and generates a hash value of a predetermined number of bits (e.g., 256 bits) as timestamp data by inputting the input information into a hash function.
- 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 A channel BCa.
- a channel BCa becomes a vehicle channel that stores vehicle information.
- 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.
- the data registration unit 51 sets approval information, asset information, access information, other stored information, etc. as data not to be deleted DN. Then, this information is stored in B channel BCb.
- 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 that is not to be disclosed to other BC nodes 50, such as trade secrets and key information.
- C channel BCc is a private channel corresponding to A channel BCa, and stores deletion permission data DD from among the non-disclosure information.
- D channel BCd is a private channel corresponding to B channel BCb, and stores non-deletion target data DN from among the non-disclosure information.
- 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 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).
- the C channel BCc may be a private channel used for sharing data within a specific group. In this case, only a portion of all BC nodes 50, that is, BC nodes 50 within a pre-defined shared group, will be able to access the C channel BCc and the D channel BCd. Furthermore, if the non-disclosure information does not include data DN not to be deleted, or if the non-disclosure information contains only a small amount of data DN not to be deleted, the D channel BCd does not need to be provided.
- the data deletion unit 52 executes a deletion process (see FIG. 8) to delete some of the data DS to be stored, as shown in FIG. 3 and FIG. 5.
- the data deletion unit 52 may automatically delete data DS to be stored that has been stored for a certain period of time (e.g., seven years) or may delete old data DS to be stored based on a deletion request received from the user terminal 160 or the BC node 30 described below.
- the data deletion unit 52 targets for deletion data DS that was stored before a specific time based on a predefined period condition or conditions specified in a deletion request.
- the data deletion unit 52 targets for deletion only data that is linked to A channel BCa and C channel BCc. In other words, the data deletion unit 52 does not target for deletion data that is linked to B channel BCb and stored.
- the data deletion unit 52 determines the range of blocks BL to be processed in the A channel BCa and C channel BCc based on the timestamp 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 Figure 5).
- the data deletion unit 52 deletes the data group linked to the blocks BLa, BLc set as the processing target. On the other hand, the data deletion unit 52 does not delete the blocks BLa, BLc (block data files, see Figure 3) themselves. Note that when the timestamp data of the data to be stored DS is stored in the object storage So, the data deletion unit 52 may use the timestamp data of the object storage So to determine the data group to be deleted.
- the data deletion unit 52 deletes the deletion permission data DD, which corresponds to a copy of the block data included in the Ach block BLa (expired block BLe) to be processed, from the ledger DC.
- 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 was used to generate the deletion permission data DD stored in the Ach block BLa to be processed, from the object storage So.
- the data deletion unit 52 deletes non-disclosure information equivalent to a copy of the 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.
- original data DM etc. linked to A channel BCa or C channel BCc is deleted when the storage period expires.
- This makes it possible to delete large-sized multimedia data such as document data, image data, music data, and video data from the search index database So1 and search target database So2 of the object storage So.
- data related to B channel BCb not only the block data contained 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.
- 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 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 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 has been deleted as an expired block BLe (see dots in Figure 5).
- the block number information BNi is information indicating the boundary position between the range of the expired blocks BLe and the range of the blocks BL from which the original data DM has not been deleted in each of the A channel BCa and the C channel BCc.
- the data deletion unit 52 designates the oldest block BL among the numerous 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 described later.
- the block number information BNi may be shared among multiple BC nodes 50 using the blockchain BC.
- 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 requests to reference the data to be stored 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 data to be stored DS based on the reference request, and provides the generated data to be provided to the external system or user terminal 110 that is the request source.
- the BC node 30 has 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.
- the tamper checking unit 33 acquires block number information BNi when a portion of the data DS to be stored is deleted by the data deletion unit 52.
- the tamper checking 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 sharing information via the blockchain BC.
- the tamper checking unit 33 records the acquired block number information BNi in the node database 40.
- the tamper checking unit 33 registers the block number information BNi in a private channel of the node database 40.
- the tamper checking unit 33 updates the block number information BNi linked to the A channel BCa. Similarly, when the data deletion unit 52 newly performs a deletion process on the original data DM etc. linked to the Cch block BLc, the tamper checking unit 33 updates the block number information BNi linked to the C channel BCc.
- the tamper checking unit 33 performs a tamper checking process (see FIG. 9) to check whether the data to be stored DS 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 the data in each block BL (the transaction and 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.
- the tamper checking unit 33 In the process of checking for tampering of B channel BCb, the tamper checking unit 33 starts recalculating the hash value from the oldest Bch block BLb located at the beginning of B channel BCb. On the other hand, in the process of checking for tampering of A channel BCa and C channel BCc, the tamper checking unit 33 determines the starting position (start block) of the check process based on the block number information BNi.
- 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. Also, 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.
- 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.
- the BC node 30 may have the function of the data deletion unit 52 and be capable of executing data deletion processing.
- the data registration process shown in FIG. 7 is mainly performed by the data registration unit 51 (see FIG. 2).
- the data registration unit 51 acquires the data to be stored DS by reception from the user terminal 160.
- the data registration unit 51 sorts the acquired data to be stored DS into a plurality of data types including at least data DD permitted to be deleted and data DN not to be deleted. If non-disclosure information is included in the acquired data to be stored DS, the data registration unit 51 sorts this non-disclosure information into a data type different from the data DD permitted to be deleted and data DN not to be deleted in S102.
- the data registration unit 51 acquires timestamp data indicating the acquisition timing or storage timing of the data to be stored DS.
- the deletion-permitted data DD and the deletion-non-target data DN are stored separately in different channels of the blockchain 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.
- the non-disclosure information is stored in a private chain prepared separately from the public chain.
- the data registration unit 51 adds a new Cch block BLc that stores the current non-disclosure information to the C channel BCc.
- 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 data to be stored DS does not contain non-disclosure information, the processes of S106 and S107 are omitted.
- 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.
- the timestamp data acquired in S103 is recorded in each block BL to be added.
- 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. Note that the order in which steps S104 to S108 are performed may be changed as appropriate.
- the data deletion process shown in FIG. 8 is mainly performed by the data deletion unit 52 (see FIG. 5).
- the data deletion unit 52 grasps the storage target data DS to be deleted.
- the data deletion unit 52 refers to the timestamp data recorded in each Ach block BLa and identifies the Ach block BLa that falls within the deletion period.
- the data deletion unit 52 refers to the timestamp data recorded in each Cch block BLc and identifies the Cch block BLc that falls within the deletion period.
- the data deletion unit 52 When performing data deletion based on a specific deletion trigger, the data deletion unit 52 also refers to the timestamp 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.
- the data deletion unit 52 sets the Ach block BLa and Cch block BLc that fall within the deletion period in S111 to expired blocks BLe in S112.
- the data deletion unit 52 deletes the storage target data DS linked to the expired blocks BLe, i.e., the deletion permission data DD, non-disclosure information, and original data DM.
- the expired block BLe is set only for the A channel BCa, and the deletion of the original data DM is applied. Note that the order of carrying out S112 and S113 may be changed as appropriate. Specifically, after deleting the original data DM that falls within the deletion period, the corresponding block BL may be set to the expired block BLe.
- the tamper checking unit 33 records block number information BNi related to the position of the expired block BLe currently set, which indicates the starting position (start block) of the tamper checking. If an expired block BLe is newly set in the A channel BCa, the tamper checking unit 33 updates the block number information BNi linked to the A channel BCa in S114. Similarly, if an expired block BLe is newly set in the C channel BCc, the tamper checking unit 33 updates the block number information BNi linked to the C channel BCc in S115.
- the tamper check process shown in FIG. 9 is mainly performed by the tamper check unit 33 (see FIG. 6).
- 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 the 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.
- the tamper checking unit 33 refers to the block number information BNi linked to the A channel BCa and determines the number of the start block (start position) at which to start the tamper checking of the A channel BCa.
- the tamper checking unit 33 checks whether or not the Ach blocks BLa after the start block (specific block BLs) of the A channel BCa have been tampered with. In other words, the tamper checking unit 33 excludes the expired blocks BLe from the tamper checking.
- the tamper checking unit 33 then 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.
- the tamper checking unit 33 references the block number information BNi linked to the C channel BCc and determines the number of the starting block (starting position) at which to start the tamper checking of the C channel BCc.
- 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 blocks BLe of the C channel BCc are excluded from the tamper checking.
- 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.
- the check process of C channel BCc which is a private chain, may be executed as a separate process from the check process of A channel BCa and B channel BCb, which are public chains.
- the tamper checking unit 33 determines 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 determines 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 sends an abnormality detection notification indicating a possibility of tampering to the source of the check request.
- the tampering check unit 33 determines in S128 that there is no possibility of tampering. That is, in S128, the tampering check unit 33 determines that the data to be stored DS is normal. In this case, the tampering check unit 33 may send 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.
- block number information BNi indicating the position of the expired block BLe is recorded, it becomes possible to start the tamper check process of A channel BCa from an appropriate position. Therefore, it is possible to avoid a situation in which it becomes difficult to properly execute the tamper check process due to data deletion. Furthermore, the tamper check process can be applied without omission to the range of Ach blocks BLa in A channel BCa where it is possible to determine whether or not there has been tampering.
- the data to be stored DS As a result, the data to be stored DS related to channel B BCb continues to be stored permanently. Therefore, even after a portion of the data to be stored DS is deleted, 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 channel B BCb.
- the original data DM related to the deletion permission data DD is stored in an object storage So that is 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.
- the deletion permission data DD in this embodiment includes a hash value generated from the original data DM.
- the deletion non-target data DN includes metadata related to the original data DM.
- non-disclosure information which is restricted in its disclosure target for the deletion permission data DD, is stored in association with a C channel BCc that is different from the Ach block BLa. Therefore, trade secrets and the like that cannot be disclosed to other BC nodes 50 can also be stored securely using blockchain BC technology.
- block number information BNi related to the position of the expired block BLe from which the non-disclosure information has been deleted is recorded. Then, in a check process to check 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 becomes possible to delete non-disclosure information stored by the C channel BCc, just like the original data DM of the deletion permission data DD. As a result, it becomes possible to effectively reduce the amount of accumulated data.
- object storage So is secured in addition to instance storage Si that allows information sharing between BC nodes 50.
- the original data DM is stored in the object storage So in addition to the hash values and metadata.
- 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 restricted channel”
- the non-disclosure information corresponds to the "disclosure restricted information”.
- the Ach block BLa corresponds to the "block to be deleted”
- the Cch block BLc corresponds to the "disclosure restricted block”
- the expired block BLe corresponds to the "processed block”
- the data not to be deleted DN corresponds to the "non-deleted data”.
- 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”
- the storage 13 corresponds to the "storage medium”.
- non-disclosed information is securely stored using a technology different from the blockchain BC.
- non-disclosed information of each client is stored in a database managed by each client.
- the data deletion unit 52 shown in FIG. 10 sets an expired block BLe only on the A channel BCa out of the A channel BCa and the B channel BCb, and deletes the original data DM etc. linked to the expired block BLe.
- the tamper checking unit 33 shown in FIG. 11 also performs a tamper checking of the Ach blocks BLa after the specific block BLs, and a tamper checking of all the Bch blocks BLb.
- the number of channels of the blockchain BC constructed in the blockchain platform 100 may be changed as appropriate.
- multiple private channels of different BC nodes 50 that share data may be set in the blockchain platform 100.
- multiple public channels that correspond to the A channel BCa in the above embodiment and allow the deletion of the linked original data DM may be set.
- the original data DM is stored in the instance storage Si. That is, in variant 2, the storage configuration equivalent to the object storage So is omitted.
- the original data DM is treated as deletion permission data DD in the instance storage Si.
- the original data DM is then stored in the Ach block BLa as a transaction of the A channel BCa.
- 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.
- the recording of block number information BNi is not performed.
- the tamper checking unit 33 of the third modification grasps the state of the A channel BCa and the C channel BCc each time during the tamper checking process, and determines the starting position of the check process to be performed on each channel, without relying on the block number information BNi.
- the information (data) to be classified as data permitted to be deleted DD and the information (data) to be classified as data not to be deleted DN may be changed as appropriate depending on the purpose of use of the blockchain platform 100, etc.
- each function provided by the BC node 50 can be provided by software and hardware that executes it, software alone, hardware alone, or a combination of these.
- each function can also be provided by digital circuits including multiple logic circuits, or analog circuits.
- the processor in the above embodiment may be configured to include at least one computational 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 IP cores with other dedicated functions.
- the processor is not limited to a chip configuration individually implemented on a printed circuit board. Configurations implemented in an ASIC (Application Specific Integrated Circuit), SoC (System on Chip), FPGA, etc. may also correspond to the processor.
- non-transitory tangible storage medium employed as storage in the above embodiments and storing each program may be changed as appropriate.
- the storage medium is not limited to being provided on a circuit board, but may be provided in the form of a memory card or the like, inserted into a slot, and electrically connected to a computer bus.
- the storage medium may be an optical disk, hard disk drive, solid state drive, etc., used as a source from which programs are copied or distributed to a computer.
- control unit and the method described in the present disclosure may be realized by a dedicated computer comprising a processor programmed to execute one or more functions embodied in a computer program.
- the device and the method described in the present disclosure may be realized by a dedicated hardware logic circuit.
- the device and the method described in the present disclosure may be realized by one or more dedicated computers configured by a combination of a processor that executes a computer program and one or more hardware logic circuits.
- the computer program may be stored on a computer-readable non-transient tangible recording medium as instructions executed by the computer.
- 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),
- 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);
- 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 Concept 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 Technical Idea 1 further includes the step of: (Technical Concept 3) the deletion permission data includes a hash value generated from the original data,
- the information processing method according to Technical Idea 2 wherein the non-deleted data includes data generated in association with the storage of the original data in the blockchain.
- 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 further includes the step of: (Technical Concept 6) 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),
- BLa blocks to be deleted
- BCa channel to be deleted
- 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);
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ブロックチェーンプラットフォームのノードは、情報処理方法を実施し、ブロックチェーン(BC)の技術を用いて保管対象データを保管する。この情報処理方法では、保管対象データは、削除を許可する削除許可データと、削除を許可しない削除非対象データとを少なくとも含む複数のデータ種別に仕分けされる。削除許可データ及び削除非対象データは、ブロックチェーン(BC)の互いに異なるチャネルに紐づけて保管される。そして、保管対象データを削除した期限切れブロック(BLe)の位置に関連するブロック番号情報(BNi)が記録され、削除許可データを保管するAチャネル(BCa)の改ざんを確認するチェック処理では、ブロック番号情報(BNi)に基づき、チェック処理の開始位置が決定される。
Description
この出願は、2023年6月29日に日本に出願された特許出願第2023-107363号、及び、2023年11月9日に日本に出願された特許出願第2023-191815号を基礎としており、基礎の出願の内容を、全体的に、参照により援用している。
この明細書による開示は、ブロックチェーンを用いてデータを保管する技術に関する。
特許文献1に開示の情報処理装置では、トランザクションの登録処理が可能な登録ブロックチェーン分散台帳と、トランザクションの登録処理が行われない参照ブロックチェーン分散台帳とが分けて記憶されている。この情報処理装置は、参照ブロックチェーン分散台帳を削除することで、ブロックチェーン技術を用いて保存されたデータの肥大化を抑制している。
特許文献1の情報処理装置では、登録ブロックチェーン分散台帳は、時間の経過によって参照ブロックチェーン分散台帳となり、その後に削除される。即ち、古い過去データは、一律に削除されてしまう。故に、過去データを削除した後では、これらの改ざんチェックが実施できなくなり、改ざんされてないことの確認が困難となり得る。以上のように、特許文献1に開示されたデータの削除手法には問題があった。
本開示は、ブロックチェーンの技術を用いて保管するデータを適切に削除することが可能な情報処理方法、情報処理システム、及び記憶媒体の提供を目的とする。
上記目的を達成するため、開示された一つの態様は、ブロックチェーンの技術を用いて保管対象データを保管する情報処理方法であって、保管対象データを、削除を許可する削除許可データと、削除を許可しない非削除データとを少なくとも含む複数のデータ種別に仕分けし、削除許可データ及び非削除データを、ブロックチェーンの互いに異なるチャネルに紐づけて保管し、削除許可データを保管する削除対象チャネルを構成する複数の削除対象ブロックのうちで、当該削除対象ブロックに紐づく保管対象データを削除した処理済みブロックの位置に関連するブロック番号情報を記録し、削除対象チャネルの改ざんを確認するチェック処理にて、ブロック番号情報に基づき、チェック処理の開始位置を決定する、というステップを、少なくとも一つのプロセッサにて実行される処理に含む情報処理方法とされる。
また開示された一つの態様は、ブロックチェーンの技術を用いて保管対象データを保管する情報処理システムであって、保管対象データを、削除を許可する削除許可データと、削除を許可しない非削除データとを少なくとも含む複数のデータ種別に仕分けし、削除許可データ及び非削除データを、ブロックチェーンの互いに異なるチャネルに紐づけて保管するデータ保管部と、削除許可データを保管する削除対象チャネルを構成する複数の削除対象ブロックのうちで、当該削除対象ブロックに紐づく保管対象データを削除した処理済みブロックの位置に関連するブロック番号情報を記録し、削除対象チャネルの改ざんを確認するチェック処理にて、ブロック番号情報に基づき、チェック処理の開始位置を決定する改ざんチェック部と、を備える情報処理システムとされる。
また開示された一つの態様は、ブロックチェーンの技術を用いて保管対象データを保管する情報処理プログラムが格納され、コンピュータが読み取り可能な記憶媒体であって、情報処理プログラムは、保管対象データを、削除を許可する削除許可データと、削除を許可しない非削除データとを少なくとも含む複数のデータ種別に仕分けし、削除許可データ及び非削除データを、ブロックチェーンの互いに異なるチャネルに紐づけて保管し、削除許可データを保管する削除対象チャネルを構成する複数の削除対象ブロックのうちで、当該削除対象ブロックに紐づく保管対象データを削除した処理済みブロックの位置に関連するブロック番号情報を記録し、削除対象チャネルの改ざんを確認するチェック処理にて、ブロック番号情報に基づき、チェック処理の開始位置を決定する、ことを含む処理を、少なくとも一つのプロセッサに実行させるように構成されている、記憶媒体とされる。
これらの態様では、保管対象データを削除した場合、削除許可データを保管する削除対象チャネルにおいて、処理済みブロックの位置に関連するブロック番号情報が記録される。故に、ブロック番号情報に基づきチェック処理の開始位置を決定すれば、保管対象データを削除した後でも、削除対象チャネルの改ざんチェックが実施でき、改ざんされてないことが確認され得る。したがって、ブロックチェーンの技術を用いて保管するデータを適切に削除することが可能になる。
尚、請求の範囲における括弧内の参照番号は、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、技術的範囲を何ら制限するものではない。また、特に組み合わせに支障が生じなければ、請求の範囲において明示していない請求項同士の組み合せも可能である。
図1に示す本開示の一実施形態によるブロックチェーンプラットフォーム100は、ブロックチェーンBCの技術を用いて、参加者となるクライアント(例えば、企業等)間での情報の共有を可能にする。ブロックチェーンプラットフォーム100には、例えばHyperledger Fabric(HLF,図3参照)等の汎用的なブロックチェーンBCのフレームワークが用いられる。ブロックチェーンプラットフォーム100では、特定の参加者のみがネットワークに参加し、データ及びトランザクションを共有できるプライベートなブロックチェーンネットワーク(以下、チャネル)が構築可能である。以上により、各参加者のプライバシー及び機密性の要件を満たすことが可能になっている。
ブロックチェーンプラットフォーム100は、複数のブロックチェーンノード(以下、BCノード)50を含んでなる。各BCノード50は、一例として、クラウド上のブロックチェーンサーバ(仮想マシン)によって構築されている。ブロックチェーンサーバは、制御回路10を主体とする構成である。制御回路10は、プロセッサ11、RAM12、ストレージ13、入出力インターフェース14、及びこれらを接続するバス等を備えており、演算処理を高速で実施する高性能なコンピュータとして機能する。
プロセッサ11は、RAM12と結合された演算処理のためのハードウェアである。プロセッサ11は、RAM12へのアクセスにより、データの管理及び提供に関連する種々の処理(インストラクション)を実行する。ストレージ13には、データの管理及び提供に関連した機能を実現する情報処理プログラムが格納されている。情報処理プログラムは、本開示の情報処理方法をブロックチェーンサーバ(制御回路10)に実施させるためのプログラムである。
BCノード50は、個々のクライアントのシステムに紐づくブロックチェーン管理システムである。一例として、車両の情報を管理するブロックチェーンネットワークでは、車両を製造する自動車製造者(Original Equipment Manufacture,OEM)、及び車両を販売するディーラー等がクライアント(図1 ユーザB,C)となる。複数のBCノード50のうちの1つが、OEMの管理システムのユーザ端末160(図1 ユーザ端末B)と連携するBCノード60(図1 BC Node_B)である。また、複数のBCノード50のうちの他の1つが、ディーラーの管理システムのユーザ端末160(図1 ユーザ端末C)と連携するBCノード80(図1 BC Node_C)である。
BCノード60は、ノードデータベース70(図1 B_DB)を備えている。ノードデータベース70は、ユーザBに紐づく保管対象データDSを保管すると共に、保管対象データDSを他のBCノード50と共有可能にする。同様に、BCノード60は、ノードデータベース90(図1 C_DB)を備えている。ノードデータベース90は、ユーザCに紐づく保管対象データDSを保管し、保管対象データDSを他のBCノード50と共有可能にする。保管対象データDSは、ブロックチェーンBCの技術を利用し、ブロックチェーンプラットフォーム100において保管及び共有が行われるデータである。保管対象データDSは、各ユーザ端末において収集され、各ユーザ端末に紐づくBCノード50に送信される。
BCノード50は、各ユーザのユーザ端末160から、保管対象データDSについて、新規の登録要求、更新要求、参照要求、及び削除要求等を受け付ける。BCノード50は、データ登録部51及びデータ削除部52等の機能部を備えている。尚、後述するBCノード30も、他のBCノード50と同様に、データ登録部51を備えていてよい。
データ登録部51は、図2に示すように、ユーザ端末160等から、保管対象データDSの新規の登録要求を受け付ける。データ登録部51は、登録要求に基づき、保管対象データDSの登録処理(図7参照)を実行する。データ登録部51は、保管対象データDSから、元データDM、メタデータ、及びハッシュ値を準備する。
元データDMは、保管対象データDSの本体部分であって、保管対象データDSの生データである。具体的には、PDF形式等の文書データ、JPEG形式等の画像データ、並びにMPEG形式等の音楽データ及び動画データ等、データサイズの大きいマルチメディアデータが、元データDMとされる。
メタデータは、保管対象データDS(元データDM)に関連する情報を提供するデータである。メタデータは、ブロックチェーンBCへの保管対象データDSの保管に関連するデータであって、具体的には、保管対象データDSの登録(接続)、検索等の操作、並びにデータ及びユーザの認証等の登録利用工程が行われることに伴って生成される。上述した車両の情報を管理するブロックチェーンネットワークでは、純粋な車両の情報を除くブロックチェーンBCの関連データがメタデータとなる。
メタデータは、ブロックチェーンBCの構造に緊密に関連している。メタデータを削除すると、ブロックチェーンBCに影響を及ぼす可能性がある。具体的には、保管対象データDSの内容、特性、構造、関係等を示す概要データ、この概要データに関する操作データ、並びにデータ及びユーザの認証情報等が、メタデータとして準備される。概要データは、例えば元データDMのデータ名(ファイル名)、作成日時、データサイズ、データ形式(拡張子)等である。操作データは、例えばブロックチェーンBCへの登録操作、ID付与、データ認証、データ検索等の実施履歴を記録した内容である。認証情報は、公開鍵及び付与されたIDに関する情報である。メタデータは、ユーザ端末160によって生成されてもよく、又はユーザ端末160から提供された保管対象データDSを用いてデータ登録部51により生成されてもよい。
ハッシュ値は、元データDMを用いて生成される。ハッシュ値は、所定のビット数(例えば、256ビット)が維持されるデータであり、かつ、元データDMの内容が反映された固有の値となる。ハッシュ値の生成には、例えばSHA-256等のハッシュ関数が用いられる。SHA-256に替えて、SHA-1、SHA-2、SHA-3及びSHA-512等の暗号化アルゴリズム(ハッシュ関数)が、ハッシュ値の生成に用いられてもよい。
データ登録部51は、保管対象データDSを削除許可データDD及び削除非対象データDNを少なくとも含む複数のデータ種別に仕分けする。削除許可データDDは、所定期間の経過又は特定の削除トリガに基づき、削除が許可されるデータである。削除許可データには、上述のハッシュ値が含まれる。削除非対象データDNは、データの削除が許可されない非削除対象データであり、実質的に恒久保存される。削除非対象データDNには、上述のメタデータが含まれる。
データ登録部51は、元データDMと、ハッシュ値及びメタデータとを、ノードデータベース70の異なるデータ保存領域(ストレージ)に保存する。具体的に、データサイズの大きい元データDMは、オブジェクトストレージSoに保管される。一方、データサイズが小さく、かつ、参加者間において改ざんのない状態で共有したいメタデータ及びハッシュ値は、インスタンスストレージSiに保管される。
図2及び図3に示すオブジェクトストレージSoは、ファイル及びデータをオブジェクトとして保存するストレージである。一例として、オブジェクトストレージSoには、検索用インデックスデータベースSo1と、検索対象データベースSo2が構築されている。検索用インデックスデータベースSo1には、検索対象データベースSo2に保管された情報の検索に必要なデータが保存されている。即ち、検索対象データベースSo2に格納されるオブジェクト(元データDM)に紐つく情報が、検索用インデックスデータベースSo1に保存される。検索用インデックスデータベースSo1には、例えばRDS(Relational Database Service)が利用可能である。RDSは、AWS(Amazon Web Services,登録商標)上で提供されるリレーショナルデータベースである。検索対象データベースSo2には、例えばS3(Simple Storage Service)バケットが利用可能である。S3バケットは、RDSと同様にAWS上で提供され、大量のデータを永続的に保存可能である。オブジェクトストレージSoに保管されるデータは、他のBCノード50との間で共有されない。尚、RDS及びS3バケット等に替えて、例えばAzure(登録商標)のAzure Blob Storage等、他のクラウドストレージが利用可能であってよい。
インスタンスストレージSiは、ブロックチェーンサーバのローカルなストレージである。インスタンスストレージSiに替えて、クラウド上において、ブロックチェーンサーバのデータをブロック単位で保存するブロックストレージが利用されてもよい。この場合、インスタンスストレージSiとして、AWSのEBS(Elastic Block Store)及びAzureのAzure Managed Disks等が利用可能である。インスタンスストレージSiに保管されたデータは、他のBCノード50との間で共有可能である。
データ登録部51は、ハッシュ値を含む削除許可データDDと、メタデータを含む削除非対象データDNとを、ブロックチェーンBCの互いに異なるチャネルに分けて保存する。便宜的に、削除許可データDDを保管するブロックチェーンBCのネットワークが、削除許可データDD専用の第1のブロックチェーンチャネル(以下、AチャネルBCa)とされる。そして、削除非対象データDNを保管するブロックチェーンBCのネットワークが、削除非対象データDN専用の第2のブロックチェーンチャネル(以下、BチャネルBCb)とされる。AチャネルBCa及びBチャネルBCbは共に、他のBCノード50とデータ共有されるパブリックチャネルである。
AチャネルBCaを構成する個々のブロックBL(以下、AchブロックBLa)には、トランザクションとしての削除許可データDDが保管される。削除許可データDDは、AチャネルBCaのブロックデータとして登録されると共に、CouchDB等の分散データベースに設けられたレッジャーDC(図3参照)にも保管される。AチャネルBCaでは、1つのAchブロックBLaから生成されたハッシュ値が、次のAchブロックBLaに保管される。さらに、AchブロックBLaには、削除許可データDDを追加した日時を示すタイムスタンプデータが記録される。
BチャネルBCbを構成する個々のブロックBL(以下、BchブロックBLb)には、トランザクションとしての削除非対象データDNが保管される。削除非対象データDNは、BチャネルBCbのブロックデータとして登録されると共に、レッジャーDCにも保管される。BチャネルBCbでは、1つのBchブロックBLbから生成されたハッシュ値が、次のBchブロックBLbに保管される。さらに、BchブロックBLbにも、削除非対象データDNを追加した日時を示すタイムスタンプデータが記録される。
タイムスタンプデータは、単に日時を示す情報であってもよく、又はタイムスタンプサーバ等によって生成されたハッシュ値であってもよい。タイムスタンプサーバは、ニュース配信サーバ等の配信するニュース記事を入力情報とし、この入力情報をハッシュ関数に入力する処理によって所定のビット数(例えば、256ビット)のハッシュ値を、タイムスタンプデータとして生成する。
ここで、車両の情報を管理するブロックチェーンネットワークでは、承認情報、資産情報、アクセス情報、及び他の保管情報等が、車両情報と共に保管対象データDSに含まれる(図4参照)。データ登録部51は、車両情報に基づくハッシュ値を削除許可データDDとする。そして、車両情報に基づくハッシュ値がAチャネルBCaに保管される。AチャネルBCaは、車両情報を保管するビークルチャネルとなる。一例として、元データDMとなる車両情報は、車体番号、年式、グレード、車名、走行距離、衝突検知結果、登録検査結果、登録写真、査定価格等である。さらに、データ登録部51は、承認情報、資産情報、アクセス情報、及び他の保管情報等を削除非対象データDNとする。そして、これらの情報がBチャネルBCbに保管される。
データ登録部51は、AチャネルBCa及びBチャネルBCbとは別のチャネル、具体的には、CチャネルBCc及びDチャネルBCdにもデータを保存可能である。CチャネルBCc及びDチャネルBCdは、AチャネルBCa及びBチャネルBCb等のパブリックチャネルとは異なり、プライベートチャネルである。CチャネルBCc及びDチャネルBCdは、営業秘密及び鍵情報等の他のBCノード50に開示しない非開示情報を保管するチャネルである。CチャネルBCcは、AチャネルBCaに対応するプライベートチャネルであり、非開示情報のうちの削除許可データDDが保管される。DチャネルBCdは、BチャネルBCbに対応するプライベートチャネルであり、非開示情報のうちの削除非対象データDNが保管される。
CチャネルBCc及びDチャネルBCdに保管される非開示情報は、営業秘密及び鍵情報等の生データであってもよく、又は営業秘密及び鍵情報等から生成されたハッシュ値であってもよい。非開示情報の生データは、元データDMとしてオブジェクトストレージSoに保存されている。非開示情報は、削除許可データDD及び削除非対象データDNに対して開示対象が制限された開示制限情報である。非開示情報は、CチャネルBCcを構成する個々のブロックBL(以下、CchブロックBLc)、又はDチャネルBCdを構成する個々のブロックBL(以下、DchブロックBLd)に、タイムスタンプデータ等と共にトランザクションとして保管される。非開示情報は、CチャネルBCc及びDチャネルBCdのブロックデータとして登録されると共に、レッジャーDC(図3参照)にも保管される。
尚、CチャネルBCcは、特定のグループ内でのデータ共有に用いられるプライベートチャネルであってもよい。この場合、全てのBCノード50のうちの一部であって、予め設定された共有グループ内のBCノード50のみが、CチャネルBCc及びDチャネルBCdにアクセス可能となる。また、非開示情報が削除非対象データDNを含まない場合、又は非開示情報に含まれる削除非対象データDNが僅かである場合、DチャネルBCdは、設けられなくてもよい。
データ削除部52は、図3及び図5に示すように、一部の保管対象データDSを削除する削除処理(図8参照)を実行する。データ削除部52は、保存されてから一定の期間(例えば、7年等)が経過した保管対象データDSを自動で削除してもよく、或いは、ユーザ端末160又は後述するBCノード30から受け付けた削除要求に基づき、古い保管対象データDSを削除してもよい。
データ削除部52は、予め規定された期間条件、又は削除要求において指定された条件に基づき、特定時期よりも前に保管された保管対象データDSを削除対象にする。データ削除部52は、保管対象データDSを削除する場合、AチャネルBCa及びCチャネルBCcに紐づけて保管されるデータのみを削除対象にする。言い替えれば、データ削除部52は、BチャネルBCbに紐づけて保管されるデータを削除対象にしない。
詳記すると、データ削除部52は、各AchブロックBLa及び各CchブロックBLcに保存されたタイムスタンプデータに基づき、AチャネルBCa及びCチャネルBCcにおいて処理対象とするブロックBLの範囲を決定する。処理対象とされる各ブロックBLa,BLcは、期限切れブロックBLeとなる(図5 ドット参照)。データ削除部52は、処理対象に設定したブロックBLa,BLcに紐づくデータ群を削除対象とする。一方で、データ削除部52は、ブロックBLa,BLc(ブロックデータファイル,図3参照)それ自体を削除対象にしない。尚、データ削除部52は、保管対象データDSのタイムスタンプデータがオブジェクトストレージSoに保存されている場合、オブジェクトストレージSoのタイムスタンプデータを用いて、削除対象とするデータ群を決定してもよい。
データ削除部52は、処理対象となるAchブロックBLa(期限切れブロックBLe)に含まれるブロックデータの複製に相当する削除許可データDDを、レッジャーDCから削除する。加えて、データ削除部52は、処理対象となるAchブロックBLaに紐づく保管対象データDSであって、処理対象となるAchブロックBLaに保管される削除許可データDDの生成に用いられた元データDMを、オブジェクトストレージSoから削除する。
同様に、データ削除部52は、処理対象となるCchブロックBLc(期限切れブロックBLe)に含まれるブロックデータの複製に相当する非開示情報を、レッジャーDCから削除する。加えて、データ削除部52は、処理対象となるCchブロックBLcに紐づく元データDMであって、非開示情報の生成に用いられた元データDMを、オブジェクトストレージSoから削除する。
以上説明したように、AチャネルBCa又はCチャネルBCcに紐づく元データDM等は、保管期限が切れた場合に削除される。これにより、データサイズの大きい文書データ、画像データ、音楽データ、及び動画データ等のマルチメディアデータが、オブジェクトストレージSoの検索用インデックスデータベースSo1及び検索対象データベースSo2から削除可能になる。対して、BチャネルBCbに関連するデータは、BchブロックBLbに含まれるブロックデータだけでなく、レッジャーDC内の削除非対象データDN、及びその元データDMも、保管期限の経過後も削除されることなく保管され続ける。
データ削除部52は、AチャネルBCaを構成する複数のAchブロックBLaのうちで、レッジャーDC内の削除許可データDD及びその元データDMが削除されたAchブロックBLaの位置に関連するブロック番号情報BNiを把握する。同様に、データ削除部52は、CチャネルBCcを構成する複数のCchブロックBLcのうちで、レッジャーDC内の非開示情報及びその元データDMが削除されたCchブロックBLcの位置に関連するブロック番号情報BNiを把握する。データ削除部52は、元データDMが削除される各ブロックBLa,BLcを、期限切れブロックBLeとする(図5 ドット参照)。ブロック番号情報BNiは、AチャネルBCa及びCチャネルBCcそれぞれにおいて、期限切れブロックBLeの範囲と、元データDMが削除されていないブロックBLの範囲との境界位置を示す情報である。
データ削除部52は、一例として、期限切れブロックBLeとなってない多数のAchブロックBLa又はCchブロックBLcのうちで、最も古いブロックBLを特定ブロックBLsとする(図5参照)。また別の一例として、データ削除部52は、期限切れブロックBLeのうちで最も新しいブロックBLを特定ブロックBLsとする。データ削除部52は、特定ブロックBLsを示す固有のブロック番号を、ブロック番号情報BNiとして取得する。データ削除部52は、取得したブロック番号情報BNiを後述するBCノード30に提供する。ブロック番号情報BNiは、ブロックチェーンBCを利用して、複数のBCノード50間にて共有されてもよい。
BCノード30は、外部のシステム又は外部のユーザ(図1 ユーザA)のユーザ端末110(図1 ユーザ端末A)によるブロックチェーンプラットフォーム100へのアクセスを管理するBCノード50である。BCノード30は、外部システム又はユーザ端末110によるブロックチェーンプラットフォーム100への接続について、認証及び認可を実施する。BCノード30は、外部システム及びユーザ端末110からブロックチェーンBCによって保管された保管対象データDSの参照要求等を取得する。BCノード30は、参照要求に基づき保管対象データDSから提供用データを生成し、生成した提供用データを要求元となる外部システム又はユーザ端末110に提供する。
BCノード30は、ノードデータベース40及び改ざんチェック部33等の機能部を備えている。ノードデータベース40は、BCノード30に関連する情報を保管するデータ記憶領域である。ノードデータベース40に保存されたデータの少なくとも一部は、ノードデータベース70,90等と共有される。
改ざんチェック部33は、図5に示すように、データ削除部52によって保管対象データDSの一部が削除された場合、ブロック番号情報BNiを取得する。改ざんチェック部33は、削除処理を実施したデータ削除部52からブロック番号情報BNiを直接的に取得してもよく、ブロックチェーンBCによる情報共有によってブロック番号情報BNiを取得してもよい。改ざんチェック部33は、取得したブロック番号情報BNiをノードデータベース40に記録する。改ざんチェック部33は、一例として、ノードデータベース40のプライベートチャネルにブロック番号情報BNiを登録する。改ざんチェック部33は、AchブロックBLaに紐づく元データDM等の削除処理がデータ削除部52によって新たに実施されると、AチャネルBCaに紐づくブロック番号情報BNiを更新する。同様に、CchブロックBLcに紐づく元データDM等の削除処理がデータ削除部52によって新たに実施されると、改ざんチェック部33は、CチャネルBCcに紐づくブロック番号情報BNiを更新する。
改ざんチェック部33は、図6に示すように、予め規定されたタイミング、或いは外部システム又はユーザ端末110からのチェック要求に基づき、保管対象データDSが改ざんされていないかを確認する改ざんチェック処理(図9参照)を実施する。具体的に、改ざんチェック部33は、各ブロックBL内のデータ(トランザクション及び前ブロックのハッシュ値)と、ブロックチェーンBCの生成時に使用したハッシュ関数とを用いて、各ブロックBLのハッシュ値の再計算を繰り返す。改ざんチェック部33は、各ブロックBLのハッシュ値が正しく連結されているかを検証することにより、改ざんの有無を判定する。
改ざんチェック部33は、BチャネルBCbの改ざんを確認するチェック処理にて、BチャネルBCbの最初に位置する古いBchブロックBLbから、ハッシュ値の再計算を開始する。一方、AチャネルBCa及びCチャネルBCcの改ざんを確認するチェック処理にて、改ざんチェック部33は、ブロック番号情報BNiに基づき、チェック処理の開始位置(開始ブロック)を決定する。
上述したように、ブロック番号情報BNiが最も古い有効なブロックBLa,BLcのブロック番号を示している場合、改ざんチェック部33は、ブロック番号情報BNiの示す特定ブロックBLsを、チェック処理の開始ブロックとする。また、ブロック番号情報BNiが最も新しい期限切れブロックBLeのブロック番を示している場合、改ざんチェック部33は、ブロック番号情報BNiの示す特定ブロックBLsの次のブロックBLa,BLcをチェック処理の開始ブロックとする。改ざんチェック部33は、決定した開始ブロックから、ハッシュ値の再計算を実施する。言い替えれば、期限切れブロックBLeは、改ざんの有無を確認するチェック処理の対象外とされる。
尚、改ざんチェック部33は、BCノード30以外のBCノード50にも設けられている。こうした改ざんチェック部33も、改ざんチェックのための処理を実行可能である。同様に、BCノード30が、データ削除部52の機能を有しており、データ削除処理を実行可能であってよい。
次に、ここまで説明したデータ登録処理、データ削除処理、及び改ざんチェック処理の各詳細を、図7~図9に基づき、図1~図6を参照しつつ説明する。
図7に示すデータ登録処理は、データ登録部51(図2参照)を主体として実施される。データ登録部51は、S101にて、ユーザ端末160から保管対象データDSを受信によって取得する。データ登録部51は、S102にて、取得した保管対象データDSを、削除許可データDDと削除非対象データDNとを少なくとも含む複数のデータ種別に仕分けする。データ登録部51は、取得した保管対象データDSに非開示情報が含まれている場合、S102にて、この非開示情報を削除許可データDD及び削除非対象データDNとは別の種別のデータとして仕分けする。さらに、データ登録部51は、S103にて、保管対象データDSの取得タイミング又は保存タイミングを示すタイムスタンプデータを取得する。
S104及びS105では、削除許可データDD及び削除非対象データDNが、ブロックチェーンBC(パブリックチェーン)の互いに異なるチャネルに分けて保存される。具体的に、データ登録部51は、S104にて、今回の削除許可データDDを保管する新規のAchブロックBLaを、AチャネルBCaに追加する。さらに、データ登録部51は、S105にて、今回の削除非対象データDNを保管する新規のBchブロックBLbを、BチャネルBCbに追加する。
S106及びS107では、パブリックチェーンとは別に準備されたプライベートチェーンに非開示情報が保存される。データ登録部51は、S106にて、今回の非開示情報を保管する新規のCchブロックBLcを、CチャネルBCcに追加する。さらに、データ登録部51は、S107にて、今回の非開示情報を保管する新規のDchブロックBLdを、DチャネルBCdに追加する。尚、保管対象データDSに非開示情報が含まれていない場合、S106及びS107の処理は省略される。また、非開示情報をCチャネルBCc及びDチャネルBCdに追加するデータ登録処理は、削除許可データDD及び削除非対象データDNをパブリックチャネルに追加するデータ登録処理とは別の処理として実行されてもよい。
以上のS104~S107では、S103にて取得されたタイムスタンプデータが、追加される各ブロックBLに記録される。そして、データ登録部51は、S108にて、削除許可データDD、削除非対象データDN及び非開示情報等に紐づく元データDMを、オブジェクトストレージSoに保存する。尚、S104~S108の実施順序は、適宜変更されてよい。
図8に示すデータ削除処理は、データ削除部52(図5参照)を主体として実施される。データ削除部52は、S111にて、削除対象とする保管対象データDSを把握する。一例として、所定期間の経過による定期的なデータ削除を行う場合、データ削除部52は、各AchブロックBLaに記録されたタイムスタンプデータを参照し、削除期間に該当するAchブロックBLaを特定する。同様に、データ削除部52は、各CchブロックBLcに記録されたタイムスタンプデータを参照し、削除期間に該当するCchブロックBLcを特定する。特定の削除トリガに基づいてデータ削除を行う場合も、データ削除部52は、各AchブロックBLa及び各CchブロックBLcのタイムスタンプデータを参照し、指定された削除期間に該当するAchブロックBLa及びCchブロックBLcを特定する。
データ削除部52は、S111にて削除期間に該当したAchブロックBLa及びCchブロックBLcを、S112にて期限切れブロックBLeに設定する。データ削除部52は、S113にて、期限切れブロックBLeに紐づく保管対象データDS、即ち、削除許可データDD、非開示情報、及び元データDM等を削除する。以上のS112及びS113では、削除許可データDDを保管するAチャネルBCaと、削除非対象データDNを保管するBチャネルBCbとのうちで、AチャネルBCaのみに期限切れブロックBLeが設定され、元データDMの削除が適用される。尚、S112及びS113の実施順序は、適宜変更されてよい。具体的には、削除期間に該当する元データDM等の削除後、対応するブロックBLが期限切れブロックBLeに設定されてもよい。
改ざんチェック部33は、S114及びS115にて、今回設定された期限切れブロックBLeの位置に関連するブロック番号情報BNiであって、改ざんチェックの開始位置(開始ブロック)を示すブロック番号情報BNiを記録する。改ざんチェック部33は、AチャネルBCaにおいて期限切れブロックBLeが新たに設定された場合、S114にて、AチャネルBCaに紐づくブロック番号情報BNiを更新する。同様に、CチャネルBCcにおいて期限切れブロックBLeが新たに設定された場合、改ざんチェック部33は、S115にて、CチャネルBCcに紐づくブロック番号情報BNiを更新する。
図9に示す改ざんチェック処理は、改ざんチェック部33(図6参照)を主体として実施される。改ざんチェック部33は、S121にて、BチャネルBCbの全てのBchブロックBLb及びDチャネルBCdの全てのDchブロックBLdについて、改ざんの有無をチェックする。即ち、改ざんチェック部33は、BチャネルBCbの最初のBchブロックBLb及びDチャネルBCdの最初のDchブロックBLdから、各ブロックBLに保管されているブロックデータを用いて、改ざんチェック用のハッシュ値を計算する。改ざんチェック部33は、各ブロックBLに記録されているハッシュ値と、改ざんチェック用のハッシュ値とを比較し、一致している場合には改ざん可能性なしと判断する。
改ざんチェック部33は、S122にて、AチャネルBCaに紐づくブロック番号情報BNiを参照し、AチャネルBCaの改ざんチェックを開始する開始ブロックの番号(開始位置)を決定する。改ざんチェック部33は、S123にて、AチャネルBCaの開始ブロック(特定ブロックBLs)以降のAchブロックBLaについて、改ざんの有無をチェックする。即ち、改ざんチェック部33は、期限切れブロックBLeを改ざんチェックの対象外とする。そして、改ざんチェック部33は、特定ブロックBLs以降の各ブロックBLに保管されているブロックデータを用いて、改ざんチェック用のハッシュ値を計算する。改ざんチェック部33は、各ブロックBLに記録されているハッシュ値と、改ざんチェック用のハッシュ値とを比較し、一致している場合には改ざん可能性なしと判断する。
改ざんチェック部33は、S123にて、CチャネルBCcに紐づくブロック番号情報BNiを参照し、CチャネルBCcの改ざんチェックを開始する開始ブロックの番号(開始位置)を決定する。改ざんチェック部33は、S124にて、CチャネルBCcの特定ブロックBLs以降のCchブロックBLcについて、改ざんの有無をチェックする。これにより、CチャネルBCcの期限切れブロックBLeは、改ざんチェックの対象外とされる。
尚、S121によるBチャネルBCbのチェック処理、S122及びS123によるAチャネルBCaのチェック処理、並びにS124及びS125によるCチャネルBCcのチェック処理の実施順序は、適宜変更されてよい。加えて、また、プライベートチェーンであるCチャネルBCcのチェック処理は、パブリックチェーンであるAチャネルBCa及びBチャネルBCbのチェック処理とは別の処理として実行されてもよい。
改ざんチェック部33は、S126にて、AチャネルBCa、BチャネルBCb、CチャネルBCc、及びDチャネルBCdのそれぞれにて、ハッシュ値の連結に異常が検知されたか否かを判定する。AチャネルBCa、BチャネルBCb、CチャネルBCc、及びDチャネルBCdの少なくとも1つにて、ハッシュ値の連結に異常が検知された場合(S126:YES)、改ざんチェック部33は、S127にて、改ざんの可能性があると判定する。BCノード30又はユーザ端末160等からの要求に基づき改ざんチェック処理を開始する場合、改ざんチェック部33は、改ざんの可能性がある旨の異常検知通知を、これらのチェック要求元に送信する。
一方、AチャネルBCa、BチャネルBCb、CチャネルBCc、及びDチャネルBCdの全てにおいて、ハッシュ値の連結に異常が検知されなかった場合(S126:NO)、改ざんチェック部33は、S128にて、改ざんの可能性がないと判定する。即ち、改ざんチェック部33は、S128にて、保管対象データDSが正常であると判定する。この場合、改ざんチェック部33は、改ざんの可能性がない旨の正常判定通知を、BCノード30又はユーザ端末160等のチェック要求元に送信してもよい。
(実施形態まとめ)
ここまで説明した本実施形態では、保管対象データDSを削除した場合、削除許可データDDを保管するAchブロックBLaにおいて、期限切れブロックBLeの位置に関連するブロック番号情報BNiが記録される。故に、ブロック番号情報BNiに基づきチェック処理の開始位置を決定すれば、保管対象データDSを削除した後でも、AチャネルBCaの改ざんチェックが実施でき、改ざんされてないことが確認され得る。したがって、ブロックチェーンBCの技術を用いて保存するデータを適切に削除することが可能になる。
ここまで説明した本実施形態では、保管対象データDSを削除した場合、削除許可データDDを保管するAchブロックBLaにおいて、期限切れブロックBLeの位置に関連するブロック番号情報BNiが記録される。故に、ブロック番号情報BNiに基づきチェック処理の開始位置を決定すれば、保管対象データDSを削除した後でも、AチャネルBCaの改ざんチェックが実施でき、改ざんされてないことが確認され得る。したがって、ブロックチェーンBCの技術を用いて保存するデータを適切に削除することが可能になる。
詳記すると、削除許可データDD専用のAチャネルBCaを新設し、削除非対象データDNと分けて管理することで、保管するデータ量の削減と、改ざんチェックによる信頼性の確保とが両立され得る。即ち、ブロックチェーンBCに参加するBCノード50の格納するデータ量が、ブロックチェーンBCによって処理された全トランザクション数に比例して増加しても、データ削除処理を逐次実施し、データ量の削減を図ることが可能になる。故に、データ蓄積に要するコストが莫大になる事態が回避でき、ブロックチェーンBCを利用したデータ保管の経済的なハードルを下げることができる。これにより、BCノード50を立てるハードルも下がるため、ノード数の減少によってブロックチェーンBCの合意形成が不安定になる事態も、回避され得る。
加えて、期限切れブロックBLeの位置を示すブロック番号情報BNiが記録されるため、AチャネルBCaの改ざんチェック処理を適切な位置から開始することが可能になる。故に、データの削除に起因して、改ざんチェック処理の正常な実施が困難になる事態は、回避され得る。さらに、AチャネルBCaにて、改ざんの有無が判断可能なAchブロックBLaの範囲に対し、改ざんチェック処理は、漏れなく適用され得る。
また、保管対象データDSのうちで、AチャネルBCaに紐づく削除許可データDDのみが削除対象とされ、BチャネルBCbに紐づく削除非対象データDNは、削除対象とされない。これにより、BチャネルBCbに関連する保管対象データDSは、永続的に保管され続ける。故に、保管対象データDSの一部を削除した後でも、BチャネルBCbのブロックチェーンBCを用いた改ざんチェックの実施により、削除された保管対象データDSについて、改ざんされてないことが確認可能となる。
さらに本実施形態では、削除許可データDDを保存するインスタンスストレージSiとは異なるオブジェクトストレージSoに、削除許可データDDに関連する元データDMが保存される。そして、期限切れブロックBLeに紐づく元データDMは、オブジェクトストレージSoから削除される。このように、データサイズの大きい元データDMを適切に削除することで、蓄積するデータ量の効果的な削減が可能になる。
加えて本実施形態の削除許可データDDには、元データDMから生成されたハッシュ値が含まれる。一方、削除非対象データDNには、元データDMに関連するメタデータが含まれる。以上によれば、メタデータが、改ざんから保護された状態で永続的に保管される。
また本実施形態では、削除許可データDDに対して開示対象が制限された非開示情報が、AchブロックBLaとは異なるCチャネルBCcに紐づけて保管される。故に、他のBCノード50に開示できない営業秘密等についても、ブロックチェーンBCの技術を用いてセキュアに保管することが可能になる。
さらに本実施形態では、CチャネルBCcを構成する複数のCchブロックBLcのうちで、非開示情報を削除した期限切れブロックBLeの位置に関連するブロック番号情報BNiが記録される。そして、CchブロックBLcの改ざんを確認するチェック処理にて、ブロック番号情報BNiに基づき、チェック処理の開始位置が決定される。以上によれば、削除許可データDDの元データDMと同様に、CチャネルBCcによって保管される非開示情報の削除が可能になる。その結果、蓄積するデータ量の効果的な削減が可能になる。
また本実施形態では、BCノード50間での情報共有が可能なインスタンスストレージSiとは別に、オブジェクトストレージSoが確保されている。そして、元データDMは、ハッシュ値及びメタデータとは別に、オブジェクトストレージSoに保管される。以上のストレージ構成によれば、共有が必要なハッシュ値及びメタデータと、データサイズの大きい元データDMとが、それぞれ適切に保管可能となる。
尚、上記実施形態では、データ登録部51が「データ保管部」に相当し、AチャネルBCaが「削除対象チャネル」に相当し、CチャネルBCcが「開示制限チャネル」に相当し、非開示情報が「開示制限情報」に相当する。また、AchブロックBLaが「削除対象ブロック」に相当し、CchブロックBLcが「開示制限ブロック」に相当し、期限切れブロックBLeが「処理済みブロック」に相当し、削除非対象データDNが「非削除データ」に相当する。そして、インスタンスストレージSiが「第1ストレージ」に相当し、オブジェクトストレージSoが「第2ストレージ」に相当し、ブロックチェーンプラットフォーム100が「情報処理システム」に相当し、ストレージ13が「記憶媒体」に相当する。
(他の実施形態)
以上、本開示による一実施形態について説明したが、本開示は、上記実施形態に限定して解釈されるものではなく、本開示の要旨を逸脱しない範囲内において種々の実施形態及び組み合わせに適用することができる。
以上、本開示による一実施形態について説明したが、本開示は、上記実施形態に限定して解釈されるものではなく、本開示の要旨を逸脱しない範囲内において種々の実施形態及び組み合わせに適用することができる。
上記実施形態の変形例1によるブロックチェーンプラットフォーム100では、プライベートチャネルの構築が省略されている。図10及び図11に示す変形例1では、非開示情報は、ブロックチェーンBCとは異なる技術を用いてセキュアに保管される。一例として、個々のクライアントの非開示情報は、各クライアントの管理するデータベースに保管される。
図10に示すデータ削除部52は、AチャネルBCa及びBチャネルBCbとのうちで、AチャネルBCaのみに期限切れブロックBLeを設定し、期限切れブロックBLeに紐づく元データDM等を削除する。また、図11に示す改ざんチェック部33は、特定ブロックBLs以降のAchブロックBLaの改ざんチェックと、全てのBchブロックBLbの改ざんチェックとを実施する。
以上の変形例1のように、ブロックチェーンプラットフォーム100に構築されるブロックチェーンBCのチャネル数は、適宜変更されてよい。例えば、データを共有するBCノード50の異なる複数のプライベートチャネルが、ブロックチェーンプラットフォーム100に設定されてもよい。さらに、上記実施形態のAチャネルBCaに相当するパブリックチャネルであって、紐づく元データDMの削除を許容するパブリックチャネルが複数設定されてもよい。
上記実施形態の変形例2において、元データDMは、インスタンスストレージSiに保存される。即ち、変形例2では、オブジェクトストレージSoに相当するストレージ構成が省略されている。元データDMは、インスタンスストレージSiにて、削除許可データDDとして扱われる。そして、元データDMは、AチャネルBCaのトランザクションとして、AchブロックBLaに格納される。こうした変形例2のように、保管対象データDSを保管するストレージの構成は、保管対象データDSの内容に応じて適宜変更されてよい。
上記実施形態の変形例3では、ブロック番号情報BNiの記録が実施されない。変形例3の改ざんチェック部33は、改ざんチェック処理にて、AチャネルBCa及びCチャネルBCcの状態を都度把握し、ブロック番号情報BNiに依ることなく、各チャネルに対して実施するチェック処理の開始位置を決定する。
また、保管対象データDSのうちで、削除許可データDDに仕分ける情報(データ)と、削除非対象データDNに仕分ける情報(データ)とは、ブロックチェーンプラットフォーム100の利用目的等に応じて適宜変更されてよい。
上記実施形態にて、BCノード50によって提供されていた各機能は、ソフトウェア及びそれを実行するハードウェア、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの複合的な組合せによっても提供可能である。こうした機能がハードウェアとしての電子回路によって提供される場合、各機能は、多数の論理回路を含むデジタル回路、又はアナログ回路によっても提供可能である。
上記実施形態のプロセッサは、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)等の演算コアを少なくとも一つ含む構成であってよい。プロセッサは、FPGA(Field-Programmable Gate Array)、NPU(Neural network Processing Unit)及び他の専用機能を備えたIPコア等をさらに含む構成であってよい。またプロセッサは、プリント基板に個別に実装されるチップ構成に限定されない。ASIC(Application Specific Integrated Circuit)、SoC(System on Chip)及びFPGA等に実装された構成がプロセッサに相当してもよい。
上記実施形態にてストレージとして採用され、各プログラムを記憶する記憶媒体(non-transitory tangible storage medium)の形態は、適宜変更されてよい。例えば記憶媒体は、回路基板上に設けられた構成に限定されず、メモリカード等の形態で提供され、スロット部に挿入されて、コンピュータのバスに電気的に接続される構成であってよい。さらに、記憶媒体は、コンピュータへのプログラムのコピー元又は配信元として利用される光学ディスク、ハードディスクドライブ、及びソリッドステートドライブ等であってもよい。
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置及びその手法は、専用ハードウェア論理回路により、実現されてもよい。もしくは、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウェア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
(技術的思想の開示)
この明細書は、以下に列挙する複数の項に記載された複数の技術的思想を開示している。いくつかの項は、後続の項において先行する項を択一的に引用する多項従属形式(a multiple dependent form)により記載されている場合がある。さらに、いくつかの項は、他の多項従属形式の項を引用する多項従属形式(a multiple dependent form referring to another multiple dependent form)により記載されている場合がある。これらの多項従属形式で記載された項は、複数の技術的思想を定義している。
この明細書は、以下に列挙する複数の項に記載された複数の技術的思想を開示している。いくつかの項は、後続の項において先行する項を択一的に引用する多項従属形式(a multiple dependent form)により記載されている場合がある。さらに、いくつかの項は、他の多項従属形式の項を引用する多項従属形式(a multiple dependent form referring to another multiple dependent form)により記載されている場合がある。これらの多項従属形式で記載された項は、複数の技術的思想を定義している。
(技術的思想1)
ブロックチェーン(BC)の技術を用いて保管対象データ(DS)を保管する情報処理方法であって、
前記保管対象データを、削除を許可する削除許可データ(DD)と、削除を許可しない非削除データ(DN)とを少なくとも含む複数のデータ種別に仕分けし(S102)、
前記削除許可データ及び前記非削除データを、前記ブロックチェーンの互いに異なるチャネルに紐づけて保管し(S104,S105)、
前記削除許可データを保管する削除対象チャネル(BCa)を構成する複数の削除対象ブロック(BLa)のうちで、当該削除対象ブロックに紐づく前記保管対象データを削除した処理済みブロック(BLe)の位置に関連するブロック番号情報(BNi)を記録し(S114)、
前記削除対象チャネルの改ざんを確認するチェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S122)、
というステップを、少なくとも一つのプロセッサ(11)にて実行される処理に含む情報処理方法。
(技術的思想2)
前記削除許可データを保存する第1ストレージ(Si)とは異なる第2ストレージ(So)に、前記削除許可データに関連する元データ(DM)を保存し(S108)、
前記処理済みブロックに紐づく前記元データを前記第2ストレージから削除する(S113)、
というステップをさらに含む技術的思想1に記載の情報処理方法。
(技術的思想3)
前記削除許可データは、前記元データから生成されたハッシュ値を含み、
前記非削除データは、前記ブロックチェーンへの前記元データの保管に関連して生成されるデータを含む技術的思想2に記載の情報処理方法。
(技術的思想4)
前記削除許可データに対して開示対象が制限された開示制限情報を、前記削除対象チャネルとは異なる開示制限チャネル(BCc)に紐づけて保管する(S106,S107)、
というステップをさらに含む技術的思想1~3のいずれか一項に記載の情報処理方法。
(技術的思想5)
前記開示制限チャネルを構成する複数の開示制限ブロック(BLc)のうちで、当該開示制限ブロックに紐づく前記開示制限情報を削除した前記処理済みブロック(BLe)の位置に関連する前記ブロック番号情報をさらに記録し(S115)、
前記開示制限チャネルの改ざんを確認する前記チェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S124)、
というステップをさらに含む技術的思想4に記載の情報処理方法。
(技術的思想6)
ブロックチェーン(BC)の技術を用いて保管対象データ(DS)を保管する情報処理プログラムであって、
前記保管対象データを、削除を許可する削除許可データと、削除を許可しない非削除データ(DN)とを少なくとも含む複数のデータ種別に仕分けし(S102)、
前記削除許可データ及び前記非削除データを、前記ブロックチェーンの互いに異なるチャネルに紐づけて保管し(S104,S105)、
前記削除許可データを保管する削除対象チャネル(BCa)を構成する複数の削除対象ブロック(BLa)のうちで、当該削除対象ブロックに紐づく前記保管対象データを削除した処理済みブロック(BLe)の位置に関連するブロック番号情報(BNi)を記録し(S114)、
前記削除対象チャネルの改ざんを確認するチェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S122)、
ことを含む処理を、少なくとも一つのプロセッサ(11)に実行させる情報処理プログラム。
ブロックチェーン(BC)の技術を用いて保管対象データ(DS)を保管する情報処理方法であって、
前記保管対象データを、削除を許可する削除許可データ(DD)と、削除を許可しない非削除データ(DN)とを少なくとも含む複数のデータ種別に仕分けし(S102)、
前記削除許可データ及び前記非削除データを、前記ブロックチェーンの互いに異なるチャネルに紐づけて保管し(S104,S105)、
前記削除許可データを保管する削除対象チャネル(BCa)を構成する複数の削除対象ブロック(BLa)のうちで、当該削除対象ブロックに紐づく前記保管対象データを削除した処理済みブロック(BLe)の位置に関連するブロック番号情報(BNi)を記録し(S114)、
前記削除対象チャネルの改ざんを確認するチェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S122)、
というステップを、少なくとも一つのプロセッサ(11)にて実行される処理に含む情報処理方法。
(技術的思想2)
前記削除許可データを保存する第1ストレージ(Si)とは異なる第2ストレージ(So)に、前記削除許可データに関連する元データ(DM)を保存し(S108)、
前記処理済みブロックに紐づく前記元データを前記第2ストレージから削除する(S113)、
というステップをさらに含む技術的思想1に記載の情報処理方法。
(技術的思想3)
前記削除許可データは、前記元データから生成されたハッシュ値を含み、
前記非削除データは、前記ブロックチェーンへの前記元データの保管に関連して生成されるデータを含む技術的思想2に記載の情報処理方法。
(技術的思想4)
前記削除許可データに対して開示対象が制限された開示制限情報を、前記削除対象チャネルとは異なる開示制限チャネル(BCc)に紐づけて保管する(S106,S107)、
というステップをさらに含む技術的思想1~3のいずれか一項に記載の情報処理方法。
(技術的思想5)
前記開示制限チャネルを構成する複数の開示制限ブロック(BLc)のうちで、当該開示制限ブロックに紐づく前記開示制限情報を削除した前記処理済みブロック(BLe)の位置に関連する前記ブロック番号情報をさらに記録し(S115)、
前記開示制限チャネルの改ざんを確認する前記チェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S124)、
というステップをさらに含む技術的思想4に記載の情報処理方法。
(技術的思想6)
ブロックチェーン(BC)の技術を用いて保管対象データ(DS)を保管する情報処理プログラムであって、
前記保管対象データを、削除を許可する削除許可データと、削除を許可しない非削除データ(DN)とを少なくとも含む複数のデータ種別に仕分けし(S102)、
前記削除許可データ及び前記非削除データを、前記ブロックチェーンの互いに異なるチャネルに紐づけて保管し(S104,S105)、
前記削除許可データを保管する削除対象チャネル(BCa)を構成する複数の削除対象ブロック(BLa)のうちで、当該削除対象ブロックに紐づく前記保管対象データを削除した処理済みブロック(BLe)の位置に関連するブロック番号情報(BNi)を記録し(S114)、
前記削除対象チャネルの改ざんを確認するチェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S122)、
ことを含む処理を、少なくとも一つのプロセッサ(11)に実行させる情報処理プログラム。
Claims (7)
- ブロックチェーン(BC)の技術を用いて保管対象データ(DS)を保管する情報処理方法であって、
前記保管対象データを、削除を許可する削除許可データ(DD)と、削除を許可しない非削除データ(DN)とを少なくとも含む複数のデータ種別に仕分けし(S102)、
前記削除許可データ及び前記非削除データを、前記ブロックチェーンの互いに異なるチャネルに紐づけて保管し(S104,S105)、
前記削除許可データを保管する削除対象チャネル(BCa)を構成する複数の削除対象ブロック(BLa)のうちで、当該削除対象ブロックに紐づく前記保管対象データを削除した処理済みブロック(BLe)の位置に関連するブロック番号情報(BNi)を記録し(S114)、
前記削除対象チャネルの改ざんを確認するチェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S122)、
というステップを、少なくとも一つのプロセッサ(11)にて実行される処理に含む情報処理方法。 - 前記削除許可データを保存する第1ストレージ(Si)とは異なる第2ストレージ(So)に、前記削除許可データに関連する元データ(DM)を保存し(S108)、
前記処理済みブロックに紐づく前記元データを前記第2ストレージから削除する(S113)、
というステップをさらに含む請求項1に記載の情報処理方法。 - 前記削除許可データは、前記元データから生成されたハッシュ値を含み、
前記非削除データは、前記ブロックチェーンへの前記元データの保管に関連して生成されるデータを含む請求項2に記載の情報処理方法。 - 前記削除許可データに対して開示対象が制限された開示制限情報を、前記削除対象チャネルとは異なる開示制限チャネル(BCc)に紐づけて保管する(S106,S107)、
というステップをさらに含む請求項1に記載の情報処理方法。 - 前記開示制限チャネルを構成する複数の開示制限ブロック(BLc)のうちで、当該開示制限ブロックに紐づく前記開示制限情報を削除した前記処理済みブロック(BLe)の位置に関連する前記ブロック番号情報をさらに記録し(S115)、
前記開示制限チャネルの改ざんを確認する前記チェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S124)、
というステップをさらに含む請求項4に記載の情報処理方法。 - ブロックチェーン(BC)の技術を用いて保管対象データ(DS)を保管する情報処理システムであって、
前記保管対象データを、削除を許可する削除許可データ(DD)と、削除を許可しない非削除データ(DN)とを少なくとも含む複数のデータ種別に仕分けし、前記削除許可データ及び前記非削除データを、前記ブロックチェーンの互いに異なるチャネルに紐づけて保管するデータ保管部(51)と、
前記削除許可データを保管する削除対象チャネル(BCa)を構成する複数の削除対象ブロック(BLa)のうちで、当該削除対象ブロックに紐づく前記保管対象データを削除した処理済みブロック(BLe)の位置に関連するブロック番号情報(BNi)を記録し、前記削除対象チャネルの改ざんを確認するチェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する改ざんチェック部(33)と、
を備える情報処理システム。 - ブロックチェーン(BC)の技術を用いて保管対象データ(DS)を保管する情報処理プログラムが格納され、コンピュータ(10)が読み取り可能な記憶媒体であって、
前記情報処理プログラムは、
前記保管対象データを、削除を許可する削除許可データと、削除を許可しない非削除データ(DN)とを少なくとも含む複数のデータ種別に仕分けし(S102)、
前記削除許可データ及び前記非削除データを、前記ブロックチェーンの互いに異なるチャネルに紐づけて保管し(S104,S105)、
前記削除許可データを保管する削除対象チャネル(BCa)を構成する複数の削除対象ブロック(BLa)のうちで、当該削除対象ブロックに紐づく前記保管対象データを削除した処理済みブロック(BLe)の位置に関連するブロック番号情報(BNi)を記録し(S114)、
前記削除対象チャネルの改ざんを確認するチェック処理にて、前記ブロック番号情報に基づき、前記チェック処理の開始位置を決定する(S122)、
ことを含む処理を、少なくとも一つのプロセッサ(11)に実行させるように構成されている、記憶媒体。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE112024002755.5T DE112024002755T5 (de) | 2023-06-29 | 2024-05-08 | Informationsverarbeitungsverfahren, informationsverarbeitungssystem und speichermedium |
| CN202480042890.4A CN121399593A (zh) | 2023-06-29 | 2024-05-08 | 信息处理方法、信息处理系统以及存储介质 |
| US19/421,718 US20260105010A1 (en) | 2023-06-29 | 2025-12-16 | Information processing method, information processing system, and storage medium |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023-107363 | 2023-06-29 | ||
| JP2023107363 | 2023-06-29 | ||
| JP2023191815A JP2025009693A (ja) | 2023-06-29 | 2023-11-09 | 情報処理方法、情報処理システム、及び情報処理プログラム |
| JP2023-191815 | 2023-11-09 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/421,718 Continuation US20260105010A1 (en) | 2023-06-29 | 2025-12-16 | Information processing method, information processing system, and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025004540A1 true WO2025004540A1 (ja) | 2025-01-02 |
Family
ID=93938217
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/017048 Ceased WO2025004540A1 (ja) | 2023-06-29 | 2024-05-08 | 情報処理方法、情報処理システム、及び記憶媒体 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20260105010A1 (ja) |
| CN (1) | CN121399593A (ja) |
| DE (1) | DE112024002755T5 (ja) |
| WO (1) | WO2025004540A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019211821A (ja) * | 2018-05-31 | 2019-12-12 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
| JP2023506236A (ja) * | 2019-12-13 | 2023-02-15 | ドンジュー、レイナー | 分散型台帳を用いた情報削除保証システム |
-
2024
- 2024-05-08 DE DE112024002755.5T patent/DE112024002755T5/de active Pending
- 2024-05-08 WO PCT/JP2024/017048 patent/WO2025004540A1/ja not_active Ceased
- 2024-05-08 CN CN202480042890.4A patent/CN121399593A/zh active Pending
-
2025
- 2025-12-16 US US19/421,718 patent/US20260105010A1/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019211821A (ja) * | 2018-05-31 | 2019-12-12 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
| JP2023506236A (ja) * | 2019-12-13 | 2023-02-15 | ドンジュー、レイナー | 分散型台帳を用いた情報削除保証システム |
Non-Patent Citations (1)
| Title |
|---|
| MORINORI OHASHI, DAIKI WATANABE, SHIGERU FUJIMURA, ATSUSHI NAKAHIRA: "6D-02: A new Blockchain architecture with additional state database", PROCEEDINGS OF THE 80TH NATIONAL CONVENTION OF THE INFORMATION PROCESSING SOCIETY OF JAPAN; MARCH 13 (TUE)-15 (THU), 2018, INFORMATION PROCESSING SOCIETY OF JAPAN, JP, vol. 80, no. 1, 22 March 2018 (2018-03-22), JP , pages 55 - 56, XP009524284 * |
Also Published As
| Publication number | Publication date |
|---|---|
| DE112024002755T5 (de) | 2026-04-09 |
| CN121399593A (zh) | 2026-01-23 |
| US20260105010A1 (en) | 2026-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11444776B2 (en) | Blockchain with daisy chained records, document corral, quarantine, message timestamping, and self-addressing | |
| DE112020005289B4 (de) | Teilweise sortierte blockchain | |
| US11035903B2 (en) | Monitoring of batteries in blockchain networks | |
| US20200394321A1 (en) | Document redaction and reconciliation | |
| CN115004625B (zh) | 用于区块链分类账的索引结构 | |
| CN111881099A (zh) | 数据库私有文档共享 | |
| CN115552441A (zh) | 低信任特权访问管理 | |
| US12175462B2 (en) | Resolution of conflicting data | |
| CN109656873B (zh) | 基于区块链的数据归档方法、装置及终端设备 | |
| US11360946B2 (en) | Tracking data transfers | |
| CN112131254A (zh) | 用于区块链分类账的sql处理引擎 | |
| US11816069B2 (en) | Data deduplication in blockchain platforms | |
| CN114128214A (zh) | 用于配置区块链的安全层 | |
| EP3709568A1 (en) | Deleting user data from a blockchain | |
| US11558531B2 (en) | Systems and methods for authenticating an image | |
| US11455598B2 (en) | Automated conflict resolution | |
| CN111831740A (zh) | 对等体的同步 | |
| US11343313B1 (en) | Fault tolerant periodic leader rotation for blockchain | |
| CN111291000A (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
| CN112035291A (zh) | 快照恢复 | |
| CN112084186A (zh) | 拆分和合并存储 | |
| CN111797426B (zh) | 一种用于去信任通知服务的方法和系统 | |
| CN112052473A (zh) | 地理位置合规性 | |
| CN105681295A (zh) | 关联大数据共享方法及装置 | |
| CN115427980A (zh) | 上下文完整性保持 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24831413 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 112024002755 Country of ref document: DE |