A double random number based key escrow method

By combining the generation of double random numbers and key escrow services, the problem of insufficient security, convenience and stability of traditional U-KEY digital certificates in mobile and paperless scenarios is solved, and the non-repudiation, integrity and security of signatures are achieved, meeting the convenient signature needs of the digital age.

CN116015624BActive Publication Date: 2025-11-28INSPUR TIANYUAN COMM INFORMATION SYST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211530627.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-01
Publication Date
2025-11-28
Estimated Expiration
2042-12-01

AI Technical Summary

Technical Problem

Traditional U-KEY digital certificates have issues with security, convenience, and stability, and cannot meet the needs of mobile, convenient, and paperless scenarios.

Method used

By verifying user identity information and conducting liveness detection, two random numbers are generated, a key pair is calculated, a user device certificate and a signing key are generated using a key escrow service, and the key ciphertext is stored in the cloud to achieve dynamic encryption and verification of the signing key.

Benefits of technology

It establishes a trustworthy and secure environment, meets the needs of convenience and mobility, improves signature speed and stability, solves the security risks and hardware media dependence problems of traditional signature modes, and is suitable for paperless promotion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116015624B_ABST
    Figure CN116015624B_ABST
Patent Text Reader

Abstract

The application discloses a kind of key escrow methods based on double random number, it is related to information security technical field, including: by user identity information authentication and living body identification, generate double random number;According to the double random number and PIN code input by user, calculate and generate key pair, then, to key escrow service application user equipment certificate and signature key, key escrow service uses user equipment certificate to generate key pair, encrypts signature key to obtain key ciphertext, and user equipment certificate and key ciphertext are stored in cloud;When user requests authorization to use signature key, check random number consistency, signature validity, and after check passes, key escrow service uses signature key to process data to be signed and returns result;Key escrow service uses newly generated key pair to encrypt signature key to obtain new key ciphertext, and new key ciphertext is stored in cloud.The application can guarantee that signature is not repudiable, integrity, legality and security.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of information security, in particular to a key escrow method based on double random numbers. BACKGROUND

[0002] With the continuous development of information technology and the Internet, digital government affairs and electronic commerce are gradually mature and applied, and information sharing and interconnection have become the future trend of the information industry. Information technology has brought great convenience to people's life and work, improved social efficiency, but also faces many security challenges such as data leakage, eavesdropping, black attacks, etc. As an important means to protect information and network security, cryptographic technology has become an important symbol of a country's comprehensive national strength and competitiveness, and as a core technology of national self-control, it plays an increasingly important role in maintaining national security, promoting economic development, and protecting the interests of the people.

[0003] Cryptographic technology is a technology for encrypting, analyzing, identifying and confirming information and managing keys, which can realize online identity authentication, data text authenticity, data transmission confidentiality, non-repudiation and timeliness, and is widely used in electronic signature, security device, data encryption and many other scenes.

[0004] According to the technical features, cryptographic algorithms are mainly divided into three categories: symmetric encryption algorithm, asymmetric encryption algorithm, and hash (Hash) algorithm.

[0005] (i) Symmetric encryption algorithm, that is, private key encryption technology or single key encryption technology, the encryption key and the decryption key are the same, and the sender and the receiver use the same set of public and private keys to encrypt or decrypt information. Commonly used symmetric encryption algorithms include DES, AES, etc.

[0006] (ii) Hash (Hash) algorithm is an algorithm that accepts messages of arbitrary length as input and generates a fixed-length output, which is called message digest or fingerprint. Hash function can be used for message or file integrity verification, and commonly used hash algorithms include Hash-1, Hash-256, MD5, SM3.

[0007] (iii) Asymmetric encryption algorithm, asymmetric key encryption technology, a key pair is formed by public key and private key, the public key can be public, and the private key is kept by the key holder. When both parties encrypt and decrypt data using asymmetric key, the public key and the private key must be matched. When the private key is lost, all data encrypted by the public key cannot be decrypted. Common algorithms are RSA, SM2, etc. Digital certificate and digital signature are important applications of asymmetric encryption algorithm. By building a public key infrastructure (PKI) system, a mature and secure technology and specification is provided for online transactions and communication. It is a comprehensive hardware and software involved in the application, acceptance, production, issuance, revocation and management of certificates, and the important element is the digital certificate. Users can achieve identity authentication and information encryption processing by applying for a digital certificate, thereby providing security for various transactions and activities. The important components of the PKI system include authoritative, credible and professional third-party certification authority (CA), key management center, online certificate status query system, certificate revocation system, etc. According to the type of certificate holder, it can be divided into personal certificate, institution certificate and device certificate.

