Information processing method, information processing device, information display device, and information processing program

The information processing method addresses the challenge of quickly displaying data verification status by calculating and comparing hash values and top hashes within the Merkle tree and blockchain systems, ensuring efficient and accurate data integrity verification.

WO2025115523A1PCT designated stage expired Publication Date: 2025-06-05FUJIFILM CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/039162
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-30
Filing Date
2024-11-01
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Existing technologies face challenges in quickly and efficiently displaying the verification status of data when referencing it, particularly due to the time-consuming processes involved in verifying data integrity using Merkle trees and blockchains.

Method used

The proposed solution involves an information processing method that calculates and compares hash values from data with reference hash values obtained from a Merkle tree, evaluates the integrity of the data and the Merkle tree by comparing top hashes recorded in the blockchain, and displays the verification status accordingly.

Benefits of technology

This approach allows for the rapid display of data verification status, ensuring data integrity is maintained while minimizing the time required for verification processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024039162_05062025_PF_FP_ABST
    Figure JP2024039162_05062025_PF_FP_ABST
Patent Text Reader

Abstract

This information processing device: acquires one or more pieces of data; acquires a hash tree related to the data; calculates a hash value from the data; compares the calculated hash value with a reference hash value; if it is evaluated that the data and / or the reference hash value has been falsified, displays data different from other data evaluated to have not been falsified; compares the other data with the top hash recorded in a blockchain; and if the acquired hash tree is evaluated as being normal, displays data different from the display of other data that has not been falsified and / or the display of data for which it was evaluated that the data and / or the reference hash value has been falsified.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method, information processing device, information display device, and information processing program

[0001] The disclosed technology relates to an information processing method, an information processing device, an information display device, and an information processing program.

[0002] Japanese Patent Publication No. 7215581 describes a supply chain management method that uses a blockchain (BC) to manage transaction records (ReT) between each transactor (TR) in a supply chain (SC) built with multiple transactors (TR). In particular, the method describes a mode in which, when a request to reference item data is received via a user terminal, a data management server identifies the transaction record ReT associated with the item data, determines whether the extracted transaction record ReT has been tampered with, and notifies the user terminal of an error if tampering is suspected. Regarding data verification, the method also describes repeating the process of combining hash values ​​of the transaction record ReT according to the shape of a Merkle tree and calculating a Merkle root.

[0003] WO 2021 / 166528 describes a fraud verification device used to verify and detect fraud in a blockchain. In particular, the device identifies a block confirmation transaction from a second blockchain different from the first blockchain that includes a first Merkle root hash calculated from the block header of a block within a target range in a first blockchain and a Merkle root hash calculated based on a specified block number and the block header of that block. The device calculates a second Merkle root hash from the block header of the identified block, compares the first Merkle root hash with the second Merkle root hash, and, if the hash values ​​do not match, determines that fraud (tampering) has occurred in a transaction within one of the blocks. The device also describes an aspect in which, if fraud is determined to have occurred, an error is notified to a client device.

[0004] JP 2023-522119 A describes a computer-implemented method for block propagation in a blockchain network. In particular, regarding block propagation from a mining node (miner) to other miners, when miner A receives a block header message from another miner C indicating that a block has been found, miner A constructs a Merkle tree based on the TXID (transaction ID) and the order specified for miner C, and further hashes the block header and verifies the hash value.

[0005] Here, by generating a hash value for the data when it is created, and then verifying that there is no difference between this hash value and a hash value regenerated from the referenced data when the data is referenced, it is possible to verify that the data has not been tampered with. To avoid the risk of tampering with the hash value generated when the data was created, in addition to the data itself, the hash value is sometimes registered in the blockchain. Because registering values ​​in the blockchain is expensive, a Merkle tree is typically created from multiple hash values, and only the top hash is registered in the blockchain. In this case, to verify that the data has not been tampered with, it is necessary to obtain a Merkle tree containing the hash corresponding to the data and obtain the top hash of the Merkle tree from the blockchain. It is also necessary to verify that the hash value of the data matches the hash value of the corresponding data contained in the Merkle tree and that the Merkle tree has not been tampered with. These processes take time. To quickly reference data, a challenge is how to display the verification status when displaying pre-verification data.

