Verification system, terminal group, verification server, verification method, and program

JPWO2024201735A5Pending Publication Date: 2025-10-03
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025509355
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2025-07-23
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

Existing verification systems face increased network transmission load and lack confidentiality when verifying multiple client terminals, as they send individual signatures to a center server, potentially exposing terminal information if the communication path is intercepted.

Method used

A verification system that randomly selects a representative terminal to aggregate and transmit signature data to a verification server using a temporary synthetic public key, ensuring confidentiality by reducing the need for individual terminal information transmission and utilizing security functions within each terminal to generate and verify signature data.

Benefits of technology

The system effectively verifies the authenticity of a group of client terminals while maintaining confidentiality, reducing network load and protecting terminal information from interception.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A verification system according to the present disclosure includes: a terminal group including a plurality of terminals; and a verification server for verifying the terminals, the verification system comprising a selection device that randomly selects, from among the plurality of terminals, a representative terminal that is to transmit data to the verification server. Each of the plurality of terminals comprises: a security function means that uses a verification and identification key to generate signature data for predetermined message data; a generation means that, when this terminal is selected as the representative terminal, aggregates the signature data of each of the plurality of terminals to generate aggregate signature data; and a transmission means that, when this terminal is selected as the representative terminal, transmits the aggregate signature data to the verification server. The verification server comprises a verification means that verifies the aggregate signature data on the basis of a temporary synthetic public key transmitted in advance from the representative terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Verification system, terminal group, verification server, verification method, and recording medium

[0001] The present disclosure relates to a verification system, a group of terminals, a verification server, a verification method, and a recording medium.

[0002] In the terminal verification method using digital signatures, the certificate of each client terminal is sent to the center server to verify the authenticity and existence of each client terminal.

[0003] However, as the number of client terminals to be verified increases, the transmission load on the network for performing the verification increases. Therefore, there are techniques for reducing the transmission load on the network when verifying client terminals.

[0004] For example, Patent Document 1 describes a method of generating an aggregate signature and aggregate public key based on the signatures and public keys of multiple client terminals, and verifying the signed message based on the aggregate signature and aggregate public key when verifying the signature, thereby reducing the network transmission load when verifying multiple client terminals.

[0005] Japanese Patent Application Laid-Open No. 2020-520607

[0006] However, the invention described in Patent Document 1 cannot ensure the confidentiality of the information of the client terminal because it sends a message to the center-side server with a digital signature attached to the characteristic values ​​of the terminal generated by the client terminal. Also, since a digital signature is a mechanism for verifying the identity of the person who signed the digital signature, if the communication path between the client terminal and the center-side server is intercepted, the client terminal may be identified.

[0007] An example of an objective of the present disclosure is to provide a verification system that can verify the authenticity of a group of client terminals while ensuring the confidentiality of information related to the client terminals.

[0008] A verification system according to one aspect of the present disclosure includes a terminal group including a plurality of terminals and a verification server for verifying the terminals, and includes a selection device that randomly selects a representative terminal from the plurality of terminals to transmit data to the verification server. Each of the plurality of terminals includes a security function means that generates signature data for specified message data using a verification identification key, a generation means that, when selected as the representative terminal, aggregates the signature data of each of the plurality of terminals to generate aggregated signature data, and a transmission means that, when selected as the representative terminal, transmits the aggregated signature data to the verification server. The verification server includes a verification means that verifies the aggregated signature data based on a temporary composite public key previously received from the representative terminal.

[0009] In one aspect of the present disclosure, a terminal group is a terminal group including a plurality of terminals, each of which is equipped with a security function means for generating signature data for specified message data using a verification identification key, a generation means for aggregating the signature data of each of the plurality of terminals to generate aggregated signature data when selected as a representative terminal for transmitting data to a verification server, and a transmission means for transmitting the aggregated signature data to the verification server when selected as a representative terminal.

[0010] In one aspect of the present disclosure, the verification server includes a verification means for verifying aggregate signature data of signature data that each of the multiple terminals has signed using a verification identification key for specified message data, based on a temporary composite public key received from a representative terminal selected from the multiple terminals.

[0011] In one aspect of the verification method of the present disclosure, a verification server that verifies multiple terminals verifies aggregate signature data of signature data that each of the multiple terminals has signed with a verification identification key for specified message data, based on a temporary composite public key received in advance from a representative terminal.

