Movement recording and management device and movement recording and management method

The movement recording and management system addresses authenticity and environmental challenges in blockchain by using hierarchical node associations and authentication codes to verify object ownership, ensuring secure and efficient transfer and possession proof.

JP7886016B2Active Publication Date: 2026-07-07PASSCELL INTEGRATION

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
PASSCELL INTEGRATION
Filing Date
2022-06-24
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing blockchain technologies face challenges in guaranteeing the authenticity of assets and are environmentally burdensome due to mining and verification processes, primarily focused on digital assets.

Method used

A movement recording and management system utilizing a hierarchical association of virtual nodes with seed values and authentication codes to authenticate the rightful owner of an object, ensuring legitimacy through a chain-like verification process.

Benefits of technology

The system effectively authenticates the rightful owner of an object and provides proof of transfer or possession, enhancing security and simplifying system configuration by using seed values and hash values.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007886016000001
    Figure 0007886016000001
  • Figure 0007886016000002
    Figure 0007886016000002
  • Figure 0007886016000003
    Figure 0007886016000003
Patent Text Reader

Abstract

To provide a movement record / management apparatus capable of authenticating that a person providing an object is the legitimate owner of the object when the object is provided to another person.SOLUTION: A movement record / management apparatus includes a processor, a communication device, and a memory. The memory holds a first seed value associated with a node in a first layer and an original seed value for deriving the first seed value. The communication device receives a third authentication code. The processor authenticates a first terminal holding the third authentication code based on the third authentication code, the original seed value, and the first seed value, generates, if the first terminal is successfully authenticated, a second seed value corresponding to a node in a second layer, which is one level lower than the first layer, and a second authentication code, based on the first seed value, and stores the second seed value in the memory. The communication device transmits the second authentication code to the first terminal or the second terminal that has acquired the third authentication code from the first terminal and transmitted it to the movement record / management apparatus.SELECTED DRAWING: Figure 6A
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a movement recording and management device and a movement recording and management method for recording and managing the movement of objects.

Background Art

[0002] Conventionally, a transaction support system using blockchain has been known (see Patent Document 1). In this system, a first transfer processing unit that transfers a first NFT associated with content stored in a first wallet of a first user to a third wallet of an administrator in a first blockchain, an NFT issuance processing unit that issues a second NFT associated with content in a second blockchain and stores the second NFT in a fourth wallet of the administrator in the second blockchain, an NFT discard processing unit that makes the first NFT stored in the third wallet in the first blockchain unusable, a confirmation unit that confirms that the first NFT has become unusable, and a second transfer processing unit that transfers the second NFT from the fourth wallet in the second blockchain to a second wallet of a second user different from the first user on the condition that it is confirmed that the first NFT has become unusable.

[0003] Also, conventionally, an authenticity guarantee system for guaranteeing the authenticity of information has been known (see Patent Document 2). This system includes a user terminal and a server and guarantees the authenticity of predetermined matters regarding the user who is the issuer. The server generates and stores a digital certificate file including information about predetermined matters regarding the user and issuer information, transmits it to the user terminal, and records the encrypted data obtained by encrypting using a predetermined function in a blockchain network. The server or the user terminal determines whether the encrypted data obtained by encrypting the digital certificate file of the user terminal using a predetermined function based on an operation of the user terminal matches the encrypted data recorded in the blockchain network.

Prior Art Documents

Patent Documents

[0004] [Patent Document 1] Patent No. 7029212 [Patent Document 2] Japanese Patent Publication No. 2021-90113 [Overview of the project] [Problems that the invention aims to solve]

[0005] The technology described in Patent Document 1 enables the secure trading of digital assets using blockchain technology. However, while blockchain technology is effective against tampering with transaction (movement) data, it faces difficulties in guaranteeing the authenticity of the assets themselves. Furthermore, the environmental burden of mining, ledger updates, and verification processes in blockchain is significant. The technology described in Patent Document 1 is limited to digital assets only.

[0006] In the technology described in Patent Document 2, when the user obtains a digital certificate file, an authentication operation is performed, and it is determined whether the encrypted data in the digital certificate file matches pre-registered data. However, this also utilizes blockchain technology, similar to the above, and therefore faces the same challenges.

[0007] This disclosure is made in view of the above circumstances and provides a movement record and management device and a movement record and management method that can authenticate that the person providing the item is the rightful owner of the item when the item is provided to that person. [Means for solving the problem]

[0008] One aspect of this disclosure is a management device for recording and managing the movement of objects, comprising a processor, a communication device, and memory, wherein the objects Provided from provider to recipient In order 、 Multiple nodes , as virtual nodes corresponding to each terminal owned by the provider or the recipient, Hierarchical associationIt is possible, and a seed value and an authentication code for authenticating a terminal can be set in association with each of the plurality of nodes, the memory holds a first seed value associated with the node of the first layer and an original seed value for deriving the first seed value, and the communication device, The data was acquired by the second terminal owned by the recipient from the first terminal owned by the provider and transmitted by the second terminal. Upon receiving a third authentication code, the processor held the third authentication code based on the third authentication code, the original seed value, and the first seed value. The aforementioned Authenticate the first device. This authenticates that the provider possessing the first terminal is the person who legitimately owns the item. If the terminal authentication process is executed and the authentication of the first terminal is successful, the node corresponding to the second layer, which is one layer lower than the first layer, is determined based on the first seed value. 、 The second seed value and , to be used when the aforementioned item is provided next time The second authentication code and 、 The code generation process is executed to generate the second seed value, and the second seed value is stored in the memory. The communication device is the first terminal, or The aforementioned This is a movement record and management device that transmits the second authentication code to a second terminal.

[0009] One aspect of this disclosure is, This is performed by a movement recording and management device. A method for recording and managing the movement of objects, wherein the object is Provided from provider to recipient In order 、 Multiple nodes , as virtual nodes corresponding to each terminal owned by the provider or the recipient, Hierarchical association It is possible, and a seed value and an authentication code for authenticating the terminal can be set in association with each of the multiple nodes, and a first seed value associated with the first layer node and an original seed value for deriving the first seed value are held in memory, The data was acquired by the second terminal owned by the recipient from the first terminal owned by the provider and transmitted by the second terminal. The steps include receiving a third authentication code and holding the third authentication code based on the third authentication code, the original seed value, and the first seed value. The aforementioned Authenticate the first device. This authenticates that the provider possessing the first terminal is the person who legitimately owns the item. The steps include executing a terminal authentication process, and if the authentication of the first terminal is successful, the steps include determining the node of the second layer, which is one layer lower than the first layer, based on the first seed value. 、 The second seed value and , to be used when the aforementioned item is provided next timeA second authentication code and 、 executing a code generation process for generating, storing the second seed value in the memory, and transmitting the second authentication code to the first terminal or The aforementioned a second terminal. The present invention relates to a movement record and management method having the above steps.

Advantages of the Invention

[0010] According to the present disclosure, when an object is provided to a person, it is possible to authenticate that the person providing the object is the person who rightfully owns the object. Further, by chaining it, the legitimacy of the object can be proven.

Brief Description of the Drawings

[0011] [Figure 1] A diagram showing an example of a movement record and management system in the first embodiment [Figure 2] A block diagram showing a configuration example of a terminal [Figure 3] A block diagram showing a configuration example of a movement record and management device [Figure 4] A diagram showing an example of the arrangement of a hierarchical plurality of nodes and an example of the movement of an object in the first embodiment [Figure 5] A diagram showing an example of dividing encrypted data into an authentication code and a seed value [Figure 6A] A sequence diagram showing an example of the operation of the movement record and management system in the first embodiment [Figure 6B] A flowchart showing an example of terminal authentication processing [Figure 6C] A flowchart showing an example of terminal authentication processing (continuation of FIG. 6B) [Figure 6D] A flowchart showing an example of next authentication code generation processing [Figure 7A] A diagram for supplementarily explaining the operation of the movement record and management system [Figure 7B] A diagram for supplementarily explaining the operation of the movement record and management system [Figure 7C] A diagram for supplementarily explaining terminal authentication processing [Figure 7D]Diagram to supplement the next authentication code generation process. [Figure 7E] Diagram to supplement the operation of the movement record and management system. [Figure 7F] Diagram to supplement the operation of the movement record and management system. [Figure 7G] Diagram to supplement the operation of the movement record and management system. [Figure 8] A diagram showing an example of a movement record and management system in the second embodiment. [Figure 9] This figure shows an example of a hierarchical arrangement of multiple nodes and an example of electronic data movement in the second embodiment. [Figure 10] Sequence diagram showing an example of operation of the movement recording and management system in the second embodiment. [Figure 11A] Diagram to supplement the operation of the movement record and management system. [Figure 11B] Diagram to supplement the operation of the movement record and management system. [Figure 11C] Diagram to supplement the operation of the movement record and management system. [Figure 11D] Diagram to supplement the operation of the movement record and management system. [Figure 11E] Diagram to supplement the operation of the movement record and management system. [Modes for carrying out the invention]

[0012] The embodiments will be described in detail below, with reference to the drawings as appropriate. However, unnecessary details may be omitted. For example, detailed explanations of already well-known matters or redundant explanations of substantially identical configurations may be omitted. This is to avoid the following explanation becoming unnecessarily verbose and to facilitate understanding by those skilled in the art. The accompanying drawings and the following explanation are provided to enable those skilled in the art to fully understand this disclosure and are not intended to limit the subject matter described in the claims.

[0013] In embodiments of this disclosure, the movement record and management system verifies whether the information passed from a preceding to a succeeding point between any two points (a preceding point and a succeeding point) belonging to a given set is correct. The movement record and management system manages a series of verification results as a flow by continuously recording the results. The meaning of this flow in each application is determined by what was verified.

