Certificate authority verification system, certificate authority verification method, and program
Patent Information
- Application Number
- PCT/JP2025/005597
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-19
- Publication Date
- 2026-08-27
Smart Images

Figure JP2025005597_27082026_PF_FP_ABST
Abstract
Description
Certification Authority Verification System, Certification Authority Verification Method, Program
[0001] The present disclosure relates to a certification authority verification system, a certification authority verification method, and a program.
[0002] The virtualization of server functions and the construction of cloud services and in-company network systems using these functions are progressing (for example, Non-Patent Document 1, Non-Patent Document 2). To authenticate a web server or the like, a public key certificate is used. However, in order to verify a server certificate, it is also important to confirm the certification authority that issued the certificate. When using a public service as the certification authority, there may be disadvantages in terms of certificate issuance costs and system configuration, and it is often the case that an independent local certification authority is constructed and used. When using a public certification authority (CA), the CA certificate pre-installed in a browser or the like is often used as the starting point of trust. However, in the case of a local certification authority, it is necessary to confirm the appropriateness of the local certification authority's certificate and incorporate it into the client device or the like.
[0003] Daisuke Yamakawa, Atsuo Inomata, Tetsutaro Uehara, "Consideration of PKI Operation Method Suitable for Smart Home Appliances", [online], March 12, 2020, Information Processing Society of Japan, [searched on February 5, 2025], Internet <URL: https: / / ipsj.ixsq.nii.ac.jp / ej / ?action=repository_uri&item_id=203911&file_id=1&file_no=1> Henk Birkholz, Dave Thaler, Michael Richardson, Ned Smith, Wei Pan "RFC 9334 Remote ATtestation procedureS (RATS) Architecture", [online], January 2023, [searched on February 5, 2025], Internet <URL: https: / / www.rfc-editor.org / rfc / rfc9334>
[0004] However, these conventional technologies have a problem in that there is no mechanism for verifying the appropriateness of the local certification authority's certificate in cases where the local certification authority is dynamically generated due to the automation of service use.
[0005] Therefore, this disclosure aims to provide a certificate authority verification system that can verify the appropriateness of certificates issued by local certificate authorities.
[0006] The Certificate Authority Verification System of this Disclosure includes a verification device, a local Certificate Authority device operating in an isolated execution environment, a Certificate Presenter device that acts as a server or client and uses a server certificate or client certificate, and a Certificate Verifier device that acts as a server or client and verifies the presented certificate.
[0007] The certification authority device includes a self-signed certificate generation unit, an evidence generation unit, and a reference value registration request unit. The verification device includes a reference value registration unit.
[0008] The self-signed certificate generation unit generates a self-signed certificate, which is the certificate of the certificate authority device itself. The evidence generation unit generates evidence for the self-signed certificate. The reference value registration request unit executes a reference value registration request along with the reference value of the self-signed certificate.
[0009] The reference value registration unit registers the reference value of the self-signed certificate.
[0010] According to the Certificate Authority Verification System described in this disclosure, the appropriateness of a local Certificate Authority's certificate can be verified.
[0011] A block diagram showing the device configuration of the Certificate Authority Verification System of Example 1. A block diagram showing the functional configuration of the Verification Device of Example 1. A block diagram showing the functional configuration of the Certificate Authority Device of Example 1. A block diagram showing the functional configuration of the Certificate Presenter Device of Example 1. A block diagram showing the functional configuration of the Certificate Verifier Device of Example 1. A first sequence diagram showing the operation of the Certificate Authority Verification System of Example 1. A second sequence diagram showing the operation of the Certificate Authority Verification System of Example 1. A third sequence diagram showing the operation of the Certificate Authority Verification System of Example 1. A fourth sequence diagram showing the operation of the Certificate Authority Verification System of Example 1. A fifth sequence diagram showing the operation of the Certificate Authority Verification System of Example 1. A diagram showing an example of the functional configuration of a computer.
[0012] The embodiments of the present invention will be described in detail below. Components having the same function will be given the same number, and redundant explanations will be omitted.
[0013] The following describes a Certificate Authority Verification System of Example 1, which is configured to allow users to verify, via a Verifier, that a private (local) Certificate Authority (CA) is functioning properly within an isolated execution environment (e.g., TEE), thereby improving the reliability of the local Certificate Authority.
[0014] As shown in Figure 1, the Certificate Authority Verification System 1 of this embodiment includes a Verifier 11, a Certificate Authority (CA) 12 operating in an isolated space (isolated execution environment), such as a Trusted Execution Environment (TEE) or Enclave, a Certificate Presenter (A) 13 which acts as a server or client and uses a server certificate or client certificate, and a Certificate Verifier (B) 14 which acts as a server or client and verifies the presented certificate.
[0015] As illustrated in Figure 2, the verification device 11 of this embodiment may include a data transmission / reception unit 110, a nonce dispensing unit 111, a reference value registration unit 112, a registration result generation unit 113, a verification unit 114, a verification result generation unit 115, and a data storage unit 11A.
[0016] As illustrated in Figure 3, the certification authority device 12 of this embodiment includes a data transmission / reception unit 120, a certificate generation unit 121, an evidence generation unit 122, and a data storage unit 12A. The certificate generation unit 121 includes a self-certified certificate generation unit 1211, a nonce request unit 1212, an evidence generation request unit 1213, an evidence storage processing unit 1214, a reference value registration request unit 1215, a certificate generation unit 1216, a first certificate group generation unit 1217, and a second certificate group generation unit 1218. The evidence generation unit 122 may also include an evidence generation unit 1221. The evidence generation unit 122 is also referred to as an attester function in the isolated execution environment.
[0017] Furthermore, as illustrated in Figure 4, the certificate presenter device 13 of this embodiment may be configured to include a data transmission / reception unit 130, a key pair generation unit 131, a certificate request unit 132, a certificate group storage processing unit 133, a binding confirmation unit 134, a verification request unit 135, a first flag change unit 136, a certificate verification unit 137, a second flag change unit 138, a certificate presentation unit 139, and a data storage unit 13A.
[0018] Furthermore, as illustrated in Figure 5, the certificate verifier device 14 of this embodiment may be configured to include a data transmission / reception unit 140, a certificate request unit 141, a certificate group storage processing unit 142, a binding confirmation unit 143, a verification request unit 144, a flag change unit 145, a certificate verification unit 146, and a data storage unit 14A.
[0019] <<Registration process of the self-signed certificate reference value to the verification device 11>> As shown in Figure 6, the self-signed certificate generation unit 1211 of the certification authority device 12 generates a self-signed certificate (CA_CERT), which is the certificate of the local certification authority device (CA) 12 itself, and stores it in the data storage unit 12A together with the CA private key (SK_CA) (S1211). The nonce request unit 1212 requests a nonce from the verification device 11 for registration (S1212). The nonce request is transmitted to the verification device 11 by the data transmission / reception unit 120.
[0020] The nonce issuance unit 111 of the verification device 11 issues a nonce (S111). The issued nonce is transmitted to the certification authority device 12 by the data transmission / reception unit 110.
[0021] The evidence generation request unit 1213 of the Certificate Authority device 12 executes an evidence generation request (S1213) along with the issued nonce and the public key of the self-signed certificate (CA_CERT). This evidence is data that proves that it created its own self-signed certificate (CA_CERT) within the isolated execution environment in which it is operating.
[0022] The evidence generation unit 1221 generates evidence for a self-signed certificate (CA_CERT) based on a platform public key (e.g., TEE public key) pre-stored in the data storage unit 12A (S1221). The evidence storage processing unit 1214 stores the evidence for the self-signed certificate (CA_CERT) in the data storage unit 12A (S1214).
[0023] The reference value registration request unit 1215 executes a reference value registration request along with the nonce and the reference value (reference value) of the self-signed certificate (CA_CERT) (S1215). The reference value includes information that combines the identification information of the public key of the generated self-signed certificate (CA_CERT) and the identification information of the isolated execution environment (platform public key). The nonce, the reference value of the self-signed certificate (CA_CERT), and the reference value registration request are transmitted to the verification device 11 by the data transmission / reception unit 120.
[0024] The reference value registration unit 112 of the verification device 11 registers the reference value of the self-signed certificate (CA_CERT) in the data storage unit 11A (S112). The registration result generation unit 113 generates the registration result (S113). The registration result is transmitted to the certification authority device 12 by the data transmission / reception unit 110.
[0025] <<Registration process of the reference value of certificate (A) to the verification device 11>> The certification authority device 12 also registers the information issued when issuing a server certificate or client certificate (in this embodiment, certificate A or certificate B) as a reference value in the verification device 11. The reference value includes information that combines the identification information of the public key of the issued certificate and the identification information of the isolated execution environment (platform public key).
[0026] As shown in Figure 7, the key pair generation unit 131 of the certificate presenter device 13 generates a key pair consisting of a public key PK_A and a private key SK_A and stores it in the data storage unit 13A (S131). The certificate request unit 132 executes a certificate request along with the public key PK_A (S132). The public key PK_A and the certificate request are transmitted to the certification authority device 12 by the data transmission / reception unit 130.
[0027] The certificate generation unit 1216 of the certification authority device 12 generates a certificate for A (certificate presenter device 13) (CERT_A) based on the self-signed certificate (CA_CERT) and CA private key (SK_CA) stored in the data storage unit 12A, and stores A's certificate (CERT_A) in the data storage unit 12A (S1216).
[0028] Steps S1213, S1221, S1214, S1215, S112, and S113 are the same as the processes described above. However, here, evidence for CERT_A is generated and stored, the reference value for CERT_A is registered, and the registration result is generated.
[0029] The first certificate group generation unit 1217 generates a certificate group including a self-signed certificate (CA_CERT), evidence of the self-signed certificate (CA_CERT), certificate of A (CERT_A), and evidence of certificate of A (CERT_A) (S1217). The generated certificate group is transmitted to the certificate presenter device 13 by the data transmission / reception unit 120.
[0030] The certificate group storage processing unit 133 of the certificate presenter device 13 stores the certificate group in the data storage unit 13A (S133).
[0031] <<Verification process of self-signed certificate by B>> As shown in Figure 8, the certificate request unit 141 of the certificate verifier device 14 executes a certificate request (S141). The certificate request is transmitted to the certification authority device 12 by the data transmission / reception unit 140.
[0032] The second certificate group generation unit 1218 of the certification authority device 12 generates a certificate group including a self-signed certificate (CA_CERT) and evidence of the self-signed certificate (CA_CERT) (S1218). The generated certificate group is transmitted to the certificate verifier device 14 by the data transmission / reception unit 120.
[0033] The certificate group storage processing unit 142 of the certificate verifier device 14 stores the certificate group in the data storage unit 14A (S142). The binding confirmation unit 143 confirms the binding between the self-signed certificate (CA_CERT) and the evidence of the self-signed certificate (CA_CERT) (S143). The verification request unit 144 executes a verification request along with the evidence of the self-signed certificate (CA_CERT) (S144). The evidence of the self-signed certificate (CA_CERT) and the verification request are transmitted to the verification device 11 by the data transmission / reception unit 140.
[0034] The verification unit 114 of the verification device 11 performs verification based on the reference value of the self-signed certificate (CA_CERT) and the evidence of the self-signed certificate (CA_CERT) stored in the data storage unit 11A (S114). The verification result generation unit 115 generates the verification result (S115). The generated verification result is transmitted to the certificate verifier device 14 by the data transmission / reception unit 110.
[0035] The flag change unit 145 of the certificate verifier device 14 changes the flag of the self-signed certificate (CA_CERT) to a flag such as "(verified)" which means that the appropriateness check has been completed, thereby setting the self-signed certificate (CA_CERT) to a verified state (S145). This allows the certificate verifier device 14 to confirm the appropriateness of the self-signed certificate (CA_CERT).
[0036] The same process can be performed in the certificate presenter device 13 for the sequence shown in Figure 8.
[0037] ≪Verification process of self-signed certificate by A≫ As shown in Figure 9, the binding confirmation unit 134 of the certificate presenter device 13 confirms the binding of the self-signed certificate (CA_CERT) and the evidence of the self-signed certificate (CA_CERT) (S134). The verification request unit 135 executes a verification request along with the evidence of the self-signed certificate (CA_CERT) (S135). The evidence of the self-signed certificate (CA_CERT) and the verification request are transmitted to the verification device 11 by the data transmission / reception unit 130.
[0038] The verification unit 114 of the verification device 11 performs verification based on the reference value of the self-signed certificate (CA_CERT) and the evidence of the self-signed certificate (CA_CERT) stored in the data storage unit 11A (S114). The verification result generation unit 115 generates the verification result (S115). The generated verification result is transmitted to the certificate presenter device 13 by the data transmission / reception unit 110.
[0039] The first flag changing unit 136 of the certificate presenter device 13 changes the flag of the self-signed certificate (CA_CERT) to a flag such as "(Verified)" which means that the validity check has been completed, thereby setting the self-signed certificate (CA_CERT) to a verified state (S136).
[0040] The same process shown in Figure 9 can also be performed by the certificate verifier device 14.
[0041] <<Verification process of certificate (A) by B>> As shown in Figure 10, in steps S134, S135, S114, S115, and S136, the type of certificate is changed from a self-signed certificate (CA_CERT) to A's certificate (CERT_A), but otherwise the process is the same as described above.
[0042] The certificate verification unit 137 of the certificate presenter device 13 performs verification based on the verified certificate of A (CERT_A (verified)) and the verified self-signed certificate of A (CA_CERT (verified)) stored in the data storage unit 13A (S137).
[0043] The second flag changing unit 138 changes the flag of certificate A (CERT_A) to a flag such as "(self-verified)", which means that the certificate's own validity has been verified, and sets certificate A (CERT_A) to a verified state (S138). In this way, it is confirmed that the certificate (CERT_A) can be verified solely by certificate verification using a self-signed certificate (CA_CERT).
[0044] The certificate presentation unit 139 presents certificate A (CERT_A (self-verified)) (S139). The presented certificate A (CERT_A (self-verified)) is transmitted to the certificate verifier device 14 by the data transmission / reception unit 130.
[0045] The certificate verification unit 146 of the certificate verifier device 14 verifies the certificate (CERT_A (self-verified)) based on the verified self-certificate (CA_CERT (verified)) (S146). As a result, the receiving device (B, certificate verifier device 14) can prove the legitimacy of the transmitting device (A, certificate presenter device 13).
[0046] Thus, according to the certification authority verification system 1 of this embodiment, the local certification authority device (CA) 12 is operated under the isolated execution environment (for example, TEE), and through the verification device (Verifier) 11, the certificate issuance operation of the local certification authority device (CA) 12 under the isolated execution environment (for example, TEE) is verified, and the trust chain starting from the dynamically generated local certification authority device (CA) 12 is utilized to construct a dynamic inter-functional authentication service and a data verification function.
[0047] Also, since the certification authority verification system 1 of this embodiment has the above-described configuration, the following functions (1) and (2) can be realized.
[0048] (1) A function to verify the appropriateness of the acquired CA certificate (self-certificate) when acquiring a CA certificate (self-certificate) for public key certificate verification from the certification authority device (CA) 12. (2) A function to verify whether an appropriate signature is given when attaching the signature of the certification authority device (CA) 12 to its own public key certificate. Comparing with the operation of a public certification authority device (CA), it can be seen that in this embodiment, the certification authority device (CA) 12 plays the role of an intermediate CA, and the verification device (Verifier) 11 plays the role of a root CA.
[0049] The CA certificate (self-certificate) is often incorporated into the certificate management function operating on the browser or the OS on which the browser operates. The CA certificate (self-certificate) is trusted when the OS or browser is installed or when the function is updated. However, in the case of a local CA, a function to separately verify the appropriateness of the CA certificate (self-certificate) is required. Therefore, the verification device (Verifier) 11 plays the role of that verification function.
[0050] Furthermore, the present invention may also include a device (terminal) for using the apparatus, system, or method of the present invention via a network (telecommunication line). The "device (terminal) for use" may be equipped with functions necessary to obtain the effects of implementing the apparatus, system, or method of the present invention (for example, control functions, decoding functions, restoration functions, input / output functions, etc.).
[0051] [Processors, Programs, Recording Media] The functions realized by the components described herein may be implemented in a circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to realize the functions described herein. A processor includes transistors and other circuits and is considered a circuitry or processing circuitry. A processor may be a programmed processor that executes a program stored in memory.
[0052] In this specification, circuitry, unit, and means are hardware programmed to perform or execute the functions described herein. Such hardware may be any hardware disclosed herein, or any hardware known to be programmed to perform or execute the functions described herein.
[0053] If the hardware is a processor that is considered to be a type of circuitry, then the circuitry, means, or unit is a combination of hardware and software used to constitute the hardware and / or processor.
[0054] The various processes described above can be carried out by loading a program that executes each step of the above method into the recording unit 10020 of the computer 10000 shown in Figure 11, and then causing the control unit 10010, input unit 10030, output unit 10040, display unit 10050, etc. to operate.
[0055] The program describing this process can be recorded on a computer-readable recording medium. Any computer-readable recording medium can be used, such as a magnetic recording device, optical disc, magneto-optical recording medium, or semiconductor memory.
[0056] A program describing this process may be included in a computer program product.
[0057] Furthermore, this program may be distributed, for example, by selling, transferring, or lending portable recording media such as DVDs or CD-ROMs on which the program is recorded. Alternatively, the program may be stored in the storage device of a server computer and distributed by transferring the program from the server computer to other computers via a network.
[0058] A computer executing such a program may, for example, first store the program recorded on a portable storage medium or a program transferred from a server computer in its own storage device. Then, when processing is to be executed, the computer reads the program stored on its own storage medium and executes the processing according to the read program. Alternatively, the computer may directly read the program from the portable storage medium and execute the processing according to that program, or it may sequentially execute the processing according to the received program each time a program is transferred to it from a server computer. Furthermore, the processing may be executed using a so-called ASP (Application Service Provider) type service, where the processing function is realized only by issuing execution instructions and obtaining results, without transferring the program from the server computer to this computer.In addition, the processing may be executed using a so-called SaaS (Software as a Service) type service, where a part of the server computer is made available to the user along with the program. Furthermore, the term "program" in this form includes information used for processing by an electronic computer that is equivalent to a program (data, etc., that is not a direct instruction to the computer but has the property of defining the computer's processing).
[0059] Furthermore, in this configuration, the device is configured by executing a predetermined program on a computer, but at least a part of these processes may be implemented in hardware.
Claims
1. A Certificate Authority Verification System comprising a verification device, a local Certificate Authority device operating in an isolated execution environment, a Certificate Presenter device acting as a server or client and utilizing a server certificate or client certificate, and a Certificate Verifier device acting as a server or client and verifying a presented certificate, wherein the Certificate Authority device includes a Self-Signed Certificate Generation Unit that generates a self-signed certificate which is the certificate of the Certificate Authority device itself, an Evidence Generation Unit that generates evidence for the self-signed certificate, and a Reference Value Registration Request Unit that executes a reference value registration request together with the reference value of the self-signed certificate, and the Verification Device includes a Reference Value Registration Unit that registers the reference value of the self-signed certificate.
2. A certification authority verification system according to claim 1, wherein the certificate presenter device includes a certificate request unit that executes a certificate request together with its public key, the certification authority device includes a certificate generation unit that generates a certificate for the certificate presenter device based on the self-signed certificate and its private key, the evidence generation unit generates evidence for the certificate presenter device's certificate, the reference value registration request unit executes a reference value registration request together with the reference value of the certificate presenter device's certificate, the verification device includes a reference value registration unit that registers the reference value of the certificate presenter device's certificate, the certification authority device includes a first certificate group generation unit that generates a certificate group including the self-signed certificate, evidence for the self-signed certificate, the certificate of the certificate presenter device, and evidence for the certificate presenter device's certificate, and a data transmission / reception unit that transmits the certificate group to the certificate presenter device.
3. A certification authority verification system according to claim 2, wherein the certificate verifier device includes a certificate request unit that executes a certificate request, the certification authority device includes a second certificate group generation unit that generates a group of certificates including the self-signed certificate and evidence of the self-signed certificate, the data transmission / reception unit of the certificate verifier device transmits the group of certificates including the self-signed certificate and evidence of the self-signed certificate to the certificate verifier device, the certificate verifier device includes a verification request unit that executes a verification request together with the evidence of the self-signed certificate, the verification device includes a verification unit that performs verification based on the reference value of the self-signed certificate and the evidence of the self-signed certificate, a verification result generation unit that generates a verification result, and a data transmission / reception unit that transmits the verification result to the certificate verifier device, and the certificate verifier device includes a flag change unit that changes the flag of the self-signed certificate to a flag that means that the suitability check has been completed.
4. A certification authority verification system according to claim 2, wherein the certificate presenter device includes a verification request unit that executes a verification request together with the evidence of the self-signed certificate, the verification device includes a verification unit that performs verification based on the reference value of the self-signed certificate and the evidence of the self-signed certificate, a verification result generation unit that generates a verification result, and a data transmission / reception unit that transmits the verification result to the certificate presenter device, and the certificate presenter device includes a first flag change unit that changes the flag of the self-signed certificate to a flag that means that the appropriateness check has been completed.
5. A certification authority verification system according to claim 3, wherein the certificate presenter device includes a verification request unit that executes a verification request together with evidence of the certificate of the certificate presenter device, the verification unit of the verification device executes verification based on the reference value of the certificate of the certificate presenter device and the evidence of the certificate of the certificate presenter device, the verification result generation unit of the verification device generates a verification result, the data transmission / reception unit of the verification device transmits the verification result to the certificate presenter device, the certificate presenter device includes a first flag change unit that changes the flag of the certificate of the certificate presenter device to a flag that means that the appropriateness check has been completed, a certificate verification unit that executes verification based on the verified certificate of the certificate presenter device and the verified self-certified certificate, a second flag change unit that changes the flag of the certificate of the certificate presenter device to a flag that means that the appropriateness check has been completed by the certificate presenter device itself, and a certificate presenting unit that executes the presentation of the certificate of the certificate presenter device that has been verified by the certificate presenter device itself, and the certificate verifier device includes a certificate verification unit that performs verification of the certificate of the certificate presenter device that has been verified by the certificate presenter device itself based on the verified self-certified certificate.
6. A Certificate Authority Verification Method performed by a verification device, a local Certificate Authority device operating in an isolated execution environment, a certificate presenter device acting as a server or client and utilizing a server certificate or client certificate, and a certificate verifier device acting as a server or client and verifying a presented certificate, wherein the Certificate Authority device performs the steps of: generating a self-signed certificate which is the certificate of the Certificate Authority device itself; generating evidence of the self-signed certificate; and performing a reference value registration request together with the reference value of the self-signed certificate; and the verification device performs the step of registering the reference value of the self-signed certificate.
7. A program that causes a computer to execute the certification authority verification method described in claim 6.