[0006] In one aspect, an object is to provide an information processing method, an information processing device, an information display device, and an information processing program that are capable of displaying the verification status of data when the data is referenced.

[0007] a step of comparing the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with or not; a step of displaying data that differs from other data that has been evaluated as not being tampered with, if at least one of the data and the reference hash value has been evaluated as having been tampered with; a step of acquiring a top hash recorded in a blockchain for the hash tree; a step of comparing the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal; and a step of displaying data that differs from at least one of the other data that has not been tampered with and the data for which at least one of the data and the reference hash value has been evaluated as having been tampered with, if the acquired hash tree has been evaluated as normal.

[0008] A second aspect of the present disclosure is an information processing device that includes a processor, acquires one or more pieces of data, acquires a hash tree associated with the data, calculates a hash value from the data, compares the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with or not, and if at least one of the data and the reference hash value is evaluated to have been tampered with, displays data that differs from other data that has been evaluated to have not been tampered with, acquires a top hash for the hash tree that is recorded in a blockchain, compares the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal, and if the acquired hash tree is evaluated to be normal, displays data that differs from at least one of other data that has not been tampered with and data for which at least one of the data and the reference hash value has been evaluated to have been tampered with.

[0009] A third aspect of the present disclosure is an information display device including a processor, the processor displaying a user interface, the user interface being a data display area that displays data, and that displays data that has been evaluated as to whether at least one of the data and the reference hash value has been tampered with or not by comparing a hash value calculated from the data with a reference hash value, and if at least one of the data and the reference hash value is evaluated as having been tampered with, the data display area displays data that is different from other data that has been evaluated as not having been tampered with, and further, if the hash tree is evaluated as normal, the data display area displays data that is different from at least one of the other data that has not been tampered with and the data for which at least one of the data and the reference hash value has been evaluated as having been tampered with.

[0010] A fourth aspect of the present disclosure is an information processing program that causes a computer to execute a process of acquiring one or more pieces of data, acquiring a hash tree associated with the data, calculating a hash value from the data, comparing the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with or not, and if at least one of the data and the reference hash value is evaluated to have been tampered with, displaying data that differs from other data that has been evaluated to have not been tampered with, acquiring a top hash for the hash tree that is recorded in a blockchain, comparing the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal, and if the acquired hash tree is evaluated to be normal, displaying data that differs from at least one of the other data that has been evaluated to have not been tampered with and the data for which at least one of the data and the reference hash value has been evaluated to have been tampered with.

[0011] In one aspect, when the data is referenced, the verification status of the data can be displayed.

[0012] FIG. 1 is an explanatory diagram showing an example of the configuration of an information processing system. FIG. 1 is a schematic block diagram of an example of a computer that functions as a server and a user terminal of this embodiment. FIG. 2 is a block diagram showing the configuration of a server of this embodiment. FIG. 3 is a block diagram showing the configuration of a data creation unit of the server of this embodiment. FIG. 4 is a block diagram showing the configuration of a data verification unit of the server of this embodiment. FIG. 5 is a diagram showing an example of displaying the verification status of data. FIG. 6 is a flowchart showing a data creation processing routine in the server of this embodiment. FIG. 7 is a flowchart showing a data verification processing routine in the server of this embodiment.

[0013] An example of an embodiment of the disclosed technology will be described below with reference to the drawings. Note that the same or equivalent components and parts in each drawing are given the same reference numerals. Also, the dimensional proportions in the drawings are exaggerated for the convenience of explanation and may differ from the actual proportions.

[0014] <System Configuration> Fig. 1 is an explanatory diagram showing an example configuration of an information processing system 2. In this embodiment, an information processing system 2 that performs data verification using a Merkle tree and a blockchain will be described. The information processing system 2 includes a server 10 and a user terminal 20. The server 10 and the user terminal 20 are communicatively connected via a network N. The Merkle tree is an example of a hash tree. The server 10 is an example of an information processing device, and the user terminal 30 is an example of an information display device.

[0015] The target data may be any data, such as data related to medical care or inventory management.