[0012] In one aspect of the present disclosure, a recording medium stores a program that causes a computer to verify aggregate signature data of signature data that each of multiple terminals has signed using a verification identification key for specified message data, based on a temporary composite public key received in advance from a representative terminal.

[0013] One example of the effect of the present disclosure is that it can provide a verification system that can verify the authenticity of a group of client terminals while ensuring the confidentiality of information related to the client terminals.

[0014] Fig. 1 is a diagram showing the configuration of a verification system according to a first embodiment. Fig. 2 is a diagram showing the hardware configuration in which the verification system according to the first embodiment is realized by a computer device and its peripheral devices. Fig. 3 is a flowchart showing the operation of the verification system according to the first embodiment.

[0015] Next, an embodiment will be described in detail with reference to the drawings.

[0016] [First Embodiment] Fig. 1 is a diagram showing the configuration of a verification system 10 according to a first embodiment. Referring to Fig. 1, the verification system 10 includes a selection device 100, a plurality of terminals 200 (200a, 200b) that are client terminals, and a verification server 300, all of which are connected via a network. In this embodiment, the communication used in the network may be of any type, such as wireless, wired, laser communication, visible light communication, or sound wave communication, or may be low-speed communication such as satellite communication.

[0017] The verification system 10 verifies the authenticity or existence of a terminal group 200 consisting of multiple terminals by remote attestation using a verification server 300 as a verification device, which does not require a certificate from a privacy certification authority. In this embodiment, authenticity refers to the fact that the terminal group 200 is real, or a property that can ensure or prove that it is real. Existence refers to a property that indicates that the terminal group 200 is not fictitious.

[0018] 2 is a diagram illustrating an example of a hardware configuration in which each of the selection device 100, the terminal 200, and the validation server 300 according to the first embodiment of the present disclosure is realized by a computer device 500 including a processor. As shown in FIG. 2, the selection device 100, the terminal 200, and the validation server 300 each include a CPU (Central Processing Unit) 501, memories such as a ROM (Read Only Memory) 502 and a RAM (Random Access Memory) 503, a storage device 505 such as a hard disk for storing a program 504, a communication I / F (Interface) 508 for network connection, and an input / output interface 511 for inputting and outputting data. In the first embodiment, the selection device 100, the terminal 200, and the validation server 300 are connected to each component via a bus 512.

[0019] The CPU 501 operates an OS to control the selection device 100, the terminal 200, and the validation server 300 according to the first embodiment of the present disclosure. The CPU 501 also reads programs and data into memory from a recording medium 506 attached to, for example, a drive device 507. The CPU 501 functions as each component of the selection device 100, the terminal 200, and the validation server 300 according to the first embodiment, or as a part of these components, and executes processing or commands in the flowchart shown in FIG. 3, which will be described later, based on the program.

[0020] The recording medium 506 is, for example, an optical disk, a flexible disk, a magneto-optical disk, an external hard disk, or a semiconductor memory. A part of the recording medium in the storage device is a non-volatile storage device, and the program is recorded therein. The program may also be downloaded from an external computer (not shown) connected to a communication network.

[0021] The input device 509 is realized by, for example, a mouse, a keyboard, built-in key buttons, etc., and is used for input operations. The input device 509 is not limited to a mouse, a keyboard, or built-in key buttons, and may be, for example, a touch panel. The output device 510 is realized by, for example, a display, and is used to check output.

[0022] As described above, the first embodiment shown in Fig. 1 is realized by the computer hardware shown in Fig. 2. However, the means for realizing each unit of the selection device 100, terminal 200, and validation server 300 in Fig. 1 are not limited to the configurations described above. Furthermore, the selection device 100, terminal 200, and validation server 300 may each be realized by a single physically combined device, or by two or more physically separate devices connected by wire or wirelessly. For example, the input device 509 and output device 510 may be connected to the computer device 500 via a network.

[0023] <Selection Device 100> The selection device 100 randomly selects a representative terminal from among the multiple terminals 200 that will transmit data to the validation server 300. The selection device 100 holds information on the multiple terminals 200 that are the targets of validation. The selection device 100 selects a representative terminal using a consensus algorithm, such as RAFT or Paxos. However, the selection method is not limited to these, as long as it is a method of randomly selecting an arbitrary terminal 200 from among the multiple terminals 200. Once the selection device 100 selects a representative terminal, it notifies the selected representative terminal. In FIG. 1, the selection device 100 is configured independently from the multiple terminals 200 and the validation server 300, but the functions of the selection device 100 may be held by the validation server 300.

