One-click key establishment method and device for multi-party evidence storage

By introducing timestamps and multi-party authentication methods in the blockchain evidence storage process, the problem of electronic evidence being tampered with during transmission is solved, and the effectiveness and security of electronic evidence are achieved.

CN114462062BActive Publication Date: 2025-08-15WUTONG CHAIN DIGITAL TECH RES INST (SUZHOU) CO LTD +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210091925.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-27
Publication Date
2025-08-15
Estimated Expiration
2042-01-27

AI Technical Summary

Technical Problem

During the process of depositing electronic evidence into the blockchain, how to ensure that it is not tampered with during transmission and supports multi-party authentication to improve effectiveness.

Method used

A multi-party authentication electronic evidence storage scheme based on timestamps is designed. Through session key negotiation between users, witnesses and blockchain servers, the integrity of electronic evidence is verified using hash functions and timestamps, and the authentication process of multi-witness parties is supported.

Benefits of technology

By adding timestamps and multi-party authentication, it ensures that electronic evidence is not tampered with during transmission, improving the effectiveness and security of electronic evidence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114462062B_ABST
    Figure CN114462062B_ABST
Patent Text Reader

Abstract

This invention provides a one-click key establishment method and device for multi-party evidence storage. This invention designs a timestamp-based electronic evidence storage solution that supports multi-party authentication, specifically for the process of uploading electronic evidence to a blockchain. Compared to conventional evidence storage processes, this invention incorporates timestamps into the authentication process and supports multiple witnesses, ensuring the validity of electronic evidence.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of blockchain technology, and in particular to a one-click key establishment method and device for multi-party evidence storage. Background Art

[0002] With the increasing popularity of the internet, electronic evidence has entered the public eye. To achieve its wider application, a key research topic is how to improve its effectiveness. While blockchain's tamper-resistant nature ensures the authenticity of evidence once it's stored on the blockchain, there's no guarantee against tampering during the transfer process. This has become a pressing technical challenge that needs to be addressed. Summary of the Invention

[0003] To address the above technical issues, the present invention provides a one-click key establishment method and device for multi-party evidence storage. Specifically, the present invention designs a timestamp-based electronic evidence storage solution that supports multi-party authentication for the process of uploading electronic evidence to a blockchain. Compared to conventional evidence storage processes, the present invention incorporates timestamps into the authentication process and supports multiple witnesses, ensuring the validity of electronic evidence.

[0004] The technical solutions adopted in the present invention are as follows:

[0005] A one-click key establishment method for multi-party evidence storage, which is applied to user A, witness W, and blockchain server B in the evidence storage process, and includes the following steps:

[0006] Step 1: Witness W negotiates with user A and blockchain server B to determine the session key Z AW , session key Z BW ;

[0007] Step 2: User A uses the session key Z AW Encrypt the electronic evidence ED and send the encrypted electronic evidence ED to the witness W;

[0008] Step 3: Witness W verifies the encrypted electronic evidence ED. If the verification passes, hash values H1 and H2 are calculated and sent to blockchain server B, and step 4 is executed. If the verification fails, the process ends.

[0009] Step 4: Blockchain server B verifies hash values H1 and H2. If the verification passes, hash value H1 is stored on the blockchain.

[0010] Furthermore, step 1 includes executing the following sub-steps at user A:

[0011] Step P01: Use the random number generator to generate a user random number r A, and get the current system timestamp t A ;

[0012] Step P02: Calculate the session key between user A and witness W Among them, y W Represents the long-term public key of the witness W;

[0013] Step P03, use the user random number r A To calculate the value Where g represents the base point on the elliptic curve;

[0014] Step P04: Use the current system timestamp t A and the session key Z AW The value r′=H(Z AW , t A );

[0015] Step P05, calculate the value s A =r A -x A r′ mod q, where x A represents the long-term private key of user A, and q represents the order of the elliptic curve;

[0016] Step P06: Use the normal channel to convert the value r A ′ and the value s A Sent to witness W.

[0017] Furthermore, step 1 includes executing the following sub-steps at the witness W:

[0018] Step C01: Receive the value r sent by user A through a common channel. A ′ and the value s A ;

[0019] Step C02: Calculate the session key between witness W and user A Among them, x W Represents the witness's long-term private key;

[0020] Step C03: Use the current system timestamp t W and the session key Z between user A and witness W AW To calculate the value r′=H(Z AW , t W );

