Patentable/Patents/US-12681669-B2
US-12681669-B2

Data management apparatus and data management method

PublishedJuly 14, 2026
Assigneenot available in USPTO data we have
Technical Abstract

1 0 1 0 0 2 1 2 2 2 1 0 As a record RAis stored in a first distributed ledger, a controller of a client server obtains a time stamp token Tfor a record hash value RHthereof and has a record RBincluding the time stamp token Tstored in a second distributed ledger. Then, as a record RAis stored in the first distributed ledger, the controller obtains a time stamp token Tfor a record hash value RHof the record RA. Then, the controller has a record RBincluding the time stamp token Tand a record hash value of the record RBstored in the second distributed ledger.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

a storage device where a distributed ledger set is stored; a controller that updates the distributed ledger set; and a communication apparatus configured to communicate with a time stamp authority that provides a time stamp token, wherein: a first distributed ledger where a record including information on the data is stored in a time-series manner, and a second distributed ledger that is separate and distinct from the first distributed ledger and where a record including the time stamp token is stored in a time-series manner, and the distributed ledger set includes obtains, from the time stamp authority through the communication apparatus, a first time stamp token for a time at which the controller accesses the first distributed ledger to generate a hash value from a most recent terminal record stored in the first distributed ledger, and stores, in the second distributed ledger, a record including (i) the first time stamp token verifying the time at which the controller accessed the first distributed ledger, (ii) the hash value generated from the most recent terminal record in the first distributed ledger, and (iii) a hash value of a previous record stored in the second distributed ledger. the controller . A data management apparatus that manages data based on a distributed ledger technology, the data management apparatus comprising:

2

claim 1 the controller obtains, from the time stamp authority, the first time stamp token in accordance with an operation by a user onto the data management apparatus. . The data management apparatus according to, wherein

3

claim 1 when a record is added to the first distributed ledger, the controller obtains, from the time stamp authority, the first time stamp token for the time at which the controller accesses the first distributed ledger to generate the hash value from the most recent terminal record which is the added record in the first distributed ledger. . The data management apparatus according to, wherein

4

claim 1 obtains, from the time stamp authority through the communication apparatus, a second time stamp token for a time at which the controller accesses the second distributed ledger to generate a hash value of a terminal record stored in the second distributed ledger, and stores, in the second distributed ledger, a record including the second time stamp token. the controller . The data management apparatus according to, wherein

5

claim 4 the controller obtains the second time stamp token in accordance with an operation by a user onto the data management apparatus. . The data management apparatus according to, wherein

6

claim 4 the controller obtains the second time stamp token as a prescribed time period elapses from a time point of previous obtainment of another time stamp token. . The data management apparatus according to, wherein

7

claim 1 the communication apparatus is further configured to communicate with an external server different from the data management apparatus, and the controller transmits to the external server through the communication apparatus, a hash value on a terminal record in the second distributed ledger at a prescribed time point. . The data management apparatus according to, wherein

8

claim 1 . The data management apparatus according to, wherein the second distributed ledger that is separate and distinct from the first distributed ledger, stores a chain of records, each record in the chain including a respective time stamp token along with a hash value of a respective terminal record in the first distributed ledger at each time point corresponding to the respective time stamp token.

9

claim 1 . The data management apparatus according to, wherein the controller accesses the first distributed ledger to generate the hash value from the most recent terminal record in the first distributed ledger each time a new record is added to the first distributed ledger.

10

claim 1 . The data management apparatus according to, wherein the controller accesses the first distributed ledger to generate the hash value from the most recent terminal record in the first distributed ledger every prescribed times of addition of a record to the first distributed ledger.

11

claim 1 . The data management apparatus according to, wherein the controller accesses the first distributed ledger to generate the hash value from the most recent terminal record in the first distributed ledger after lapse of a first prescribed time period since the controller accessed the first distributed ledger previously.

12

a storage device where a distributed ledger set is stored, a controller that updates the distributed ledger set, and a communication apparatus configured to communicate with a time stamp authority that provides a time stamp token, the data management apparatus including a first distributed ledger where a record including information on the data is stored in a time-series manner, and a second distributed ledger that is separate and distinct from the first distributed ledger and where a record including the time stamp token is stored in a time-series manner, the data management method comprising: the distributed ledger set including obtaining, from the time stamp authority through the communication apparatus, a first time stamp token for a time at which the data management apparatus accesses the first distributed ledger to generate a hash value from a most recent terminal record stored in the first distributed ledger; and storing, in the second distributed ledger, a record including (i) the first time stamp token verifying the time at which the controller accessed the first distributed ledger, (ii) the hash value generated from the most recent terminal record in the first distributed ledger, and (iii) a hash value of a previous record stored in the second distributed ledger. . A data management method by using a data management apparatus that manages data based on a distributed ledger technology,

13

claim 12 obtaining from the time stamp authority through the communication apparatus, a second time stamp token for a time at which the data management apparatus accesses the second distributed ledger to generate a hash value of a terminal record stored in the second distributed ledger; and storing, in the second distributed ledger, a record including the second time stamp token. . The data management method according to, further comprising:

Detailed Description

Complete technical specification and implementation details from the patent document.

The present disclosure relates to a data management apparatus and a data management method for managing data based on a distributed ledger technology.

By obtaining a time stamp token for electronic data, existence of the electronic data at the time recorded in the time stamp token has conventionally been proven (proof of existence) and the fact that the electronic data has not been tampered after that time has conventionally been proven (proof of integrity).

The time stamp token has an expiration date. Therefore, a technique to prove existence and integrity beyond the expiration date of the time stamp token has been studied.

For example, Japanese Patent Laying-Open No. 2014-42214 discloses a data proof system that performs processing for extending an expiration date of a long-term signature with the use of a time stamping technology. This data proof system creates an ESR table in which original document proof information (ES-A) that proves non-tampering of a plurality of original files is summarized and performs processing for extending the expiration date of the ESR table. Processing load is thus lower than in an example where processing for extending the expiration date is performed for each ES-A (see Japanese Patent Laying-Open No. 2014-42214).

Though the data proof system disclosed in Japanese Patent Laying-Open No. 2014-42214 addresses lowering in processing load imposed thereon, it does not address improvement in tamper resistance of a time stamp token.

(1) A data management apparatus according to one aspect of the present disclosure is a data management apparatus that manages data based on a distributed ledger technology. The data management apparatus includes a storage device where a distributed ledger is stored, a controller that updates the distributed ledger, and a communication apparatus configured to communicate with a time stamp authority that provides a time stamp token. The distributed ledger includes a first distributed ledger where a record including information on the data is stored in a time-series manner and a second distributed ledger where a record including the time stamp token obtained from the time stamp authority is stored in a time-series manner. The controller obtains a first time stamp token which is a time stamp token for information on a terminal record in the first distributed ledger from the time stamp authority through the communication apparatus and causes a record including the first time stamp token to be stored in the second distributed ledger. The present disclosure was made to solve problems above, and an object of the present disclosure is to enable proof of validity of a time stamp token beyond an expiration date and to improve tamper resistance of the time stamp token.

(2) In one embodiment, the information on the terminal record in the first distributed ledger is a hash value of the terminal record. According to the configuration, the first time stamp token obtained for the information on the terminal record in the first distributed ledger is managed in the second distributed ledger. In order to tamper the first time stamp token stored in the second distributed ledger, all records subsequent to the record including the time stamp token should be tampered, and it is difficult to tamper the first time stamp token. Even when a certain first time stamp token stored in the second distributed ledger expires, the fact that the first time stamp token that had expired has not been tampered can be proven by the records subsequent to the record including the first time stamp token. Therefore, even when the first time stamp token expires, validity thereof can be proven.

(3) In one embodiment, the first time stamp token is obtained in accordance with an operation by a user onto the data management apparatus. According to the configuration, the time stamp token is obtained for the hash value of the terminal record stored in the first distributed ledger. In other words, since the record itself stored in the first distributed ledger is not sent to the time stamp authority, the record itself can be concealed at the time when the time stamp token is obtained.

(4) In one embodiment, when a record is added to the first distributed ledger, the controller obtains the first time stamp token for that record. According to the configuration, the user can obtain the first time stamp token and have the first time stamp token stored in the second distributed ledger at any timing.

(5) In one embodiment, the controller obtains from the time stamp authority through the communication apparatus, a second time stamp token which is a time stamp token for information on a terminal record in the second distributed ledger and causes a record including the second time stamp token to be stored in the second distributed ledger. According to the configuration, each time a record is added to the first distributed ledger, the first time stamp token can automatically be obtained and stored in the second distributed ledger.

(6) In one embodiment, the controller obtains the second time stamp token in accordance with an operation by a user onto the data management apparatus. According to the configuration, by obtaining the second time stamp token for the information on the terminal record in the second distributed ledger, existence and integrity of the information on the terminal record can be proven. Proof of existence and proof of integrity of the information on the terminal record can prove the fact that the record (that is, the time stamp token) stored in the second distributed ledger prior to the terminal record has not been tampered.

(7) In one embodiment, the controller obtains the second time stamp token as a prescribed time period elapses from a time point of previous obtainment of the second time stamp token. According to the configuration, the user can obtain the second time stamp token and have the second time stamp token stored in the second distributed ledger at any timing.

(8) In one embodiment, the communication apparatus is further configured to communicate with an external server different from the data management apparatus. The controller transmits to the external server through the communication apparatus, information on a terminal record in the second distributed ledger at a prescribed time point. According to the configuration, each time a prescribed time period elapses, the second time stamp token can automatically be obtained and stored in the second distributed ledger.

