Quantum-secure timestamp server, timestamp issuing system and method

Through a quantum secure timestamp server and issuance system, the use of quantum keys and irreducible polynomial hashing functions is used to solve the security threat of the existing timestamp issuance process, ensuring the uniqueness and credibility of timestamps, and improving the response efficiency .

CN119109593AInactive Publication Date: 2024-12-10MATRICTIME DIGITAL TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411176313.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2024-12-10
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing timestamp issuance process has security threats, and traditional hashing algorithms have collision risks. The signature algorithm of digital certificates can be cracked by high computing power computers and quantum computers, resulting in the credibility of the timestamps being destroyed and tampered cannot be avoided. A situation occurs.

Method used

Using quantum-safe timestamp server and issuance system, quantum keys are used for encryption, decryption and hashing calculations, combined with irreducible polynomials to generate hash functions to ensure the uniqueness and immutability of timestamps, and through the National Timer Center and The clock module provides multi-source time values ​​to reduce the load on the timestamp server.

Benefits of technology

The safe issuance of timestamps is realized, ensuring the uniqueness and immutability of timestamps, improving the credibility of timestamps, and improving the response efficiency of timestamp servers to timestamp requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109593A_ABST
    Figure CN119109593A_ABST
Patent Text Reader

Abstract

The invention discloses a quantum security timestamp server, a timestamp issuing system and an issuing method. The system comprises a national time service center, a timestamp server, a user client and an identity issuing center, the national time service center is connected with the timestamp server, and the timestamp server, the identity issuing center and the user client are connected in pairs. The national time service center is used for transmitting a time value to the timestamp server; and the identity issuing center is used for issuing a server identity certificate to the timestamp server and issuing a user identity certificate to the user client. According to the timestamp issuing system and method provided by the invention, the issued timestamp is associated with the identity of the user to which the file belongs, the file and the identity of the server issuing the timestamp, so that the uniqueness of the issued timestamp is ensured, the non-tampering property of the timestamp is ensured through the verification process of the received timestamp by the user, and the user experience is improved. And the credibility of the timestamp is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of timestamps, and in particular to a quantum-safe timestamp server, a timestamp issuance system and an issuance method. Background Art

[0002] With the development of electronic information technology in many fields such as electronic contracts, e-commerce, medical care, intellectual property protection, etc., time is very important information in these fields; therefore, providing reliable time services to prevent the forgery and tampering of electronic document content has become a concern of the industry. Timestamp is a reliable time mark provided by a trusted third-party timestamp issuance system, which is mainly used to prove that the electronic document existed before a certain moment; its system uses a trusted time source to collect time, and uses the corresponding timestamp protocol and timestamp mechanism to issue timestamps. The existence of timestamps can effectively prevent the forgery and tampering of electronic document content.

[0003] There are two security threats in the existing timestamp issuance process: one is that the existing traditional hash algorithm has a collision risk and cannot safely guarantee the integrity of the data; the other is the signature algorithm based on digital certificates. It has been proven that some signature algorithms can be cracked by high-computing computers and quantum computers, which poses a security risk. Therefore, the existing timestamp server cannot avoid tampering with the timestamp during the issuance and transmission of the timestamp, resulting in the timestamp obtained by the user not being the real timestamp, and the credibility of the timestamp is destroyed.

[0004] In view of this, how to securely issue timestamps has become a concern in the current industry.

[0005] In recent years, quantum encryption technology has been developed. This technology is based on the basic principles of quantum mechanics and has theoretically unconditional security. It can theoretically resist attacks from quantum computers. It uses the unique properties of quantum states - it cannot be copied and will not be disturbed when measured, to build an unprecedented security barrier for data transmission. Because of this unique advantage, quantum encryption has attracted widespread attention and attention in the field of information security. In this technical context, this application proposes a quantum-secure timestamp issuance system and issuance method to solve the problem of securely issuing timestamps. Summary of the invention

[0006] Purpose of the invention: The purpose of the present invention is to provide a quantum-secure timestamp server, a timestamp issuance system and an issuance method, which solve the problem of how a timestamp server can issue timestamps securely.

[0007] Technical solution: The present invention provides a quantum-safe timestamp server, which includes: an input module, a decryption module connected to the input module, a timestamp server identity storage module, a time value receiving module, and a file receiving module connected to the decryption module, a time source module connected to the time value receiving module, a clock module connected to the time source module, a timestamp generation module connected to the timestamp server identity storage module, the time source module, and the file receiving module, a timestamp issuance module connected to the timestamp generation module, a timestamp storage module connected to the timestamp issuance module, an encryption module connected to the timestamp issuance module and the file receiving module, and an output module connected to the encryption module; and a key pool connected to the decryption module, the file receiving module, the timestamp generation module, and the encryption module;

[0008] The input module is used to receive data from the outside world;

[0009] The decryption module is used to decrypt the external ciphertext data received via the input module;

[0010] The timestamp server identity storage module is used to store the identity certificate of the timestamp server issued by the issuing center;

[0011] The time value receiving module is used to receive the time value issued by the National Time Service Center;

[0012] The file receiving module is used to receive the file to be timestamped sent by the user client, generate a hash function, and calculate the hash value using the hash function;

[0013] The time source module is used to receive the time value from the time value receiving module and receive the time value generated by the clock module;

[0014] The clock module is used to count the time based on the time value received by the time source module from the time value receiving module to obtain the time value counted locally;

[0015] The timestamp generation module generates a timestamp for the file based on a request sent by the user and transmits the timestamp to the timestamp issuance module;

[0016] The timestamp issuing module is used to issue the generated timestamp to the user client in need, and transmit the timestamp to the timestamp storage module;

[0017] The timestamp storage module is used to store timestamps;

[0018] The encryption module is used to encrypt the data sent out by the timestamp server;

[0019] The output module is used to output the encrypted ciphertext;

[0020] The key pool stores quantum keys, which are used to provide quantum keys for the encryption, decryption, and hash calculation processes in the timestamp issuance process.

[0021] The present invention also includes a quantum-safe timestamp issuance system, comprising: a national time service center, a timestamp server, a user client, and an identity issuance center, wherein the timestamp server is the server described in claim 1; the national time service center is connected to the timestamp server, and the timestamp server, the identity issuance center, and the user client are connected in pairs;

[0022] The National Time Service Center is used to transmit time values ​​to the timestamp server;

[0023] The identity issuance center is used to issue server identity certificates for the timestamp server and user identity certificates for the user client;

[0024] The timestamp server is used to verify the user identity information of the user client and generate and issue timestamps;

[0025] The user client requests a timestamp from the timestamp server according to its own needs, verifies the server identity information included in the timestamp, and finally accepts the timestamp.

[0026] The present invention also includes a method for issuing a timestamp based on a quantum-safe system, comprising the following steps:

[0027] (1) The user client sends a request req to the timestamp server to add a timestamp to the file doc;

[0028] (2) The timestamp server responds to the request req, generates a serial number NO for the timestamp issuance process, and feeds the serial number back to the user client and the identity issuance center;