[0021] Step C04: Verify the relationship Is it true, where g represents the base point on the elliptic curve, y A Represents the long-term public key of witness A;

[0022] If the relationship is established, the session key negotiation between user A and witness W is correct, and the process proceeds to step C05; if the relationship is not established, the key establishment process ends and the process exits.

[0023] Step C05: Generate a random number r using a random number generator W ;

[0024] Step C06: Calculate the key for the session between witness W and blockchain server B Among them, y B Represents the long-term public key of blockchain server B;

[0025] Step C07: Calculate the value

[0026] Step C08: Use the current system's timestamp t and session key Z BW The value r′=H(Z BW , t);

[0027] Step C09: Calculate the value s W =r W -x W r′ mod q, where x W Represents the long-term private key of the witness W;

[0028] Step C10: Use the normal channel to convert the value r W ′ and the value s W Sent to blockchain server B.

[0029] Furthermore, step 1 includes executing the following sub-steps at blockchain server B:

[0030] Step Y01: Receive the value r sent by the witness W through the normal channel W ′ and the value s W ;

[0031] Step Y02: According to the value r W ′ and the long-term private key x of blockchain server B B Calculate the session key

[0032] Step Y03: Use the current system timestamp t B and session key Z BW The value r′=H(Z BW , t B );

[0033] Step Y04: Verify the relationship Is it true, where g represents the base point on the elliptic curve, y B Represents the long-term public key of blockchain server B;

[0034] If the relationship is established, the session key negotiation between the witness W and the blockchain server B is correct; if the relationship is not established, the key establishment process ends and exits.

[0035] Furthermore, step 2 includes the following sub-steps:

[0036] Step AP01: Use session key Z AW Encrypt electronic evidence ED that needs to be uploaded to the blockchain to generate ciphertext

[0037] Step AP02: Use electronic evidence ED and session key Z AW Calculate the value H(Z AW , ED);

[0038] Step AP03: Use the normal channel to send the ciphertext and the value H(Z 4W , ED) is sent to the witness W.

[0039] Furthermore, step 3 includes the following sub-steps:

[0040] Step WC01: Receive the ciphertext sent by user A through the normal channel and the value H(Z AW , ED);

[0041] Step WC02: Use session key Z AW The symmetric decryption function for the ciphertext Decrypt and obtain decrypted electronic evidence

[0042]

[0043] Step WC03: Use the decrypted electronic evidence ED and session key Z AW The value H(Z AW , ED), and compare it with the value H(Z received from user A AW , ED) are compared. If the two are equal, the electronic evidence ED has not been tampered with during transmission, and step WC04 is continued; if the two are not equal, the process is exited;

[0044] Step WC04: Calculate a hash value H1=H(ED) based on the electronic evidence ED;

[0045] Step WC05: Based on the hash value H1 and the session key ZBW Calculate the hash value H2=H(Z BW , H1);

[0046] Step WC06: Send hash values H1 and H2 to blockchain server B through a common channel.

[0047] Furthermore, step 4 includes the following sub-steps:

[0048] Step BY01: Receive hash values H1 and H2 sent by witness W through a normal channel;

[0049] Step BY02: Verify the relationship H(Z BW , H1)=H2 is established. If the relationship is established, the data has not been tampered with during the transmission process, and step BY03 is continued; if the relationship is not established, the process is exited;

[0050] Step BY03: Store the hash value H1 on the blockchain.

[0051] Furthermore, the witness W includes multiple witnesses W i , the multiple witnesses W i Execute steps 1-4 with user A and blockchain server B respectively to store the data on the blockchain.

[0052] A one-click key establishment device for multi-party evidence storage, the device includes a memory and a processor, the memory stores one or more programs; when the one or more programs are executed by the processor, the processor implements the above method.

[0053] Through the embodiments of the present application, the following technical effects can be achieved: compared with the existing evidence storage process in the prior art, the present invention adds a timestamp in the authentication process and supports multiple witnesses to ensure the validity of electronic evidence. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present application, a brief introduction is given below to the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0055] Figure 1 Flowchart of the one-touch key establishment method. DETAILED DESCRIPTION

[0056] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0057] Figure 1 This is a flowchart of the one-click key establishment method. This one-click key establishment method uses exponential calculations to establish the key and uses timestamps to ensure key security. Key establishment can be completed by each party in three steps. Before introducing the method, the various parameters in the method are explained:

[0058] A: represents the user in the evidence storage process;