(9) In one embodiment, the information on the terminal record in the second distributed ledger is a hash value of the terminal record. According to the configuration, information on the terminal record in the second distributed ledger is separated from the data management apparatus and managed also in the external server. In order to tamper the time stamp token (the first time stamp token and/or the second time stamp token) managed in the second distributed ledger, both of the time stamp token managed in the data management apparatus and information on the terminal record managed in the external server should be tampered. Tamper resistance of the time stamp token can thus be enhanced.

(10) A data management method according to another aspect of the present disclosure is a data management method by using a data management apparatus that manages data based on a distributed ledger technology. The data management apparatus includes a storage device where a distributed ledger is stored, a controller that updates the distributed ledger, and a communication apparatus configured to communicate with a time stamp authority that provides a time stamp token. The distributed ledger includes a first distributed ledger where a record including information on the data is stored in a time-series manner and a second distributed ledger where a record including the time stamp token obtained from the time stamp authority is stored in a time-series manner. The data management method includes obtaining from the time stamp authority through the communication apparatus, a first time stamp token which is a time stamp token for information on a terminal record in the first distributed ledger and storing a record including the first time stamp token in the second distributed ledger. (11) In one embodiment, obtaining from the time stamp authority through the communication apparatus, a second time stamp token which is a time stamp token for information on a terminal record in the second distributed ledger and storing a record including the second time stamp token in the second distributed ledger are further included. According to the configuration, the time stamp token is obtained for the hash value of the terminal record stored in the second distributed ledger. In other words, since the record itself stored in the second distributed ledger is not sent to the time stamp authority, the record itself can be concealed at the time when the time stamp token is obtained.

The foregoing and other objects, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description of the present disclosure when taken in conjunction with the accompanying drawings.

An embodiment of the present disclosure will be described in detail below with reference to the drawings. The same or corresponding elements in the drawings have the same reference characters allotted and description thereof will not be repeated.

<Overall Configuration of Data Management System>

1 FIG. 1 1 1 1 is a diagram showing a schematic configuration of a data management systemaccording to a first embodiment. Data management systemaccording to the first embodiment is a system that forms a consortium network (which will also simply be referred to as a “network” below) NW among a plurality of companies and manages data based on a distributed ledger technology. Data management systemaccording to the first embodiment manages data on components (which will also simply be referred to as “component data” below) that compose a vehicle. The component data may be, for example, a specification of a component. Data managed by data management systemis not limited to data on components that compose a vehicle but various types of data may be applicable.

1 FIG. 1 2 5 8 9 2 Referring to, data management systemincludes four client servers, a platform server, a time stamp authority (TSA), and an external server. Four client serversbelong to different companies (for example, an A company, a B company, a C company, and a D company).

5 5 2 5 2 5 2 Platform servermanages network NW. Platform serveraccepts an application for participation in network NW from each client server. Platform serverpermits participation of client serverinto network NW based on an operation to permit participation performed by a manager of platform serveror based on a result of determination as to a prescribed condition. In the first embodiment, participation into network NW, of four client serversbelonging to the A company, the B company, the C company, and the D company, respectively, is permitted.

2 2 2 2 2 2 1 2 Four client serversform network NW, and a hash value of component data is stored in a distributed ledger of each of them. Software based on the distributed ledger has been introduced in each of client servers, and as the introduced software based on the distributed ledger functions, each of client serversfunctions as a node. Though client serverof the A company will representatively be described below, client serversof the B company, the C company, and the D company are also similar in configuration and function. Client servercorresponds to an exemplary “data management apparatus” according to the present disclosure. Though an example where four client servers are included in network NW in data management systemaccording to the first embodiment is described, any number of client serverssuch as less than four client servers or five or more client servers may be included in network NW.

2 7 7 Client serveris configured to communicate with a user terminal apparatus. User terminal apparatusis, for example, a desk-top personal computer (PC), a notebook PC, a tablet terminal, a smartphone, or another information processing terminal with a communication function lent to an employee of the A company.

4 2 4 4 2 2 25 2 7 2 21 25 7 4 A databaseis connected to client server. Component data is stored in database. Component data is registered or updated in databasein accordance with a control signal from client server. For example, a user (for example, the employee of the A company) of client servercan request update of component data by performing an operation onto an input apparatus(which will be described later) of client serveror by performing an operation onto user terminal apparatus. Client server(a controller) generates a control signal for storing (registering/updating) component data in response to an input to input apparatusor a request from user terminal apparatusand outputs the control signal to database.

2 4 2 2 2 As client serverhas component data stored (registered/updated) in database, it generates a hash value of the component data and generates transaction data for storing the hash value in the distributed ledger. Then, client servertransmits the generated transaction data to another client serverthat forms network NW, that is, client serversof the B company, the C company, and the D company. In the distributed ledger, a hash value of the component data is stored in a time-series manner, and the distributed ledger forms a proof chain for proving existence of the component data.

8 2 Time stamp authorityincludes a server belonging to an authentication organization that issues a time stamp token. The time stamp authority issues a time stamp token in response to a time stamp issuance request from an applicant (client serverin the first embodiment). More specifically, the time stamp authority transmits to the applicant, a time stamp token in which data (a record hash value which will be described later in the first embodiment) received from the applicant is linked to time information based on a time source with followability to international standard time.

9 9 2 9 2 External serveris a server managed by a management entity which is none of the A company, the B company, the C company, and the D company. External serveris configured to communicate with client server. External serverreceives a client certificate which will be described later from client serverand manages the received client certificate.

2 21 22 23 24 25 26 27 21 22 23 24 25 26 27 29 Client serverincludes controller, a read only memory (ROM), a random access memory (RAM), a communication apparatus, an input apparatus, a display apparatus, and a storage device. Controller, ROM, RAM, communication apparatus, input apparatus, display apparatus, and storage deviceare connected to a bus.

21 21 22 23 23 21 4 Controlleris implemented, for example, by an integrated circuit including a central processing unit (CPU). Controllerdevelops various programs stored in ROMon RAMand executes the programs. The various programs include an operating system and the like. RAMfunctions as a working memory, and various types of data necessary for execution of various programs are temporarily stored therein. Though detailed description will be given later, controllerperforms functions to update component data recorded in database, to generate transaction data for updating a distributed ledger, and to obtain a time stamp token.

24 2 7 8 9 24 Communication apparatusis configured to communicate with external equipment. The external equipment includes, for example, another client server, user terminal apparatus, time stamp authority, external server, and the like. Communication between communication apparatusand the external equipment is established over the Internet, a wide area network (WAN), a local area network (LAN), an Ethernet® network, a public network, a private network, a wired network or a wireless network, or the like, or combination thereof.

25 Input apparatusincludes an input device. The input device is implemented, for example, by a mouse, a keyboard, a touch panel, and/or another apparatus capable of accepting an operation by a user.

26 26 21 Display apparatusincludes a display. Display apparatushas a display show various images in accordance with a control signal from controller. The display is implemented, for example, by a liquid crystal display, an organic electro luminescence (EL) display, or other display equipment.

27 271 272 50 27 Storage deviceincludes, for example, a storage medium such as a hard disk or a flash memory. A secret key, a plurality of public keys, and a distributed ledger setare stored in storage device.

271 2 21 21 21 271 27 21 272 2 Secret keyis a secret key of the A company. For example, in participation of client serverinto network NW for the first time, controllergenerates a secret key and a public key. Then, controllertransmits the generated public key to an authentication bureau (not shown) to have the public key authenticated. The authentication bureau is an authentication organization that issues an electronic certificate. The authentication bureau issues an electronic certificate including information on the public key. Controllerhas secret keycorresponding to the authenticated public key stored in storage device. Controllertransmits authenticated public key (electronic certificate)to client serversof the B company, the C company, and the D company.

272 21 2 27 27 The plurality of public keysinclude the public key of the B company, the public key of the C company, and the public key of the D company. Controllerhas the public keys received from other client serversstored in storage device. The public key of the A company itself may be stored in storage device.

50 50 1 2 FIG. Distributed ledger setincludes a plurality of distributed ledgers.is a diagram showing an exemplary configuration of distributed ledger set. In the first embodiment, an example in which one component that composes the vehicle is managed by data management systemwill be described. A component the data of which is managed with the use of the distributed ledger will also be referred to as a “target component” below. Component data of the target component will also be referred to as “target data.”

50 51 52 51 52 Distributed ledger setincludes two distributed ledgersand. Distributed ledgerfunctions as a proof chain (which will also be referred to as a “first proof chain” below) of target data, where a state of update of the target data is stored in a time-series manner. Distributed ledgerfunctions as a proof chain (which will also be referred to as a “second proof chain” below) of a time stamp token, where a time stamp token is stored in a time-series manner.

51 A record including a hash value of the target data is stored in a time-series manner in distributed ledger. The record includes such information as “Key”, “Age”, “Obj-HV”, “Nonce”, “Sig”, “Prev-HV”, and “HV”.

51 52 51 52 Key represents information indicating an ID of the target component. An ID k1 is allocated to the target component. Key can also be defined as an ID for identifying distributed ledgeror. A record including Key set to k1 is stored in a time-series manner in distributed ledgerand a record including Key set to k2 is stored in a time-series manner in distributed ledger.

51 Age represents information indicating a generation of a record. In the first record of the target component stored in distributed ledger, Age is set to 0. As the target component is updated and a record is added, Age is incremented.

4 Obj-HV represents a hash value of the target data. For example, as the target data stored in databaseis updated, the hash value of the updated target data is generated and defined as Obj-HV. The hash value is a numeric value obtained as a result of hashing of the target data with a hash function.

2 21 4 51 Nonce represents a nonce value indicating a number of transaction data. Specifically, the nonce value is generated by client server(controller), for example, at the time of update of the target data stored in database, as a number of processing for storing a hash value of the updated target data in distributed ledger. The nonce value refers to a hash value that is less likely to cryptographically cause collision.