[0008] In many application scenarios, such as electronic contract, mobile signing of documents, mobile tour of hospital, paperless business hall, mobile law enforcement, etc., mobile, convenient and paperless operation mode is being sought to solve the drawbacks of paper-based mode, so as to save time and improve efficiency. However, the traditional U-KEY digital certificate has the following problems in security and ease of use:

[0009] First, PIN code input depends on the client host, and the host is not a trusted environment, which destroys the integrity of the U-key security system and has the risk of being used by illegal users.

[0010] Second, the traditional signature mode depends on hardware media and cannot meet the mobile and convenient scene.

[0011] Third, the traditional signature speed is slow, the stability is poor, and the hardware medium driver is not easy to be integrated.

[0012] How to provide a convenient, safe and trusted key management scheme based on paperless and mobile scene is a problem to be solved. SUMMARY

[0013] The present application provides a key management method based on double random numbers to solve the problems of security risk, dependence on hardware media, inconvenience and poor stability of the traditional signature mode.

[0014] The key management method based on double random numbers of the present application solves the above technical problems by adopting the following technical solutions:

[0015] A double-random number-based key escrow method, the method comprising:

[0016] (I) generating double random numbers through user identity information verification and live body identification;

[0017] (II) generating a key pair according to the double random numbers and PIN code input by the user, and then applying for a user device certificate and a signature key from a key escrow service, wherein the key escrow service generates a user device certificate using the key pair, encrypts the signature key to obtain a key ciphertext, and stores the user device certificate and the key ciphertext in the cloud;

[0018] (III) when the user requests to authorize the use of the signature key, checking the consistency of the random numbers and the validity of the signature, and after the checking passes, the key escrow service processes the data to be signed using the signature key and returns the result;

[0019] (IV) the key escrow service encrypts the signature key using a newly generated key pair to obtain a new key ciphertext, and stores the new key ciphertext in the cloud.

[0020] Step (I) is performed by generating double random numbers through user identity information verification and live body identification, and the specific process comprises:

[0021] The user calls a front-end service to verify identity information and live body identification, and if the verification fails, the user re-provides identity information and performs identity verification again, and after the verification passes, the front-end service sends the identity information and the live body identification result to the key escrow service, and stores the identity information and the live body identification result in the cloud;

[0022] After the verification passes, the front-end service requests the key escrow service to generate random numbers, the key escrow service generates double random numbers r1 and r2 using a cryptographic device, the key escrow service stores the corresponding user identity information and the random numbers r1 and r2 in the cloud, and returns the double random numbers r1 and r2 to the front-end service, and the front-end service displays the random number r1 to the user.

[0023] Step (II) is performed by generating a key pair according to the double random numbers and PIN code input by the user, and the specific process is as follows:

[0024] The user inputs the random numbers r1 and r2 and the PIN code,

[0025] The front-end service calculates d1 = KDF(PIN) and d2 = KDF(r2||PIN), calculates an elliptic curve point P1 = [d2]G, calculates an elliptic curve point P2 = [d2]G, and forms a key pair (d1, P1) for protecting the device certificate and a key pair (d2, P2) for protecting the signature key.

[0026] Step (two) is performed, and a user device certificate and a signature key are applied for from the key escrow service. The key escrow service generates the user device certificate by using a key pair, and encrypts the signature key to obtain key ciphertext. In this process, the following steps are specifically included:

[0027] The pre-service sends the public keys P1 and P2 and the random number r1 to the key escrow service. The key escrow service obtains the random number r1 and r2 from the cloud, and checks whether the random number r1 sent by the pre-service is consistent with the random number r1 stored in the cloud,

[0028] If the check is inconsistent, it means that the input is incorrect or there is a security problem,