[0059] W: represents the witness in the evidence storage process;

[0060] B: represents the blockchain server in the evidence storage process;

[0061] g: represents the base point on the elliptic curve;

[0062] q: represents the order of the elliptic curve;

[0063] r A : represents the random number generated by the random generator for user A;

[0064] t: represents the timestamp of the current system;

[0065] x A : represents the long-term private key of user A;

[0066] y A : represents the long-term public key of user A;

[0067] x B : represents the long-term private key of blockchain server B;

[0068] y B : represents the long-term public key of blockchain server B;

[0069] x W : represents the long-term private key of the witness W;

[0070] y W : represents the long-term public key of the witness W;

[0071] r, r', s: represent the calculated values;

[0072] ED: stands for electronic evidence that needs to be uploaded to the blockchain;

[0073] Z: represents the session key;

[0074] H(·): represents the use of hash function;

[0075] Enc x (·): represents a symmetric encryption function using the key x;

[0076] Dec x (·): represents the symmetric decryption function using the key x.

[0077] The one-click key establishment method of the present application includes two stages: the first stage is the key establishment stage, and the second stage is the data storage stage. The method is applied to user A, witness W, and blockchain server B in the evidence storage process, and includes the following steps:

[0078] Step 1: Witness W negotiates with user A and blockchain server B to determine the session key Z AW , session key Z BW ;

[0079] Step 2: User A uses the session key Z AW Encrypt the electronic evidence ED and send the encrypted electronic evidence ED to the witness W;

[0080] Step 3: Witness W verifies the encrypted electronic evidence ED. If the verification passes, hash values H1 and H2 are calculated and sent to blockchain server B, and step 4 is executed. If the verification fails, the process ends.

[0081] Step 4: Blockchain server B verifies hash values H1 and H2. If the verification passes, hash value H1 is stored on the blockchain.

[0082] The following is a detailed description of the two stages.

[0083] 1. Key establishment phase

[0084] (1) P algorithm at user A:

[0085] The key establishment phase includes the following sub-steps for user A in the evidence storage process:

[0086] Step P01: Use the random number generator to generate a user random number r A , and get the current system timestamp t A ;

[0087] Step P02: Calculate the session key between user A and witness W Among them, y W Represents the long-term public key of the witness W;

[0088] Step P03, use the user random number r A To calculate the value Where g represents the base point on the elliptic curve;

[0089] Step P04: Use the current system timestamp t A and the session key Z AW The value r′=H(Z AW , t A );

[0090] Step P05, calculate the value s A =r A -x A r′ mod q, where x A represents the long-term private key of user A, and q represents the order of the elliptic curve;

[0091] Step P06: Use the normal channel to convert the value r A ′ and the value s A Sent to witness W.

[0092] (2) Algorithm C at witness W:

[0093] The key establishment phase includes the following sub-steps at the witness W in the evidence storage process:

[0094] Step C01: Receive the value r sent by user A through a common channel. A ′ and the value s A ;

[0095] Step C02: Calculate the session key between witness W and user A Among them, x W Represents the witness's long-term private key;

[0096] Step C03: Use the current system timestamp t W and the session key Z between user A and witness W AW To calculate the value r′=H(Z AW , t W );

[0097] Step C04: Verify the relationship Is it true, where g represents the base point on the elliptic curve, y A Represents the long-term public key of witness A;

[0098] If the relationship is established, the session key negotiation between user A and witness W is correct, and the process proceeds to step C05; if the relationship is not established, the key establishment process ends and the process exits.

[0099] Step C05: Generate a random number r using a random number generator W ;

[0100] Step C06: Calculate the key for the session between witness W and blockchain server B Among them, y B Represents the long-term public key of blockchain server B;

[0101] Step C07: Calculate the value

[0102] Step C08: Use the current system's timestamp t and session key Z BW The value r′=H(Z BW , t);

[0103] Step C09: Calculate the value s W =r W -x W r′ mod q, where x W Represents the long-term private key of the witness W;

[0104] Step C10: Use the normal channel to convert the value r W ′ and the value s W Sent to blockchain server B.

[0105] In the above algorithm, from step C01 to step C04, the session key Z between user A and witness W is completed. AW The negotiation from step C05 to step C10 realizes the session key Z between the witness W and the blockchain server B. BW consultation.

[0106] (3) Y algorithm at blockchain server B

[0107] Step Y01: Receive the value r sent by the witness W through the normal channel W ′ and the value s W ;