[0029] (3) The timestamp server and the user client respectively request their own identity certificates from the identity issuing center. In response to the request, the identity issuing center issues and stores the public server certificate ID1-ser and the private server certificate ID2-ser to the timestamp server, and issues and stores the public user certificate ID1-user and the private user certificate ID2-user to the user client.

[0030] (4) The user client generates a first transmission file and sends it to the timestamp server; at the same time, the identity issuance center uses the encryption key a1 negotiated with the user client to encrypt the user client's private user certificate ID2-user to obtain a first ciphertext, and associates the first ciphertext with the serial number NO and the user client's public user certificate ID1-user to store, that is, store (NO, ID1-user, ID2-user⊕a1), and use the serial number NO and the user client's public user certificate ID1-user as the index of ID2-user⊕a1;

[0031] (5) The timestamp server verifies the integrity of the file doc to be timestamped in the received first transmission file and the legitimacy of the identity of the user client applying for the timestamp. If the verification is successful, the timestamp server generates a timestamp t(doc) and generates a second transmission file based on the timestamp t(doc) and sends it to the user client. If the verification fails, the server returns to step (3) and requests the timestamp again.

[0032] (6) The user client verifies the timestamp t(doc) in the second transmission file. If the verification succeeds, the timestamp t(doc) is received and added to the file doc. If the verification fails, the timestamp t(doc) is rejected and the process returns to step (3) to request the timestamp again.

[0033] Furthermore, the generation process of the privacy server certificate ID2-ser is as follows: the identity issuing center obtains the first random number QRN1 locally, concatenates the serial number NO, the public server certificate ID1-ser and the first random number QRN1 to obtain the privacy server certificate ID2-ser = (NO, ID1-ser, QRN1); similarly, the generation process of the privacy user certificate ID2-user is as follows: the identity issuing center obtains the second random number QRN2 locally, concatenates the serial number NO, the public user certificate ID1-user and the second random number QRN2 to obtain the privacy user certificate ID2-user = (NO, ID1-user, QRN2).

[0034] Furthermore, the specific process of the user client generating the first transmission file and sending it to the timestamp server is as follows:

[0035] First, the user client obtains a set of keys (v1, v2) from the local computer, uses v1 as a random number to generate an irreducible polynomial p0(x), and uses the irreducible polynomial p0(x) and key v2 to generate a hash function. Use this hash function Calculate the hash value of the file doc and get the hash value

[0036] Then, the user client negotiates with the identity issuance center about the encryption key a1 used to encrypt the private user certificate ID2-user. The user client encrypts the private user certificate ID2-user with the encryption key a1 and concatenates the second ciphertext ID2-user⊕a1 with the hash value H, and performs hash calculation on the concatenated file (ID2-user⊕a1, H) to obtain the first hash value h1.

[0037] The user client negotiates with the timestamp server a first transmission key k1, and uses the first transmission key k1 to encrypt the serial number NO of the timestamp application, the first hash value h1, the string str1 of the irreducible polynomial corresponding to the hash function used to generate the first hash value h1, the hash value H, and the public user certificate ID1-user of the user client to obtain a first transmission file, which is [(NO, h1, str1, H, ID1-user) ⊕ k1]. Then the user client sends the first transmission file to the timestamp server;

[0038] The calculation process of the first hash value h1 is as follows: the user client obtains a set of keys w1 as random numbers from the local key pool to generate an irreducible polynomial p1(x). After obtaining the irreducible polynomial, the string consisting of the coefficients of each term except the highest term in the irreducible polynomial p1(x) is recorded as str1; then, the user client negotiates a set of keys (w2, w3) with the timestamp server, and the user client generates a hash function h1 using the irreducible polynomial p1(x) and the key w2. p1,w2 , using the hash function h p1,w2 Calculate the hash value of the file (ID2-user⊕a1,H) and get the first hash value h1=h p1,w2 (ID2-user⊕a1,H).

[0039] Furthermore, the specific process of the timestamp server verifying the integrity of the file doc to be timestamped in the received first transmission file and the legitimacy of the identity of the user client applying for the timestamp is as follows:

[0040] 1) The decryption module of the timestamp server uses the negotiated first transmission key k1 to decrypt the first transmission file [(NO, h1, str1, H, ID1-user) ⊕ k1] to obtain the decrypted serial number NO′, the second hash value h1′, the string str1′, the hash value H′, and the public user certificate ID1-user′ of the user client;

[0041] 2) The file receiving module of the timestamp server sends the decrypted serial number NO′ and the public user certificate ID1-user′ of the user client to the encryption module for encryption to obtain the third ciphertext, and then transmits the third ciphertext to the identity issuance center via the output module; the identity issuance center decrypts the third ciphertext to obtain the decrypted serial number NO′ and the public user certificate ID1-user′ of the user client, and then uses the serial number NO′ and the public user certificate ID1-user′ of the user client as indexes to index the ciphertext ID2-user⊕a1 of the private user certificate ID2-user of the user client;

[0042] 3) The identity issuance center negotiates with the timestamp server a second transmission key k2, uses the second transmission key k2 to encrypt the ciphertext ID2-user⊕a1 again to obtain ID2-user⊕a1⊕k2, and then sends ID2-user⊕a1⊕k2 to the timestamp server, that is, to the input module of the timestamp server;

[0043] 4) The decryption module of the timestamp server uses the second transmission key k2 to decrypt the ciphertext ID2-user⊕a1⊕k2 to obtain ID2-user′⊕a1, and transmits the decrypted ID2-user′⊕a1 to the file receiving module of the timestamp server; the file receiving module of the timestamp server then uses the coefficients of each term of the polynomial except the highest term corresponding to each bit of the decrypted string str1′ to generate an irreducible polynomial p′1(x) with the highest term coefficient being 1, and generates a hash function based on the irreducible polynomial p′1(x) and the negotiated key w2 Use this hash function Calculate the hash value of the decrypted ciphertext ID2-user′⊕a1 and the hash value H′ to get the third hash value The calculated third hash value h1″ is compared with the decrypted second hash value h1′ to see if they are consistent. If they are consistent, the verification is successful; if they are inconsistent, the verification fails, and the process returns to step (3) to request a timestamp again.

[0044] Furthermore, the specific process of the timestamp server generating the timestamp t(doc), and generating the second transmission file based on the timestamp t(doc) and sending it to the user client is as follows:

[0045] 1) The timestamp generation module of the timestamp server negotiates with the identity issuance center about the encryption key a2 used to encrypt the privacy server certificate ID2-ser based on the serial number NO′ of the timestamp application, and uses the encryption key a2 to encrypt the privacy server certificate ID2-ser of the timestamp server obtained from the timestamp server identity storage module to obtain the ciphertext ID2-ser⊕a2; at the same time, the identity issuance center also uses the encryption key a2 to encrypt the privacy server certificate ID2-ser of the timestamp server to obtain a third ciphertext, and associates the third ciphertext with the serial number NO and the public server certificate ID1-ser of the timestamp server for storage, that is, stores (NO, ID1-ser, ID2-ser⊕a2), and uses the serial number NO and the public server certificate ID1-ser of the timestamp server as the index of ID2-ser⊕a2;

