Information processing method, information processing system, and storage medium

The method addresses the challenge of data exchange costs by using hash values to secure and verify data integrity, ensuring efficient and secure data exchange between client systems without the need for full encryption, thus maintaining data privacy and reducing computational and communication costs.

WO2025004610A1PCT designated stage expired Publication Date: 2025-01-02DENSO CORP

Patent Information

Application Number
PCT/JP2024/018616
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2024-05-21
Publication Date
2025-01-02

AI Technical Summary

Technical Problem

Existing data exchange methods between client systems linked to a data storage platform face challenges in maintaining data privacy and convenience due to increased costs associated with large encrypted data sizes, which hinder efficient calculation and communication.

Method used

An information processing method and system that uses hash values to detect data falsification by comparing a first hash value generated by the provider system with a second hash value generated by the user system, allowing for secure data exchange while maintaining trade secrets without the need for full encryption, thereby reducing computational and communication costs.

Benefits of technology

Ensures the convenience of data exchange between client systems by protecting trade secrets and detecting tampering, while minimizing the size of data and hash values compared to encrypted data, thus avoiding increased costs in calculation and communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024018616_02012025_PF_FP_ABST
    Figure JP2024018616_02012025_PF_FP_ABST
Patent Text Reader

Abstract

A data exchange system (1) implements an information processing method to transfer data among a plurality of client systems (150) tied to a blockchain platform (100) using a data connector platform (140). When data (DT) for provision is provided to a user system (150r) by a provider system (150m) using the data connector platform (140), a first hash value (Hv1) generated using the data (DT) for provision is acquired from the provider system (150m). Furthermore, a second hash value (Hv2) generated using the data (DT) for provision acquired by the user system (150r) is acquired from the user system (150r). Tampering of the data (DT) for provision is then detected on the basis of a comparison of the first hash value (Hv1) and the second hash value (Hv2).
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method, information processing system, and storage medium CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is based on Patent Application No. 2023-107364 filed in Japan on June 29, 2023, and the contents of the original application are incorporated by reference in their entirety.

[0002] The disclosure of this specification relates to an information processing technology for transferring data.

[0003] Patent Literature 1 describes a method for transmitting data encrypted by secure computation in order to ensure data privacy. By using such secure computation, it is possible to protect data from unauthorized access and tampering while ensuring privacy.

[0004] Japanese Patent Application Laid-Open No. 2022-102062

[0005] The method using secure computation disclosed in Patent Document 1 can also be applied to a system in which data is provided from a client system to a data storage platform. However, when data is exchanged between client systems, even if the method using secure computation can protect the data while preserving the trade secret, the size of the encrypted data increases. As a result, the cost required for calculation and communication increases, making it difficult to ensure the convenience of data exchange.

[0006] The present disclosure aims to provide an information processing method, an information processing system, and a storage medium that can ensure convenience in data transfer between client systems.

[0007] In order to achieve the above-mentioned object, one disclosed aspect is an information processing method for transferring data between multiple client systems linked to a data storage platform, wherein when data to be provided is provided from a source system to a user system using the data providing platform, the information processing method includes the steps of obtaining, from the source system, a first hash value generated using the data to be provided, obtaining from the user system a second hash value generated using the data to be provided obtained by the user system, and detecting tampering with the data to be provided based on a comparison of the first hash value and the second hash value.

[0008] Another disclosed aspect is an information processing system that transfers data between multiple client systems linked to a data storage platform, and when providing data from a provider system to a user system using the data providing platform, the information processing system includes: a first acquisition unit that acquires from the provider system a first hash value generated using the providing data; a second acquisition unit that acquires from the user system a second hash value generated using the providing data acquired by the user system; and a detection unit that detects tampering with the providing data based on a comparison of the first hash value and the second hash value.

[0009] Another disclosed aspect is a computer-readable storage medium that stores an information processing program for transferring data between multiple client systems linked to a data storage platform, wherein the information processing program is configured to cause at least one processor to execute processing including, when providing data from a provider system to a user system using the data providing platform, obtaining from the provider system a first hash value generated using the providing data, obtaining from the user system a second hash value generated using the providing data obtained by the user system, and detecting tampering with the providing data based on a comparison of the first hash value and the second hash value.

[0010] In these embodiments, a data providing platform is used to provide data from a provider system to a user system, so trade secrets can be maintained in the data storage platform. Additionally, tampering with the data to be provided can be detected by comparing hash values, making it possible to protect the data to be provided. Furthermore, the data to be provided and each hash value are smaller in size than the encrypted data used for secret calculation, preventing increases in the costs of calculation and communication. Therefore, it is possible to ensure the convenience of data transfer between client systems.

[0011] It should be noted that the reference numerals in parentheses in the claims merely indicate examples of correspondence with specific configurations in the embodiments described below, and do not limit the technical scope in any way. Furthermore, claims not explicitly stated in the claims may be combined together unless there is a particular problem with the combination.

