Verification system, verification method, and computer program

The verification system addresses the lack of server authenticity verification in existing systems by using hash values in tamper-resistant storage to confirm authenticity and stop processing, enhancing robustness and preventing cyberattack spread.

JP2026001568APending Publication Date: 2026-01-07NEC CORP +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024099012
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-19
Publication Date
2026-01-07

AI Technical Summary

Technical Problem

Existing device verification systems, such as those described in Patent Document 1, fail to verify the authenticity of communication devices (servers), leading to potential cyberattacks spreading damage to other devices if an abnormality occurs, necessitating a more robust authenticity determination system.

Method used

A verification system and method that includes a verification server verifying client terminals and itself using hash values stored in tamper-resistant storage, stopping processing if authenticity is not confirmed, and optionally involving multiple verification servers to maintain system robustness.

Benefits of technology

Enhances the robustness of the verification system by ensuring authentic client terminals are processed and stopping or revoking certificates when servers are not authentic, preventing the spread of cyberattacks and maintaining system integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026001568000001_ABST
    Figure 2026001568000001_ABST
Patent Text Reader

Abstract

To provide a verification system or the like capable of improving robustness of the verification system for verifying authenticity of a client terminal.SOLUTION: A verification system including a plurality of client terminals and a verification server configured to verify authenticity of the client terminals, wherein the verification server includes a client terminal verification unit configured to verify authenticity of each of the plurality of client terminals at a time of activation, a security function unit configured to store a hash value of a program generated at a time of activation of the verification server, and a storage unit configured to store the hash value stored in the security function unit and a hash expected value that is the hash value at a normal time of the verification server. This verification system is provided with a verification server verification means for verifying authenticity when starting its own device, and an abnormality processing means for stopping the processing of its own device when the verification server verification means determines that there is no authenticity.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an authentication system, an authentication method, and a computer program. [Background technology]

[0002] Cyberattacks against devices installed at work sites are becoming a reality. To prevent damage from cyberattacks, a technique for verifying the authenticity of a device before starting up the system is known. For example, Patent Document 1 discloses a device verification system in which a communication device (server) that manages the device (client terminal) verifies the authenticity of the device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2023 / 148951 Summary of the Invention [Problem to be solved by the invention]

[0004] Cyberattacks target not only client terminals but also servers that verify the authenticity of client terminals. The device verification system disclosed in Patent Document 1 does not verify the authenticity of communication devices (servers). If an abnormality occurs in the communication device (server), the communication device (server) may falsely determine that the "authenticity has been confirmed" even for inauthentic devices (client terminals). Thus, if the system continues to operate while an abnormality occurs in the communication device (server) due to a cyberattack, there is a risk that the damage will spread to other devices. Therefore, there is a need to build a highly robust system that can reduce damage caused by cyberattacks based on more accurate authenticity determination results.

[0005] An object of the present disclosure is to provide a verification system, a verification method, and a computer program that can improve the robustness of a verification system that verifies the authenticity of a client terminal. [Means for solving the problem]

[0006] A verification system according to one aspect of the present disclosure includes a plurality of client terminals and a verification server that verifies the authenticity of the client terminals. The verification server includes: a client terminal verification means that verifies the authenticity of each of the plurality of client terminals at startup; a security function means that stores a hash value of a program generated at startup of the verification server; a verification server verification means that verifies the authenticity of the verification server at startup using the hash value stored in the security function means and a hash expected value that is the hash value of the verification server under normal circumstances; and an abnormality processing means that stops processing of the verification server when the verification server verification means determines that the client terminal is not authentic.

[0007] In one aspect of the verification method of the present disclosure, a verification server communicatively connected to multiple client terminals verifies the authenticity of each of the multiple client terminals at the time of startup, using a hash value of a program generated at the time of startup of the client terminal, which is stored in a verification server security function means possessed by the client terminal, and a hash expected value, which is a hash value of the verification server under normal conditions, to verify the authenticity of the client terminal at the time of startup, and if it is determined that the client terminal is not authentic, the processing of the client terminal is stopped.

[0008] A computer program according to one aspect of the present disclosure causes a computer installed in a verification server communicatively connected to a plurality of client terminals to execute the following processes: verifying the authenticity of each of the plurality of client terminals at startup; storing a hash value of a program generated at startup of the verification server in a security function means; verifying the authenticity of the verification server at startup using the hash value stored in the security function means and a hash expected value, which is the hash value of the verification server when it is normal; and stopping the processing of the verification server if it is determined that the verification server is not authentic. [Effects of the Invention]

[0009] According to the present disclosure, it is possible to provide a verification server, a verification system, a verification method, and a computer program that can improve the robustness of a verification system that verifies the authenticity of a client terminal. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a block diagram illustrating an example of a configuration of a verification system according to the present disclosure. [Figure 2] FIG. 2 is a block diagram illustrating an example of a configuration of a client terminal according to the present disclosure. [Figure 3] FIG. 2 is a block diagram illustrating an example of a configuration of a validation server according to the present disclosure. [Figure 4] 10 is a flowchart illustrating an example of an operation of a client terminal according to the present disclosure. [Figure 5] 10 is a flowchart illustrating an example of an operation of a validation server according to the present disclosure. [Figure 6] 1 is a block diagram illustrating an example of a configuration of a verification system according to the present disclosure. [Figure 7] FIG. 2 is a block diagram illustrating an example of a configuration of a validation server according to the present disclosure. [Figure 8] 10 is a flowchart illustrating an example of the operation of a validation server that is a certificate authority in the present disclosure. [Figure 9]10 is a flowchart illustrating an example of the operation of a validation server that is not a certificate authority in the present disclosure. [Figure 10] 1 is a block diagram illustrating an example of a configuration of a verification system according to the present disclosure. [Figure 11] FIG. 2 is a block diagram illustrating an example of a configuration of a validation server according to the present disclosure. [Figure 12] 10 is a flowchart illustrating an example of the operation of a validation server that is a certificate authority in the present disclosure. [Figure 13] 10 is a flowchart illustrating an example of the operation of a validation server that is not a certificate authority in the present disclosure. [Figure 14] 1 is a block diagram illustrating an example of a configuration of a verification system according to the present disclosure. [Figure 15] 10 is a flowchart illustrating an example of an operation of a validation server according to the present disclosure. [Figure 16] FIG. 2 is a block diagram showing an example of a hardware configuration for executing control and processing in each embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. The embodiments described below are limited in a manner that is technically preferable for implementing the present disclosure, but the scope of the invention is not limited to the following. In all drawings used to describe the following embodiments, the same reference numerals are used for similar parts unless otherwise specified. In the following embodiments, repeated explanations of similar configurations and operations may be omitted.

[0012] (First embodiment) First, the verification device in the first embodiment will be described with reference to the drawings. In this embodiment, the verification server verifies the authenticity of the client terminal. In addition to verifying the authenticity of the client terminal, the verification server verifies its own authenticity. Authenticity is a property that proves that the terminal or its user is genuine and has not been tampered with. In other words, a state in which authenticity has been confirmed means that only known components and programs are operating in the client terminal or verification server, and no unauthorized tampering has occurred during the equipment supply process or system construction process.

[0013] (composition) Fig. 1 is a block diagram showing an example of the configuration of a verification system according to the present disclosure. As shown in Fig. 1, the verification system 1 includes a plurality of client terminals (70-1, 70-2, ... 70-n (n is a natural number)) and a verification server 10. The verification server 10 is communicably connected to the plurality of client terminals (70-1, 70-2, ... 70-n (n is a natural number)) and a management terminal 80. In the following description, when it is not necessary to distinguish between the client terminals 70-n, they will be referred to as client terminals 70.

[0014] [Client terminal] 2 is a block diagram showing an example of the configuration of a client terminal according to the present disclosure. The client terminal 70 includes a program execution unit 71, a security function unit 72, and a transmission unit 73.

[0015] The program execution unit 71 executes the startup program of the client terminal 70 and generates hash values ​​of the components and the program. The program execution unit 71 inputs the generated hash values ​​to the security function unit 72.