[0046] 2) The timestamp generation module of the timestamp server obtains the third random number QRN3 locally, and concatenates the third random number QRN3 with the second hash value h1′, the time value T obtained from the time source module, the sequence number NO′ and the third ciphertext ID2-ser⊕a2 into a timestamp reference file timestamp, that is, timestamp = (h1′, T, NO′, QRN3, ID2-ser⊕a2);

[0047] 3) The timestamp generation module of the timestamp server obtains a set of keys u1 from the local key pool as random numbers to generate an irreducible polynomial p2(x). After obtaining the irreducible polynomial, the string consisting of the coefficients of each term except the highest term in the irreducible polynomial p2(x) is recorded as str2; then, the timestamp generation module of the timestamp server negotiates a set of keys (u2, u3) with the user client, and then uses the irreducible polynomial p2(x) and key u2 to generate a hash function h p2,u2 , using the hash function h p2,u2 Calculate the timestamp reference file timestamp hash value and get the timestamp t(doc)=h p2,u2 (timestamp);

[0048] 4) The timestamp generation module of the timestamp server sends the generated timestamp t(doc), string str2, serial number NO′, (h1′, T, NO′, QRN) in the timestamp reference file timestamp and the public server certificate ID1-ser to the timestamp issuance module, and records (h1′, T, NO′, QRN) as timestamp-1; the timestamp issuance module sends the serial number NO′ and the timestamp t(doc) to the timestamp storage module for associated storage, and the timestamp issuance module sends the timestamp t(doc), string str2, and the timestamp reference file timestamp to the timestamp storage module for associated storage. The timestamp-1 in amp and the public server certificate ID1-ser are sent to the encryption module, the encryption module negotiates with the user client a third transmission key k3, and uses the third transmission key k3 to encrypt the timestamp t(doc), the string str2, the timestamp-1 in the timestamp reference file timestamp and the public server certificate ID1-ser to obtain the second transmission file, which is (t(doc), str2, ID1-ser, timestamp-1)⊕k3; then the encryption module sends the second transmission file to the user client via the output module.

[0049] Furthermore, the specific process of the user client verifying the timestamp t(doc) in the second transmission file is as follows:

[0050] 1) The user client uses the negotiated third transmission key k3 to decrypt the received second transmission file, and obtains the decrypted timestamp t′(doc), string str2′, part timestamp-1′ of the timestamp reference file, and the public server certificate ID1-ser′ of the timestamp server;

[0051] 2) The user client sends the serial number NO and the public server certificate ID1-ser′ to the identity issuance center. The identity issuance center uses the serial number NO and the public server certificate ID1-ser′ as indexes to index the ciphertext ID2-ser⊕a2′ of the timestamp server’s privacy server certificate and sends it to the user client;

[0052] 3) The user client uses the coefficients of each item of the polynomial except the highest item in each bit of the decrypted string str2′ to generate an irreducible polynomial p′2(x) with the highest item coefficient being 1, and generates a hash function based on the irreducible polynomial p′2(x) and the negotiated key u2 Using a hash function Calculate the hash value of the decrypted timestamp reference file part timestamp-1′ and the obtained ciphertext ID2-ser⊕a2′ of the privacy server certificate to obtain the fourth hash value h2′=h′p2,u2 (timestamp-1′,ID2-ser⊕a2′), compare the calculated fourth hash value h2′ with the decrypted timestamp t′(doc) to see if they are consistent. If they are consistent, the verification is successful; if they are inconsistent, the verification fails, the user rejects the timestamp, and returns to step (3) to request the timestamp again.

[0053] Furthermore, the specific process of obtaining the time value T from the time source module is as follows:

[0054] First, the time value receiving module of the timestamp server receives the standard time value T issued by the National Time Service Center. 标 Then, the time value receiving module receives the standard time value T 标 Perform integrity authentication. After authentication, ensure that the received standard time value T 标 The time source module obtains the standard time value T from the time value receiving module. 标 The time value T used to generate this timestamp.

[0055] Furthermore, the specific process of obtaining the time value T from the time source module is as follows:

[0056] First, the time value receiving module of the timestamp server receives the standard time value T issued by the National Time Service Center. 标 Then, the time value receiving module receives the standard time value T 标 Perform integrity authentication. After authentication, ensure that the received standard time value T 标 Not tampered with; the time source module obtains the standard time value T from the time value receiving module 标 ; At standard time value T 标 Based on the standard time value T 标 Count the time and get a local time T 本 , the time source module obtains the local time T from the clock module 本 The time value T used to generate this timestamp.

[0057] Beneficial effects of the present invention:

[0058] (1) The timestamp issuance method proposed in the present invention is that the issued timestamp is associated with the user identity to which the file belongs, the file, and the server identity that issues the timestamp, thereby ensuring the uniqueness of the issued timestamp and the correspondence between the timestamp and the file. Through the user's verification process of the received timestamp, the timestamp is guaranteed to be tamper-proof, thereby improving the credibility of the timestamp.

[0059] (2) When the timestamp server receives frequent timestamp requests, the timestamp server introduces a time module to add a time value source for generating timestamps, effectively reducing the number of interactions between the timestamp server and the National Time Service Center. This makes it unnecessary for the timestamp server to wait for the National Time Service Center to send a response to the time value, thereby improving the response efficiency of the timestamp server to timestamp requests. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 A schematic diagram of a time stamp issuing system of the present invention;

[0061] Figure 2 It is a schematic diagram of the structure of the timestamp server of the present invention;

[0062] Figure 3 The figure is a flow chart of the method for issuing a timestamp according to the present invention. DETAILED DESCRIPTION

[0063] The present invention will be further described below in conjunction with the accompanying drawings and embodiments:

[0064] As mentioned in the background technology, the National Time Service Center is undoubtedly the best trusted time source for timestamps, but its uniqueness also means that if it is used as the only time source, it will cause the server to bear a huge load pressure and easily fail to respond. Therefore, how to ensure the safe issuance of timestamps while alleviating the load pressure of a timestamp server has become a technical problem that the industry urgently needs to solve.

[0065] In view of this, the present application proposes a quantum-safe timestamp issuance system for issuing quantum-safe timestamps. Figure 1 The time stamp issuing system comprises: a national time service center 1, a time stamp server 2, a user client 3 and an identity issuing center 4, wherein the national time service center 1 is connected to the time stamp server 2, and the time stamp server 2, the identity issuing center 4 and the user client 3 are connected in pairs. It can be understood that Figure 1 The one user client 3 connected to the timestamp server 2 and the identity issuing center 4 is only an example. In actual application scenarios, there may be multiple user clients 3 connected to the timestamp server 2 and the identity issuing center 4.