271 2 271 271 Sig represents an electronic signature created with secret keyof client serverthat has issued transaction data. The electronic signature is created, for example, by encrypting Obj-HV (that is, the hash value of the target data) with secret key. Alternatively, the electronic signature may be created, for example, by encryption of Nonce (nonce value) with secret key.

Prev-HV represents a hash value of a record (a parent record) in a generation immediately preceding the latest (terminal) record. In other words, Prev-HV represents HV of the parent record.

HV represents a hash value of a record. Specifically, HV represents a hash value (which will also be referred to as a “record hash value” below) of information (Key, Age, Obj-HV, Nonce, Sig, and Prev-HV) on a record except for HV.

2 FIG. 51 51 For example, as shown in, with attention being paid to the latest (terminal) record (a record of Age “2”) in distributed ledger, Prev-HV of the terminal record is set to “H2” which is HV of the parent record (Age “1”). Then, when the component data of the first component is updated and a record of Age “3” is added, Prev-HV of the record of Age “3” is set to “H3” which is HV of the record of Age “2”. The terminal record thus has such a structure as including a record hash value of the parent record. In other words, a chain of records is realized between Prev-HV of the terminal record and HV of the parent record. Distributed ledgeris thus in a directed acyclic graph (DAG) structure.

52 51 A record including a time stamp token is stored in a time-series manner in distributed ledger. The record includes such information as “Key”, “Age”, “Obj-HV”, “Nonce”, “Sig”, “Prev-HV”, and “HV”. Since details of such information as “Age”, “Nonce”, “Sig”, “Prev-HV”, and “HV” are similar to those of the record in distributed ledger, description will not be repeated.

8 Key represents information indicating an ID of a time stamp token obtained from time stamp authority. An ID k2 is allocated to the time stamp token.

51 52 Obj-HV represents a value of a time stamp token. As will be described later, a time stamp token obtained for a record hash value in distributed ledgeror a time stamp token obtained for a record hash value in distributed ledgeris stored as Obj-HV.

21 2 Controllerof client serverperforms a function to respond to first to fourth operations which will be described below.

<First Operation>

1 2 FIGS.and 2 25 7 4 4 Referring to, for example, a user of client servercan perform onto input apparatusor user terminal apparatus, an operation to register target data in databaseor an operation to update target data registered in database. The operation to register the target data and the operation to update the target data will also collectively be referred to as a “first operation” below.

25 7 2 21 4 4 2 21 51 As the first operation is performed, in response to the first operation, input apparatusor user terminal apparatusoutputs a first request indicating that the first operation has been performed. In response to the first request, client server(controller) has the target data registered in databaseor updates the target data stored in database. Then, client server(controller) generates transaction data for adding the record including the hash value of the registered or updated target data to distributed ledger. This transaction data includes such information as “Key”, “Age”, “Obj-HV”, “Nonce”, “Sig”, “Prev-HV”, and “HV”.

4 The transaction data may further include time information on time at which transaction data is broadcast toward network NW (transmitted to network NW) and sender information on a sender of the transaction data. The time information may be, for example, information indicating time at which target data is recorded in database. The sender information is, for example, information indicating the A company. The sender information of the transaction data may be further specific, and it may be information indicating a department (one department of the A company) that has performed an operation to transmit transaction data to network NW or information indicating an individual (an employee of the A company) who has performed the operation to transmit transaction data to network NW.

51 As this transaction data is processed, a record including a hash value of the registered or updated target data is added to distributed ledger.

<Second Operation>

2 51 25 7 The user of client servercan perform an operation to obtain a time stamp token for a terminal record in distributed ledger(which will also be referred to as a “second operation” below) onto input apparatusor user terminal apparatus.

25 7 2 21 51 2 21 52 51 52 As the second operation is performed, in response to the second operation, input apparatusor user terminal apparatusoutputs a second request indicating that the second operation has been performed. In response to the second request, client server(controller) generates a record hash value of the terminal record in distributed ledgerand obtains a time stamp token for the record hash value. Then, client server(controller) generates transaction data for adding a record including the time stamp token to distributed ledger. This transaction data includes such information as “Key”, “Age”, “Obj-HV”, “Nonce”, “Sig”, “Prev-HV”, and “HV”. The transaction data may include time information and sender information. As this transaction data is processed, the record including the time stamp token obtained for the record hash value of the terminal record in distributed ledgeris added to distributed ledger.

2 21 51 2 21 51 2 21 52 Client server(controller) may be configured to automatically perform processing for responding to the second request when it senses addition of a new record to distributed ledger. In other words, when client server(controller) senses addition of a new record to distributed ledger, it generates a record hash value of the record and obtains a time stamp token for the record hash value. Then, client server(controller) generates transaction data for adding the record including the time stamp token to distributed ledger.

<Third Operation>

2 52 25 7 Furthermore, the user of client servercan perform an operation to obtain a time stamp token for a terminal record in distributed ledger(which will also be referred to as a “third operation” below) onto input apparatusor user terminal apparatus.

25 7 2 21 52 2 21 52 As the third operation is performed, in response to the third operation, input apparatusor user terminal apparatusoutputs a third request indicating that the third operation has been performed. In response to the third request, client server(controller) generates a record hash value of a terminal record in distributed ledgerand obtains a time stamp token for that record hash value. Then, client server(controller) generates transaction data for adding a record including the time stamp token to distributed ledger. This transaction data includes such information as “Key”, “Age”, “Obj-HV”, “Nonce”, “Sig”, “Prev-HV”, and “HV”. The transaction data may include time information and sender information.

<Fourth Operation>

2 25 7 52 Furthermore, the user of client servercan perform an operation to generate a client certificate (which will also be referred to as a “fourth operation” below) onto input apparatusor user terminal apparatus. The client certificate refers to data including a record hash value of a terminal record in distributed ledgerat a time point when the fourth operation is performed.

25 7 2 21 52 2 21 9 24 As the fourth operation is performed, in response to the fourth operation, input apparatusor user terminal apparatusoutputs a fourth request indicating that the fourth operation has been performed. In response to the fourth request, client server(controller) generates a record hash value of a terminal record in distributed ledgerand creates a client certificate including the record hash value. Then, client server(controller) transmits the client certificate to external serverthrough communication apparatus.

<Update of Distributed Ledger Set>

3 FIG. 3 FIG. 3 FIG. 50 51 52 is a diagram for illustrating update of distributed ledger set. An upper tier inschematically shows distributed ledgerwhich is the first proof chain and a lower tier inschematically shows distributed ledgerwhich is the second proof chain.

51 0 4 0 0 51 1 4 1 1 0 51 2 4 2 2 1 51 3 4 3 4 3 4 51 The hash value of the component data of the target component (target data) is stored in a time-series manner in the first proof chain (distributed ledger). As target data Dis first registered in databaseby an operation to register target data (the first operation), a record RAof Age “0” including the hash value of that target data Dis stored in distributed ledger. Then, as the target data is updated by the operation to update the target data (the first operation) and updated target data Dis registered in database, a record RAof Age “1” including the hash value of updated target data Dand the record hash value of parent record RAof Age “0” is stored in distributed ledger. As the target data is further updated by the operation (first operation) to update target data and updated target data Dis registered in database, a record RAof Age “2” including the hash value of updated target data Dand the record hash value of parent record RAof Age “1” is stored in distributed ledger. Similarly, each time the target data is updated to Dand D, records RAand RAincluding respective hash values of target data Dand Dare stored in distributed ledger.

52 51 1 51 1 51 1 1 0 1 0 0 52 51 2 51 2 2 1 2 1 1 0 52 51 The time stamp token is stored in a time-series manner in the second proof chain (distributed ledger). A scene in which distributed ledgeris updated for the first time, record RAis added to distributed ledger, and record RAis the terminal record in distributed ledgeris assumed. As the second operation is performed in this scene, a record hash value RHof record RAis generated. Then, a time stamp token Tfor record hash value RHis obtained and a record RBof Age “0” including time stamp token Tis stored in distributed ledger. Then, a scene in which distributed ledgeris updated and a record RAis added to distributed ledgeris assumed. As the second operation is performed in this scene, a record hash value RHof record RAis generated. Then, a time stamp token Tfor record hash value RHis obtained, and a record RBof Age “1” including time stamp token Tand the record hash value of parent record RBof Age “0” is stored in distributed ledger. As described above, when a record is added to distributed ledger, the time stamp token for the record hash value of the record may automatically be obtained.

51 51 51 The user can perform the second operation at any timing. Specifically, though an example in which the second operation is performed each time a record is added to distributed ledgeris shown above, the second operation does not have to be performed each time a record is added to distributed ledger. For example, the second operation may be performed every prescribed times of addition of a record to distributed ledger, or may be performed after lapse of a first prescribed time period since the second operation was performed previously. The first prescribed time period may be set, for example, in consideration of an expiration date of the time stamp token.

1 52 52 25 7 3 1 52 2 3 2 2 1 52 52 52 A scene in which record RBis the terminal record in distributed ledgeris assumed. When the third operation (the operation to obtain the time stamp token for the terminal record in distributed ledger) is performed on input apparatusor user terminal apparatusin this scene, a record hash value RHof terminal record RBin distributed ledgeris generated. Then, a time stamp token Tfor record hash value RHis obtained, and a record RBof Age “2” including time stamp token Tand the record hash value of parent record RBis stored in distributed ledger. The third operation can be performed at any timing of the user. Regardless of the third operation, the time stamp token for the record hash value of the terminal record in distributed ledgermay be obtained when a second prescribed time period has elapsed since previous addition of a record to distributed ledger. The second prescribed time period may be set, for example, in consideration of an expiration date of the time stamp token. The second prescribed time period may be set to a time period the same as or different from the first prescribed time period described above.