[0024] <Terminal 200> Each of the multiple terminals 200 (200a, 200b) includes a security function unit 201 (201a, 201b), a generation unit 202 (202a, 202b), and a transmission unit 203 (203a, 203b). Although two multiple terminals 200 are depicted in Fig. 1, the number of multiple terminals 200 provided corresponds to the number of terminals to be verified. In this embodiment, the multiple terminals 200 may also be referred to as a terminal group 200.

[0025] The security function unit 201 is a tamper-resistant storage area. The security function unit 201 is configured, for example, by a TPM (Trusted Platform Module), but is not limited to this as long as the configuration can achieve tamper resistance. The TPM is configured by a chip that functions independently of the OS and other hardware, and therefore has high tamper resistance. The security function unit 201 stores an authenticity certificate such as an endorsement certificate embedded when the terminal is delivered or when the system is constructed. Furthermore, the security function unit 201 stores, for example, a hash value of each program executed by the terminal 200 in a PCR (Platform Configuration Register), for example.

[0026] Furthermore, the security function unit 201 generates a verification identification key such as an attestation identity key (AIK) using a random number generation circuit. Each verification identification key is paired with information on a temporary public key used for verification. Each security function unit 201 stores the generated verification identification key in a storage area of ​​the hardware cryptographic module.

[0027] When each security function unit 201 receives a request from the representative terminal to send signature data, it signs the message data with a verification identification key and generates signature data. The message data is information indicating the status of each terminal (200a, 200b), such as a hash value stored in the PCR at the time of program execution. The generation unit 102 transmits the signature data to the representative terminal in response to the request from the representative terminal.

[0028] When selected as the representative terminal, the generation unit 202 aggregates the signature data to generate aggregate signature data. The generation unit 102 generates the aggregate signature data using, for example, an elliptic curve signature algorithm. When the generation unit 202 receives a signal indicating that it has been selected as the representative terminal, it requests each terminal (200a, 200b) to transmit signature data in which the message data has been signed with a verification identification key.

[0029] Furthermore, the generation unit 202 of the representative terminal generates aggregate signature data based on the received signature data and its own signature data, for example, by using a Schenor signature. If the generation unit 202 does not receive signature data even after a predetermined time has elapsed since the request for transmission of signature data, or if the received signature data has defects, the generation unit 202 generates aggregate signature data without including the signature data.

[0030] The transmitting unit 203 transmits the aggregate signature data to the verification server 300 and requests verification of the authenticity of the terminal group 200 .

[0031] <Validation Server 300> As shown in FIG. 1, the validation server 300 includes a validation information storage unit 301, a receiving unit 302, a validation unit 303, and an output unit 304.

[0032] The verification information storage unit 301 stores the temporary composite public key of the terminal group 200. The temporary composite public key is generated by combining the temporary public keys of the multiple terminals 200, and includes, for example, the sum of the AIKs of the terminals (200a, 200b). In this embodiment, the temporary public key is a public key for which no certificate has been issued by a privacy certification authority. By using the temporary composite public key to verify the aggregate signature data as in this embodiment, the number of temporary public keys used for verification can be reduced. Before a verification request is made from the representative terminal, the verification information storage unit 301 receives and stores the temporary composite public key from the representative terminal via the receiving unit 302.

[0033] Receiving unit 302 receives aggregate signature data from the representative terminal and outputs it to verifying unit 303 .

[0034] The verification unit 303 verifies the authenticity of the aggregate signature data based on the temporary composite public key. For example, if the aggregate signature data matches the information of the temporary composite public key, the verification unit 303 determines that all terminals included in the terminal group are authentic. On the other hand, if the aggregate signature data does not match the information of the temporary composite public key, the verification unit 303 determines that the terminal group includes an inauthentic terminal. However, in this case, the verification unit 303 is not able to identify the inauthentic terminal. For example, an elliptic curve signature algorithm can be used as a verification method. The verification unit 303 outputs the authenticity determination result to the output unit 304.

