Safe and efficient certificate issuing and revocation method
Through the method of time sharding and private key update, the problem of large-scale certificate revocation after CA private key leakage is solved while the public key remains unchanged, and local certificate revocation is realized, reducing overhead and user impact.
Patent Information
- Application Number
- CN202510666144.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-22
- Publication Date
- 2025-08-12
AI Technical Summary
In the prior art, CA private keys need to be leaked globally, resulting in high computing, communication and storage overhead, and user service interruption, making it difficult to deal with emergency leakage incidents.
Through time sharding, private keys are updated while the public key remains unchanged, private keys for different time periods are generated, local certificate revocation is realized, forward security is ensured, and opponents are prevented from forging certificates from past time periods.
Reduces the overhead of certificate revocation, reduces the number of affected users, saves user time, and achieves efficient local certificate revocation after key leakage.
Smart Images

Figure CN120474718A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information security technology, and in particular to a safe and efficient certificate issuance and revocation method. Background Art
[0002] The current mainstream digital certificate system is built on the Public Key Infrastructure (PKI), whose core carrier is the public key certificate (Public Key Certificate) that complies with the X.509 standard. In this system, the Certificate Authority (CA) acts as a trusted third party responsible for accepting certificate applications, issuing certificates, managing certificates, and revoking certificates. Public key certificates serve as digital identity credentials for entities (including CAs, users, and relying parties). The CA uses a digital signature to bind the entity's identity information to the public key, thereby verifying user identity, ensuring public key ownership, and ensuring data transmission security and integrity. The public key certificate authentication system is widely used in scenarios such as the HTTPS protocol, bidding and tendering, and government systems. CAs ensure the authenticity of certificate information through a rigorous identity verification process and digitally sign the certificates using their own private keys. Relying parties (such as browsers and servers) verify the validity of the digital signature in the CA certificate to confirm the certificate's authenticity. When a CA private key leak causes a certificate to need revocation, the CA system updates the certificate status through two complementary mechanisms: a batch-based Certificate Revocation List (CRL) and the real-time Online Certificate Status Protocol (OCSP). Specifically, the CA adds data such as the certificate revocation time and unique serial number to the CRL file and distributes it to users. Simultaneously, a deployed OCSP responder receives user queries in real time and notifies users of the revocation status. However, the current CA certificate authentication system still suffers from numerous issues, such as single points of failure, CA private key leaks, and inefficient certificate revocation methods.
[0003] When faced with CA private key leaks, the traditional solution requires the CA to immediately reset the key, regenerate the public-private key pair, revoke all certificates issued with the leaked private key, and restart the certificate issuance process. However, this approach has significant drawbacks: large-scale certificate revocation incurs high computing, communication, and storage overhead, and users must reapply for certificates and wait for CA approval and issuance, resulting in business interruptions, increased time costs, and difficulty in efficiently responding to emergency leak incidents. Summary of the Invention
[0004] The purpose of the present invention is to overcome the deficiencies of the prior art and provide a safe and efficient certificate issuance and revocation method.
[0005] The object of the present invention is achieved through the following technical solutions: The present invention discloses a safe and efficient certificate issuance and revocation method, comprising the following steps: S1. System initialization: Initialize the system according to security parameters, determine the system's public parameters, encode the time period, and generate a certificate authority. An initial key pair comprising a first public key and a first private key; S2, certificate application and verification, user Select the identity ID and the second public key and send it as a message to the certificate authority , Certificate Authority The hash value of the message is calculated by the hash function; then the certificate authority For users The information generates a first certificate, and marks the first time period on the first certificate, and finally the certificate issuing authority Return the first certificate to the user ;user Send the first certificate to the relying party , relying party Reading and verifying the first certificate; S3, key update, enter the second time period , Certificate Authority Keep the first time period The public key remains unchanged for the first time period The private key is updated to obtain the second time period The private key of S4. Certificate revocation, if the certificate authority First time period detected If the key is leaked within 10 seconds, the first time period will be retained. All first certificates issued previously for the first time period Users within Revoke the first certificate and add it to the certificate revocation list (CRL); the certificate authority Generate a second key pair, including a third public key and a third private key; use the third private key to revoke the certificate for the user Re-issue the certificate and obtain the second certificate; Certificate Authority Notify users of revoked certificates of certificate and key pair updates ; On the client and server, replace the first certificate with the second certificate.
[0006] Furthermore, step S1 specifically includes the following steps: S11, determine the system common parameter set is { },in represents a prime number, and Indicates the order The group, Group The generator of represents a bilinear map, A constant indicating the length limit of the code; , Represents a user The message space, Indicates the output length is A secure hash function, represents a constant and satisfies ; From the group uniformly randomly selected elements in; maximum time slot ; S12. From finite fields The first integer is uniformly randomly selected from , calculate the first public key , from a finite field The second integer is uniformly randomly selected from , calculate the first tuple , take the first tuple as the first private key ; S13, the first time period through the character string To encode, the length of the string is , filled with the number 0, the non-zero part is encoded as = , , where the first code , Indicates an empty code, looking for the second code The longest substring of , the second code Prefix is , Represents the longest substring The tail is filled with 1, if the first code length , then the third code , Indicates the second code The tail is filled with 1, otherwise the third encoding , Represents the longest substring The tail is filled with 2.
[0007] Preferably, step S2 specifically includes the following steps: S21. User Select the identity ID and the second public key and use it as the message Send to the Certificate Authority ; S22. Certificate Authority Through secure hash function Calculation Message Hash value ; S23. Certificate Authority From a finite field The third integer is uniformly randomly selected from , calculate the second tuple , where the first result = , the second result = , Indicates the fourth code No. bit elements, Indicates the second encoding length, the third result = , the fourth result = ; S24. Certificate Authority According to the X.509 v3 certificate format, the signature information is written into the first certificate, and then the first certificate is issued to the user. The first certificate includes a certificate body, a signature algorithm, and a signature value; the certificate body includes a version number, a serial number, a signature algorithm, an issuer, a validity period, a subject, subject public key information, and an extension field; the signature algorithm is consistent with the signature algorithm in the certificate body to ensure consistency in signature generation and verification; the signature value is issued by the certificate authority The result of signing the first certificate content with the first private key is used to verify the integrity and authenticity of the certificate, from the finite domain The fourth integer is uniformly randomly selected from , calculate the signature ; S25. Relying Party By equation Authenticate User The credibility of the public key in the first certificate of , if the equality holds, then the user The public key in the first certificate is credible. If not, the user The public key in the first certificate is not trusted.
[0008] Preferably, in step S3, the first time period To the second time period , Certificate Authority Keep the first time period The public key remains unchanged for the first time period Private key Perform forward-safe updates to obtain a second time period Private key ; If the second code length , Certificate Authority Calculate the second tuple , through the fourth integer , calculate the third tuple ,in Indicates the fourth code Fill the tail with 1 and calculate the fourth tuple , Indicates the fourth code The tail is filled with 2, using the formula Calculate the private key for the second time period ; If the second code length ,but .
[0009] The beneficial effects of the present invention are: 1) Through time slicing, efficient key updates are performed while ensuring that the public key remains unchanged. Certificates are issued using the corresponding private keys in different time periods and forward security is ensured, thereby partitioning the certificates and implementing local certificate revocation after key leakage. This ensures that an adversary cannot use the private key corresponding to the current time period to forge certificates for past time periods, enabling local certificate revocation after key leakage, reducing revocation costs, reducing the number of users involved in certificate revocation, and saving user time. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 The figure is a schematic diagram of the steps of a secure and efficient certificate issuance and revocation method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0011] The following will clearly and completely describe the technical solutions of the present invention in conjunction with the embodiments. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work shall fall within the scope of protection of the present invention.
[0012] The present invention is used to solve the problem of how to implement partial certificate revocation after key leakage in the CA certificate system of X.509 certificate format; it provides a safe and efficient certificate issuance and revocation method with the function of partial revocation. The present invention divides the time period into slices, and under the premise of ensuring that the public key remains unchanged, performs efficient private key update operations in different time periods and uses the corresponding private key to issue certificates, ensuring that after the CA private key is leaked, the adversary cannot use the private key corresponding to the current time period to forge certificates for the past time period, that is, to achieve forward security, so that only the certificate corresponding to the current time period can be revoked to achieve partial revocation. The steps are shown in the figure below. Figure 1 As shown, the following steps are included: S1. System initialization: Initialize the system according to security parameters, determine the system's public parameters, encode the time period, and generate an initial key pair of the certificate authority CA, including a first public key and a first private key; S2, certificate application and verification, user Select the identity ID and the second public key and send it as a message to the certificate authority , Certificate Authority The hash value of the message is calculated by the hash function; then the certificate authority Generate a first certificate for the user's information, mark the first time period on the first certificate, and finally issue the certificate to the authority Return the first certificate to the user ;user Send the first certificate to the relying party , relying party Read and verify the first certificate; S3, key update, enter the second time period , Certificate Authority Keep the first time period The public key remains unchanged for the first time period The private key is updated to obtain the second time period The private key of S4. Certificate revocation, if the certificate authority First time period detected If the key is leaked within 10 seconds, the first time period will be retained. All first certificates issued previously (i.e. first time period To the third time period -1 within the first certificate), for the first time period Users within Revoke the first certificate and add it to the certificate revocation list (CRL); the certificate authority Generate a second key pair, including a third public key and a third private key; use the third private key to revoke the certificate for the user Re-issue the certificate and obtain the second certificate; Certificate Authority Notify users of revoked certificates of certificate and key pair updates ; On the client and server, replace the first certificate with the second certificate.
[0013] Specifically, step S1 includes the following steps: S11, determine the system common parameter set is { },in represents a prime number, and Indicates the order The group, Group The generator of represents a bilinear map, A constant indicating the length limit of the code; , Represents a user The message space, Indicates the output length is A secure hash function, represents a constant and satisfies ; From the group uniformly randomly selected elements in; maximum time slot ; S12. From finite fields The first integer is uniformly randomly selected from , calculate the first public key , from a finite field The second integer is uniformly randomly selected from , calculate the first tuple , take the first tuple as the first private key ; S13, the first time period through the character string To encode, the length of the string is , filled with the number 0, the non-zero part is encoded as = , , where the first code , Indicates an empty code, looking for the second code The longest substring of , the second code Prefix is , Represents the longest substring The tail is filled with 1, if the first code length , then the third code , Indicates the second code The tail is filled with 1, otherwise the third encoding , Represents the longest substring The tail is filled with 2.
[0014] Specifically, step S2 includes the following steps: S21. User Select the identity ID and the second public key and use it as the message Send to the Certificate Authority ; S22. Certificate Authority Through secure hash function Calculation Message Hash value ; S23. Certificate Authority From a finite field The third integer is uniformly randomly selected from , calculate the second tuple , where the first result = , the second result = , Indicates the fourth code No. bit elements, Indicates the second encoding length, the third result = , the fourth result = ; S24. Certificate Authority According to the X.509 v3 certificate format, write the signature and other information into the first certificate, and then issue the first certificate to the user ; The first certificate includes key fields such as the certificate body, signature algorithm and signature value; the certificate body Certificate Body is a sequence of fields, including version number Version, serial number Serial Number, signature algorithm Signature Algorithm, issuer Issuer, validity period Validity, subject Subject, subject public key information Subject Public Key Info and extension field Extensions; the version number Version is used to identify the certificate version number, counting from 0, for example v1=0, v2=1, v3=2; the serial number SerialNumber is the certificate issuing authority A unique integer value assigned to uniquely identify the first certificate; the signature algorithm represents the certificate authority The algorithm used for signing, such as SHA256-RSA; the Issuer represents the certificate authority The Validity field contains two timestamps: the certificate's effective date and the certificate's expiration date. The Subject field represents the identity of the certificate holder. The Subject Public Key Info field describes the public key and its algorithm of the certificate holder, such as an RSA public key. The Extensions field represents the core enhancements of X.509 v3, which are used to support more flexible certificate functions and include key usage, certificate policy, basic constraints, and other content, used to enhance the functionality of the certificate or regulate the use of the certificate. The signature algorithm is consistent with the signature algorithm in the certificate subject, which is used to ensure consistency in signature generation and verification. The Signature Value is generated by the certificate issuing authority. The result of signing the certificate content with the first private key is used to verify the integrity and authenticity of the first certificate, from the finite domain The fourth integer is uniformly randomly selected from , calculate the signature ; S25. Relying Party By equation Authenticate User The credibility of the public key in the first certificate of , if the equality holds, then the user The public key in the first certificate is credible. If not, the user The public key in the first certificate is not trusted.
[0015] Specifically, in step S3, from the first time period To the second time period , Certificate Authority Keep the first time period The public key remains unchanged for the first time period Private key Perform forward-safe updates to obtain a second time period Private key ; If the second code length , Certificate Authority Calculate the second tuple , through the fourth integer , calculate the third tuple ,in Indicates the fourth code Fill the tail with 1 and calculate the fourth tuple , Indicates the fourth code The tail is filled with 2, using the formula Calculate the private key for the second time period ; If the second code length ,but .
[0016] In summary, the present invention provides a secure and efficient method for issuing and revoking certificates, provides a secure and efficient key update algorithm, implements local certificate revocation, significantly reduces the computational, communication, and storage overhead of certificate revocation, reduces the scale of affected users, and saves user time.
[0017] The foregoing description is merely a preferred embodiment of the present invention. It should be understood that the present invention is not limited to the form disclosed herein and should not be construed as excluding other embodiments. Rather, the present invention can be used in various other combinations, modifications, and environments and can be modified within the scope of the concept described herein through the above teachings or techniques or knowledge in the relevant field. Modifications and variations made by those skilled in the art that do not depart from the spirit and scope of the present invention are intended to be protected by the appended claims.
Claims
1. A secure and efficient certificate issuance and revocation method, characterized in that: The following steps are involved: S1. System initialization: Initialize the system according to security parameters, determine the system's public parameters, encode the time period, and generate a certificate authority. An initial key pair comprising a first public key and a first private key; S2, certificate application and verification, user Select the identity ID and the second public key and send it as a message to the certificate authority , Certificate Authority The hash value of the message is calculated by the hash function; then the certificate authority For users The information generates a first certificate, and marks the first time period on the first certificate, and finally the certificate issuing authority Return the first certificate to the user ;user Send the first certificate to the relying party , relying party Reading and verifying the first certificate; S3, key update, enter the second time period , Certificate Authority Keep the first time period The public key remains unchanged for the first time period The private key is updated to obtain the second time period The private key of S4. Certificate revocation, if the certificate authority First time period detected If the key is leaked within 10 seconds, the first time period will be retained. All first certificates issued previously for the first time period Users within Revoke the first certificate and add it to the certificate revocation list (CRL); the certificate authority Generate a second key pair, including a third public key and a third private key; use the third private key to revoke the certificate for the user Re-issue the certificate and obtain the second certificate; Certificate Authority Notify users of revoked certificates of certificate and key pair updates ; On the client and server, replace the first certificate with the second certificate.
2. A safe and efficient certificate issuance and revocation method according to claim 1, characterized in that: Step S1 specifically includes the following steps: S11, determine the system common parameter set is { },in represents a prime number, and Indicates the order The group, Group The generator of represents a bilinear map, A constant indicating the length limit of the code; , Represents a user The message space, Indicates the output length is A secure hash function, represents a constant and satisfies ; From the group uniformly randomly selected elements in; maximum time slot ; S12. From finite fields The first integer is uniformly randomly selected from , calculate the first public key , from a finite field The second integer is uniformly randomly selected from , calculate the first tuple , take the first tuple as the first private key ; S13, the first time period through the character string To encode, the length of the string is , filled with the number 0, the non-zero part is encoded as = , , where the first code , Indicates an empty code, looking for the second code The longest substring of , the second code Prefix is , Represents the longest substring The tail is filled with 1, if the first code length , then the third code , Indicates the second code The tail is filled with 1, otherwise the third encoding , Represents the longest substring The tail is filled with 2.
3. A safe and efficient certificate issuance and revocation method according to claim 2, characterized in that: Step S2 specifically includes the following steps: S21. User Select the identity ID and the second public key and use it as the message Send to the Certificate Authority ; S22. Certificate Authority Through secure hash function Calculation Message Hash value ; S23. Certificate Authority From a finite field The third integer is uniformly randomly selected from , calculate the second tuple , where the first result = , the second result = , Indicates the fourth code No. bit elements, Indicates the second encoding length, the third result = , the fourth result = ; S24. Certificate Authority According to the X.509 v3 certificate format, the signature information is written into the first certificate, and then the first certificate is issued to the user. The first certificate includes a certificate body, a signature algorithm, and a signature value; the certificate body includes a version number, a serial number, a signature algorithm, an issuer, a validity period, a subject, subject public key information, and an extension field; the signature algorithm is consistent with the signature algorithm in the certificate body to ensure consistency in signature generation and verification; the signature value is issued by the certificate authority The result of signing the first certificate content with the first private key is used to verify the integrity and authenticity of the certificate, from the finite domain The fourth integer is uniformly randomly selected from , calculate the signature ; S25. Relying Party By equation Authenticate User The credibility of the public key in the first certificate of , if the equality holds, then the user The public key in the first certificate is credible. If not, the user The public key in the first certificate is not trusted.
4. A secure and efficient certificate issuance and revocation method according to claim 3, characterized in that: In step S3, the first time period To the second time period , Certificate Authority Keep the first time period The public key remains unchanged for the first time period Private key Perform forward-safe updates to obtain a second time period Private key ; If the second code length , Certificate Authority Calculate the second tuple , through the fourth integer , calculate the third tuple ,in Indicates the fourth code Fill the tail with 1 and calculate the fourth tuple , Indicates the fourth code The tail is filled with 2, using the formula Calculate the private key for the second time period ; If the second code length ,but .