2 52 25 7 4 2 52 4 2 9 24 Then, a scene in which record RBis the terminal record in distributed ledgeris assumed. When the fourth operation (the operation to create the client certificate) is performed onto input apparatusor user terminal apparatusin this scene, a record hash value RHof terminal record RBin distributed ledgeris generated. Then, a client certificate CP including record hash value RHis created. This client certificate CP is managed as being separated from client server. For example, client certificate CP is sent to external serverthrough communication apparatus.

1 52 1 52 9 24 The fourth operation can be performed at any timing. For example, when the fourth operation is performed in the scene where record RBis the terminal record in distributed ledger, a client certificate including a record hash value of terminal record RBin distributed ledgeris created. This client certificate may be sent to external serverthrough communication apparatus.

51 51 Each time target data is updated as above, a record including a hash value thereof is stored in distributed ledger. As the hash value of the target data is managed by means of distributed ledger, tamper resistance of the target data can be enhanced.

51 52 52 52 52 0 0 1 2 0 0 0 1 0 In general, an expiration date is set for the time stamp token. Existence and integrity of the target data (hash value) cannot be proven with an expired time stamp token. Then, a time stamp token obtained for a terminal record in distributed ledgeris stored in distributed ledgeras above. In distributed ledger, records are chained with a record hash value of a parent record being included. Therefore, in order to tamper the expired time stamp token, all time stamp tokens added to distributed ledgerafter storage of the expired time stamp token should be tampered. As the time stamp token is thus stored in distributed ledger, tamper resistance of the time stamp token can be enhanced. For example, even when time stamp token Tstored in record RBexpires, subsequent records RBand RBcan prove the fact that time stamp token Thas not been tampered. Since validity of time stamp token Tcan thus be proven, the expiration date of time stamp token Tcan substantially be extended. In other words, existence and integrity of target data Dcan be proven with the use of time stamp token T.

2 3 1 52 2 3 52 1 2 1 2 1 2 52 Furthermore, a time stamp token Tis obtained for record hash value RHof terminal record RBin distributed ledgerat any timing. By obtaining time stamp token Tfor record hash value RHin distributed ledger, existence of record RBat time proven by time stamp token Tand the fact that record RBhas not been tampered after the time proven by time stamp token Tcan be proven. Existence of record RBat the time proven by time stamp token Tand the fact that a series of time stamp tokens stored in distributed ledgerhas not been tampered can thus be proven.

2 2 3 1 52 3 Furthermore, by storing record RBincluding time stamp token Tobtained for record hash value RHand the record hash value of parent record RBin distributed ledger, tamper resistance of a time stamp token Tcan be enhanced.

2 9 50 9 50 Client certificate CP is separated from client serverand managed in external server. Thus, even when all records in distributed ledger setare tampered, client certificate CP managed in external servercan prove that distributed ledger sethas been tampered.

26 7 The first operation, the second operation, the third operation, and the fourth operation may be operations, for example, performed by the user to select respective request buttons (a first button, a second button, a third button, and a fourth button) shown on the display screen of display apparatusor user terminal apparatus.

<Functional Block>

4 FIG. 4 FIG. 21 21 2101 2102 2103 2104 2105 2106 21 2101 2102 2103 2104 2105 2106 22 2101 2102 2103 2104 2105 2106 is a functional block diagram of controllerfor performing processing for responding to the first operation. Referring to, controllerincludes an information obtaining unit, a hash generator, a nonce generator, an electronic signature unit, a transaction data generator, and a transaction data transmitter. Controllerfunctions as information obtaining unit, hash generator, nonce generator, electronic signature unit, transaction data generator, and transaction data transmitter, for example, by executing a program stored in ROM. Information obtaining unit, hash generator, nonce generator, electronic signature unit, transaction data generator, and transaction data transmittermay be implemented, for example, by dedicated hardware (electronic circuitry).

25 7 25 7 As the first operation to register or update the target data is performed on input apparatusor user terminal apparatus, input apparatusor user terminal apparatusoutputs the first request indicating that the first operation has been performed.

2101 25 7 2 25 2101 1 51 2101 2102 2103 Information obtaining unitobtains the first request from input apparatusor user terminal apparatus. For example, when a user of client serverperforms the first operation on input apparatus, the first request is inputted to information obtaining unit. The first request includes ID (Key) information Mfor identifying distributed ledgerto which a record is to be added. As information obtaining unitobtains the first request, it outputs the first request to hash generatorand nonce generator.

2102 4 2102 1 2104 2105 As hash generatorreceives the first request, for example, it reads the target data from databaseand generates the hash value of the target data. Hash generatoroutputs the generated hash value and ID information Mto electronic signature unitand transaction data generator.

2103 2103 1 2105 2103 1 2104 As nonce generatorreceives the first request, it generates a nonce value. The nonce value refers to a hash value that is less likely to cryptographically cause collision. Nonce generatoroutputs the generated nonce value and ID information Mto transaction data generator. When the nonce value is used for creation of the electronic signature, nonce generatormay output the nonce value and ID information Mto electronic signature unit.

2104 271 27 2104 271 2102 2104 1 2105 2104 271 2103 2104 271 Electronic signature unitreads secret keyfrom storage device. Electronic signature unitcreates the electronic signature by encrypting with secret key, the hash value received from hash generator. Electronic signature unitoutputs the created electronic signature and ID information Mto transaction data generator. Alternatively, electronic signature unitmay create the electronic signature by encrypting with secret key, the nonce value received from nonce generator. Alternatively, electronic signature unitmay create the electronic signature by encrypting the hash value and the nonce value with secret key.

2105 2105 2105 1 50 2105 2102 2103 2104 2105 2105 2105 2106 Transaction data generatorgenerates transaction data to be transmitted to network NW. For example, transaction data generatorgenerates transaction data including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV. Transaction data generatorrecognizes Age of the parent record, for example, by checking ID information M(Key) against distributed ledger set, increments Age of the parent record, and sets incremented Age as Age of the record to be added. Transaction data generatorsets the hash value generated by hash generatoras Obj-HV, sets the nonce value generated by nonce generatoras Nonce, and sets the electronic signature created by electronic signature unitas Sig. Transaction data generatorsets the record hash value of the parent record as Prev-HV. Transaction data generatorhashes such information as Key, Age, Obj-HV, Nonce, Sig, and Prev-HV, and sets the information as HV. The transaction data may further include time information on time at which the transaction data is broadcast toward network NW (transmitted to network NW) and sender information on a sender of the transaction data. Transaction data generatoroutputs the generated transaction data to transaction data transmitter.

2106 24 24 Transaction data transmitteroutputs to communication apparatus, a control signal for transmitting transaction data to network NW. The transaction data is thus transmitted to network NW through communication apparatus.

5 FIG. 5 FIG. 21 21 2111 2112 2113 2114 2115 2116 2117 21 2111 2112 2113 2114 2115 2116 2117 22 2111 2112 2113 2114 2115 2116 2117 is a functional block diagram of controllerfor performing processing for responding to the second operation. Referring to, controllerincludes an information obtaining unit, a record hash generator, a nonce generator, a time stamp token obtaining unit, an electronic signature unit, a transaction data generator, and a transaction data transmitter. Controllerfunctions as information obtaining unit, record hash generator, nonce generator, time stamp token obtaining unit, electronic signature unit, transaction data generator, and transaction data transmitter, for example, by executing a program stored in ROM. Information obtaining unit, record hash generator, nonce generator, time stamp token obtaining unit, electronic signature unit, transaction data generator, and transaction data transmittermay be implemented, for example, by dedicated hardware (electronic circuitry).

51 25 7 25 7 As the second operation to obtain the time stamp token for the terminal record in distributed ledgeris performed on input apparatusor user terminal apparatus, input apparatusor user terminal apparatusoutputs the second request indicating that the second operation has been performed.

2111 25 7 2 25 2111 2 51 3 52 2111 2112 2113 Information obtaining unitobtains the second request from input apparatusor user terminal apparatus. For example, as the user of client serverperforms the second operation onto input apparatus, the second request is inputted to information obtaining unit. The second request includes ID information Mfor identifying distributed ledgerfor which the time stamp token is to be obtained and ID information Mfor identifying distributed ledgerto which a record is to be added. As information obtaining unitobtains the second request, it outputs the second request to record hash generatorand nonce generator.

2111 51 51 Information obtaining unitmay monitor a state of update of distributed ledgerand may determine that it has obtained the second request based on addition of a record to distributed ledgerin response to the first operation.

2112 51 2 2112 3 2114 When record hash generatorreceives the second request, it generates the record hash value of the latest (terminal) record in distributed ledgeridentified by ID information M. Record hash generatoroutputs the generated record hash value and ID information Mto time stamp token obtaining unit.

2113 2113 2116 3 2113 3 2115 As nonce generatorreceives the second request, it generates the nonce value. Nonce generatoroutputs to transaction data generator, the generated nonce value and ID information M. When the nonce value is used for creation of the electronic signature, nonce generatormay output the nonce value and ID information Mto electronic signature unit.

2114 2112 2114 24 8 8 24 8 2 2114 8 24 2114 3 52 2115 2116 Time stamp token obtaining unitobtains the time stamp token for the record hash value received from record hash generator. Specifically, time stamp token obtaining unitoutputs to communication apparatus, a control signal for transmitting the record hash value to time stamp authority. The record hash value is thus transmitted to time stamp authoritythrough communication apparatus. Time stamp authoritythat has received the record hash value sends the time stamp token back to client serverwhich is the sender of the record hash value. Time stamp token obtaining unitobtains the time stamp token from time stamp authoritythrough communication apparatus. Time stamp token obtaining unitoutputs the time stamp token and ID information Mfor identifying distributed ledgerwhere the time stamp token is to be stored to electronic signature unitand transaction data generator.

