A blockchain-based digital content distribution method, electronic device, and storage medium
By using a blockchain-based digital content distribution method, leveraging digital certificates and key management, and combining metadata and one-time passwords, the security and information asymmetry issues in digital content distribution are resolved, enabling tamper-proof and traceable digital content transactions.
Patent Information
- Application Number
- CN202310237028.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-13
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2043-03-13
AI Technical Summary
Existing technologies suffer from problems such as content tampering and low security during data transmission when distributing digital content, and information asymmetry exists in the exchange of value information.
By adopting a blockchain-based digital content distribution method, digital certificates and keys are generated, and metadata, digital signatures, one-time passwords, and file encryption are combined to achieve the secure uploading, storage, and decryption of digital content. The openness and transparency of blockchain are used to ensure the immutability and traceability of the content.
It improves the security of digital content distribution, reduces information asymmetry, provides reliable digital content records, facilitates querying and rights protection, and ensures the security and controllability of the transaction chain.
Smart Images

Figure CN116388996B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of blockchain and data security, and particularly relates to a digital content distribution method based on a blockchain, an electronic device and a storage medium. BACKGROUND
[0002] With the vigorous development of Internet technology and digital economy, the information Internet era is evolving into the value Internet. The information Internet era solves the problem of information dissemination and sharing, while the value Internet needs to solve the problem of information value exchange on the Internet. There are two major pain points in the current information Internet that need to be solved in order to realize the real value Internet era.
[0003] Firstly, the traditional method of protecting digital copyright has obvious defects, mainly in the aspects of centralized management and data silos.
[0004] Secondly, information asymmetry may occur in the process of value information exchange, which is not conducive to the party lacking information.
[0005] Therefore, in the prior art, there are technical problems of tampering of digital content and low security in the data transmission process during digital content distribution. SUMMARY
[0006] In view of one or more technical defects in the prior art, the present application provides the following technical solutions.
[0007] A digital content distribution method based on a blockchain, the method comprising:
[0008] Step S1: a digital content providing terminal generates a first public key and a first private key, and registers with a certificate issuing authority in a blockchain network and obtains a first digital certificate;
[0009] Step S2: the digital content providing terminal packages data of the digital content and sends a digital content on-chain request to an audit server; the audit server verifies the identity and request of the digital content providing terminal using the first digital certificate, and then saves the digital content on-chain request in an organization database;
[0010] Step S3: an audit server administrator receives and audits the digital content on-chain request from the audit server;
[0011] Step S4: the audit server generates a first symmetric key for the digital content, encrypts the digital content using the first symmetric key, and uploads the encrypted data to a distributed file system built on a private network;
[0012] Step S5: The audit server uses the second digital certificate issued by the certificate authority for the blockchain node to digitally sign the digital content on-chain request with the second private key, and sends the on-chain request and the digital signature to the blockchain, and the nodes in the blockchain endorse the on-chain request and store it in the blockchain network;
[0013] Step S6: The audit server uses the third digital certificate issued by the certificate authority for the key storage service set to encrypt the first symmetric key used for digital content encryption with the third private key, and uploads the encrypted to the blockchain side chain;
[0014] Step S7: The operating system built-in fourth digital certificate and the binary application using the fourth private key to generate a one-time password, the digital content consumption terminal generates a one-time password using the one-time password generation application, and registers with the certificate authority established in the blockchain network and obtains the fifth digital certificate;
[0015] Step S8: The digital content consumption terminal logs in to the digital content transaction platform application using the fifth digital certificate, endorses the application for itself to purchase digital content, and submits it to the blockchain;
[0016] Step S9: All nodes in the blockchain obtain the fifth digital certificate of the digital content consumption terminal according to the smart contract, check the digital content transaction application submitted by the digital content consumption terminal, and if the transaction application is passed, add the transaction to the transaction block;
[0017] Step S10: The digital content consumption terminal obtains the metadata of the digital content from the digital content transaction platform, and downloads the encrypted file of the digital content according to the metadata. When the operating system accesses the digital content, it will dynamically obtain the digital content key from the blockchain network and decrypt the digital content.
[0018] Further, the digital content D1 is a document, a video, an audio or an image.
[0019] Further, the step S2 comprises:
[0020] Step S21: The digital content providing terminal generates corresponding metadata M1 according to the digital content data D1;
[0021] Step S22: The digital content providing terminal uses an asymmetric encryption algorithm and a first private key PK1 to sign the metadata M1 to obtain a digital signature DS1;
[0022] Step S23: The digital content providing terminal sends the digital content data D1, the metadata M1 and the digital signature DS1 to the audit server;
[0023] Step S24: The audit server requests the first digital certificate DC1 from the certificate authority according to the identity information of the digital content providing terminal;
[0024] Step S25: The audit server decrypts the digital signature DS1 using the first digital certificate DC1 to obtain M11, and if M11 is the same as the metadata M1, the digital content on-chain request is saved in the organization database of the audit server.
[0025] Further, the step S4 comprises:
[0026] Step S41: The audit server generates a first symmetric key K1 used in the symmetric encryption algorithm;
[0027] Step S42: The audit server encrypts the digital content data D1 using the first symmetric key K1 of the symmetric encryption algorithm to obtain encrypted data ED1;
[0028] Step S43: The encrypted data ED1 of the digital content is used to generate a data index FID1 using a hash algorithm;
[0029] Step S44: The encrypted data ED1 is stored in the distributed file system using the data index FID1.
[0030] Further, the step S5 comprises:
[0031] Step S51: The audit server combines the data index FID1, the audit node information P1, the metadata M1 of the digital content, and the digital signature DS1 to generate new metadata M2;
[0032] Step S52: The audit server signs the metadata M2 using the second certificate DC2 and the second private key PK2 issued by the certificate authority for the blockchain node to obtain a digital signature DS2;
[0033] Step S53: The audit server submits the metadata M2 and the digital signature DS2 as smart contract parameters to the blockchain network;
[0034] Step S54: The nodes in the blockchain network execute the instructions in the smart contract, request the first certificate DC1 of the digital content providing terminal from the certificate authority, and verify whether the metadata M1 is generated by the digital content providing terminal, if so, execute step S55;
[0035] Step S55: The nodes in the blockchain network execute the instructions in the smart contract, obtain the second certificate DC2 of the audit node from the certificate authority, and verify whether the metadata M2 is generated by the audit node, if so, execute step S56;
[0036] Step S56: The nodes in the blockchain network endorse the on-chain request and send the endorsement to the audit server;
[0037] Step S57: After the audit server receives the endorsement meeting the endorsement policy quantity, the on-chain request is forwarded to the ordering node;
[0038] Step S58: The ordering node receives the on-chain request and sorts the on-chain requests occurring within a time period to generate a block;
[0039] Step S59: The ordering node propagates the generated block to the blockchain network, representing that the digital content metadata M2 is uploaded successfully.
[0040] Further, the step S6 comprises:
[0041] Step S61: The audit server encrypts the first symmetric key K1 using the third certificate DC3 and the third private key PK3 issued by the certificate authority for the key storage service set to obtain the encrypted key EK1;
[0042] Step S62: The audit server initiates a storage data request to the blockchain with the data index FID1, the encrypted key EK1, and the key storage node information as parameters of the smart contract;
[0043] Step S63: The nodes in the blockchain network endorse the storage data request and send the endorsement to the audit server;
[0044] Step S64: After the audit server receives the endorsement meeting the endorsement policy quantity, the storage data request is forwarded to the ordering node;
[0045] Step S65: The ordering node receives the storage data request and sorts the storage data requests occurring within a time period to generate a block;
[0046] Step S66: The ordering node propagates the generated block to the blockchain network, representing that the encrypted key EK1 is uploaded successfully.
[0047] Further, the step S7 comprises:
[0048] Step S71: The operating system in the digital content consumption terminal initiates a registration request to the certificate authority using machine code;
[0049] Step S72: The certificate authority generates a fourth private key PK4 and a fourth certificate DC4 therefor;
[0050] Step S73: The certificate authority generates a one-time password generation application according to the fourth private key PK4;
[0051] Step S74: the certificate authority sends the one-time password generation application back to the operating system with the fourth digital certificate DC4 and deletes the one-time password generation application from the server;
[0052] Step S75: the digital content consumption terminal generates a fifth private key PK5 and a fifth public key using a private key generation algorithm;
[0053] Step S76: the operating system generates a one-time password OTP1 using the one-time password generation application, and applies for identity registration to the organization server to which it belongs with the OTP1, the fourth digital certificate DC4, the fifth public key, and its own information;
[0054] Step S76: the organization server verifies the legality of the fourth digital certificate DC4, and uses the public key in the fourth digital certificate DC4 to decrypt the OTP1 to obtain the timestamp, so as to verify the correctness and timeliness of the OTP1;
[0055] Step S77: the organization server agent registers the user with the certificate authority and obtains a fifth digital certificate DC5;
[0056] Step S78: the organization server generates a machine code binding request for the user using the sixth private key PK6 it owns, and sends the binding request to the blockchain network;
[0057] Step S79: after the nodes in the blockchain reach a consensus on the machine code binding request, the user's account in the operating system is successfully created in the blockchain network;
[0058] Step S710: the organization server checks whether the user registration is successful, and sends the fifth digital certificate DC5 of the user back to the operating system.
[0059] Further, the step S10 comprises:
[0060] Step S101: the digital content consumption terminal logs in to the organization server using the fifth digital certificate DC5;
[0061] Step S102: the digital content consumption terminal requests digital content metadata M2 from the organization server, and the organization server verifies the existence of transaction records of the digital content consumption terminal in the blockchain according to the identity information of the digital content consumption terminal, and returns the digital content metadata M2 to the digital content consumption terminal;
[0062] Step S103: an application in the operating system parses the metadata M2 to obtain the index FID1 of the data, starts a distributed file system docker container deployed in the operating system, and downloads encrypted data ED1 from the distributed file system according to the index FID1 through the docker container;
[0063] Step S104: generate a one-time password OTP2 using a one-time password generator, encrypt the OTP2 using a fifth private key PK5 owned by the user to obtain EOTP2, and send the EOTP2, the fourth certificate DC4, and the fifth certificate DC5 to the organization server to request the first symmetric key K1;
[0064] Step S105: the organization server verifies the legality of the fifth certificate DC5, and decrypts the EOTP2 using the fifth certificate DC5 to obtain the OTP2;
[0065] Step S106: the organization server verifies the legality of the fourth certificate DC4, and decrypts the OTP2 using the fourth certificate DC4 to obtain the timestamp, to verify the correctness and timeliness of the OTP2;
[0066] Step S107: the organization server obtains the encrypted key EK1 from the blockchain network, decrypts the EK1 using the third certificate DC3 issued by the certificate authority for the key storage service set to obtain the second key K1, and returns to the operating system;
[0067] Step S108: the operating system stores the first symmetric key K1 in the memory after obtaining the first symmetric key K1, and uses the first symmetric key K1 to decrypt the encrypted data ED1 in real time when the user accesses the digital content, and deletes the decrypted content after the access is completed.
[0068] The application also provides a computing device, which comprises a memory and a processor, and the memory stores a computer program, and the computer program stored on the memory is executed by the processor to implement the method of any one of the above.
[0069] The application also provides a computer readable storage medium, which stores a computer program code, and the computer program code is executed by a computer to implement the method of any one of the above.
[0070] The technical effect of the present application is that the digital content distribution method based on the blockchain, the electronic device and the storage medium, the method comprises the following steps: S1, a digital content providing terminal generates a first public key and a first private key, and registers with a certificate authority in a blockchain network and obtains a first digital certificate; S2, the digital content providing terminal packs the data of the digital content and sends a digital content on-chain request to an audit server; the audit server verifies the identity and request of the digital content providing terminal using the first digital certificate, and then saves the digital content on-chain request in an organization database; S3, an audit server administrator receives and audits the digital content on-chain request from the audit server; S4, the audit server generates a first symmetric key for the digital content, encrypts the digital content using the first symmetric key, and uploads the encrypted data to a distributed file system built on a private network; S5, the audit server uses a second digital certificate and a second private key issued by the certificate authority for the blockchain node to digitally sign the digital content on-chain request, and sends the on-chain request and the digital signature to the blockchain, and the nodes in the blockchain endorse the on-chain request and store it in the blockchain network; S6, the audit server uses a third digital certificate and a third private key issued by the certificate authority for the key storage service set to encrypt the first symmetric key used for digital content encryption, and uploads the encrypted data to the side chain of the blockchain; S7, a fourth digital certificate is built in the operating system and a binary application using a fourth private key generates a one-time password, a digital content consumption terminal generates a one-time password using the one-time password generation application, and registers with the certificate authority established in the blockchain network and obtains a fifth digital certificate; S8, the digital content consumption terminal logs in to the digital content transaction platform application using the fifth digital certificate, endorses the application for purchasing digital content for itself, and submits it to the blockchain; S9, all nodes in the blockchain obtain the fifth digital certificate of the digital content consumption terminal according to the smart contract, check the digital content transaction application submitted by the digital content consumption terminal, and if the transaction application is passed, add the transaction to the transaction block; S10, the digital content consumption terminal obtains the metadata of the digital content from the digital content transaction platform, and downloads the encrypted file of the digital content according to the metadata, and when accessing the digital content using the operating system, the digital content key is dynamically obtained from the blockchain network, and the digital content is decrypted. The method of the present application uses blockchain technology in digital content distribution, combines metadata, digital signature, one-time password, file encryption and certificate authentication, completes the whole process operation of content submission, audit and distribution, and the security is greatly improved in the operation process, has non-tamperability and traceability, provides a trusted digital content record, is convenient for query and rights protection; the openness and transparency of the blockchain are used to reduce the possibility of information asymmetry, and the security and controllability of the digital content transaction link are ensured. BRIEF DESCRIPTION OF DRAWINGS
[0071] Other features, objects, and advantages of the application will become more apparent from the following detailed description of non-limiting embodiments with reference to the drawings.
[0072] Figure 1 is a flowchart of a blockchain-based digital content distribution method according to an embodiment of the application.
[0073] Figure 2 is a structural diagram of an electronic device according to an embodiment of the application. DETAILED DESCRIPTION
[0074] The application will be further described below in conjunction with the drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the related application, and not to limit the application. In addition, it should be noted that only the parts related to the application are shown in the drawings for ease of description.
[0075] It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict. The application will be described in detail below with reference to the drawings and in conjunction with the embodiments.
[0076] Figure 1 A blockchain-based digital content distribution method of the application is shown, which comprises:
[0077] Step S1: The digital content providing terminal generates a first public key and a first private key, and registers with a certificate authority in a blockchain network and obtains a first digital certificate;
[0078] Step S2: The digital content providing terminal packs the data of the digital content and sends a digital content on-chain request to an audit server; the audit server verifies the identity and request of the digital content providing terminal using the first digital certificate, and then saves the digital content on-chain request in an organization database;
[0079] Step S3: The audit server administrator receives and audits the digital content on-chain request from the audit server;
[0080] Step S4: The audit server generates a first symmetric key for the digital content, and encrypts the digital content using the first symmetric key, and uploads the encrypted data to a distributed file system built on a private network;
[0081] Step S5: The audit server uses a second digital certificate and a second private key issued by the certificate authority for the blockchain node to digitally sign the digital content on-chain request, and sends the on-chain request and the digital signature to the blockchain, and the nodes in the blockchain endorse the on-chain request and store it in the blockchain network;
[0082] Step S6: The auditing server uses the third digital certificate issued by the certificate authority for the key storage service set to encrypt the first symmetric key used for digital content encryption with the third private key, and uploads the encrypted to the blockchain sidechain;
[0083] Step S7: The operating system built-in fourth digital certificate and the binary application using the fourth private key to generate a one-time password, the digital content consumption terminal generates a one-time password using the one-time password generation application, and registers with the certificate authority established in the blockchain network and obtains the fifth digital certificate;
[0084] Step S8: The digital content consumption terminal uses the fifth digital certificate to log in to the digital content transaction platform application, endorses the application for purchasing digital content for itself, and submits to the blockchain;
[0085] Step S9: All nodes in the blockchain obtain the fifth digital certificate of the digital content consumption terminal according to the smart contract, check the digital content transaction application submitted by the digital content consumption terminal, and if the transaction application is passed, add the transaction to the transaction block;
[0086] Step S10: The digital content consumption terminal obtains the metadata of the digital content from the digital content transaction platform, and downloads the encrypted file of the digital content according to the metadata. When the operating system accesses the digital content, it will dynamically obtain the digital content key from the blockchain network and decrypt the digital content.
[0087] The method of the present application uses blockchain technology in digital content distribution, combines metadata, digital signature, one-time password, file encryption and certificate authentication, completes the whole process operation of content submission, audit and distribution, and greatly improves the security in the operation process. It has non-tamperability, traceability, provides a trusted digital content record, is convenient for inquiry and rights protection; it uses the openness and transparency of the blockchain to reduce the possibility of information asymmetry, and ensures the security and controllability of the digital content transaction link; this is an important point of the present application.
[0088] In one embodiment, the digital content D1 is a document, video, audio or image.
[0089] In one embodiment, the step S2 comprises:
[0090] Step S21: The digital content providing terminal generates corresponding metadata M1 according to the digital content data D1;
[0091] Step S22: The digital content providing terminal uses an asymmetric encryption algorithm and a first private key PK1 to sign the metadata M1 to obtain a digital signature DS1;
[0092] Step S23: The digital content providing terminal sends the digital content data D1, the metadata M1 and the digital signature DS1 to the audit server;
[0093] Step S24: The audit server requests the first digital certificate DC1 from the certificate authority according to the identity information of the digital content providing terminal;
[0094] Step S25: The audit server decrypts the digital signature DS1 using the first digital certificate DC1 to obtain M11, and if M11 is the same as the metadata M1, the digital content on-chain request is saved in the organization database of the audit server.
[0095] In the present application, the digital content providing terminal generates corresponding metadata M1 according to the digital content data D1; the digital content providing terminal signs the metadata M1 using an asymmetric encryption algorithm and a first private key PK1 to obtain a digital signature DS1; the digital content providing terminal sends the digital content data D1, the metadata M1 and the digital signature DS1 to the audit server; the audit server requests the first digital certificate DC1 from the certificate authority according to the identity information of the digital content providing terminal; the audit server decrypts the digital signature DS1 using the first digital certificate DC1 to obtain M11, and if M11 is the same as the metadata M1, the digital content on-chain request is saved in the organization database of the audit server. Thus, the security of the digital content is ensured, and the digital content is prevented from being tampered with, which is another important application point of the present application.
[0096] In one embodiment, the step S4 comprises:
[0097] Step S41: The audit server generates a first symmetric key K1 used in the symmetric encryption algorithm;
[0098] Step S42: The audit server encrypts the digital content data D1 using the first symmetric key K1 of the symmetric encryption algorithm to obtain encrypted data ED1;
[0099] Step S43: The encrypted digital content data ED1 is subjected to a hash algorithm to generate a data index FID1;
[0100] Step S44: The encrypted data ED1 is stored in the distributed file system using the data index FID1.
[0101] In one embodiment, the step S5 comprises:
[0102] Step S51: The audit server combines the data index FID1, the audit node information P1, the metadata M1 and the digital signature DS1 of the digital content to generate new metadata M2;
[0103] Step S52: The audit server uses the second certificate DC2 and the second private key PK2 issued by the certificate authority for the blockchain node to sign the metadata M2 to obtain a digital signature DS2;
[0104] Step S53: The audit server submits the metadata M2 and the digital signature DS2 as smart contract parameters to the blockchain network;
[0105] Step S54: The nodes in the blockchain network execute the instructions in the smart contract, request the first certificate DC1 of the digital content providing terminal from the certificate authority, and verify whether the metadata M1 is generated by the digital content providing terminal, if yes, execute step S55;
[0106] Step S55: The nodes in the blockchain network execute the instructions in the smart contract, obtain the second certificate DC2 of the audit node from the certificate authority, and verify whether the metadata M2 is generated by the audit node, if yes, execute step S56;
[0107] Step S56: The nodes in the blockchain network endorse the on-chain request and send the endorsement to the audit server;
[0108] Step S57: After the audit server receives the endorsements meeting the number of endorsement strategies, the audit server forwards the on-chain request to the ordering node;
[0109] Step S58: The ordering node receives the on-chain request, sorts the on-chain requests occurring within a time period, and generates a block;
[0110] Step S59: The ordering node propagates the generated block to the blockchain network, representing that the uploading of the digital content metadata M2 is successful.
[0111] In the present application, the audit server submits the metadata M2 and the digital signature DS2 as smart contract parameters to the blockchain network; the nodes in the blockchain network execute the instructions in the smart contract, request the first certificate DC1 of the digital content providing terminal from the certificate authority, that is, the present application uses the metadata M2 and the digital signature DS2 as smart contract parameters, improves the security of the smart contract, and executes step S56 only after two-step authentication of S54 and S55, which is another important point of the present application.
[0112] In one embodiment, the step S6 comprises:
[0113] Step S61: The audit server uses the third certificate DC3 and the third private key PK3 issued by the certificate authority for the key storage service set to encrypt the first symmetric key K1 to obtain an encrypted key EK1;
[0114] Step S62: The auditing server initiates a storage data request to the blockchain with the data index FID1, the encrypted key EK1 and the key storage node information as parameters of the smart contract;
[0115] Step S63: The nodes in the blockchain network endorse the storage data request and send the endorsement to the auditing server;
[0116] Step S64: After the auditing server receives the endorsement meeting the number of endorsement strategies, the auditing server forwards the storage data request to the ordering node;
[0117] Step S65: The ordering node receives the storage data request and sorts the storage data requests occurring in a time period to generate a block;
[0118] Step S66: The ordering node propagates the generated block to the blockchain network, representing that the encrypted key EK1 is uploaded successfully.
[0119] In the present application, the core server initiates a storage data request to the blockchain with the data index FID1, the encrypted key EK1 and the key storage node information as parameters of the smart contract, thereby improving the security of the smart contract, which is another important application point of the present application.
[0120] In one embodiment, the step S7 comprises:
[0121] Step S71: The operating system in the digital content consumption terminal initiates a registration request to the certificate authority using machine code;
[0122] Step S72: The certificate authority generates a fourth private key PK4 and a fourth certificate DC4 for the digital content consumption terminal;
[0123] Step S73: The certificate authority generates a one-time password generation application according to the fourth private key PK4;
[0124] Step S74: The certificate authority sends the one-time password generation application and the fourth certificate DC4 back to the operating system and deletes the one-time password generation application from the server;
[0125] Step S75: The digital content consumption terminal generates a fifth private key PK5 and a fifth public key using a private key generation algorithm;
[0126] Step S76: The operating system generates a one-time password OTP1 using the one-time password generation application, and applies for identity registration to the organization server to which it belongs with the OTP1, the fourth certificate DC4, the fifth public key and its own information;
[0127] Step S76: The organization server verifies the legality of the fourth certificate DC4, and uses the public key in the fourth certificate DC4 to decrypt the OTP1 to obtain the timestamp, so as to verify the correctness and timeliness of the OTP1;
[0128] Step S77: The organization server agent registers the user to the certificate authority and obtains the fifth digital certificate DC5;
[0129] Step S78: The organization server uses the sixth private key PK6 owned by the organization server to generate a machine code binding request for the user, and sends the binding request to the blockchain network;
[0130] Step S79: After the nodes in the blockchain reach a consensus on the machine code binding request, the user of the operating system successfully creates an account in the blockchain network;
[0131] Step S710: The organization server verifies whether the user registration is successful, and sends the fifth digital certificate DC5 of the user back to the operating system.
[0132] In the application, the operating system generates a one-time password OTP1 by using a one-time password generation application, and applies for identity registration to the organization server to which it belongs by using the OTP1, the fourth certificate DC4, the fifth public key and its own information; the organization server verifies the legality of the fourth certificate DC4, and uses the public key in the fourth certificate DC4 to decrypt the OTP1 to obtain the timestamp, so as to verify the correctness and timeliness of the OTP1; the organization server agent registers the user to the certificate authority and obtains the fourth digital certificate DC4; the organization server uses the sixth private key PK6 owned by the organization server to generate a machine code binding request for the user, and sends the binding request to the blockchain network, thereby improving the security of the user in obtaining digital content, which is another important application point of the application.
[0133] In one embodiment, the step S10 comprises:
[0134] Step S101: The digital content consumption terminal logs in to the organization server by using the fifth digital certificate DC5;
[0135] Step S102: The digital content consumption terminal requests the digital content metadata M2 from the organization server, and the organization server verifies the existence of the transaction record of the digital content consumption terminal in the blockchain according to the identity information of the digital content consumption terminal, and returns the digital content metadata M2 to the digital content consumption terminal;
[0136] Step S103: An application in the operating system parses the metadata M2 to obtain the index FID1 of the data, starts a distributed file client docker container deployed in the operating system, and downloads the encrypted data ED1 from the distributed file system according to the index FID1 through the docker container;
[0137] Step S104: generate a one-time password OTP2 using a one-time password generator, encrypt it using a fifth private key PK5 owned by the user to obtain EOTP2, and send EOTP2, a fourth certificate DC4 and a fifth certificate DC5 to the organization server to request a first symmetric key K1;
[0138] Step S105: the organization server verifies the legality of the fifth certificate DC5, and decrypts EOTP2 using the fifth certificate DC5 to obtain OTP2;
[0139] Step S106: the organization server verifies the legality of the fourth certificate DC4, and decrypts OTP2 using the fourth certificate DC4 to obtain a timestamp, to verify the correctness and timeliness of the OTP2;
[0140] Step S107: the organization server obtains the encrypted key EK1 from the blockchain network, and decrypts it using the third certificate DC3 issued by the certificate authority for the key storage service set to obtain the second key K1, and returns to the operating system;
[0141] Step S108: the operating system stores the first symmetric key K1 in the memory after obtaining it, and uses the first symmetric key K1 to decrypt the encrypted data ED1 in real time when the user accesses the digital content encrypted data ED1, and deletes the decrypted content after the access is completed.
[0142] The application controls the operation behavior of the user to a certain extent by customizing the operating system. When the user obtains digital content, the user can only access it through the software provided by the operating system, which effectively prevents the user from copying and spreading the content in the system. The operating system can be placed in a Docker container, and the application type digital content is also provided by the application type digital content. The portability of the container technology enables application developers to quickly develop without considering compatibility, and the isolation of the container technology can ensure that the application does not have the possibility of intrusion to the operating system and other applications to a certain extent, thereby improving the security of the digital content, which is another important point of the application.
[0143] The application also provides a computing device, which comprises a memory and a processor, and the memory stores a computer program, and the computer program stored on the memory is executed by the processor to implement the method of any one of the above.
[0144] In an embodiment of the application, a computer storage medium is provided, and the computer storage medium stores a computer program, and the computer program stored on the computer storage medium is executed by the processor to implement the method, and the computer storage medium can be a hard disk, a DVD, a CD, a flash memory and the like.
[0145] For the convenience of description, the above apparatus is described as various units in function and is described respectively. Of course, the functions of the units can be implemented in one or more software and / or hardware in implementing the present application.
[0146] From the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software and the necessary general hardware platform. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which can be stored in a storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the apparatus described in various embodiments or some parts of the embodiments of the present application.
[0147] Finally, it should be pointed out that: the above embodiments are only illustrative but not limiting the technical solutions of the present application. Although the present application is described in detail with reference to the above embodiments, those skilled in the art should understand that the present application can still be modified or equivalently replaced without departing from the spirit and scope of the present application. Any modification or partial replacement should be covered in the scope of the claims of the present application.
Claims
1. A blockchain-based method for digital content distribution, characterized in that, The method comprises: Step S1: The digital content providing terminal generates a first public key and a first private key, and registers with a certificate authority in a blockchain network and obtains a first digital certificate; Step S2: The digital content providing terminal packs data of the digital content and sends a digital content on-chain request to an audit server; the audit server verifies the identity and request of the digital content providing terminal using the first digital certificate, and then saves the digital content on-chain request in an organization database; Step S3: An audit server administrator receives and audits the digital content on-chain request from the audit server; Step S4: The audit server generates a first symmetric key for the digital content, encrypts the digital content using the first symmetric key, and uploads the encrypted data to a distributed file system built on a private network; Step S5: The audit server uses a second digital certificate and a second private key issued by the certificate authority for the audit server to digitally sign the digital content on-chain request, and sends the digital content on-chain request and the digital signature to the blockchain, wherein nodes in the blockchain endorse the digital content on-chain request and store it in the blockchain network; Step S6: The audit server uses a third digital certificate and a third private key issued by the certificate authority for the key storage service set to encrypt the first symmetric key used for encrypting the digital content, and uploads the encrypted first symmetric key to the blockchain network; Step S7: A fourth digital certificate and a one-time password generation application using a fourth private key are built in the operating system of the digital content consumption terminal, the digital content consumption terminal generates a one-time password using the one-time password generation application, and registers with the certificate authority established in the blockchain network and obtains a fifth digital certificate; Step S8: The digital content consumption terminal logs in to the digital content transaction platform using the fifth digital certificate, endorses the application for purchasing digital content for itself, and submits it to the blockchain; Step S9: All nodes in the blockchain obtain the fifth digital certificate of the digital content consumption terminal according to the smart contract, check the digital content transaction application submitted by the digital content consumption terminal, and if the transaction application is passed, add the transaction to the transaction block; Step S10: The digital content consumption terminal obtains the metadata of the digital content from the digital content transaction platform, and downloads the encrypted data of the digital content according to the metadata, and when the operating system accesses the digital content, it dynamically obtains the first symmetric key from the blockchain network and decrypts the digital content.
2. The method according to claim 1, characterized in that, The digital content is a document, a video, an audio or an image.
3. The method according to claim 2, characterized in that, The step S2 comprises: Step S21: The digital content providing terminal generates corresponding metadata M1 according to the digital content data D1; Step S22: The digital content providing terminal signs the metadata M1 using an asymmetric encryption algorithm and the first private key PK1 to obtain a digital signature DS1; Step S23: The digital content providing terminal sends the digital content data D1, the metadata M1 and the digital signature DS1 to the audit server; Step S24: The audit server requests the first digital certificate DC1 from the certificate authority according to the identity information of the digital content providing terminal; Step S25: The audit server decrypts the digital signature DS1 using the first digital certificate DC1 to obtain M11, and if M11 is the same as the metadata M1, the digital content chaining request is saved in the organization database of the audit server.
4. The method according to claim 3, characterized in that, The step S4 includes: Step S41: The audit server generates a first symmetric key K1 used in the symmetric encryption algorithm; Step S42: The audit server encrypts the digital content data D1 using the first symmetric key K1 to obtain encrypted data ED1; Step S43: The data index FID1 is generated by using a hash algorithm on the digital content encryption data ED1; Step S44: The encrypted data ED1 is stored in the distributed file system using the data index FID1.
5. The method according to claim 4, characterized in that, The step S5 includes: Step S51: The audit server combines the data index FID1, the audit server information P1, the metadata M1 of the digital content, and the digital signature DS1 to generate new metadata M2; Step S52: The audit server signs the metadata M2 using the second digital certificate DC2 and the second private key PK2 issued by the certificate authority for the audit server to obtain a digital signature DS2; Step S53: The audit server submits the metadata M2 and the digital signature DS2 as smart contract parameters to the blockchain network; Step S54: The nodes in the blockchain network execute the instructions in the smart contract, request the first digital certificate DC1 of the digital content providing terminal from the certificate authority, and verify whether the metadata M1 is generated by the digital content providing terminal, if yes, execute step S55; Step S55: The nodes in the blockchain network execute the instructions in the smart contract, obtain the second digital certificate DC2 of the audit server from the certificate authority, and verify whether the metadata M2 is generated by the audit server, if yes, execute step S56; Step S56: The nodes in the blockchain network endorse the digital content chaining request and send the endorsement to the audit server; Step S57: After the audit server receives the endorsement meeting the number of endorsement strategies, the digital content chaining request is forwarded to the ordering node; Step S58: The ordering node receives the digital content chaining request, sorts the chaining requests occurring within a time period to generate a block; Step S59: The ordering node propagates the generated block to the blockchain network, representing that the digital content metadata M2 is uploaded successfully.
6. The method according to claim 5, characterized in that, The step S6 includes: Step S61: The audit server encrypts the first symmetric key K1 using the third digital certificate DC3 and the third private key PK3 issued by the certificate authority for the key storage service set to obtain the encrypted key EK1; Step S62: The audit server initiates a storage data request to the blockchain using the data index FID1, the encrypted key EK1, and the key storage node information as parameters of the smart contract; Step S63: The nodes in the blockchain network endorse the storage data request and send the endorsement to the audit server; Step S64: After the audit server receives the endorsement meeting the number of endorsement strategies, the storage data request is forwarded to the ordering node; Step S65: The ordering node receives the storage data request and sorts the storage data requests occurring within a time period to generate a block; Step S66: The ordering node propagates the generated block to the blockchain network, representing the successful upload of the encrypted key EK1.
7. The method according to claim 6, characterized in that, The step S7 includes: Step S71: The operating system in the digital content consumption terminal initiates a registration request to the certificate authority using machine code; Step S72: The certificate authority generates a fourth private key PK4 and a fourth digital certificate DC4 for it; Step S73: The certificate authority generates a one-time password generation application according to the fourth private key PK4; Step S74: The certificate authority sends the one-time password generation application and the fourth digital certificate DC4 back to the operating system and deletes the one-time password generation application from the certificate authority; Step S75: The digital content consumption terminal generates a fifth private key PK5 and a fifth public key using a private key generation algorithm; Step S76: The operating system generates a one-time password OTP1 using the one-time password generation application, and applies for identity registration to the organization server to which it belongs with OTP1, the fourth digital certificate DC4, the fifth public key, and its own information; Step S76: The organization server verifies the legality of the fourth digital certificate DC4, and uses the public key in the fourth digital certificate DC4 to decrypt OTP1 to obtain the timestamp, to verify the correctness and timeliness of OTP1; Step S77: The organization server agent user registers with the certificate authority and obtains a fifth digital certificate DC5; Step S78: The organization server generates a machine code binding request for the user using the sixth private key PK6 it owns, and sends the binding request to the blockchain network; Step S79: After the nodes in the blockchain reach a consensus on the machine code binding request, the user's account is successfully created in the blockchain network for the operating system; Step S710: The organization server checks whether the user registration is successful, and sends the user's fifth digital certificate DC5 back to the operating system.
8. The method according to claim 7, characterized in that, The step S10 includes: Step S101: The digital content consumption terminal logs in to the organization server using the fifth digital certificate DC5; Step S102: The digital content consumption terminal requests digital content metadata M2 from the organization server, and the organization server verifies the existence of transaction records of the digital content consumption terminal in the blockchain according to the identity information of the digital content consumption terminal, and returns the digital content metadata M2 to the digital content consumption terminal; Step S103: The application in the operating system parses the metadata M2 to obtain the index FID1 of the data, starts the distributed file system docker container deployed in the operating system, and downloads the encrypted data ED1 from the distributed file system according to the index FID1 through the docker container; Step S104: Generate a one-time password OTP2 using the one-time password generation application, encrypt it using the fifth private key PK5 owned by the user to obtain EOTP2, and send EOTP2, the fourth digital certificate DC4, and the fifth digital certificate DC5 to the organization server to request the first symmetric key K1; Step S105: The organization server verifies the legality of the fifth digital certificate DC5, and uses the fifth digital certificate DC5 to decrypt the EOTP2 to obtain the OTP2; Step S106: The organization server verifies the legality of the fourth digital certificate DC4, and uses the fourth digital certificate DC4 to decrypt the OTP2 to obtain the time stamp, to verify the correctness and timeliness of the OTP2; Step S107: The organization server obtains the encrypted key EK1 from the block chain network, and uses the third digital certificate DC3 issued by the certificate authority for the key storage service set to decrypt it to obtain the first symmetric key K1, and returns to the operating system; Step S108: After the operating system obtains the first symmetric key K1, it stores it in the memory, and when the user accesses the encrypted data ED1 of the digital content, the first symmetric key K1 is used to decrypt the encrypted data ED1 in real time, and after the access is completed, the decrypted content is deleted.
9. A computing device, comprising: The computing device includes a memory and a processor, and the memory stores a computer program, and when the computer program on the memory is executed by the processor, the method of any one of claims 1-8 is realized.
10. A computer storage medium, the computer storage medium stores a computer program, and when the computer program on the computer storage medium is executed by the processor, the method of any one of claims 1-8 is realized.
Citation Information
Patent Citations
User privacy data providing method and device based on block chain
CN113326532A
Data sharing method and system based on block chain
CN113536388A