[0012] 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. FIG. 2 is a diagram for explaining details of the delivery of provision data realized by a data exchange system. FIG. 3 is a flowchart showing details of the registration process of provision data performed by a providing source system. FIG. 4 is a sequence diagram showing details of the sub-process of registering provision data in a data connector. FIG. 5 is a flowchart showing details of the acquisition process of provision data performed by a user system. FIG. 6 is a sequence diagram showing details of the sub-process of acquiring provision data from a data connector. FIG. 7 is a sequence diagram showing details of the sub-process of confirming that provision data has not been tampered with. FIG. 8 is a flowchart showing details of a tampering check process performed on past provision data.

[0013] A blockchain platform 100 according to an embodiment of the present disclosure shown in FIG. 1 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 platform such as Hyperledger Fabric. The blockchain platform 100 allows the creation of private blockchain networks (hereinafter referred to as channels) 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.

[0014] The blockchain platform 100 includes multiple nodes 50 and at least one access gateway 30. As an example, each node 50 and access gateway 30 is constructed by a blockchain server (virtual machine) on the cloud. The blockchain server is mainly configured with a control circuit 10. The control circuit 10 includes a processor 11, RAM 12, storage 13, an input / output interface 14, and buses connecting these components, and functions as a high-performance computer that performs calculations at high speed.

[0015] The processor 11 is hardware for arithmetic processing coupled to the RAM 12. The processor 11 accesses the RAM 12 to execute various processes (instructions) related to the management and provision of data. 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 that causes the blockchain server (control circuit 10) to execute the information processing method of the present disclosure.

[0016] The nodes 50 are blockchain management systems linked to individual client systems 150. As an example, in a blockchain network that manages vehicle information, the clients are automobile manufacturers (original equipment manufacturers, OEMs) that manufacture vehicles and dealers that sell vehicles. Among the multiple nodes 50, the node 50 that cooperates with the OEM's management system (OEM system 160) is the OEM node 60. Furthermore, the node 50 that cooperates with the dealer's management system (dealer system 180) is the dealer node 80.

[0017] The OEM node 60 includes an OEM database 70. The OEM database 70 stores data to be stored DS linked to the OEM and enables the data to be stored DS to be shared with other nodes 50. Similarly, the dealer node 80 includes a dealer database 90. The dealer database 90 stores data to be stored DS linked to the dealer and enables the data to be stored DS to be shared with other 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 client system 150 and transmitted to the node 50 linked to each client system 150.

[0018] The node 50 receives new registration requests, update requests, reference requests, deletion requests, etc. for the data DS to be archived from the client system 150. The node 50 includes a data registration unit 51. The data registration unit 51 is a functional unit constructed in the node 50. The data registration unit 51 receives new registration requests for the data DS to be archived from the client system 150. The data registration unit 51 executes registration processing for the data DS to be archived based on the registration request.

[0019] The data registration unit 51 saves the data DS to be stored in a specific channel of the blockchain BC. The channel of the blockchain BC that stores the data DS to be stored is a public channel that shares data with other nodes 50 and the access gateway 30. The data DS to be stored as transactions is stored in each block that makes up the blockchain BC. In the blockchain BC, a hash value generated from one block is stored in the next block. Furthermore, timestamp data indicating the date and time when the data DS to be stored was added is recorded in each block.

[0020] The access gateway 30 is provided separately from each node 50 and manages access by external systems or users (user terminals 110) to the blockchain platform 100. The access gateway 30 performs authentication and authorization for connections from the external systems or user terminals 110 to the blockchain platform 100. The access gateway 30 includes a data acquisition unit 31 and a gateway database 40.

[0021] The data acquisition unit 31 is a functional unit built in the access gateway 30. The data acquisition unit 31 acquires reference requests for the storage target data DS stored by the blockchain BC from external systems, user terminals 110, etc. The data acquisition unit 31 generates reference data from the storage target data DS based on the reference request, and provides the generated reference data to the requesting external system or user terminal 110.

[0022] The gateway database 40 is a data storage area that stores information related to the access gateway 30. At least a portion of the data stored in the gateway database 40 is shared with the OEM database 70, the dealer database 90, etc., through the function of the blockchain BC.

[0023] [Details of the Data Exchange System] The client system 150 and blockchain platform 100 described so far, together with the data connector platform 140, constitute the data exchange system 1 shown in Fig. 2. The data exchange system 1 is a system that meets the needs of clients who do not trust the operator of the blockchain platform 100 and do not want to hand over their trade secrets (raw data) to the blockchain platform 100.