[0029] If the check is consistent, the key escrow service sends the public key P1 and user information to the authentication center CA / RA, generates an SM2 certificate, and the SM2 certificate is the device certificate of the user,

[0030] At the same time, the key escrow service sends a signature key application to the cryptographic device to obtain the signature key C, and then uses the SM2 encryption algorithm to encrypt the signature key C by using the public key P2 to obtain the key ciphertext H2.

[0031] Step (three) is performed, and when the user requests to authorize the use of the signature key, the consistency of the random number and the validity of the signature are checked. The specific process is as follows:

[0032] The user calls the pre-service and sends the to-be-signed data F to the key escrow service. The key escrow service generates a random number r3 through the cryptographic device. The key escrow service stores the random number r3 in the cloud and returns it to the pre-service.

[0033] The user inputs the random number r2 and the PIN code. The pre-service calculates d3=KDF(r3||PIN), calculates the elliptic curve point P3=[d3]G, and forms the key pair (d3, P3) for protecting the signature key.

[0034] The pre-service sends the public key P3 and the random number r2 to the key escrow service. The key escrow service checks whether the random number r2 sent by the pre-service is consistent with the random number r2 stored in the cloud. If the check is inconsistent, it means that the input is incorrect or there is a security problem, and the key escrow service directly returns. If the check is consistent, the key escrow service obtains the key ciphertext H2 from the cloud and decrypts the key ciphertext H2 to obtain the signature key C.

[0035] Preferably, when the random number r1 / r2 sent by the pre-service is consistent with the random number r1 / r2 stored in the cloud, the key escrow service deletes the random number r1 / r2 stored in the cloud.

[0036] Step (three) is performed, and the key escrow service processes the to-be-signed data by using the signature key and returns the result. The specific steps are as follows:

[0037] The key escrow service forms a signature evidence by taking the to-be-signed data F and the decryption key ciphertext H2 to obtain the signature key C, and calculates an information digest Q by using a Hash256 algorithm;

[0038] The key escrow service sends the digest Q, the front-end service signs the information digest Q, random numbers r2 and r3 by using a private key d1 to obtain a signature value S2, and sends the signature value S2 to the key escrow service, and the key escrow service verifies the validity of the signature value S2 by using a public key P1;

[0039] The key escrow service sends the signature key C and the to-be-signed data F to the cryptographic device, the cryptographic device signs the to-be-signed data F to return a signature value S2', and the key escrow service synthesizes a signature result R and returns the signature result R to the front-end service.

[0040] In step (four), the key escrow service obtains a new key ciphertext by encrypting the signature key by using a newly generated key, and the specific operation includes:

[0041] After synthesizing the signature result R, the key escrow service encrypts the signature key C by using a public key P3 and an SM2 encryption algorithm to generate a key ciphertext H3, and stores the key ciphertext H3 to the cloud.

[0042] Compared with the prior art, the key escrow method based on double random numbers has the beneficial effects that:

[0043] (1) The key management method based on double random numbers builds a trusted and secure environment, and guarantees the non-repudiation, integrity, legality and security of the signature by checking the user action, identity and dynamic encryption of the key;

[0044] (2) The method can meet the convenience and mobility requirements of signing at any time and anywhere in the digital era, and can realize rapid integration with business systems in different industries and different scenarios, improve the signature speed and stability, and is more convenient for paperless promotion and application;

[0045] (3) The method uses a multi-random number security method and key cloud escrow, solves the problems of security risk, dependence on hardware medium, inconvenience and poor stability in the traditional signature mode, meets the requirements of mobility, convenience and paperless of various industries, and improves the efficiency of handling affairs. BRIEF DESCRIPTION OF DRAWINGS

[0046] Figure 1 is a flowchart of steps (one) and (two) in the embodiment one of the present application; Figure 1

[0047] Figure 2 is a flowchart of steps (three) and (four) in the embodiment one of the present application. Figure 2 DETAILED DESCRIPTION ​​

[0048] In order to make the technical solutions, the technical problems solved and the technical effects of the present application clearer, the technical solutions of the present application are described clearly and completely in the following in combination with specific embodiments.

[0049] Embodiment one:

[0050] In combination with the accompanying Figure 1 , 2 , the present embodiment proposes a key escrow method based on double random numbers, which comprises:

[0051] (1) By verifying the user identity information and the living body identification, double random numbers are generated, and the specific process comprises:

[0052] The user calls the pre-service to verify the identity information and the living body identification. If the verification fails, the user re-provides the identity information and then performs the identity verification again. If the verification passes, the pre-service sends the identity information and the living body identification result to the key escrow service, and stores the identity information and the living body identification result to the cloud at the same time.

[0053] After the verification passes, the pre-service requests the key escrow service to generate random numbers. The key escrow service generates double random numbers r1 and r2 by using the password device. The key escrow service stores the corresponding user identity information and the random numbers r1 and r2 to the cloud, and returns the double random numbers r1 and r2 to the pre-service at the same time. The pre-service displays the random number r1 to the user.

[0054] (2) According to the double random numbers and the PIN code input by the user, a key pair is calculated and generated. Then, the user device certificate and the signature key are applied to the key escrow service. The key escrow service generates the user device certificate by using the key pair, encrypts the signature key to obtain the key ciphertext, and stores the user device certificate and the key ciphertext in the cloud.

[0055] In this process, according to the double random numbers and the PIN code input by the user, a key pair is calculated and generated. The specific process is as follows:

[0056] The user inputs the random numbers r1 and r2 and the PIN code,

[0057] The pre-service calculates d1 = KDF(PIN), d2 = KDF(r2||PIN), calculates the elliptic curve point P1 = [d2]G, calculates the elliptic curve point P2 = [d2]G, and forms the key pair (d1, P1) of the protection device certificate and the key pair (d2, P2) of the protection signature key.

[0058] KDF, i.e. key derivation function, is used to derive key data from a shared secret bit string. In the key negotiation process, the key derivation function acts on the shared secret bit string obtained from the key exchange to generate the required session key or further encryption required key data.

[0059] ECC, full name Elliptic Curve Cryptography, is a kind of public key encryption algorithm based on elliptic curve mathematics.

[0060] In this process, the user equipment certificate and signature key are applied to the key escrow service, the key escrow service generates the user equipment certificate by using the key pair, and the signature key is encrypted to obtain the key ciphertext, and the specific process is as follows:

[0061] The pre-service sends the public keys P1, P2 and the random number r1 to the key escrow service, the key escrow service obtains the random numbers r1 and r2 from the cloud, and checks whether the random number r1 sent by the pre-service is consistent with the random number r1 stored in the cloud,

[0062] If the check is inconsistent, it means that the input is incorrect or there is a security problem,

[0063] If the check is consistent, the key escrow service deletes the random number r1 in the cloud, and then ① sends the public key P1 and the user information to the authentication center CA / RA to generate the SM2 certificate, which is the user's device certificate, and ② sends the signature key application to the cryptographic device to obtain the signature key C;

[0064] The key escrow service uses SM2 encryption algorithm to encrypt the signature key C by using the public key P2 to obtain the key ciphertext H2, and the specific process is as follows:

[0065] A random number generator is used to generate a random number k∈[1,n-1];

[0066] Calculate the elliptic curve point C1=[k]G=(x1,y1), and convert the data type of C1 to a bit string according to the SM2 elliptic curve public key encryption algorithm;

[0067] Calculate the elliptic curve point S=[h]P B , if S is an infinite point, report an error and exit;

[0068] Calculate the elliptic curve point [k]P B =(x2,y2), and convert the data type of coordinates x2 and y2 to a bit string according to the SM2 elliptic curve public key encryption algorithm;

[0069] Calculate t=KDF(x2||y2,klen), if t is a full 0 bit string, return;

[0070] Calculate C2=C⊕t;

[0071] Calculate C3=Hash(x2||M||y2);

[0072] The output ciphertext H2 = C1 || C3 || C2.

[0073] (III) When the user requests authorization to use the signature key, the consistency of the random number is checked, the validity of the signature is checked, and after the check passes, the key escrow service processes the data to be signed using the signature key and returns the result.

[0074] In this process, when the user requests authorization to use the signature key, the consistency of the random number is checked, the validity of the signature is checked, and the specific process is as follows:

[0075] The user calls the front-end service and sends the data to be signed F to the key escrow service, the key escrow service generates a random number r3 through a cryptographic device, and the key escrow service stores the random number r3 in the cloud and returns it to the front-end service;

[0076] The user inputs the random number r2 and the PIN code, the front-end service calculates d3 = KDF(r3 || PIN), calculates the elliptic curve point P3 = [d3]G, and forms the key pair (d3, P3) for protecting the signature key;

[0077] The front-end service sends the public key P3 and the random number r2 to the key escrow service, and the key escrow service checks whether the random number r2 sent by the front-end service is consistent with the random number r2 stored in the cloud. If the check is inconsistent, it means that the input is incorrect or there is a security problem, and it is returned directly. If the check is consistent, the key ciphertext H2 is obtained from the cloud, and the key ciphertext H2 is decrypted to obtain the signature key C.

[0078] This step decrypts the key ciphertext H2 to obtain the signature key C, and the specific process is as follows:

[0079] Take the bit string C1 from H2, convert the data type of C1 to an elliptic curve point, verify whether C1 satisfies the elliptic curve equation, and if not, report an error and exit;

[0080] Calculate the elliptic curve point S = [h]C1, and if S is an infinite point, report an error and exit;

[0081] Calculate [d C ]C1 = (x2, y2), and convert the coordinate x2 and y2 to a bit string;

[0082] Calculate t = KDF(x2 || y2, klen), and if t is a full 0 bit string, report an error and exit;

[0083] Take the bit string C2 from H2, and calculate C = C2 ⊕ t;

[0084] Calculate u = Hash(x2 || C || y2), take the bit string C3 from H2, and if u ≠ C3, report an error and exit;

[0085] The output signature key C.

[0086] In this process, the key escrow service processes the data to be signed using the signature key and returns the result, and the specific steps are as follows:

[0087] The key escrow service uses the signature key C obtained by processing the data to be signed F and the decryption key ciphertext H2 to form a signature evidence, and calculates the message digest Q using the Hash256 algorithm;

[0088] The key escrow service sends the digest Q, the front-end service signs the message digest Q, random numbers r2 and r3 using the private key d1 to obtain the signature value S2, and sends it to the key escrow service, which verifies the validity of the signature value S2 using the public key P1;

[0089] The key escrow service sends the signature key C and the data to be signed F to the cryptographic device, the cryptographic device signs the data to be signed F, returns the signature value S2', and the key escrow service synthesizes the signature result R and returns it to the front-end service.

[0090] (Four) The key escrow service uses the newly generated key to encrypt the signature key to obtain a new key ciphertext, and stores the new key ciphertext in the cloud, and the specific operation is as follows:

[0091] After synthesizing the signature result R, the key escrow service uses the public key P3 to encrypt the signature key C using the SM2 encryption algorithm to generate the key ciphertext H3, and stores the key ciphertext H3 in the cloud.

[0092] As can be seen from the above, the key escrow method based on double random numbers can guarantee the non-repudiation, integrity, legality and security of the signature, meet the convenience and mobility requirements of signing anytime and anywhere in the digital age, and solve the problems of security risks, dependence on hardware media, inconvenience and poor stability in traditional signature mode.

[0093] The above application specific examples have described the principles and implementation modes of the present application in detail, and these examples are only used to help understand the core technical content of the present application. Based on the above specific embodiments of the present application, any improvement and modification of the present application made by those skilled in the art without departing from the principles of the present application shall fall within the scope of the patent protection of the present application.

Claims