[0014] There are two types of methods for exchanging goods: (Embodiment 1) The preceding party (provider, described later) and the succeeding party (recipient, described later) are replaced in turn. For example, if the application area of ​​the movement record management system is proof of sale or transfer, ownership is transferred successively each time a terminal verification process occurs, and the succeeding party who receives ownership from the preceding party making the transfer becomes the preceding party for the next transfer, and a new succeeding party appears. (Embodiment 2) The prior party (provider) remains unchanged. For example, the application area of ​​the movement record and management system is for proof on the seller's or transferor's side. In this case, even if the recipient (submitting party) changes each time an item is transferred, the prior party submitting the record remains unchanged.

[0015] Examples of targets for each type are as follows: (Embodiment 1) As a typical example, the movement record and management system is used for the transfer or sale of goods. Here, "goods" may include not only physical objects but also digitized objects (electronic data). (Embodiment 2) A typical example is the submission of certificates such as qualifications for travel records and management systems. Similarly, this can include not only physical objects but also digitized objects (electronic data).

[0016] The movement record and management system enables the management of the circulation history of goods, proof of transfer or submission, and proof of possession (proof of uniqueness). The movement record and management system makes tampering difficult by recording data (e.g., seed values ​​described later) in a related manner. Furthermore, only numerical values ​​such as seed values ​​and hash values ​​described later remain in the memory of the movement record and management device, providing high security against data leakage. The movement record and management system simplifies the system configuration and enables the recording of seed values, hash values, etc., in a tamper-proof manner during processing in each applicable area, making it possible to provide proof of transfer, proof of possession, or proof of submission. The following will describe them in order.

[0017] <Configuration of the movement record and management system> Figure 1 is a block diagram showing an example configuration of a travel record and management system 5 in an embodiment of the present disclosure. The travel record and management system 5 includes a plurality of terminals 10 and a travel record and management device 20. The terminals 10 and the travel record and management device 20 are connected, for example, via a network. This network may include the Internet, a public communication network (e.g., a cellular network), a wired LAN (Local Area Network), a wireless LAN, etc.

[0018] Terminal 10 is a smartphone, tablet, or other mobile device, and may be a device other than a mobile device. Terminal 10 may be possessed by the user and may be mobile. Terminal 10 may include terminal 10 possessed by provider H1 (deliverer, sender) who provides (sends, hands over) goods 50 (e.g., articles) to recipient H2, terminal 10 possessed by recipient H2 (recipient) who receives (receives) goods 50 from provider H1, etc. Movement recording and management device 20 is a server or PC, etc. Movement recording and management device 20 manages the movement of goods, and for example, becomes a distribution management device when managing the distribution of goods. The goods here may include not only physically tangible objects but also electronic data that does not have a physical form. Movement recording and management device 20 may be installed in any location, for example, in a management center that manages the movement recording and management system 5. The method of provision from provider H1 to recipient H2 is arbitrary and can include methods such as mailing, transporting, handing over, communication, or reading.

[0019] Figure 2 is a block diagram showing an example configuration of terminal 10. Terminal 10 comprises a processor 11, a communication device 12, a memory 13, an operating device 14, and a display device 15.

[0020] The processor 11 implements various functions by executing programs stored in memory 13. The processor 11 may include an MPU (Microprocessing Unit), a CPU (Central Processing Unit), a DSP (Digital Signal Processor), etc. The processor 11 may also be composed of various integrated circuits (e.g., LSI (Large Scale Integration), FPGA (Field Programmable Gate Array)). The processor 11 coordinates the operation of each part of the terminal 10 and performs various processes.

[0021] The communication device 12 transmits various data or information. The communication method used by the communication device 12 may be a WAN (Wide Area Network), a LAN (Local Area Network), cellular communication for mobile phones (e.g., LTE, 5G), or short-range communication (e.g., infrared communication or Bluetooth® communication).

[0022] Memory 13 includes primary storage devices (e.g., RAM (Random Access Memory) or ROM (Read Only Memory)). Memory 13 may also include secondary storage devices (e.g., HDD (Hard Disk Drive) or SSD (Solid State Drive)) or tertiary storage devices (e.g., optical discs, SD cards). Memory 13 may also include other storage devices. Memory 13 stores various data, information, programs, etc. Memory 13 may also hold acquired authentication code CD2 or certificate data, etc., as described later. Authentication code CD2 is, for example, an n-dimensional code (where n is an integer of 1 or more) or a two-dimensional code (e.g., QR code (registered trademark)).

[0023] The operating device 14 may include various buttons, keys, touch panels, microphones, or other input devices. The operating device 14 accepts input of various data and information.

[0024] The display device 15 may include a liquid crystal display device, an organic EL display device, or other display devices. The display device displays various data and information.

[0025] Figure 3 is a block diagram showing an example configuration of the travel recording and management device 20. The travel recording and management device 20 includes a processor 21, a communication device 22, and a memory 23.

[0026] The processor 21 implements various functions by executing programs stored in memory 23. The processor 21 may include an MPU, CPU, DSP, etc. The processor 11 may be composed of various integrated circuits (e.g., LSI, FPGA). The processor 21 coordinates the operation of each part of the movement recording and management device 20 and performs various processes.

[0027] The communication device 22 transmits various types of data and information. The communication method used by the communication device 22 may include, for example, WAN, LAN, power line communication, and cellular communication for mobile phones.

[0028] Memory 23 includes primary storage devices (e.g., RAM or ROM). Memory 23 may also include secondary storage devices (e.g., HDD or SSD) and tertiary storage devices (e.g., optical discs or SD cards). Memory 23 may also include other storage devices. Memory 23 stores various data, information, programs, etc. Memory 23 may also hold derived seed values ​​SD and hash values ​​HS, etc., as described later.

[0029] <Operation of the Movement Record and Management System> Next, using Figure 4, we will explain the processing flow in the movement record and management system 5 when objects are moved. Figure 4 is a diagram showing an example of the arrangement of multiple hierarchical nodes and an example of the movement of objects 50. The movement of objects refers to, for example, the distribution of goods.

[0030] In this embodiment (the first embodiment), various types of goods 50 are exchanged from one person to another. The exchange of goods 50 may broadly include the provision of goods 50 by the provider H1 and the receipt of goods 50 by the recipient H2, and may also include transfer, delivery, etc.

[0031] The exchange of item 50 may occur continuously. For example, after item 50 is exchanged from person A to person B, it may be exchanged sequentially from person B to person C, from person C to person D, and so on. In this case, for example, a person who becomes the recipient H2 of item 50 in the nth exchange will become the provider of item 50 in the (n+1)th exchange. In other words, depending on the timing of the exchange, the same person can be both the recipient H2 and the provider H1. Both the provider H1 and the recipient H2 of item 50 can possess terminal 10.

[0032] In the movement record and management system 5, nodes ND associated with each person H and each terminal 10 are virtually arranged hierarchically according to the order in which the object 50 moves. Since the object 50 is handed over to the people in order, the object 50 moves from the higher end of the movement sequence to the lower end. Therefore, each node ND corresponding to each terminal 10 corresponding to each person is arranged sequentially from the upper layer to the lower layer according to the handover order. The node ND corresponding to the person who first provides the object 50 is placed in the highest layer, and each time the object 50 is handed over, the movement record and management device 20 generates a lower node ND. Therefore, initially there is one node ND, and the number of node NDs increases by one with each handover. The node ND in the highest layer indicates the first owner of the object 50, and the node ND in the lowest layer at a given time indicates the owner of the object 50 at that given time.

[0033] In this embodiment, the layers are arranged in the order of Layer S, Layer A, Layer B, Layer C, ... from the top layer upwards. The labels "S", "A", "B", "C", ... representing these layers may also be appended to the end of labels such as Node ND, Terminal 10, Person H, etc. That is, for example, Node ND is generated in the order of Node NDS, NDA, NDB, NDC, ... For example, Terminal 10S and Person Hs are associated with Node NDS. For example, Terminal 10A and Person HA are associated with Node NDA. The same applies to the second embodiment and subsequent embodiments.

[0034] Two adjacent nodes ND, corresponding to two people or terminals 10 that the object 50 moves to, are connected by a connection line LN. In other words, the connection line LN indicates the movement path. Therefore, the administrator of the movement record and management system 5 can check the movement history, showing how the object 50 moved and to which person it was handed over, by checking the hierarchical arrangement of the nodes ND. Of the two nodes ND connected by the connection line LN, the node ND on the upstream side of the movement is also called the "parent node," and the node ND on the downstream side of the movement is also called the "child node." Therefore, the child node is placed one level below the parent node. One or more child nodes are connected to one parent node by a connection line LN.

[0035] The movement record and management device 20 can set a seed value SD and an authentication code CD2 for authenticating the terminal 10 in association with each of the multiple nodes ND. In this case, the movement record and management device 20 assigns the source code CD, which is the code to be encrypted, to the node ND of the nth layer (where n is an integer of 1 or more). For example, the source code CD is an arbitrary number (e.g., a random number) for the top-level node ND, and for nodes ND of layers other than the top-level layer, it is a value based on the seed value SD of the node ND one level above the node ND to be encrypted (parent node). The movement record and management device 20 may then encrypt the source code CD to generate encrypted data CR, and calculate the seed value SD and the authentication code CD2 by dividing the encrypted data CR. The movement record and management device 20 may then calculate the source code CD of the node ND (child node) of the (n+1)th layer, which is one level below the node ND (parent node) of the nth layer, based on the calculated seed value SD. Furthermore, for the (n+1)th layer, the encrypted data CR, seed value SD, and authentication code CD2, etc., may be calculated based on the source code CD.