[0024] The data exchange system 1 enables data to be exchanged between multiple client systems 150 linked to the blockchain platform 100 without going through the blockchain platform 100. The data exchange system 1 combines the data sharing function between clients using data connector technology with the tamper checking function using blockchain technology. The data exchange system 1 protects the sovereignty of each client's data and also guarantees the authenticity (trustworthiness) of the data being exchanged.

[0025] The client system 150 is mainly configured with a server device. The server device is a processing unit equipped with a processor, RAM, storage, etc. The client system 150 uses client databases such as the OEM database 170 and the dealer database 190 to individually store client data including trade secrets. As an example, the client databases are constructed in object storage provided on the cloud. Object storage is a storage that stores files and data as objects and is capable of permanently storing large amounts of data. Examples of object storage that can be used include S3 (Simple Storage Service) from AWS (Amazon Web Services, registered trademark) and Azure Blob Storage from Azure (registered trademark).

[0026] The client system 150 transfers data between other client systems 150 via the data connector platform 140. As an example, data (hereinafter, "data to be provided DT") may be transferred from the OEM system 160 to the dealer system 180. In this case, the OEM system 160 is the provider system 150m, and the dealer system 180 is the user system 150r.

[0027] In addition, in the blockchain platform 100 that manages vehicle information, authorization information, asset information, access information, ID information, public key information, etc. are collected by the client system 150 along with vehicle information. This vehicle information may include the vehicle identification number, model year, grade, vehicle name, mileage, collision detection results, registration inspection results, registration photos, and appraised price. Among this information, information that falls under trade secrets, in other words, information that is not to be included in the storage target data DS, may be appropriately determined at the discretion of clients such as OEMs and dealers.

[0028] The client system 150 functioning as the provider system 150m and the user system 150r has a data connector 153 and a data management unit 151. The data connector 153 is a functional unit (data-connect-manager) for using the data connector platform 140. The data management unit 151 is a functional unit for using the blockchain platform 100.

[0029] The data connector 153 of the provider system 150m (OEM system 160) registers at least a portion of various client data (OEM data) that constitutes trade secrets in the data connector platform 140. The data connector 153 registers client data that can be provided to other clients as provision data DT, associates the provision data DT with unique identification information (hereinafter referred to as a data ID) that identifies the provision data DT, and registers the data in the data connector platform 140 (FIG. 2, S10). The data ID may be general ID information issued by a specific ID issuer, or may be a decentralized ID (DID) issued using blockchain BC technology. The data connector 153 may register metadata or the like indicating the contents of the provision data DT in the data connector platform 140 instead of the data itself of the provision data DT.

[0030] The data management unit 151 of the provider system 150m selects information that does not fall under the category of trade secrets from among the client data (OEM data) managed by the OEM system 160 as data to be stored DS. The data management unit 151 registers the selected data to be stored DS in the blockchain platform 100.

[0031] When cloud data corresponding to a trade secret is registered as the provision data DT in the data connector platform 140, the data management unit 151 generates a first hash value Hv1. The first hash value Hv1 is a hash value generated using the provision data DT registered in the data connector platform 140. The first hash value Hv1 is data that maintains a predetermined number of bits (e.g., 256 bits) and is a unique value that reflects the contents of the provision data DT. The data management unit 151 calculates the first hash value Hv1 by performing an arithmetic process in which the provision data DT is substituted into a hash function such as SHA-256. The data management unit 151 links the first hash value Hv1 to a data ID that identifies the original data (the provision data DT) and uploads it to the OEM node 60 (FIG. 2, S20). The data registration unit 51 of the OEM node 60 performs a step of acquiring the first hash value Hv1 and the data ID based on a request from the data management unit 151. The data registration unit 51 registers the first hash value Hv1 obtained from the provider system 150m in the blockchain platform 100 in a state where it is linked to the data ID.

[0032] The data connector 153 of the user system 150r (dealer system 180) can acquire trade secrets of other clients via the data connector platform 140. When acquiring trade secrets of other clients, the data connector 153 acquires a file list FL from the data connector platform 140 (FIG. 2, S30).

[0033] The file list FL records what data other client systems 150 hold. That is, the file list FL shows a list of the data to be provided DT that can be obtained through the data connector platform 140. This file list FL also contains a data ID for identifying each piece of data. The data connector 153 searches the file list FL and determines whether the data required by its own client (dealer) can be obtained from the data connector platform 140, and from which client system 150 it can be obtained.

[0034] When the data connector 153 is able to search for the necessary data from the file list FL, it extracts the data ID associated with the searched data, in other words, the data ID indicating the data to be provided DT, from the file list FL. By specifying the data ID, the data connector 153 obtains the desired data to be provided DT from the data connector platform 140 (FIG. 2, S40). If the data connector platform 140 does not store the data body of the data to be provided DT, the data connector 153 may obtain the data body of the data to be provided DT from the data connector 153 of the providing source system 150 m.