[0108] Step Y02: According to the value r W ′ and the long-term private key x of blockchain server B B Calculate the session key

[0109] Step Y03: Use the current system timestamp t B and session key Z BW The value r′=H(Z BW , t B );

[0110] Step Y04: Verify the relationship Is it true, where g represents the base point on the elliptic curve, y B Represents the long-term public key of blockchain server B;

[0111] If the relationship is established, the session key negotiation between the witness W and the blockchain server B is correct; if the relationship is not established, the key establishment process ends and exits.

[0112] In the above algorithm, the witness W negotiates a secure session key Z with the blockchain server B. BW .

[0113] 2. Data storage stage:

[0114] (1) P algorithm at user A:

[0115] Step AP01: Use session key Z AW Encrypt electronic evidence ED that needs to be uploaded to the blockchain to generate ciphertext

[0116] Step AP02: Use electronic evidence ED and session key Z AW Calculate the value H(Z AW , ED);

[0117] Step AP03: Use the normal channel to send the ciphertext and the value H(Z AW , ED) is sent to the witness W.

[0118] (2) Algorithm C at witness W:

[0119] Step WC01: Receive the ciphertext sent by user A through the normal channel and the value H(Z AW , ED);

[0120] Step WC02: Use session key Z AW The symmetric decryption function for the ciphertext Decrypt and obtain decrypted electronic evidence

[0121]

[0122] Step WC03: Use the decrypted electronic evidence ED and session key Z AW The value H(Z AW , ED), and compare it with the value H(Z received from user A AW, ED) are compared. If the two are equal, the electronic evidence ED has not been tampered with during transmission, and step WC04 is continued; if the two are not equal, the process is exited;

[0123] Step WC04: Calculate a hash value H1=H(ED) based on the electronic evidence ED;

[0124] Step WC05: Based on the hash value H1 and the session key Z BW Calculate the hash value H2=H(Z BW , H1);

[0125] Step WC06: Send hash values H1 and H2 to blockchain server B through a common channel.

[0126] (3) Blockchain server B processes Y algorithm:

[0127] Step BY01: Receive hash values H1 and H2 sent by witness W through a normal channel;

[0128] Step BY02: Verify the relationship H(Z BW , H1)=H2 is established. If the relationship is established, the data has not been tampered with during the transmission process, and step BY03 is continued; if the relationship is not established, the process is exited;

[0129] Step BY03: Store the hash value H1 on the blockchain.

[0130] In another embodiment, a piece of electronic evidence needs to be verified by multiple witnesses in the process of being put on the chain. i Only through authentication can the validity of electronic evidence be maximized. i The authentication process is consistent with the above-mentioned single witness W method.

[0131] In some embodiments, part or all of the computer program may be loaded and / or installed on the device via the ROM. When the computer program is loaded and executed, one or more steps of the method described above may be performed.

[0132] The functions described above in this application may be performed at least in part by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), and the like.

[0133] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0134] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0135] In addition, although adopting specific order to describe each operation, this should be understood as requiring such operation to be carried out in the specific order shown or in sequential order, or requiring that all illustrated operations should be carried out to obtain desired results. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although comprising some specific implementation details in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of separate embodiment can also be implemented in a single implementation in combination. On the contrary, the various features described in the context of a single implementation also can be implemented in a plurality of implementations individually or in the mode of any suitable subcombination.

[0136] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

Claims