[0036] In this way, the seed value SD of the child node can be generated based on the seed value SD of the parent node. Furthermore, the movement record and management device 20 can set the seed value SD and authentication code CD2 of each node ND by repeating this process each time it obtains the authentication code CD2 of the terminal 10 held by each different provider H1 from the terminal 10 of each different recipient H2, and can generate each node ND sequentially in a chain-like relationship using the seed value SD.

[0037] The movement record and management device 20 may store the seed value SD of each node ND in memory 23. The movement record and management device 20 may make only the last two calculated seed values ​​SD (i.e., the seed value SD of the lowest layer and the layer above it) valid and invalidate the seed values ​​SD of other layers. In this case, the valid seed value SD serves as proof of ownership, indicating that the owner of the terminal 10 associated with the node ND corresponding to the valid seed value SD is the current owner of the object 50.

[0038] The movement record and management device 20 may transmit the authentication code CD2 for the generated nth layer and (n+1)th layer node ND to each terminal 10 associated with each node ND. In this case, each terminal 10 may hold the authentication code CD2 and transmit the authentication code CD2 to the movement record and management device 20 when authentication of each terminal 10 is required (for example, when providing item 50). The movement record and management device 20 may then authenticate each terminal 10 using the respective authentication code CD2 from each terminal 10. Details of the authentication method for terminal 10 will be described later.

[0039] Conversely, the movement recording and management device 20 may associate the source code CD3, which is the code to be decrypted, with the node ND of the (n+1)th layer (where n is an integer greater than or equal to 1), and decrypt the source code CD3 to generate decrypted data DC. The source code CD3 is a combination of any seed value SD and any authentication code CD2. If the source code CD3 is a combination of the seed value SD of the (n+1)th layer and any authentication code CD2, the decrypted data DC includes the seed value SD of the node ND of the nth layer, which is one layer above the (n+1)th layer. In other words, the movement recording and management device 20 can simultaneously detect the seed value SD that matches the authentication code CD2 of the acquired child node and the seed value of the parent node.

[0040] Figure 5 shows an example of splitting the encrypted data CR of a given node ND into an authentication code CD2 and a seed value SD. In Figure 5, the left half of the split encrypted data CR is used as the seed value SD and the right half as the authentication code CD2, but this is not the only option. The number of digits in the seed value SD and the authentication code CD2 may be the same or different. Alternatively, the right half may be the seed value SD and the left half as the authentication code CD2. Furthermore, the value of any digit in a series of encrypted data CR may be used as the seed value SD, and the values ​​of other digits may be used as the authentication code CD2, and the seed value SD and the authentication code CD2 may be mixed within the encrypted data CR.

[0041] Next, we will explain an example of operation using the movement record and management system 5.

[0042] Figure 6A is a sequence diagram showing an example of operation by the movement record and management system 5. Figures 7A, 7B, 7E, and 7F are diagrams that provide supplementary explanations of the operation example of the movement record and management system 5. In the diagrams, terminal 10A may be simply referred to as "terminal A," and terminal 10B as simply "terminal B."

[0043] Figure 6A assumes a scenario where object 50 has been passed between person Hs and person HA, and person HA is about to pass object 50 to person HB. In this scenario, person HA is the provider H1, and person HB is the recipient H2. The following pre-processing has been completed at the start of the process in Figure 6A. Note that person HA may have object 50 from the beginning without person Hs providing or receiving it.

[0044] At the start of processing as shown in Figure 6A, preprocessing has already generated the top-level (Layer 1) node NDS corresponding to person Hs's terminal 10S, and the node NDA, which is directly below the top-level (Layer 2) node corresponding to person HA and person HA's terminal 10A. Node NDS is the root node. Also, the seed value SDS and authentication code CD2S for node NDS have been generated, and the seed value SDS is stored in memory 23. The authentication code CD2S may have been sent to terminal 10S corresponding to node NDS. In this case, the authentication code CD2S is stored in terminal 10S. Preprocessing may be performed by the movement record and management device 20, or by another device. Also, the hash value HSS corresponding to node NDS, which will be described later, may have been generated, and the hash value HSS may be stored in memory 23. The seed value SDS and the hash value HSS are stored as a pair. Similarly, the seed value SDA and authentication code CD2A corresponding to the node NDA have already been generated, the seed value SDA is stored in memory 23, and the authentication code CD2A has been sent to terminal 10A corresponding to the node NDA. The authentication code CD2A is stored in terminal 10A. In addition, the hash value HSA corresponding to the node NDA may have already been generated, and the hash value HSA may be stored in memory 23. The seed value SDA and the hash value HSA are stored as a pair.

[0045] Here, we will describe an example of pre-processing. Here, we will illustrate that the movement record and management device 20 performs pre-processing.

[0046] Processor 21 assigns an arbitrary code to the top-layer node NDS as the source code CDS to be encrypted. For example, processor 21 generates a random number and assigns this random number as the source code CDS. Processor 21 encrypts the assigned source code CDS using a decryptable encryption function (e.g., RSA, DES, AES, elliptic curve cryptography, hybrid cryptography) to obtain encrypted data CRS.

[0047] The processor 21 divides the obtained encrypted data CRS into a seed value SDS and an authentication code CD2S (e.g., a QR code®). In this case, the processor 21 may use one of the two divided data (also referred to as the first divided data) as the seed value SDS and the other of the two divided data as the authentication code CD2S (an example of the second divided data). The processor 21 may divide the encrypted data CRS into the authentication code CD2S and the seed value SDS by taking into account the number of digits in the encrypted data CRS and dividing it into two equal parts so that they have the same number of digits. Alternatively, the processor 21 may divide the encrypted data CRS into the authentication code CD2S and the seed value SDS in a biased manner, such that the number of digits in the authentication code CD2S and the number of digits in the seed value SDS are different, rather than dividing it into two equal parts.

[0048] Processor 21 assigns the seed value SDS, which corresponds to the top-level node NDS connected to the node NDA by the connection line LN, as the source code CDA for the node NDA. In other words, processor 21 uses the seed value SDS corresponding to the parent node of the second layer as the source code CDA for the child node of the first layer. In this case, processor 21 may pad the seed value SDA to generate the source code CDA.

[0049] Processor 21 encrypts the assigned source code CDA using a decryptable encryption function to obtain encrypted data CRA. Processor 21 then splits the obtained encrypted data CRA into a seed value SDA and an authentication code CD2A. The splitting method can be the same as in the case of encrypted data CRS.

[0050] Furthermore, the processor 21 may calculate a hash value HSS based on the encrypted data CRS using a hash function (e.g., SHA256). The processor 21 may also calculate a hash value HSA based on the encrypted data CRA using a hash function. The hash function is an example of a one-way function, i.e., a function of an encryption scheme that is difficult to decrypt, and other one-way functions may be used. The hash value HS is an example of a value resulting from the calculation of a one-way function, and may also be a value resulting from the calculation of another one-way function.

[0051] In this way, as shown in Figure 7A, the movement record and management device 20 keeps at least two seed values ​​SD (e.g., seed values ​​SDS, SDA) in memory 23. This is because the seed value of the parent node of the node ND associated with each terminal 10 is required for the authentication of each terminal 10. Furthermore, by keeping the two seed values ​​of the upper and lower hierarchical node ND in memory 23, they can be used for authentication as the seed value SD of the parent node for the lower node. In addition, each seed value SD is used in terminal authentication processing, code generation processing, or generation of movement history information, etc., which are performed after being stored in memory 23. The movement record and management device 20 may also keep hash values ​​HSS, HSA in memory 23. Furthermore, the movement record and management device 20 has the communication device 22 send the authentication code CD2A to terminal 10A, and terminal 10A keeps the authentication code CD2A in memory 13. On the other hand, the authentication code CD2S for node NDS is not used for authentication of terminal 10A and is therefore unnecessary and does not need to be sent to terminal 10S.

[0052] Returning to Figure 6A, first, when item 50 is provided, the processor 11 causes terminal 10A to display the authentication code CD2TA on the display device 15 (S11). The authentication code CD2TA is basically the authentication code CD2A that was distributed from the movement record and management device 20 and stored in memory 13. However, if terminal 10A is an unauthorized terminal or if the authentication code CD2A has been tampered with, the authentication code CD2TA may not be the authentication code CD2A.

[0053] Terminal 10B receives the authentication code CD2TA from terminal 10A via processor 11. For example, processor 11 reads the authentication code CD2TA from terminal 10A via a two-dimensional code reader (hardware or software) (S16). Terminal 10B receives the authentication code CD2TA from terminal 10A via communication device 12 and transmits it to the movement record and management device 20 (S17) (see Figure 7B).

[0054] Furthermore, if the authentication code CD2TA is, for example, a two-dimensional code, person HB, who possesses terminal 10B (the recipient H2), can easily obtain the authentication code CD2TA from the provider of item 50. Alternatively, terminal 10B may obtain the authentication code CD2TA through means other than terminal 10A displaying it and terminal 10B reading it. For example, terminal 10B may obtain the authentication code CD2TA when communication device 12 receives it.

[0055] The movement record and management device 20 receives the authentication code CD2TA for terminal 10A from terminal 10B via the communication device 22 (S21). Based on the received authentication code CD2TA for terminal 10A, the processor 21 performs a process to authenticate the legitimacy of terminal 10A, the source of the item 50 that held the authentication code CD2TA (S22). This process is also called the "terminal authentication process". The processor 21 determines whether the authentication of terminal 10A was successful (authentication OK) as a result of the terminal authentication process (S23). If the authentication of terminal 10A fails (No. in S23), the movement record and management system 5 terminates the process shown in Figure 7A.

[0056] If authentication of terminal 10A is successful (Yes in S23), processor 21 executes a process to generate (issue) an authentication code CD2B to be used when the next item is handed over (S24). This process is also called the "next authentication code generation process".