[0035] The data management unit 151 of the user system 150r, like the data management unit 151 of the provider system 150m, selects client data (dealer data) that does not constitute a trade secret as data to be stored DS. The data management unit 151 registers the selected data to be stored DS in the blockchain platform 100. In addition, when the data connector 153 acquires data to be provided DT from the data connector platform 140, the data management unit 151 generates history information Hi and a second hash value Hv2.

[0036] The history information Hi is information indicating details of the delivery of the provision data DT from the provider system 150m to the user system 150r via the data connector platform 140. The history information Hi records at least information such as when the user system 150r acquired the provision data DT and the client system 150 from which the acquired provision data DT was provided. A data ID may be used as information indicating the content of the provision data DT. The data management unit 151 registers the generated history information Hi in the blockchain platform 100 (FIG. 2, S50).

[0037] The second hash value Hv2 is a hash value generated using the provision data DT acquired by the data connector 153. The second hash value Hv2 is data that maintains a predetermined number of bits (e.g., 256 bits) and is a unique value that reflects the contents of the provision data DT. The data management unit 151 calculates the second hash value Hv2 using the hash function that the data management unit 151 of the providing system 150m used to generate the first hash value Hv1. In other words, the hash function used to generate the second hash value Hv2 is the same as the hash function used to generate the first hash value Hv1. The data management unit 151 associates the second hash value Hv2 with a data ID and registers it in the blockchain platform 100 (FIG. 2, S60).

[0038] Instead of SHA-256, encryption algorithms (hash functions) such as SHA-1, SHA-2, and SHA-3 may be used to generate the first hash value Hv1 and the second hash value Hv2.

[0039] The blockchain platform 100 guarantees the authenticity of the provision data DT exchanged (data exchanged) between each client system 150 in a system in which trade secrets are managed in a decentralized manner for each client. In addition to the data registration unit 51 described above, the node 50 has a tampering check unit 53. For convenience, the data registration unit 51 of the node 50 (OEM node 60) linked to the provider system 150m will be referred to as the "first data registration unit 51a." Furthermore, the data registration unit 51 of the node 50 (dealer node 80) linked to the user system 150r will be referred to as the "second data registration unit 51b."

[0040] The first data registration unit 51a acquires, from the client system 150 (provider system 150m), a large number of first hash values ​​Hv1, together with data IDs, generated using the provision data DT registered in the data connector platform 140. The first data registration unit 51a associates the first hash values ​​Hv1 with the data IDs and stores them in the OEM database 70.

[0041] The second data registration unit 51b acquires, from the client system 150 (user system 150r), a second hash value Hv2 generated using the provision data DT acquired by the user system 150r. The second data registration unit 51b acquires the second hash value Hv2 along with a data ID that identifies the provision data DT. The second data registration unit 51b associates the second hash value Hv2 with the data ID and stores it in the dealer database 90.

[0042] The second data registration unit 51b acquires, from the user system 150r, history information Hi that records the exchange of data DT to be provided by the data connector platform 140 and each data connector 153. The second data registration unit 51b stores the history information Hi in the dealer database 90 in a state linked to the second hash value Hv2 and its data ID.

[0043] Furthermore, the first hash value Hv1, the second hash value Hv2, the data ID, and the history information Hi stored in the OEM database 70 and the dealer database 90 are registered in the blockchain BC and are protected to make them difficult to tamper with.

[0044] The tampering check unit 53 is a functional unit of the blockchain platform 100. The tampering check unit 53 detects tampering of the provision data DT based on a comparison between the first hash value Hv1 and the second hash value Hv2. The tampering check process for the provision data DT is performed by the tampering check unit 53 of the node 50 (dealer node 80 in FIG. 2) linked to the user system 150r. The tampering check unit 53 uses the data ID acquired by the second data registration unit 51b to extract the first hash value Hv1 linked to the currently delivered provision data DT from among the multiple first hash values ​​Hv1 registered in the blockchain BC.

[0045] As a result, the tampering check unit 53 prepares the first hash value Hv1 and the second hash value Hv2 so that they can be compared. If the first hash value Hv1 and the second hash value Hv2 are the same value, the tampering check unit 53 determines that the data to be provided DT has not been tampered with. On the other hand, if the first hash value Hv1 and the second hash value Hv2 are different values, the tampering check unit 53 determines that the data to be provided DT has been tampered with.

[0046] The data connector platform 140 works in conjunction with each data connector 153 of each client system 150, enabling data exchange between the client systems 150. For example, data sharing ecosystems such as Gaia-X and Catena-X can be used for the data connector platform 140. The data connector platform 140 has a function for registering client systems 150 and manages connections to the data connector platform 140 via the data connectors 153.