[0016] The security function unit 72 includes a tamper-resistant storage area. Tamper resistance is the ability to withstand tampering by a third party. The higher the tamper resistance, the more difficult it is for a third party to make unauthorized tampering. The security function unit 72 stores a hash value generated by the program execution unit 71 in the tamper-resistant storage area. The tamper-resistant storage area of ​​the security function unit 72 also stores an endorsement certificate embedded in the client terminal when it is supplied. For example, the security function unit 72 is realized by a hardware security module (HSM) such as a Trusted Platform Module (TPM), but is not limited to this as long as it has a tamper-resistant configuration.

[0017] The security function unit 72 uses a random number generation circuit to generate a private key and a public key, which are a key pair of an AIK (Attestation Identity Key). The security function unit 72 stores the generated private key in a tamper-resistant storage area of ​​the security function unit 72.

[0018] The transmission unit 73 transmits the endorsement certificate stored in a tamper-resistant storage area of ​​the security function unit 72 and a Certificate Signing Request (CSR) to the validation server 10. The CSR includes the hash value stored in the security function unit 72 and the public key generated by the security function unit 72.

[0019] The receiving unit 74 receives the AIK certificate issued by the validation server 10. The receiving unit 74 stores the received AIK certificate in a tamper-resistant storage area of ​​the security function unit 72.

[0020] [Verification Server] The validation server 10 verifies the authenticity of the client terminal 70 and its own device, the validation server 10. Fig. 3 is a block diagram showing an example of the configuration of the validation server in this disclosure. The validation server 10 includes a transmitter / receiver 11, a verification information storage unit 12, a client terminal verification unit 13, a certificate issuance unit 14, a program execution unit 15, a security function unit 16, a validation server verification unit 17, an abnormality processing unit 18, and an output unit 19.

[0021] The transmitting / receiving unit 11 receives data transmitted from the client terminals 70. Specifically, the transmitting / receiving unit 11 receives an endorsement certificate and a CSR from each of the client terminals 70.

[0022] The verification information storage unit 12 stores expected hash values ​​of the components and programs of each client terminal 70. The expected hash values ​​are normal hash values ​​that are generated when the components and programs have not been tampered with. The verification information storage unit 12 receives and stores the expected hash values ​​in advance from each client terminal 70.

[0023] The verification information storage unit 12 also stores the expected hash values ​​of the components and programs of the verification server 10. The verification information storage unit 12 acquires and stores the expected hash values ​​of the verification server 10 in advance.

[0024] The client terminal verification unit 13 verifies the authenticity of the client terminal 70. The client terminal verification unit 13 verifies the authenticity of the client terminal 70 using a known method using the received CSR. For example, the client terminal verification unit 13 verifies the authenticity of the client terminal 70 using the following method. First, the client terminal verification unit 13 extracts a hash value from the CSR received by the transmitter / receiver 11. Next, the client terminal verification unit 13 compares the hash value extracted from the CSR with the expected hash value of the client terminal 70 stored in the verification information storage unit 12. If the hash value and the expected hash value are the same, the client terminal verification unit 13 determines that the client terminal is authentic. If the hash value does not match the expected hash value, the client terminal verification unit 13 determines that the client terminal is not authentic.

[0025] If the certificate issuing unit 14 can confirm the authenticity of the client terminal 70, it issues an AIK certificate for the AIK public key. The AIK certificate issued by the certificate issuing unit 14 is transmitted to the client terminal 70 via the transmitting / receiving unit 11. If the certificate issuing unit 14 cannot confirm the authenticity of the client terminal 70, it does not issue an AIK certificate.

[0026] The program execution unit 15 executes the startup program of the verification server 10 and generates hash values ​​of the components and the program. The program execution unit 15 inputs the generated hash values ​​to the security function unit 16.

[0027] The security function unit 16 includes a tamper-resistant storage area. The security function unit 16 stores a hash value generated by the program execution unit 15 in the tamper-resistant storage area. The tamper-resistant storage area of ​​the security function unit 16 also stores an endorsement certificate embedded in the validation server 10 when it is provided. For example, the security function unit 16 is realized by a hardware security module such as a TPM, but is not limited to this as long as it has a tamper-resistant configuration.

[0028] The verification server verification unit 17 verifies the authenticity of the verification server 10. Specifically, the verification server verification unit 17 verifies the authenticity of the verification server 10 by the following method. First, the verification server verification unit 17 compares the hash value stored in the security function unit 16 with the expected hash value of the verification server 10 stored in the verification information storage unit 12. If the hash value and the expected hash value are identical, the verification server verification unit 17 determines that the verification server 10 is authentic. If the hash value does not match the expected hash value, the verification server verification unit 17 determines that the verification server 10 is not authentic.

[0029] The abnormality processing unit 18 stops the processing of its own device when the validation server verification unit 17 determines that the validation server 10 is not authentic. Also, when the validation server verification unit 17 determines that the validation server 10 is not authentic, the abnormality processing unit 18 revokes the AIK certificate issued by the certificate issuance unit 14. Note that the various processes of the abnormality processing unit 18 are not executed when the authenticity of the validation server 10 is confirmed.

[0030] The output unit 19 outputs output information, including information to stop the processing of the validation server 10, to the management terminal 80. The management terminal 80 is a terminal device operated by an administrator of the validation server 10. The output information generated by the output unit 19 may further include the date and time when the processing of the validation server 10 is stopped, and a list of client terminals 70 that have issued AIK certificates, i.e., a list of client terminals 70 for which AIK certificates are to be revoked.

[0031] (operation) Next, the operation of the verification system 1 in this embodiment will be described with reference to Fig. 4 and Fig. 5. Fig. 4 is a flowchart showing an example of the operation of the client terminal in the present disclosure. Fig. 5 is a flowchart showing an example of the operation of the verification server in the present disclosure.

[0032] [Client terminal] First, the processing of the client terminal 70 will be described with reference to FIG.

[0033] First, the program execution unit 71 executes the program and generates hash values ​​of the components of the client terminal 70 and the program (step S101).

[0034] Next, the security function unit 72 stores the hash value generated in step S101 in a tamper-resistant storage area (step S102).

[0035] Next, the security function unit 72 generates a private key and a public key, which are a key pair of the AIK (step S103).

[0036] Next, the transmission unit 73 transmits the CSR to the validation server 10 (step S104). The CSR includes the hash value stored in the security function unit 72 and the public key generated by the security function unit 72.

[0037] Upon receiving the CSR in step S104, the validation server 10 verifies the authenticity of the client terminal 70. Details of the processing by the validation server 10 will be described later. If the validation server 10 can confirm the authenticity of the client terminal 70, it issues an AIK certificate.

[0038] The receiving unit 74 receives the AIK certificate issued by the validation server 10 (step S105). The received AIK certificate is stored in the security function unit 72.

[0039] [Verification Server] Next, the processing of the validation server 10 will be described with reference to FIG.

[0040] First, the transmitting / receiving unit 11 receives a CSR from the client terminal 70 (step S110).

[0041] Next, the client terminal verification unit 13 verifies the authenticity of the client terminal 70 (step S111). The client terminal verification unit 13 compares the hash value extracted from the CSR with the expected hash value, which is the hash value of the client terminal 70 when it is normal. The client terminal verification unit 13 determines that the client terminal 70 is authentic if the hash value and the expected hash value are the same. The client terminal verification unit 13 determines that the client terminal 70 is not authentic if the hash value does not match the expected hash value.

[0042] The certificate issuing unit 14 issues an AIK certificate if the authenticity of the client terminal 70 can be confirmed by the client terminal verifying unit 13 (step S112). If the authenticity of the client terminal 70 cannot be confirmed by the client terminal verifying unit 13, the certificate issuing unit 14 does not issue an AIK certificate.

[0043] Next, the program execution unit 15 executes the program of the validation server 10 and generates hash values ​​of the components and programs of the validation server (step S113).

[0044] Next, the security function unit 16 stores the hash value generated in step S113 in a tamper-resistant storage area (step S114).