2115 271 27 2115 2114 271 2115 2116 3 2115 2113 271 2115 271 Electronic signature unitreads secret keyfrom storage device. Electronic signature unitcreates the electronic signature by encrypting the time stamp token received from time stamp token obtaining unitwith secret key. Electronic signature unitoutputs to transaction data generator, the created electronic signature and ID information M. Alternatively, electronic signature unitmay create the electronic signature by encrypting the nonce value received from nonce generatorwith secret key. Alternatively, electronic signature unitmay create the electronic signature by encrypting the time stamp token and the nonce value with secret key.

2116 2116 2116 3 2116 2116 2105 4 FIG. Transaction data generatorgenerates transaction data to be transmitted to network NW. For example, transaction data generatorgenerates transaction data including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV. Transaction data generatorsets ID information M(k2) as Key. Transaction data generatorsets the time stamp token as Obj-HV. Other functions of transaction data generatorare basically similar to those of transaction data generatordescribed with reference to.

2117 24 24 Transaction data transmitteroutputs to communication apparatus, a control signal for transmitting transaction data to network NW. The transaction data is thus transmitted to network NW through communication apparatus.

6 FIG. 6 FIG. 21 21 2121 2122 2123 2124 2125 2126 2127 21 2121 2122 2123 2124 2125 2126 2127 22 2121 2122 2123 2124 2125 2126 2127 is a functional block diagram of controllerfor performing processing for responding to the third operation. Referring to, controllerincludes an information obtaining unit, a record hash generator, a nonce generator, a time stamp token obtaining unit, an electronic signature unit, a transaction data generator, and a transaction data transmitter. Controllerfunctions as information obtaining unit, record hash generator, nonce generator, time stamp token obtaining unit, electronic signature unit, transaction data generator, and transaction data transmitter, for example, by executing a program stored in ROM. Information obtaining unit, record hash generator, nonce generator, time stamp token obtaining unit, electronic signature unit, transaction data generator, and transaction data transmittermay be implemented, for example, by dedicated hardware (electronic circuitry).

52 25 7 25 7 As the third operation to obtain a time stamp token for the terminal record in distributed ledgeris performed on input apparatusor user terminal apparatus, input apparatusor user terminal apparatusoutputs the third request indicating that the third operation has been performed.

2121 25 7 2 25 2121 4 52 5 52 2121 2122 2123 Information obtaining unitobtains the third request from input apparatusor user terminal apparatus. For example, as the user of client serverperforms the third operation onto input apparatus, the third request is inputted to information obtaining unit. The third request includes ID information Mfor identifying distributed ledgerfor which the time stamp token is to be obtained and ID information Mfor identifying distributed ledgerwhere the time stamp token is to be stored. As information obtaining unitobtains the third request, it outputs the third request to record hash generatorand nonce generator.

2122 52 4 2122 5 2124 When record hash generatorreceives the third request, it generates the record hash value of the latest (terminal) record in distributed ledgeridentified by ID information M. Record hash generatoroutputs the generated record hash value and ID information Mto time stamp token obtaining unit.

2123 2123 5 2126 2123 5 2125 When nonce generatorreceives the third request, it generates the nonce value. Nonce generatoroutputs the generated nonce value and ID information Mto transaction data generator. When the nonce value is used for creation of an electronic signature, nonce generatormay output the nonce value and ID information Mto electronic signature unit.

2124 2122 2124 24 8 8 24 8 2 2124 8 24 2124 5 52 2125 2126 Time stamp token obtaining unitobtains the time stamp token for the record hash value received from record hash generator. Specifically, time stamp token obtaining unitoutputs to communication apparatus, a control signal for transmitting the record hash value to time stamp authority. The record hash value is thus transmitted to time stamp authoritythrough communication apparatus. Time stamp authoritythat has received the record hash value sends the time stamp token back to client serverwhich is the sender of the record hash value. Time stamp token obtaining unitobtains the time stamp token from time stamp authoritythrough communication apparatus. Time stamp token obtaining unitoutputs the time stamp token and ID information Mfor identifying distributed ledgerwhere the time stamp token is to be stored to electronic signature unitand transaction data generator.

2125 271 27 2125 2124 271 2125 5 2126 2125 2123 271 2125 271 Electronic signature unitreads secret keyfrom storage device. Electronic signature unitcreates the electronic signature by encrypting the time stamp token received from time stamp token obtaining unitwith secret key. Electronic signature unitoutputs the created electronic signature and ID information Mto transaction data generator. Alternatively, electronic signature unitmay create the electronic signature by encrypting the nonce value received from nonce generatorwith secret key. Alternatively, electronic signature unitmay create the electronic signature by encrypting the time stamp token and the nonce value with secret key.

2126 2126 2126 5 2126 2126 2105 4 FIG. Transaction data generatorgenerates transaction data to be transmitted to network NW. For example, transaction data generatorgenerates transaction data including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV. Transaction data generatorsets ID information M(k2) as Key. Transaction data generatorsets the time stamp token as Obj-HV. Other functions of transaction data generatorare basically similar to those of transaction data generatordescribed with reference to.

2127 24 24 Transaction data transmitteroutputs to communication apparatus, a control signal for transmitting transaction data to network NW. The transaction data is thus transmitted to network NW through communication apparatus.

7 FIG. 7 FIG. 21 21 2131 2132 2133 2134 21 2131 2132 2133 2134 22 2131 2132 2133 2134 is a functional block diagram of controllerfor performing processing for responding to the fourth operation. Referring to, controllerincludes an information obtaining unit, a record hash generator, a client certificate creation unit, and a transmitter. Controllerfunctions as information obtaining unit, record hash creation unit, client certificate creation unit, and transmitter, for example, by executing a program stored in ROM. Information obtaining unit, record hash generator, client certificate creation unit, and transmittermay be implemented, for example, by dedicated hardware (electronic circuitry).

25 7 25 7 As the fourth operation for generating the client certificate is performed on input apparatusor user terminal apparatus, input apparatusor user terminal apparatusoutputs the fourth request indicating that the fourth operation has been performed.

2131 25 7 2 25 2131 6 52 2131 2132 Information obtaining unitobtains the fourth request from input apparatusor user terminal apparatus. For example, when the user of client serverperforms the fourth operation onto input apparatus, the fourth request is inputted to information obtaining unit. The fourth request includes ID information M(k2) for identifying distributed ledgerfor which the record hash value is to be generated. When information obtaining unitobtains the fourth request, it outputs the fourth request to record hash generator.

2132 52 2132 2133 Record hash generatorgenerates the record hash value of the latest (terminal) record in distributed ledgerfor which the record hash value is to be generated. Record hash generatoroutputs the generated record hash value to client certificate creation unit.

2133 2132 2 2133 2134 Client certificate creation unitcreates the client certificate including the record hash value received from record hash generator. The client certificate may include, for example, information for identifying client serverthat has created the client certificate. Client certificate creation unitoutputs the created client certificate to transmitter.

2134 24 9 9 24 Transmitteroutputs to communication apparatus, a control signal for transmitting the client certificate to external server. The client certificate is thus transmitted to external serverthrough communication apparatus.

8 FIG. 8 FIG. 21 21 2141 2142 2143 2144 2145 21 2141 2142 2143 2144 2145 22 2141 2142 2143 2144 2145 is a functional block diagram of controllerfor executing received transaction data. Referring to, controllerincludes a transaction data obtaining unit, a signature verification unit, a record creation unit, a ledger updating unit, and an output unit. Controllerfunctions as transaction data obtaining unit, signature verification unit, record creation unit, ledger updating unit, and output unit, for example, by executing a program stored in ROM. Transaction data obtaining unit, signature verification unit, record creation unit, ledger updating unit, and output unitmay be implemented, for example, by dedicated hardware (electronic circuitry).

2141 2 2141 2142 Transaction data obtaining unitobtains transaction data transmitted from another client server. Transaction data obtaining unitoutputs the obtained transaction data to signature verification unit.

2142 2142 2 2142 272 2 27 2142 2 2142 2142 Signature verification unitverifies validity of the electronic signature (Sig) included in the transaction data. Initially, signature verification unitidentifies client serverwhich is the sender of the transaction data based on sender information included in the transaction data. Then, signature verification unitreads a public key (one of a plurality of public keys) of identified client serverfrom storage device. Signature verification unitdecrypts the electronic signature included in the transaction data with the read public key. As described above, the electronic signature is created by encryption of the hash value of the target data or the time stamp token with the secret key of sender client server. Signature verification unitcompares the decrypted value with Obj-HV (the hash value or the time stamp token) included in the transaction data. When signature verification unitconfirms match therebetween, it acknowledges validity of the electronic signature.

2143 50 2143 When validity of the electronic signature is acknowledged, record creation unitcreates a record to be added to distributed ledger setbased on the transaction data. Record creation unitreads such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV from the transaction data and creates a record including such information.

2144 2143 50 50 2144 2144 51 51 52 2144 52 Ledger updating unitadds the record created by record creation unitto distributed ledger setto update distributed ledger set. Specifically, ledger updating unitrefers to Key in the created record and identifies a distributed ledger to which the record is to be added. For example, transaction data generated in accordance with the first operation to register/update the target data described above includes “k1” as Key. Therefore, ledger updating unitadds the record to distributed ledgerwhich is the proof chain of the target data. The transaction data generated in accordance with the second operation to obtain the time stamp token for the terminal record in distributed ledgerand the third operation to obtain the time stamp token for the terminal record in distributed ledgerincludes “k2” as Key. Therefore, ledger updating unitadds the record to distributed ledgerwhich is the proof chain of the time stamp token.

50 2144 2145 As update of distributed ledger setis completed, ledger updating unitoutputs that fact to output unit.