[0035] The output unit 304 outputs the result of the authenticity determination of the terminal group 200. The output unit 304 outputs the result of the authenticity to an output device 510 such as a display device. Furthermore, when the output unit 304 receives a determination result that the terminal group 200 is not authentic, the output unit 304 may notify the result by a lamp or a buzzer.

[0036] An example of using the elliptic curve signature algorithm to verify the terminal group 200 will be described below. In the following description, it is assumed that there are i terminals to be verified.

[0037] First, the security function unit 201 in each terminal generates a verification identification key (pk1, pk2...pki) using the AIK. Furthermore, the security function unit 201 uses each random number K (k1, k2, k3, k4...ki) to generate signature data consisting of i random points R (Ri = ki x G) on the elliptic curve and s (si = ki + hash(P, R, m) x pki). Each terminal transmits the signature data (Ri, si) to the representative terminal. Here, G is a reference point on the elliptic curve and is represented by G(x, y). m is message data.

[0038] The generation unit 202 of the representative terminal adds up Ri and si to generate aggregate signature data (R, s) = (R1 + R2 + ... + Ri, s1 + s2 + ... + si). The transmission unit 203 of the representative terminal transmits the aggregate signature data (R, s) to the verification server 300. In the verification server 300, the verification information storage unit 301 stores a temporary composite public key P (P = P1 + P2 + ... + Pi = G(pk1 + pk2 + ... + pki)), and the verification unit 303 verifies the aggregate signature data based on whether s × G = R + hash(P, R, m) × P holds.

[0039] The operation of the verification system 10 configured as above will be described with reference to the flowchart of FIG.

[0040] 3 is a flowchart showing an outline of the operation of the verification system 10 according to the first embodiment. Note that the processing according to this flowchart may be executed based on program control by the processor described above.

[0041] As shown in FIG. 3 , the selection device 100 first randomly selects a representative terminal from among multiple terminals (200a, 200b) to transmit data to the validation server 300 (step S101) and notifies the selected representative terminal (step S102). The representative terminal then transmits a request for signature data to the multiple terminals (200a, 200b) (step S103). Next, the security function unit 201 in each terminal (200a, 200b) generates signature data using a verification identification key for the specified message data (step S104). The transmission unit 103 transmits the signature data to the representative terminal (step S105). Next, the generation unit 202 in the representative terminal aggregates the signature data from each of the multiple terminals (200a, 200b) to generate aggregate signature data (step S106). Next, the transmission unit 203 in the representative terminal transmits the aggregate signature data to the validation server 300 (step S107). Next, the verification unit 303 of the verification server 300 verifies the aggregate signature data based on the temporary composite public key previously received from the representative terminal (step S108). Finally, the output unit 304 outputs the verification result (step S109). This completes the verification operation of the verification system 10.

[0042] In the verification system 10 of this embodiment, the verification unit 303 of the verification server 300 verifies the aggregate signature data based on the temporary composite public key received in advance from the representative terminal. In this case, even if information about the temporary composite public key is stolen when the temporary composite public key is sent from the representative terminal to the verification server 300, an eavesdropper cannot ascertain the information about each terminal (200a, 200b). Therefore, the verification system 10 can verify the authenticity of a group of client terminals while maintaining the confidentiality of the information about the client terminals.

[0043] [Variation] When verifying the authenticity of the terminal group 200, the verification system 10 may also verify the existence of each terminal (200a, 200b). In this case, the storage device 505 of the verification server 300 stores the AIK and the endorsement key of each terminal (200a, 200b) linked to each other. Note that if an endorsement certificate is linked to the AIK, the verification server 300 registers the AIK in the storage device 505. The endorsement certificate is generated in, for example, an X.509 digital certificate format and is signed by the TPM manufacturer. The endorsement certificate also includes a serial number, allowing the terminal to be identified. If the verification unit 303 verifies the authenticity of each terminal, it further verifies whether the AIK of each terminal is linked to the endorsement certificate, thereby verifying the existence of each terminal. That is, the verification unit 303 determines that a terminal whose AIK is linked to an endorsement certificate exists, and determines that a terminal whose AIK is not linked to an endorsement certificate does not exist.

[0044] When the representative terminal requests the verification server 300 to verify the terminal group 200, it receives the AIKs as verification identification keys held by each terminal (200a, 200b), calculates the sum of the AIKs, and transmits the sum of the AIKs to the verification server 300.