[0066] The National Time Service Center 1 serves as a trusted time source for timestamps and is used to transmit time values ​​to the timestamp server 2. The time values ​​are the time basis for the timestamp server 2 to generate timestamps. The identity issuance center 4 is used to issue a server identity certificate to the timestamp server 2 and a user identity certificate to the user client 3. The timestamp server 2 is used to verify the user identity information of the user client 3 and generate and issue timestamps. The user client 3 is a terminal that supports quantum security technology and stores the file doc to be timestamped. The user client 3 requests a timestamp from the timestamp server 2 according to its own needs, verifies the server identity information included in the timestamp, and finally accepts the timestamp.

[0067] In the above-mentioned time stamp issuing system, the time stamp server 2 has the following structure: Figure 2 As shown, it includes an input module 211, a decryption module 201 connected to the input module 211, a timestamp server identity storage module 212, a time value receiving module 213, and a file receiving module 214 connected to the decryption module 201, a time source module 216 connected to the time value receiving module 213, a clock module 215 connected to the time source module 216, a timestamp generation module 217 connected to the timestamp server identity storage module 212, the time source module 216, and the file receiving module 214, a timestamp issuance module 218 connected to the timestamp generation module 217, a timestamp storage module 219 connected to the timestamp issuance module 218, an encryption module 202 connected to the timestamp issuance module 218 and the file receiving module 214, an output module 210 connected to the encryption module 202, and a key pool 220 connected to the decryption module 201, the file receiving module 214, the timestamp generation module 217, and the encryption module 202;

[0068] Among them, the input module 211 is used to receive data from the outside world, and the data may specifically include time values, server identity certificates, files to be timestamped, etc.; since the data transmission outside the server involved in this application is all encrypted transmission, the decryption module 201 is used to decrypt the external data received via the input module 211; the timestamp server identity storage module 212 is used to store the identity certificate of the timestamp server issued by the issuing center; the time value receiving module 213 is used to receive the time value issued by the National Time Service Center 1. The file receiving module 214 is used to receive the file doc to be timestamped sent by the user client 3; the time source module 216 is used to receive the time value from the time value receiving module 213, and receive the time value generated by the clock module 215; the clock module 215 is used to count the time based on the time value from the time value receiving module 213 received by the time source module 216, and obtain the time value of the local count; the timestamp generating module 217 generates a timestamp for the file doc based on the request sent by the user, and transmits the timestamp to the timestamp issuing module 218 to execute the issuing process; the timestamp issuing module 218 is used to issue the generated timestamp to the user client 3 in need, and transmit the timestamp to the timestamp storage module 219; the timestamp storage module 219 is used to store the timestamp as a record for subsequent inspection; the encryption module 202 is used to perform encryption operations on the data sent out by the timestamp server; the output module 210 is used to output the encrypted ciphertext; the key pool 220 stores quantum keys, that is, quantum random numbers, which are used to provide quantum keys for the encryption, decryption, and hash calculation processes in the timestamp issuing process.

[0069] like Figure 3 Based on the above-mentioned timestamp issuance system and timestamp server, the present application also proposes a quantum-safe timestamp issuance method, which includes the following steps:

[0070] (1) The user client 3 sends a request req to the timestamp server 2 to add a timestamp to the file doc;

[0071] (2) The timestamp server 2 responds to the request req, generates a serial number NO for the timestamp issuance process, and feeds the serial number back to the user client 3 and the identity issuance center 4;

[0072] (3) The timestamp server 2 and the user client 3 respectively request their own identity certificates from the identity issuing center 4. In response to the request, the identity issuing center 4 issues and stores the public server certificate ID1-ser and the private server certificate ID2-ser to the timestamp server 2, and issues and stores the public user certificate ID1-user and the private user certificate ID2-user to the user client 3;

[0073] Among them, the generation process of the privacy server certificate ID2-ser includes: the identity issuance center 4 obtains the first random number QRN1 from the local, splices the serial number NO, the public server certificate ID1-ser and the first random number QRN1 to obtain the privacy server certificate ID2-ser = (NO, ID1-ser, QRN1). Similarly, the generation process of the privacy user certificate ID2-user includes: the identity issuance center 4 obtains the second random number QRN2 from the local, splices the serial number NO, the public user certificate ID1-user and the second random number QRN2 to obtain the privacy user certificate ID2-user = (NO, ID1-user, QRN2). The random numbers QRN1 and QRN2 here are, for example, true random numbers.

[0074] The time stamp server 2 receives and stores the public server certificate ID1-ser and the privacy server certificate ID2-ser in the time stamp server identity storage module 212 .

[0075] For each timestamp issuance process, the public server certificate ID1-ser generated and issued by the identity issuance center 4 for the timestamp server 2 may be the same each time, but due to the existence of the serial number NO and the first random number QRN1, the private server certificate ID2-ser in each timestamp issuance process is different. Similarly, the public user certificate ID1-user issued by the identity issuance center 4 for the user client 3 may be the same each time, but the private user certificate ID2-user is different each time.

[0076] (4) The user client 3 generates a first transmission file and sends it to the timestamp server 2. The specific process is as follows:

[0077] First, the user client 3 calculates the hash value H of the file doc to be timestamped. The calculation process is as follows: the user client 3 obtains a set of keys (v1, v2) from the local computer, uses v1 as a random number to generate an irreducible polynomial p0(x), and uses the irreducible polynomial p0(x) and key v2 to generate a hash function h p0,v2 ; Use this hash function Calculate the hash value of the file doc and get the hash value In the subsequent timestamp generation process, the hash value H is used to represent the file doc to be timestamped, so that the file doc to be timestamped only exists in the user client 3 and will not be transmitted to other parties, thereby ensuring the security of the file.

[0078] Then, the user client 3 negotiates with the identity issuance center 4 about the encryption key a1 used to encrypt the privacy user certificate ID2-user in the timestamp issuance process. The user client 3 uses the encryption key a1 to encrypt the privacy user certificate ID2-user, and then concatenates the second ciphertext ID2-user⊕a1 with the hash value H, and performs hash calculation on the concatenated file (ID2-user⊕a1, H) to obtain the first hash value h1;

[0079] The calculation process of the first hash value h1 is as follows: the user client 3 obtains a set of keys w1 as random numbers from the local key pool to generate an irreducible polynomial p1(x). After obtaining the irreducible polynomial, the string consisting of the coefficients of each term except the highest term in the irreducible polynomial p1(x) is recorded as str1; then, the user client 3 negotiates a set of keys (w2, w3) with the timestamp server 2, and the user client 3 generates a hash function using the irreducible polynomial p1(x) and the key w2. Use this hash function Calculate the hash value of the file (ID2-user⊕a1,H) and get the first hash value The serial number NO of the timestamp application, the first hash value h1, the string str1 of the irreducible polynomial corresponding to the hash function used to generate the first hash value h1, the hash value H and the public user certificate ID1-user of the user client 3 are encrypted as the first transmission file and sent to the timestamp server 2. That is, the user client 3 negotiates with the timestamp server 2 for the first transmission key k1, and uses the first transmission key k1 to encrypt the serial number NO of the timestamp application, the first hash value h1, the string str1 of the irreducible polynomial corresponding to the hash function used to generate the first hash value h1, the hash value H and the public user certificate ID1-user of the user client 3 to obtain the first transmission file, which is [(NO, h1, str1, H, ID1-user) ⊕ k1], and then the user client 3 sends the first transmission file to the timestamp server 2;