[0016] The server 10 is, for example, a server computer capable of various information processing and sending and receiving information. Note that the device equivalent to the server 10 is not limited to a server computer, and may be, for example, a personal computer. In this embodiment, the server 10 functions as an information processing device that creates a Merkle tree and verifies data using a Merkle tree and a blockchain when referencing data.

[0017] The user terminal 20 is a general-purpose computer such as a personal computer. In this embodiment, the user terminal 20 functions as an information display device that displays the verification status of data when the data is referenced.

[0018] In this embodiment, the server 10 creates the Merkle tree and verifies the data, but the local user terminal 20 may create the Merkle tree and verify the data. In other words, the distinction between the two is for convenience's sake, and a single computer may perform the series of processes.

[0019] <Configuration of Server According to This Embodiment> FIG. 2 is a block diagram showing the hardware configuration of the server 10 according to this embodiment.

[0020] 2, the server 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17. Each component is connected to each other via a bus 19 so as to be able to communicate with each other.

[0021] The CPU 11 is a central processing unit that executes various programs and controls each component. That is, the CPU 11 reads programs from the ROM 12 or the storage 14 and executes the programs using the RAM 13 as a work area. The CPU 11 controls the above components and performs various arithmetic processing in accordance with the programs stored in the ROM 12 or the storage 14. In this embodiment, the ROM 12 or the storage 14 stores information processing programs for creating a Merkle tree and verifying data. The information processing program may be a single program, or may be a group of programs consisting of multiple programs or modules.

[0022] The ROM 12 stores various programs and various data. The RAM 13 temporarily stores programs or data as a working area. The storage 14 is configured with an HDD (Hard Disk Drive) or an SSD (Solid State Drive) and stores various programs including the operating system and various data.

[0023] The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to input various types of information.

[0024] The input unit 15 accepts newly created data.

[0025] The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may be a touch panel type and function as the input unit 15.

[0026] The communication interface 17 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).

[0027] Next, a description will be given of the functional configuration of the server 10. Fig. 3 is a block diagram showing an example of the functional configuration of the server 10.

[0028] As shown in FIG. 3, the server 10 functionally comprises a data creation unit 21 and a data verification unit 31.

[0029] The data creation unit 21 creates a Merkle tree from the newly created data and registers the top hash of the Merkle tree in the blockchain. Specifically, as shown in Fig. 4, the data creation unit 21 includes a hash value calculation unit 120, a Merkle tree creation unit 122, and a blockchain registration unit 124.

[0030] The hash value calculation unit 120 stores the newly created data in the external data database 40 and calculates a hash value from the data. The hash corresponding to each piece of data is calculated as needed from the input data using a hash function.

[0031] Each time a certain number of hash values ​​are calculated from newly created data, Merkle tree creation unit 122 creates a Merkle tree and stores the created Merkle tree in external tree database 42. In the Merkle tree, each leaf node stores the hash value of each piece of data, a higher-level node stores a single newly calculated hash value for data that is the sum of the hash values ​​of the two lower-level nodes, and the top node stores the top hash.

[0032] The blockchain registration unit 124 registers the top hash of the created Merkle tree and an ID for identifying the Merkle tree on the blockchain 50. The blockchain 50 is constructed by a blockchain network made up of multiple computer terminals, and is a chronological link of blocks 51, each containing the top hash of a Merkle tree and an ID for identifying the Merkle tree. The blockchain registration unit 124 can prevent tampering with the Merkle tree by registering the top hash in a block 51 on the blockchain 50 every time a Merkle tree is created.

[0033] When the user terminal 30 refers to data, the data verification unit 31 verifies the data using the Merkle tree and the blockchain 50. Specifically, as shown in FIG. 5 , the data verification unit 31 includes a data acquisition unit 130, a Merkle tree acquisition unit 132, a hash value calculation unit 134, a hash value verification unit 136, a first display control unit 138, a top hash acquisition unit 140, a top hash verification unit 142, and a second display control unit 144.

[0034] The data acquisition unit 130 acquires, from the data database 40 , one or more pieces of data to be referenced by the user terminal 30 .