[0057] The communication device 22 transmits the generated next authentication code CD2B to the terminal 10B of person HB, who is the recipient H2 of object 50 (S25) (see Figure 7E). The processor 21 associates terminal 10B with node NDB, which is one level below node NDA, and stores this association information in memory 23 (see Figure 7E). As a result, the movement record and management device 20 can understand the movement order of each node ND and each terminal 10.

[0058] In terminal 10A, the processor 11 receives the next authentication code CD2B from the movement record and management device 20 via the communication device 12 and stores the authentication code CD2B in the memory 13 (S18) (see Figure 7F).

[0059] Figures 6B and 6C show an example of the terminal authentication process in step S22. Figure 7C is a diagram that provides supplementary explanation of the terminal authentication process.

[0060] The processor 21 refers to the memory 23 and searches for a seed value SD that will successfully decrypt the data in combination with the authentication code CD2TA of the acquired terminal 10A. For example, the processor 21 searches whether there is a seed value SDA that has been generated in association with the authentication code CD2A of the terminal 10A that can correspond to the authentication code CD2TA. Here, the memory 23 does not store information indicating the order of the chain generated during encryption. Therefore, the processor 21 cannot determine which of the one or more seed values ​​SD stored is associated with the authentication code CD2A of the terminal 10A.

[0061] Therefore, the processor 21 and memory 23 combine an arbitrary seed value (a seed value that has not yet been combined with the authentication code CD2TA) with the authentication code CD2TA of terminal 10A to generate the source code to be decrypted for terminal 10A (decryption source code CD3A) (S31). The decryption source code CD3A corresponds to the encrypted data CRA generated during encryption, if the authentication code CD2TA is the authentication code CD2A. In this case, the processor 21 may determine whether a seed value SD has not yet been combined by attaching a flag to a seed value SD that has already been combined, and may exclude it from the list of candidates for subsequent combinations.

[0062] The processor 21 decrypts the source code CD3A of terminal 10A by working backward using a decryptable encryption function (e.g., RSA function) used during encryption, and obtains the decrypted data DCA of terminal 10A (S32). The decrypted data DCA corresponds to the source code CDA, which was the code to be encrypted during encryption.

[0063] The processor 21 determines whether the decoded data DCA of terminal 10A matches any other seed value SD held in memory 23 (S33). The other seed value SD here refers to any seed value SD held in memory 23 other than the seed value SDA of the decoded source code CD3A of terminal 10A.

[0064] If the decrypted data DCA of terminal 10A matches another seed value SD held in memory 23, it is determined that the current owner of item 50 is person HA, who corresponds to terminal 10A that held the authentication code CD2A (S34). In other words, the movement record and management device 20 can prove ownership of item 50 using the seed value SD. The fact that terminal 10A is the current owner of item 50 is one example of the legitimacy of the transfer of item 50.

[0065] Considering the encryption process, the decrypted data DCA obtained by decrypting the source code CD3A of terminal 10A should contain the seed value SDS corresponding to node NDS, which is the node one level higher (parent node) to which the connection line LN is connected to node NDA corresponding to terminal 10A. If the decrypted data DCA of terminal 10A matches another seed value SD held in memory 23, the processor 21 can determine that it is the seed value SDS corresponding to this parent node. In this way, the processor 21 successfully decrypts the source code CD3A of terminal 10A and can determine the current owner of object 50.

[0066] On the other hand, if the decrypted data DCA of terminal 10A in step S34 does not match any other seed value SD stored in memory 23, it is determined whether all seed values ​​SD stored in memory 23 have been combined with the authentication code CD2A of terminal 10A (S35).

[0067] If there is a seed value SD in memory 23 that has not yet been combined with the authentication code CD2TA of terminal 10A (No. in S35), the processor 21 proceeds to step S31 and repeats the processing in steps S31 to S35. In other words, the processor 21 combines the acquired authentication code CD2TA of terminal 10A with any seed value SD from among the multiple seed values ​​SD held in memory 23, changing the seed value SD each time, and repeats this until the decrypted data DC of terminal 10A matches another seed value SD held in memory 23 (until decryption is successful).

[0068] If decryption fails when combining the authentication code CD2TA of terminal 10A with any seed value SD held in memory 23 (No. in S35), the processor 21 determines that the current owner of item 50 is not the person of terminal 10A who held the authentication code CD2TA, and determines that the transfer of item 50 is improper (S44 in Figure 6C).

[0069] Proceeding to Figure 6C, the processor 21 calculates the hash value HSA' of terminal 10A based on the decryption source code CD3A of terminal 10A, which was successfully decrypted (S41).

[0070] The processor 21 determines whether the calculated hash value HSA' of terminal 10A matches the hash value HSA held in memory 23, which is paired with the seed value SD of the decryption source code CD3A of terminal 10A that was successfully decrypted (S42).

[0071] If the hash value HSA' of terminal 10A matches the hash value HSA (Yes in S42), the processor 21 determines that terminal 10A is legitimate, that is, that H1, the provider of item 50 possessing terminal 10A, is legitimate (S43). The legitimacy of terminal 10A is one example of the legitimacy of the delivery of item 50. On the other hand, if the hash value HSA' of terminal 10A does not match the hash value HSA (No in S42), the processor 21 determines that terminal 10A is not legitimate, that is, that H1, the provider of item 50 possessing terminal 10A, is not legitimate, and determines that the delivery of item 50 is illegitimate (S44).

[0072] Note that the authentication of the authenticity of terminal 10 using the hash value HS in steps S41 to S43 may be omitted. Even in this case, the authenticity of the delivery of the package is guaranteed by steps S33 and S34.

[0073] With this terminal authentication process, the movement record and management device 20 can authenticate the legitimacy of terminal 10A of provider H1 of item 50 using the seed values ​​SDS and SDA stored in memory 23 through preprocessing, and the authentication code CD2TA of terminal A. Furthermore, since terminal 10B can authenticate terminal 10A by reading the authentication code CD2TA of terminal 10A, recipient H2, who possesses terminal 10B, can easily verify the legitimacy of terminal 10A when handing over item 50.

[0074] Furthermore, even when the hash values ​​HSA and HSA' are not calculated, the movement record and management device 20 can simplify the encryption process of the source code CDA, shorten the encryption processing time, and evaluate the legitimacy of the delivery of the item 50. Also, when the movement record and management device 20 calculates the hash value HS and stores it in memory 23, it can evaluate the legitimacy of the terminal 10 associated with node ND corresponding to the hash value HS.

[0075] The movement record and management device 20 performs verification using hash values. If the authentication code CD2TA of terminal 10A differs from the authentication code CD2A, or if the authentication code held by another terminal 10 is replaced, the hash value HSA' and the hash value HSA will be different. Therefore, the movement record and management device 20 can determine that terminal 10A is not legitimate. Thus, the movement record and management device 20 can detect fraud and impersonation.

[0076] Figure 6D shows an example of the next authentication code generation process in step S24. Figure 7D is a diagram that provides supplementary explanation of the next authentication code generation process.

[0077] First, the processor 21 generates a node NDB, which is a child node of the node NDA corresponding to terminal 10A (S51). The processor 21 also associates the node NDB with terminal 10B of the provider H2 and stores the association information in memory 23. The association information includes, for example, the identification information of node ND, the identification information of terminal 10B, and information indicating that node ND and terminal 10 are associated.

[0078] The processor 21 generates the source code CDB of the node NDB by adding predetermined padding data to the seed value SDA of the node NDA, for example (S52). The processor 21 encrypts the generated source code CDB using a decryptable encryption function to obtain the encrypted data CRB of the node NDB (S53). The processor 21 splits the encrypted data CRB of the node NDB into the seed value SDB of the node NDB and the authentication code CD2B (S54). The processor 21 calculates the hash value HSB of the node NDB based on the encrypted data CRB of the node NDB (S55). The processor 21 stores the seed value SDB and hash value HSB of the node NDB in memory 23.

[0079] Then, the movement record and management device 20 has the communication device 22 transmit the authentication code CD2B of the node NDB, which will be used as the next authentication code CD2, to the terminal 10B associated with the node NDB (S25 in Figure 6A).

[0080] Terminal 10B receives the authentication code CD2B from the movement record and management device 20 via the communication device 12 via the processor 11 and stores the authentication code CD2B in the memory 13 (S18 in Figure 6A). This authentication code CD2B is used at the next time the item 50 is handed over, that is, when the person HB who possesses terminal 10B becomes the provider H1 and the other person becomes the recipient H2.

[0081] According to this next-time authentication code generation process, the movement record and management device 20 can issue an authentication code CD2 to the terminal 10 of the recipient H2 who will receive the item 50. Since the recipient H2 in this instance will become the provider H1 when the item 50 is handed over next time, the authentication code CD2 will be used when the item 50 is handed over. In other words, the authentication code CD2 can authenticate the provider H1 of the item 50. Furthermore, by storing the seed value SD (e.g., SDB) and hash value HS (e.g., HSB) corresponding to the issued next-time authentication code CD2 (e.g., CD2B) in memory 23, the movement record and management device 20 can perform authentication of the terminal 10 (e.g., terminal 10B) using the next-time authentication code CD2 when the item is handed over next time.

[0082] In this way, the series of processes performed by the movement record and management system 5 when terminal 10B acquires object 50 from terminal 10A, as shown in Figures 6A to 6D, is completed. Each time object 50 is handed over, the movement record and management system 5 provides a different authentication code CD2 (e.g., authentication code CD2B) to a different terminal 10 (e.g., terminal 10B) corresponding to a different recipient H2. For the next handover of object 50, the recipient H2 of the current handover becomes the next provider H1, and the next recipient H2 becomes a different person H (e.g., person HC) than the current recipient H2, and provides object 50. Thus, object 50 is handed over to multiple people H in sequence. During this process as well, the movement record and management system 5 repeatedly performs the processes shown in Figures 6A to 6D.