[0080] At the same time, the identity issuing center 4 also uses the encryption key a1 negotiated with the user client 3 to encrypt the private user certificate ID2-user of the user client 3 to obtain the first ciphertext, and associates the first ciphertext with the serial number NO and the public user certificate ID1-user of the user client 3 for storage, that is, stores (NO, ID1-user, ID2-user⊕a1), and uses the serial number NO and the public user certificate ID1-user of the user client 3 as the index of the ciphertext ID2-user⊕a1;

[0081] (5) The timestamp server 2 verifies the integrity of the file doc to be timestamped in the received first transmission file and the legitimacy of the identity of the user client 3 requesting the timestamp, to ensure that the file has not been tampered with during the transmission process. If the verification is successful, the timestamp server 2 generates a timestamp t(doc), and generates a second transmission file based on the timestamp t(doc) and sends it to the user client 3. If the verification fails, the process returns to step (3) to request the timestamp again. The specific process is as follows:

[0082] 1) The decryption module 210 of the timestamp server 2 uses the negotiated first transmission key k1 to decrypt the first transmission file [(NO, h1, str1, H, ID1-user) ⊕ k1] to obtain the decrypted serial number NO′, the second hash value h1′, the string str1′, the hash value H′, and the public user certificate ID1-user′ of the user client 3;

[0083] 2) The timestamp server 2 transmits the decrypted serial number NO′ and the public user certificate ID1-user′ of the user client 3 to the identity issuing center 4. The identity issuing center 4 uses the serial number NO′ and the public user certificate ID1-user′ of the user client 3 as an index to index the ciphertext ID2-user⊕a1 of the private user certificate ID2-user of the user client 3; that is, the file receiving module 214 of the timestamp server 2 sends the decrypted serial number NO′ and the public user certificate ID1-user′ of the user client 3 to the encryption module 202 The third ciphertext is encrypted and then transmitted to the identity issuing center 4 via the output module 210; the identity issuing center 4 decrypts the third ciphertext to obtain the decrypted serial number NO′ and the public user certificate ID1-user′ of the user client 3, and then uses the serial number NO′ and the public user certificate ID1-user′ of the user client 3 as indexes to index the ciphertext ID2-user⊕a1 of the private user certificate ID2-user of the user client 3; the negotiated first transmission key k1 and the key encrypted by the encryption module 202 are both from the key pool 220;

[0084] 3) The identity issuance center 4 negotiates with the timestamp server 2 for a second transmission key k2, uses the second transmission key k2 to encrypt the ciphertext ID2-user⊕a1 again to obtain ID2-user⊕a1⊕k2, and then sends ID2-user⊕a1⊕k2 to the timestamp server 2, i.e., to the input module 211 of the timestamp server 2; the second transmission key k2 here comes from the key pool 220;

[0085] 4) The decryption module 201 of the timestamp server 2 uses the second transmission key k2 to decrypt the ciphertext ID2-user⊕a1⊕k2 to obtain ID2-user′⊕a1, and transmits the decrypted ID2-user′⊕a1 to the file receiving module 214 of the timestamp server 2 for use; the file receiving module 214 of the timestamp server 2 then uses the coefficients of each term of the polynomial corresponding to each bit of the decrypted string str1′ except the highest term to generate an irreducible polynomial p′1(x) with the highest term coefficient being 1, and generates a hash function based on the irreducible polynomial p′1(x) and the negotiated key w2 Use this hash function Calculate the hash value of the decrypted ciphertext ID2-user′⊕a1 and the hash value H′ to get the third hash value The calculated third hash value h1″ is compared with the decrypted second hash value h1′ to see if they are consistent. If they are consistent, the verification is successful and the timestamp issuance process continues. If they are inconsistent, the verification fails, indicating that either the file has been tampered with during transmission or the identity authentication of the user client 3 has failed. In either case, the timestamp server 2 will not issue a timestamp for the file doc, and the process returns to step (3) to request a timestamp again.

[0086] During this process, since the transmission of the privacy user certificate ID2-user of the user client 3 between the identity issuance center 4 and the timestamp server 2 is transmitted and calculated in the form of ciphertext, there is no risk of leakage of the privacy user certificate of the user client 3 during this process, thereby ensuring the privacy and security of the identity of the user client 3 during the transmission process.

[0087] If the verification is successful, the timestamp server 2 generates a timestamp t(doc), and generates a second transmission file based on the timestamp t(doc) and sends it to the user client 3. The timestamp t(doc) is generated by the timestamp generation module 217 based on the time value provided by the time source module 216, the timestamp server identity certificate provided by the timestamp server identity storage module 212, and the serial number NO′ and the second hash value h1′ provided by the file receiving module 214. The specific process is as follows:

[0088] 1) The timestamp server 2 negotiates with the identity issuing center 4 the encryption key a2 used to encrypt the privacy server certificate ID2-ser in the timestamp issuance process based on the serial number NO′ of the timestamp application. Specifically, the timestamp generation module 217 of the timestamp server 2 negotiates with the identity issuing center 4 the encryption key a2 used to encrypt the privacy server certificate ID2-ser based on the serial number NO′ of the timestamp application. The encryption key a2 comes from the key pool 220. The timestamp generation module 217 uses the encryption key a2 to encrypt the privacy server certificate ID2-ser of the timestamp server obtained locally. The certificate is obtained from the timestamp server The ciphertext ID2-ser⊕a2 is obtained by the identity storage module 212; at the same time, the identity issuance center 4 also uses the encryption key a2 to encrypt the privacy server certificate ID2-ser of the timestamp server 2 to obtain the third ciphertext ID2-ser⊕a2, and associates the third ciphertext ID2-ser⊕a2 with the serial number NO and the public server certificate ID1-ser of the timestamp server 2 for storage, that is, (NO, ID1-ser, ID2-ser⊕a2) is stored, and the serial number NO and the public server certificate ID1-ser of the timestamp server 2 are used as indexes of ID2-ser⊕a2;

[0089] 2) The timestamp server 2 obtains the third random number QRN3 locally, and concatenates the third random number QRN3 with the second hash value h1′, the time value T obtained from the time source module 216, the sequence number NO′ and the third ciphertext ID2-ser⊕a2 into a timestamp reference file timestamp, that is, timestamp=(h1′,T,NO′,QRN3,ID2-ser⊕a2); the module that specifically performs this step in the timestamp server 2 is the timestamp generation module 217, and the time value T comes from the time source module 216;

[0090] In some embodiments, the method of obtaining the time value T from the time source module 216 is:

[0091] First, the time value receiving module 213 of the timestamp server 2 receives the standard time value T issued by the national time service center 1. 标 Then, the time value receiving module 213 receives the standard time value T 标 Perform integrity authentication to ensure that the received standard time value T 标 The time source module 216 obtains the standard time value T from the time value receiving module 213. 标 The time value T used to generate this timestamp.

