Disclosure of Invention
In order to solve the problems in the prior art, the invention provides a copyright protection and tracing method combining a Physical Unclonable Function (PUF) and a blockchain technology. The PUF device uses its unique fingerprint for blockchain enrollment. These devices then incorporate invisible watermarking techniques to embed digital watermarks into the media. The watermark verification process is limited to devices, maintains confidentiality during extraction, verifies identity during copyright exchange, and facilitates blockchain-based copyright assignment traceability.
The technical scheme adopted for solving the technical problems is as follows: a copyright protection and tracing method based on physical unclonable function watermark and blockchain comprises the following steps:
PUF device enrollment: constructing a PUF device and generating a device fingerprint through a challenge-response mechanism; registering the device fingerprint on the blockchain and generating a public-private key pair;
A copyright registration step: the authenticated PUF device is used to submit a hash digest of the digital media file to the blockchain, creating a copyright identification.
Further, the method further comprises the step of copyright assignment: the copyright owner negotiates transaction details with the purchaser and records transaction information by using an intelligent contract, the copyright owner generates a copyright assignment identifier, a private key signature is used, then the signature is converted into a digital watermark to be embedded into a file, the copyright owner submits the watermark file and the copyright assignment identifier to a blockchain, and the watermark file is sent to the purchaser; the purchaser uses the private key to decrypt the information, extracts the digital watermark after the verification is successful, verifies the correctness of the watermark by using the public key of the copyright owner, and completes payment through the blockchain; the copyright assignment identification comprises an ID of the copyright identification recorded in the blockchain and an address of both parties of the transaction.
Further, the digital watermark embedding includes:
signing the copyright transfer mark by using an elliptic curve digital signature algorithm to generate a digital watermark;
Generating an embedded location key using a PUF device;
the digital watermark is embedded into the digital media according to an embedded location key, wherein the embedded location key comprises a random number and a modification operation.
Further, the digital watermark extraction includes:
extracting the embedded location key using the PUF device;
extracting a digital watermark from the digital medium according to the embedded location key;
the digital watermark signature is verified using an elliptic curve digital signature algorithm.
Further, for copyright assignment, tracing and attribution verification of copyright are realized through transaction information and watermark extraction processes of blockchain records.
Compared with the prior art, the invention has the beneficial effects that: the invention provides a method for generating a unique key for the embedded equipment by means of the characteristic of the physical unclonable function, so that the watermark based on the physical unclonable function is embedded into each digital media stored in the embedded equipment, and the physical attribution purpose of copyrights is achieved. In order to solve the problem of privacy disclosure in digital watermark extraction, a device (PUF device) realizing unclonable function properties is used to realize a secure digital watermark extraction process, so that the disclosure of the privacy of a copyright proof process is prevented. In order to ensure traceability of copyright assignment, PUF equipment is registered on a blockchain to ensure authenticity of information of both transaction parties in a copyright transfer process, and the problem of preventing counterfeiting identity is solved, and meanwhile, the traceability of the blockchain is realized by combining a secure digital watermark extraction process.
Detailed description of the preferred embodiments
In order that the invention may be readily understood, a more particular description thereof will be rendered by reference to specific embodiments that are illustrated in the appended drawings. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.
The invention provides a copyright protection and tracing method based on physical unclonable function watermarking and blockchain, which realizes safe and traceable digital copyright management by applying unclonable property of trusted hardware security primitive and traceable property of blockchain. In the invention, "copyright protection" is essentially a technical means for adding a physical device watermark to digital media to complete binding with the physical device, and by the technical means, the purpose of preventing copyright plagiarism or tampering is achieved.
The flow of the method is shown in figure 1, and mainly comprises the following steps: PUF device enrollment, copyright assignment flow, digital watermark embedding and extraction, and blockchain tracing.
(1) PUF device enrollment
First, the PUF device is built within a secure environment where the secure environment can ensure that the response to the challenge generated by the PUF device is not stolen and counterfeited. After initialization of the PUF device, a random number c should be chosen by the manufacturer and then sent as a challenge to the PUF device, which builds a digital fingerprint DF and helper data FE on SRAM, generates an original output o c using a function Gen (DF, FE, c) obfuscating the random number and then generates a response r using a Hash function Hash (o c), which is sent to the manufacturer, who then stores the device identifier id and challenge-response < c, r > assigned to the device during manufacture to a security database, which is the security fingerprint that verifies the PUF device.
Next, the manufacturer selects one blockchain node as a certification authority whose role is limited to the enrollment of PUF devices. It is connected to a secure database for device authentication and then specifies the public parameters required for generating public-private key pairs, including elliptic curves E a,b:y2=x3 + ax + b over a finite field F p, where p is a large prime number and a and b satisfy the condition 4a 3+27b2≠0 mod p,a,b∈Fp. Then the certification authority selects a big prime number n and its generator P E a,b in F p, selects a random number sk c in n as the private key, and calculates the public key pk c=skc ·p. The certification authority stores the private key and publishes the public parameters and the public key.
Finally, PUF devices need to be enrolled on the blockchain. The PUF device selects a random number sk e n as the device private key from the public parameter and calculates the device public key pk=sk·p. The device uses the function Gen (DF, FE, sk) confusion sk to generate the original output o sk and stores it in non-volatile memory. The PUF device then initiates an authentication request to the authentication authority, which together generates a temporary symmetric key for encrypting sensitive information by key agreement, the following communication being encrypted. The PUF device provides a device identifier id to the certification authority, the certification authority accesses the security database to obtain a challenge random number c corresponding to the id, sends the challenge random number c to the PUF device, the PUF device generates an original output o c by using a Gen (DF, FE, c), and then regenerates a response r by means of a Hash function (o c) and sends the response r to the certification authority, and the certification authority verifies < c, r >. If the verification passes, the certification authority issues a transaction on the chain, registers the device as a certification device, and stores the hash value of the parameters pk, pk as the address addr of the certification device on the blockchain. If the verification fails, the certificate authority will send a notification to the device asking for the registration procedure to be restarted.
(2) Copyright assignment flow
In the copyright assignment process, an authentication device is introduced as a holder of digital rights, and a device fingerprint of the authentication device is embedded in digital media. The copyright assignment only approves the authentication device which is registered in the blockchain, so that the user participating in the copyright assignment needs to hold the authentication device, thereby achieving the purpose that the identity cannot be counterfeited in the copyright assignment process. Copyright assignment includes two processes: and registering the copyright file and trading the copyright file.
A. copyright file registration
The digital media can be received by the block link to become a copyright file after being registered in the block chain, and the only way for the digital media to be registered as the copyright file is to upload the file hash digest to the block chain by the authentication device to generate the copyright identification. A copyright flag should contain: a file hash digest H (f) and the address addr of the copyright owner. Assuming an external memory stores a digital media f requiring copyright authentication, authentication device a computes a hash digest H (f) of f, packages H (f) and the address addr of device a into transaction TX r and sends to the blockchain. After the verification node in the blockchain verifies the transaction, the transaction is recorded into the block, and the original file is still in the device A without leakage.
B. Copyright file trading
1. Initiating a transaction: authentication device B wants to purchase document f from authentication device a, both negotiating transaction details such as transaction price, expiration time for delivering the document a, expiration time for payment of B, and expiration time for confirming receipt. These content are written to the smart contract and deployed on the blockchain.
2. Payment of the goods: and B, driving a token for negotiating the price into the intelligent contract, and informing the A to start the delivery link by the intelligent contract.
3. Generating a rights assignment identification: a constructs a copyright assignment identifier ctm AB, and the content includes the ID of the copyright identifier recorded in the blockchain and the address of both parties of the transaction. And then embedding a digital watermark into the file f to obtain a new copyrighted file f' and an embedded position key lk. Finally, A assembles hash digest H (f ') and ctm AB of f' into transaction TX u for transmission to the smart contract, which verifies the transaction and then records the transaction into the blockchain.
4. Delivering a file: a encrypts lk using B's public key and then sends f' and the encrypted lk to B either directly or indirectly.
5. Verification and transfer: b decrypts the information using the private key to obtain f' and lk. B, firstly, calculating a hash abstract H (f ') of the file, comparing the hash abstract H (f ') with the hash abstract recorded in the blockchain, and if the hash abstractH (f ') is not equal to the hash abstract, canceling the transaction by B; if equal, B will extract the digital watermark from f ', then B calculates the hash of ctm AB, and verifies the correctness of the digital watermark with A's public key. Then, B sends a confirmation message to the smart contract, which transfers the frozen tokens to A's address.
(3) Digital watermark embedding and extraction
The privacy risk of digital watermarking is that the watermark needs to be extracted with a public key to the verifier, which means that a malicious verifier who obtains the key can privately erase the watermark, and if a trusted third party is introduced as the verifier, there is a risk of centralization. The PUF watermark proposed by the present invention places the embedding and extraction process on an authentication device.
A. Digital watermark embedding
The ctm AB is signed by means of ECDSA algorithm using the private key held by authentication device a, and then the signature is converted into binary bit form, yielding a digital watermark w AB with physical attribution. Then, based on the least significant bit watermark embedding algorithm, a watermark embedding and extracting algorithm relying on the embedding position key is designed, as shown in fig. 2, and the principle is that: the low order bits of the digital media storage information are randomly distributed, with 0 and 1 each being one half. The combination of the next lowest order bits can be relied upon as a condition for modifying the lowest order bits. For example, for a 24-bit true color image, a pixel p ij corresponding to an RGB format R={r0,r1,…,r7},G={g0,g1,…,g7},B={b0,b1,…,b7}, can extract the information group { r 6,g6,b6 } of the next lower bit, then a random number generator is used to generate a random number x with a proper length to perform bit exclusive OR operation with the information group to obtain a feature groupThen classifying the feature groups according to the information quantity and the defined rules to be embedded and defining the modification action of the least significant bit. Taking the image format as an example, four modification actions are defined for any pixel of the image format:
1. Least significant bit substitution (LSBR): for one color channel RGB ij of the RGB format pixel p ij and one bit m b of the ciphertext m, the next bit of the ciphertext is replaced on the lowest bit.
2. Least significant matching (LSBM): the lowest order bits of the RGB format pixels p ij-1 are filled with random numbers, and the next bit of ciphertext is matched to the lowest order bit for one color channel RGB ij of the next pixel p ij and one bit m b of ciphertext m.
Wherein rand is 1 or-1.
3. Random number filling: random number filling is used for the lowest bit RGB ij of the color channel of the RGB format pixel p ij.
4. Unchanged: the lowest order bits of RGB format pixel p ij remain unchanged.
And constructing lk through x and a modification action, wherein the modification action can be autonomously defined according to a file format and aims at improving the security.
B. Digital watermark extraction
The authentication device B uses the private key of the device to decrypt lk, processes the file according to x in lk and defined modification action to obtain the digital watermark w AB, and then verifies the correctness of the digital watermark w AB according to the transaction record on the chain, thereby confirming the attribution of the copyright. In the process, a malicious verifier does not have relevant information of lk, so that the watermark cannot be deleted under the condition of not damaging the file, and the effectiveness of copyright protection is ensured.
(4) Blockchain tracing
In the copyright assignment process, the authentication device records transaction information through a blockchain, and it is ensured that each copyright assignment has a traceable record. Specifically, the authentication device C makes a request to purchase the file f 'to the authentication device B, both complete the file transaction according to the steps defined in the rights assignment flow, B sends the rights file f″ containing the watermark and the location key lk' to C, and records the rights assignment identifier ctm BC on the blockchain. In this process, B encrypts f' only if the hash digest matches ctm AB. And then C, extracting the watermark by using the key lk' and verifying, so that the transfer path of the copyright can be confirmed asAnd tracing the copyright assignment is realized.
To verify the feasibility of the invention, a prototype system was developed. The prototype system adopts an LPC55S69-EVK development board of NXP semiconductor company, is provided with a dual-core Arm Cortex-M33 microcontroller, and utilizes SRAM PUF to establish a trust root. The blockchain part uses go-ethereum realized by the Ethernet protocol based on Golang to build a private blockchain network. The connection and configuration of the system is shown in fig. 3.
The physical unclonable information of the two development boards is stored in the authentication server, the development boards prove the identity to the authentication server by submitting a correct response after establishing a secure connection with the server, and then register in the blockchain to obtain a public key address. Then, using a Lena image in BMP format as an experimental example, in the development board of the seller, the image is registered into the blockchain, and copyrights are shown in fig. 4 (a). The seller and buyer then agree on the rights file, with the buyer issuing a smart contract on the blockchain. In the development board, the seller constructs a rights assignment identification and then signs the identification using the device private key. Embedding the content into the image generates a Lena image embedded with the watermark, and the peak signal-to-noise ratio calculation result is 55.387dB.
The hash value of the embedded watermark image is then calculated, and a transaction is constructed and uploaded to the blockchain, the transaction content being as shown in fig. 4 (b). After the buyer obtains the file, the development board decrypts the location key and then verifies the watermark signature. In the whole process, the position key is not leaked, and the buyer cannot acquire the original image by erasing the watermark.
The invention also considers an attack mode, namely malicious selling behaviors of sellers, such as repeatedly selling the copyright files registered on the chain, and the development board refuses to register the copyright files with the same hash after detecting the existence of the copyright files; or the seller registers on the chain by modifying the file hash and completes the transaction flow, if other users find similar contents on the chain, the original attribution of the file can be judged through the timestamp and the traceability of the transaction on the chain, and the development board is blocked by reporting to the blockchain, so that the development board is prevented from suffering economic loss.