[0083] For example, when processing the next steps shown in Figures 6A to 6D, the processor 21 may treat the current terminal 10B as the terminal corresponding to the next terminal 10A, a new terminal (e.g., terminal 10C) as the terminal corresponding to the next terminal 10B, the current authentication code CD2B as the authentication code corresponding to the next authentication code CD2A, the current seed value SDA as the seed value corresponding to the next original seed value SDS, and the current seed value SDB as the seed value corresponding to the next seed value SDA. Then, when the processor 21 receives the authentication code CD2TB (new authentication code) obtained from terminal 10B from terminal 10C held by person HC of the next provider H2, it may perform the next terminal authentication process and the next authentication code generation process. The processor may store the new seed value (e.g., seed value SDC) derived by the next authentication code generation process in memory 23. The communication device 22 may transmit a new authentication code (e.g., authentication code CD2C) derived by the next authentication code generation process to the terminal 10C. In this way, when the movement record and management device 20 repeatedly executes the processes shown in Figures 6A to 6D, it may replace the above information and, each time it receives a new authentication code CD2 from a new terminal 10, repeat the execution of the terminal authentication process and the code generation process, saving a new seed value SD to the memory 23, and transmitting a new authentication code CD2 to the new terminal.

[0084] In this way, terminals 10 (e.g., terminals 10A, 10B, 10C, ...) corresponding to the provider H1 of item 50 can provide item 50 to multiple different terminals 10 (e.g., terminals 10B, 10C, 10D, ...) using different authentication codes CD2 for each. For example, terminal 10C may read an authentication code CD2TB that corresponds to the authentication code CD2B of terminal 10B and transmit this authentication code CD2TB to the movement record and management device 20 (see Figure 7G). This allows the movement record and management device 20 to perform terminal authentication processing and next-time authentication code generation processing for terminal 10B and node NDB.

[0085] Furthermore, after authenticating the authentication code CD2, the processor 21 may invalidate the authentication code CD2A of the terminal 10A that was being authenticated. In other words, the processor 21 may control the system so that authentication fails if the same authentication code CD2A is obtained again. This allows the movement record and management device 20 to be in a state where it can authenticate only the latest authentication code CD2. Thus, it proves that the owner of terminal 10 who possesses an active (valid) authentication code CD2 is currently in possession of item 50.

[0086] As described above, the movement record and management device 20 of this embodiment performs person authentication (i.e., terminal authentication) using an authentication code CD2 to authenticate the provider H1 each time an item 50 such as a product is provided (each time it is delivered), and can issue an authentication code CD2 for when the recipient H2 becomes the provider H1 next time. In other words, the movement record and management device 20 can provide different authentication code CD2s to sequentially different terminals 10 by repeatedly performing the terminal authentication process and the next authentication code generation process. In this case, the movement record and management device 20 can prepare the authentication code CD2 at the time of delivery of the item 50, rather than in advance, each time the item 50 is delivered. Therefore, even when the movement route is not predetermined, and the item 50 is provided to various people H, it is possible to authenticate that the person H providing the item 50 is a legitimate person. The movement record and management system 5 of this embodiment is applicable to the sale, transfer, or secondary movement of goods.

[0087] Furthermore, according to the next authentication code generation process, the movement record and management device 20 can sequentially derive the source code CD, encrypted data CR, authentication code CD2, and seed value SD for each delivery of object 50, depending on the positional relationship and connection relationship of each node ND. Since the child node generates the source code CD to be encrypted based on the parent node's seed value SD, the parent node and child node are associated. Because the associated state between the parent node and child node is carried over, a series of connection relationships (chains) are formed in all generated nodes ND based on the seed value SD. Therefore, during the next terminal authentication process, the movement record and management device 20 can derive the encrypted data CR (decryption source code CD3, described later) corresponding to the child node by obtaining the seed value SD and authentication code CD2 stored separately in the movement record and management device 20 and the terminal 10, and can decrypt the seed value SD corresponding to the parent node from the encrypted data CR.

[0088] Furthermore, memory 23 does not store information indicating which hierarchy or node ND a seed value SD and hash value HS are associated with. In other words, memory 23 stores pairs of seed value SD and hash value HS without taking into account the hierarchy of node ND. Therefore, even if a third party were to obtain some seed values ​​SD and hash values ​​HS from memory 23, it would be extremely difficult to determine which seed value SD and hash value HS correspond to which hierarchy of node ND, since it would be unknown which seed value SD and hash value HS relate to which person H. Thus, the movement record and management device 20 can minimize the possibility of the encrypted source code CD being decrypted, ensure security, and maintain a high level of system reliability.

[0089] In this embodiment, the authentication code CD2 is shown as an n-dimensional code, but other codes may be used, such as a readable code that can be read by various readers. The same applies to subsequent embodiments.

[0090] In this embodiment, at least two seed values ​​SD are stored in memory 23, and it has been illustrated that terminal authentication is possible for terminals 10A, 10B, 10C, etc. However, terminal authentication may also be possible for terminal 10S. In this case, the movement record and management device 20 may send the authentication code CD2S of node NDS to terminal 10S, treat the first arbitrary code that becomes the seed value SDS as the seed value of the parent node of node NDS corresponding to terminal 10S, and store it in memory 23. In this case, the first arbitrary code and the seed value SDS may be stored in memory 23 as two seed values ​​SD. In this case, the movement record and management device 20 can apply this embodiment even when terminal 10S becomes the provider H1 of item 50.

[0091] (Second embodiment) In the first embodiment, the movement record and management system 5 mainly performs terminal authentication processing and next-time authentication code generation processing each time an object 50 is handed over to each person. In the second embodiment, the movement record and management system 5A mainly performs terminal authentication processing and next-time authentication code generation processing each time electronic data (e.g., certificate data 50A) as an object 50 is provided to each person. In the second embodiment, the explanation of matters similar to those in the first embodiment will be omitted or simplified.

[0092] In this embodiment, the provision of electronic data may include the transmission and reception of electronic data from provider H1's terminal 10 to recipient H2's terminal 10, accompanied by communication. Alternatively, the provision of electronic data may include presenting the electronic data to recipient H2 by displaying it on provider H1's terminal 10, without involving communication.

[0093] Figure 8 shows an example configuration of the travel record and management system 5A of the second embodiment. The travel record and management system 5A includes a plurality of terminals 10 (10A, 10B, ...), a travel record and management device 20A, and a certificate management device 30.

[0094] However, the certificate management device 30 is not mandatory and is an optional addition when it is necessary to explicitly indicate what is being certified. If it is clear to both the presenter and the recipient what needs to be certified, the certificate management device 30 is not necessary, but for the sake of clarity and specificity, the following description assumes the existence of the certificate management device 30. The same applies to the certificate data 50A, which may also be empty. In this case as well, the recipient must be informed in advance by some means what the authentication code is used to certify, but this method is not limited to what is described in this embodiment. The certificate data 50A is also described below assuming its existence for the sake of clarity and specificity.

[0095] Terminal 10, the travel record and management device 20A, and the certificate management device 30 are connected, for example, via a network. This network may include the Internet, a public communication network, a wired LAN, a wireless LAN, etc. Components similar to those in the first embodiment are denoted by the same reference numerals, and their descriptions are omitted or simplified.

[0096] The certificate management device 30, like a typical server, includes a processor 31, a communication device 32, and memory 33. The certificate management device 30 holds various certificate data 50A that can be distributed to each terminal 10. The certificate data 50A may or may not be encrypted. In this embodiment, this certificate data 50A is data separate from the authentication code CD2. The certificate data 50A may be, for example, data for a qualification certificate or an identification document. The certificate data 50A may also be, for example, data for a seal certificate including an electronic seal impression.

[0097] In this embodiment, for example, the terminal 10 of the owner (provider H1) of certificate data 50A can be used as proof of identity by having another person H (recipient H2) read the authentication code CD2 from their terminal 10. In other words, this authentication code CD2 can be used as official seal data.

[0098] Next, Figure 9 will be used to explain the processing flow in the movement record and management system 5 when objects are moved. Figure 9 is a diagram showing an example of the arrangement of multiple hierarchical nodes and an example of the movement direction of certificate data 50A. In Figure 9, explanations of matters similar to those in Figure 4 will be omitted or simplified.

[0099] In this embodiment, the transfer of various certificate data 50A occurs from the same person to other people. The transfer of certificate data 50A may broadly include the provider H1 of certificate data 50A providing the certificate data 50A and the recipient H2 of certificate data 50A receiving the certificate data 50A.

[0100] The transfer of certificate data 50A may occur sequentially from the same person to other people. For example, after the transfer of certificate data 50A from person HA to person HB, it may be transferred sequentially from person HA to person HC, from person HA to person HD, and so on. In other words, in the nth transfer, the provider H1 of certificate data 50A remains the same, but the recipient H2 of certificate data 50A changes sequentially. Both the provider H1 of certificate data 50A and the recipient H2 of certificate data 50A are capable of possessing terminal 10.

[0101] In the movement record and management system 5, similar to Figure 4, nodes ND associated with each person H and each terminal 10 are virtually arranged hierarchically according to the order in which the certificate data 50A moves. Node ND corresponding to person H who provides the certificate data 50A is placed in a predetermined hierarchical layer, and each time the certificate data 50A is passed, the movement record and management device 20 generates a node ND in a lower layer. Therefore, initially there is one node ND, and the number of node NDs increases by one with each pass. The predetermined node ND represents the provider H1 (owner) of the certificate data 50A, and each node ND in a layer lower than the predetermined node ND represents the recipient H2 of the certificate data 50A.