[0035] The Merkle tree acquisition unit 132 acquires, from the tree database 42 , a Merkle tree associated with the data to be referenced by the user terminal 30 .

[0036] The hash value calculation unit 134 calculates a hash value from the data to be referenced by the user terminal 30 .

[0037] The hash value verification unit 136 compares the calculated hash value with the reference hash value obtained from the Merkle tree to evaluate whether at least one of the data and the reference hash value has been tampered with, or whether the data has not been tampered with.

[0038] Specifically, a reference hash value corresponding to the data to be referenced by the user terminal 30 is obtained from the Merkle tree obtained by the Merkle tree obtainment unit 132, and the reference hash value is compared with the hash value calculated by the hash value calculation unit 134. If the hash value calculated by the hash value calculation unit 134 does not match the reference hash value, it is determined that at least one of the data and the reference hash value has been tampered with. On the other hand, if the hash value calculated by the hash value calculation unit 134 matches the reference hash value, it is determined that the data has not been tampered with.

[0039] If at least one of the data and the reference hash value is evaluated as having been tampered with, the first display control unit 138 causes the display unit 16 of the user terminal 30 to display data that is different from other data that is evaluated as not having been tampered with.

[0040] In addition, if the first display control unit 138 evaluates that the data has not been tampered with, the first display control unit 138 displays data on the display unit 16 of the user terminal 30 that is different from other data in which at least one of the data and the reference hash value has been evaluated as having been tampered with.

[0041] The top hash acquisition unit 140 acquires the top hash recorded on the blockchain 50 for the Merkle tree acquired by the Merkle tree acquisition unit 132. Specifically, using the ID of the Merkle tree acquired by the Merkle tree acquisition unit 132, it acquires the top hash from the block 51 that includes the ID.

[0042] The top hash verification unit 142 compares the top hash obtained from the Merkle tree with the top hash recorded on the blockchain 50 to evaluate whether the acquired Merkle tree is normal or abnormal.

[0043] If the Merkle tree is evaluated to be normal, the second display control unit 144 causes the display unit 16 of the user terminal 30 to display the following: data evaluated to have not been tampered with, and data evaluated to have at least one of the data and reference data evaluated to have been tampered with.

[0044] Furthermore, if the acquired Merkle tree is evaluated to be abnormal, the second display control unit 144 causes the display unit 16 of the user terminal 30 to display the following: data evaluated to have not been tampered with, and data evaluated to have at least one of the data and the calculated hash value evaluated to have been tampered with.

[0045] <Configuration of User Terminal According to This Embodiment> FIG. 2 is a block diagram showing the hardware configuration of the user terminal 20 according to this embodiment.

[0046] 2, the user terminal 20, like the server 10, has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17. Each component is connected to each other via a bus 19 so as to be able to communicate with each other.

[0047] An information display program for displaying data is stored in the ROM 12 or the storage 14. This program may be a single program, or may be a group of programs made up of multiple programs or modules.

[0048] The input unit 15 accepts the designation of data to be referenced, for example, identification information of medical data or inventory data.

[0049] The CPU 11 displays a user interface 22 on the display unit 16 as shown in FIG.

[0050] The user interface 22 is a data display area that displays a list of data to be referenced. This data display area displays the results of an evaluation of whether at least one of the data and the calculated hash value has been tampered with or not, by comparing the hash value calculated from the data with the reference hash value.

[0051] Furthermore, if at least one of the data and the reference hash value is evaluated to have been tampered with, this data display area displays data that differs from other data that is evaluated to have not been tampered with. Furthermore, if the Merkle tree is evaluated to be normal, the following is displayed: data that differs from at least one of the other data that has not been tampered with and the data for which at least one of the data and the reference hash value is evaluated to have been tampered with is displayed.

[0052] For example, the background color for data under verification is set to "yellow," and the background color for data that has been confirmed not to have been tampered with is set to "green." The background color for data that has been confirmed to have been tampered with is set to "red." Furthermore, the background color for data whose Merkle tree has been tampered with and for which it is not possible to confirm whether the data it references has been tampered with is set to "orange."