[0092] In other embodiments, in order to reduce the time stamp server 2 constantly requesting time values ​​from the national time service center, the time stamp server 2 uses its own clock module 215, and the method for obtaining the time value T from the time source module 216 is:

[0093] The time source module 216 obtains the standard time value T from the time value receiving module 213 标 Based on the standard time value T 标 Count the time and get a local time T 本 The time source module 216 obtains the local time T from the clock module 215 本 As the time value T for generating this timestamp. The clock module 215 is only used as a supplement to the time value receiving module 213. When the timestamp requests received by the timestamp server 2 are too frequent and it is necessary to frequently request the time value from the national time service center 1, the timestamp server 2 can use the time value provided by the clock module 215 to reduce the number of interactions between the timestamp server 2 and the national time service center 1.

[0094] In the case of using the clock module 215 to obtain the local time value T, when the timestamp server 2 is used for the first time, a number threshold is set, and multiple timestamp requests within the number of times threshold all use the standard time value T received from the national time service center 1. 标 To generate a timestamp, during which the clock module 215 repeatedly obtains the standard time value T used to generate the timestamp in the time source module 216 标 The time value T obtained by counting the local time 本 For comparison, if each time T 本 Both with T 标 If they are equal, it can be considered that the time count in the clock module 215 is accurate, and the generated local time value T 本 For example, the time stamp server 2 responds to the first time stamp application received, and the time source module 216 obtains the first standard time value T from the time value receiving module 213. 标1 The clock module 215 obtains the first standard time value T from the time source module 216 标1 , and starts based on the first standard time value T 标1 The time stamp server 2 responds to the second time stamp application received, and the time source module 216 obtains the second standard time value T from the time value receiving module 213 标2 The clock module 215 obtains the second standard time value T from the time source module 216 标2 , and at the same time obtain the first standard time value T标1 Count the time to the second local time T at this moment 本2 The clock module 215 compares the second standard time value T 标2 and the second local time T 本2 ; Similarly, the clock module 215 compares the standard time value T multiple times 标 The local time T obtained by counting the local time 本 If the results of each comparison are equal, it means that the time counting of the clock module 215 is accurate, and the local time T obtained by the time source module 216 from the clock module 215 is 本 It can also be used as a time value basis for generating timestamps. In this way, the number of interactions between the timestamp server 2 and the national time service center 1 can be reduced to a certain extent. At the same time, the dual-source time value method can also allow the timestamp server 2 to respond to the user client 3's request for timestamps more quickly.

[0095] 3) The timestamp server 2 obtains a set of keys u1 as random numbers from the local key pool 220, that is, the timestamp generation module 217 of the timestamp server 2 obtains random numbers from the key pool 220 to generate an irreducible polynomial p2(x). After obtaining the irreducible polynomial, the string consisting of the coefficients of each term except the highest term in the irreducible polynomial p2(x) is recorded as str2; then, the timestamp generation module 217 in the timestamp server 2 negotiates a set of keys (u2, u3) with the user client 3, and then uses the irreducible polynomial p2(x) and the key u2 to generate a hash function h p2,u2 , using the hash function h p2,u2 Calculate the timestamp reference file timestamp hash value, and get the hash value to get the timestamp t(doc) = h p2,u2 (timestamp);

[0096] 4) The timestamp server 2 associates the serial number NO′ with the timestamp t(doc) for storage, and negotiates the third transmission key k3 with the user client 3, and uses the third transmission key k3 to encrypt the timestamp t(doc), the string str2, (h1′, T, NO′, QRN3) in the timestamp reference file timestamp, and the public server certificate ID1-ser to obtain the second transmission file, and record (h1′, T, NO′, QRN3) as timestamp-1. The second transmission file is (t(doc), str2, ID1-ser, timestamp-1)⊕k3; then the second transmission file is sent to the user client 3. Specifically, the timestamp generation module 217 of the timestamp server 3 sends the generated timestamp t(doc), string str2, serial number NO′, (h1′, T, NO′, QRN) in the timestamp reference file timestamp, namely timestamp-1, and the public server certificate ID1-ser to the timestamp issuance module 218. The timestamp issuance module 218 sends the serial number NO′ and the timestamp t(doc) to the timestamp storage module 219 for associated storage. The timestamp storage module 219 stores the timestamp t(doc) and the serial number NO′ in the form of a log for subsequent inspection. The timestamp issuance module 218 sends the timestamp t(doc), string str2, serial number NO′, and the public server certificate ID1-ser to the timestamp issuance module 218. 2. Timestamp-1 in the timestamp reference file timestamp and the public server certificate ID1-ser are sent to the encryption module 202 for transmission; the encryption module 202 negotiates the third transmission key k3 with the user client 3, and uses the third transmission key k3 to encrypt the timestamp t(doc), the string str2, the timestamp-1 in the timestamp reference file timestamp and the public server certificate ID1-ser to obtain the second transmission file, and the second transmission file is (t(doc), str2, ID1-ser, timestamp-1)⊕k3; the encryption module 202 sends the second transmission file to the user client 3 via the output module 210.

[0097] (6) The user client 3 verifies the timestamp t(doc) in the second transmission file. The specific process is as follows:

[0098] 1) The user client 3 uses the negotiated third transmission key k3 to decrypt the received second transmission file, and obtains the decrypted timestamp t′(doc), the string str2′, the part timestamp-1′ of the timestamp reference file, and the public server certificate ID1-ser′ of the timestamp server 2;

[0099] 2) The user client 3 sends the serial number NO and the public server certificate ID1-ser′ to the identity issuing center 4. The identity issuing center 4 uses the serial number NO and the public server certificate ID1-ser′ as indexes to index the ciphertext ID2-ser⊕a2′ of the privacy server certificate of the timestamp server 2, and sends it to the user client 3; that is, the user client 3 uses the serial number NO and the public server certificate ID1-ser′ as indexes to request the identity issuing center 4 for the ciphertext ID2-ser⊕a2′ of the privacy server certificate of the timestamp server 2 involved in this timestamp issuance process;

[0100] 3) User client 3 uses the coefficients of each item of the polynomial except the highest item in each bit of the decrypted string str2′ to generate an irreducible polynomial p′2(x) with the highest item coefficient being 1, and generates a hash function h′ based on the irreducible polynomial p′2(x) and the negotiated key u2 p2,u2 , using the hash function h′ p2,u2 Calculate the hash value of the decrypted timestamp reference file part timestamp-1′ and the obtained ciphertext ID2-ser⊕a2′ of the privacy server certificate to obtain the fourth hash value The fourth hash value h2′ obtained by the calculation is compared with the timestamp t′(doc) obtained by decryption. If they are consistent, the verification is passed, the timestamp t(doc) is received, and the timestamp t(doc) is added to the file doc; if they are inconsistent, the verification fails, the user client 3 rejects the timestamp, and returns to step (3) to request the timestamp again. Based on the above process, the timestamp server 2 securely issues the timestamp t(doc) to the user client 3, and the timestamp corresponds to the file doc requested by the user client 3 to be timestamped.