[0102] In this embodiment, the connection line LN indicates the order in which certificate data 50A were provided by the same person. Therefore, the administrator of the movement record and management system 5 can check the movement history, which shows the order in which the certificate data 50A were provided, by checking the hierarchical arrangement of nodes ND.

[0103] The movement record and management device 20A can set a seed value SD and an authentication code CD2 for authenticating the terminal 10 in association with each of the multiple nodes ND. In this case, the movement record and management device 20A assigns the source code CD, which is the code to be encrypted, to the node ND of the nth layer (where n is an integer of 1 or more). For example, the source code CD is an arbitrary number (e.g., a random number) for the top-level node ND, and for nodes ND of layers other than the top-level layer, it is a value based on the seed value SD of the node ND one level above the node ND to be encrypted (parent node). The movement record and management device 20A may then encrypt the source code CD to generate encrypted data CR, and calculate the seed value SD and the authentication code CD2 by dividing the encrypted data CR. The movement record and management device 20A may then calculate the source code CD of the node ND (child node) of the (n+1)th layer, which is one level below the node ND (parent node) of the nth layer, based on the calculated seed value SD. Furthermore, for the (n+1)th layer, the encrypted data CR, seed value SD, and authentication code CD2 may be calculated based on the source code CD. The movement record and management device 20A stores the seed value SD of each node ND in memory 23.

[0104] In this way, the seed value SD of a child node can be generated based on the seed value SD of the parent node. Furthermore, the movement record and management device 20 can generate one node ND at a time by repeating this process each time it obtains the authentication code CD2 of the same provider H1 terminal 10 from each of the different recipient terminals H2, and set the seed value SD and authentication code CD2 for each node ND. Using the seed value SD, each node ND can be generated sequentially in a chain-like relationship.

[0105] The movement record and management device 20A transmits the authentication code CD2 of the generated nth layer and (n+1)th layer node ND to the terminal 10 of provider H1 of the certificate data 50A. Therefore, in this embodiment, the authentication code CD2 generated (updated) at each layer node ND is transmitted to the same terminal 10. Provider H1's terminal 10 keeps the received authentication code CD2 and may transmit the authentication code CD2 to the movement record and management device 20 when authentication is required (for example, when providing the certificate data 50A to other terminals 10). The movement record and management device 20 may then authenticate provider H1's terminal 10 using the updateable authentication code CD2 from provider H1's terminal 10. When providing the certificate data 50A, provider H1's terminal 10 sends the authentication code CD2, which is updated each time it is provided, to the recipient H2's terminal 10.

[0106] Conversely, the movement recording and management device 20A may associate the source code CD3, which is the code to be decrypted, with the node ND of the (n+1)th layer, and decrypt the source code CD3 to generate decrypted data DC. The source code CD3 is a combination of any seed value SD and any authentication code CD2. If the source code CD3 is a combination of the seed value SD of the (n+1)th layer and any authentication code CD2, the decrypted data DC includes the seed value SD of the nth-th layer node ND, which is the parent node of the node ND of the (n+1)th layer. In other words, the movement recording and management device 20A can simultaneously detect the seed value SD that matches the acquired child node's authentication code CD2 and the parent node's seed value SD.

[0107] Next, we will explain an example of the operation of the movement record and management system 5A.

[0108] Figure 10 is a sequence diagram showing an example of the operation of the movement record and management system 5A. Figures 11A to 11E are diagrams that provide supplementary explanations of the operation of the movement record and management system 5A. In Figure 10, the same step numbers are used for processes similar to those of the movement record and management system 5 shown in Figure 6A, and their explanations are omitted or simplified.

[0109] Figure 10 illustrates a scenario where certificate data 50A is to be transferred from person HA to person HB. In this scenario, person HA is the provider H1, and person HB is the recipient H2. At the start of processing in Figure 10A, the pre-processing described above has already been completed.

[0110] At the start of processing in Figure 10, as in the first embodiment, at least the seed values ​​SDS and SDA are held in memory 23, and the hash values ​​HSS and HSA may also be held, as shown in Figure 11A. In addition, the authentication code CD2A is sent to and held by terminal 10A. Furthermore, certificate data 50A is sent from the certificate management device 30 to terminal 10A and held by terminal 10A.

[0111] First, when providing certificate data 50A, the communication device 12 transmits the authentication code CD2TA to terminal 10B (S11A). The authentication code CD2TA is basically the authentication code CD2A distributed from the movement record and management device 20 and stored in memory 13. However, if terminal 10A is an unauthorized terminal or if the authentication code CD2A has been tampered with, the authentication code CD2TA may not be the authentication code CD2A.

[0112] Terminal 10B receives the authentication code CD2TA from terminal 10A via communication device 12 (S16A). Communication device 12 transmits this authentication code CD2TA from terminal 10A to the movement record and management device 20 (S17) (see Figure 11B). Alternatively, as in the first embodiment, terminal 10A may display the authentication code CD2TA and terminal 10B may read the authentication code CD2TA.

[0113] The movement record and management device 20A receives the authentication code CD2TA for terminal 10A from terminal 10B via the communication device 22 (S21). Based on the received authentication code CD2TA for terminal 10A, the processor 21 performs terminal authentication processing to authenticate the legitimacy of terminal 10A that held the authentication code CD2TA (S22). The specific details of the terminal authentication processing are the same as those shown in Figures 6A, 6B, and 6C, etc., so an explanation is omitted.

[0114] The processor 21 determines whether the authentication of terminal 10A was successful based on the results of the terminal authentication process (S23). If the authentication of terminal 10A is successful (Yes in S23), the processor 21 executes the next authentication code generation process (S24). The specific contents of the next authentication code generation process are the same as those shown in Figure 6D, so the explanation is omitted.

[0115] The communication device 22 transmits the generated next authentication code CD2B and the authentication result of the terminal authentication process to the terminal 10A of provider H1, which was holding the authentication code CD2TA received in step S21 (S25A) (see Figure 11C). Therefore, a person HA, etc., who possesses terminal 10A can know the result of the terminal authentication process, even if the authentication code CD2TA is provided to a party other than provider H1, as the authentication code CD2 will be updated. If the terminal authentication process is successful, for example, terminal 10A can send certificate data 50A to terminal 10B of provider H2.

[0116] Furthermore, based on one or more seed values ​​held in memory 23, the movement record and management device 20 can determine the movement order of each node ND and each terminal 10 (the order in which certificate data 50A is provided). The movement record and management device 20 may also control (instruct) the processor 21 to make this movement order visible to terminals 10 such as terminal 10A via the communication device 22.

[0117] In terminal 10A, the processor 11 receives the next authentication code CD2B from the movement record and management device 20 via the communication device 12 and stores the authentication code CD2B in the memory 13 (S12) (see Figure 11D).

[0118] On the other hand, if authentication of terminal 10A fails in step S23 (No. of S23), the movement record and management system 5 terminates the process shown in Figure 10.

[0119] In this way, the series of processes performed by the movement record management system 5A when terminal 10B obtains certificate data 50A from terminal 10A, as shown in Figure 10, is completed. Since terminal 10A will provide certificate data 50A to terminal 10B, the movement record management system 5A performs the next authentication code generation process regardless of whether terminal 10A is determined to be the legitimate owner of certificate data 50A through the terminal authentication process. Therefore, each time certificate data 50A is provided from terminal 10A to another terminal 10 (e.g., terminals 10B, 10C, ...), the movement record management system 5A updates the authentication code CD2 used by terminal 10A of provider H1. In the next provision of certificate data 50A, terminal 10A provides certificate data 50A to terminals other than terminal 10B, such as terminal 10C. At this time as well, the movement record management system 5A repeatedly performs the processes shown in Figure 10.

[0120] For example, when processing Figure 10 again, the processor 21 may set a new terminal (e.g., terminal 10C) as the terminal corresponding to the next terminal 10B, the current authentication code CD2B as the authentication code corresponding to the next authentication code CD2A, the current seed value SDA as the seed value corresponding to the next original seed value SDS, and the current seed value SDB as the seed value corresponding to the next seed value SDA. Then, when the processor 21 receives the authentication code CD2TB (new authentication code) obtained from terminal 10B from terminal 10C held by person HC of the next provider H2, it may perform the next terminal authentication process and the next authentication code generation process. The processor 21 may store the new seed value (e.g., seed value SDC) derived by the next authentication code generation process in memory 23. The communication device 22 may transmit the new authentication code (e.g., authentication code CD2C) derived by the next authentication code generation process to terminal 10A. Thus, when the movement record and management device 20 repeatedly executes the process shown in Figure 10, it may replace the above information and, each time it receives a new authentication code CD2 from a new terminal 10, repeat the execution of the terminal authentication process and the code generation process, the saving of a new seed value SD to the memory 23, and the transmission of a new authentication code CD2 to the terminal 10A.

[0121] In this way, provider H1's terminal 10A can provide certificate data 50A to multiple different recipient H2 terminals 10 (e.g., terminals 10B, 10C, 10D, ...) using different authentication codes CD2 for each. For example, terminal 10C may obtain an authentication code CD2TB that corresponds to terminal 10A's updated authentication code CD2B and transmit this authentication code CD2TB to the movement record and management device 20A (see Figure 11E). This allows the movement record and management device 20 to perform terminal authentication processing and next-time authentication code generation processing for terminal 10A and node NDA.

[0122] With this terminal authentication process, the movement record and management device 20A can perform authentication using the latest authentication code CD2 at the time of provision each time certificate data 50A is provided, and can then update the authentication code CD2. Since the authentication code CD2 is notified to the provider H1's terminal 10 each time, the movement record and management device 20A can perform identity verification of the provider H1 of the certificate data 50A each time by authenticating using this authentication code CD2.