[0047] The data connector platform 140 protects the data sovereignty of each client. Even when the provision data DT is handed over from the provider system 150m to the user system 150r, the data connector platform 140 leaves the data sovereignty of the provision data DT with the provider system 150m. Data sovereignty is a concept that encompasses ownership and management rights over data. By leaving data sovereignty with the provider system 150m, the provider system 150m has the right to control (restrict) the storage, editing, deletion, use, sharing, etc. of the provision data DT.

[0048] [Details of Processing Executed in Data Exchange System] Next, details of the registration processing and acquisition processing executed in the data exchange system 1 described above will be described based on FIGS. 3 to 7 and with reference to FIG.

[0049] The registration process of the provision data DT shown in Figure 3 is mainly performed by the provider system 150m. In S10, the data management unit 151 and the data connector 153 of the provider system 150m register client data that can be provided to other client systems 150 as provision data DT in the data connector platform 140. Furthermore, in S20, the data management unit 151 registers the first hash value Hv1 based on the provision data DT registered in the data connector platform 140, together with the data ID, in the blockchain platform 100. Note that the order of performing S10 and S20 in the registration process may be reversed.

[0050] 4, in sub-process S101 of the registration process (S10), the data management unit 151 acquires a trigger to register the data to be provided DT. As an example, when a user (worker) belonging to a client performs a user operation to instruct data registration, the data registration unit 51 acquires a registration trigger. As another example, when client data of a type to be registered in advance is acquired, the data registration unit 51 also acquires a registration trigger.

[0051] In S102 and S103, the data management unit 151 registers the data assets and data policies of the provision data DT to be registered in the data connector 153. Furthermore, in S104, the data management unit 151 registers a contract definition in the data connector 153. The contract definition is information indicating the conditions and rules related to data exchange of the provision data DT to be registered.

[0052] In S105, the data management unit 151 uploads the data body of the provision data DT to the data connector 153. In S106, the data management unit 151 presents the registration results of the provision data DT to the user and stores the registration history in the client database. As a result, the provision data DT can be transferred using the data connector 153 and the data connector platform 140.

[0053] 5 is performed mainly by the user system 150r. In S30, the data management unit 151 and the data connector 153 of the user system 150r acquire a file list FL from the data connector platform 140. Furthermore, in S40, the data management unit 151 and the data connector 153 acquire the necessary data DT to be provided.

[0054] In S50, the data management unit 151 generates history information Hi indicating the acquisition history of the provision data DT and registers it in the blockchain platform 100. Furthermore, in S60, the data management unit 151 cooperates with the data registration unit 51 of the node 50 (dealer node 80) to check whether the provision data DT acquired in S40 has been tampered with.

[0055] In S131, a sub-process of the acquisition process (S30, S40) shown in FIG. 6 , the data management unit 151 acquires a trigger to acquire a file list FL. As an example, when a user (worker) belonging to a client performs a user operation to instruct acquisition of a file list FL, the data registration unit 51 acquires an acquisition trigger. In S132, the data management unit 151 requests the data connector 153 to provide the file list FL. The data connector 153 cooperates with the data connector platform 140, and in S133 provides the file list FL to the data management unit 151. In S134, the data management unit 151 presents the contents of the file list FL to the user and stores the file list FL in the client database.

[0056] In S141, the data management unit 151 identifies the provision data DT to be acquired. As an example, the data management unit 151 determines the provision data DT based on a user operation. In S142, the data management unit 151 notifies the data connector 153 of the data ID, thereby requesting the provision of the provision data DT to be acquired. The data connector 153 cooperates with the data connector platform 140, and in S143 provides the specified provision data DT to the data management unit 151. In S144, the data management unit 151 presents the acquisition result of the provision data DT to the user and stores the provision data DT in the client database.

[0057] 7 , a sub-process of the acquisition process (S60) performs a tampering check on the data to be provided DT. Specifically, in S161, the data management unit 151 generates a second hash value Hv2 based on the data to be provided DT acquired in S40. In S162, the data management unit 151 transmits a request to the data connector 153 to perform tampering detection. In S163, the data management unit 151 transmits the data ID and the second hash value Hv2 required for tampering detection to the tampering check unit 53.

[0058] In S163, the tampering check unit 53 performs a step of acquiring a data ID and a second hash value Hv2. In S164, the tampering check unit 53 extracts a first hash value Hv1 linked to the acquired data ID from the information shared by the blockchain BC and prepares the first hash value Hv1 and the second hash value Hv2 so that they can be compared. Then, in S165, the tampering check unit 53 detects tampering of the provision data DT based on a comparison of the first hash value Hv1 and the second hash value Hv2. In S166, the tampering check unit 53 notifies the data management unit 151 of the tampering detection result.

[0059] In S166, the data management unit 151 acquires the result of the tampering detection by the tampering check unit 53. In S167, the data management unit 151 presents the acquired detection result to the user and also stores this detection result in the client database.