[0101] The invention proposes a quantum-safe timestamp issuance method, in which the issued timestamp is associated with the identity of the user client to which the file belongs, the file to be timestamped, and the identity of the server issuing the timestamp, thereby ensuring the uniqueness of the issued timestamp and the correspondence between the timestamp and the file. Through the user's verification process of the received timestamp, the timestamp is guaranteed to be tamper-proof and the credibility of the timestamp is improved.

Claims

1. A quantum-safe timestamp server, characterized in that: The server comprises: an input module, a decryption module connected to the input module, a timestamp server identity storage module, a time value receiving module, and a file receiving module connected to the decryption module, a time source module connected to the time value receiving module, a clock module connected to the time source module, a timestamp generation module connected to the timestamp server identity storage module, the time source module, and the file receiving module, a timestamp issuance module connected to the timestamp generation module, a timestamp storage module connected to the timestamp issuance module, an encryption module connected to the timestamp issuance module and the file receiving module, and an output module connected to the encryption module; and a key pool connected to the decryption module, the file receiving module, the timestamp generation module, and the encryption module; The input module is used to receive data from the outside world; The decryption module is used to decrypt the external ciphertext data received via the input module; The timestamp server identity storage module is used to store the identity certificate of the timestamp server issued by the issuing center; The time value receiving module is used to receive the time value issued by the National Time Service Center; The file receiving module is used to receive the file to be timestamped sent by the user client, generate a hash function, and calculate the hash value using the hash function; The time source module is used to receive the time value from the time value receiving module and receive the time value generated by the clock module; The clock module is used to count the time based on the time value received by the time source module from the time value receiving module to obtain the time value counted locally; The timestamp generation module generates a timestamp for the file based on a request sent by the user and transmits the timestamp to the timestamp issuance module; The timestamp issuing module is used to issue the generated timestamp to the user client in need, and transmit the timestamp to the timestamp storage module; The timestamp storage module is used to store timestamps; The encryption module is used to encrypt the data sent out by the timestamp server; The output module is used to output the encrypted ciphertext; The key pool stores quantum keys, which are used to provide quantum keys for the encryption, decryption, and hash calculation processes in the timestamp issuance process.

2. A quantum-secure timestamp issuance system, characterized in that: include: National timing center, time stamp server, user client and identity issuance center, the time stamp server is the server described in claim 1; The national time service center is connected to the time stamp server, and the time stamp server, the identity issuance center and the user client are connected in pairs; The National Time Service Center is used to transmit time values ​​to the timestamp server; The identity issuance center is used to issue server identity certificates for the timestamp server and user identity certificates for the user client; The timestamp server is used to verify the user identity information of the user client and generate and issue timestamps; The user client requests a timestamp from the timestamp server according to its own needs, verifies the server identity information included in the timestamp, and finally accepts the timestamp.

3. A method for issuing a quantum-safe timestamp based on claim 2, characterized in that: The following steps are involved: (1) The user client sends a request req to the timestamp server to add a timestamp to the file doc; (2) The timestamp server responds to the request req, generates a serial number NO for the timestamp issuance process, and feeds the serial number back to the user client and the identity issuance center; (3) The timestamp server and the user client respectively request their own identity certificates from the identity issuing center. In response to the request, the identity issuing center issues and stores the public server certificate ID1-ser and the private server certificate ID2-ser to the timestamp server, and issues and stores the public user certificate ID1-user and the private user certificate ID2-user to the user client. (4) The user client generates a first transmission file and sends it to the timestamp server; at the same time, the identity issuance center uses the encryption key a1 negotiated with the user client to encrypt the user client's private user certificate ID2-user to obtain a first ciphertext, and associates the first ciphertext with the serial number NO and the user client's public user certificate ID1-user to store, that is, store (NO, ID1-user, ID2-user⊕a1), and use the serial number NO and the user client's public user certificate ID1-user as the index of ID2-user⊕a1; (5) The timestamp server verifies the integrity of the file doc to be timestamped in the received first transmission file and the legitimacy of the identity of the user client applying for the timestamp. If the verification is successful, the timestamp server generates a timestamp t(doc) and generates a second transmission file based on the timestamp t(doc) and sends it to the user client. If the verification fails, the server returns to step (3) and requests the timestamp again. (6) The user client verifies the timestamp t(doc) in the second transmission file. If the verification succeeds, the timestamp t(doc) is received and added to the file doc. If the verification fails, the timestamp t(doc) is rejected and the process returns to step (3) to request the timestamp again.

4. The method according to claim 3, characterized in that The generation process of the privacy server certificate ID2-ser is as follows: the identity issuing center obtains the first random number QRN1 from the local, concatenates the serial number NO, the public server certificate ID1-ser and the first random number QRN1 to obtain the privacy server certificate ID2-ser = (NO, ID1-ser, QRN1); similarly, the generation process of the privacy user certificate ID2-user is as follows: the identity issuing center obtains the second random number QRN2 from the local, concatenates the serial number NO, the public user certificate ID1-user and the second random number QRN2 to obtain the privacy user certificate ID2-user = (NO, ID1-user, QRN2).

5. The method according to claim 3, characterized in that: The specific process of the user client generating the first transmission file and sending it to the timestamp server is as follows: First, the user client obtains a set of keys (v1, v2) from the local computer, uses v1 as a random number to generate an irreducible polynomial p0(x), and uses the irreducible polynomial p0(x) and key v2 to generate a hash function. Use this hash function Calculate the hash value of the file doc and get the hash value Then, the user client negotiates with the identity issuing center about the encryption key a1 used to encrypt the private user certificate ID2-user. The user client will use the encryption key a1 to encrypt the second ciphertext after the private user certificate ID2-user. Concatenate with hash value H and concatenate the concatenated file Perform hash calculation to obtain a first hash value h1; The user client negotiates with the timestamp server for a first transmission key k1, and uses the first transmission key k1 to encrypt the serial number NO of the timestamp application, the first hash value h1, the string str1 of the irreducible polynomial corresponding to the hash function used to generate the first hash value h1, the hash value H, and the public user certificate ID1-user of the user client to obtain a first transmission file, which is Then the user client sends the first transmission file to the timestamp server; The calculation process of the first hash value h1 is as follows: the user client obtains a set of keys w1 as random numbers from the local key pool to generate an irreducible polynomial p1(x). After obtaining the irreducible polynomial, the string consisting of the coefficients of each term except the highest term in the irreducible polynomial p1(x) is recorded as str1; then, the user client negotiates a set of keys (w2, w3) with the timestamp server, and the user client generates a hash function using the irreducible polynomial p1(x) and the key w2. Use this hash function Calculation File The hash value of the first hash value is obtained 6. The method according to claim 5, characterized in that The specific process of the timestamp server verifying the integrity of the file doc to be timestamped in the received first transmission file and the legitimacy of the identity of the user client applying for the timestamp is as follows: 1) The decryption module of the timestamp server uses the negotiated first transmission key k1 to decrypt the first transmission file Decrypt to obtain the decrypted serial number NO′, the second hash value h1′, the string str1′, the hash value H′, and the public user certificate ID1-user′ of the user client; 2) The file receiving module of the timestamp server sends the decrypted serial number NO′ and the public user certificate ID1-user′ of the user client to the encryption module for encryption to obtain the third ciphertext, and then transmits the third ciphertext to the identity issuance center via the output module; the identity issuance center decrypts the third ciphertext to obtain the decrypted serial number NO′ and the public user certificate ID1-user′ of the user client, and then uses the serial number NO′ and the public user certificate ID1-user′ of the user client as indexes to index the ciphertext of the private user certificate ID2-user of the user client. 3) The identity issuing center negotiates with the timestamp server a second transmission key k2, and uses the second transmission key k2 to convert the ciphertext Encrypt again Then Sent to the timestamp server, that is, sent to the input module of the timestamp server; 4) The decryption module of the timestamp server uses the second transmission key k2 to decrypt the ciphertext Decrypt to get The decrypted The file receiving module of the timestamp server is transmitted to the file receiving module of the timestamp server; the file receiving module of the timestamp server then uses the coefficients of each item of the polynomial except the highest item corresponding to each bit of the decrypted string str1′ to generate an irreducible polynomial p′1(x) with the highest item coefficient of 1, and generates a hash function based on the irreducible polynomial p′1(x) and the negotiated key w2 Use this hash function Calculate the decrypted ciphertext and the hash value H′ to obtain the third hash value The calculated third hash value h1″ is compared with the decrypted second hash value h1′ to see if they are consistent. If they are consistent, the verification is successful; if they are inconsistent, the verification fails, and the process returns to step (3) to request a timestamp again.