[0045] The verification unit 303 compares the total value of the AIKs received via the representative terminal with the expected value of the AIK total value to determine which terminal's AIK combination. The expected value of the AIK total value is a value that includes the total values ​​of the AIKs of all terminals included in the terminal group 200. If the total value of the AIKs matches the expected value of the AIK total value, the verification unit 303 determines that all terminals included in the terminal group 200 are authentic. The verification unit 303 further verifies whether each of the AIKs of each terminal is linked to an endorsement certificate, and performs verification of the existence of each terminal.

[0046] Here, assume that terminal group 200 includes five terminals, terminals A to E, and that only terminal E does not respond to a request to transmit an AIK from the representative terminal. In this case, verification unit 303 compares the total AIK value with the expected value of the total AIK value, and determines that the total AIK value is the total value of the AIKs of terminals A to D and does not include the AIK of terminal E. In this case, verification unit 303 determines that terminals A to D are authentic, but that terminal E is not authentic. Furthermore, verification unit 303 further verifies whether each of the AIKs of terminals A to D that have been determined to be authentic is linked to an endorsement certificate, thereby verifying the existence of each terminal. In other words, verification unit 303 determines that the AIKs of terminals A to D are authentic if they are linked to endorsement certificates.

[0047] The output unit 304 outputs the verification results of the authenticity and existence of the terminal group 200. In the above example, the output unit 304 outputs that terminals A to D are authentic and exist, but that terminal E is not authentic or existent.

[0048] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0049] For example, although multiple operations are described in a sequential order in the form of a flowchart, the order of description does not limit the order in which the multiple operations are performed. Therefore, when implementing each embodiment, the order of the multiple operations can be changed within the scope that does not affect the content.

[0050] 10 Verification system 100 Selection device 200 Terminal 201 Security function unit 202 Generation unit 203 Transmission unit 300 Verification server 301 Verification information storage unit 302 Reception unit 303 Verification unit 304 Output unit

Claims

1. A verification system including a terminal group including a plurality of terminals and a verification server for verifying the terminals, a selection device that randomly selects a representative terminal from the plurality of terminals to transmit data to the verification server; Each of the plurality of terminals has a security function means for generating signature data for predetermined message data using a verification identification key; a generation means for aggregating the signature data of each of the plurality of terminals to generate aggregated signature data when the terminal is selected as the representative terminal; a transmitting means for transmitting the aggregate signature data to the verification server when the terminal is selected as the representative terminal; The verification system includes a verification means for verifying the aggregate signature data based on a temporary composite public key received in advance from the representative terminal.

2. 2. The verification system according to claim 1, wherein the message data is a hash value of a program that each terminal starts, and the verification means verifies the authenticity of the terminals when the program is executed based on the hash value.

3. 3. The verification system of claim 1, wherein the temporary composite public key includes a sum of verification identity keys of a plurality of terminals.

4. The verification system according to claim 1 or 2, wherein the selection device selects the representative terminal using a consensus algorithm.

5. the generation means generates, as the aggregate signature data, signature data consisting of random points R and s on an elliptic curve; 3. The verification system according to claim 1, wherein the verification means verifies the aggregate signature data based on whether s×G=R+hash(P, R, m)×P holds true, based on a temporary composite public key P.

6. 3. The verification system according to claim 1, wherein the verification means further verifies the existence of each of the plurality of terminals by linking each of the verification identification keys of the plurality of terminals stored in advance to an authenticity key.

7. A terminal group including a plurality of terminals, Each of the terminals includes a security function means for generating signature data for predetermined message data using a verification identification key; a generation means for aggregating the signature data of the plurality of terminals to generate aggregated signature data when the terminal is selected as a representative terminal that transmits data to a validation server; a transmission means for transmitting the aggregate signature data to the validation server when the terminal is selected as the representative terminal.

8. A verification server comprising a verification means for verifying aggregate signature data of signature data that each of the plurality of terminals has signed with a verification identification key for specified message data, based on a temporary composite public key received from a representative terminal selected from the plurality of terminals.

9. A verification server that verifies multiple devices A verification method for verifying aggregate signature data of signature data that each of the plurality of terminals has signed with a verification identification key for predetermined message data, based on a previously received temporary composite public key.

10. A program that causes a computer to verify aggregate signature data of signature data that each of a plurality of terminals has signed with a verification identification key for predetermined message data, based on a previously received temporary composite public key.