Digital content processing method, system, device, equipment, storage medium and program product
By using the first and second alliance chains to manage certificates separately in digital content processing, and using counting Bloom filters and smart contracts for verification, the problem of vulnerability of certificate authorities is solved, achieving fast and efficient identity authentication and security improvement.
Patent Information
- Application Number
- CN202510843787.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-23
- Publication Date
- 2025-08-19
AI Technical Summary
In the prior art, certificate authorities are vulnerable to attacks, resulting in the security of digital content being threatened and the inefficient identity authentication.
The first alliance chain and the second alliance chain are used to manage the certificates of the digital content server, the content receiving end and the content presentation end respectively. The counting Blonde filter and the smart contract are used for identity verification. The hash value is queryed by the counting Blonde filter and the hash value is added when the verification passes the threshold, and the smart contract is called for certificate verification.
It realizes fast and efficient identity authentication, reduces dependence on a single certificate authority, improves the security and authentication speed of digital content, and saves resource consumption.
Smart Images

Figure CN120512295A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of Internet security technology, and in particular to a digital content processing method, system, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art
[0002] With the widespread dissemination of digital content, digital content protection has received increasing attention.
[0003] In related technologies, before accessing or using digital content, the identity of the relevant parties needs to be authenticated. During the authentication, the identity authentication is mainly performed uniformly by a Certificate Authority (CA).
[0004] However, in the above-mentioned method, the certificate issuing authority is vulnerable to attacks, which may lead to the leakage of certificate information, threatening the security of digital content and making it difficult to effectively protect it. Therefore, the security of digital content still needs to be improved. Summary of the Invention
[0005] Based on this, it is necessary to provide a digital content processing method, system, apparatus, computer equipment, computer-readable storage medium and computer program product to address the above technical issues.
[0006] In a first aspect, the present application provides a digital content processing method, comprising:
[0007] In response to a request from a content receiving end to obtain target service information from a digital content server, querying a counting Bloom filter of a first consortium chain block for a first hash value corresponding to the digital content server certificate; the target service information includes digital content and access permission to the digital content;
[0008] If the first hash value is not found, calling the first smart contract to verify the digital content server certificate according to the first consortium chain, and adding the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold;
[0009] If the first hash value is found, it is determined that the digital content server certificate verification has passed;
[0010] According to the second alliance chain, calling the second smart contract to verify the content receiving end certificate, if the verification is successful, triggering the digital content server to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and the access permission;
[0011] In a case where the access permission includes permission to play the digital content on the content presentation end, in response to a request to play the digital content through the content presentation end, a third smart contract is called according to the second alliance chain to verify the content presentation end certificate. If the verification passes, the content receiving end is triggered to send the digital content to the content presentation end for playback by the content presentation end.
[0012] In one embodiment, adding the first hash value to the counting Bloom filter includes:
[0013] determining a plurality of position indexes on the counting Bloom filter according to the first Hash value, setting values of the plurality of position indexes to first preset values, and obtaining a counting Bloom filter including the first Hash value;
[0014] generating a block body according to certificate verification information obtained when verifying the digital content server certificate, and generating a block header according to a counting Bloom filter including the first hash value;
[0015] A new block is obtained according to the block body and the block header, and the new block is saved on the first alliance chain.
[0016] In one embodiment, after the step of setting the values of the plurality of position indexes to first preset values, the method further includes:
[0017] Increasing the count value corresponding to each of the plurality of position indexes in the counting Bloom filter by one;
[0018] When it is determined that the digital content server certificate has an abnormality, subtract one from the count value of each of the plurality of position indexes to obtain a current count value;
[0019] If the current count value is equal to zero, the value of the position index corresponding to the current count value is set to a second preset value.
[0020] In one embodiment, querying the first hash value corresponding to the digital content server certificate in the counting Bloom filter of the first consortium chain block includes:
[0021] Mapping the first hash value corresponding to the digital content server certificate according to multiple pre-provided hash functions to obtain multiple second hash values;
[0022] Determining a plurality of position indexes in a counting Bloom filter of the first consortium chain block according to the plurality of second hash values;
[0023] If the values on the multiple position indexes are all first preset values, it is determined that the first Hash value is found;
[0024] If the value at any of the position indexes is the second preset value, it is determined that the first hash value is not found.
[0025] In one embodiment, calling the first smart contract to verify the digital content server certificate according to the first consortium chain includes:
[0026] Determine, based on the first hash value, a target block for the digital content server certificate on the first consortium chain;
[0027] Invoking a first smart contract, and having the first smart contract obtain a third hash value corresponding to the certificate stored in the target block;
[0028] When the first hash value matches the third hash value, and if the certificate status of the digital content server certificate is valid, it is determined that the digital content server certificate verification has passed.
[0029] In a second aspect, the present application also provides a digital content processing system, which includes a digital content server, a content receiver, a content presenter, and an application node, wherein:
[0030] The content receiving end is used to request to obtain target service information from the digital content server, wherein the target service information includes digital content and access permission of the digital content;
[0031] The application node is configured to obtain target service information from the digital content server in response to a request from the content receiving end, and query a first hash value corresponding to the digital content server certificate in a counting Bloom filter of the first consortium chain block;
[0032] The application node is further configured to, if the first hash value is not found, invoke a first smart contract to verify the digital content server certificate according to the first consortium chain, and add the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold;
[0033] The application node is further configured to determine that the digital content server certificate verification has passed if the first hash value is found;
[0034] The application node is further configured to invoke a second smart contract to verify the content receiving end certificate based on the second consortium chain, and if the verification is successful, trigger the digital content server to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and the access permission;
[0035] The application node is further configured to, when the access permission includes permission to play the digital content on the content presentation end, invoke a third smart contract to verify the content presentation end certificate based on the second consortium chain in response to a request to play the digital content through the content presentation end, and, if the verification is successful, trigger the content receiving end to send the digital content to the content presentation end;
[0036] The content presentation terminal is used to play the received digital content.
[0037] In a third aspect, the present application further provides a digital content processing device, comprising:
[0038] a hash value query module, configured to obtain target service information from the digital content server in response to a request from the content receiver, and query a counting Bloom filter of the first consortium chain block for a first hash value corresponding to the digital content server certificate; the target service information includes digital content and access permission to the digital content;
[0039] a hash value adding module, configured to, if the first hash value is not found, invoke a first smart contract to verify the digital content server certificate according to the first consortium chain, and add the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold;
[0040] A passing module, configured to determine that the digital content server certificate verification is successful if the first hash value is found;
[0041] an information sending module, configured to call a second smart contract to verify the content receiving end certificate based on the second consortium chain, and, if the verification is successful, trigger the digital content server to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and the access permission;
[0042] A presentation end verification module is used to, when the access permission includes permission to play the digital content on the content presentation end, call a third smart contract to verify the content presentation end certificate in response to a request to play the digital content through the content presentation end according to the second alliance chain; and when the verification is successful, trigger the content receiving end to send the digital content to the content presentation end for playback by the content presentation end.
[0043] In a fourth aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of any of the above methods when executing the computer program.
[0044] In a fifth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which implements the steps of any of the methods described above when the computer program is executed by a processor.
[0045] In a sixth aspect, the present application also provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of any of the methods described above.
[0046] The above-mentioned digital content processing method, system, apparatus, computer device, computer-readable storage medium and computer program product, in response to a content receiving end requesting to obtain target service information from a digital content server, can query the first hash value corresponding to the digital content server certificate in the counting Bloom filter of the first alliance chain block, wherein the target service information includes digital content and access permission to the digital content; if the first hash value is not queried, the first smart contract can be called according to the first alliance chain to verify the digital content server certificate, and when the number of verification passes of the digital content server certificate reaches a threshold, the first hash value is added to the counting Bloom filter; if the first hash value is queried , it can be determined that the digital content server certificate verification has passed; then, the second smart contract can be called according to the second alliance chain to verify the content receiving end certificate. If the verification passes, the digital content server is triggered to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and access permission; further, if the access permission includes permission to play the digital content on the content presentation end, in response to the request to play the digital content through the content presentation end, the third smart contract is called according to the second alliance chain to verify the content presentation end certificate. If the verification passes, the content receiving end is triggered to send the digital content to the content presentation end for playback by the content presentation end. In the application, on the one hand, by using different alliance chains to verify the digital content server certificate, content receiving end certificate, and content presentation end certificate respectively, it is possible to quickly and efficiently find authentic and reliable target information in the corresponding alliance chain for verification, thereby improving the security and verification speed of identity authentication; on the other hand, by calling the first smart contract to verify the digital content server certificate when the first hash value is not queried, when the number of verification passes of the digital content server certificate reaches a threshold, the first hash value is added to the counting Bloom filter, and, when the first hash value is queried, it is determined that the digital content server certificate verification is passed, and only the content receiving end certificate and the content presentation end certificate can be verified. In the case of preventing abnormalities in the content receiving end and the content presentation end, the number of calls to the smart contract for digital content server certificate verification can be reduced, saving certificate authentication resources; therefore, the present application can achieve safe and efficient identity authentication during the access and use of digital content, effectively improving the security of digital content. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments of the present application or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying any creative work.
[0048] Figure 1 A diagram illustrating an application environment of a digital content processing method according to an embodiment;
[0049] Figure 2 is a flow chart of a digital content processing method in one embodiment;
[0050] Figure 3 Schematic diagram of Bloom filter;
[0051] Figure 4 A schematic diagram of using a counting Bloom filter in one embodiment;
[0052] Figure 5 is a schematic diagram of a block structure in one embodiment;
[0053] Figure 6 is a flow chart of another digital content processing method according to an embodiment;
[0054] Figure 7 is a structural block diagram of a digital content processing device in one embodiment;
[0055] Figure 8 The figure is a diagram of the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0056] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0057] It should be noted that the terms "first" and "second" used in this application may be used to describe various objects, but these objects are not limited by these terms. These terms are only used to distinguish the first object from the second object. The terms "including" and "having" and any variations thereof used in this application are intended to cover non-exclusive inclusions. The term "plurality" used in this application refers to two or more.
[0058] The digital content processing method provided in the embodiment of the present application can be applied to Figure 1The application environment shown may include a digital content server, a content receiver, a content presenter, an application node, a first alliance chain, and a second alliance chain. The application node may be a network node corresponding to an application that provides digital content usage services; the digital content server may be used to provide digital content and access permissions for digital content.
[0059] For example, Figure 1 As shown, a digital content server may include a license server and a content transmitter. The content transmitter can provide digital content, and the license server can provide access permissions (such as a license or other access permission information) for the digital content. A content receiver can request both the digital content and the access permission from the digital content server. For example, the content receiver can request either the digital content or the access permission at a time. By making these requests sequentially, the content receiver can obtain both the access permission provided by the license server and the digital content provided by the content transmitter. The digital content obtained by the content receiver can then be presented and played by the content presenter.
[0060] In some embodiments, the digital content service end and application node can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The content receiving end and content presenting end can be, but are not limited to, various personal computers, laptops, smartphones, tablets, drones, low-altitude aircraft, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart car devices, and projectors. Portable wearable devices can include smart watches, smart bracelets, head-mounted devices, etc.; head-mounted devices can include virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc.
[0061] In an exemplary embodiment, Figure 2 As shown, a digital content processing method is provided, which is applied to Figure 1 The application node in is taken as an example to illustrate, including the following steps S201 to S205.
[0062] Step S201: In response to a request from a content receiving end to obtain target service information from a digital content server, a first hash value corresponding to the digital content server certificate is queried in a counting Bloom filter of a first alliance chain block; the target service information includes digital content and access permission to the digital content.
[0063] In practical applications, digital content protection can include protection of the digital rights management module and the interface content module. In some exemplary embodiments, for the digital rights management module, after a content receiver requests digital content, the digital content server, which is responsible for providing the digital content and related access rights, can first perform a two-way authentication with the content receiver. After the two-way authentication is successful, the digital content can be provided to the content receiver. For example, the content sender in the digital content server performs a two-way authentication with the content receiver. After the authentication is successful, the content sender can encrypt the digital content and send the encrypted digital content to the content receiver. Simultaneously, the license server also performs a two-way authentication with the content receiver. After the authentication is successful, the license server can issue a license to the content receiver. This license can contain a key for decrypting the received digital content and the receiver's permission to use the digital content. Thus, the content receiver, having obtained the license, can decrypt the digital content according to the license and perform related operations on the digital content based on the usage rights.
[0064] In related technologies, the identity authentication process in digital content protection is primarily based on the traditional Public Key Infrastructure (PKI) system. This system can be understood as a system for managing digital certificates and public keys. It consists of digital certificates, certificate authorities used to issue and manage digital certificates, and public and private keys. During the PKI-based identity authentication process, a trusted certificate authority (CA) first issues a trusted certificate (such as an X.509 certificate). When the digital content server and content receiver perform identity authentication, they send the certificates they hold to the CA center for verification.
[0065] However, due to its centralized nature, this authentication method can easily lead to frequent attacks on the CA center that issues the certificates, causing certificate information to be leaked, ultimately leading to various phenomena such as certificates being unreliable and digital content being infringed. On the other hand, when there are multiple content receivers requesting to obtain digital content, it is often necessary to repeatedly authenticate the digital content server, resulting in low authentication efficiency.
[0066] To this end, in this embodiment, a corresponding consortium chain can be pre-established, and certificates for digital content servers, content receivers, and content presenters can be stored and verified based on this consortium chain. Specifically, a blockchain consists of multiple data blocks, each linked by hashing to form a blockchain data structure. Blockchains can be categorized by type as public, consortium, and private. Consortium chains, as one type, can include multiple centers (such as a CA center), meaning that authentication content is jointly initiated by multiple organizations. Their degree of centralization lies somewhere between public and private chains, exhibiting partial decentralization. This reduces the uncontrollability of public chains while also breaking through the closed nature of private chains, facilitating certificate management and authentication for various digital content servers, content receivers, and content presenters.
[0067] In addition, digital content servers have different device characteristics from content receivers and content presenters: the number of digital content servers (such as license servers and content senders) is relatively small compared to the number of content receivers and content presenters, and they have higher stability and authority; the terminal devices commonly used by content receivers and content presenters, such as mobile devices, personal computers, high-definition displays and other lightweight devices, are highly forgeable.
[0068] Based on the differences in the characteristics of the two devices, the embodiment of the present application can use two alliance chains to store relevant transaction information for identity authentication. Different alliance chains are managed by different sub-alliances, and the generated transaction information is also recorded separately on the blockchain ledgers of the two alliance chains to ensure the independence of the two types of device information, which is convenient for quick search and isolation. Specifically, a first alliance chain and a second alliance chain can be provided in the present application. Among them, the first alliance chain can be used to manage each digital content server certificate, and the first alliance chain can be based on the CA center that issues the digital content server certificate; the second alliance chain can be used to manage each content receiving end certificate and content presentation end certificate, and the second alliance chain can be based on the CA center that issues the content receiving end certificate and content presentation end certificate. The content receiving end certificate and the content presentation end certificate can be called user end certificates.
[0069] In this step, the content receiving end may request to obtain target service information including digital content and access permission of the digital content from the digital content serving end.
[0070] In response to the content receiving end's request, the application node can obtain the hash value corresponding to the digital content server certificate. For ease of distinction, this hash value is referred to as the first hash value. The application node can then query the counting Bloom filter of the first consortium chain block for the first hash value corresponding to the digital content server certificate.
[0071] In step S202, if the first hash value is not found, the first smart contract is called to verify the digital content server certificate according to the first alliance chain, and when the number of verification passes of the digital content server certificate reaches a threshold, the first hash value is added to the counting Bloom filter.
[0072] Step S203: If the first hash value is found, it is determined that the digital content server certificate verification is successful.
[0073] In a specific implementation, a determination can be made as to whether the first hash value corresponding to the digital content server certificate can be found in the counting Bloom filter of the first consortium chain block. If the first hash value is not found, the digital content server certificate can be deemed untrustworthy. Certificate information related to the digital content server certificate can be determined on the first consortium chain, triggering the invocation of a corresponding smart contract to verify the digital content server certificate. For ease of distinction, the smart contract invoked to verify the digital content server certificate is referred to as the first smart contract.
[0074] If the verification result indicates that the digital content server certificate has failed verification, a message indicating that the target service information has failed to be obtained can be returned to the content receiving end. If the verification result indicates that the digital content server certificate has passed verification, when the number of verification passes for the digital content server certificate reaches a threshold, the application node can determine that the digital content server certificate is credible and add the first hash value to the counting Bloom filter. Thus, when the application node again queries the counting Bloom filter of the first consortium chain block for the first hash value corresponding to the digital content server certificate, if the first hash value is found to be added to the counting Bloom filter, it can be determined that the digital content server has been fully verified and is credible, and it can be directly determined that the digital content server certificate has passed verification.
[0075] In some exemplary embodiments, when the application node determines that the digital content server certificate has passed verification, it may record the current number of verification passes and determine whether the current number of verification passes has reached a threshold. The threshold may be a positive integer determined based on the computing resource capacity of the certificate verification service, may be positively correlated with the computing resource capacity, and may be less than or equal to a preset value. If the current number of verification passes does not reach the threshold, the application node determines that the digital content server certificate has passed verification, but does not temporarily add the first hash value to the counting Bloom filter. If the current number of verification passes has reached the threshold, it can be determined that the digital content server certificate has been fully verified for credibility, and the first hash value may be added to the counting Bloom filter.
[0076] In some embodiments, the number of times the digital content server certificate passes verification can be the number of consecutive times the verification is passed. If the digital content server certificate fails verification in a certain time, the number of times the verification is passed can be set to zero and the number of times the verification is passed can be recalculated.
[0077] In step S204, according to the second alliance chain, the second smart contract is called to verify the content receiving end certificate. If the verification passes, the digital content server is triggered to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and access permission.
[0078] Furthermore, the application node can verify the content receiver's certificate based on the second consortium chain and the corresponding smart contract. Specifically, it can query the second consortium chain for certificate information related to the content receiver's certificate, triggering the invocation of the corresponding smart contract to verify the content receiver's certificate. For ease of distinction, the smart contract invoked to verify the content receiver's certificate is referred to as the second smart contract. If the content receiver's certificate fails verification, a message indicating a failure to retrieve the target service information can be returned to the content receiver.
[0079] If the content receiving end certificate passes the verification, the digital content server can be triggered to provide the target service information to the content receiving end. The content receiving end can obtain the digital content and access permission based on the target service information returned by the digital content server.
[0080] Step S205: When the access permission includes permission to play the digital content on the content presentation end, in response to the request to play the digital content through the content presentation end, the third smart contract is called according to the second alliance chain to verify the content presentation end certificate. If the verification is successful, the content receiving end is triggered to send the digital content to the content presentation end for playback by the content presentation end.
[0081] In digital content protection, the interface content module can also be protected, thereby achieving overall process protection from digital content transmission to digital content use. In some embodiments, the protection of the interface content module can include authenticating the content presentation terminal, and the digital content can be played and displayed after passing the authentication.
[0082] In a specific implementation, the access permission types for digital content may include one or more types, such as at least one of playback, transfer, and download. If the access permission includes permission to play the digital content on a content presentation terminal, a request may also be made to the application node to play the digital content via the content presentation terminal. For example, a content receiving terminal or a content presentation terminal may request the application node to play the digital content via the content presentation terminal.
[0083] In response to a request to play digital content through a content presentation device or a triggering event, the application node can verify the content presentation device certificate based on the second consortium chain and the corresponding smart contract. Specifically, the application node can determine certificate information related to the content presentation device certificate on the second consortium chain, triggering the invocation of the corresponding smart contract to verify the content presentation device certificate. For ease of distinction, the smart contract invoked to verify the content presentation device certificate is referred to as the third smart contract.
[0084] If the content presentation end certificate fails to pass verification, a message indicating that the digital content playback failed can be returned to the content receiving end. If the content presentation end certificate passes verification, the content receiving end can be triggered to send the digital content to the content presentation end for playback. For example, after passing verification, the content presentation end can display the digital content in high definition on multiple screens and large screens.
[0085] In this embodiment, different strategies are used to verify the digital content server certificate, content receiver certificate, and content presenter certificate. First, this embodiment can use different alliance chains to manage information and verify the digital content server certificate, content receiver certificate, and content presenter certificate. Based on the partial decentralization and tamper-proof characteristics of the alliance chain, when certificate verification is required, authentic and reliable target information can be quickly and efficiently found in the corresponding alliance chain for verification. This reduces dependence on a single certificate authority and avoids data leakage caused by attacks on the certificate authority, which helps to improve the security, verification speed, and reliability of identity authentication. Second, for digital content servers with higher authority and stability, this embodiment can trigger verification of the digital content server certificate only when the first hash value is not queried from the counting Bloom filter of the block, and add the first hash value to the counting Bloom filter when the verification passes the number of times, thereby avoiding repeated verification of relatively stable digital content servers, reducing the number of smart contract execution transactions, improving authentication speed, and effectively saving resources consumed for certificate authentication during digital content processing. At the same time, for various content receiving terminals and content presenting terminals, the smart contract can be called for authentication each time, reducing the risk of digital content being obtained by the content receiving terminal and content presenting terminal in an abnormal manner. Therefore, through this embodiment, fast authentication and high-security digital content processing can be achieved while reducing resource consumption.
[0086] In the above-mentioned digital content processing method, in response to a request from a content receiving end to obtain target service information from a digital content server, a first hash value corresponding to the digital content server certificate can be queried in a counting Bloom filter of a first alliance chain block, wherein the target service information includes digital content and access permission to the digital content; if the first hash value is not queried, the first smart contract can be called according to the first alliance chain to verify the digital content server certificate, and when the number of verification passes of the digital content server certificate reaches a threshold, the first hash value is added to the counting Bloom filter; if the first hash value is queried, the digital content server certificate can be determined. The verification is successful; then, the second smart contract can be called according to the second alliance chain to verify the content receiving end certificate. If the verification is successful, the digital content service end is triggered to provide the target service information to the content receiving end, so that the content receiving end can obtain the digital content and access permission; further, if the access permission includes permission to play the digital content on the content presentation end, in response to the request to play the digital content through the content presentation end, the third smart contract is called according to the second alliance chain to verify the content presentation end certificate. If the verification is successful, the content receiving end is triggered to send the digital content to the content presentation end for playback by the content presentation end. In this embodiment, on the one hand, by using different alliance chains to verify the digital content server certificate, content receiving end certificate, and content presenting end certificate respectively, it is possible to quickly and efficiently find authentic and reliable target information in the corresponding alliance chain for verification, thereby improving the security and verification speed of identity authentication; on the other hand, by calling the first smart contract to verify the digital content server certificate when the first hash value is not queried, when the number of verification passes of the digital content server certificate reaches a threshold, the first hash value is added to the counting Bloom filter, and, when the first hash value is queried, it is determined that the digital content server certificate verification is passed, and only the content receiving end certificate and the content presenting end certificate can be verified. In order to prevent abnormalities in the content receiving end and the content presenting end, the number of times the smart contract is called to verify the digital content server certificate can be reduced, thereby saving certificate authentication resources; thus, the present application can realize safe and efficient identity authentication during the access and use of digital content, effectively improving the security of digital content.
[0087] In an exemplary embodiment, in step S202, adding the first hash value to the counting Bloom filter may include the following steps:
[0088] According to the first hash value, multiple position indexes are determined on the counting Bloom filter, and the values of the multiple position indexes are set to first preset values to obtain a counting Bloom filter containing the first hash value; a block body is generated according to certificate verification information obtained when verifying the digital content server certificate, and a block header is generated according to the counting Bloom filter containing the first hash value; a new block is obtained according to the block body and the block header, and the new block is saved on the first alliance chain.
[0089] In one embodiment, after obtaining the first hash value, the first hash value corresponding to the digital content server certificate can be mapped using multiple pre-provided hash functions to obtain a mapping result for each hash function. For ease of distinction, the mapping result of each hash function is referred to as a second hash value. Subsequently, based on the multiple second hash values, multiple position indexes can be determined in the counting Bloom filter of the first consortium chain block.
[0090] After obtaining the multiple location indexes, the values of the multiple location indexes can be set to a first preset value to obtain a counting Bloom filter containing the first hash value. The first preset value can indicate that the corresponding bit in the counting Bloom filter (i.e., the position indicated by the location index) is occupied. In some examples, when determining the multiple location indexes, the values of some location indexes may already be set to the first preset value, and the values of these location indexes may not be adjusted.
[0091] Then, a block body can be generated based on the certificate verification information obtained when verifying the digital content server certificate, and a block header can be generated based on the counting bloom filter containing the first hash value. Specifically, this embodiment adds a counting bloom filter field to the block header of the block in the first alliance chain, which can be used to quickly query the identity information of the trusted digital content server. The block body consists of multiple identity authentication transactions. In one example, the specific block structure can be as follows: Figure 5 As shown, the fields in the block header in the block structure are defined as follows:
[0092] (1) Root hash value of the previous block: the result of hashing all the data in the previous block, which is connected to the previous block through a pointer to prevent tampering.
[0093] (2) Current block root hash value: the result of hashing all the data in the current block.
[0094] (3) Timestamp: The specific time when the current block is generated.
[0095] (4) Block height: The number of each block. The genesis block is numbered 1, and the blocks generated thereafter gradually increase from 1, corresponding to the position addr of each transaction in the block.
[0096] (5) Merkle tree (also known as hash tree) root hash value: Transactions in the block body are recorded in the form of a Merkle tree, and the data at the top of this tree is recorded in the block header. This recording method can quickly confirm whether a transaction information has been tampered with.
[0097] (6) Counting Bloom filter: used to quickly query the identity information of trusted license servers and content senders.
[0098] In some exemplary embodiments, when the counting Bloom filter does not contain the first hash value, the application node can find the location addrX of the digital content server certificate on the first alliance chain based on the first hash value. Thus, the first smart contract storing the relevant certificate information can be found according to the location addrX, and the smart contract can be called first to perform certificate verification and obtain the certificate verification result. When the certificate verification passes, the certificate verification information obtained in the above verification process is used as a transaction record to generate a block body.
[0099] After obtaining the block body and block header, a new block can be generated through the consensus algorithm and saved on the first alliance chain.
[0100] In this embodiment, on the one hand, by generating a block header based on a counting Bloom filter containing a first hash value, it can provide a basis for subsequent rapid querying of whether the digital content server certificate has been fully verified, thereby effectively improving the verification speed of the digital content server certificate. On the other hand, by recording the certificate verification information of the digital content server in the block body, the tamper-proof feature of the blockchain can be utilized to ensure that the legitimacy and validity of the certificate are permanently recorded and cannot be tampered with, effectively taking into account both the authentication speed and the authentication credibility.
[0101] In an exemplary embodiment, after the step of setting the values of the plurality of position indexes to the first preset value, the method further includes:
[0102] The count value corresponding to each of the multiple position indexes in the counting Bloom filter is increased by one; when it is determined that there is an abnormality in the digital content server certificate, the count value of each of the multiple position indexes is reduced by one to obtain the current count value; if the current count value is equal to zero, the value of the position index corresponding to the current count value is set to a second preset value.
[0103] In the specific implementation, Bloom filter does not support deletion operation. Bloom filter is a very long binary array, and its data structure can be as follows Figure 3As shown, it can be used to retrieve whether an element is in a set. The traditional method of storing and querying data is to place the data in data structures such as linear lists and linked lists. However, as the amount of stored data continues to increase, the memory space occupied by these data structures gradually increases, and the query speed becomes slower and slower. Bloom filters can use multiple hash functions to map data to multiple points in a binary array, setting the mapped positions to specific values. When querying a certain data, the data is also passed through the same multiple hash functions to map the data to multiple points in the binary array. By querying whether the corresponding points are 1, it can be quickly determined whether the data exists. However, this type of Bloom filter does not support deletion operations. When an abnormality occurs in the digital content server certificate, using a traditional Bloom filter may not update the relevant information in a timely manner.
[0104] To this end, this embodiment designs a block structure containing a counting Bloom filter in the block, wherein the counting Bloom filter contained therein is a Bloom filter with a counter, i.e., a counting Bloom filter. Specifically, the counting Bloom filter can have a corresponding counter, i.e., an additional counter is added to each bit. When data is inserted or deleted, the count value of the corresponding counter can be adjusted. Its structure can be as follows: Figure 4 shown.
[0105] In this embodiment, after the values of the plurality of position indexes are set to the first preset value, the count values corresponding to the plurality of position indexes may be increased by one, for example, Figure 4 The counting Bloom filter shown assumes that the first hash value Hash(Certx) corresponding to the digital content server certificate is processed by three different hash functions to obtain three different second hash values, with specific values of 1, x, and n respectively. Each generated second hash value is used as a position index to point to the corresponding bit in the counting Bloom filter, that is, the positions of the array corresponding to the subscripts 1, x, and n. After setting the values of these positions in the array to 1, the count values of the counters corresponding to the bits with subscripts 1, x, and n can be further increased by one respectively.
[0106] When it is determined that there is an abnormality in the digital content server certificate, for example, when a message is obtained that the digital content server certificate is expired or revoked, the corresponding first hash value may be deleted from the counting Bloom filter.
[0107] During deletion, a second hash value may be determined through a pre-provided hash function, and multiple position indexes may be determined in the counting Bloom filter of the first alliance chain block based on the second hash value. Then, the count values of the multiple position indexes may be reduced by one to obtain the current count value. If the current count value is equal to zero, the value of the position index corresponding to the current count value may be set to a second preset value, wherein the second preset value may indicate that the corresponding bit in the counting Bloom filter is unoccupied. For example, after the count value is reduced by 1, if the current count value is 0, the value of the corresponding position index may be adjusted from 1 to 0. If the current count value is greater than zero, the value of the corresponding position index may not be adjusted.
[0108] In this embodiment, after setting the values of multiple position indexes to the first preset value, by adding one to the count value corresponding to each of the multiple position indexes in the counting Bloom filter, and when it is determined that there is an abnormality in the digital content server certificate, subtracting one from the count value of each of the multiple position indexes, if the current count value is equal to zero, then the value of the position index corresponding to the current count value is set to the second preset value. This can not only utilize the counting Bloom filter to efficiently store the information of the trusted digital content server certificate, but also overcome the shortcoming that the ordinary Bloom filter does not support data deletion. When an abnormality occurs in the digital content server certificate, by adjusting the count value, the first hash value is promptly removed from the counting Bloom filter, which helps to improve the reliability of the information stored in the counting Bloom filter.
[0109] In an exemplary embodiment, in step S201, querying the counting Bloom filter of the first consortium chain block for the first hash value corresponding to the digital content server certificate may include the following steps:
[0110] According to multiple hash functions provided in advance, the first hash value corresponding to the digital content server certificate is mapped to obtain multiple second hash values; based on the multiple second hash values, multiple position indexes are determined in the counting Bloom filter of the first alliance chain block; if the values on the multiple position indexes are all first preset values, it is determined that the first hash value is queried; if the value on any position index is the second preset value, it is determined that the first hash value is not queried.
[0111] In actual applications, when it is necessary to query whether the first hash value corresponding to the digital content server certificate is in the counting Bloom filter, the first hash value corresponding to the digital content server certificate can be mapped according to multiple pre-provided hash functions to obtain multiple second hash values. Then, based on the multiple second hash values, multiple position indexes are determined in the counting Bloom filter of the first consortium chain block. For example, the multiple second hash values can be used as position indexes.
[0112] Then, the values of the multiple position indexes can be determined. If the values of the multiple position indexes are all the first preset value, for example, all 1, it can be determined that the first hash value has been found. If the value of any position index is the second preset value, that is, at least one of the values of the multiple position indexes is not 1, it can be determined that the first hash value has not been found. Figure 4 Taking the example shown as an example, if the values of the Bloom filter at positions 1, x, and n are all 1, it means that the first hash value of this data exists. As long as the value at one position is 0, it can be determined that the first hash value does not exist.
[0113] In this embodiment, the first hash value corresponding to the digital content server certificate is mapped according to multiple hash functions provided in advance to obtain multiple second hash values. Then, based on the multiple second hash values, multiple position indexes are determined in the counting Bloom filter of the first alliance chain block. It is determined whether the first hash value is queried based on the values on the multiple position indexes. The redundant design of multiple hash mapping can be utilized to avoid hash conflict problems that may be caused by a single hash function, so that the probability of misjudgment can be reduced during the query.
[0114] In an exemplary embodiment, in step S202, based on the first consortium chain, calling the first smart contract to verify the digital content server certificate may include the following steps:
[0115] According to the first hash value, the target block of the digital content server certificate on the first alliance chain is determined; the first smart contract is called, and the first smart contract obtains the third hash value corresponding to the certificate stored in the target block; when the first hash value matches the third hash value, if the certificate status of the digital content server certificate is valid, it is determined that the digital content server certificate verification has passed.
[0116] In a specific implementation, when the counting Bloom filter does not contain the first hash value, the application node can use the first hash value to find the address addrX of the digital content server certificate on the chain and determine the target block. It can then use the target block to find the first smart contract that stores the relevant certificate information and call the first smart contract to query whether the calculated first hash value is equal to the third hash value corresponding to the certificate stored in the target block.
[0117] If the first hash value is equal to the third hash value, it can be determined that the digital content server has the corresponding ownership of the certificate on its chain. Then, the status database can be used to check whether the digital content server certificate is valid. For example, the status database can be used to determine whether the certificate has been authorized by the CA center and whether it is within the validity period. If the certificate has been approved and the certificate is within the valid period, it can be determined that the digital content server certificate verification has passed.
[0118] In this embodiment, the accuracy of the verification can be ensured by directly comparing the first hash value with the third hash value stored in the target block. At the same time, based on the hash value match, the certificate status is further checked to see if it is valid, thereby avoiding the problem of only verifying the hash value while ignoring the actual validity of the certificate, and improving the accuracy of certificate authentication.
[0119] In an exemplary embodiment, the present application provides a digital content processing system, which includes a digital content server, a content receiver, a content presenter, and an application node.
[0120] A content receiving end, configured to request to obtain target service information from a digital content serving end, wherein the target service information includes digital content and access permission to the digital content;
[0121] The application node is configured to obtain target service information from the digital content server in response to a request from the content receiving end, and query a first hash value corresponding to the digital content server certificate in a counting Bloom filter of the first consortium chain block;
[0122] The application node is further configured to, if the first hash value is not found, invoke the first smart contract to verify the digital content server certificate according to the first consortium chain, and add the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold;
[0123] The application node is further configured to determine that the digital content server certificate verification has passed if the first hash value is found;
[0124] The application node is further configured to call the second smart contract to verify the content receiving end certificate based on the second alliance chain, and if the verification is successful, trigger the digital content server to provide target service information to the content receiving end, so that the content receiving end obtains the digital content and access permission;
[0125] The application node is further configured to, when the access permission includes permission to play the digital content on the content presentation end, respond to a request to play the digital content through the content presentation end, invoke a third smart contract to verify the content presentation end certificate based on the second consortium chain, and, if the verification is successful, trigger the content receiving end to send the digital content to the content presentation end;
[0126] The content presentation terminal is used to play the received digital content.
[0127] In some exemplary embodiments, the CA node that issues each entity's certificate can be pre-joined as a consortium member in the corresponding consortium chain, and the latest status of each entity's certificate can be saved in advance in the blockchain ledger. Based on this, the license server and content sender are collectively referred to as the digital content server, and identity authentication between the digital content server and the content receiver, as well as a one-way authentication process between the content receiver and the content presenter, is performed.
[0128] In actual applications, license servers and content senders are unified as digital content service ends because their number is smaller than that of content receivers and they have higher authority. Their transaction information is stored on the first alliance chain, and the on-chain blocks use a block structure with a counting Bloom filter field; content receivers and content presentation ends usually use lightweight devices, which are highly forgeable and require identity authentication transactions for each end device. They are unified as user ends and their transaction information is stored on the second alliance chain. The on-chain blocks can use a block structure without a counting Bloom filter field.
[0129] In some embodiments, the specific identity authentication process in the system can be as follows: Figure 6 The meanings of the symbols involved are shown in Table 1.
[0130] Table 1
[0131] symbol meaning Se Digital content server Re Content receiving end Pr Content presentation end App Application Node Peer Nodes participating in on-chain transactions
[0132] Specifically, the following steps may be included:
[0133] S601, Re→App:{N1}.
[0134] The content receiver initiates a request to the application node to apply for the digital content provided by a content sender and the permission license of a license server, and at the same time sends its own certificate Y and the generated random number N1 to the application node.
[0135] S602, App→Se:{N1}, Se→App:{N2,X,Sign(SKX, N1)}.
[0136] The application node sends the request message and the random number N1 to the digital content server. After receiving the request, the digital content server signs the random number N1 with its own private key and sends the signature result Sign(SKX,N1), the generated random number N2, and the digital content server certificate X to the application node.
[0137] S603, App→Re:{N2}, Re→App:{Sign(SKY,N2),Y}.
[0138] The application node verifies the signature of the random number N1 using the public key contained in the received certificate X. Once the signature is verified, the application node sends the random number N2 to the content receiver. The content receiver signs the random number N2 with its private key and sends the signature result (SKY, N2) and its own certificate Y to the application node.
[0139] S604, App: Calculate Hash(X).
[0140] The application node verifies the signature of the random number N2 according to the public key carried in the certificate Y. After the signature verification is passed, the application node calculates the hash value of the certificate X to obtain the first hash value Hash(X).
[0141] S605: The application node calculates the hash value Hash(Y) corresponding to certificate Y, finds the location addrY of certificate Y on the second alliance chain based on the hash value Hash(Y), finds the second smart contract that stores relevant certificate information based on the block corresponding to the location addrY, calls the second smart contract to query, and determines whether the calculated hash value Hash(Y) of certificate Y is equal to the hash value Y-Hash of the certificate stored in the corresponding block. If Hash(Y) is equal to Y-Hash, it proves that the content receiver has ownership of the certificate on its chain. Then, the certificate status stateY and certificate expiration time TimeY of certificate Y can be checked through the status database. If the certificate status is passed and the certificate is within the valid usage period, it is determined that the content receiver certificate is valid and the content receiver certificate has passed verification.
[0142] S606, App: Check whether Hash(X) is stored.
[0143] The application node checks whether the counting Bloom filter of the first consortium chain block header contains the first hash value Hash(X). If the first hash value Hash(X) exists, it indicates that the digital content server certificate has passed verification and no authentication is required, and the process proceeds directly to step S609. If the first hash value Hash(X) does not exist, the digital content server certificate authentication transaction is executed according to the first consortium chain.
[0144] S607, App→Peer:{addrX}, Peer:{Hash(X)=X-Hash}; Peer:{stateX, TimeX}, store Hash(X).
[0145] When the counting Bloom filter does not contain Hash(X), the application node finds the location addrX of certificate X on the chain based on the first hash value Hash(X), and finds the first smart contract that stores the relevant certificate information based on the block corresponding to the location addrX. The first smart contract is called to query and determine whether the calculated first hash value Hash(X) of certificate X is equal to the hash value X-Hash of the certificate stored in the corresponding block. If Hash(X) is equal to X-Hash, it is determined that the digital content server has ownership of its on-chain certificate. The certificate status stateX and certificate expiration time TimeX of certificate X are then checked in the status database. If the certificate status is passed (pass) and the certificate is within the valid usage period, the digital content server certificate is determined to be valid and the digital content server certificate has passed verification.
[0146] The first hash value, Hash(X), is then placed in the counting Bloom filter in the block header, allowing other devices to authenticate the device. This process is then recorded as a transaction in the block body, and a new block is generated through a consensus algorithm and saved on the corresponding consortium chain. When a digital content server certificate (such as a license server certificate or a content sender certificate) is revoked, it is removed from the counting Bloom filter.
[0147] S608, Peer→App: returns the authentication result.
[0148] The node on the chain returns the authentication information to the application node. Of course, if the digital content server certificate is determined to have failed verification according to the first alliance chain, the authentication failure information can be returned to the application node.
[0149] S609, App→Re, Se: Return the authentication result.
[0150] The application node returns a message indicating that the authentication is successful to the digital content server and the content receiver. This completes the identity authentication between the digital content server and the content receiver.
[0151] Through the above steps, the authenticated content receiving end has obtained the encrypted digital content and the corresponding license. The content receiving end will extract the decryption key obtained from the license and decrypt the digital content, and play the digital content according to the usage rights in the license. At this time, in order to transmit the digital content to the content presentation end through the interface, the content presentation end needs to be authenticated. The authentication process is as follows:
[0152] S610: The content presentation end initiates a request to the content reception end, requesting to play the digital content that the content reception end has obtained.
[0153] S611, Re→Pr:{N3}.
[0154] The content receiving end sends a random number N3 to the content presenting end.
[0155] S612, Pr→Re:{Z,Sign(SKZ,N3)}.
[0156] The content presenter submits its own certificate Z and private key SKZ to the content receiver to sign the random number N3 (Sign(N3)).
[0157] S613, Re→App:{Hash(Z)}.
[0158] The content receiver verifies the signature of the random number N based on the public key in the received certificate. After the signature verification is successful, the hash value of the received certificate Z is calculated to obtain the result Hash(Z) and Hash(Z) is sent to the application node.
[0159] S614: Find the location addrZ of certificate Z on the second consortium chain based on Hash(Z). Find the third smart contract that stores certificate Z information based on the block corresponding to location addrZ. Call the third smart contract to query and determine whether the calculated hash value Hash(Z) is equal to the hash value Z-Hash of the certificate stored in the corresponding blockchain. This process is used to prove the content presentation end's ownership of the certificate status on the chain. If Hash(Z) and Z-Hash are not equal, an authentication failure message is returned. If Hash(Z) and Z-Hash are equal, the certificate status and expiration time of the content presentation end certificate Z are checked in the status database. If the certificate status is passed and the certificate is within the valid use period, it is determined that the content presentation end certificate verification has passed.
[0160] S615, Peer→App: returns the authentication result.
[0161] The on-chain node returns authentication information to the application node, and the application node returns authentication success information to the content receiver. Otherwise, it returns authentication failure information.
[0162] S616, App→Re: returns the authentication result.
[0163] The application node returns a successful authentication message to the content receiver. This completes the identity authentication for the content presentation end. At this point, the identity authentication process for digital content transmission is complete. Once the content presentation end passes identity authentication, the content receiver can transmit digital content to the content presentation end.
[0164] This embodiment provides a block structure with a counting Bloom filter in the block header and proposes an identity authentication mechanism based on two sub-alliance chains. The certificates of the digital content server and the user are respectively managed by two different alliances, and the generated transaction information is recorded in blockchain ledgers with different chain numbers, so that different information can be quickly found and isolated. When the number of verification passes for the digital content server certificate reaches a threshold, the digital content server can be considered trustworthy, and the first hash value of the digital content server certificate is added to the counting Bloom filter. Subsequently, only the user can be authenticated. At the same time, when the digital content server certificate is revoked due to expiration or private key leakage, the first hash value is deleted from the counting Bloom filter. This facilitates the rapid query of server-side identity information, reduces the number of transactions executed by smart contracts, and has the characteristics of fast authentication and high security, preventing replay attacks after malicious attackers steal messages.
[0165] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily performed in sequence in the order indicated by the arrows. Unless clearly stated herein, the execution of these steps is not strictly limited in order, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with at least a portion of the steps or stages in other steps or other steps. It is understandable that the various steps in different embodiments can be freely combined as needed, and the various non-contradictory schemes formed by the combination all fall within the scope of protection of this application.
[0166] Based on the same inventive concept, embodiments of the present application further provide a digital content processing device for implementing the aforementioned digital content processing method. The implementation solution provided by this device is similar to the implementation solution described in the aforementioned method. Therefore, the specific limitations in one or more digital content processing device embodiments provided below can be found in the above-described limitations on the digital content processing method and will not be further elaborated here.
[0167] In an exemplary embodiment, Figure 7 As shown, a digital content processing device is provided, comprising:
[0168] The hash value query module 701 is configured to query a counting Bloom filter of a first consortium chain block for a first hash value corresponding to the digital content server certificate in response to a request from a content receiving end to obtain target service information from the digital content server; the target service information includes digital content and access permissions to the digital content;
[0169] a hash value adding module 702, configured to, if the first hash value is not found, invoke a first smart contract to verify the digital content server certificate according to the first consortium chain, and add the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold;
[0170] Module 703 is used to determine that the digital content server certificate verification is successful if the first hash value is found;
[0171] The information sending module 704 is configured to call the second smart contract to verify the content receiving end certificate based on the second consortium chain, and if the verification is successful, trigger the digital content server to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and the access permission;
[0172] The presentation end verification module 705 is used to call a third smart contract to verify the content presentation end certificate in response to a request to play the digital content through the content presentation end when the access permission includes permission to play the digital content on the content presentation end, based on the second alliance chain; and if the verification is passed, trigger the content receiving end to send the digital content to the content presentation end for playback by the content presentation end.
[0173] In one embodiment, the hash value adding module 702 is configured to:
[0174] determining a plurality of position indexes on the counting Bloom filter according to the first Hash value, setting values of the plurality of position indexes to first preset values, and obtaining a counting Bloom filter including the first Hash value;
[0175] generating a block body according to certificate verification information obtained when verifying the digital content server certificate, and generating a block header according to a counting Bloom filter including the first hash value;
[0176] A new block is obtained according to the block body and the block header, and the new block is saved on the first alliance chain.
[0177] In one embodiment, the hash value adding module 702 is further configured to:
[0178] Increasing the count value corresponding to each of the plurality of position indexes in the counting Bloom filter by one;
[0179] When it is determined that the digital content server certificate has an abnormality, subtract one from the count value of each of the plurality of position indexes to obtain a current count value;
[0180] If the current count value is equal to zero, the value of the position index corresponding to the current count value is set to a second preset value.
[0181] In one embodiment, the hash value query module 701 is configured to:
[0182] Mapping the first hash value corresponding to the digital content server certificate according to multiple pre-provided hash functions to obtain multiple second hash values;
[0183] Determining a plurality of position indexes in a counting Bloom filter of the first consortium chain block according to the plurality of second hash values;
[0184] If the values on the multiple position indexes are all first preset values, it is determined that the first Hash value is found;
[0185] If the value at any of the position indexes is the second preset value, it is determined that the first hash value is not found.
[0186] In one embodiment, the hash value adding module 702 is configured to:
[0187] Determine, based on the first hash value, a target block for the digital content server certificate on the first consortium chain;
[0188] Invoking a first smart contract, and having the first smart contract obtain a third hash value corresponding to the certificate stored in the target block;
[0189] When the first hash value matches the third hash value, and if the certificate status of the digital content server certificate is valid, it is determined that the digital content server certificate verification has passed.
[0190] Each module in the aforementioned digital content processing device may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor within a computer device in the form of hardware, or may be stored in a memory within the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0191] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 8As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device can be used to store data related to certificate authentication. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a digital content processing method is implemented.
[0192] Those skilled in the art will understand that Figure 8 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0193] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.
[0194] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0195] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0196] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0197] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), quantum computing-based data processing logic devices, artificial intelligence (AI) processors, and the like.
[0198] The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0199] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A digital content processing method, characterized in that: The method comprises: In response to a request from a content receiving end to obtain target service information from a digital content server, querying a counting Bloom filter of a first consortium chain block for a first hash value corresponding to the digital content server certificate; the target service information includes digital content and access permission to the digital content; If the first hash value is not found, calling the first smart contract to verify the digital content server certificate according to the first consortium chain, and adding the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold; If the first hash value is found, it is determined that the digital content server certificate verification has passed; According to the second alliance chain, calling the second smart contract to verify the content receiving end certificate, if the verification is successful, triggering the digital content server to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and the access permission; In a case where the access permission includes permission to play the digital content on the content presentation end, in response to a request to play the digital content through the content presentation end, a third smart contract is called according to the second alliance chain to verify the content presentation end certificate. If the verification passes, the content receiving end is triggered to send the digital content to the content presentation end for playback by the content presentation end.
2. The method according to claim 1, characterized in that The adding the first hash value to the counting Bloom filter comprises: determining a plurality of position indexes on the counting Bloom filter according to the first Hash value, setting values of the plurality of position indexes to first preset values, and obtaining a counting Bloom filter including the first Hash value; generating a block body according to certificate verification information obtained when verifying the digital content server certificate, and generating a block header according to a counting Bloom filter including the first hash value; A new block is obtained according to the block body and the block header, and the new block is saved on the first alliance chain.
3. The method according to claim 2, characterized in that After the step of setting the values of the plurality of position indexes to first preset values, the method further includes: Increasing the count value corresponding to each of the plurality of position indexes in the counting Bloom filter by one; When it is determined that the digital content server certificate has an abnormality, subtract one from the count value of each of the plurality of position indexes to obtain a current count value; If the current count value is equal to zero, the value of the position index corresponding to the current count value is set to a second preset value.
4. The method according to claim 1, wherein The querying of the first hash value corresponding to the digital content server certificate in the counting Bloom filter of the first consortium chain block includes: Mapping the first hash value corresponding to the digital content server certificate according to multiple pre-provided hash functions to obtain multiple second hash values; Determining a plurality of position indexes in a counting Bloom filter of the first consortium chain block according to the plurality of second hash values; If the values on the multiple position indexes are all first preset values, it is determined that the first Hash value is found; If the value at any of the position indexes is the second preset value, it is determined that the first hash value is not found.
5. The method according to any one of claims 1 to 4, characterized in that The calling of the first smart contract to verify the digital content server certificate according to the first consortium chain includes: Determine, based on the first hash value, a target block for the digital content server certificate on the first consortium chain; Invoking a first smart contract, and having the first smart contract obtain a third hash value corresponding to the certificate stored in the target block; When the first hash value matches the third hash value, and if the certificate status of the digital content server certificate is valid, it is determined that the digital content server certificate verification has passed.
6. A digital content processing system, characterized in that: The system includes a digital content server, a content receiver, a content presenter, and an application node, wherein: The content receiving end is used to request to obtain target service information from the digital content server, wherein the target service information includes digital content and access permission of the digital content; The application node is configured to obtain target service information from the digital content server in response to a request from the content receiving end, and query a first hash value corresponding to the digital content server certificate in a counting Bloom filter of the first consortium chain block; The application node is further configured to, if the first hash value is not found, invoke a first smart contract to verify the digital content server certificate according to the first consortium chain, and add the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold; The application node is further configured to determine that the digital content server certificate verification has passed if the first hash value is found; The application node is further configured to invoke a second smart contract to verify the content receiving end certificate based on the second consortium chain, and if the verification passes, trigger the digital content server to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and the access permission; The application node is further configured to, when the access permission includes permission to play the digital content on the content presentation end, invoke a third smart contract to verify the content presentation end certificate based on the second consortium chain in response to a request to play the digital content through the content presentation end, and, if the verification is successful, trigger the content receiving end to send the digital content to the content presentation end; The content presentation terminal is used to play the received digital content.
7. A digital content processing device, characterized in that: The device comprises: a hash value query module, configured to obtain target service information from the digital content server in response to a request from the content receiver, and query a counting Bloom filter of the first consortium chain block for a first hash value corresponding to the digital content server certificate; the target service information includes digital content and access permission to the digital content; a hash value adding module, configured to, if the first hash value is not found, invoke a first smart contract to verify the digital content server certificate according to the first consortium chain, and add the first hash value to the counting Bloom filter when the number of verification passes of the digital content server certificate reaches a threshold; A passing module, configured to determine that the digital content server certificate verification is successful if the first hash value is found; an information sending module, configured to call a second smart contract to verify the content receiving end certificate based on the second consortium chain, and, if the verification is successful, trigger the digital content server to provide the target service information to the content receiving end, so that the content receiving end obtains the digital content and the access permission; A presentation end verification module is used to, when the access permission includes permission to play the digital content on the content presentation end, call a third smart contract to verify the content presentation end certificate in response to a request to play the digital content through the content presentation end according to the second alliance chain; and when the verification is successful, trigger the content receiving end to send the digital content to the content presentation end for playback by the content presentation end.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.