A digital evidence storage and verification method based on blockchain
By using spoofing and unblocking channels and physically uncloned functions PUF verification on the blockchain, the security and efficiency of digital evidence data storage and verification in the Internet of Things environment are solved, ensuring the integrity and origin of evidence data sex.
Patent Information
- Application Number
- CN202210699540.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-20
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2042-06-20
AI Technical Summary
In the IoT environment, the security storage and verification of digital evidence data faces the threat of cyber attacks, and data volatility and vulnerability lead to challenges across jurisdictions, making it difficult for users to safely upload and verify evidence data.
Using blockchain-based digital evidence storage and verification methods, the question-response pairs that generate identity information and share physically uncloned functions are initialized, and user-assisted authentication is used using spoofing and unblocking channels, and the physically uncloned function PUF is used. Verify the origin of evidence data.
It improves the security and efficiency of evidence storage and verification of evidence data, ensures the integrity and origin of data, and prevents interruptions of device replacement and attacks.
Smart Images

Figure CN115051811B_ABST
Abstract
Description
Technical Field
[0001] The present invention provides a digital evidence storage and verification method based on blockchain, which belongs to the technical field of digital evidence storage and verification. Background Art
[0002] Recently, blockchain has been proposed as a powerful tool for storing evidence data. It is a distributed system that can guarantee the integrity of the data stored. The explosive growth of smart devices and their reliance on wireless communication technology has increased the security threats faced by the Internet of Things (IoT). Cyber attacks faced by the IoT have brought arduous and unique challenges to digital forensics. This is because digital evidence data is potentially volatile and fragile, can quickly and easily cross jurisdictions, and in many cases may also be time / machine dependent.
[0003] Therefore, a blockchain-based digital evidence storage and verification method is proposed, which mainly solves the following problems: how can users securely upload their evidence data to the blockchain, and how can users verify the evidence data stored on the blockchain. In addition, the present invention utilizes a new protocol suite using a physical unclonable function (PUF) to store the characteristics of the client device on the blockchain, which is important for data verification because the PUF client can prove that the client's device has not been replaced. Summary of the invention
[0004] In order to overcome the deficiencies in the prior art, the present invention aims to solve the technical problem of providing an improved method for storing and verifying digital evidence based on blockchain.
[0005] In order to solve the above technical problems, the technical solution adopted by the present invention is: a digital evidence storage and verification method based on blockchain, comprising the following steps:
[0006] S1: Initialization. Before performing the verification of digital evidence, the client and server generate their own identity information. The evidence is stored on the client. The client and server share the challenge-response pair of the physical unclonable function.
[0007] S2: The client and server verify the data according to the evidence storage protocol respectively, and the data is written into the blockchain after verification;
[0008] S3: The verifier confirms whether the authentication data is legally recorded on the blockchain through the verification protocol and verifies whether the client is the client that previously uploaded the evidence data.
[0009] The information in step S1 includes:
[0010] Client C generates identity information ID C , the server S generates identity information IDS ;
[0011] Client C holds digital evidence data ED C ;
[0012] Client C and server S pre-share PUF-CRP challenge-response pair (C S , R S ).
[0013] The evidence storage protocol in step S2 specifically includes:
[0014] Server-side (S) algorithm:
[0015] Step S01: S from PUF-CRP (C S , R S ) Choose a challenge value C S ;
[0016] Step S02: S uses a common channel to convert M1=(ID S , C S ) is sent to C;
[0017] Step S03: S receives M2=(ID C , H C , E.D. C );
[0018] Step S04: S uses the hash digest code function hash to calculate H S =hash(R S , E.D. C );
[0019] Step S05: S compares H C and H S Are they equal? If not, the protocol is terminated; if they are equal, step S06 is continued;
[0020] Step S06: S uses the short hash code digest to calculate D S =digest(R S , E.D. C ||H C );
[0021] Client (C) algorithm:
[0022] Step C01: C receives M1=(ID S , C S );
[0023] Step C02: C uses the physical unclonable function PUF to calculate R C =PUF(CS );
[0024] Step C03: C uses the hash digest code function hash to calculate H C =hash(R C , E.D. C );
[0025] Step C04: C uses the common channel to convert M2=(ID C , H C , E.D. C ) is sent to S;
[0026] Step C05: C uses the short hash code digest to calculate D C =digest(R C , E.D. C ||H C );
[0027] Step C06: Permanently delete R C ;
[0028] Client C and server S respectively send D C and D S Convert to decimal number, then send the number through non-spoofing and non-blocking (NSB) channel, the user confirms whether the two numbers are equal, if not, the proof protocol terminates; otherwise, the user notifies the client and server of the result, and then the server runs the following steps:
[0029] Step S07: S converts the data {ID C , ID S , H C}Write to the blockchain.
[0030] Before the verifier communicates with the client in step S3, the verifier obtains a challenge-response pair (C V , R V ).
[0031] The specific steps of verifying the protocol in step S3 include:
[0032] Verifier (V) algorithm:
[0033] Step V01: V generates a random number N using a random number generator;
[0034] Step V02: V uses the normal channel to convert M3=(ID V , C V , N) is sent to D;
[0035] Step V03: V receives M4=(ID D , HD , E.D. C );
[0036] Step V04: V uses the hash digest code function hash to calculate H V =hash(R V , E.D. C );
[0037] Step V05: V vs. H D and H V Are they equal? If not, the protocol is terminated; if they are equal, continue to execute step V06;
[0038] Step V06: V calculates D using the short hash code digest V =digest(R V , E.D. C ||H V );
[0039] Client (D) algorithm:
[0040] Step D01: D receives M3=(ID V , C V , N);
[0041] Step D02: D uses the physical unclonable function PUF to calculate R D =PUF(C V );
[0042] Step D03: D uses the hash digest code function hash to calculate H D =hash(R D , E.D. C );
[0043] Step D04: D uses the common channel to convert M4=(ID C , H C , E.D. C ) is sent to V;
[0044] Step D05: D uses the short hash code digest to calculate D D =digest(R D , E.D. C ||H D );
[0045] Step D06: Delete R permanently D ;
[0046] Client D and verifier V respectively send D D and D VConvert to a decimal number and then send the number through the NSB channel. The user confirms whether the two numbers are equal. If not, the verification protocol aborts; otherwise, the user notifies D and V of the result, and the verifier runs the following steps:
[0047] Step V07: V will query the data on the blockchain {H D} exists. If it does not exist, the verification fails; if it exists, the verification succeeds.
[0048] The beneficial effects of the present invention compared with the prior art are as follows: the present invention designs and uses a non-deceptive and non-blocking NSB channel, and improves the efficiency and security of the authentication protocol by means of user-assisted authentication; the present invention uses the physical unclonable equation PUF as a verification method, which can verify the originality of the evidence data. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The present invention will be further described below in conjunction with the accompanying drawings:
[0050] Figure 1 The figure is a flowchart of the digital evidence storage and verification method based on blockchain of the present invention, in which (1) is the storage protocol part and (2) is the verification protocol part. DETAILED DESCRIPTION
[0051] like Figure 1 As shown, the blockchain-based digital evidence storage and verification method provided by the present invention includes two protocols: (1) a storage protocol for uploading evidence data from a client to a blockchain; and (2) a verification protocol for verifying whether the stored evidence data is on the blockchain.
[0052] The specific steps of the present invention are as follows:
[0053] initialization:
[0054] The client and server should generate their own identity information before executing the protocol; the evidence is stored on the client; the client and server should share the physical unclonable function (PUF) challenge-response pair (CRP) through a secure channel:
[0055] The client generates an identity ID C, The server generates an identity ID S ;
[0056] The client holds digital evidence data ED C ;
[0057] The client and server pre-share some PUF-CRP (C S , R S ).
[0058] Evidence Deposit Agreement:
[0059] Server-side (S) algorithm:
[0060] Step S01: S from PUF-CRP (C S , R S ) Choose a challenge value C S ;
[0061] Step S02: S uses a common channel to convert M1=(ID S , C S ) is sent to C;
[0062] Step S03: S receives M2=(ID C , H C , E.D. C );
[0063] Step S04: S uses the hash digest code function hash to calculate H S =hash(R S , E.D. C );
[0064] Step S05: S compares H C and H S Are they equal? If not, the protocol is terminated; if they are equal, step S06 is continued;
[0065] Step S06: S uses the short hash code digest to calculate D S =digest(R S , E.D. C ||H C ).
[0066] Client (C) algorithm:
[0067] Step C01: C receives M1=(ID S , C S );
[0068] Step C02: C uses the physical unclonable function PUF to calculate R C =PUF(C S );
[0069] Step C03: C uses the hash digest code function hash to calculate H C =hash(R C , E.D. C );
[0070] Step C04: C uses the common channel to convert M2=(ID C , H C , E.D.C ) is sent to S;
[0071] Step C05: C uses the short hash code digest to calculate D C =digest(R C , E.D. C ||H C );
[0072] Step C06: Permanently delete R C .
[0073] The client and server respectively set D C and D S Convert to a decimal number and then send the number through a non-spoofing and non-blocking (NSB) channel (for example, SMS verification or displaying the number on the device screen). The user confirms whether the two numbers are equal. If they are not equal, the proof protocol is terminated; otherwise, the user notifies the client and server of the result. The server then runs the following steps:
[0074] Step S07: S converts the data {ID C , ID S , H C}Write to the blockchain.
[0075] Authentication Protocol:
[0076] The verification protocol enables the verifier to confirm the evidence data (ED D ) is legally recorded on the blockchain, and can verify whether the client (D) is the client (C) that previously uploaded the evidence data. Before communicating with the client, the verifier obtains the challenge-response pair (C) from the server. V , R V ).
[0077] Verifier (V) algorithm:
[0078] Step V01: V generates a random number N using a random number generator;
[0079] Step V02: V uses the normal channel to convert M3=(ID V , C V , N) is sent to D;
[0080] Step V03: V receives M4=(ID D , H D , E.D. C );
[0081] Step V04: V uses the hash digest code function hash to calculate H V =hash(R V , E.D.C );
[0082] Step V05: V vs. H D and H V Are they equal? If not, terminate the protocol; if equal, continue to execute step V06.
[0083] Step V06: V calculates D using the short hash code digest V =digest(R V , E.D. C ||H V ).
[0084] Client (D) algorithm:
[0085] Step D01: D receives M3=(ID V , C V , N);
[0086] Step D02: D uses the physical unclonable function PUF to calculate R D =PUF(C V );
[0087] Step D03: D uses the hash digest code function hash to calculate H D =hash(R D , E.D. C );
[0088] Step D04: D uses the common channel to convert M4=(ID C , H C , E.D. C ) is sent to V;
[0089] Step D05: D uses the short hash code digest to calculate D D =digest(R D , E.D. C ||H D );
[0090] Step D06: Delete R permanently D .
[0091] Client D and verifier V respectively send D D and D V Convert to decimal and then send the number over the NSB channel. The user confirms whether the two numbers are equal, if not, the verification protocol aborts; otherwise, the human user notifies D and V of the result. The verifier then runs the following steps:
[0092] Step V07: V will query the data on the blockchain {H D} exists. If it does not exist, the verification fails; if it exists, the verification succeeds.
[0093] What needs to be explained about the specific structure of the present invention is that the connection relationship between the various component modules adopted in the present invention is definite and feasible. Except for the special instructions in the embodiments, the specific connection relationship can bring about the corresponding technical effects, and solve the technical problems raised by the present invention without relying on the execution of the corresponding software program. Except for the specific instructions, the models and connection methods of the components, modules and specific components appearing in the present invention belong to the existing technologies such as published patents, published journal articles, or common knowledge that can be obtained by technical personnel in this field before the application date, and there is no need to elaborate, so that the technical solution provided in this case is clear, complete and feasible, and the corresponding physical products can be reproduced or obtained according to the technical means.
[0094] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A digital evidence storage and verification method based on blockchain, characterized by: The steps include: S1: Initialization. Before the client C and the server S perform the verification of digital evidence, they generate their own identity information respectively. The evidence is stored in the client C. The client C and the server S share the challenge-response pair of the physical unclonable function. The information in step S1 includes: Client C generates identity information ID C , the server S generates identity information ID S ; Client C holds digital evidence data ED C ; Client C and server S pre-share PUF-CRP challenge-response pair (C S , R S ); S2: The client C and the server S perform verification according to the evidence storage protocol respectively, and the data is written into the blockchain after verification; The evidence storage protocol in step S2 specifically includes: Server-side (S) algorithm: Step S01: S from PUF-CRP (C S , R S ) Choose a challenge value C S ; Step S02: S uses a common channel to convert M1=(ID S , C S ) is sent to C; Step S03: S receives M2=(ID C , H C , E.D. C ); Step S04: S uses the hash digest code function hash to calculate H S =hash(R S , E.D. C ); Step S05: S compares H C and H S Are they equal? If not, the protocol is terminated; if they are equal, step S06 is continued; Step S06: S uses the short hash code digest to calculate D S =digest(R S , E.D. C ||H C ); Client (C) algorithm: Step C01: C receives M1=(ID S , C S ); Step C02: C uses the physical unclonable function PUF to calculate R C =PUF(C S ); Step C03: C uses the hash digest code function hash to calculate H C =hash(R C , E.D. C ); Step C04: C uses the common channel to convert M2=(ID C , H C , E.D. C ) is sent to S; Step C05: C uses the short hash code digest to calculate D C =digest(R C , E.D. C ||H C ); Step C06: Permanently delete R C ; Client C and server S respectively send D C and D S Convert to a decimal number, and then send the number through a non-spoofing and non-blocking (NSB) channel. The user confirms whether the two numbers are equal. If they are not equal, the proof protocol terminates; otherwise, the user notifies the client C and the server S of the result, and then the server S runs the following steps: Step S07: S converts the data {ID C , ID S , H C }Write to blockchain; S3: Verifier V confirms whether the authentication data is legally recorded on the blockchain through the verification protocol, and verifies whether client D is the client C that previously uploaded the evidence data; Before the verifier V communicates with the client D in step S3, the verifier V obtains a challenge-response pair (C V , R V ); The specific steps of verifying the protocol in step S3 include: Verifier (V) algorithm: Step V01: V generates a random number N using a random number generator; Step V02: V uses the normal channel to convert M3=(ID V , C V , N) is sent to D; Step V03: V receives M4=(ID D , H D , E.D. C ); Step V04: V uses the hash digest code function hash to calculate H V =hash(R V , E.D. C ); Step V05: V vs. H D and H V Are they equal? If not, the protocol is terminated; if they are equal, continue to execute step V06; Step V06: V calculates D using the short hash code digest V =digest(R V , E.D. C ||H V ); Client (D) algorithm: Step D01: D receives M3=(ID V , C V , N); Step D02: D uses the physical unclonable function PUF to calculate R D =PUF(C V ); Step D03: D uses the hash digest code function hash to calculate H D =hash(R D , E.D. C ); Step D04: D uses the common channel to convert M4=(ID D , H D , E.D. C ) is sent to V; Step D05: D uses the short hash code digest to calculate D D =digest(R D , E.D. C ||H D ); Step D06: Delete R permanently D ; Client D and verifier V respectively send D D and D V Convert to a decimal number and then send the number through the NSB channel. The user confirms whether the two numbers are equal. If not, the verification protocol aborts; otherwise, the user notifies D and V of the result, and then the verifier V runs the following steps: Step V07: V will query the data on the blockchain {H D } exists. If it does not exist, the verification fails; if it exists, the verification succeeds.
Citation Information
Patent Citations
Blockchain evidence storage verification method for providing address information
CN113078998A
Evidence storage verification method based on physical unclonable function algorithm
CN113098693A
Physically unclonable functions
GB202015508D0