1. A one-click key establishment method for multi-party evidence storage, which is applied to user A, witness W, and blockchain server B in the evidence storage process, characterized in that: The method comprises the following steps: Step 1: Witness W negotiates with user A and blockchain server B to determine the session key Z AW , session key Z BW ; Step 2: User A uses the session key Z AW Encrypt the electronic evidence ED and send the encrypted electronic evidence ED to the witness W; Step 3: Witness W verifies the encrypted electronic evidence ED. If the verification is successful, hash values H1 and H2 are calculated and sent to blockchain server B, and step 4 is executed. If the verification fails, the process ends; Step 4: Blockchain server B verifies hash values H1 and H2. If the verification passes, hash value H1 is stored on the blockchain. Step 1 includes executing the following sub-steps at user A: Step P01: Use the random number generator to generate a user random number r A , and get the current system timestamp t A ; Step P02: Calculate the session key between user A and witness W Among them, y W Represents the long-term public key of the witness W; Step P03, use the user random number r A To calculate the value Where g represents the base point on the elliptic curve; Step P04: Use the current system timestamp t A and the session key Z AW The value r'=H(Z AW ,t A ); Step P05, calculate the value s A =r A -x A r'modq, where x A represents the long-term private key of user A, and q represents the order of the elliptic curve; Step P06: Use the normal channel to convert the value r A ' and the value s A Sent to the witness W; Step 1 includes executing the following sub-steps at the witness W: Step C01: Receive the value r sent by user A through a common channel. A ' and the value s A ; Step C02: Calculate the session key between witness W and user A Among them, x W Represents the witness's long-term private key; Step C03: Use the current system timestamp t W and the session key Z between user A and witness W AW To calculate the value r'=H(Z AW ,t W ); Step C04: Verify the relationship Is it true, where g represents the base point on the elliptic curve, y A Represents the long-term public key of witness A; If the relationship is established, the session key negotiation between user A and witness W is correct, and the process proceeds to step C05; if the relationship is not established, the key establishment process ends and the process exits. Step C05: Generate a random number r using a random number generator W ; Step C06: Calculate the key for the session between witness W and blockchain server B Among them, y B Represents the long-term public key of blockchain server B; Step C07: Calculate the value Step C08: Use the current system's timestamp t and session key Z BW The value r'=H(Z BW ,t); Step C09: Calculate the value s W =r W -x W r'modq, where x W Represents the long-term private key of the witness W; Step C10: Use the normal channel to convert the value r W ' and the value s W Send to blockchain server B; Step 1 includes executing the following sub-steps at blockchain server B: Step Y01: Receive the value r sent by the witness W through the normal channel W ' and the value s W ; Step Y02: According to the value r W ' and the long-term private key x of blockchain server B B Calculate the session key Step Y03: Use the current system timestamp t B and session key Z BW The value r'=H(Z BW ,t B ); Step Y04: Verify the relationship Is it true, where g represents the base point on the elliptic curve, y B Represents the long-term public key of blockchain server B; If the relationship holds, the session key negotiation between witness W and blockchain server B is correct; if the relationship does not hold, the key establishment process ends and exits.

2. The method according to claim 1, characterized in that The step 2 includes the following sub-steps: Step AP01: Use session key Z AW Encrypt the electronic evidence ED that needs to be uploaded to the blockchain to generate the ciphertext Enc ZAW (ED); Step AP02: Use electronic evidence ED and session key Z AW Calculate the value H(Z AW ,ED); Step AP03: Use the normal channel to encode the ciphertext Enc ZAW (ED) and the value H(Z AW ,ED) is sent to the witness W.

3. The method according to claim 2, characterized in that The step 3 includes the following sub-steps: Step WC01: Receive the ciphertext Enc sent by user A through the normal channel ZAW (ED) and the value H(Z AW ,ED); Step WC02: Use session key Z AW The symmetric decryption function for the ciphertext Enc ZAW (ED) is decrypted to obtain the decrypted electronic evidence ED=Dec ZAW (Enc ZAW (ED)); Step WC03: Use the decrypted electronic evidence ED and session key Z AW The value H(Z AW ,ED), and compare it with the value H(Z AW ,ED) are compared. If the two are equal, the electronic evidence ED has not been tampered with during transmission, and step WC04 is continued; if the two are not equal, the process is exited; Step WC04: Calculate a hash value H1=H(ED) based on the electronic evidence ED; Step WC05: Based on the hash value H1 and the session key Z BW Calculate the hash value H2 = H(Z BW ,H1); Step WC06: Send hash values H1 and H2 to blockchain server B through a common channel.

4. The method according to claim 1, wherein The step 4 includes the following sub-steps: Step BY01: Receive hash values H1 and H2 sent by witness W through a normal channel; Step BY02: Verify the relationship H(Z BW , H1)=H2 is established. If the relationship is established, the data has not been tampered with during the transmission process, and step BY03 is continued; if the relationship is not established, the process is exited; Step BY03: Store the hash value H1 on the blockchain.

5. The method according to claim 1, wherein The witness W includes multiple witnesses W i , the multiple witnesses W i Execute steps 1-4 with user A and blockchain server B respectively to store the data on the blockchain.

6. A one-touch key establishment device for multi-party evidence storage, the device comprising a memory and a processor, characterized in that: The memory stores one or more programs; when the one or more programs are executed by the processor, the processor implements the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Block chain evidence storage method and device based on witness side and shared public key

    CN113612789A