[0053] In addition, icons of different shapes may be displayed in accordance with the setting of the background color of the data, or icons of different shapes may be displayed instead of setting the background color. When setting the color, it may be possible to change it continuously according to the progress of the verification. In addition to the display of the color or icon, the progress or result may be displayed by a character string, or instead of the display of the color or icon, the progress or result may be displayed by a character string.

[0054] FIG. 6 shows an example in which data of Name "Bob" and Age "20" is evaluated as having been tampered with.

[0055] In the example of Figure 6, the data for which a hash is calculated can vary as follows. That is, a hash may be calculated for a combination of Name and Age, or a hash may be calculated for a single element, either Name or Age. A hash may also be calculated for the entire table, the entire row, or for each cell. It is also possible to calculate a hash for a single important element, and calculate a hash for secondary elements collectively.

[0056] If the data in question is order-related data (for example, an order placement, a delivery date response, or a purchase order), a hash is calculated for this data, and once a Merkle tree has been created, the top hash is added to the blockchain as a block. When a delivery date response is received, a hash is calculated, and once a Merkle tree has been created, the top hash is added to the blockchain as a block. The same process is performed when the delivery date is updated. When many data elements are combined and defined as one piece of data, the data verification process becomes lighter. Conversely, when a single element is defined as one piece of data, the data verification process becomes heavier, but the data verification status is easier to see on the user interface. For important information such as price, it is preferable to calculate the hash as a single piece of data.

[0057] <Operation of Server 10 According to This Embodiment> Next, the operation of the server 10 according to this embodiment will be described.

[0058] First, the CPU 11 reads out an information processing program from the ROM 12 or the storage 14, and loads and executes the program in the RAM 13, thereby performing the data creation process shown in Fig. 7. It is also assumed that newly created data has been input to the server 10.

[0059] First, in step S100, the CPU 11 functions as the hash value calculation unit 120 to store newly created data in the external data database 40 and create a hash value from the data.

[0060] In step S102, the CPU 11, functioning as the Merkle tree creation unit 122, determines whether a certain number of hash values ​​created in step S100 have been accumulated. For example, when eight hash values ​​of newly created data have been accumulated, it is determined that a certain number has been accumulated, and the process proceeds to step S106. On the other hand, if the certain number of hash values ​​of newly created data have not been accumulated, the process proceeds to step S104.

[0061] In step S104, the CPU 11 determines to wait for the creation of a hash value resulting from the creation of other data, and ends the data creation process.

[0062] In step S106, the CPU 11 functions as the Merkle tree creation unit 122 to create a Merkle tree using a certain number of hash values ​​calculated from the newly created data.

[0063] In step S108, the CPU 11, functioning as the Merkle tree creation unit 122, stores the created Merkle tree in the external tree database 42.

[0064] In step S110, the CPU 11, functioning as the blockchain registration unit 124, registers the top hash of the created Merkle tree in block 51 on the blockchain 50, and ends the data creation process.

[0065] Next, the CPU 11 reads out the information processing program from the ROM 12 or the storage 14, expands it into the RAM 13, and executes it, thereby performing the data verification process shown in Fig. 8. It is also assumed that a data reference request is input to the server 10 from the user terminal 30, and the CPU 11, as the data acquisition unit 130, acquires one or more pieces of data to be referenced by the user terminal 30 from the data database 40.

[0066] This data verification process is repeatedly executed for each of one or more pieces of data that are to be referenced by the user terminal 30 .

[0067] First, in step S122, the CPU 11 sets the background color of the data to be processed in the list representing one or more data to be referenced to yellow, and displays the list representing one or more data to be referenced on the display unit 16 of the user terminal 30. This allows the user to know that the data in question is currently being verified.

[0068] In step S124, the CPU 11 functions as the Merkle tree acquisition unit 132 and reads out from the tree database 42 a Merkle tree associated with the data to be referenced by the user terminal 30.

[0069] In step S125, the CPU 11 functions as the hash value calculation unit 134 to generate a hash value from the data to be processed.

[0070] In step S126, the CPU 11, functioning as the hash value verification unit 136, determines whether the hash value created in step S125 matches the reference hash value obtained from the Merkle tree at the time of data creation. If the hash value created in step S125 matches the reference hash value obtained from the Merkle tree at the time of data creation, it determines that the data has not been tampered with, and proceeds to step S128.