2145 24 2 24 2 Output unitoutputs to communication apparatus, a control signal for transmission of an indication of completion of processing for executing transaction data (transaction processing) to client serverwhich is the sender of the transaction data. A report on completion of transaction processing is thus transmitted through communication apparatusto client serverwhich is the sender of the transaction data.

<Flowchart>

9 FIG. 9 FIG. 9 FIG. 10 11 12 13 FIGS.,,, and 21 25 7 21 21 1 21 In S, controllergenerates a nonce value. The nonce value is used as a number of transaction data. 2 21 4 In S, controllerreads target data from databaseand generates a hash value of the target data. 3 21 271 27 271 2 21 271 1 21 271 2 1 In S, controllerreads secret keyfrom storage deviceand creates an electronic signature by encrypting with secret key, the hash value generated in S. Controllermay create the electronic signature by encrypting with secret key, the nonce value generated in S. Alternatively, controllermay create the electronic signature by encrypting with secret key, the hash value generated in Sand the nonce value generated in S. 4 21 21 1 21 1 2 3 21 50 21 21 21 In S, controllergenerates transaction data including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV. Specifically, controllersets ID information Mincluded in the first request as Key. Controllersets the nonce value generated in Sas Nonce, sets the hash value generated in Sas Obj-HV, and sets the electronic signature created in Sas Sig. Controllerrecognizes Age of the parent record by checking Key against distributed ledger setand sets incremented Age of the parent record as Age. Controllersets the record hash of the parent record as Prev-HV. Controllerhashes such information as Key, Age, Obj-HV, Nonce, Sig, and Prev-HV and sets the information as HV. Controllermay have time information on time at which the transaction data is broadcast toward network NW and/or sender information on the sender of the transaction data included in the transaction data. 5 21 24 4 24 In S, controlleroutputs to communication apparatus, a control signal for transmitting the transaction data generated in Sto network NW. The transaction data is thus transmitted to network NW through communication apparatus. is a flowchart showing a procedure in processing for generating transaction data at the time when the first request is received. Processing in the flowchart shown inis performed by controllerwhen it receives the first request from input apparatusor user terminal apparatus. Though an example in which each step (the step being abbreviated as “S” below) in the flowchart shown inandwhich will be described later is performed by software processing by controlleris described, a part or the entirety thereof may be performed by hardware (electronic circuitry) provided in controller.

10 FIG. 10 FIG. 10 FIG. 21 25 7 21 51 11 21 In S, controllergenerates a nonce value. The nonce value is used as a number of transaction data. 12 21 51 In S, controllergenerates a record hash value of a terminal record in distributed ledger. 13 21 24 12 8 8 24 8 2 21 8 24 In S, controlleroutputs to communication apparatus, a control signal for transmitting the record hash value generated in Sto time stamp authority. The record hash value is thus transmitted to time stamp authoritythrough communication apparatus. Time stamp authoritythat has received the record hash value sends a time stamp token back to client serverwhich is the sender of the record hash value. Controllerobtains the time stamp token from time stamp authoritythrough communication apparatus. 14 21 271 27 271 13 21 271 11 21 271 13 11 In S, controllerreads secret keyfrom storage deviceand creates an electronic signature by encrypting with secret key, the time stamp token obtained in S. Controllermay create the electronic signature by encrypting with secret key, the nonce value generated in S. Alternatively, controllermay create the electronic signature by encrypting with secret key, the time stamp token obtained in Sand the nonce value generated in S. 15 21 21 3 21 13 15 4 9 FIG. In S, controllergenerates transaction data including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV. Controllersets ID information M(k2) included in the second request as Key. Controllersets the time stamp token obtained in Sas Obj-HV. Since other processing in Sis basically similar to the processing in Sin, description will not be repeated. 16 21 24 15 24 In S, controlleroutputs to communication apparatus, a control signal for transmitting the transaction data generated in Sto network NW. The transaction data is thus transmitted to network NW through communication apparatus. is a flowchart showing a procedure in processing for generating transaction data at the time when the second request is received. Processing in the flowchart shown inis performed by controllerwhen it receives the second request from input apparatusor user terminal apparatus. Controllermay perform the processing in the flowchart shown inwhen it senses addition of a record to distributed ledger.

11 FIG. 11 FIG. 21 25 7 21 21 In S, controllergenerates a nonce value. The nonce value is used as a number of transaction data. 22 21 52 In S, controllergenerates a record hash value of a terminal record in distributed ledger. 23 21 24 22 8 8 24 8 2 21 8 24 In S, controlleroutputs to communication apparatus, a control signal for transmitting the record hash value generated in Sto time stamp authority. The record hash value is thus transmitted to time stamp authoritythrough communication apparatus. Time stamp authoritythat has received the record hash value sends a time stamp token back to client serverwhich is the sender of the record hash value. Controllerobtains the time stamp token from time stamp authoritythrough communication apparatus. 24 21 271 27 23 271 21 21 271 21 23 21 271 In S, controllerreads secret keyfrom storage deviceand creates an electronic signature by encrypting the time stamp token obtained in Swith secret key. Controllermay create the electronic signature by encrypting the nonce value generated in Swith secret key. Alternatively, controllermay create the electronic signature by encrypting the time stamp token obtained in Sand the nonce value generated in Swith secret key. 25 21 21 5 21 23 25 4 9 FIG. In S, controllergenerates transaction data including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV. Controllersets ID information M(k2) included in the third request as Key. Controllersets the time stamp token obtained in Sas Obj-HV. Since other processing in Sis basically similar to the processing in Sin, description will not be repeated. 26 21 24 25 24 In S, controlleroutputs to communication apparatus, a control signal for transmitting the transaction data generated in Sto network NW. The transaction data is thus transmitted to network NW through communication apparatus. is a flowchart showing a procedure in processing for generating transaction data at the time when the third request is received. Processing in the flowchart shown inis performed by controllerwhen it receives the third request from input apparatusor user terminal apparatus.

12 FIG. 12 FIG. 21 25 7 31 21 52 In S, controllergenerates a record hash value of a terminal record in distributed ledger. 32 21 31 21 In S, controllercreates a client certificate including the record hash value generated in S. Controllermay have information for identifying the A company itself included in the client certificate. 33 21 24 32 9 9 24 In S, controlleroutputs to communication apparatus, a control signal for transmitting the client certificate created in Sto external server. The client certificate is thus transmitted to external serverthrough communication apparatus. is a flowchart showing a procedure in processing at the time when the fourth request is received. Processing in the flowchart shown inis performed by controllerwhen it receives the fourth request from input apparatusor user terminal apparatus.

13 FIG. 13 FIG. 21 41 21 2 In S, controlleridentifies based on sender information included in the received transaction data, client serverwhich is the sender of the transaction data. 42 21 2 41 27 In S, controllerreads the public key of client serveridentified in Sfrom storage device. 43 21 42 In S, controllerdecrypts the electronic signature included in the transaction data with the public key read in S. 44 21 43 21 21 44 45 21 44 46 In S, controllerverifies validity of the electronic signature decrypted in S. Specifically, controllercompares a value resulting from decryption of the electronic signature with Obj-HV (the hash value or the time stamp token) included in the transaction data. When they do not match with each other, controllerdoes not acknowledge validity of the electronic signature (NO in S) and has the process proceed to S. When they match with each other, controlleracknowledges validity of the electronic signature (YES in S) and has the process proceed to S. 45 21 21 26 21 2 In S, controllerdiscards the presently received transaction data and quits the process because the electronic signature is invalid. Controllermay have the possibility of tampering of the transaction data shown on display apparatus. Alternatively, controllermay transmit an indication of the possibility of tampering of the transaction data to client serverwhich is the sender of the transaction data. 46 21 In S, controllerreads such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV from the received transaction data and creates a record including the information. 47 21 46 21 50 In S, controlleridentifies based on Key in the record created in S, a distributed ledger to which the record is to be added. Then, controlleradds the record to the identified distributed ledger. Distributed ledger setis thus updated. 48 21 2 In S, controllertransmits a notification (a completion report) indicating completion of transaction processing to client serverwhich is the sender of the transaction data. is a flowchart showing a procedure in processing performed at the time when the transaction data is received. Processing in the flowchart shown inis performed by controllerwhen it receives the transaction data.

1 50 51 52 2 51 52 As set forth above, in data management systemaccording to the first embodiment, distributed ledger setincluding two distributed ledgersandis held in client server. Distributed ledgeris the proof chain for proving existence of the target data and distributed ledgeris the proof chain for proving existence of the time stamp token.

51 51 51 2 Each time target data is updated, a record including a hash value thereof is stored in distributed ledger. Since the record including the hash value of the target data is managed by means of distributed ledger, tamper resistance of the target data can be enhanced. The record stored in distributed ledgerincludes the hash value of the target data, rather than the target data itself. The target data itself can thus be concealed from other client serversthat form network NW.

51 51 52 52 52 As a record is added to distributed ledgerand the second operation is performed, the time stamp token is obtained for the record hash value of the added record (the terminal record in distributed ledger) and the record including the time stamp token is stored in distributed ledger. By storing the time stamp token in distributed ledger, tamper resistance of the time stamp token can be enhanced. By storing the time stamp token in distributed ledger, even when there is an expired time stamp token, records subsequent to the record including that time stamp token can prove that the expired time stamp token has not been tampered. Since validity of the expired time stamp token can thus be proven, the expiration date of the time stamp token can substantially be extended.

52 52 Furthermore, the time stamp token is obtained for the record hash value of the terminal record in distributed ledger. Since integrity of the record hash value can thus be proven, by proving that the record hash value has not been tampered, the fact that a series of time stamp tokens stored in distributed ledgerhas not been tampered can be proven.