[0045] Next, the verification server verification unit 17 verifies the authenticity of the verification server (step S115). The verification server verification unit 17 compares the hash value stored in the security function unit 16 with a hash expected value, which is a hash value of the verification server 10 when the server is normal. If the hash value and the hash expected value are identical, the verification server verification unit 17 determines that the server is authentic. If the hash value does not match the hash expected value, the verification server verification unit 17 determines that the server is not authentic.

[0046] If the authenticity of the validation server 10 is confirmed (Yes in step S116), the validation server 10 ends the series of processes.

[0047] If the authenticity of the validation server 10 cannot be confirmed (No in step S116), the output unit 19 outputs output information including an instruction to stop the processing of the validation server 10 to the management terminal 80 (step S117). Then, the abnormality processing unit 18 performs abnormality processing (step S118). For example, the abnormality processing unit 18 stops the processing of its own device as the abnormality processing. In another example, the abnormality processing unit 18 revokes the certificate issued by its own device as the abnormality processing.

[0048] As described above, the verification system of this embodiment includes multiple client terminals and a verification server that verifies the authenticity of the client terminals. The verification server includes a client terminal verification unit, a security function unit, a verification server verification unit, and an abnormality processing unit. The client terminal verification unit verifies the authenticity of each of the multiple client terminals at startup. The security function unit stores a hash value of a program generated at startup of the device itself. The verification server verification unit verifies the authenticity of the device itself at startup using the hash value stored in the security function unit and a hash expected value, which is a hash value of the verification server when it is normal. The abnormality processing unit stops processing of the device itself when the verification server verification unit determines that the device is not authentic.

[0049] The above-described configuration of the verification system of this embodiment improves robustness. This is because the verification server that verifies the authenticity of the client terminal has a configuration that verifies the authenticity of the client terminal at startup and a configuration that stops the processing of the client terminal when the verification server verification unit determines that the client terminal is not authentic. If an abnormality occurs in the verification server that verifies the authenticity of the client terminal, the verification result of the authenticity of the client terminal becomes unreliable. The verification system of this embodiment verifies the authenticity of the client terminal at startup and stops the processing of the client terminal when the verification server verification unit determines that the client terminal is not authentic. This eliminates the need to verify the authenticity of a client terminal when it is not authentic, thereby improving the robustness of the verification system. The above-described effects of the present invention are particularly pronounced in closed environments.

[0050] In the verification system according to one aspect of the present embodiment, the security function unit of the verification server includes a tamper-resistant storage area. Tamper resistance is a property that can withstand tampering by a third party. The hash value of the program generated upon startup of the device is stored in the tamper-resistant storage area, and therefore, according to the verification system according to one aspect of the present embodiment, the robustness of the verification system can be improved.

[0051] In a verification system according to one aspect of the present embodiment, the verification server further includes a certificate issuing unit that issues a certificate to a client terminal whose authenticity has been confirmed by the client terminal verification unit. Furthermore, the abnormality processing means in the verification system according to one aspect of the present embodiment revokes a certificate issued by the verification server itself if the verification server verification unit determines that the client terminal is not authentic. If an abnormality occurs in the verification server that verifies the authenticity of the client terminal, the verification result of the authenticity of the client terminal becomes unreliable. The verification system according to one aspect of the present embodiment verifies the authenticity of the verification server itself at startup, and revokes a certificate issued by the verification server itself if the verification server verification unit determines that the client terminal is not authentic. This allows for the revocation of a certificate that may have been issued without authenticity, thereby improving the robustness of the verification system.

[0052] In the verification system according to one aspect of this embodiment, the verification server further includes an output unit that outputs output information, including a command to stop processing by the verification server, to a management terminal. The management terminal is a terminal device operated by an administrator of the verification server. When the verification server stops, the administrator must perform recovery work for the verification server. By outputting the output information, including a command to stop processing by the verification server, to the management terminal, the administrator is notified that the verification server has stopped, and can begin recovery work.

[0053] (Second embodiment) Next, the verification system of this embodiment will be described with reference to the drawings. In the following description, parts similar to those of the first embodiment will be assigned the same reference numerals, and descriptions thereof will be omitted where appropriate. The difference between the verification system of the first embodiment and the verification system of this embodiment is that the verification system of the first embodiment includes one verification server, whereas the verification system of this embodiment includes two verification servers. One of the verification servers of the present disclosure functions as a certification authority that issues certificates to client terminals 70. If the verification system of the present disclosure determines that the verification server that serves as the certification authority is not authentic, it shifts the certification authority to the other verification server. This allows the verification system to operate without stopping.

[0054] (composition) Fig. 6 is a block diagram showing an example of the configuration of a verification system according to the present disclosure. The verification system 2 includes a verification server 20, a verification server 21, and a plurality of client terminals 70. The verification server 20 and the verification server 21 are connected to each other so that they can communicate with each other. As described above, one of the verification servers functions as a certification authority that issues certificates to the client terminals 70. In the example shown in Fig. 6, the validation server 20 functions as the certification authority.

[0055] [Verification Server] Fig. 7 is a block diagram showing an example of the configuration of a validation server in the present disclosure. The configurations of the validation server 20 and the validation server 21 will be described with reference to Fig. 7. Note that the client terminal 70 and the management terminal 80 have the same configurations as those described in the first embodiment, and therefore description of their configurations will be omitted.

[0056] 7, the validation server 20 includes a transmission / reception unit 201, a validation information storage unit 202, a client terminal validation unit 203, a certificate issuance unit 204, a program execution unit 205, a security function unit 206, a validation server validation unit 207, an abnormality processing unit 208, and an output unit 209. The validation server 21 includes a transmission / reception unit 211, a validation information storage unit 212, a client terminal validation unit 213, a certificate issuance unit 214, a program execution unit 215, a security function unit 216, a validation server validation unit 217, an abnormality processing unit 218, and an output unit 219.

[0057] The transmitting / receiving unit 201 and the transmitting / receiving unit 211 receive data transmitted from the client terminal 70 or the other validation server. The transmitting / receiving unit 201 and the transmitting / receiving unit 211 also transmit data to the client terminal 70 or the other validation server. The other validation server is the other validation server other than the device itself.

[0058] The verification information storage unit 202 and the verification information storage unit 212 store the expected hash values ​​of the components and programs of each client terminal 70. The verification information storage unit 202 and the verification information storage unit 212 also store the expected hash values ​​of the components and programs of their own device and the other verification server. That is, the verification information storage unit 202 stores the expected hash values ​​of the verification server 20 and the expected hash values ​​of the verification server 21, and the verification information storage unit 212 stores the expected hash values ​​of the verification server 21 and the expected hash values ​​of the verification server 20.

[0059] The client terminal verification unit 203 or the client terminal verification unit 213 verifies the authenticity of the client terminal 70. The authenticity of the client terminal 70 is verified by a verification server that functions as a certificate authority. In this embodiment, the verification server 20 functions as a certificate authority, so the client terminal verification unit 203 verifies the authenticity of the client terminal 70. If the authenticity of the verification server 20 cannot be confirmed and the certificate authority is shifted to the verification server 21, the client terminal verification unit 213 verifies the authenticity of the client terminal 70.

[0060] If the authenticity of the client terminal 70 can be confirmed, the certificate issuance unit 204 or the certificate issuance unit 214 issues an AIK certificate for the AIK public key. The issuance of the AIK certificate is performed by a validation server functioning as a certification authority. In this embodiment, the validation server 20 functions as a certification authority, and therefore the certificate issuance unit 204 issues an AIK certificate for the AIK public key if the authenticity of the client terminal 70 can be confirmed. If the authenticity of the validation server 20 cannot be confirmed and the certification authority has shifted to the validation server 21, the certificate issuance unit 214 issues an AIK certificate for the AIK public key if the authenticity of the client terminal 70 can be confirmed.

[0061] The program execution units 205 and 215 execute the startup programs of their own devices, generate hash values ​​for the components and programs, and input the generated hash values ​​to the security function units of their own devices.