1. A double-random-number-based key escrow method, characterized by The method comprises: (1) generating double random numbers through user identity information verification and living body identification, the specific process comprising: The user calls the pre-service to verify the identity information and living body identification. If the verification fails, the user re-provides the identity information and performs identity verification again. After the verification passes, the pre-service sends the identity information and living body identification result to the key escrow service, and stores the identity information and living body identification result to the cloud at the same time; After the verification passes, the pre-service requests the key escrow service to generate random numbers. The key escrow service generates double random numbers r1 and r2 by using a cryptographic device. The key escrow service stores the corresponding user identity information and random numbers r1 and r2 to the cloud, and returns the double random numbers r1 and r2 to the pre-service. The pre-service displays the random number r1 to the user; (2) generating a key pair according to the double random numbers and PIN code input by the user, the specific process being as follows: The user inputs the random numbers r1 and r2 and the PIN code. The pre-service calculates d1=KDF(PIN) and d2=KDF(r2||PIN), calculates an elliptic curve point P1=[d2]G, calculates an elliptic curve point P2=[d2]G, and forms a key pair (d1, P1) of the protection device certificate and a key pair (d2, P2) of the protection signature key; Subsequently, the key escrow service applies for a user device certificate and a signature key. The key escrow service generates a user device certificate by using the key pair, encrypts the signature key to obtain a key ciphertext, and stores the user device certificate and the key ciphertext in the cloud. This process specifically comprises: The pre-service sends the public keys P1 and P2 and the random number r1 to the key escrow service. The key escrow service obtains the random number r1 and r2 from the cloud, checks whether the random number r1 sent by the pre-service is consistent with the random number r1 stored in the cloud. If the check is inconsistent, it indicates that the input is incorrect or there is a security problem. If the check is consistent, the key escrow service sends the public key P1 and the user information to the authentication center CA / RA to generate an SM2 certificate, which is the user's device certificate. At the same time, the key escrow service sends a signature key application to the cryptographic device to obtain a signature key C. Subsequently, the key escrow service uses the SM2 encryption algorithm to encrypt the signature key C by using the public key P2 to obtain a key ciphertext H2; (3) when the user requests to authorize the use of the signature key, the consistency of the random number and the validity of the signature are checked. After the check passes, the key escrow service processes the to-be-signed data by using the signature key and returns the result; The specific process of checking the consistency of the random number and the validity of the signature is as follows: The user calls the pre-service to send to-be-signed data F to the key escrow service. The key escrow service generates a random number r3 by using a cryptographic device. The key escrow service stores the random number r3 in the cloud and returns it to the pre-service; The user inputs the random number r2 and the PIN code. The pre-service calculates d3=KDF(r3||PIN), calculates an elliptic curve point P3=[d3]G, and forms a key pair (d3, P3) for protecting the signature key. The pre-service sends the public key P3 and the random number r2 to the key escrow service, and the key escrow service checks whether the random number r2 sent by the pre-service is consistent with the random number r2 stored in the cloud, If the check is inconsistent, it means that the input is incorrect or there is a security problem, and it is directly returned, If the check is consistent, the key ciphertext H2 is obtained from the cloud, and the key ciphertext H2 is decrypted to obtain the signature key C; (Four) The key escrow service uses the newly generated key to encrypt the signature key to obtain a new key ciphertext, and stores the new key ciphertext in the cloud. The specific operation includes: after the key escrow service synthesizes the signature result R, it uses the public key P3 to encrypt the signature key C by using the SM2 encryption algorithm to generate a new key ciphertext H3, and stores the new key ciphertext H3 to the cloud.

2. The dual-random-number based key escrow method of claim 1, wherein, When the random number r1 / r2 sent by the pre-service is consistent with the random number r1 / r2 stored in the cloud, the key escrow service deletes the random number r1 / r2 stored in the cloud.

3. The dual-random-number-based key escrow method of claim 1, wherein, Perform step (three), the key escrow service processes the data to be signed using the signature key and returns the result, the specific steps are as follows: The key escrow service forms a signature evidence by combining the data to be signed F and the decrypted key ciphertext H2 to obtain the signature key C, and calculates the information digest Q by using the Hash256 algorithm; The key escrow service sends the digest Q, and the pre-service uses the private key d1 to sign the information digest Q, the random numbers r2 and r3 to obtain a signature value S2, and sends it to the key escrow service, and the key escrow service uses the public key P1 to verify the validity of the signature value S2; The key escrow service sends the signature key C and the data to be signed F to the cryptographic device, the cryptographic device signs the data to be signed F, returns the signature value S2', the key escrow service synthesizes the signature result R, and returns it to the pre-service.

Citation Information

Patent Citations

  • Cloud key generation and application method

    CN108540486A

  • Public key password centralized service method based on fingerprint identification

    CN111447214A