[0071] On the other hand, if the hash value created in step S125 does not match the reference hash value obtained from the Merkle tree at the time the data was created, it is determined that at least one of the data and the reference hash value has been tampered with, and the process proceeds to step S136.

[0072] In step S128, the CPU 11, functioning as the first display control unit 138, causes the display unit 16 of the user terminal 30 to display the following: For the data to be processed, the CPU 11 causes the display unit 16 of the user terminal 30 to display data that is different from other data for which at least one of the data and the reference hash value has been evaluated as having been tampered with. Specifically, the CPU 11 sets the background color of the data to be processed in a yellow-green color among the list representing one or more pieces of data to be referenced, and causes the display unit 16 of the user terminal 30 to display the list representing the one or more pieces of data to be referenced. This allows the user to understand that it has been confirmed that the data has not been tampered with.

[0073] In step S130, the CPU 11 functions as the top hash acquisition unit 140, and the top hash acquisition unit 140 reads the top hash recorded on the blockchain 50 for the Merkle tree acquired in step S124.

[0074] In step S132, the CPU 11, as the top hash verification unit 142, compares the top hash of the Merkle tree acquired in step S124 with the top hash recorded on the blockchain 50 read in step S130. This allows the CPU 11 to determine whether or not there is any inconsistency in the acquired Merkle tree. If the top hash of the Merkle tree acquired in step S124 matches the top hash recorded on the blockchain 50 read in step S130, the acquired Merkle tree is evaluated as normal. Then, the process proceeds to step S134. On the other hand, if the top hash of the Merkle tree acquired in step S124 does not match the top hash recorded on the blockchain 50 read in step S130, the acquired Merkle tree is evaluated as abnormal. Then, the process proceeds to step S142.

[0075] In step S134, the CPU 11, functioning as the second display control unit 144, causes the display unit 16 of the user terminal 30 to display the following: data evaluated as not having been tampered with, and data evaluated as having at least one of the data and the reference data evaluated as having been tampered with, which is different from either one of the data to be processed, and then ends the data verification process.

[0076] Specifically, among a list representing one or more pieces of data to be referenced, the background color of the data to be processed is set to green, and the list representing one or more pieces of data to be referenced is displayed on the display unit 16 of the user terminal 30. This allows the user to understand that it has been confirmed that the data and the Merkle tree have not been tampered with.

[0077] In step S136, the CPU 11, as the first display control unit 138, displays, on the display unit 16 of the user terminal 30, data to be processed that is different from other data for which at least one of the data and the reference hash value has been evaluated as having been tampered with. Specifically, the CPU 11 sets the background color of the data to be processed in red among the list representing one or more pieces of data to be referenced, and displays the list representing the one or more pieces of data to be referenced on the display unit 16 of the user terminal 30. This allows the user to know that the data has been tampered with.

[0078] In step S138, the CPU 11 functions as the top hash acquisition unit 140, and the top hash acquisition unit 140 reads the top hash recorded on the blockchain 50 for the Merkle tree acquired in step S124.

[0079] In step S140, the CPU 11, as the top hash verification unit 142, compares the top hash of the Merkle tree acquired in step S124 with the top hash recorded on the blockchain 50 read in step S130. This allows the CPU 11 to determine whether or not there are any inconsistencies in the acquired Merkle tree. If the top hash of the Merkle tree acquired in step S124 matches the top hash recorded on the blockchain 50 read in step S138, the acquired Merkle tree is evaluated as normal, and the data verification process is terminated. On the other hand, if the top hash of the Merkle tree acquired in step S124 does not match the top hash recorded on the blockchain 50 read in step S138, the acquired Merkle tree is evaluated as abnormal. Then, the process proceeds to step S142.