[0062] The security function unit 206 and the security function unit 216 include a tamper-resistant storage area. The security function unit 206 and the security function unit 216 store hash values ​​generated by the program execution units of their own devices in the tamper-resistant storage area. The hash values ​​stored in the security function unit 206 are transmitted to the validation server 21 via the transmission / reception unit 201. The hash values ​​stored in the security function unit 216 are transmitted to the validation server 20 via the transmission / reception unit 211.

[0063] The verification server verification unit 207 and the verification server verification unit 217 verify the authenticity of their own device and the other verification server. That is, the verification server 20 verifies the authenticity of the verification server 20 and the verification server 21, and the verification server 21 verifies the authenticity of the verification server 21 and the verification server 20. The verification server verification unit 207 compares the hash value of the verification server 21 received via the transmission / reception unit 201 with the expected hash value of the verification server 21 stored in the verification information storage unit 202. If the hash value and the expected hash value are identical, the verification server verification unit 207 determines that the verification server 21 is authentic. If the hash value does not match the expected hash value, the verification server verification unit 207 determines that the verification server 21 is not authentic. Similarly, the verification server verification unit 217 compares the hash value of the verification server 20 received via the transmission / reception unit 211 with the expected hash value of the verification server 20 stored in the verification information storage unit 212. If the hash value and the expected hash value are the same, the verification server verification unit 217 determines that the verification server 20 is authentic. If the hash value does not match the expected hash value, the verification server verification unit 217 determines that the verification server 20 is not authentic. Note that the procedure by which the verification server determines the authenticity of its own device is the same as the procedure described in the first embodiment, and therefore a description thereof will be omitted.

[0064] When the validation server verification unit determines that the other validation server is not authentic and the validation server verification unit of the other validation server determines that its own device is not authentic, the abnormality processing unit 208 and the abnormality processing unit 218 stop the processing of the other validation server. Furthermore, when the validation server determined to be inauthentic is functioning as a certification authority, the abnormality processing unit 208 and the abnormality processing unit 218 revoke the AIK certificate issued by the validation server and change the certification authority to its own device. Furthermore, the certificate issuing unit of the validation server changed to a certification authority issues a new AIK certificate in place of the revoked AIK certificate.

[0065] The abnormality processing unit 208 stops the processing of the validation server 21 when it determines that the validation server 21 is not authentic and the abnormality processing unit 218 also determines that the validation server 21 is not authentic. The abnormality processing unit 218 stops the processing of the validation server 20 when it determines that the validation server 20 is not authentic and the abnormality processing unit 208 also determines that the validation server 20 is not authentic. If it determines that the validation server 20, which is a certification authority, is not authentic, the abnormality processing unit 218 revokes the AIK certificate issued by the certificate issuance unit 204. Furthermore, the abnormality processing unit 218 changes the certification authority to its own device. Furthermore, the abnormality processing unit 218 causes the certificate issuance unit 214 to issue a new AIK certificate in place of the revoked AIK certificate.

[0066] The output unit 209 and the output unit 219 output information including an instruction to stop the processing of the other validation server to the management terminal 80. When the certificate authority is changed, the output information may further include information indicating that the certificate authority is changed.

[0067] (operation) Next, the processing of the validation server 20 and the validation server 21 will be described with reference to Fig. 8 and Fig. 9. Fig. 8 is a flowchart showing an example of the operation of the validation server that is a certificate authority in the present disclosure. Fig. 5 is a flowchart showing an example of the operation of the validation server that is not a certificate authority in the present disclosure. Note that the processing of the client terminal 70 is the same as in the first embodiment, and therefore description thereof will be omitted.

[0068] [Verification server that is a certification authority] First, the process of the validation server 20, which is the certificate authority, will be described with reference to FIG.

[0069] First, the transmitting / receiving unit 201 receives a CSR from the client terminal 70 (step S200).

[0070] Next, the client terminal verification unit 203 verifies the authenticity of the client terminal 70. If the client terminal verification unit 203 can confirm the authenticity of the client terminal 70, the certificate issuance unit 204 issues an AIK certificate (step S201).

[0071] Next, the program execution unit 205 executes the program of the validation server 20 and generates hash values ​​of the components and programs of the validation server 20 (step S202). The security function unit 206 stores the hash values ​​generated in step S202 in a tamper-resistant storage area.

[0072] Next, the transmitting / receiving unit 201 transmits the generated hash value to the verification server 21 (step S203).

[0073] Next, the transmitting / receiving unit 201 receives the hash value of the validation server 21 (step S204).

[0074] Next, the validation server verification unit 207 verifies the authenticity of its own device, the validation server 20 (step S205). The procedure for verifying the authenticity of its own device is the same as the procedure described in the first embodiment.

[0075] Next, the verification server verification unit 207 verifies the authenticity of the verification server 21 by comparing the expected hash value of the verification server 21 stored in the verification information storage unit 202 with the hash value of the verification server 21 received in step S204 (step S206). If the hash value and the expected hash value are identical, the verification server verification unit 207 determines that the verification server 21 is authentic. If the hash value does not match the expected hash value, the verification server verification unit 207 determines that the verification server 21 is not authentic.

[0076] If the authenticity of the validation server 21 can be confirmed (Yes in step S207), the validation server 20 ends the process.

[0077] On the other hand, if the authenticity of the validation server 21 cannot be confirmed (No in step S207), the validation server verification unit 207 determines whether the authenticity of the validation server 21 itself has been confirmed by the validation server verification unit 217 of the validation server 21 (step S208). If the validation server 21 has confirmed the authenticity of its own device (Yes in step S208), the validation server 20 ends the processing. Note that if the result in step S207 is Yes, there is a high possibility that an abnormality has occurred in either the validation server 20 or the validation server 21. Therefore, the output unit 209 may output, after step S207, that there is a possibility that an abnormality has occurred in either the validation server 20 or the validation server 21.

[0078] If the validation server 21 does not confirm the authenticity of its own device (No in step S208), the output unit 209 outputs output information including a command to stop the processing of the validation server 21 to the management terminal 80 (step S209). Then, the abnormality processing unit 208 stops the processing of the validation server 21 (step S210).

[0079] [Validation server that is not a certificate authority] Next, the process of the validation server 21 that is not a certificate authority will be described with reference to FIG.

[0080] First, the program execution unit 215 executes the program of the validation server 21 and generates hash values ​​of the components and programs of the validation server 21 (step S211). The security function unit 216 stores the hash values ​​generated in step S211 in a tamper-resistant storage area.

[0081] Next, the transmitting / receiving unit 211 transmits the hash value generated in step S211 to the verification server 20 (step S212).

[0082] Next, the transmitting / receiving unit 211 receives the hash value of the validation server 20 (step S213).

[0083] Next, the validation server verification unit 217 verifies the authenticity of its own device, the validation server 21 (step S214). The procedure for verifying the authenticity of its own device is the same as the procedure described in the first embodiment.

[0084] Next, the verification server verification unit 217 verifies the authenticity of the verification server 20 by comparing the expected hash value of the verification server 20 stored in the verification information storage unit 212 with the hash value of the verification server 20 received in step S213 (step S215). If the hash value and the expected hash value are identical, the verification server verification unit 217 determines that the verification server 20 is authentic. If the hash value does not match the expected hash value, the verification server verification unit 217 determines that the verification server 20 is not authentic.

[0085] If the authenticity of the validation server 20 can be confirmed (Yes in step S216), the validation server 21 ends the process.

[0086] On the other hand, if the authenticity of the validation server 20 cannot be confirmed (No in step S216), the validation server verification unit 217 determines whether the authenticity of the validation server 20 itself has been confirmed by the validation server verification unit 207 of the validation server 20 (step S217). If the validation server 20 has confirmed the authenticity of its own device (Yes in step S217), the validation server 20 ends the processing. Note that if the result in step S217 is Yes, there is a high possibility that an abnormality has occurred in either the validation server 20 or the validation server 21. Therefore, the output unit 219 may output, after step S217, that there is a possibility that an abnormality has occurred in either the validation server 20 or the validation server 21.

