Media content control
By detecting decoded media content elements and generating encryption usage proofs, access to encrypted content is verified, which solves the problem that media content usage verification is difficult to achieve in the prior art, and improves the security and rationality of content distribution.
Patent Information
- Application Number
- CN201980061523.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-21
- Filing Date
- 2019-09-19
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2039-09-19
AI Technical Summary
The prior art is difficult to effectively verify the use of media content, resulting in trust issues between content providers and user equipment, affecting the safe and reasonable distribution of media content.
By detecting the decoded media content element, an encrypted usage proof associated therewith is generated and the access control function is provided to verify access to the encrypted media content element.
Reliable verification of the use of media content is achieved, ensuring that only legitimate users can access and consume protected media content, and improving the trust and security of content providers.
Smart Images

Figure CN112753031B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to media content control and, more particularly, to authenticating the use of media content. Background Art
[0002] Media content such as images and videos are increasingly shared and distributed via a variety of services. Each platform, service or application usually has its own privacy control mechanism.
[0003] Content providers such as video streaming service providers typically aggregate content from multiple content creators such as filmmakers or providers. The content is distributed through a content delivery network (CDN) and a digital rights management (DRM) mechanism is applied so that only authorized end viewers can consume the content.
[0004] Currently, content providers provide their own trusted software - a client application that runs on the user's device and manages the playback of the content. The client application can be, for example, a mobile device application or a set-top box. Playback management can be performed on a variety of scales, from a simple decryption module running in a browser to a complete native client application. In addition to this software that performs DRM, other functions can also be performed, such as usage analysis and reporting. Summary of the invention
[0005] According to a first aspect, a method is provided, comprising: detecting a decoded first media content element; generating an encrypted usage proof associated with the first media content element based on the decoded first media element; and providing the encrypted usage proof to an access control function for controlling access to an encrypted second media content element associated with the first media content element based on verification of the encrypted usage proof and an expected first encrypted usage proof associated with the first media content element.
[0006] According to a second aspect, a method is provided, comprising: receiving an encrypted proof of use indicating decoding of a first media content element by a user device; receiving an encrypted first expected proof of use value; and controlling access to an encrypted second media content element associated with the first media content element based on verification of the received encrypted proof of use and the first expected proof of use value.
[0007] According to a third aspect, a device is provided, comprising at least one processor and at least one memory storing computer program code, the at least one memory and the computer program code being configured to, together with at least one processing core, enable the device to at least: detect a decoded first media content element; generate an encrypted usage certificate associated with the first media content element based on the decoded first media element; and provide the encrypted usage certificate to an access control function for controlling access to an encrypted second media content element associated with the first media content element based on verification of the encrypted usage certificate and an expected first encrypted usage certificate associated with the first media content element.
[0008] According to a fourth aspect, a device is provided, comprising at least one processor and at least one memory storing computer program code, wherein the at least one memory and the computer program code are configured to, together with at least one processing core, enable the device to at least: receive an encrypted proof of use indicating decoding of a first media content element by a user device; receive an encrypted first expected proof of use value; and control access to an encrypted second media content element associated with the first media content element based on verification of the received encrypted proof of use and the first expected proof of use value.
[0009] According to a fifth aspect, a computer program (product), a computer-readable medium, or a non-transitory computer-readable medium is provided, comprising program instructions that cause an apparatus to at least perform the following operations: receive an encrypted proof of use indicating decoding of a first media content element by a user device; receive an encrypted first expected proof of use value; and control access to an encrypted second media content element associated with the first media content element based on verification of the received encrypted proof of use and the first expected proof of use value.
[0010] According to a sixth aspect, a computer program (product), a computer-readable medium, or a non-transitory computer-readable medium is provided, comprising program instructions that cause a device to perform at least the following operations: detect a decoded first media content element; generate an encrypted usage certificate associated with the first media content element based on the decoded first media element; and provide the encrypted usage certificate to an access control function for controlling access to an encrypted second media content element associated with the first media content element based on verification of the encrypted usage certificate and an expected first encrypted usage certificate associated with the first media content element.
[0011] In an embodiment according to any of the above aspects, a cryptographic proof of use is provided from a user device for verification against a first expected cryptographic proof of use associated with a first media content element from a first media content element provider.
[0012] In an embodiment according to any of the above aspects, in response to the encrypted proof of use matching the second expected proof of use value but not matching the first expected proof of use value, the first media content provider is detected as being fake or malicious.
[0013] In an embodiment according to any of the above aspects, the cryptographic proof of use is provided to a trusted hardware module connectable to or comprised by the device.
[0014] In an embodiment according to any of the above aspects, a cryptographic proof of use is provided from a user device to a secure multi-party computation network.
[0015] In an embodiment according to any of the above aspects, a first signed digital resource transaction associated with a second media content element is sent from the first media content element provider to an access control function, and in response to the received encrypted proof of use matching the first expected proof of use value, the first signed digital resource transaction is sent from the access control function to the media service provider or the second media content element provider for publication in a distributed ledger.
[0016] In an embodiment according to any of the above aspects, a second signed digital resource transaction associated with a second media content element is sent from a user device to an access control function, and in response to a received encrypted proof of use not matching the first expected proof of use value, the second signed digital resource transaction is sent from the access control function to a media service provider or a second media content element provider for publication in a distributed ledger.
[0017] In an embodiment according to any of the above aspects, in response to verifying the first signed digital resource transaction and the second signed digital resource transaction, an input for continuing to decode the first media content element is sent to the user device.
[0018] In an embodiment according to any of the above aspects, the signed digital resource transaction is included in a blockchain transaction for publication in a blockchain network.
[0019] In an embodiment according to any of the above aspects, the encrypted proof of use is generated based on hashes of video frames of the first media content element decoded by the decoder, or comprises these hashes. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 illustrates an exemplary system capable of supporting at least some embodiments of the present invention;
[0021] Figure 2 illustrating methods according to at least some embodiments;
[0022] Figure 3 Modules illustrating user equipment according to at least some embodiments;
[0023] Figures 4 to 7 illustrating methods according to at least some embodiments;
[0024] Figure 8 illustrating inputs to access control functionality according to at least some embodiments;
[0025] Fig. 9 illustrating cryptographic proof of use according to at least some embodiments;
[0026] Fig.10 illustrating signaling examples according to at least some embodiments;
[0027] Fig.11 Apparatus according to at least some embodiments is shown. DETAILED DESCRIPTION
[0028] Figure 1 An exemplary system of a media content providing system is shown. A media service provider (MSP) 20 receives content from a plurality of content element providers (CEPs) 40, 42. A CEP generally refers to a media content owner device. A CEP may also or alternatively refer to a device of a content creator or source that provides a media content element or portion for distribution. In some embodiments, a CEP provides a video frame to be distributed to a user device 10 via a media content hosting or provision service (such as a video on demand streaming service) provided by the MSP 20. For example, a CEP may be a movie provider or an advertisement provider. A first CEP, namely CEP1 40, may provide a first media content element to the MSP, and a second CEP, namely CEP2 42, may provide a second media content element to the MSP, thereby providing it to the user device 10.
[0029] Media content may be provided from the MSP 20 to the user device 10 via a content delivery network (CDN) 30. The term "user device" generally refers to a device that consumes content, such as a mobile phone, tablet computer, wearable device, or other type of mobile device for content playback, a desktop or laptop computer, a television, a set-top box, a game console, a theater device, a public display, or other type of digital media content player device. The CDN may include one or more wired and / or wireless networks, such as an Ethernet-based network, a cellular network, and / or a wireless LAN.
[0030] The MSP 20 sends data packets over a transport protocol such as TCP. The content can be cached in the CDN 30. This can take the form of a dedicated network or an Internet Service Provider (ISP) based cache. Regardless of the exact nature, these caches can reduce network latency and optimize bandwidth usage. When streaming content over a network, the original content is broken into small segments, such as 1 to 2 seconds of content. The MSP or CDN can also encode these segments at a range of different quality levels.
[0031] One or more of the user device 10, MSP 20, and CEP 40, 42 may be connected to a distributed network 50, such as a network based on a public or private blockchain. The distributed network may include multiple nodes. The user device 10, MSP 20, and / or CEP 40, 42 may operate as a node of the network 50, or connect to a node of the network 50 so that the latter operates on its behalf.
[0032] The system may include an administrator or management node, a hub, a repeater, or other type of intermediate device (not shown) for connecting the node to other networks or services, such as another distributed or centralized computing system or a cloud service. The nodes may address each other in a suitable manner, for example, they may be connected to an Internet Protocol IP network. Messages with a recipient address released into the IP network are routed through the network to the recipient node identified by the recipient address.
[0033] In some media content providing systems, it is necessary to confirm the use of media content elements, such as video sequences, have been used or played on user devices. It may not be enough to trust the content provider and / or user application alone. Now provided are methods and apparatus for facilitating improved media content element usage control and media content element decoding proof in user devices by generating encrypted usage proof based on decoded media content elements.
[0034] Figure 2 A method according to some embodiments is shown. The method may be implemented in an apparatus (such as user equipment 10) configured to use, consume or play media content.
[0035] A first decoded media content element is detected 200. For example, the media content element may be detected at or based on an output of a media decoder configured to decode the media content element.
[0036] Based on the decoded first media element, an encrypted proof of use associated with the first media content element is generated 210. An encrypted proof of use generally refers to an encrypted proof or evidence that a media content element has been decoded. Thus, the proof of use may indicate (in the case of video content) that the media element has been provided to a (targeted) media content end user or viewer, in which case the term "proof of view" may also be used.
[0037] A cryptographic proof of use (hereinafter referred to as CPOU) is provided 220 to an access control function for controlling access to an encrypted second media content element associated with a first media content element. The association of media content elements generally refers to the relationship between the media content elements, and in some embodiments, the first media content element is identified or scheduled to be played before the second media content element and as a prerequisite required by the second media content element. Therefore, the access control function (ACF) can be configured to verify the CPOU by comparing it with the expected cryptographic proof of use (EPOU). In response to the successful verification of the CPOU, the ACF can allow access to the second media content element and issue the second media content element and / or access credentials for the second media content element to the user device.
[0038] Figure 3 A module or unit of a user device, such as device 10, is shown configured to generate 210 a CPOU. An input (encoded) media content element 300 is decoded by a decoder 310, which is, for example, a decoder configured to decode video based on H.263, H.264, or H.265 or other video coding standards, or other types of media decoders configured to decode the media content type of element 300. Decoder 310 may be implemented by electronic circuitry and / or software.
[0039] The decoded media content is provided to an output circuit (OC) 320 (e.g., an HDMI circuit) and an output device (OD) 330 (e.g., a display). A CPOU generator (CPOUG) 340 may be configured to receive 200 the decoded media content elements and generate 210 a CPOU 350. CPOUG 340 may be implemented by a controller 360 that is configured to also perform other functions related to media content control. In some embodiments, CPOUG 340 is implemented by a decoder circuit or software such as an ASIC and / or a playback circuit, and / or by a media player application or by a unit of a media player application connected to the user device 10.
[0040] In some embodiments, when the ACF verifies that the CPOU matches the EPOU, a decryption key for decrypting the encrypted second media content element is received from the access control function after frame 220. The received decryption key can be provided to the decoder 310 for decrypting the encrypted second media content element. Therefore, the controller 360 can receive the decryption key and send it to the decoder 310, or configure the decoder to apply the decryption key.
[0041] Figure 4 A method according to some embodiments is shown. The method can be implemented in a device configured to control the use or playback of media content elements and execute ACF. For example, the device can be a rights controller device, a user device, or a service provider device. It should be noted that in some embodiments, the ACF is provided by multiple parties in a distributed network, so the devices participating in the multi-party computation can be configured to perform a portion of the complete computation task to achieve the final access control resolution.
[0042] A CPOU is received 400 indicating decoding of a first media content element by a user device, for example, sent 220 by the user device 10. An encrypted first proof of intended use value (hereinafter referred to as EPOU1) associated with the first media content element is received 410. For example, EPOU1 may be received from CEP 140. It should be noted that EPOU1 may be received before the CPOU.
[0043] Based on the verification of the received CPOU and EPOU1, access to the encrypted second media content element associated with the first media content element is controlled 420.
[0044] Thus, depending on the result of the verification process, access to the second media content element is allowed or denied. In some embodiments, verification includes checking whether the CPOU and EPOU1 match. If the CPOU matches the EPOU1, a decryption key for decrypting the encrypted second media content element may be sent in or after block 420. Otherwise, access may be denied.
[0045] The verification of 420 may involve a comparison with another proof of intended use EPOU2, which may be received from the MSP 20 or CEP2 providing the second media content element (and its decryption key). If the CPOU matches EPOU1 and EPOU2, access to the second media content element may be allowed, and a decryption key for decrypting the encrypted second media content element may be sent in or after box 420. If the CPOU does not match EPOU1, but EPOU1 matches EPOU2, a decryption key may be sent to the user device, provided that the user device has provided a valid signed digital resource transaction (as further described below). According to the access control policy applied, similarly, if the CPOU does not match EPOU1, but the CPOU matches EPOU2, access may be allowed, provided that a valid signed digital resource transaction has been obtained from the provider (or user device) of CEP1. If the verification of both the CPOU and EPOU1 fails, the entire access control process or protocol may be interrupted, thereby not allowing access to the second content element, and not providing a decryption key to the user device. However, it should be noted that in the alternative embodiment already noted, only CPOU is compared to EPOU1 and if there is a match, access is enabled.
[0046] Figure 5 A method according to some embodiments is shown. The method may be performed in a Figure 2 The method is implemented in an apparatus (eg, user equipment 10 and its controller 360).
[0047] A second signed digital resource transaction (referred to herein as TX2) associated with a second media content element is generated 500. Thus, the user device may provide TX2 to provide a backup or second digital resource transaction for allowing the user device to access the second content element in the absence of a valid digital resource transaction (referred to herein as the first signed digital resource transaction TX1) received from CEP1 for this purpose. Depending on the implementation, TX2 may be addressed to CEP2, or to MSP if MSP is used as an entity in the DRM process and provides the second content element of CEP2 or on behalf of CEP2. TX2 may, for example, include an identifier of the second content element and define a cryptocurrency transaction from the user device to CEP2 or MSP. In some embodiments, transactions TX1 and TX2 are signed by cryptographic keys available in CEP1 and user device 10, respectively. The signature may be verified based on the public key of the respective entity.
[0048] Providing 510 TX2 to ACF. Similar to the providing 220 of the CPOU, providing TX2 to the ACF may mean sending TX2 to the ACF locally in the same device or sending TX2 to other devices through a communication network.
[0049] After TX2 is verified by the ACF, an input is received 520 from the ACF for continuing decoding of the first media content element. In response to the input, decoding of the first media content element in response to the input is caused 530. Thus, the controller 360 may, for example, send a suitable control signal to the decoder 310 to trigger decoding. The controller may also activate CPOUG 340 to detect the decoded first media content element portion (by entering Figure 2 Method and box 200).
[0050] Figure 6 and Figure 7 A method according to some embodiments is shown. The method may be configured to control the use or playback of a media content element and according to Figure 4 The ACF is implemented in a device that executes the ACF. For example, the device may be a permission controller device, a user device, or a service provider device. It should be noted that in some embodiments, the ACF is provided by multiple parties, and in one embodiment, by multiple parties in the distributed network 50, so the devices participating in the multi-party computation can be configured to perform a portion of the complete computation task to achieve the final access control resolution.
[0051] exist Figure 6 , TX1 associated with the second media content element is received 600 from CEP1 (e.g., CEP1 40). TX2 associated with the second media content element is received 610 from the user device. For example, the controller 360 may send TX2 in block 510. It should be noted that TX2 may be received before TX1.
[0052] Verify 620 TX1 and TX2. In response to verifying both TX1 and TX2, input for continuing decoding of the first media content element is provided 630 by the ACF. This may involve sending such an input message to the user device 10, or otherwise providing input to block 520. In the event of a verification failure, the process may be interrupted.
[0053] Figure 5 and Figure 6 The box can be part of the first DRM stage, or in conjunction with Figure 2 , Figure 4 and Figure 7 The second DRM stage shown previously loops. Inputs 630, 520 may indicate, for example, continuation of the DRM process and a desired service for the user device based on provision of a second media content element to the user under the condition that the first media content element is decoded for UI output.
[0054] Figure 7An embodiment in which two expected use values are applied is shown. An encrypted second proof of expected use value EPOU2 and a decryption key for decrypting the encrypted second media content element are received 700 from CEP2 (e.g., CEP 42) or in some embodiments from MSP 20. Block 700 may be for Figure 4 4. The method of claim 400 is an additional block of the method, entered before or after block 400 or 410. Block 710 may be executed in conjunction with block 420 and before block 420, including executing 710 a verification phase of EPOU1, EPOU2, and CPOU. Therefore, at least one of CPOU and EPOU1 needs to be successfully verified against EPOU2. If not successfully verified, verification phase 710 fails and the process may be interrupted.
[0055] Based on the verification result of block 710 , control 720 provides the user device with a decryption key for decrypting the second media content element. This may involve features already shown in conjunction with block 420 .
[0056] In response to CPOU matching CPOU2 but not CPOU1, ACF may detect that CEP1 is fake or malicious.
[0057] Based on the verification result of block 710, TX1 or TX2 is selected 730. A transaction including the selected TX1 or TX2 is generated 740 and provided to the distributed ledger.
[0058] Thus, in response to CPOU matching (at least) EPOU1, TX1 may be sent to CEP2 or MSP, or directly to the distributed network 50 for publication in the distributed ledger in 740. In response to CPOU not matching EPOU1, TX2 may be sent to CEP2 for publication in the distributed ledger.
[0059] The purpose of a distributed ledger is to record and execute verifiable transactions and event sequences, which, in the proposed embodiment, involve digital resource transactions associated with and generated based on a media content access control process. A distributed ledger can be viewed as a total database synchronized between multiple parties, which includes a continuous consensus state about a specific matter (e.g., about a device quote or update event) at consecutive time instances. This state can be achieved by multiple parties (e.g., nodes in a peer-to-peer (P2P) network) following a decentralized consensus algorithm. This can provide an agreement between nodes without assuming that there is trust between them. In some embodiments, as shown in 740, the transaction is a blockchain transaction for publication in a blockchain network. It should be noted that it is not necessary to apply two transactions TX1, TX2, but the system can be implemented or used based only on TX1.
[0060] Figure 8The inputs to ACF are outlined according to an embodiment applying two proof-of-intended-use values. K refers to the decryption key.
[0061] The proposed features facilitate obtaining cryptographic evidence of decoding a first media content element, such as an advertisement, provided by CEP1 40, thereby enabling reliable confirmation that the media content element has been "consumed" by a user device. The proposed features also facilitate controlling access to a second media content element, such as a movie, provided by CEP2 42 or MSP 20 in response to verification of a proof of use received from a user device. Through the use of digital resource transactions and proof of use shown above, an automatic malicious party detection and reward system can be enabled.
[0062] It should be noted that various additions and modifications may be applied to at least a portion of the features shown above. For example, the inputs 520, 630 for continuing the decoding of the first media content element may be separate from the TX1 and / or TX2 verification (failure to verify prevents access to the second media content element). In another embodiment, the decoding of the first media content element may be performed without specific input from the ACF, thereby interrupting the process in response to an inability to verify transactions TX1 and TX2 or a failure to use proof verification 710. Some other exemplary embodiments are shown below. As another example, verification and access control may be Figure 4 in a separate box.
[0063] In some embodiments, the CPOU is generated based on hashes of video frames of the first media content element decoded by the decoder 310, or includes these hashes. Fig. 9 In an exemplary embodiment of the invention, a hash, referred to as a frame hash 900, is calculated for each video frame (of an input video segment) generated from the decoder. A combined hash 902 is then generated based on all the frame hashes generated from the video segment. In one embodiment, a root hash 904 of a Merkle tree may be formed for the segment based on the frame hash of the segment. The Merkle tree structure may be used to efficiently identify any mismatches in the video frames. To compare two segments, only the root needs to be looked at. If the root hashes match, then the two segments are most likely identical. Additionally, the tree structure allows for locating individual image frames that produce a logarithmic time mismatch.
[0064] In some embodiments, in block 220, the CPOU is provided to a trusted hardware module that is connectable to or may be included in the user device and is configured to at least partially implement the ACF. Thus, the user device may be configured to also perform the combined Figure 4 , Figure 6 and Figure 7 At least some of the features shown. For example, Software Guard Extensions (SGX) may be applied to provide a trusted hardware module.
[0065] Therefore, the user device 10, MSP 20 (or CEP2) and CEP1 40 may be configured to input their secrets (e.g., in combination with Figure 8 The secret input (shown) is sent to a trusted hardware module, which acts as a trusted party and is configured to return a secret output to each corresponding party. The confidentiality of the input and output can be achieved using encryption (e.g., asymmetric encryption), and trust in the code running in the hardware can be achieved via proof.
[0066] Reference below Fig.10 An exemplary process is shown, wherein a user device acts as an end viewer of streamable media content associated with an advertisement (AD), an SGX server operates as an ASF, an advertisement provider acts as CEP1, and a content provider acts as an MSP 20 (or CEP2).
[0067] The content provider can distribute encrypted media content (which can be considered as or include a second content element) to a content distribution network (CDN), which sends the encrypted media content to the user device when the user device issues a media streaming request. The user device sends a "backup" signed transaction (TX2) for the content. The AD provider prepares a signed transaction (TX1) for the content provider to compensate for the content when the associated AD (first media content element) is viewed. These two signed transactions will be sent to the trusted hardware along with the content provider's public key in the first round of input. It is assumed that the content provider's public key is known to the AD provider and the user device that uses it to prepare the signed transaction. If the transaction is valid, the trusted hardware will send a message indicating "continue" to the three parties, otherwise a message indicating "failure" will be sent, which will interrupt the protocol.
[0068] If "Continue" is returned, the final viewer views AD, and the three parties begin a second round of secret inputs, which are sent to the trusted hardware. As part of the second round, the three parties submit their "fingerprints", i.e., proof of viewing (CPOU) or proof of expected viewing EPOU1, EPOU2, for verification. The content provider also submits a decryption key.
[0069] a. If the proof of viewing matches between the user device and the content provider, the system can detect the presence of a malicious AD provider.
[0070] b. If proof of viewing matches between the AD provider and the content provider, the system can prove that the user is acting maliciously (either by design or by not viewing the AD).
[0071] c. Content providers have no incentive to act maliciously in the system because they are the ones who receive the rewards.
[0072] d. This phase is considered successful when the content provider's proof of view matches the proof of view from the user and / or AD provider. Otherwise the protocol is terminated.
[0073] The trusted hardware verifies whether the expected proof of view (EPOU1) from the AD provider is equal to the proof of view (CPOU) from the user device.
[0074] ○ If successful, then:
[0075] ■ The user device receives the decryption key for the content and the content can be consumed.
[0076] ■The content provider receives the transaction signed by the AD provider (TX1). The content provider can then broadcast the transaction to an associated distributed network, such as a corresponding cryptocurrency network.
[0077] ○ If it fails, then:
[0078] ■If the proof of view verification phase is successful and the proof of view from the user device is “false”, the content provider receives a transaction signed by the user device (TX2). The content provider can then broadcast this transaction to the cryptocurrency network.
[0079] ■If the proof-of-view verification phase is successful and the expected proof from the AD provider is "false", the content provider receives a transaction signed by the AD provider. The content provider can then broadcast the transaction to the cryptocurrency network.
[0080] In some embodiments, at least some ASF functions are performed by multi-party computation. Therefore, the CPOU is sent to at least one secure multi-party computation (SMPC) node configured to verify the CPOU in or after block 220. The user device 10, MSP20 / CEP 42, and CEP1 can participate in the SMPC protocol. However, it will be understood that other entities may also participate in the SMPC as an alternative or in addition to these parties. The SMPC protocol ensures the confidentiality of the input and allows participating entities to calculate public outputs.
[0081] The process is similar to the above process in other aspects, such as combining Fig.10, but the decryption key for the second media content element is sent to the user device in encrypted form. For example, the decryption key can be encrypted based on a random encryption key shared by the user device and the content provider 30. For example, during the second stage of the DRM process in conjunction with the CPOU, the user device can send the random encryption key. When the CPOU matches the EPOU1, the decryption key can be XORed with the random encryption key, and the user device performs an XOR on the received encrypted decryption key.
[0082] There may be another process or stage for verifying the media content, such as the second media content element, provided by the MSP / CEP2. The publication of TX1 or TX2 may be triggered 740 only after, for example, the decrypted media content element is successfully verified by the user device. For example, this may be set by using a checksum. This enables detection of malicious content providers that provide the generated decryption keys.
[0083] As described above, in some embodiments, a distributed database such as a blockchain-based database is applied to at least digital resource transactions. The distributed network 50 may be a blockchain network, and the node functions as a blockchain (BC) node and stores a local blockchain database. The distributed ledger is a blockchain ledger, and in response to verification of a blockchain transaction including TX1 or TX2, the transaction is provided to the blockchain ledger. The application of blockchain technology and ledgers provides a method for tracking unique transaction histories by each node in the network.
[0084] The blockchain state information shared by the nodes may store all transactions and history performed in the network 50, as well as privacy control information related to the media vector components. The blockchain state information is stored in or as a blockchain ledger. Each node may include a ledger whose content is synchronized with other ledgers. Each node may have their own copy of the ledger, which in some embodiments is permission-controlled so that participants can only see appropriate transactions. In order to reach consensus on resource ownership, blockchain transactions protected by strong cryptography are exchanged and verified. In response to the verification of the corresponding blockchain transaction, the information provided in the blockchain transaction may be stored in the blockchain ledger.
[0085] The blockchain transaction may include an identifier of the new owner of the resource (i.e., the recipient) and a cryptographic signature of the previous owner (i.e., the sender) so that a malicious attacker cannot reallocate resources they do not own. A blockchain transaction including the first or second transaction may be a public transaction. The blockchain transaction record includes relevant transaction information (e.g., about rewards from advertisers / CEP1 to MSP 20 in a cryptocurrency system) and a hash pointer to the previous block in the chain. The record may also include other information elements, such as a timestamp.
[0086] ACF can be configured to provide signed blockchain transactions to the blockchain ledger directly or via other units such as MSP. In order to build the next block, the transaction is broadcast to the blockchain network. Broadcasting here refers to the propagation method applicable to this context, which will generally cause the transaction to be transmitted to the nodes in the network. Strictly speaking, not every transaction must reach every node.
[0087] An electronic device including electronic circuits may be a device for implementing at least some embodiments. The device may be a computer, a laptop computer, a tablet computer, a cellular phone, a machine-to-machine (M2M) device, a wearable device, an access network device, a network management or control device, a server, or any other appropriately configured device with communication capabilities, or included therein. In some embodiments, a device for performing at least some of the above functions is included in such a device, for example, the device may include circuits such as a chip, a chipset, a microcontroller, or a combination of circuits used in or included in any of the above devices.
[0088] As used in this application, the term "circuitry" refers to one or more or all of the following:
[0089] (a) hardware circuit implementation only (such as analog and / or digital circuit implementation only);
[0090] (b) a combination of hardware circuitry and software such as (where applicable):
[0091] (i) a combination of analog and / or digital hardware circuits and software / firmware; and
[0092] (ii) any portion of a hardware processor with software (including a digital signal processor, software and memory that work together to enable a device such as a mobile phone or server to perform various functions); and
[0093] (c) Hardware circuits and / or processors, such as a microprocessor or portion of a microprocessor, that require software (e.g., firmware) to operate, but may not be present when the software is not required for operation.
[0094] This definition of "circuitry" applies to all uses of this term in this application, including in any claims. As another example, as used in this application, the term "circuitry" also covers an implementation of merely a hardware circuit or processor (or multiple processors) or a portion of a hardware circuit or processor and its accompanying software and / or firmware. The term "circuitry" also covers (for example and if applicable to the specifically claimed element) a baseband integrated circuit or processor integrated circuit for use in a mobile device or server, a cellular network device, or other computing or network device.
[0095] Fig.11 An exemplary apparatus capable of supporting at least some embodiments of the present invention is shown. A device 1100 is shown, which may include a communication device configured to operate as an entity in a presently disclosed system related to media content access control. The device may be configured to perform at least some embodiments related to the generation, verification and / or use of proof of use and digital resource transactions related to the above-described media content access control features and processes. The device may include one or more controllers configured to perform operations according to at least some of the embodiments shown above, such as the above in combination with Figures 2 to 10 Some or more of the blocks shown. The apparatus may operate, for example, as a user equipment 10 and / or as an apparatus comprising an ASF (or, for example, as an SMPC node participating in the implementation of an ASF).
[0096] The device 1100 includes a processor 1102, which may include, for example, a single-core or multi-core processor, wherein the single-core processor includes one processing core, and the multi-core processor includes more than one processing core. The processor 1102 may include more than one processor. The processor may include at least one application-specific integrated circuit ASIC. The processor may include at least one field programmable gate array FPGA. The processor may be a component for performing method steps in the device. The processor may be configured at least in part by computer instructions to perform actions.
[0097] The device 1100 may include a memory 1104. The memory may include random access memory and / or permanent memory. The memory may include at least one RAM chip. The memory may include, for example, solid-state, magnetic, optical and / or holographic memory. The memory may be at least partially accessible to the processor 1102. The memory may be at least partially included in the processor 1102. The memory 1104 may be a component for storing information. The memory may include computer instructions that the processor is configured to execute. When computer instructions configured to cause the processor to perform certain actions are stored in the memory, and the device is generally configured to run under the guidance of the processor using computer instructions from the memory, the processor and / or at least one of its processing cores may be considered to be configured to perform the certain actions described. The memory may be at least partially included in the processor. The memory may be at least partially external to the device 1100 but accessible to the device. For example, control parameters affecting operations related to the generation, verification and / or application of digital resource transactions may be stored in one or more parts of the memory and used to control the operation of the device. In addition, the memory may include device-specific encryption information, such as encryption keys and public keys of the device 1100.
[0098] The device 1100 may include a transmitter 1106. The device may include a receiver 1108. The transmitter and the receiver may be configured to send and receive information respectively according to at least one wired or wireless, cellular or non-cellular standard. The transmitter may include more than one transmitter. The receiver may include more than one receiver. For example, the transmitter and / or the receiver may be configured to operate according to the Global System for Mobile Communications GSM, Wideband Code Division Multiple Access WCDMA, Long Term Evolution LTE, 5G or other cellular communication systems, wireless local area networks WLAN, and / or Ethernet standards. The device 1100 may include a near field communication NFC transceiver 1110. The NFC transceiver may support at least one NFC technology, such as NFC, Bluetooth, Wibree or similar technology.
[0099] The device 1100 may include a user interface UI 1112. The UI may include at least one of a display, a keyboard, a touch screen, a vibrator configured to signal the user by causing the device to vibrate, a speaker, and a microphone. The user may be able to operate the device via the UI, for example, to accept an incoming phone call, place a phone call or video call, browse the Internet, manage digital files stored in the memory 1104 or on the cloud accessible via the transmitter 1106 and the receiver 1108 or via the NFC transceiver 1110, and / or play games.
[0100] The device 1100 may include or be configured to accept a user identity module or other type of memory module 1114. The user identity module may include, for example, a subscriber identity module SIM and / or a personal identity IC card that may be installed in the device 1100. The user identity module 1114 may include information identifying a subscription of a user of the device 1100. The user identity module 1114 may include cryptographic information that may be used to verify the identity of the user of the device 1100 and / or facilitate decryption and encryption of communications occurring via the device 1100, such as the private key and / or public key shown above.
[0101] The processor 1102 may be equipped with a transmitter, which is configured to output information from the processor to other devices included in the device via electrical conductors inside the device 1100. Such a transmitter may include a serial bus transmitter, which is configured to output information to the memory 1104 for storage therein, for example, via at least one electrical conductor. As an alternative to a serial bus, the transmitter may include a parallel bus transmitter. Similarly, the processor may include a receiver, which is configured to receive information from other devices included in the device 1100 in the processor via electrical conductors inside the device 1100. Such a receiver may include a serial bus receiver, which is configured to receive information from the receiver 1108, for example, via at least one electrical conductor for processing in the processor. As an alternative to a serial bus, the receiver may include a parallel bus receiver.
[0102] The device 1100 may include Fig.11 Other devices not shown in the figure. For example, the device may include at least one digital camera. Some devices may include a rear camera and a front camera. The device may include a fingerprint sensor that is configured to at least partially authenticate a user of the device. In some embodiments, the device lacks at least one of the above devices. For example, some devices may lack an NFC transceiver 1110 and / or a user identity module 1114.
[0103] The processor 1102, memory 1104, transmitter 1106, receiver 1108, NFC transceiver 1110, UI 1112, and / or user identity module 1114 can be interconnected in a variety of different ways via multiple electrical conductors inside the device 1100. For example, each of the aforementioned devices can be individually connected to a main bus inside the device to allow the devices to exchange information. However, as will be appreciated by those skilled in the art, this is merely an example, and various ways of interconnecting at least two of the aforementioned devices may be selected, depending on the embodiment, without departing from the scope of the present invention.
[0104] It should be understood that, as will be appreciated by those skilled in the relevant art, the disclosed embodiments of the invention are not limited to the specific structures, process steps or materials disclosed herein, but are extended to their equivalents. It should also be understood that the terminology used herein is only used for the purpose of describing specific embodiments and is not intended to be limiting.
[0105] Reference to an embodiment or embodiments in the specification means that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment of the invention. Therefore, the phrases "in one embodiment" or "in an embodiment" appearing in various places in this specification do not refer to the same embodiment. Those skilled in the art will appreciate that the embodiments described above can be combined in various ways. Figures 2 to 10 The illustrated embodiments can be used individually or further combined together.
[0106] Reference may be made herein to various embodiments and examples of the invention and alternatives for its various components. It should be understood that such embodiments, examples and alternatives should not be understood as de facto equivalents of each other, but should be considered as separate and autonomous representations of the invention.
[0107] In addition, in one or more embodiments, the described features, structures or characteristics may be combined in any suitable manner. In the foregoing description, many specific details are provided to provide a thorough understanding of the embodiments of the present invention. However, those skilled in the relevant art will recognize that the present invention may be practiced without one or more specific details, or by utilizing other methods, components, materials, etc. In other examples, in order to avoid confusing various aspects of the present invention, known structures, materials or operations are not shown or described in detail.
[0108] Although the above examples illustrate the principles of the present invention in one or more specific applications, it is obvious to those skilled in the art that various modifications can be made in form, use and implementation details without exercising creative ability and without departing from the principles and concepts of the present invention. Therefore, it is not intended to limit the present invention except as set forth in the appended claims.
[0109] The verbs "comprise" and "include" are used in this document as open limitations, which neither exclude nor require the presence of unrecited features. Unless expressly stated otherwise, the features recited in the dependent claims may be combined with each other in any manner. Furthermore, it should be understood that the use of "a" or "an" in the singular form in this document does not exclude a plurality.
[0110] Industrial Applicability
[0111] At least some embodiments of the present invention find industrial application in communications.
[0112] List of abbreviations
[0113] ASIC Application-Specific Integrated Circuit
[0114] CDN Content Delivery Network
[0115] DRM Digital Rights Management
[0116] FPGA Field Programmable Gate Array
[0117] GSM Global System for Mobile Communications
[0118] IC Integrated Circuit
[0119] LTE Long Term Evolution
[0120] MPC Multi-party Computation
[0121] NFC Near Field Communication
[0122] SMPC Secure Multi-Party Computation
[0123] SGX Software Guard Extensions
[0124] UI User Interface
[0125] WCDMA Wideband Code Division Multiple Access
[0126] WiMAX Worldwide Interoperability for Microwave Access
[0127] WLAN Wireless Local Area Network
Claims
1. An apparatus for media content control, comprising components for performing the following operations: - receiving an encrypted proof of use indicating decoding of the first media content element by the user equipment; - receiving a first signed digital resource transaction associated with a second media content element from a first media content element provider; - receiving an encrypted first intended use proof value; - based on verification of the received encrypted proof of use and the first expected proof of use value, controlling access to an encrypted second media content element associated with the first media content element; and - In response to the received encrypted proof of use matching the first expected proof of use value, sending the first signed digital resource transaction to a media service provider or a second media content element provider for publication in a distributed ledger.
2. The device according to claim 1, wherein: The component is further configured to send a decryption key for decrypting the encrypted second media content element to the user device in response to the received encrypted proof of use matching the first expected proof of use value.
3. The device according to claim 1 or 2, wherein: The component is further configured to: - After verifying the first signed digital resource transaction, sending an input to the user equipment for continuing decoding the first media content element.
4. The device according to claim 1 or 2, wherein: The component is further configured to: - receiving from the user device a second signed digital resource transaction associated with the second media content element; - after verifying the second signed digital resource transaction, sending an input to the user device for continuing to decode the first media content element; as well as - In response to the received encrypted proof of use not matching the first expected proof of use value, sending the second signed digital resource transaction to the media service provider or the second media content element provider for publication in a distributed ledger.
5. The device according to claim 4, wherein: The component is further configured to: - receiving from the media service provider or the second media content element provider an encrypted second intended usage proof value and a decryption key for decrypting the encrypted second media content element; - performing a verification process based on the first intended use proof value, the second intended use proof value, and the encrypted use proof; as well as - Based on the result of the verification process, controlling access to the encrypted second media content element and sending of the first signed digital resource transaction or the second signed digital resource transaction.
6. The device according to claim 1 or 2, wherein: The component includes or is configured to send the encrypted proof of use to at least one secure multi-party computing node, and the at least one secure multi-party computing node is configured to at least verify the encrypted proof of use.
7. The device according to claim 1 or 2, wherein: The means comprises at least one processor; and at least one memory storing computer program code, the at least one memory and the computer program code being configured to, with the at least one processor, cause execution of the apparatus.
8. A method for media content control, comprising: - receiving an encrypted proof of use indicating decoding of the first media content element by the user equipment; - receiving a first signed digital resource transaction associated with a second media content element from a first media content element provider; - receiving an encrypted first intended use proof value; - based on verification of the received encrypted proof of use and the first expected proof of use value, controlling access to an encrypted second media content element associated with the first media content element; and - In response to the received encrypted proof of use matching the first expected proof of use value, sending the first signed digital resource transaction to a media service provider or a second media content element provider for publication in a distributed ledger.
9. The method according to claim 8, wherein: The encrypted proof of use is generated based on, or comprises, a hash of a video frame of the first media content element decoded by a decoder.
10. The method according to claim 8, further comprising: - In response to the received encrypted proof of use matching the first expected proof of use value, sending a decryption key for decrypting the encrypted second media content element to the user device.
11. The method according to any one of claims 8 to 10, further comprising: - After verifying the first signed digital resource transaction, sending an input to the user equipment for continuing decoding the first media content element.
12. The method according to any one of claims 8 to 10, further comprising: - receiving from the user device a second signed digital resource transaction associated with the second media content element; - after verifying the second signed digital resource transaction, sending an input to the user device for continuing to decode the first media content element; as well as - In response to the received encrypted proof of use not matching the first expected proof of use value, sending the second signed digital resource transaction to the media service provider or the second media content element provider for publication in a distributed ledger.
13. The method according to claim 12, further comprising: - receiving from the media service provider or the second media content element provider an encrypted second intended usage proof value and a decryption key for decrypting the encrypted second media content element; - performing a verification process based on the first intended use proof value, the second intended use proof value, and the encrypted use proof; as well as - Based on the result of the verification process, controlling access to the encrypted second media content element and sending of the first signed digital resource transaction or the second signed digital resource transaction.
14. The method according to any one of claims 8 to 10, further comprising: - sending the encrypted proof of use to at least one secure multi-party computation node, the at least one secure multi-party computation node being configured to at least verify the encrypted proof of use.
15. A computer program comprising instructions for causing an apparatus to perform the method according to any one of claims 8 to 14.
Citation Information
Patent Citations
Method, system and apparatus for supporting advertising contents in hypertext transfer protocol streaming play mode
EP2587757A1
Cryptographic Currency For Securities Settlement
US20150332395A1
Cryptographically provable zero-knowledge content distribution network
US20170277909A1
Communications between modules of a computing apparatus
US7236455B1