52 In addition, by storing the time stamp token obtained for the record hash value of the terminal record in distributed ledger, tamper resistance of the time stamp token can be enhanced.

52 2 9 50 50 9 The client certificate including the record hash value of the terminal record in distributed ledgeris created, and the client certificate is separated from client serverand managed in external server. Thus, even when all records in distributed ledger setare tampered, the fact that distributed ledger sethas been tampered can be proven by the client certificate managed in external server.

[First Modification]

1 1 1 50 In the first embodiment, an example in which a single component (a component that composes the vehicle) is managed in data management systemis described. A plurality of components, however, may be managed in data management system. For example, N (being a natural number equal to or larger than two) components may be managed in data management system. In this case, distributed ledger setincludes N distributed ledgers serving as proof chains of N respective components and a distributed ledger serving as a proof chain of the time stamp token. When any one of the N distributed ledgers is updated and the second operation is performed also in the first modification, a time stamp token is obtained for a record hash value of a terminal record in the distributed ledger and a record including the time stamp token is stored in the distributed ledger which is the proof chain of the time stamp token. Then, in response to the third operation and the fourth operation as in the first embodiment, an effect the same as in the first embodiment can be achieved.

5 2 6 An example in which platform serverperforms a function to permit participation into network NW is described in the first embodiment. Then, finality of transaction data is given by confirmation of validity of the electronic signature between client serverspermitted to participate in network NW. In a second embodiment, an example in which a platform serverperforms a function to give finality to transaction data in addition to the function to permit participation into network NW will be described.

14 FIG. 1 1 3 6 8 9 3 3 3 is a diagram showing a schematic configuration of a data management systemA according to the second embodiment. Data management systemA includes four client servers, platform server, time stamp authority, and external server. As in the first embodiment, four client serversare servers belonging to different companies (for example, the A company, the B company, the C company, and the D company). Though client serverof the A company will representatively be described below, client serversof the B company, the C company, and the D company are also similar in function.

5 6 3 6 3 6 3 Similarly to platform serveraccording to the first embodiment, platform servermanages network NW and accepts an application to participate in network NW from each client server. Platform serverpermits participation of client serverinto network NW based on an operation to permit participation by a manager of platform serveror based on a result of determination as to a prescribed condition. Participation of four client serversbelonging to the A company, the B company, the C company, and the D company into network NW is permitted also in the second embodiment.

3 6 3 3 3 7 2 Four client serversand platform serverform network NW. Software based on the distributed ledger has been introduced in each of client servers, and as the introduced software based on the distributed ledger functions, each of client serversfunctions as a node. Client serveris configured to communicate with user terminal apparatussimilarly to client serveraccording to the first embodiment.

2 4 3 3 31 4 35 7 Similarly to client serveraccording to the first embodiment, databaseis connected to client server. Client server(a controller) generates a control signal for registering/updating target data and outputs the control signal to databasein response to an input to an input apparatusor a request from user terminal apparatus.

3 4 4 6 3 3 6 As client serverhas component data registered in database/updates component data in database, it creates a hash value of the component data and generates transaction data for storing the hash value in a ledger held in platform serverand a distributed ledger (a commit table which will be described later) held in each client server. Then, client servertransmits the generated transaction data to platform server.

6 60 6 6 3 60 6 60 3 374 3 374 Platform serverperforms a function to give finality to the transaction data. A ledger setis held in platform server, and platform serverprocesses transaction data received from client serverand updates ledger set. As platform serverupdates ledger set, it transmits a record (a proof record which will be described later) added to the ledger by updating to all client serversthat participate in network NW. A commit tablewhere a commit record is stored is stored in client server. Commit tablecorresponds to an exemplary “distributed ledger” according to the present disclosure.

15 FIG. 15 FIG. 3 FIG. 60 60 67 68 51 67 67 52 68 68 60 67 68 50 51 52 67 68 67 68 is a diagram showing an exemplary configuration of ledger set. Ledger setincludes a ledgerand a ledger. Similarly to distributed ledgeraccording to the first embodiment, a state of update of the target data is stored in a time-series manner in ledger, and ledgerforms a proof chain of the target data. Similarly to distributed ledgeraccording to the first embodiment, a time stamp token is stored in a time-series manner in ledger, and ledgerforms a proof chain of the time stamp token. Since ledger set, ledger, and ledgerare similar in configuration to distributed ledger set, distributed ledger, and distributed ledgeraccording to the first embodiment, respectively, detailed description thereof will not be repeated.shows a data structure of ledgersandcorresponding to the example shown in. In other words, a record of Age “2” is stored in each of ledgersandas the latest (terminal) record.

14 FIG. 3 31 32 33 34 35 36 37 31 32 33 34 35 36 37 39 32 33 34 35 36 22 23 24 25 26 2 Referring again to, client serverincludes controller, a ROM, a RAM, a communication apparatus, input apparatus, a display apparatus, and a storage device. Controller, ROM, RAM, communication apparatus, input apparatus, display apparatus, and storage deviceare connected to a bus. Since ROM, RAM, communication apparatus, input apparatus, and display apparatusare basically similar in configuration to ROM, RAM, communication apparatus, input apparatus, and display apparatusof client serveraccording to the first embodiment, description thereof will not be repeated.

371 372 37 371 3 31 31 31 371 37 31 651 6 A secret keyand proof dataare stored in storage device. Secret keyis a secret key of the A company. For example, in participation of client serverinto network NW for the first time, controllergenerates a secret key and a public key. Then, controllertransmits the generated public key to an authentication bureau (not shown) and has the public key authenticated. The authentication bureau issues an electronic certificate including information on the public key. Controllerhas secret keycorresponding to the authenticated public key stored in storage device. Controllertransmits an authenticated public key (electronic certificate)to platform server.

372 373 374 373 374 373 374 60 16 FIG. 17 FIG. Proof dataincludes a suspension tableand commit table.is a diagram for illustrating an exemplary configuration of suspension table.is a diagram for illustrating an exemplary configuration of commit table. Suspension tableand commit tableeach includes a configuration adapted to ledger set.

16 FIG. 373 373 31 373 Referring to, suspension tableincludes a prescribed type of information included in transaction data that has not been used. Specifically, for example, a suspension record including such information as Key and Nonce is stored in suspension table. Of information included in the transaction data generated in response to various requests (the first request to the third request), controllerhas such information as Key and Nonce stored as the suspension record in suspension table. When the first request to the third request are not particularly distinguished from one another, the first request to the third request will also collectively be referred to as an “update request” below.

3 35 7 1 3 5 31 31 373 373 16 FIG. The update request received by client serverfrom input apparatusor user terminal apparatusincludes information on an ID for identifying a distributed ledger to which a record is to be added. For example, the first request includes ID information Mindicating “k1”. The second request includes ID information Mindicating “k2”. The third request includes ID information Mindicating “k2”. In other words, the ID for identifying the distributed ledger to which a record is to be added, that is included in the update request, is set as Key. When controllerreceives the update request, it generates a nonce value. The nonce value indicates a number of the update request (that is, a number of transaction data). Controllercreates the suspension record including such information as Key and Nonce and has the suspension record registered in suspension table.shows an example in which the suspension record including Key set to k1 is registered in suspension table.

31 373 When processing for responding to the update request is performed (that is, transaction data is used), controllerdeletes the suspension record including Key information similar to Key included in the transaction data used for performing transaction processing from suspension table.

373 373 31 373 373 31 373 373 31 373 373 16 FIG. A suspension record including the same Key information is not redundantly registered in suspension table. In registration of the suspension record in suspension table, controllerdetermines whether or not a suspension record including Key that matches with Key included in the suspension record to be registered has already been registered in suspension table. When the suspension record including Key that matches with Key included in the suspension record to be registered has not been registered in suspension table, controllerhas the suspension record registered in suspension table. When the suspension record including Key that matches with Key included in the suspension record to be registered has been registered in suspension table, controllerwaits for deletion of the suspension record including matching Key from suspension table. In other words, in the example shown in, the suspension record including Key set to k2 can be registered in suspension table, whereas the suspension record including Key set to k1 cannot be registered.

17 FIG. 374 374 60 374 375 376 Referring to, commit tableincludes a prescribed type of information included in used transaction data. Specifically, a commit record including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV is stored in commit table. In the second embodiment, the commit record includes information similar to that in the record in ledger set. Commit tableincludes commit datawhere a commit record including Key set to k1 is stored and commit datawhere a commit record including Key set to k2 is stored.

6 60 3 As platform serverperforms transaction processing to update the ledger in ledger set, it creates the proof record and transmits the proof record to all client serversthat participate in network NW. The proof record is, for example, a record including such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV, that is included in a record added to the ledger by transaction processing performed with the use of the transaction data.

31 374 375 376 31 373 As controllerreceives the proof record, it adds the proof record to commit table(commit dataor commit data) as the commit record. Then, controllerdeletes the suspension record including Key similar to Key included in the added commit record from suspension table.

14 FIG. 6 61 62 63 64 65 61 62 63 64 65 69 Referring again to, platform serverincludes a controller, a ROM, a RAM, a communication apparatus, and a storage device. Controller, ROM, RAM, communication apparatus, and storage deviceare connected to a bus.

61 61 62 63 63 61 3 Controlleris implemented by an integrated circuit including a CPU. Controllerdevelops various programs stored in ROMon RAMand executes the programs. The various programs include an operating system and the like. RAMfunctions as a working memory, and various types of data necessary for execution of various programs are temporarily stored therein. Controllerreceives transaction data from client serverand performs transaction processing.

64 3 Communication apparatusis configured to communicate with client serverthat participates in network NW.

651 60 65 651 3 651 A plurality of public keysand ledger setare stored in storage device. The plurality of public keysinclude public keys of companies that manage client serversthat participate in network NW. Specifically, the plurality of public keysinclude the public key of the A company, the public key of the B company, the public key of the C company, and the public key of the D company.