[0087] If the validation server 20 has not confirmed the authenticity of its own device (No in step S217), the output unit 219 outputs output information including a command to stop the processing of the validation server 20 to the management terminal 80 (step S218). The output information may include a command to change the certificate authority. Then, the abnormality processing unit 218 stops the processing of the validation server 20 (step S219). The abnormality processing unit 218 also changes the certificate authority to its own device, the validation server 21 (step S220). The abnormality processing unit 218 also revokes the AIK certificate issued by the validation server 20 (step S221). Then, the abnormality processing unit 218 causes the certificate issuance unit 214 to issue a new AIK certificate in place of the revoked AIK certificate (step S222).

[0088] The verification system of this embodiment is configured as described above. In addition to the effects obtained by the verification system of the first embodiment, the verification system of this embodiment also obtains the following effects.

[0089] The verification system of this embodiment includes two verification servers. In the verification system of this embodiment, the verification server verification unit of the verification server further verifies the authenticity of the other verification servers when they are started. In the verification system of this embodiment, if the verification server verification unit of the verification server determines that the other verification servers are not authentic and the verification server verification means of the other verification servers determines that the verification servers themselves are not authentic, the abnormality processing unit stops the processing of the other verification servers. Because the system of the first embodiment includes only one verification server, if the verification server stops, the verification system itself stops. Therefore, in the system of the first embodiment, system recovery required the administrator's intervention. Because the verification system of this embodiment includes two verification servers, even if the processing of one verification server stops, the other verification server can be used to continue processing. In other words, according to the verification system of this embodiment, even if the authenticity of one verification server cannot be confirmed, the verification system can be operated without stopping. This improves the robustness and convenience of the verification system.

[0090] In a verification system according to an aspect of the present embodiment, the verification server further includes a certificate issuing unit that issues a certificate to the client terminal whose authenticity has been confirmed by the client terminal verification unit. One of the two verification servers functions as a certification authority that issues certificates to client terminals. In the verification system according to an aspect of the present embodiment, if it is determined that the verification server serving as a certification authority is not authentic, an abnormality processing unit included in the verification server that determined that the verification server serving as a certification authority is not authentic stops the processing of the verification server serving as a certification authority. The abnormality processing unit also revokes the certificate issued by the verification server serving as a certification authority. The abnormality processing unit also changes the certification authority to its own device. The certificate issuing unit of the verification server that has been changed to a certification authority issues a new certificate in place of the revoked certificate. If an abnormality occurs in the verification server that verifies the authenticity of the client terminal, the verification result of the authenticity of the client terminal becomes unreliable. The verification system according to an aspect of the present embodiment verifies the authenticity of the certification authority at startup, and revokes the certificate issued by the certification authority if it is determined that the validation server is not authentic. The certificate authority is then changed to the local device, and a new certificate is issued by the local device. This allows the verification system to be operated without stopping, so the verification system of this embodiment can improve the robustness and convenience of the verification system.

[0091] (Variation) In the present embodiment, the abnormality processing unit halts the processing of the other validation server when the validation server verification unit determines that the other validation server is not authentic and the validation server verification means of the other validation server determines that the other validation server is not authentic. However, this is not limited to this. For example, the abnormality processing unit may halt the processing of the other validation server when the validation server verification unit determines that the other validation server is not authentic. That is, the abnormality processing unit may halt the processing of the other validation server without considering the verification result of the other validation server of the other validation server. Determining whether to halt the processing of the validation server by considering the verification result of the other validation server and the result of the other validation server can improve security compared to considering the result of the other validation server. Specifically, for example, if an abnormality occurs in the other validation server, there is a risk that the processing of the authentic validation server will be halted and the certificate authority will be changed to the other validation server. By determining whether to halt the processing of the validation server by considering the verification result of the other validation server and the result of the other validation server, the authentic validation server does not need to be halted even in such a situation, thereby improving security.

[0092] (Third embodiment) Next, the verification system of this embodiment will be described with reference to the drawings. In the following description, parts similar to those of the first and second embodiments will be given the same reference numerals, and descriptions thereof will be omitted as appropriate. The difference between the verification system of the second embodiment and the verification system of this embodiment is that the verification system of the second embodiment includes two verification servers, whereas the verification system of this embodiment includes three or more verification servers.

[0093] (composition) FIG. 10 is a block diagram showing an example of the configuration of a verification system according to the present disclosure. The verification system 3 includes a verification server 30, a verification server 31, a verification server 32, a verification server 33, and multiple client terminals 70. The verification servers 30, 31, 32, and 33 are communicatively connected to each other. In the example shown in FIG. 10, four verification servers 30 are shown, but this is merely an example. The number of verification servers 30 may be any number equal to or greater than four. Note that the number of verification servers is preferably an even number when the determination result of the verification server itself is not taken into consideration, and is preferably an odd number when the determination result of the verification server itself is taken into consideration. The reason for this will be explained later. One of the multiple verification servers included in the verification system 3 functions as a certification authority that issues certificates to the client terminals 70. In the example shown in FIG. 10, the verification server 30 functions as a certification authority.

[0094] [Verification Server] 11 is a block diagram showing an example of the configuration of a validation server according to the present disclosure. The validation server 30, which is a certificate authority, includes a transmission / reception unit 301, a validation information storage unit 302, a client terminal verification unit 303, a certificate issuance unit 304, a program execution unit 305, a security function unit 306, a validation server verification unit 307, an abnormality processing unit 308, and an output unit 309. The validation server 31, which is not a certificate authority, includes a transmission / reception unit 311, a validation information storage unit 312, a client terminal verification unit 313, a certificate issuance unit 314, a program execution unit 315, a security function unit 316, a validation server verification unit 317, an abnormality processing unit 318, and an output unit 319. The validation server 32, which is not a certificate authority, includes a transmission / reception unit 321, a verification information storage unit 322, a client terminal verification unit 323, a certificate issuance unit 324, a program execution unit 325, a security function unit 326, a validation server verification unit 327, an abnormality processing unit 328, and an output unit 329. The validation server 33, which is not a certification authority, includes a transmission / reception unit 331, a validation information storage unit 332, a client terminal validation unit 333, a certificate issuance unit 334, a program execution unit 335, a security function unit 336, a validation server validation unit 337, an abnormality processing unit 338, and an output unit 339.

[0095] The verification information storage unit 302, the verification information storage unit 312, the verification information storage unit 322, and the verification information storage unit 332 store the expected hash values ​​of the components and programs of each client terminal 70. The verification information storage unit 302, the verification information storage unit 312, the verification information storage unit 322, and the verification information storage unit 332 also store the expected hash values ​​of the components and programs of the verification servers other than their own devices. That is, the verification information storage unit 302 stores the expected hash values ​​of the verification servers 31, 32, and 33. The verification information storage unit 312 stores the expected hash values ​​of the verification servers 30, 32, and 33. The verification information storage unit 322 stores the expected hash values ​​of the verification servers 30, 31, and 33. The validation server 33 stores the expected hash value of the validation server 30, the expected hash value of the validation server 31, and the expected hash value of the validation server 32.

[0096] The verification server verification unit 307, the verification server verification unit 317, the verification server verification unit 327, and the verification server verification unit 337 verify the authenticity of verification servers other than their own devices. The verification server verification unit 307 verifies the authenticity of the verification server 31, the authenticity of the verification server 32, and the authenticity of the verification server 33. The verification server verification unit 317 verifies the authenticity of the verification server 30, the authenticity of the verification server 32, and the authenticity of the verification server 33. The verification server verification unit 337 verifies the authenticity of the verification server 30, the authenticity of the verification server 31, and the authenticity of the verification server 32. In addition, the verification server verification units 307, 317, 327, and 337 share the verification results with other verification servers via the transmitting and receiving unit. The verification result of the verification server verification unit 307 is transmitted to the verification server 31, the verification server 32, and the verification server 33 via the transmission / reception unit 301. The verification result of the verification server verification unit 317 is transmitted to the verification server 30, the verification server 32, and the verification server 33 via the transmission / reception unit 311. The verification result of the verification server verification unit 327 is transmitted to the verification server 30, the verification server 31, and the verification server 32 via the transmission / reception unit 321.