[0060] [Tampering Check Processing for Past Data Exchange] The access gateway 30 shown in Fig. 1 includes a tampering check unit 33 in addition to a data acquisition unit 31. The tampering check unit 33 is a functional unit of the blockchain platform 100. The tampering check unit 33 has the same tampering detection function as the tampering check unit 53 provided in the node 50. The tampering check unit 33 verifies whether tampering has been performed on past data exchanges carried out in the data exchange system 1, in other words, on the past provision data DT.

[0061] The details of the tampering check process performed by the tampering check unit 33 for past data exchange will be described below based on Fig. 8 with reference to Fig. 1 and Fig. 2. The tampering check process shown in Fig. 8 is started based on a tampering check request acquired by the data acquisition unit 31, for example.

[0062] In S181 of the tampering check process, the tampering check unit 33 acquires, from the information shared by the blockchain BC, history information Hi of the data exchange carried out by the data exchange system 1. Based on the history information Hi, the tampering check unit 33 ascertains the data ID of the provision data DT that was handed over in the past data exchange.

[0063] In S182, the tampering check unit 33 uses the data ID to acquire the first hash value Hv1 uploaded from the provider system 150m and the second hash value Hv2 uploaded from the user system 150r. In S182, the first hash value Hv1 and the second hash value Hv2 are prepared so as to be comparable by data sharing using the blockchain BC. The tampering check unit 33 extracts the corresponding first hash values ​​Hv1 and second hash values ​​Hv2 for all data exchanges that have been carried out in the past.

[0064] In S183, the tampering check unit 33 detects tampering of the data to be provided DT based on a comparison of the first hash value Hv1 and the second hash value Hv2. If the tampering check unit 33 detects an inconsistency (mismatch) between the first hash value Hv1 and the second hash value Hv2 for at least some of the data exchange (S183: YES), the tampering check unit 33 determines in S184 that there is a possibility of tampering. In this case, in S186, the tampering check unit 33 transmits a check result indicating there is a possibility of tampering to the external system or user terminal 110 that requested the tampering check.

[0065] On the other hand, if the first hash value Hv1 and the second hash value Hv2 match (S183: NO) for all data exchanges, the tampering check unit 33 determines in S185 that there is no possibility of tampering and that the data is normal. In this case, in S186, the tampering check unit 33 transmits a check result indicating that no tampering was detected to the external system or user terminal 110 that requested the tampering check.

[0066] (Summary of the embodiment) In the embodiment described so far, the data connector platform 140 is used to provide data from the provider system 150m to the user system 150r, so trade secrets can be maintained in the blockchain platform 100. In addition, since tampering with the provision data DT can be detected by comparing hash values, the provision data DT can be protected. Furthermore, since the provision data DT, the first hash value Hv1, and the second hash value Hv2 are smaller in size than encrypted data for secure computation, increases in the costs required for computation and communication can be avoided. Therefore, convenience in data transfer between client systems 150 can be ensured.

[0067] Additionally, in this embodiment, even when the provision data DT is provided from the provider system 150m to the user system 150r, the sovereignty of the provision data DT remains with the provider system 150m. Therefore, even if data exchange between client systems 150 is possible, the data sovereignty of client data that is a trade secret can be protected.

[0068] In this embodiment, the first hash value Hv1 and the second hash value Hv2 are prepared in a comparable manner by sharing data using the blockchain BC in the blockchain platform 100. As described above, by using the blockchain BC technology for data sharing, the first hash value Hv1 and the second hash value Hv2 can be protected from tampering. Therefore, tampering detection of the provision data DT using these hash values ​​can be performed more accurately.

[0069] As described above, in this embodiment, the data sovereignty of the provider system 150m is protected by utilizing the data connector technology. Furthermore, the blockchain BC technology is utilized to ensure that the delivered data DT has not been tampered with. Therefore, a data exchange system 1 that can protect data sovereignty and ensure the authenticity of data can be realized.

[0070] Furthermore, in this embodiment, the process of detecting tampering of the provision data DT is performed based on the user system 150r receiving the provision data DT via the data connector platform 140 (see S60 in FIG. 5). As a result, the user system 150r can quickly determine that the acquired provision data DT has not been tampered with.

[0071] In addition, the blockchain platform 100 of this embodiment acquires history information Hi of the delivery of the provision data DT from the provider system 150m to the user system 150r via the data connector platform 140 (see S50 in FIG. 5). Therefore, even in a system configuration in which the blockchain platform 100 is not directly involved in the delivery of the provision data DT, it is possible to keep the history of the exchange of the provision data DT under the protection of the blockchain BC.

[0072] In this embodiment, a process for detecting tampering of past data to be provided DT is performed based on the history information Hi (see FIG. 8). As a result, a third party or the like that does not exchange data to be provided DT can check, at an appropriate timing, whether tampering has occurred in past data exchanges.