[0123] Furthermore, the person Hs who possesses the terminal 10S associated with the root node NDS may also be the provider H1 of the certificate data 50A. In this case, similar to the first embodiment, the processor 21 may send the authentication code CD2S of the node NDS to the terminal 10S and treat the first arbitrary code that became the basis of the seed value SDS as the parent seed value of terminal 10S. This allows the movement record and management device 20A to authenticate the legitimacy of provider H1's terminal 10S.

[0124] The movement record and management system 5A of this embodiment is used, for example, to provide (e.g., present) certificate data 50A such as qualifications. For example, in job hunting, one's own graduation certificate (e.g., person A possessing terminal 10A) can be provided to multiple prospective employers (e.g., person B, C, ... each possessing terminals 10B, 10C, ...). Alternatively, one's own vaccination certificate (e.g., person A possessing terminal 10A) can be provided to each restaurant (e.g., person B, C, ... each possessing terminals 10B, 10C, ...). The graduation certificate and vaccination certificate may be printed on physical paper or may be electronic data. In addition, in this embodiment, an authentication code CD2 can be attached to (e.g., embedded in) the certificate data 50A and used, and the certificate data 50A and the authentication code CD2 can be moved together.

[0125] In each embodiment, the movement recording and management devices 20, 20A (collectively referred to as "movement recording and management devices 20, etc.") may transmit information to terminal 10 indicating that the movement sequence and provider H1's terminal 10 are legitimate when the processor 21 determines that the movement sequence and provider H1's terminal 10 are legitimate. Terminal 10 may receive this information via the communication device 12 through the processor 11 and display the information indicating that the movement sequence and provider H1's terminal 10 are legitimate on the display device 15. In this case, provider H1 of the item 50 possessing terminal 10A can confirm that it is safe to hand over item 50 to recipient H2.

[0126] Furthermore, the movement record and management device 20 may generate movement history information, including information on the movement order of objects 50, by having the processor 21 decrypt the seed values ​​SD held in the memory 23 during terminal authentication processing, thereby deriving the hierarchical relationship of each seed value SD. The processor 21 may also control (instruct) the communication device 22 to visualize the movement history information, for example, as tree-structured information, and display it, for example, on the display device 15 of each terminal 10 or on the display of the management center.

[0127] <Overview of Embodiments> As described above, the movement recording and management device 20 of the above embodiment is a movement recording and management device 20 that manages the movement of an object 50, and comprises a processor 21, a communication device 22, and a memory 23. Multiple nodes ND can be arranged hierarchically according to the order in which the object 50 moves. A seed value SD and an authentication code CD2 for authenticating a terminal 10 can be set in association with each of the multiple nodes ND. The memory 23 holds a first seed value (e.g., seed value SDA) associated with a first-layer node (e.g., parent node, node NDA) and an original seed value (e.g., seed value SDS) for deriving the first seed value. The communication device 22 receives a third authentication code (e.g., authentication code CD2TA). The processor 21 performs a terminal authentication process to authenticate a first terminal (e.g., terminal 10A) that was holding the third authentication code, based on the third authentication code, the original seed value, and the first seed value. If the first terminal is successfully authenticated, the processor 21 executes a code generation process (e.g., next authentication code generation process) that generates a second seed value (e.g., seed value SDB) and a second authentication code (e.g., authentication code CD2B) corresponding to a node in the second layer (e.g., child node, node NDB) which is one layer lower than the first layer, based on the first seed value. The processor 21 stores the second seed value in memory 23. The communication device 22 transmits the second authentication code to the first terminal, or to the second terminal (e.g., terminal 10B) that has obtained the third authentication code from the first terminal and transmitted it to the movement record and management device 20.

[0128] As a result, the movement record and management device 20 can obtain a third authentication code and use the third authentication code to authenticate the upstream terminal (e.g., terminal 10A) corresponding to the provider H1 of the item 50, thereby guaranteeing the legitimacy of the provider H1 of the item 50. Furthermore, when the movement record and management device 20 authenticates a terminal using the third authentication code, it generates a second authentication code to be used for the next authentication, so that the next terminal authentication process can be safely performed using a different authentication code. In addition, even if the person to whom the item 50 will be provided next time is not predetermined, the device can generate a second seed value and a second authentication code for the downstream terminal based on the information of the upstream terminal without having to prepare flow information in advance. Therefore, when the item 50 is provided to various people, the movement record and management device 20 can authenticate that the person providing the item 50 is the person who legitimately owns the item.

[0129] Furthermore, the movement record and management device 20 can issue and provide the next authentication code to the second terminal only if terminal authentication is successful. Therefore, if terminal authentication fails, the next authentication code cannot be obtained, which can prevent further delivery of the item 50 and ensure the safe delivery of the item 50.

[0130] Furthermore, memory 23 may hold a first seed value derived in the preprocessing. The preprocessing may include, based on a predetermined original seed value, encrypting a first source code (e.g., source code CDA), which is the code to be encrypted corresponding to a node in the first layer, using a first function (e.g., hash function) to be used in a decryptable cryptographic scheme, to generate first encrypted data (e.g., encrypted data CRA), and dividing the first encrypted data to derive a first seed value and a first authentication code.

[0131] As a result, the movement record and management device 20 can easily derive the first seed value, the first authentication code, and the original seed value through calculations in the pre-processing.

[0132] Furthermore, the terminal authentication process may include combining a third authentication code with a third seed value (e.g., seed value SDA) which is one of the seed values ​​SD held in memory 23, to generate a decryption source code (e.g., decryption source code CD3A), which is the code to be decrypted. The terminal authentication process may also include decrypting the decryption source code based on the first function to derive decrypted data (e.g., decrypted data DCA). The terminal authentication process may also include determining whether the decrypted data matches a fourth seed value (e.g., seed value SDS) other than the third seed value, which is one of the seed values ​​SD held in memory 23. If the decrypted data matches the fourth seed value, the terminal authentication process may determine that the first terminal has been successfully authenticated.