[0097] When a majority of validation servers determine that a validation server is not authentic, the abnormality processing unit 308, the abnormality processing unit 318, the abnormality processing unit 328, and the abnormality processing unit 338 suspend the processing of the validation server. Furthermore, when the validation server determined to be inauthentic functions as a certification authority, the abnormality processing unit 308, the abnormality processing unit 318, the abnormality processing unit 328, and the abnormality processing unit 338 revoke the AIK certificate issued by the validation server and change the certification authority to the validation server itself. Furthermore, the certificate issuing unit of the validation server changed to a certification authority issues a new AIK certificate in place of the revoked AIK certificate. In other words, the abnormality processing unit determines whether to suspend the processing of the validation server by majority voting. Therefore, if the determination result of the validation server itself is not taken into consideration, it is desirable that the number of validation servers included in the validation system 3 be an even number. Having an even number of validation servers prevents the same number of determination results indicating authenticity and inauthenticity. This makes it possible to determine which determination result is correct.

[0098] For example, the abnormality processing unit 318 stops the processing of the validation server 30 when it determines that the validation server 30 is not authentic and receives verification results indicating that the validation server 30 is not authentic from the validation servers 32 and 33. That is, the abnormality processing unit 318 stops the processing of the validation server 30 when more than half of the validation servers determine that the validation server 30 is not authentic. Because the validation server 30 is a certification authority, in this case, the abnormality processing unit 318 revokes the AIK certificate issued by the certificate issuance unit 304. Furthermore, the abnormality processing unit 318 changes the certification authority to its own device, the validation server 31. Furthermore, the abnormality processing unit 318 causes the certificate issuance unit 314 to issue a new AIK certificate in place of the revoked AIK certificate.

[0099] (operation) Next, the processing of the validation server 30, the validation server 31, the validation server 32, and the validation server 33 will be described with reference to Fig. 12 and Fig. 13. Fig. 12 is a flowchart showing an example of the operation of the validation server that is a certificate authority in the present disclosure. Fig. 13 is a flowchart showing an example of the operation of the validation server that is not a certificate authority in the present disclosure. Note that the processing of the client terminal 70 is the same as in the first embodiment, and therefore description thereof will be omitted.

[0100] [Verification server that is a certification authority] First, the process of the validation server 30, which is the certificate authority, will be described with reference to FIG.

[0101] First, the transmitting / receiving unit 301 receives a CSR from the client terminal 70 (step S300).

[0102] Next, the client terminal verification unit 303 verifies the authenticity of the client terminal 70. If the authenticity of the client terminal 70 is confirmed by the client terminal verification unit 203, the certificate issuance unit 304 issues an AIK certificate (step S301).

[0103] Next, the program execution unit 305 executes the program of the validation server 30 and generates hash values ​​of the components and programs of the validation server 30 (step S302). The security function unit 306 stores the hash values ​​generated in step S302 in a tamper-resistant storage area.

[0104] Next, the transmitting / receiving unit 301 transmits the generated hash value to the other validation servers (step S203). In this embodiment, the transmitting / receiving unit 301 transmits the generated hash value to the validation servers 31, 32, and 33.

[0105] Next, the transmitting / receiving unit 301 receives the hash values ​​of the other validation servers (step S304). In this embodiment, the transmitting / receiving unit 301 receives the hash values ​​of the validation servers 31, 32, and 33, respectively.

[0106] Next, the verification server verification unit 307 verifies the authenticity of the other verification servers by comparing the hash expected values ​​of the other verification servers stored in the verification information storage unit 302 with the hash values ​​of the other verification servers received in step S304 (step S305). In this embodiment, the verification server verification unit 307 verifies the authenticity of each of the verification servers 31, 32, and 33.

[0107] Next, the transmitting and receiving unit 301 shares the verification results with the other verification servers (step S306). The transmitting and receiving unit 301 transmits the verification results of the authenticity of the verification server 31, the authenticity of the verification server 32, and the authenticity of the verification server 33 to the verification server 31, the verification server 32, and the verification server 33. The transmitting and receiving unit 301 also receives the verification results of the authenticity of each of the verification servers 30, the verification server 32, and the verification server 33 from the verification server 31. The transmitting and receiving unit 301 also receives the verification results of the authenticity of each of the verification servers 30, the verification server 31, and the verification server 33 and the authenticity of the verification server 31 from the verification server 32. The transmitting and receiving unit 301 also receives the verification results of the authenticity of each of the verification servers 30, the verification server 31, and the verification server 32 and the authenticity of the verification server 31 from the verification server 33.

[0108] If the validation server 30 has confirmed the authenticity of all other validation servers (Yes in step S307), the process ends.

[0109] On the other hand, if the authenticity of any of the other validation servers cannot be confirmed (No in step S307), the verification results received from the other validation servers in step S306 are referenced to check whether the majority of the validation servers have determined that the server is not authentic (step S308). If the majority of the validation servers have determined that the server is not authentic (Yes in step S308), the output unit 309 outputs output information to the management terminal 80, including instructions to stop the processing of the validation servers that have been determined to be not authentic by the majority of the validation servers (step S309). Furthermore, the abnormality processing unit 308 stops the processing of the validation servers that have been determined to be not authentic by the majority of the validation servers (step S309).

[0110] [Validation server that is not a certificate authority] Next, with reference to FIG. 13, the processing of the validation servers that are not certificate authorities, that is, the validation servers 31, 32, and 33, will be described.

[0111] First, the program execution unit 315, the program execution unit 325, or the program execution unit 335 executes the program of its own device and generates hash values ​​of the components and programs of its own device (step S311). The security function unit 316, the security function unit 326, or the security function unit 336 stores the hash values ​​of its own device generated in step S311 in a tamper-resistant storage area.

[0112] Next, the transmitting / receiving unit 311, the transmitting / receiving unit 321, or the transmitting / receiving unit 331 transmits the hash value generated in step S311 to another validation server (step S312).

[0113] Next, the transmitting / receiving unit 311, the transmitting / receiving unit 321, or the transmitting / receiving unit 331 receives the hash value of the other validation server (step S313).

[0114] Next, the verification server verification unit 317, the verification server verification unit 327, or the verification server verification unit 337 verifies the authenticity of the verification servers other than its own device by comparing the expected hash values ​​of the other verification servers stored in the verification information storage unit with the hash values ​​of the other verification servers received in step S313 (step S314).

[0115] Next, the transmitting / receiving unit 311, the transmitting / receiving unit 321, or the transmitting / receiving unit 331 shares the verification result with the other verification servers (step S315). The transmitting / receiving unit 311, the transmitting / receiving unit 321, or the transmitting / receiving unit 331 transmits the verification result of the authenticity of the other verification servers other than its own device to the other verification servers. The transmitting / receiving unit 311, the transmitting / receiving unit 321, or the transmitting / receiving unit 331 receives the verification result of the authenticity of the other verification servers.

[0116] If the validation server 30 has confirmed the authenticity of all other validation servers (Yes in step S316), the process ends.

[0117] On the other hand, if the authenticity of any of the other validation servers cannot be confirmed (No in step S316), the verification results received from the other validation servers in step S314 are referenced to determine whether the server has been determined to be inauthentic by more than half of the validation servers (step S317). If the server has been determined to be inauthentic by more than half of the validation servers (Yes in step S317), the output unit 319 or 329 outputs output information to the management terminal 80, including instructions to stop the processing of the validation server determined to be inauthentic by more than half of the validation servers (step S318). Furthermore, the abnormality processing unit 318 or 328 stops the processing of the validation server determined to be inauthentic by more than half of the validation servers (step S309).

[0118] The abnormality processing unit 318 or 328 checks whether the validation server stopped in step S319 was functioning as a certificate authority (step S320). If the stopped validation server was not functioning as a certificate authority (No in step S320), the validation server terminates the series of processes. If the stopped validation server was functioning as a certificate authority (Yes in step S320), the abnormality processing unit 318 or 328 changes the certificate authority to its own device (step S321). Then, the abnormality processing unit 318 or 328 revokes the AIK certificate issued by the stopped validation server (step S322). Furthermore, the abnormality processing unit 318 or 328 causes the certificate issuance unit 314 or 324 to issue a new AIK certificate in place of the revoked AIK certificate (step S323).