[0073] Specifically, the provider system 150m registers in the history information Hi hash values ​​of information about when and to whom data was sent. Also, the user system 150r registers in the history information Hi hash values ​​of information about when and from whom data was received. This tampering detection process that collectively checks past history information Hi not only ensures the authenticity of the data itself, but also makes it possible to confirm that the data exchange time, exchange approval information, etc. have not been tampered with.

[0074] In the above embodiment, the tampering check unit 33 and the tampering check unit 53 correspond to the "detection unit," the first data registration unit 51a corresponds to the "first acquisition unit," and the second data registration unit 51b corresponds to the "second acquisition unit." Also, the data exchange system 1 corresponds to the "information processing system," the blockchain platform 100 corresponds to the "data storage platform," and the data connector platform 140 corresponds to the "data provision platform."

[0075] (Other Embodiments) Although one embodiment of the present disclosure has been described above, the present disclosure should not be construed as being limited to the above embodiment, and can be applied to various embodiments and combinations within the scope that does not deviate from the gist of the present disclosure.

[0076] In a first modification of the above embodiment, a data storage platform that does not use blockchain BC technology is used instead of the above-described blockchain platform 100. Also, in a second modification of the above embodiment, the tampering detection process at the timing when the provision data DT is handed over is performed by the tampering check unit 33 of the access gateway 30 instead of the tampering check unit 53 of each node 50.

[0077] The timing of the step of detecting tampering of the provision data DT may be changed as appropriate. For example, in the third modification of the above embodiment, only the tampering detection process is performed when the provision data DT is handed over, and the tampering detection process for past data exchanges based on a request from a third party or the like is not performed. That is, the tampering check unit 33 of the access gateway 30 is omitted.

[0078] In addition, in the fourth modification of the above embodiment, only the tampering detection process is performed for past data exchanges based on a request from a third party, etc., and the tampering detection process is not performed when the data to be provided DT is handed over. That is, the tampering check unit 53 of each node 50 is omitted.

[0079] In a fifth modification of the above embodiment, the data connector platform 140, instead of the user system 150r, provides the data exchange history information Hi to the blockchain platform 100. Also, in a sixth modification of the above embodiment, the provider system 150m, instead of or together with the user system 150r, provides the history information Hi to the blockchain platform 100.

[0080] In the above embodiment, each function provided by the client system 150 or the like can be provided by software and hardware that executes the software, software only, hardware only, or a combination of these. Similarly, each function provided by the access gateway 30 and the node 50 or the like can be provided by software and hardware that executes the software, software only, hardware only, or a combination of these. Furthermore, when these functions are provided by electronic circuits as hardware, each function can also be provided by digital circuits including multiple logic circuits or analog circuits.

[0081] The processor of the above embodiment may be configured to include at least one arithmetic core such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The processor may further include an FPGA (Field-Programmable Gate Array), an NPU (Neural Network Processing Unit), and an IP core with other dedicated functions. The processor is not limited to a chip configuration individually mounted on a printed circuit board. The processor may also be implemented in an ASIC (Application Specific Integrated Circuit), an SoC (System on Chip), an FPGA, or the like.

[0082] The form of the non-transitory tangible storage medium used as storage in the above embodiments and storing each program may be changed as appropriate. For example, the storage medium is not limited to a configuration 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. Furthermore, the storage medium may be an optical disk, hard disk drive, solid state drive, or the like used as a source from which programs are copied or distributed to a computer.

[0083] The controller and methods described herein may be implemented by a special-purpose computer comprising a processor programmed to perform one or more functions embodied in a computer program. Alternatively, the apparatus and methods described herein may be implemented by special-purpose hardware logic circuitry. Alternatively, the apparatus and methods described herein may be implemented by one or more special-purpose computers comprising a processor executing a computer program in combination with one or more hardware logic circuits. Furthermore, the computer program may be stored as instructions executed by a computer on a computer-readable non-transitory storage medium.

[0084] (Disclosure of Technical Ideas) This specification discloses multiple technical ideas described in the following multiple clauses. Some clauses may be described in a multiple dependent form, with the subsequent clause alternatively referring to the preceding clause. Furthermore, some clauses may be described in a multiple dependent form, with the subsequent clause referring to another multiple dependent clause. These multiple dependent clauses define multiple technical ideas.