[0133] In the movement of item 50 (e.g., distribution), the provider of item 50 is upstream from the recipient of item 50. Here, if the decoded data DC matches the fourth seed value in memory 23, it can be determined that the third seed value of the decoded source code CD3 and the fourth seed value in memory 23 form a chain. Therefore, the movement recording and management device 20 can determine that the node ND corresponding to the third seed value and the node ND corresponding to the fourth seed value are in adjacent upper and lower hierarchical levels and have a parent node-child relationship. Therefore, the movement recording and management device 20 can recognize that the delivery of item 50 (especially the delivery order) is legitimate and that the provider H1 (the provider H1's terminal 10) is legitimate.

[0134] Furthermore, the terminal authentication process may include sequentially changing the third seed value to be combined with the second authentication code until the decrypted data matches the fourth seed value held in memory 23, sequentially generating the source code for decryption, and sequentially deriving the decrypted data.

[0135] As a result, the movement record and management device 20 can successfully decode the source code CD3 by sequentially searching for the seed values ​​SD in memory 23, even without retaining information about the hierarchy between each node ND for the multiple seed values ​​SD held in memory 23.

[0136] The code generation process may also include deriving a second source code (source code CDB), which is the code to be encrypted corresponding to the node in the second layer, based on the first seed value. The code generation process may also include encrypting the second source code using the first function to generate second encrypted data (e.g., encrypted data CRB). The code generation process may also include dividing the second encrypted data to derive a second seed value and a second authentication code.

[0137] As a result, the movement record and management device 20 can generate a second source code corresponding to a node ND (child node) in the second layer (one level below) based on a first seed value corresponding to a node ND (parent node) in the first layer (adjacent node) in an adjacent layer. Therefore, by storing the first seed value of the parent node and the second seed value derived from the second source code of the child node in memory 23, the movement record and management device 20 can use these seed values ​​for the next terminal authentication process. Furthermore, by transmitting the derived second authentication code to the first or second terminal, the movement record and management device 20 can have terminal 10 retain part of the decryption information. Therefore, even if the seed value SD stored in memory 23 is leaked, it is difficult to obtain the source code CD through decryption, so the movement record and management device 20 can maintain a high level of system reliability.

[0138] Furthermore, the communication device 22 may be capable of repeatedly receiving the third authentication code. After executing the terminal authentication process and the code generation process, the processor 21 may set the second terminal as the next first terminal, a new terminal (e.g., terminal 10C) as the next second terminal, the second authentication code as the next first authentication code, the first seed value as the next original seed value, and the second seed value as the next first seed value, and repeat the execution of the terminal authentication process and the code generation process each time a new third authentication code is received. The processor 21 may repeatedly store each second seed value repeatedly derived by the code generation process in the memory 23. The communication device 22 may repeatedly send each second authentication code repeatedly derived by the code generation process to each second terminal (terminal 10C, 10D, 10E, ...) that sent each third authentication code.

[0139] As a result, the movement record and management device 20 can repeatedly perform the authentication of the terminal 10 of the provider H1 of the item 50 (terminal authentication process) and the generation of a new second authentication code to be used by the recipient H2 the next time the item is provided (code generation process) each time it receives a third authentication code from each terminal 10 corresponding to the sequence of movement of the item 50, that is, each time the item 50 is handed over. Therefore, the security of the handover of the item 50 can be guaranteed each time the item 50 is handed over.

[0140] Furthermore, the communication device 22 may be capable of repeatedly receiving the third authentication code. After executing the terminal authentication process and the code generation process, the processor 21 may designate a new terminal as the next second terminal, the second authentication code as the next first authentication code, the first seed value as the next original seed value, and the second seed value as the next first seed value, and repeat the execution of the terminal authentication process and the code generation process each time a new third authentication code is received. The processor 21 may store each second seed value repeatedly derived by the code generation process in the memory 23. The communication device 22 may transmit each second authentication code repeatedly derived by the code generation process to the first terminal.

[0141] As a result, each time the movement record and management device 20 receives a third authentication code from the first terminal (the terminal 10 of provider H1), that is, each time the item 50 is handed over, it can repeatedly perform authentication of the terminal 10 of provider H1 of the item 50 (terminal authentication process) and generate a new second authentication code (code generation process) that provider H1 of the item 50 will use the next time the item is handed over. For example, each time the terminal 10 of recipient H2 obtains the third authentication code from provider H1 when the item is handed over, the movement record and management device 20 can change the second seed value and the second authentication code. Therefore, the security of the handover of the item 50 can be guaranteed each time the item 50 is handed over from the same provider H1 to a different recipient H2. Note that here, the handover of the item 50 may not be involved, and provider H1 may simply present the item 50 to recipient H2 (for example, just showing a display of electronic data).

[0142] Furthermore, the preprocessing may include calculating a first one-way function value (e.g., hash value HSA) which is the result of an operation using a one-way function based on the first cryptographic data. The preprocessing may include storing the first seed value and the first one-way function value as a pair in memory 23. The terminal authentication process may include calculating a second one-way function value (e.g., hash value HSA') using a one-way function based on the decryption source code (e.g., decryption source code CD3A), which is the code to be decrypted, combined with a third seed value and a third authentication code. The terminal authentication process may include determining whether the first one-way function value that matches the second one-way function value is stored in memory 23. If the first one-way function value that matches the second one-way function value is stored, the terminal authentication process may include determining that the first terminal is legitimate.

[0143] As a result, the movement record and management device 20 can authenticate not only the upstream-downstream relationship (the correctness of the order of transfer) of the terminal 10 corresponding to the node corresponding to the first one-way function value, but also the correctness of the terminal 10 itself.

[0144] Furthermore, the first authentication code, the second authentication code, and the third authentication code may be n-dimensional codes (where n is an integer greater than or equal to 1).

[0145] As a result, the movement record and management device 20 can provide each authentication code in a code format that is easy to present and read. Therefore, the provider of the item 50 can easily present the authentication code to the recipient, and the recipient can easily read the authentication code from the terminal 10 provided by the provider.

[0146] Furthermore, object 50 may include electronic data (e.g., certificate data). This allows the travel record and management device 20 to authenticate the provider's terminal 10 using an authentication code not only for the physical object 50 but also for the transfer of electronic data which is the electronic object 50, and to generate an authentication code for the next authentication. Thus, the travel record and management device 20 can continuously authenticate the legitimacy of the provider's terminal 10 of the electronic data.

[0147] Although various embodiments have been described above with reference to the drawings, it goes without saying that the present invention is not limited to these examples. It is clear to those skilled in the art that various modifications or alterations can be conceived within the scope of the claims, and these will naturally also fall within the technical scope of the present invention. Furthermore, the components of the above embodiments may be combined in any way without departing from the spirit of the invention.

[0148] The execution order of operations, procedures, steps, and stages in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not explicitly stated as "before" or "prior to," and can be implemented in any order unless the output of a previous process is used in a later process. Even if the operation flow in the claims, specifications, and drawings is described using phrases such as "first," "next," etc., for convenience, this does not mean that it is essential to perform the operations in that order. [Industrial applicability]

[0149] This disclosure is useful for a travel record and management device, travel record and management system, and travel record and management method that can authenticate that the person providing the item is the rightful owner of that item when the item is provided to that person. [Explanation of Symbols]

[0150] 5.5A Movement Record and Management System 10, 10A, 10B terminals 11 processors 12 Communication devices 13 memory 14 Operating Devices 15 Display Devices 20 Movement Recording and Management Device 21 processors 22 Communication devices 23 memory 30 Certificate Management Device CD original code CD2, CD2TA authentication code CD3 Decryption Source Code CR encrypted data DC decrypted data HS hash value ND node SD seed value

Claims

1. A movement record and management device for managing the movement of objects, It comprises a processor, a communication device, and memory. Depending on the order in which the aforementioned items are provided from the provider to the recipient, multiple nodes can be hierarchically associated as virtual nodes corresponding to each terminal owned by the provider or the recipient. A seed value and an authentication code for authenticating the terminal can be set in association with each of the aforementioned multiple nodes. The memory holds a first seed value associated with the nodes of the first layer, and an original seed value for deriving the first seed value. The communication device receives a third authentication code obtained by a second terminal owned by the recipient from a first terminal owned by the provider and transmitted by the second terminal. The aforementioned processor, Based on the third authentication code, the original seed value, and the first seed value, the first terminal that held the third authentication code is authenticated, thereby executing a terminal authentication process that authenticates that the provider possessing the first terminal is the person who legitimately owns the item. If authentication of the first terminal is successful, a code generation process is executed to generate a second seed value corresponding to a node in the second layer, which is one layer lower than the first layer, and a second authentication code to be used when the item is provided next time, based on the first seed value. The second seed value is stored in the memory, The communication device transmits the second authentication code to the first terminal or the second terminal. Movement recording and management device.

2. The memory holds the first seed value derived in the preprocessing, The aforementioned pre-processing is Based on a predetermined original seed value, the first source code, which is the code to be encrypted corresponding to the node of the first layer, is encrypted using a first function used in a decryptable encryption scheme to generate first encrypted data. This includes dividing the first encrypted data to derive the first seed value and the first authentication code, The movement recording and management device according to claim 1.

3. The aforementioned terminal authentication process is: The process involves combining the aforementioned third authentication code with a third seed value, which is one of the seed values ​​held in the memory, to generate a decryption source code, which is the code to be decrypted. Based on the first function, the decryption source code is decrypted to derive the decrypted data, The process involves determining whether the decoded data matches any of the seed values ​​held in the memory, specifically a fourth seed value other than the third seed value. The process includes determining that authentication of the first terminal has been successful if the decrypted data matches the fourth seed value. The movement recording and management device according to claim 2.

4. The aforementioned terminal authentication process is: The process includes sequentially changing the third seed value to be combined with the second authentication code, sequentially generating the source code, and sequentially deriving the decrypted data, until the decrypted data matches the fourth seed value held in the memory. The movement recording and management device according to claim 3.

5. The aforementioned code generation process is: Based on the first seed value, a second source code, which is the code to be encrypted corresponding to the node in the second layer, is derived. The second source code is encrypted using the first function to generate the second encrypted data, This includes dividing the second encrypted data to derive the second seed value and the second authentication code, The movement recording and management device according to claim 2.

6. The communication device is capable of repeatedly receiving the third authentication code. The aforementioned processor, After the execution of the terminal authentication process and the code generation process, the second terminal becomes the next first terminal, the new terminal becomes the next second terminal, the second authentication code becomes the next first authentication code, the first seed value becomes the next original seed value, and the second seed value becomes the next first seed value, and each time a new third authentication code is received, the execution of the terminal authentication process and the code generation process is repeated. Each of the second seed values ​​repeatedly derived by the code generation process is stored in the memory. The communication device transmits each of the second authentication codes repeatedly derived by the code generation process to each of the second terminals that transmitted each of the third authentication codes. The movement recording and management device according to claim 2.

7. The communication device is capable of repeatedly receiving the third authentication code. The aforementioned processor, After the execution of the terminal authentication process and the code generation process, a new terminal is designated as the next second terminal, the second authentication code is designated as the next first authentication code, the first seed value is designated as the next original seed value, and the second seed value is designated as the next first seed value, and each time a new third authentication code is received, the execution of the terminal authentication process and the code generation process is repeated. Each of the second seed values ​​repeatedly derived by the code generation process is stored in the memory. The communication device transmits each of the second authentication codes repeatedly derived by the code generation process to the first terminal. The movement recording and management device according to claim 2.

8. The preprocessing includes calculating a first one-way function value, which is the result of an operation using a one-way function, based on the first encrypted data, and storing the first seed value and the first one-way function value as a pair in the memory. The aforementioned terminal authentication process is: Based on the decryption source code, which is the code to be decrypted, which is a combination of the third seed value and the third authentication code, a second one-way function value is calculated using the one-way function, The memory is used to determine whether the first one-way function value that matches the second one-way function value is stored there. The first terminal is deemed valid if it holds a first one-way function value that matches the second one-way function value. The movement recording and management device according to claim 3.

9. The second authentication code and the third authentication code are n-dimensional codes (where n is an integer greater than or equal to 1). A movement recording and management device according to claim 1 or 2.

10. The aforementioned object includes electronic data, A movement recording and management device according to claim 1 or 2.

11. A movement recording and management method, which is performed by a movement recording and management device and manages the movement of an object, Depending on the order in which the aforementioned items are provided from the provider to the recipient, multiple nodes can be hierarchically associated as virtual nodes corresponding to each terminal owned by the provider or the recipient. A seed value and an authentication code for authenticating the terminal can be set in association with each of the aforementioned multiple nodes. A first seed value associated with the nodes of the first layer, and an original seed value used to derive the first seed value, are stored in memory. The steps include receiving a third authentication code from a first terminal held by the provider, which has been acquired by a second terminal held by the recipient and transmitted by the second terminal, The steps include: executing a terminal authentication process that authenticates the first terminal that held the third authentication code based on the third authentication code, the original seed value, and the first seed value, thereby authenticating that the provider possessing the first terminal is a person who legitimately owns the item; If authentication of the first terminal is successful, the process includes the step of performing a code generation process that generates a second seed value corresponding to a node in the second layer, which is one layer lower than the first layer, and a second authentication code to be used when the item is provided next time, based on the first seed value. The steps include storing the second seed value in the memory, The steps include transmitting the second authentication code to the first terminal or the second terminal, A method for recording and managing movement records.