[0119] The verification system of this embodiment is configured as described above. In addition to the effects obtained by the verification systems of the first and second embodiments, the verification system of this embodiment provides the following effects.

[0120] The verification system of this embodiment includes multiple verification servers. The number of verification servers is an even number of four or more. In this verification system, a verification server verification unit of the verification server verifies the authenticity of verification servers other than the verification server itself at startup. Furthermore, in this verification system, an abnormality processing unit of the verification server halts the processing of a verification server determined to be inauthentic by a majority of the multiple verification servers. This configuration enables the verification system of this embodiment to respond to various attacks and improve robustness. Depending on the type of external attack, there is a risk that the system may falsely determine that the authenticity of another verification server cannot be confirmed, even though the authenticity of the other verification servers has been confirmed. Therefore, in a system including only two verification servers, if one verification server makes a false determination due to an attack, there is a risk that the inauthentic verification server may take control. In contrast, the verification system of this embodiment includes an even number of verification servers, four or more, and is configured to halt the processing of a verification server determined to be inauthentic by a majority of the multiple verification servers. The verification system of this embodiment uses a majority vote to decide whether to shut down a verification server, so even if a verification server makes a false determination, it can more reliably shut down an inauthentic verification server. In other words, the verification system of this embodiment can respond to various attacks and improve the robustness of the verification system.

[0121] In a verification system according to an aspect of the present embodiment, the verification server further includes a certificate issuing unit that issues a certificate to the client terminal whose authenticity has been confirmed by the client terminal verification unit. In the verification system according to an aspect of the present embodiment, one of the multiple verification servers functions as a certification authority that issues certificates to client terminals. In the verification system according to an aspect of the present embodiment, if it is determined that the verification server serving as a certification authority is not authentic, an abnormality processing unit included in the verification server that determined that the certification authority is not authentic stops the processing of the verification server serving as a certification authority, revokes the certificate issued by the verification server serving as a certification authority, changes the certification authority to its own device, and the certificate issuing unit of the verification server that has been changed to a certification authority issues a new certificate in place of the revoked certificate. If an abnormality occurs in the verification server that verifies the authenticity of the client terminal, the verification result of the authenticity of the client terminal becomes unreliable. The verification system according to an aspect of the present embodiment verifies the authenticity of the certification authority at startup, and revokes the certificate issued by the certification authority if it is determined that the validation server is not authentic. The certificate authority is then changed to the local device, and a new certificate is issued by the local device. This allows the verification system to be operated without stopping, so the verification system of this embodiment can improve the robustness and convenience of the verification system.

[0122] (Variation) In the present embodiment, each validation server is described as verifying the authenticity of other validation servers other than its own device, but this is not limited thereto. Each validation server may also confirm the authenticity of its own device. When taking into consideration the verification result of the authenticity of its own device, it is preferable that the number of validation servers is odd. By using an odd number of validation servers, it is possible to prevent a situation in which the number of determination results indicating authenticity and the number of determination results indicating inauthenticity become equal, making it impossible to determine which determination result is correct.

[0123] (Fourth embodiment) In this embodiment, a verification system 4 will be described, which has a simplified configuration of the verification systems in the first to third embodiments. In the following description, the same parts as those in the first to third embodiments will be omitted as appropriate.

[0124] (composition) Next, the configuration of the verification system in this embodiment will be described with reference to the drawings. Fig. 14 is a block diagram showing an example of the configuration of the verification system in the present disclosure. The verification system 4 is a verification system including a plurality of client terminals 70 and a verification server that verifies the authenticity of the client terminals.

[0125] The validation server 40 includes a client terminal validation unit 43, a security function unit 46, a validation server validation unit 47, and an abnormality processing unit 48.

[0126] The client terminal verification unit 43 verifies the authenticity of each of the multiple client terminals at startup. The security function unit 46 stores the hash value of the program generated at startup of the device itself. The verification server verification unit 47 verifies the authenticity of the device at startup using the hash value stored in the security function unit and a hash expected value, which is the hash value of the verification server when it is normal. The abnormality processing unit 48 stops processing of the device itself when the verification server verification unit determines that the device is not authentic.

[0127] (operation) Next, an example of the operation of the validation system in this embodiment will be described with reference to Fig. 15. Fig. 15 is a diagram showing an example of the operation of the validation server in the present disclosure.

[0128] First, the client terminal verification unit 43 verifies the authenticity of each of the multiple client terminals at the time of startup (step S41).

[0129] Next, the security function unit 46 stores the hash value of the program generated when the device itself is started (step S42).

[0130] Next, the verification server verification unit 47 verifies the authenticity of its own device at the time of startup using the hash value stored in the security function unit and the hash expected value, which is the hash value of the verification server when it is normal (step S43).

[0131] Next, if the verification server verification unit determines that the authentication information is not authentic, the abnormality processing unit 48 stops the processing of the device itself (step S44).

[0132] As described above, the verification server that verifies the authenticity of the client terminal has a configuration that verifies the authenticity of the device when the device is started up, and a configuration that stops the processing of the device when the verification server verification unit determines that the device is not authentic. This prevents the authenticity of the client terminal from being confirmed when it is not authentic, and therefore the verification system of this embodiment can improve the robustness of the verification system.

[0133] (Hardware configuration) The functions of each of the components in each of the embodiments of the present disclosure described above can be realized not only as hardware but also as a computer device or firmware under program control.

[0134] 16 is a diagram showing an example of a hardware configuration in which the validation server in the present disclosure is realized by a computer device 90 including a processor. The validation server in each embodiment is realized by the computer device 90. As shown in FIG. 16, the computer device 90 includes a processor 91, a memory 92, a storage device 93 such as a hard disk for storing programs, an input / output interface 94 for connecting input devices and output devices, and a communication interface 95 for connecting to a network.

[0135] The processor 91 loads a program (instructions) stored in a storage device 93 or the like into the memory 92. For example, the program is a software program for executing the control and processing in the present disclosure. The processor 91 executes the program loaded into the memory 92. The processor 91 executes the program to execute the control and processing in the present disclosure.

[0136] The storage device 93 may be, for example, an optical disk, a flexible disk, a magneto-optical disk, an external hard disk, or a semiconductor memory. Some storage media in the storage device are non-volatile storage devices, and the programs are recorded therein. The programs may also be downloaded from an external computer (not shown) connected to a communication network.

[0137] The input device connected to the input / output interface 94 is realized by, for example, a mouse or a keyboard, and is used for input operations. Similarly, the output device connected to the input / output interface 94 is realized by, for example, a display, and is used for displaying and checking output results.

[0138] Although the present disclosure has been described above with reference to the embodiments, the present disclosure 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 disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate.

[0139] Furthermore, part or all of the above-described embodiments can also be described as follows:

[0140] (Appendix 1) A verification system including a plurality of client terminals and a verification server that verifies authenticity of the client terminals, The verification server a client terminal verification means for verifying the authenticity of each of the plurality of client terminals at the time of startup; a security function means for storing a hash value of a program generated at the time of booting the device; a verification server verification means for verifying authenticity at the time of startup of the device itself, using the hash value stored in the security function means and a hash expected value which is the hash value of the verification server in a normal state; and an abnormality processing means for stopping processing of the verification server itself when the verification server has determined that the verification server is not authentic. Verification system. (Appendix 2) 2. The verification system of claim 1, wherein the security function means includes a tamper-resistant storage area. (Appendix 3) The verification server further comprising a certificate issuing means for issuing a certificate to the client terminal whose authenticity has been confirmed by the client terminal verifying means; 3. The verification system according to claim 2, wherein the abnormality processing means further revokes the certificate issued by the device itself. (Appendix 4) 4. The verification system according to claim 3, further comprising an output unit that outputs output information, including stopping the processing of the verification server, to a management terminal. (Appendix 5) The verification system includes two of the verification servers, The verification server verification means further verifies the authenticity of the other verification servers at the time of startup, 5. The verification system according to claim 1, wherein when the verification server verification means determines that the other verification server is not authentic and when the verification server verification means of the other verification server determines that its own device is not authentic, the abnormality processing means stops processing of the other verification server. (Appendix 6) the verification server further comprises a certificate issuing means for issuing a certificate to the client terminal whose authenticity has been confirmed by the client terminal verification means; one of the validation servers functions as a certificate authority that issues the certificate to the client terminal; If it is determined that the validation server, which is the certification authority, is not authentic, The abnormality processing means of the validation server that has determined that the validation server that is the certificate authority is not authentic, Stopping the processing of the validation server that is the certificate authority; Revoke the certificate issued by the validation server, which is the certificate authority; The certificate authority is changed to the own device, 6. The validation system according to claim 5, wherein the certificate issuing means of the validation server that has been changed to the certification authority issues a new certificate in place of the revoked certificate. (Appendix 7) the verification system includes a plurality of the verification servers; the verification server verification means verifies authenticity of the verification servers other than the verification server itself at the time of startup; the abnormality processing means stops processing of the verification server that is determined to be inauthentic by a majority of the plurality of verification servers; 5. The verification system according to claim 1, wherein the number of the verification servers is an even number equal to or greater than four. (Appendix 8) the verification server further comprises a certificate issuing means for issuing a certificate to the client terminal whose authenticity has been confirmed by the client terminal verification means; any one of the plurality of validation servers functions as a certification authority that issues the certificate to the client terminal; If it is determined that the validation server, which is the certification authority, is not authentic, The abnormality processing means of any one of the validation servers that has determined that the certificate authority is not authentic comprises: Stopping the processing of the validation server that is the certificate authority; Revoke the certificate issued by the validation server, which is the certificate authority; The certificate authority is changed to the own device, 8. The validation system according to claim 7, wherein the certificate issuing means of the validation server that has been changed to the certification authority issues a new certificate in place of the revoked certificate. (Appendix 9) A verification server connected to a plurality of client terminals in a communicable manner, verifying the authenticity of each of the plurality of client terminals at startup; verifying authenticity of the device at the time of startup using a hash value of a program generated at the time of startup of the device, which is stored in a verification server security function means of the device, and a hash expected value which is the hash value when the verification server is normal; A verification method in which processing of the device itself is stopped when it is determined that the device itself is not authentic. (Appendix 10) A computer installed in a verification server connected to a plurality of client terminals in a manner that allows communication therewith, a process of verifying authenticity at the time of startup of each of the plurality of client terminals; a process of storing a hash value of the program generated when the verification server is started in a security function means; a process of verifying authenticity of the verification server at the time of startup using the hash value stored in the security function means and a hash expected value which is the hash value when the verification server is normal; and if it is determined that the verification server is not authentic, stopping the processing of the verification server.

[0141] Furthermore, in the above appendices, some or all of the configurations described in appendices 2 to 8 that are dependent on appendices 1 may also be dependent on appendices 9 and 10 in the same dependent relationship as appendices 2 to 8. Furthermore, not limited to appendices 1, 9, and 10, some or all of the configurations described as appendices may be made dependent on various hardware, software, various recording means for recording software, or systems, within the scope of each of the above-mentioned embodiments. [Explanation of symbols]

[0142] 10, 20, 21, 30, 31, 32, 40 Verification Server 11, 201, 211, 301, 311, 321 Transmitter / Receiver 12, 202, 212, 302, 312, 322 Verification information storage unit 13, 203, 213, 303, 313, 323, 43 Client terminal verification section 14, 204, 214, 304, 314, 324 Certificate Issuance Department 15, 205, 215, 305, 315, 325 Program Execution Unit 16, 206, 216, 306, 316, 326, 46 Security Function Unit 17, 207, 217, 307, 317, 327, 47 Verification Server Verification Department 18, 208, 218, 308, 318, 328, 48 Abnormality processing unit 19, 209, 219, 309, 319, 329, 49 Output section 70 client terminals 71 Program Execution Unit 72 Security Functions Unit 73 Transmitter 74 Receiving unit 80 Management terminal 90 Computer Equipment 91 processors 92 memory 93 Storage device 94 Input / Output Interface 95 Communication Interface

Claims

1. A verification system including a plurality of client terminals and a verification server that verifies authenticity of the client terminals, The verification server a client terminal verification means for verifying the authenticity of each of the plurality of client terminals at the time of startup; a security function means for storing a hash value of a program generated at the time of booting the device; a verification server verification means for verifying authenticity at the time of startup of the device itself, using the hash value stored in the security function means and a hash expected value which is the hash value of the verification server in a normal state; and an abnormality processing means for stopping processing of the verification server itself when the verification server has determined that the verification server is not authentic. Verification system.

2. 2. The verification system according to claim 1, wherein the security function means includes a tamper-resistant storage area.

3. The verification server further comprising a certificate issuing means for issuing a certificate to the client terminal whose authenticity has been confirmed by the client terminal verifying means; 3. The verification system according to claim 2, wherein the abnormality processing means further revokes the certificate issued by the device itself.

4. The verification system according to claim 3 , further comprising an output unit that outputs output information including a command to stop processing of the verification server to a management terminal.

5. The verification system includes two of the verification servers, The verification server verification means further verifies the authenticity of the other verification servers at the time of startup, 5. The verification system according to claim 1, wherein, when the verification server verification means determines that the other verification server is not authentic, and when the verification server verification means of the other verification server determines that its own device is not authentic, the abnormality processing means stops processing of the other verification server.

6. the verification server further comprises a certificate issuing means for issuing a certificate to the client terminal whose authenticity has been confirmed by the client terminal verification means; one of the validation servers functions as a certificate authority that issues the certificate to the client terminal; If it is determined that the validation server, which is the certification authority, is not authentic, The abnormality processing means of the validation server that has determined that the validation server that is the certificate authority is not authentic, Stopping the processing of the validation server that is the certificate authority; Revoke the certificate issued by the validation server, which is the certificate authority; The certificate authority is changed to the own device, 6. The validation system according to claim 5, wherein the certificate issuing means of the validation server that has been changed to the certification authority issues a new certificate in place of the revoked certificate.

7. the verification system includes a plurality of the verification servers; the verification server verification means verifies authenticity of the verification servers other than the verification server itself at the time of startup; the abnormality processing means stops processing of the verification server that is determined to be inauthentic by a majority of the plurality of verification servers; The verification system according to claim 1 , wherein the number of the verification servers is an even number equal to or greater than four.

8. the verification server further comprises a certificate issuing means for issuing a certificate to the client terminal whose authenticity has been confirmed by the client terminal verification means; any one of the plurality of validation servers functions as a certification authority that issues the certificate to the client terminal; If it is determined that the validation server, which is the certification authority, is not authentic, The abnormality processing means of any one of the validation servers that has determined that the certificate authority is not authentic comprises: Stopping the processing of the validation server that is the certificate authority; Revoke the certificate issued by the validation server, which is the certificate authority; The certificate authority is changed to the own device, 8. The validation system according to claim 7, wherein the certificate issuing means of the validation server that has been changed to the certification authority issues a new certificate in place of the revoked certificate.

9. A verification server connected to a plurality of client terminals in a communicable manner, verifying the authenticity of each of the plurality of client terminals at startup; verifying authenticity of the device at the time of startup using a hash value of a program generated at the time of startup of the device, which is stored in a verification server security function means of the device, and a hash expected value which is the hash value when the verification server is normal; A verification method in which processing of the device itself is stopped when it is determined that the device itself is not authentic.

10. A computer installed in a verification server connected to a plurality of client terminals in a manner that allows communication therewith, a process of verifying authenticity at the time of startup of each of the plurality of client terminals; a process of storing a hash value of the program generated when the verification server is started in a security function means; a process of verifying authenticity of the verification server at the time of startup using the hash value stored in the security function means and a hash expected value which is the hash value when the verification server is normal; and if it is determined that the verification server is not authentic, stopping the processing of the verification server.

Citation Information

Patent Citations

  • Information communication system, information communication method, and recording medium

    WO2023148951A1