[0080] In step S142, the CPU 11, functioning as the second display control unit 144, causes the display unit 16 of the user terminal 30 to display the following: displaying data that is different from either one of the data evaluated to have not been tampered with and data evaluated to have been tampered with in at least one of the data and the calculated hash value. The data verification process is then terminated. Specifically, the background color of the data to be processed, among the list representing one or more pieces of data to be referenced, is set to orange, and the display unit 16 of the user terminal 30 displays the list representing the one or more pieces of data to be referenced. This allows the user to understand that the data tree has been tampered with and that it is impossible to confirm whether the data has been tampered with.

[0081] As described above, according to the information processing system of this embodiment, when data is displayed on a user terminal, a verification is performed on the server to confirm that the data has not been tampered with, and the verification results and the verification progress status are displayed on the user terminal. In this way, when referencing data, the verification results and the verification status showing the verification progress can be displayed.

[0082] <Modifications> The present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

[0083] For example, the various processes executed by the CPU after reading software (programs) in the above embodiments may be executed by various processors other than the CPU. Examples of processors in this case include dedicated electrical circuits, such as programmable logic devices (PLDs) (such as field-programmable gate arrays (FPGAs)) whose circuit configuration can be changed after manufacture, and application-specific integrated circuits (ASICs) that are processors with circuit configurations designed specifically to execute specific processes. Furthermore, the data creation process and data verification process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA). Furthermore, the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.

[0084] In addition, in each of the above embodiments, the information processing program is pre-stored (installed) in the storage 14, but this is not limiting. The program may be provided in a form stored on a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.

[0085] The embodiments disclosed herein are to be considered as illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the meaning and scope of the claims.

[0086] The following additional notes are provided regarding the above-described embodiments.

[0087] (Supplementary Note 1) An information processing method comprising the steps of: acquiring one or more pieces of data; acquiring a hash tree related to the data; calculating a hash value from the data; comparing the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with; displaying data that differs from other data that has been evaluated as not being tampered with, if at least one of the data and the reference hash value has been evaluated as having been tampered with; acquiring a top hash for the hash tree that is recorded in a blockchain; comparing the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal; if the acquired hash tree is evaluated as normal, displaying data that differs from at least one of other data that has not been tampered with and data for which at least one of the data and the reference hash value has been evaluated as having been tampered with.

[0088] (Supplementary Note 2) The information processing method according to Supplementary Note 1, further comprising the steps of: if the data is evaluated as not being tampered with, displaying data that is different from other data for which at least one of the data and the reference hash value is evaluated as having been tampered with; and if the hash tree is evaluated as being abnormal, displaying data that is different from either the data evaluated as not being tampered with or the data for which at least one of the data and the reference hash value is evaluated as having been tampered with.

[0089] (Appendix 3) The information processing method according to Appendix 2, further comprising a step of displaying data different from either the data evaluated as not having been tampered with or the data evaluated as having at least one of the data and the reference hash value having been tampered with, if the hash tree is evaluated as being normal.

[0090] (Supplementary Note 4) The information processing method according to any one of Supplementary Note 1 to Supplementary Note 3, wherein the hash corresponding to each piece of data is calculated from the input data using a hash function.

[0091] (Supplementary Note 5) An information processing device includes a processor,

[0092] an information processing device that acquires one or more pieces of data; acquires a hash tree related to the data; calculates a hash value from the data; compares the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with; if at least one of the data and the reference hash value is evaluated to have been tampered with, displays data different from other data evaluated to have not been tampered with; acquires a top hash for the hash tree that is recorded in a blockchain; compares the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal; if the acquired hash tree is evaluated to be normal, displays data different from at least one of other data that has not been tampered with and data for which at least one of the data and the reference hash value is evaluated to have been tampered with.

[0093] (Supplementary Note 6) An information display device including a processor, wherein the processor displays a user interface, wherein the user interface is a data display area that displays data, and displays data that has been evaluated as to whether at least one of the data and the reference hash value has been tampered with or not by comparing a hash value calculated from the data with a reference hash value, wherein the data display area displays data that is different from other data that has been evaluated as not being tampered with when at least one of the data and the reference hash value has been evaluated as having been tampered with, and further wherein, when the hash tree is evaluated as normal, the information display device displays data that is different from at least one of the other data that has not been tampered with and the data for which at least one of the data and the reference hash value has been evaluated as having been tampered with.