[0085] (Technical Idea 1) An information processing method for exchanging data between multiple client systems (150) linked to a data storage platform (100), wherein, when providing data (DT) from a provider system (150m) to a user system (150r) using a data providing platform (140), the information processing method includes, in processing executed by at least one processor (11), the steps of: acquiring, from the provider system (150m), a first hash value (Hv1) generated using the data to be provided; acquiring, from the user system (S163), a second hash value (Hv2) generated using the data to be provided acquired by the user system; and detecting tampering of the data to be provided based on a comparison between the first hash value and the second hash value (S165, S183). (Technical Idea 2) The information processing method according to Technical Idea 1, wherein sovereignty of the data to be provided remains with the provider system even when the data to be provided is provided from the provider system to the user system. (Technical Idea 3) The information processing method according to Technical Idea 1 or 2, further comprising the step of preparing the first hash value and the second hash value in a comparable manner by sharing data using a blockchain (BC) in the data storage platform (S164, S182). (Technical Idea 4) The information processing method according to any one of Technical Ideas 1 to 3, in which the step of detecting tampering with the provision data is performed based on the user system receiving the provision data via the data provision platform. (Technical Idea 5) The information processing method according to any one of Technical Ideas 1 to 4, further comprising the step of acquiring history information (Hi) of the delivery of the provision data from the provider system to the user system via the data provision platform (S50). (Technical Idea 6) The information processing method according to Technical Idea 5, in which the step of detecting tampering with the provision data is performed on past data to be provided based on the history information.(Technical Idea 7) An information processing system for transferring data between a plurality of client systems (150) linked to a data storage platform (100), comprising: a first acquisition unit (51a) that acquires, when data to be provided (DT) is provided from a source system (150m) to a user system (150r) using a data providing platform (140), a first hash value (Hv1) generated using the data to be provided from the source system; a second acquisition unit (51b) that acquires, from the user system, a second hash value (Hv2) generated using the data to be provided acquired by the user system; and a detection unit (33, 53) that detects tampering with the data to be provided based on a comparison between the first hash value and the second hash value. (Technical Idea 8) An information processing program for transferring data between a plurality of client systems (150) linked to a data storage platform (100), the information processing program causing at least one processor (11) to execute processing including the following when providing data (DT) from a provider system (150m) to a user system (150r) using a data providing platform (140): acquiring a first hash value (Hv1) generated using the data to be provided from the provider system (S20); acquiring a second hash value (Hv2) generated using the data to be provided acquired by the user system from the user system (S163); and detecting tampering of the data to be provided based on a comparison between the first hash value and the second hash value (S165, S183).

Claims

1. An information processing method for transferring data between a plurality of client systems (150) linked to a data storage platform (100), the information processing method including the steps of, when providing data (DT) from a source system (150m) to a user system (150r) using a data providing platform (140), obtaining a first hash value (Hv1) generated using the data to be provided from the source system (S20), obtaining a second hash value (Hv2) generated using the data to be provided obtained by the user system from the user system (S163), and detecting tampering with the data to be provided based on a comparison between the first hash value and the second hash value (S165, S183) in the processing executed by at least one processor (11).

2. An information processing method according to claim 1, wherein the sovereignty of the data to be provided remains with the source system even when the data to be provided is provided from the source system to the user system.

3. The information processing method according to claim 1, further comprising the step of preparing the first hash value and the second hash value in a comparable manner by sharing data using a blockchain (BC) in the data storage platform (S164, S182).

4. An information processing method according to claim 1, wherein the step of detecting tampering with the provision data is carried out based on the user system receiving the provision data via the data provision platform.

5. The information processing method according to claim 1, further comprising the step of acquiring (S50) history information (Hi) of the delivery of the data to be provided from the data providing system to the user system via the data providing platform.

6. The information processing method according to claim 5, wherein the step of detecting tampering with the to-be-provided data is performed on past to-be-provided data based on the history information.

7. An information processing system for transferring data between multiple client systems (150) linked to a data storage platform (100), comprising: when providing data (DT) to be provided from a source system (150m) to a user system (150r) using a data providing platform (140), a first acquisition unit (51a) for acquiring a first hash value (Hv1) generated using the data to be provided from the source system; a second acquisition unit (51b) for acquiring from the user system a second hash value (Hv2) generated using the data to be provided acquired by the user system; and a detection unit (33, 53) for detecting tampering with the data to be provided based on a comparison between the first hash value and the second hash value.

8. A storage medium readable by a computer (10) storing an information processing program for transferring data between a plurality of client systems (150) linked to a data storage platform (100), wherein the information processing program is configured to cause at least one processor (11) to execute processes including the following when providing data (DT) from a source system (150m) to a user system (150r) using a data providing platform (140): acquiring from the source system a first hash value (Hv1) generated using the data to be provided (S20); acquiring from the user system a second hash value (Hv2) generated using the data to be provided acquired by the user system (S163); and detecting tampering with the data to be provided based on a comparison between the first hash value and the second hash value (S165, S183).

Citation Information

Patent Citations

  • Data management system and data management program

    JP2022187163A

  • Business management system and business management method

    JP2023032864A

Cited By

  • Information processing device, information processing method, and program

    JP7880188B1

  • Information processing device, information processing method, and program

    JP7894674B1