60 50 Since ledger setis similar in configuration to distributed ledger setaccording to the first embodiment as described above, description will not be repeated.

Processing for responding to the update request in the second embodiment will sequentially be described below with reference to a flowchart.

18 FIG. 18 FIG. 1 31 3 25 7 50 31 3 In S, controllerof client servergenerates a nonce value. The nonce value is used as a number of transaction data generated in response to the update request. 51 31 3 31 3 50 In S, controllerof client servergenerates a suspension record. Specifically, controllerof client serverreads an ID of a distributed ledger to which a record is to be added, that is included in the update request, and generates the suspension record with the ID being set as Key information and with the nonce value generated in Sbeing set as Nonce information. 52 31 3 51 373 51 373 31 3 52 373 51 373 31 3 52 53 In S, controllerof client serverdetermines whether or not the suspension record generated in Scan be registered in suspension table. When a suspension record including Key information similar to that in the suspension record generated in Shas been registered in suspension table, controllerof client servermakes negative determination (NO in S) and waits for deletion of the suspension record including similar Key information from suspension table. When a suspension record including Key information similar to that in the suspension record generated in Shas not been registered in suspension table, controllerof client servermakes affirmative determination (YES in S) and has the process proceed to S. 53 31 3 373 In S, controllerof client serverhas the suspension record registered in suspension table. 54 31 3 31 3 2 4 12 15 31 3 22 25 9 FIG. 10 FIG. 11 FIG. 9 10 11 FIGS.,, and In S, controllerof client servergenerates transaction data for responding to the update request. Specifically, when the update request falls under the first request, controllerof client serverperforms processing similar to the processing in Sto Sdescribed with reference toto generate transaction data. When the update request falls under the second request, it performs processing similar to the processing in Sto Sdescribed with reference toto generate transaction data. When the update request falls under the third request, controllerof client serverperforms processing similar to the processing in Sto Sdescribed with reference toto generate transaction data. Since details of the processing are as described with reference to, description will not be repeated. 55 31 3 34 54 6 6 34 In S, controllerof client serveroutputs to communication apparatus, a control signal for transmitting the transaction data generated in Sto platform server. The transaction data is thus transmitted to platform serverthrough communication apparatus. 60 61 6 61 6 41 43 13 FIG. 13 FIG. In S, controllerof platform serverdecrypts the electronic signature for verifying validity of the electronic signature included in the received transaction data. Specifically, controllerof platform serverperforms processing similar to the processing in Sto Sdescribed with reference toto decrypt the electronic signature. Since details of the processing are as described with reference to, description will not be repeated. 61 61 6 60 61 6 61 6 61 62 61 6 61 63 In S, controllerof platform serververifies validity of the electronic signature decrypted in S. Specifically, controllerof platform servercompares the value obtained by decryption of the electronic signature with the hash value included in the transaction data (in the transaction data generated in response to the first request, the hash value of the target data, and in the transaction data generated in response to the second request and the third request, the time stamp token). When they do not match with each other, controllerof platform serverdoes not acknowledge validity of the electronic signature (NO in S) and has the process proceed to S. When they match with each other, controllerof platform serveracknowledges validity of the electronic signature (YES in S) and has the process proceed to S. 62 61 6 3 61 6 66 In S, controllerof platform serverdetermines that the transaction data received from client servermay have been tampered, and discards the transaction data and creates an abnormality report indicating possibility of tampering. Then, controllerof platform serverhas the process proceed to S. 63 61 6 61 6 46 47 60 13 FIG. In S, controllerof platform serverperforms transaction processing. Specifically, controllerof platform serverperforms processing similar to the processing in Sand Sdescribed with reference toto generate a record in the ledger identified by Key information included in the transaction data, to add the generated record to the ledger, and to update ledger set. 64 61 6 In S, controllerof platform servergenerates a proof record. The proof record includes such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV included in the record added to the ledger. 65 61 6 60 61 6 In S, controllerof platform servercreates a normality report indicating completion of update of ledger set(that is, processing of the transaction data). Controllerof platform serverhas the proof record included in the normality report. 66 61 6 64 62 65 3 3 64 In S, controllerof platform serveroutputs to communication apparatus, a control signal for transmitting the abnormality report created in Sor the normality report created in Sto client server. The abnormality report or the normality report is thus transmitted to client serverthrough communication apparatus. 66 61 6 64 3 3 3 64 In S, controllerof platform serveroutputs to communication apparatus, a control signal for transmitting the proof record to client servers(for example, client serversof the B company, the C company, and the D company) other than the sender of the transaction data. The proof record is thus transmitted to other client serversthrough communication apparatus. 56 31 3 6 31 3 56 57 31 3 56 59 In S, controllerof client serverdetermines whether or not it has received the normality report from platform server. When controllerof client serverdetermines that it has received the normality report (YES in S), it has the process proceed to S. When controllerof client serverdetermines that it has not received the normality report, that is, it has received the abnormality report (NO in S), it has the process proceed to S. 57 31 3 374 31 3 375 376 31 3 In S, controllerof client serveradds the proof record included in the normality report to commit tableas the commit record. Specifically, controllerof client serverdetermines whether the commit record is to be added to commit dataor commit databased on Key information in the proof record. Then, controllerof client serveradds the commit record to the target commit data. 58 31 3 373 In S, controllerof client serverdeletes the suspension record including the Key information the same as that in the added commit record from suspension table. 59 31 3 36 7 In S, controllerof client server, for example, has a result of processing for the update request shown on display apparatusor transmits the result to user terminal apparatus. is a flowchart showing a procedure in processing performed in data management systemA at the time when the update request is received. Processing in the flowchart shown inis started by controllerof client serverwhen it receives the update request from input apparatusor user terminal apparatus.

3 3 66 374 374 As other client servers(client serversof the B company, the C company, and the D company) that have received the proof record transmitted in Ssimilarly also add the proof record to respective commit tables, commit tablesare updated.

19 FIG. 19 FIG. 31 35 7 71 31 376 In S, controllergenerates a record hash value of a terminal record in commit data. 72 31 71 31 In S, controllercreates a client certificate including the record hash value generated in S. Controllermay have information for identifying the A company itself included in the client certificate. 73 31 24 72 9 9 24 In S, controlleroutputs to communication apparatus, a control signal for transmitting the client certificate created in Sto external server. The client certificate is thus transmitted to external serverthrough communication apparatus. is a flowchart showing a procedure in processing at the time when the fourth request is received in the second embodiment. Processing in the flowchart shown inis performed by controllerwhen it receives the fourth request from input apparatusor user terminal apparatus.

1 6 60 67 68 6 67 68 60 60 6 3 3 374 374 50 3 374 374 As set forth above, in data management systemA according to the second embodiment, platform servergives finality to the transaction data. Ledger setincluding two ledgersandis held in platform server. The state of update of the target data is stored in the time-series manner in ledger, and the time stamp token is stored in the time-series manner in ledger. Then, as ledger setis updated, the proof record including information on the record added to ledger setis sent from platform serverto each client server. Each of client serversadds the proof record to commit tableas the commit record. Commit tablecorresponds to distributed ledger setaccording to the first embodiment. As client servershold their commit tablesbetween each other, tamper resistance of commit tableis enhanced.

1 375 67 376 68 In the configuration of data management systemA according to the second embodiment as well, by obtaining the time stamp token for the record hash value of the terminal record in commit data(ledger) in response to the second request and storing the record including the time stamp token in commit data(ledger), validity of the expired time stamp token can be proven as in the first embodiment.

376 68 376 68 Furthermore, by obtaining the time stamp token for the record hash value of the terminal record in commit data(ledger), integrity of the record hash value can be proven. Therefore, by proving the fact that the record hash value has not been tampered, the fact that a series of time stamp tokens stored in commit data(ledger) has not been tampered can be proven.

376 68 376 68 In addition, by storing in commit data(ledger), the time stamp token obtained for the record hash value of the terminal record in commit data(ledger), tamper resistance of the time stamp token can be enhanced.

376 3 9 374 60 374 60 9 The client certificate including the record hash value of the terminal record in commit datais created, and separated from client serverand managed in external server. Thus, even when all records in commit tableand ledger setare tampered, the fact that commit tableand ledger sethave been tampered can be proven by the client certificate managed in external server.

[Second Modification]

374 60 375 376 374 60 374 375 376 374 67 68 60 375 376 67 68 375 376 67 68 37 3 375 376 67 68 An example in which commit tableincludes information similar to information included in ledger setis described in the second embodiment. Specifically, each of pieces of commit dataandin commit tableincludes such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV. A part of information included in ledger setmay be in commit table. For example, each of pieces of commit dataandin commit tablemay include such information as Key, Age, Obj-HV, HV, and Nonce, of such information as Key, Age, Obj-HV, Nonce, Sig, Prev-HV, and HV in each of ledgersandin ledger set. In this case, the proof record is also generated to include such information as Key, Age, Obj-HV, HV, and Nonce. In other words, commit dataandare summaries of respective ledgersand. By preparing commit dataandas the summaries of respective ledgersand, a capacity of data stored in storage deviceof client servercan be suppressed as compared with an example where commit dataandinclude information similar to that in ledgersand.

Though embodiments of the present disclosure have been described above, it should be understood that the embodiments disclosed herein are illustrative and non-restrictive in every respect. The technical scope of the present disclosure is defined by the terms of the claims and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 25, 2022

Publication Date

July 14, 2026

Inventors

Naoki Yamamuro
Wataru Fukatsu

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Data management apparatus and data management method” (US-12681669-B2). https://patentable.app/patents/US-12681669-B2

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

Data management apparatus and data management method — Naoki Yamamuro | Patentable