[0094] (Supplementary Note 7) An information processing program that causes a computer to execute processes of: acquiring one or more pieces of data; acquiring a hash tree associated with the data; calculating a hash value from the data; comparing the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with; if at least one of the data and the reference hash value is evaluated to have been tampered with, displaying data that differs from other data evaluated to have not been tampered with; acquiring a top hash for the hash tree that is recorded in a blockchain; comparing the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal; if the acquired hash tree is evaluated to be normal, displaying data that differs from at least one of the other data evaluated to have not been tampered with and the data for which at least one of the data and the reference hash value has been evaluated to have been tampered with.

[0095] The disclosure of Japanese Application No. 2023-203244 is incorporated herein by reference in its entirety.

[0096] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

Claims

1. An information processing method comprising the steps of: acquiring one or more data; acquiring a hash tree related to the data; calculating a hash value from the data; comparing the calculated hash value with a reference hash value acquired from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with or not; if at least one of the data and the reference hash value is evaluated to have been tampered with, displaying data different from other data evaluated to have not been tampered with; acquiring a top hash for the hash tree recorded in a blockchain; comparing the top hash acquired from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal; if the acquired hash tree is evaluated to be normal, displaying data different from at least one of the other data that has not been tampered with and the data for which at least one of the data and the reference hash value has been evaluated to have been tampered with.

2. An information processing method as described in claim 1, further comprising the steps of: if the data is evaluated to have not been tampered with, displaying data different from other data for which at least one of the data and the reference hash value has been evaluated to have been tampered with; and if the hash tree is evaluated to be abnormal, displaying data different from either the data evaluated to have not been tampered with or the data for which at least one of the data and the reference hash value has been evaluated to have been tampered with.

3. An information processing method as described in claim 2, further comprising a step of displaying data different from either one of the data evaluated to be not tampered with and the data evaluated to have had at least one of the data and the reference hash value tampered with, if the hash tree is evaluated to be normal.

4. An information processing method according to any one of claims 1 to 3, wherein the hash corresponding to each data item is a hash calculated from the input data using a hash function.

5. An information processing device including a processor, which acquires one or more data items; acquires a hash tree associated with the data; calculates a hash value from the data; compares the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with or not; if at least one of the data and the reference hash value is evaluated to have been tampered with, causes data different from other data evaluated to have not been tampered with; acquires a top hash for the hash tree recorded in a blockchain; compares the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal; if the acquired hash tree is evaluated to be normal, causes data different from at least one of the display of other data that has not been tampered with and the display of data for which at least one of the data and the reference hash value has been evaluated to have been tampered with.

6. An information display device including a processor, the processor displaying a user interface, the user interface being a data display area displaying data, the data being evaluated as to whether at least one of the data and the reference hash value has been tampered with or not tampered with by comparing a hash value calculated from the data with a reference hash value, the data display area displaying data different from other data evaluated as not tampered with when at least one of the data and the reference hash value is evaluated as having been tampered with, and further, when the hash tree is evaluated to be normal, the data display area displaying data different from at least one of the other untampered data and the data for which at least one of the data and the reference hash value has been evaluated as having been tampered with.

7. An information processing program that causes a computer to execute the following processes: acquiring one or more data; acquiring a hash tree related to the data; calculating a hash value from the data; comparing the calculated hash value with a reference hash value obtained from the hash tree to evaluate whether at least one of the data and the reference hash value has been tampered with or not; if at least one of the data and the reference hash value is evaluated to have been tampered with, displaying data different from other data evaluated to have not been tampered with; acquiring a top hash for the hash tree that is recorded in a blockchain; comparing the top hash obtained from the hash tree with the top hash recorded in the blockchain to evaluate whether the acquired hash tree is normal or abnormal; if the acquired hash tree is evaluated to be normal, displaying data different from at least one of the other data evaluated to have not been tampered with and the data for which at least one of the data and the reference hash value has been evaluated to have been tampered with.

Citation Information

Patent Citations

  • Endpoint verification using callsign

    JP2009530906A

  • Data distribution path verification

    JP2015026362A

  • Talking Head Digital Identity Authentication

    US20230299964A1