7. The method according to claim 6, characterized in that The specific process of the timestamp server generating the timestamp t(doc), and generating the second transmission file based on the timestamp t(doc) and sending it to the user client is as follows: 1) The timestamp generation module of the timestamp server negotiates with the identity issuance center the encryption key a2 used to encrypt the privacy server certificate ID2-ser based on the serial number NO′ of the timestamp application, and uses the encryption key a2 to encrypt the privacy server certificate ID2-ser of the timestamp server obtained from the timestamp server identity storage module to obtain the ciphertext At the same time, the identity issuing center also uses the encryption key a2 to encrypt the private server certificate ID2-ser of the timestamp server to obtain the third ciphertext, and associates the third ciphertext with the serial number NO and the public server certificate ID1-ser of the timestamp server for storage, that is, storage And the serial number NO, the public server certificate ID1-ser of the timestamp server is used as The index of 2) The timestamp generation module of the timestamp server obtains a third random number QRN3 from the local, and adds the third random number QRN3 to the second hash value h1′, the time value T obtained from the time source module, the sequence number NO′ and the third ciphertext Spliced ​​into the timestamp reference file timestamp, that is 3) The timestamp generation module of the timestamp server obtains a set of keys u1 as random numbers from the local key pool to generate an irreducible polynomial p2(x). After obtaining the irreducible polynomial, the string consisting of the coefficients of each term except the highest term in the irreducible polynomial p2(x) is recorded as str2; then, the timestamp generation module of the timestamp server negotiates a set of keys (u2, u3) with the user client, and then uses the irreducible polynomial p2(x) and key u2 to generate a hash function Using a hash function Calculate the timestamp hash value of the timestamp reference file to get the timestamp 4) The timestamp generation module of the timestamp server sends the generated timestamp t(doc), string str2, serial number NO′, (h1′, T, NO′, QRN) in the timestamp reference file timestamp and the public server certificate ID1-ser to the timestamp issuance module, and records (h1′, T, NO′, QRN) as timestamp-1; the timestamp issuance module sends the serial number NO′ and the timestamp t(doc) to the timestamp storage module for associated storage, and the timestamp issuance module sends the timestamp t(doc), string str2, timestamp-1 in the timestamp reference file timestamp and the public server certificate ID1-ser to the encryption module, the encryption module negotiates with the user client a third transmission key k3, and uses the third transmission key k3 to encrypt the timestamp t(doc), string str2, timestamp-1 in the timestamp reference file timestamp and the public server certificate ID1-ser to obtain a second transmission file, which is Then the encryption module sends the second transmission file to the user client via the output module.

8. The method according to claim 7, characterized in that The specific process of the user client verifying the timestamp t(doc) in the second transmission file is as follows: 1) The user client uses the negotiated third transmission key k3 to decrypt the received second transmission file, and obtains the decrypted timestamp t′(doc), string str2′, part timestamp-1′ of the timestamp reference file, and the public server certificate ID1-ser′ of the timestamp server; 2) The user client sends the serial number NO and the public server certificate ID1-ser′ to the identity issuance center. The identity issuance center uses the serial number NO and the public server certificate ID1-ser′ as an index to index the ciphertext of the private server certificate of the timestamp server. And send it to the user client; 3) The user client uses the coefficients of each item of the polynomial except the highest item in each bit of the decrypted string str2′ to generate an irreducible polynomial p′2(x) with the highest item coefficient being 1, and generates a hash function based on the irreducible polynomial p′2(x) and the negotiated key u2 Using a hash function Calculate the decrypted timestamp reference file part timestamp-1′ and the ciphertext of the obtained privacy server certificate The hash value of The fourth hash value h2′ obtained by calculation is compared with the decrypted timestamp t′(doc) to see if they are consistent. If they are consistent, the verification is successful; if they are inconsistent, the verification fails, the user rejects the timestamp, and returns to step (3) to request the timestamp again.

9. The method according to claim 7, characterized in that: The specific process of obtaining the time value T from the time source module is as follows: First, the time value receiving module of the timestamp server receives the standard time value T issued by the National Time Service Center. 标 Then, the time value receiving module receives the standard time value T 标 Perform integrity authentication. After authentication, ensure that the received standard time value T 标 The time source module obtains the standard time value T from the time value receiving module. 标 The time value T used to generate this timestamp.

10. The method according to claim 7, characterized in that The specific process of obtaining the time value T from the time source module is as follows: First, the time value receiving module of the timestamp server receives the standard time value T issued by the National Time Service Center. 标 Then, the time value receiving module receives the standard time value T 标 Perform integrity authentication. After authentication, ensure that the received standard time value T 标 Not tampered with; the time source module obtains the standard time value T from the time value receiving module 标 ; At standard time value T 标 Based on the standard time value T 标 Count the time and get a local time T 本 , the time source module obtains the local time T from the clock module 本 The time value T used to generate this timestamp.

Citation Information

Patent Citations

  • Method and system for issuing unconditional trusted timestamp

    CN113986845A

  • Digital certificate generation method, identity authentication method, quantum CA authentication center and quantum CA authentication system

    CN114254284A

  • Quantum cloud verification

    GB202218986D0

  • Timestamp server, verification device, time stamp expiration date extension program, and verification program

    JP2018129563A