EP3308551A1 - Method and apparatus for enabling content protection over broadcast channels - Google Patents
Method and apparatus for enabling content protection over broadcast channelsInfo
- Publication number
- EP3308551A1 EP3308551A1 EP16811886.7A EP16811886A EP3308551A1 EP 3308551 A1 EP3308551 A1 EP 3308551A1 EP 16811886 A EP16811886 A EP 16811886A EP 3308551 A1 EP3308551 A1 EP 3308551A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- receiver
- message
- hash
- data
- license data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 38
- 238000004891 communication Methods 0.000 claims abstract description 45
- 238000013507 mapping Methods 0.000 claims abstract description 17
- 230000011664 signaling Effects 0.000 description 32
- 230000008569 process Effects 0.000 description 11
- 230000015654 memory Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1075—Editing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
- H04N21/23476—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2351—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25816—Management of client data involving client authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26613—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
- H04N21/44055—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption by partially decrypting, e.g. decrypting a video stream that has been partially encrypted
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4627—Rights management associated to the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64715—Protecting content from unauthorized alteration within the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Definitions
- This disclosure relates generally to broadcasted media content. More specifically, this disclosure relates to enabling content protection over broadcast channels.
- CENC Common encryption
- DRM digital rights and key management systems
- CENC is a generic encryption scheme that includes stream encryption and storage of stream encryption parameters, for International Organization for Standardization (ISO) Base Media Files (ISOBMFF).
- ISO International Organization for Standardization
- ISOBMFF International Organization for Standardization Base Media Files
- CENC only encrypts media samples or parts thereof and leaves the ISOBMFF metadata such as the file and track structure boxes un-encrypted to enable players to recognize and read the file correctly and acquire any required license.
- CENC supports the encryption of network abstraction layer (NAL) based video encoding formats such as Advanced Video Coding (AVC) and High Efficiency Video Coding (HEVC).
- NAL network abstraction layer
- AVC Advanced Video Coding
- HEVC High Efficiency Video Coding
- CENC offers sub-sample encryption capability, where only the video data of a sub-sample is encryption, while the NAL header is not. This flexibility can be used to offer a free preview of a video, enable editing and processing of the video, or provide free access to some service components such as audio.
- a receiver for receiving a media license includes a communication unit and a controller.
- the communication unit is configured to receive broadcast media data including at least a portion that is protected and receive a license signaling message including encrypted license data.
- the controller is configured to generate a request for a message from a content decryption module (CDM) of the receiver; identify one or more hash codes in the license signaling message; and identify the encrypted license data for the receiver based on a mapping between the one or more hash codes in the license signaling message and a hash of the message from the CDM.
- CDM content decryption module
- a method for receiving a media license by a receiver includes receiving broadcast media data including at least a portion that is protected and requesting a message from a CDM of the receiver.
- the method also includes receiving a license signaling message including encrypted license data and identifying one or more hash codes in the license signaling message. Additionally, the method includes identifying the encrypted license data for the receiver based on a mapping between the one or more hash codes in the license signaling message and a hash of the message from the CDM.
- a server for providing a media license includes a controller and a communication unit.
- the communication unit is configured to send, under control of the controller, a license signaling message including (i) encrypted license data and (ii) a license message hash indicating a hash code used to identify a receiver or a group of receivers for the encrypted license data, to the receiver or the group of receivers.
- a receiver for receiving a media license includes a communication unit configured to receive, from a server, a first message comprising broadcast media data comprising at least a portion that is protected and receive, from the server, a second message comprising encrypted license data and a controller configured to generate a request for a third message indicating the encrypted license data from a content decryption module (CDM) of the receiver, identify one or more hash codes in the second message, and identify the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message.
- CDM content decryption module
- a method for receiving a media license by a receiver includes receiving, from a server, a first message comprising broadcast media data comprising at least a portion that is protected, receiving, from the server, a second message comprising encrypted license data, generate a request for a third message indicating the encrypted license data from a CDM of the receiver, identifying one or more hash codes in the second message, and identifying the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message.
- a server for providing a media license includes a controller and a communication unit configured to transmit, to a receiver, a message comprising encrypted license data and a hash in the message indicating one or more hash codes used to identify the receiver for the encrypted license data.
- apparatus and method are provided so that a receiver can access protected media data.
- FIG. 1 illustrates an example communication system in which various embodiments of the present disclosure may be implemented
- FIG. 2 illustrates an example architecture of a system for enabling content protection over broadcast channels according to this disclosure
- FIG. 3 illustrates a flowchart of an example process for receiving a media license by a receiver according to this disclosure
- FIG. 4 illustrates an example electronic device according to this disclosure
- FIG. 5 illustrates a flowchart of another example process for receiving the media license by the receiver according to this disclosure.
- FIG. 6 illustrates a flowchart of an example process for transmitting a message by a server according to this disclosure.
- Couple and its derivatives refer to any direct or indirect communication between two or more elements, whether or not those elements are in physical contact with one another.
- transmit encompass both direct and indirect communication.
- communicate encompass both direct and indirect communication.
- communicate encompass both direct and indirect communication.
- communicate encompass both direct and indirect communication.
- communicate encompass both direct and indirect communication.
- communicate encompass both direct and indirect communication.
- include and “comprise,” as well as derivatives thereof, mean inclusion without limitation.
- the term “or” is inclusive, meaning and/or.
- controller means any device, system or part thereof that controls at least one operation. Such a controller may be implemented in hardware or a combination of hardware and software and/or firmware. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely.
- phrases "at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed.
- “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
- various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium.
- application and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code.
- computer readable program code includes any type of computer code, including source code, object code, and executable code.
- computer readable medium includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory.
- ROM read only memory
- RAM random access memory
- CD compact disc
- DVD digital video disc
- a "non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals.
- a non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
- FIGS. 1 through 6, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged communication system.
- CENC provides the following information in the ISOBMFF:
- a key ID is associated with every encrypted sample in a track in case a single key is used for the whole track;
- IVs Initialization Vectors
- License Acquisition Information information about license acquisition is specific to each DRM system.
- a media player application needs to support at least one of the DRM systems that offer access to the encrypted stream.
- Embodiments of the present disclosure recognize and take into account that CENC defines a way to store the previous information in the ISOBMFF.
- the key identifiers may be provided: as the default_KID in the track encryption box "tenc", when a single key applies to the whole track; as a key for a set of samples that share the same encryption key, provided in a sample grouping structure using the sample group description box "sgpd”.
- the IV for every sample is provided as part of the sample auxiliary information in the "mdat” or in the "senc” together with information about the position of the encrypted chunks.
- the license acquisition information is provided as part of the protection system specific header box "pssh”, where each DRM system is identified by a SystemID.
- the "pssh” box also provides a list of the provided key identifiers and opaque system-specific information that describe how to acquire the keys identified by the supported key identifiers.
- embodiments of the present disclosure recognize and take into account that license information is needed to access content protected by certain DRM systems. This is particularly challenging for receivers that receive broadcasted media data that is protected over a pure broadcast channel without a return channel. Accordingly, embodiments of the present disclosure enable content protection in a communication system that includes pure broadcast channels.
- FIG. 1 illustrates an example communication system 100 in which various embodiments of the present disclosure may be implemented.
- the embodiment of the communication system 100 shown in FIG. 1 is for illustration only. Other embodiments of the communication system 100 could be used without departing from the scope of this disclosure.
- the system 100 includes a network 102, which facilitates communication between various components in the system 100 on one or more communication channels.
- the network 102 may communicate Internet Protocol (IP) packets, frame relay frames, or other information between network addresses.
- IP Internet Protocol
- the network 102 may include one or more local area networks (LANs): metropolitan area networks (MANs); wide area networks (WANs); all or a portion of a global network, such as the Internet; or any other communication system or systems at one or more locations.
- LANs local area networks
- MANs metropolitan area networks
- WANs wide area networks
- all or a portion of a global network such as the Internet
- network 102 includes a broadcast and broadband networks and communication channels for communicating media data (e.g., video, picture, audio content) to client devices 106-115.
- the broadcasting elements of network 102 such as cable and satellite communication links, provides broadcast of media data to client devices 106-115 which is generally one way, e.g., from one or more of the servers 104 to the client devices 106-115.
- the network 102 may include any number of broadcast links, channels, and devices, such as, for example, satellite, wireless, wireline, and fiber optic network links and devices.
- Broadband network 102b provides broadband access to media data for client devices 106-115, which is generally two way, e.g., back and forth from one or more of the servers 104 to the client devices 106-115.
- Broadband network 102b may include any number of broadband links, channels, and devices, such as, for example, Internet, wireless, wireline, and fiber optic network links and devices.
- the network 102 facilitates communications between one or more servers 104 and various client devices 106-115.
- Each of the servers 104 includes any suitable computing or processing device that can provide computing services for one or more client devices.
- Each of the servers 104 could, for example, include one or more processing devices, one or more memories storing instructions and data, and one or more network interfaces facilitating communication over the network 102.
- one or more of the servers 104 may include broadcast servers that broadcast media data over a broadcast network in network 102 using broadcast channels.
- one or more of the servers 104 may include servers that broadcast or unicast media data over a broadband network in network 102 using, for example, DASH MPEG Media Transport (MMT).
- MMT DASH MPEG Media Transport
- one or more of the servers 104 may be a licensing server for a DRM system that provides license data for protected media data distributed in network 102, as discussed in greater detail below.
- Each client device 106-115 represents any suitable computing or processing device that interacts with at least one server or other computing device(s) over the network 102.
- the client devices 106-115 include an internet connected computer or television 106, a mobile telephone or smartphone 108, a personal digital assistant (PDA) 110, a laptop computer 112, tablet computer 114; and a set-top box and/or television 115.
- PDA personal digital assistant
- any other or additional client devices could be used in the communication system 100.
- some client devices 108-114 communicate indirectly with the network 102.
- the client devices 108-110 communicate via one or more base stations 116, such as cellular base stations or eNodeBs.
- the client devices 112-115 communicate via one or more wireless access points 118, such as IEEE 802.11 wireless access points. Note that these are for illustration only and that each client device could communicate directly with the network 102 or indirectly with the network 102 via any suitable intermediate device(s) or network(s).
- set-top box and/or television 115 receive media data over a pure broadcast channel (e.g., one way broadcast communication channel without a return channel).
- a pure broadcast channel e.g., one way broadcast communication channel without a return channel.
- One or more of the servers 104 provides license data for protected media data distributed in network 102 to enable content protection over pure broadcast channels.
- FIG. 1 illustrates one example of a communication system 100
- the system 100 could include any number of each component in any suitable arrangement.
- computing and communication systems come in a wide variety of configurations, and FIG. 1 does not limit the scope of this disclosure to any particular configuration.
- FIG. 1 illustrates one operational environment in which various features disclosed in this patent document can be used, these features could be used in any other suitable system.
- FIG. 2 illustrates example architecture of a system 200 for enabling content protection over broadcast channels according to this disclosure.
- the embodiment of the communication system 100 shown in FIG. 1 is for illustration only. Other embodiments of the communication system 100 could be used without departing from the scope of this disclosure.
- the system 200 includes servers 205 and 210 that provide information to receiver 215.
- the servers 205 and 210 may be an example implementation of the servers 104 in FIG 1.
- server 205 is a license server 205 that generates and provides licenses for protected media data to receiver 215.
- the server 205 may be a server for a DRM system that controls access to protected media data using CENC techniques, media file encryption, decryption keys, etc.
- the DRM systems may be proprietary and use secret techniques or techniques unknown to other users and operators of DRM content to protect the media content.
- the broadcast server 210 provides media content to a variety of client devices (e.g., such as client devices 106-115) including receiver 215.
- servers 205 and 210 may be the same server or may be under the control of a single operator or content provider.
- the receiver 215 includes a media player application 220 that receives and presents media content to a user of the receiver 115.
- receiver 215 uses encrypted media extensions (EME) 225 that specifies an application programming interface (API) that allows receiver 215 to securely decrypt encrypted media content through Javascript control.
- EME 225 specifies JavaScript APIs which enable application 220 to facilitate the exchange of decryption keys between a Content Decryption Module (CDM) 230, which is a DRM system agent located in the receiver 215, and the license server 205 located somewhere on the network, to support the playback of encrypted media content.
- CDM Content Decryption Module
- the CDM 230 is a component that performs the content decryption for the receiver 215.
- the CDM 230 operates in a trusted environment 235 and passes the decrypted frames to a secure decoder for presentation to a user.
- the trusted environment 235 is a portion of the receiver 215 that is secure and created or approved by the DRM system to protect the decryption of protected media data from exposure or circumvention.
- the trusted environment 235 may include discrete circuitry that is physically separate from the circuitry of the application 220 or may use common hardware as a virtual machine or object that operates securely from other components in the receiver 215.
- the receiver 215 invokes extensions in the EME 225 when regular playback detects that the media content is encrypted.
- the application 220 After retrieving a license for the encrypted media content, the application 220 updates the MediaKeySession object 240 with the license data that contains one or more keys and their corresponding key ids.
- the MediaKeySession object 240 passes the license 245 to the CDM 230 for use in decrypting the protected media content.
- Embodiments of the present disclosure recognize and take into account that certain procedures for content protection will not work in a pure broadcast environment. For example, a return channel may be needed to connect to license server 205 and retrieve license 245.
- a return channel may be needed to connect to license server 205 and retrieve license 245.
- internet communications such as uses HTTP communications may be used for license retrieval.
- embodiments of the present disclosure provide for securely broadcasting licenses to one or multiple receivers based on the availability of a return channel. For example, if the receiver 215 did not retrieve the license over unicast, the license server 205 may encrypt and broadcast license file to the receiver 215 to decrypt and passes to the CDM 235.
- the EME 225 identifies that the media data is protected, for example, at least a portion is encrypted and a key is needed to decrypt and play the media data.
- the EME 225 generates and sends a request 250 (e.g., using a generateRequest method) to the CDM 230 for the CDM to 230 to identify the license (or key) needed for the media, which is often specific to the DRM system protecting the media.
- the CDM 230 returns message 255 that indicates the license needed. Traditionally, this message 255 could be sent to the license server 205 for the license server 205 to supply the license upon request. However, for broadcast channels without a return channel, the receiver 215 may not be able to request the license when needed.
- the license server 205 and/or the broadcast server 210 may broadcast a license signaling message 260 with, before, or shortly after the broadcast of the media data to the receiver 215.
- a DRM system e.g., associated with the server 205 delivers the license for every single receiver encrypted with the public key for that receiver and identified by a hash of the message 255 that was returned by the generateRequest method.
- the license signaling message 260 includes one or more licenses for a targeted receiver or group of receivers.
- the license signaling message 260 includes a license message hash that indicates the license message hash code used to identify the target receiver or group of receivers for the included license(s) as well as encrypted license data.
- Example syntax for the license signaling message is provided in Table 1 below.
- ⁇ message_id - a 16-bit unsigned integer field that indicates the identifier of the LS message
- ⁇ version - an 8-bit unsigned integer field that indicates the version of the LS message
- ⁇ length - a 32-bit unsigned integer field that indicates the length of the LS message in bytes, counting from the beginning of the next field to the last byte of the LS message. The value '0' is not valid for this field;
- license_message_hash_length an 8-bit unsigned integer field that indicates the length in bytes of the license message hash
- license_message_hash an N3-byte integer field that indicates the license message hash code used to identify the target receiver or group of receivers for the enclosed license
- license_data_length a 16-bit unsigned integer filed that indicates the length of the encrypted license data
- license_data an N4-byte unsigned integer field that indicates the encrypted license that corresponds to the license message of which the hash value is included in this message.
- the license is encrypted using the certificate of the targeted receiver or group of receivers.
- the receiver 215 instead of sending the message 255 received from the CDM 230 to the servers 205 or 210, the receiver 215 hashes the message 255 and uses the hash of the message 255 as a key to identify license messages targeted for the receiver 215 or one of the of groups the receiver 215.
- receivers 215 may be grouped by geographic region, subscription packages, device type, etc., to reduce the number of uniquely identified licenses that are broadcast.
- the receiver 215 uses the message 255 that is returned by EME 225 (e.g., from the generateRequest method) to locate the license 245 that is delivered as part of the signaling (e.g., MMT signaling from the servers 205 and/or 210) and pass the license 245 to the CDM 230 through the update method of the MediaKeySession object 240.
- EME 225 e.g., from the generateRequest method
- the license signaling message 260 is received by the receiver 215 and stored in a broadcast license retriever (BLR) 265.
- BLR broadcast license retriever
- the BLR 265 may store the hash codes and corresponding encrypted license data.
- the BLR is initially configured with the receiver's 215 certificate, which includes the receiver's 215 public key.
- the BLR 265 identifies the messages 260 that are targeted to the receiver 215 through a hash mapping of the request message 255 that was provided by the CDM 230.
- the receiver 215 decrypts the license 245 and passes the license 245 to the MediaKeySession object 240, which in turn passes the license 245 to the CDM 230 for content decryption.
- the receiver 215 may identify the encrypted license data intended for the receiver 215 using a mapping between the hash code(s) from the license signaling message(s) 260 and the hash of the message 255 returned by the CDM 230.
- the CDM 230 and the license server 205 are agents of the DRM system, the license message hash is generated by the CDM 255 in the same or similar way as the hash codes from the licensing signaling message generated by the license server 205 and the hash generation algorithm(s) may be DRM system specific.
- FIG. 3 illustrates a process for receiving a media license in accordance with various embodiments of the present disclosure.
- the process depicted in FIG. 3 may be performed by the receiver 215 in FIG 2.
- the process may also be implemented by any one of the client devices 106-115 in FIG. 1 or the electronic device 400 of FIG. 4.
- the process begins with the receiver receiving broadcast media data (step 305).
- the receiver may receive media data of which at least a portion is protected.
- This receiver may be is a set top box or a television or other device that receives a broadcast that in some embodiments does not have a return channel.
- the receiver passes the received media data to be played, for example, by media player application.
- the receiver identifies that at least a portion of the broadcast media data is protected (step 310). For example, in step 310, the receiver may identify that some or all of the media content is encrypted or that a CDM of the receiver needs a license or key to access the media data.
- the receiver requests a message from the CDM (step 315).
- the receiver may use a generateRequest method to request a message used to identify a license needed by the receiver for the receiver to access the content.
- the receiver generates a hash of the message from the CDM (step 320).
- the receiver receives a license signaling message (step 325).
- the receiver may receive a license signaling message that includes encrypted license data that is encrypted using a public key of the receiver or group of receivers.
- the license signaling message may be is received at the receiver without the receiver requesting the license signaling message.
- the encrypted license data may be received over a broadcast channel that does not have a return channel for the receiver to request the license.
- the license signaling message may also include a license message hash length field indicating a length of a license message hash included in the license signaling message and a license data length field indicating a length of the encrypted license data included in the license signaling message.
- the receiver identifies hash code(s) in the license signaling message (step 330). For example, in step 330, the receiver may identify hash codes from the license message hash in the license signaling message that indicate the receiver or a group of receivers for the encrypted license data.
- the receiver stores hash code(s) and license signaling message data (step 335). For example, in step 335, the receiver may store the hash code(s) and license data in the BLR 265.
- the receiver maps the hash of the message from step 320 to one of the stored hash code(s) from step 335 (step 340). For example, in step 340, instead of sending the message from the CDM to a license server, the receiver may perform this mapping to identify the license that has been broadcast with the media data. While this mapping is advantageous in embodiments where the receiver 215 does not have a return channel (e.g., non-internet connected or legacy set-top boxes or televisions), this mapping to identify broadcast licenses may still be implemented in embodiments where a return channel is available (e.g., in devices that are internet connected).
- a return channel e.g., in devices that are internet connected
- the receiver identifies the encrypted license data for the receiver in the license signaling message based on the mapping (step 345). For example, in step 345, the receiver may identify the encrypted license data for the receiver as corresponding to the matched hash code from the mapping between the one or more hash codes in the license signaling message and a hash of the message from the CDM.
- the receiver decrypts the encrypted license data (step 350).
- the receiver may decrypt the encrypted license data using a private key of the receiver.
- the receiver uses the decrypted license data with the CDM to access the protected media data (step 355).
- the receiver may pass the decrypted license data to the CDM to decrypt encrypted media data or may pass the encrypted license data to the CDM for decryption and use by the CDM.
- the decrypted license data may include one or more encryption keys that the DRM may use to decrypt the encrypted broadcasted content received by the receiver and the media content can be played by the receiver and presented to a user.
- the license data may be DRM specific and unknown or unusable by components outside of the CDM.
- FIG. 3 illustrates an example of processes for receiving a media license
- various changes could be made to FIG. 3.
- the numbering of the steps is not meant to necessarily imply a particular order to the steps.
- various steps in FIG. 3 could overlap, occur in parallel, occur in a different order, occur multiple times or be omitted in some embodiments.
- the any of the steps for the license signaling message receipt and processing e.g., steps 325-335) may occur before, during, or after any of the steps for the receipt and processing of the broadcast media data (e.g., steps 305-320).
- FIG. 4 illustrates an example electronic device 400 in the communication system 100 according to this disclosure.
- the electronic device 400 illustrates example components that may be included in any one of the server 104 or the client devices 106-115 in FIG. 1.
- the electronic device 400 includes a bus system 405, which supports communication between at least one controller 410, at least one storage device 415, at least one communications unit 420, and at least one input/output (I/O) unit 425.
- a bus system 405 which supports communication between at least one controller 410, at least one storage device 415, at least one communications unit 420, and at least one input/output (I/O) unit 425.
- the controller 410 executes instructions that may be loaded into a memory 430.
- the controller 410 may include any suitable number(s) and type(s) of processors or other devices in any suitable arrangement.
- Example types of controllers 410 include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, and discreet circuitry.
- the controller 410 may implement operations performed by the receiver 215 or either of the servers 205 and 210.
- the controller 410 may decrypt and/or decode received media data as discussed above.
- the memory 430 and a persistent storage 435 are examples of storage devices 415, which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis).
- the memory 430 may represent a random access memory or any other suitable volatile or non-volatile storage device(s).
- the persistent storage 435 may contain one or more components or devices supporting longer-term storage of data, such as a read-only memory, hard drive, Flash memory, or optical disc.
- the memory 430 may contain instructions for implementing license signaling message generation or mapping of hash codes from license signaling message to a hash of a message from a CDM.
- the communications unit 420 supports communications with other systems or devices.
- the communications unit 420 could include a network interface card, a cable modem, a broadcast receiver, or a wireless transceiver facilitating communications over the network 102.
- the communications unit 420 may support communications through any suitable physical or wireless communication link(s).
- the I/O unit 425 allows for input and output of data.
- the I/O unit 425 may provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device.
- the I/O unit 425 may also send output to a display, printer, or other suitable output device.
- FIG. 5 illustrates a flowchart of another example process for receiving a media license by a receiver according to this disclosure.
- the receiver receives, from a server, a first message comprising broadcast media data comprising at least a portion that is protected (step 505).
- the receiver may be a set top box or a television.
- the receiver receives, from the server, a second message comprising encrypted license data (step 510).
- the encrypted license data is encrypted using a public key of the receiver.
- the second message further comprises a first filed indicating a length of a hash in the second message and a second field indicating a length of the encrypted license data in the second message.
- the encrypted license data is received over a broadcast channel without a return channel.
- the second message is received from the server without the receiver requesting the second message.
- the receiver generates a request for a third message indicating the encrypted license data from a CDM of the receiver (step 515).
- the receiver generates a hash of the message from the CDM.
- the hash in the second message indicates the one or more hash codes.
- the receiver identifies one or more hash codes in the second message (step 520).
- the one or more hash codes indicate the receiver for the encrypted license data.
- the receiver stores the one or more hash codes in the BLR.
- the receiver identifies the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message (step 525).
- the receiver matches the hash of the message to one of the one or more hash codes.
- the receiver identifies the encrypted license data for the receiver as corresponding to the matched hash code.
- the receiver decrypts the encrypted license data using a private key of the receiver.
- the receiver uses the decrypted license data with the CDM to access the protected media data.
- FIG. 6 illustrates a flowchart of an example process for transmitting a message by a server according to this disclosure.
- the server generates the message comprising encrypted license data and a hash in the message indicating one or more hash codes used to identify the receiver for the encrypted license data (step 605).
- the encrypted license data is encrypted using a public key of the receiver.
- the message further comprises a first field indicating a length of a hash in the second message and a second field indicating a length of the encrypted license data in the message.
- the server transmits, to a receiver, the message (step 610).
- the server transmits the message to the receiver protected media data that the license data is used for the receiver to access.
- the server receives the message from a licensing server.
- the server transmits the message to the receiver and broadcast protected media data that the license data is used for the receiver to access to the receiver.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
- This disclosure relates generally to broadcasted media content. More specifically, this disclosure relates to enabling content protection over broadcast channels.
- Common encryption (CENC) specifies a generic encryption that can be utilized by one or more digital rights and key management systems (DRM systems) to enable decryption of the same file using different DRM system. CENC is a generic encryption scheme that includes stream encryption and storage of stream encryption parameters, for International Organization for Standardization (ISO) Base Media Files (ISOBMFF). An advantage of CENC is that providing a common way to encrypt content decouples the content encryption from the key acquisition. This provides support for multiple DRM systems.
- The CENC mechanism only encrypts media samples or parts thereof and leaves the ISOBMFF metadata such as the file and track structure boxes un-encrypted to enable players to recognize and read the file correctly and acquire any required license. CENC supports the encryption of network abstraction layer (NAL) based video encoding formats such as Advanced Video Coding (AVC) and High Efficiency Video Coding (HEVC). Thus, CENC offers sub-sample encryption capability, where only the video data of a sub-sample is encryption, while the NAL header is not. This flexibility can be used to offer a free preview of a video, enable editing and processing of the video, or provide free access to some service components such as audio. By providing offsets to the encrypted byte ranges inside a sample in an "mdat", players can easily process the file and pass the encrypted chunks to the decryptor for decryption and playback.
- There is a need in the art to enable contents protection over broadcast channels.
- In one embodiment, a receiver for receiving a media license is provided. The receiver includes a communication unit and a controller. The communication unit is configured to receive broadcast media data including at least a portion that is protected and receive a license signaling message including encrypted license data. The controller is configured to generate a request for a message from a content decryption module (CDM) of the receiver; identify one or more hash codes in the license signaling message; and identify the encrypted license data for the receiver based on a mapping between the one or more hash codes in the license signaling message and a hash of the message from the CDM.
- In another embodiment, a method for receiving a media license by a receiver is provided. The method includes receiving broadcast media data including at least a portion that is protected and requesting a message from a CDM of the receiver. The method also includes receiving a license signaling message including encrypted license data and identifying one or more hash codes in the license signaling message. Additionally, the method includes identifying the encrypted license data for the receiver based on a mapping between the one or more hash codes in the license signaling message and a hash of the message from the CDM.
- In yet another embodiment, a server for providing a media license is provided. The server includes a controller and a communication unit. The communication unit is configured to send, under control of the controller, a license signaling message including (i) encrypted license data and (ii) a license message hash indicating a hash code used to identify a receiver or a group of receivers for the encrypted license data, to the receiver or the group of receivers.
- In yet another embodiment, a receiver for receiving a media license includes a communication unit configured to receive, from a server, a first message comprising broadcast media data comprising at least a portion that is protected and receive, from the server, a second message comprising encrypted license data and a controller configured to generate a request for a third message indicating the encrypted license data from a content decryption module (CDM) of the receiver, identify one or more hash codes in the second message, and identify the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message.
- In yet another embodiment, a method for receiving a media license by a receiver includes receiving, from a server, a first message comprising broadcast media data comprising at least a portion that is protected, receiving, from the server, a second message comprising encrypted license data, generate a request for a third message indicating the encrypted license data from a CDM of the receiver, identifying one or more hash codes in the second message, and identifying the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message.
- In yet another embodiment, a server for providing a media license includes a controller and a communication unit configured to transmit, to a receiver, a message comprising encrypted license data and a hash in the message indicating one or more hash codes used to identify the receiver for the encrypted license data.
- According to this disclosure, apparatus and method are provided so that a receiver can access protected media data.
- For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
- FIG. 1 illustrates an example communication system in which various embodiments of the present disclosure may be implemented;
- FIG. 2 illustrates an example architecture of a system for enabling content protection over broadcast channels according to this disclosure;
- FIG. 3 illustrates a flowchart of an example process for receiving a media license by a receiver according to this disclosure;
- FIG. 4 illustrates an example electronic device according to this disclosure;
- FIG. 5 illustrates a flowchart of another example process for receiving the media license by the receiver according to this disclosure; and
- FIG. 6 illustrates a flowchart of an example process for transmitting a message by a server according to this disclosure.
- Before undertaking the Best Mode for Carrying out the Invention below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The term "couple" and its derivatives refer to any direct or indirect communication between two or more elements, whether or not those elements are in physical contact with one another. The terms "transmit," "receive," and "communicate," as well as derivatives thereof, encompass both direct and indirect communication. The terms "include" and "comprise," as well as derivatives thereof, mean inclusion without limitation. The term "or" is inclusive, meaning and/or. The phrase "associated with," as well as derivatives thereof, means to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The term "controller" means any device, system or part thereof that controls at least one operation. Such a controller may be implemented in hardware or a combination of hardware and software and/or firmware. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The phrase "at least one of," when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, "at least one of: A, B, and C" includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
- Moreover, various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code. The phrase "computer readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer readable medium" includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A "non-transitory" computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
- Definitions for other certain words and phrases are provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as future uses of such defined words and phrases.
- FIGS. 1 through 6, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged communication system.
- In order for decryption to work, embodiments of the present disclosure recognize that CENC provides the following information in the ISOBMFF:
- ● Key Identifiers: a key ID is associated with every encrypted sample in a track in case a single key is used for the whole track;
- ● Initialization Vectors (IVs): the IV is used for randomization and removal of semantics and is used for strong protection. For every sample, the IV is known in order to be able to construct the decryption key; and
- ● License Acquisition Information: information about license acquisition is specific to each DRM system. A media player application needs to support at least one of the DRM systems that offer access to the encrypted stream.
- Embodiments of the present disclosure recognize and take into account that CENC defines a way to store the previous information in the ISOBMFF. The key identifiers may be provided: as the default_KID in the track encryption box "tenc", when a single key applies to the whole track; as a key for a set of samples that share the same encryption key, provided in a sample grouping structure using the sample group description box "sgpd". The IV for every sample is provided as part of the sample auxiliary information in the "mdat" or in the "senc" together with information about the position of the encrypted chunks. The license acquisition information is provided as part of the protection system specific header box "pssh", where each DRM system is identified by a SystemID. The "pssh" box also provides a list of the provided key identifiers and opaque system-specific information that describe how to acquire the keys identified by the supported key identifiers.
- Based on the foregoing, embodiments of the present disclosure recognize and take into account that license information is needed to access content protected by certain DRM systems. This is particularly challenging for receivers that receive broadcasted media data that is protected over a pure broadcast channel without a return channel. Accordingly, embodiments of the present disclosure enable content protection in a communication system that includes pure broadcast channels.
- FIG. 1 illustrates an example communication system 100 in which various embodiments of the present disclosure may be implemented. The embodiment of the communication system 100 shown in FIG. 1 is for illustration only. Other embodiments of the communication system 100 could be used without departing from the scope of this disclosure.
- As shown in FIG. 1, the system 100 includes a network 102, which facilitates communication between various components in the system 100 on one or more communication channels. The network 102 may communicate Internet Protocol (IP) packets, frame relay frames, or other information between network addresses. The network 102 may include one or more local area networks (LANs): metropolitan area networks (MANs); wide area networks (WANs); all or a portion of a global network, such as the Internet; or any other communication system or systems at one or more locations.
- In various embodiments, network 102 includes a broadcast and broadband networks and communication channels for communicating media data (e.g., video, picture, audio content) to client devices 106-115. The broadcasting elements of network 102, such as cable and satellite communication links, provides broadcast of media data to client devices 106-115 which is generally one way, e.g., from one or more of the servers 104 to the client devices 106-115. The network 102 may include any number of broadcast links, channels, and devices, such as, for example, satellite, wireless, wireline, and fiber optic network links and devices. Broadband network 102b provides broadband access to media data for client devices 106-115, which is generally two way, e.g., back and forth from one or more of the servers 104 to the client devices 106-115. Broadband network 102b may include any number of broadband links, channels, and devices, such as, for example, Internet, wireless, wireline, and fiber optic network links and devices.
- The network 102 facilitates communications between one or more servers 104 and various client devices 106-115. Each of the servers 104 includes any suitable computing or processing device that can provide computing services for one or more client devices. Each of the servers 104 could, for example, include one or more processing devices, one or more memories storing instructions and data, and one or more network interfaces facilitating communication over the network 102. For example, one or more of the servers 104 may include broadcast servers that broadcast media data over a broadcast network in network 102 using broadcast channels. In another example, one or more of the servers 104 may include servers that broadcast or unicast media data over a broadband network in network 102 using, for example, DASH MPEG Media Transport (MMT). In another example, one or more of the servers 104 may be a licensing server for a DRM system that provides license data for protected media data distributed in network 102, as discussed in greater detail below.
- Each client device 106-115 represents any suitable computing or processing device that interacts with at least one server or other computing device(s) over the network 102. In this example, the client devices 106-115 include an internet connected computer or television 106, a mobile telephone or smartphone 108, a personal digital assistant (PDA) 110, a laptop computer 112, tablet computer 114; and a set-top box and/or television 115. However, any other or additional client devices could be used in the communication system 100. In this example, some client devices 108-114 communicate indirectly with the network 102. For example, the client devices 108-110 communicate via one or more base stations 116, such as cellular base stations or eNodeBs. Also, the client devices 112-115 communicate via one or more wireless access points 118, such as IEEE 802.11 wireless access points. Note that these are for illustration only and that each client device could communicate directly with the network 102 or indirectly with the network 102 via any suitable intermediate device(s) or network(s).
- As will be discussed in greater detail below, set-top box and/or television 115 receive media data over a pure broadcast channel (e.g., one way broadcast communication channel without a return channel). One or more of the servers 104 provides license data for protected media data distributed in network 102 to enable content protection over pure broadcast channels.
- Although FIG. 1 illustrates one example of a communication system 100, various changes may be made to FIG. 1. For example, the system 100 could include any number of each component in any suitable arrangement. In general, computing and communication systems come in a wide variety of configurations, and FIG. 1 does not limit the scope of this disclosure to any particular configuration. While FIG. 1 illustrates one operational environment in which various features disclosed in this patent document can be used, these features could be used in any other suitable system.
- FIG. 2 illustrates example architecture of a system 200 for enabling content protection over broadcast channels according to this disclosure. The embodiment of the communication system 100 shown in FIG. 1 is for illustration only. Other embodiments of the communication system 100 could be used without departing from the scope of this disclosure.
- In illustrative embodiment, the system 200 includes servers 205 and 210 that provide information to receiver 215. For example, the servers 205 and 210 may be an example implementation of the servers 104 in FIG 1. In this example, server 205 is a license server 205 that generates and provides licenses for protected media data to receiver 215. For example, the server 205 may be a server for a DRM system that controls access to protected media data using CENC techniques, media file encryption, decryption keys, etc. The DRM systems may be proprietary and use secret techniques or techniques unknown to other users and operators of DRM content to protect the media content. The broadcast server 210 provides media content to a variety of client devices (e.g., such as client devices 106-115) including receiver 215. In some instances, servers 205 and 210 may be the same server or may be under the control of a single operator or content provider.
- The receiver 215 includes a media player application 220 that receives and presents media content to a user of the receiver 115. In this embodiment, receiver 215 uses encrypted media extensions (EME) 225 that specifies an application programming interface (API) that allows receiver 215 to securely decrypt encrypted media content through Javascript control. For example, EME 225 specifies JavaScript APIs which enable application 220 to facilitate the exchange of decryption keys between a Content Decryption Module (CDM) 230, which is a DRM system agent located in the receiver 215, and the license server 205 located somewhere on the network, to support the playback of encrypted media content.
- The CDM 230 is a component that performs the content decryption for the receiver 215. The CDM 230 operates in a trusted environment 235 and passes the decrypted frames to a secure decoder for presentation to a user. The trusted environment 235 is a portion of the receiver 215 that is secure and created or approved by the DRM system to protect the decryption of protected media data from exposure or circumvention. For example, the trusted environment 235 may include discrete circuitry that is physically separate from the circuitry of the application 220 or may use common hardware as a virtual machine or object that operates securely from other components in the receiver 215. During normal operation, the receiver 215 invokes extensions in the EME 225 when regular playback detects that the media content is encrypted. After retrieving a license for the encrypted media content, the application 220 updates the MediaKeySession object 240 with the license data that contains one or more keys and their corresponding key ids. The MediaKeySession object 240 passes the license 245 to the CDM 230 for use in decrypting the protected media content.
- Embodiments of the present disclosure recognize and take into account that certain procedures for content protection will not work in a pure broadcast environment. For example, a return channel may be needed to connect to license server 205 and retrieve license 245. Embodiments of the present disclosure recognize that internet communications such as uses HTTP communications may be used for license retrieval.
- Accordingly, embodiments of the present disclosure provide for securely broadcasting licenses to one or multiple receivers based on the availability of a return channel. For example, if the receiver 215 did not retrieve the license over unicast, the license server 205 may encrypt and broadcast license file to the receiver 215 to decrypt and passes to the CDM 235.
- In these embodiments, the EME 225 identifies that the media data is protected, for example, at least a portion is encrypted and a key is needed to decrypt and play the media data. The EME 225 generates and sends a request 250 (e.g., using a generateRequest method) to the CDM 230 for the CDM to 230 to identify the license (or key) needed for the media, which is often specific to the DRM system protecting the media. The CDM 230 returns message 255 that indicates the license needed. Traditionally, this message 255 could be sent to the license server 205 for the license server 205 to supply the license upon request. However, for broadcast channels without a return channel, the receiver 215 may not be able to request the license when needed.
- Accordingly embodiments of the present disclosure, provide for the broadcast of the licenses for the media data. The license server 205 and/or the broadcast server 210 may broadcast a license signaling message 260 with, before, or shortly after the broadcast of the media data to the receiver 215. For example, a DRM system (e.g., associated with the server 205) delivers the license for every single receiver encrypted with the public key for that receiver and identified by a hash of the message 255 that was returned by the generateRequest method. The license signaling message 260 includes one or more licenses for a targeted receiver or group of receivers. In particular, the license signaling message 260 includes a license message hash that indicates the license message hash code used to identify the target receiver or group of receivers for the included license(s) as well as encrypted license data. Example syntax for the license signaling message is provided in Table 1 below.
-
- Fields in this example license signaling message include:
- ● message_id - a 16-bit unsigned integer field that indicates the identifier of the LS message;
- ● version - an 8-bit unsigned integer field that indicates the version of the LS message;
- ● length - a 32-bit unsigned integer field that indicates the length of the LS message in bytes, counting from the beginning of the next field to the last byte of the LS message. The value '0' is not valid for this field;
- ● license_message_hash_length - an 8-bit unsigned integer field that indicates the length in bytes of the license message hash;
- ● license_message_hash - an N3-byte integer field that indicates the license message hash code used to identify the target receiver or group of receivers for the enclosed license;
- ● license_data_length - a 16-bit unsigned integer filed that indicates the length of the encrypted license data; and
- ● license_data - an N4-byte unsigned integer field that indicates the encrypted license that corresponds to the license message of which the hash value is included in this message. The license is encrypted using the certificate of the targeted receiver or group of receivers.
- Continuing from the discussion of the message 255 above, instead of sending the message 255 received from the CDM 230 to the servers 205 or 210, the receiver 215 hashes the message 255 and uses the hash of the message 255 as a key to identify license messages targeted for the receiver 215 or one of the of groups the receiver 215. For example, receivers 215 may be grouped by geographic region, subscription packages, device type, etc., to reduce the number of uniquely identified licenses that are broadcast. The receiver 215 uses the message 255 that is returned by EME 225 (e.g., from the generateRequest method) to locate the license 245 that is delivered as part of the signaling (e.g., MMT signaling from the servers 205 and/or 210) and pass the license 245 to the CDM 230 through the update method of the MediaKeySession object 240.
- The license signaling message 260 is received by the receiver 215 and stored in a broadcast license retriever (BLR) 265. For example, the BLR 265 may store the hash codes and corresponding encrypted license data. The BLR is initially configured with the receiver's 215 certificate, which includes the receiver's 215 public key. The BLR 265 identifies the messages 260 that are targeted to the receiver 215 through a hash mapping of the request message 255 that was provided by the CDM 230. When a message targeting the receiver 215 is located, the receiver 215 decrypts the license 245 and passes the license 245 to the MediaKeySession object 240, which in turn passes the license 245 to the CDM 230 for content decryption.
- For example, the receiver 215 may identify the encrypted license data intended for the receiver 215 using a mapping between the hash code(s) from the license signaling message(s) 260 and the hash of the message 255 returned by the CDM 230. Given that the CDM 230 and the license server 205 are agents of the DRM system, the license message hash is generated by the CDM 255 in the same or similar way as the hash codes from the licensing signaling message generated by the license server 205 and the hash generation algorithm(s) may be DRM system specific.
- FIG. 3 illustrates a process for receiving a media license in accordance with various embodiments of the present disclosure. For example, the process depicted in FIG. 3 may be performed by the receiver 215 in FIG 2. The process may also be implemented by any one of the client devices 106-115 in FIG. 1 or the electronic device 400 of FIG. 4.
- The process begins with the receiver receiving broadcast media data (step 305). For example, in step 305, the receiver may receive media data of which at least a portion is protected. This receiver may be is a set top box or a television or other device that receives a broadcast that in some embodiments does not have a return channel. The receiver passes the received media data to be played, for example, by media player application.
- The receiver identifies that at least a portion of the broadcast media data is protected (step 310). For example, in step 310, the receiver may identify that some or all of the media content is encrypted or that a CDM of the receiver needs a license or key to access the media data. The receiver requests a message from the CDM (step 315). For example, in step 315, the receiver may use a generateRequest method to request a message used to identify a license needed by the receiver for the receiver to access the content. The receiver generates a hash of the message from the CDM (step 320).
- The receiver receives a license signaling message (step 325). For example, in step 325, the receiver may receive a license signaling message that includes encrypted license data that is encrypted using a public key of the receiver or group of receivers. The license signaling message may be is received at the receiver without the receiver requesting the license signaling message. For example, the encrypted license data may be received over a broadcast channel that does not have a return channel for the receiver to request the license. The license signaling message may also include a license message hash length field indicating a length of a license message hash included in the license signaling message and a license data length field indicating a length of the encrypted license data included in the license signaling message.
- The receiver identifies hash code(s) in the license signaling message (step 330). For example, in step 330, the receiver may identify hash codes from the license message hash in the license signaling message that indicate the receiver or a group of receivers for the encrypted license data. The receiver stores hash code(s) and license signaling message data (step 335). For example, in step 335, the receiver may store the hash code(s) and license data in the BLR 265.
- The receiver maps the hash of the message from step 320 to one of the stored hash code(s) from step 335 (step 340). For example, in step 340, instead of sending the message from the CDM to a license server, the receiver may perform this mapping to identify the license that has been broadcast with the media data. While this mapping is advantageous in embodiments where the receiver 215 does not have a return channel (e.g., non-internet connected or legacy set-top boxes or televisions), this mapping to identify broadcast licenses may still be implemented in embodiments where a return channel is available (e.g., in devices that are internet connected).
- The receiver identifies the encrypted license data for the receiver in the license signaling message based on the mapping (step 345). For example, in step 345, the receiver may identify the encrypted license data for the receiver as corresponding to the matched hash code from the mapping between the one or more hash codes in the license signaling message and a hash of the message from the CDM.
- The receiver decrypts the encrypted license data (step 350). For example, in step 350, the receiver may decrypt the encrypted license data using a private key of the receiver. The receiver uses the decrypted license data with the CDM to access the protected media data (step 355). For example, in step 355, the receiver may pass the decrypted license data to the CDM to decrypt encrypted media data or may pass the encrypted license data to the CDM for decryption and use by the CDM. For example, the decrypted license data may include one or more encryption keys that the DRM may use to decrypt the encrypted broadcasted content received by the receiver and the media content can be played by the receiver and presented to a user. In these embodiments, the license data may be DRM specific and unknown or unusable by components outside of the CDM.
- Although FIG. 3 illustrates an example of processes for receiving a media license, various changes could be made to FIG. 3. The numbering of the steps is not meant to necessarily imply a particular order to the steps. For example, while shown as a series of steps, various steps in FIG. 3 could overlap, occur in parallel, occur in a different order, occur multiple times or be omitted in some embodiments. For example, the any of the steps for the license signaling message receipt and processing (e.g., steps 325-335) may occur before, during, or after any of the steps for the receipt and processing of the broadcast media data (e.g., steps 305-320).
- FIG. 4 illustrates an example electronic device 400 in the communication system 100 according to this disclosure. In particular, the electronic device 400 illustrates example components that may be included in any one of the server 104 or the client devices 106-115 in FIG. 1.
- As shown in FIG. 4, the electronic device 400 includes a bus system 405, which supports communication between at least one controller 410, at least one storage device 415, at least one communications unit 420, and at least one input/output (I/O) unit 425.
- The controller 410 executes instructions that may be loaded into a memory 430. The controller 410 may include any suitable number(s) and type(s) of processors or other devices in any suitable arrangement. Example types of controllers 410 include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, application specific integrated circuits, and discreet circuitry. For example, the controller 410 may implement operations performed by the receiver 215 or either of the servers 205 and 210. In another example, the controller 410 may decrypt and/or decode received media data as discussed above.
- The memory 430 and a persistent storage 435 are examples of storage devices 415, which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis). The memory 430 may represent a random access memory or any other suitable volatile or non-volatile storage device(s). The persistent storage 435 may contain one or more components or devices supporting longer-term storage of data, such as a read-only memory, hard drive, Flash memory, or optical disc. For example, the memory 430 may contain instructions for implementing license signaling message generation or mapping of hash codes from license signaling message to a hash of a message from a CDM.
- The communications unit 420 supports communications with other systems or devices. For example, the communications unit 420 could include a network interface card, a cable modem, a broadcast receiver, or a wireless transceiver facilitating communications over the network 102. The communications unit 420 may support communications through any suitable physical or wireless communication link(s).
- The I/O unit 425 allows for input and output of data. For example, the I/O unit 425 may provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I/O unit 425 may also send output to a display, printer, or other suitable output device.
- FIG. 5 illustrates a flowchart of another example process for receiving a media license by a receiver according to this disclosure.
- The receiver receives, from a server, a first message comprising broadcast media data comprising at least a portion that is protected (step 505). In one embodiment, the receiver may be a set top box or a television.
- The receiver receives, from the server, a second message comprising encrypted license data (step 510). The encrypted license data is encrypted using a public key of the receiver. The second message further comprises a first filed indicating a length of a hash in the second message and a second field indicating a length of the encrypted license data in the second message. The encrypted license data is received over a broadcast channel without a return channel. In one embodiment, the second message is received from the server without the receiver requesting the second message.
- The receiver generates a request for a third message indicating the encrypted license data from a CDM of the receiver (step 515). The receiver generates a hash of the message from the CDM. The hash in the second message indicates the one or more hash codes.
- The receiver identifies one or more hash codes in the second message (step 520). The one or more hash codes indicate the receiver for the encrypted license data. The receiver stores the one or more hash codes in the BLR.
- The receiver identifies the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message (step 525). The receiver matches the hash of the message to one of the one or more hash codes. The receiver identifies the encrypted license data for the receiver as corresponding to the matched hash code. The receiver decrypts the encrypted license data using a private key of the receiver. The receiver uses the decrypted license data with the CDM to access the protected media data.
- FIG. 6 illustrates a flowchart of an example process for transmitting a message by a server according to this disclosure.
- The server generates the message comprising encrypted license data and a hash in the message indicating one or more hash codes used to identify the receiver for the encrypted license data (step 605). The encrypted license data is encrypted using a public key of the receiver. The message further comprises a first field indicating a length of a hash in the second message and a second field indicating a length of the encrypted license data in the message.
- The server transmits, to a receiver, the message (step 610). The server transmits the message to the receiver protected media data that the license data is used for the receiver to access. The server receives the message from a licensing server. The server transmits the message to the receiver and broadcast protected media data that the license data is used for the receiver to access to the receiver.
- Although the present disclosure has been described with an exemplary embodiment, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims.
- Therefore, the scope of the present disclosure should not be limited to and defined by the above-described exemplary embodiments, and should be defined not only by the appended claims but also by the equivalents to the scopes of the claims.
Claims (15)
- A receiver for receiving a media license, the receiver comprising:a communication unit configured to:receive, from a server, a first message comprising broadcast media data comprising at least a portion that is protected; andreceive, from the server, a second message comprising encrypted license data; anda controller configured to:generate a request for a third message indicating the encrypted license data from a content decryption module (CDM) of the receiver;identify one or more hash codes in the second message; andidentify the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message.
- The receiver of claim 1, wherein the controller is configured to:generate the hash of the message from the CDM;match the hash of the message to one of the one or more hash codes; andidentify the encrypted license data for the receiver as corresponding to the matched hash code.
- The receiver of claim 1, wherein the controller is further configured to:decrypt the encrypted license data using a private key of the receiver; anduse the decrypted license data with the CDM to access the protected media data.
- A method for receiving a media license by a receiver, the method comprising:receiving, from a server, a first message comprising broadcast media data comprising at least a portion that is protected;receiving, from the server, a second message comprising encrypted license data;generate a request for a third message indicating the encrypted license data from a content decryption module (CDM) of the receiver;identifying one or more hash codes in the second message; andidentifying the encrypted license data for the receiver based on a mapping between the one or more hash codes and a hash of the third message.
- The method of claim 4, wherein identifying the encrypted license data for the receiver based on the mapping comprises:generating the hash of the message from the CDM;matching the hash of the message to one of the one or more hash codes; andidentifying the encrypted license data for the receiver as corresponding to the matched hash code.
- The method of claim 4, further comprising:decrypting the encrypted license data using a private key of the receiver; andusing the decrypted license data with the CDM to access the protected media data.
- The receiver of claim 1 or the method of claim 4, wherein the encrypted license data is encrypted using a public key of the receiver.
- The receiver of claim 1 or the method of claim 4, wherein the one or more hash codes indicate the receiver for the encrypted license data.
- The receiver of claim 1 or the method of claim 4,wherein the second message further comprises a first field indicating a length of a hash in the second message and a second field indicating a length of the encrypted license data in the second message, andwherein the hash in the second message indicates the one or more hash codes.
- The receiver of claim 1 or the method of claim 4, wherein the second message is received from the server without the receiver requesting the second message.
- The receiver of claim 1 or the method of claim 4,wherein the encrypted license data is received over a broadcast channel without a return channel, andwherein the receiver is a set top box or a television.
- A server for providing a media license, the server comprising:a controller; anda communication unit configured to transmit, to a receiver, a message comprising encrypted license data and a hash in the message indicating one or more hash codes used to identify the receiver for the encrypted license data.
- The server of claim 12,wherein the controller is configured to generate the message; andwherein the communication unit is configured to transmit the message to the receiver via a broadcast server that broadcasts another message comprising protected media data that the license data is used for the receiver to access.
- The server of claim 12, wherein the communication unit is configured to:receive the message from a licensing server; andtransmit the message to the receiver; andbroadcast, to the receiver, another message comprising protected media data that the license data is used for the receiver to access.
- The server of claim 12,wherein the encrypted license data is encrypted using a public key of the receiver, andwherein the message further comprises a first field indicating a length of a hash in the message and a second field indicating a length of the encrypted license data in the message.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562175852P | 2015-06-15 | 2015-06-15 | |
US14/992,990 US10528707B2 (en) | 2015-06-15 | 2016-01-11 | Enabling content protection over broadcast channels |
PCT/KR2016/006280 WO2016204473A1 (en) | 2015-06-15 | 2016-06-14 | Method and apparatus for enabling content protection over broadcast channels |
Publications (3)
Publication Number | Publication Date |
---|---|
EP3308551A1 true EP3308551A1 (en) | 2018-04-18 |
EP3308551A4 EP3308551A4 (en) | 2018-05-30 |
EP3308551B1 EP3308551B1 (en) | 2021-12-22 |
Family
ID=57517170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP16811886.7A Active EP3308551B1 (en) | 2015-06-15 | 2016-06-14 | Method and apparatus for enabling content protection over broadcast channels |
Country Status (6)
Country | Link |
---|---|
US (1) | US10528707B2 (en) |
EP (1) | EP3308551B1 (en) |
JP (1) | JP6612899B2 (en) |
KR (1) | KR102534013B1 (en) |
CN (1) | CN107787493B (en) |
WO (1) | WO2016204473A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3048538B1 (en) * | 2016-03-03 | 2018-11-09 | Ingenico Group | DATA EXECUTION AND PROCESSING METHOD, DEVICE AND CORRESPONDING COMPUTER PROGRAM |
US11032589B1 (en) | 2016-08-09 | 2021-06-08 | Google Llc | Methods, systems, and media for ensuring consumption of portions of media content |
US20180373847A1 (en) * | 2017-06-26 | 2018-12-27 | Qualcomm Incorporated | Broadcast DRM License Support for Receive Only Devices |
US11172268B2 (en) | 2017-07-31 | 2021-11-09 | Samsung Electronics Co., Ltd. | Method and apparatus for providing broadcast service |
JP7389446B2 (en) * | 2019-05-13 | 2023-11-30 | 株式会社I.Meisters | Encryption/decryption device, encryption/decryption method, and computer program for executing the method |
US11601716B2 (en) | 2020-03-03 | 2023-03-07 | Arris Enterprises Llc | Smart notification for over-the-top (OTT) streaming among multiple devices |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4797918A (en) * | 1984-05-09 | 1989-01-10 | Communications Satellite Corporation | Subscription control for television programming |
US5343527A (en) | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
JP4649760B2 (en) * | 2000-05-31 | 2011-03-16 | ソニー株式会社 | Content / copy management system and method, information processing apparatus and method, and storage medium |
EP1209592A1 (en) | 2000-11-28 | 2002-05-29 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for distributing electronic content |
US7085850B2 (en) * | 2001-08-22 | 2006-08-01 | International Business Machines Corporation | Stateless message processing scheme for network processors interactions |
JP2003174446A (en) | 2001-12-05 | 2003-06-20 | Canon Inc | Method for authenticating license of software |
JP2003333507A (en) | 2002-05-09 | 2003-11-21 | Mitsubishi Electric Corp | Receiver and copying control method |
AU2003251803A1 (en) | 2002-07-09 | 2004-01-23 | Kaleidescape, Inc. | Content and key distribution system for digital content representing media streams |
US7779482B1 (en) | 2003-02-07 | 2010-08-17 | iGware Inc | Delivery of license information using a short messaging system protocol in a closed content distribution system |
US7278165B2 (en) * | 2003-03-18 | 2007-10-02 | Sony Corporation | Method and system for implementing digital rights management |
CN1802813A (en) | 2003-06-05 | 2006-07-12 | 松下电器产业株式会社 | User terminal for receiving license |
JP4422981B2 (en) | 2003-06-12 | 2010-03-03 | パナソニック株式会社 | Cryptographic communication system |
US7949877B2 (en) | 2003-06-30 | 2011-05-24 | Realnetworks, Inc. | Rights enforcement and usage reporting on a client device |
US20050066355A1 (en) | 2003-09-19 | 2005-03-24 | International Business Machines Corporation | System and method for satellite broadcasting and receiving encrypted television data signals |
TWI324875B (en) | 2003-12-31 | 2010-05-11 | Green Packet Berhad | Method of managing digital rights and a computer |
US7496956B1 (en) * | 2005-01-05 | 2009-02-24 | Symantec Corporation | Forward application compatible firewall |
WO2006095726A1 (en) | 2005-03-11 | 2006-09-14 | Brother Kogyo Kabushiki Kaisha | Information distribution system, node device, and release data issuing method, etc. |
US8050406B2 (en) | 2005-06-07 | 2011-11-01 | Sony Corporation | Key table and authorization table management |
JP5090790B2 (en) | 2006-06-07 | 2012-12-05 | 株式会社リコー | Device, License Management Method, License Management Program, and License Management System |
KR20080010906A (en) * | 2006-07-28 | 2008-01-31 | 삼성전자주식회사 | Method and apparatus for managing license |
US7917963B2 (en) * | 2006-08-09 | 2011-03-29 | Antenna Vaultus, Inc. | System for providing mobile data security |
GB0625178D0 (en) * | 2006-12-18 | 2007-01-24 | Ubc Media Group Plc | Improvements relating to downloading data |
US8396222B2 (en) | 2008-03-10 | 2013-03-12 | Nds Limited | Key distribution system |
US20090313704A1 (en) * | 2008-06-12 | 2009-12-17 | Condel International Technologies Inc. | Content management methods and systems |
US8423779B2 (en) | 2009-02-23 | 2013-04-16 | Wms Gaming, Inc. | Compounding security with a security dongle |
US8751800B1 (en) | 2011-12-12 | 2014-06-10 | Google Inc. | DRM provider interoperability |
GB201305734D0 (en) | 2013-03-28 | 2013-05-15 | Irdeto Bv | Enabling a content receiver to access encrypted content |
-
2016
- 2016-01-11 US US14/992,990 patent/US10528707B2/en active Active
- 2016-06-14 EP EP16811886.7A patent/EP3308551B1/en active Active
- 2016-06-14 CN CN201680036096.4A patent/CN107787493B/en active Active
- 2016-06-14 WO PCT/KR2016/006280 patent/WO2016204473A1/en active Application Filing
- 2016-06-14 JP JP2017564830A patent/JP6612899B2/en active Active
- 2016-06-14 KR KR1020177034213A patent/KR102534013B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20160364551A1 (en) | 2016-12-15 |
JP2018527775A (en) | 2018-09-20 |
KR102534013B1 (en) | 2023-05-18 |
KR20180008516A (en) | 2018-01-24 |
CN107787493A (en) | 2018-03-09 |
CN107787493B (en) | 2022-01-21 |
WO2016204473A1 (en) | 2016-12-22 |
EP3308551B1 (en) | 2021-12-22 |
JP6612899B2 (en) | 2019-11-27 |
EP3308551A4 (en) | 2018-05-30 |
US10528707B2 (en) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016204473A1 (en) | Method and apparatus for enabling content protection over broadcast channels | |
WO2012060643A1 (en) | Key rotation in live adaptive streaming | |
KR101611848B1 (en) | Signaling and handling content encryption and rights management in content transport and delivery | |
US9900289B2 (en) | Low-latency secure segment encryption and authentication interface | |
CN100338954C (en) | Process for updating a revocation list of noncompliant keys appliances or modules | |
WO2013165186A1 (en) | Method and apparatus for transmitting and receiving message for downloadable cas or drm in mmt | |
WO2011068392A2 (en) | Digital broadcast receiver and booting method of digital broadcast receiver | |
JP2002536877A (en) | Transmission system | |
WO2011122912A2 (en) | Method and system for managing an encryption key for a broadcasting service | |
US10044508B2 (en) | Embedding digital watermark at the receiver end to keep track of digital content source and intended legal subscriber | |
JP2008172391A (en) | Multi-stream distribution device and multi-descrambling device | |
WO2010107279A2 (en) | System and method for protecting digital media content | |
US20110113443A1 (en) | IP TV With DRM | |
WO2012141501A2 (en) | Cas service system supplying cas service and operation method thereof | |
KR20050010817A (en) | Signing and authentication devices and processes and corresponding products, notably for dvb/mpeg mhp digital streams | |
WO2015133829A1 (en) | Apparatus for protecting digital cinema contents and method therefor | |
WO2010110605A2 (en) | Iptv receiver, and content-downloading method for same | |
CN110868641A (en) | Method and system for detecting validity of live broadcast source | |
WO2014123283A1 (en) | Method and device for controlling downloading of security module for broadcast service | |
WO2010147317A2 (en) | Content encoding method, content decoding method and electronic device using same | |
WO2010074410A2 (en) | Paring method between sm and tp in downloadable conditional access system, set-top box and authentication device using this | |
KR101000787B1 (en) | Conditional access software system and the method thereof | |
WO2010047532A2 (en) | Apparatus and method for controlling conversion of broadcasting program based on program protection information | |
KR101743928B1 (en) | Operating system of broadcast contents protection technologies and its operating method in broadcast receiver environment | |
WO2015199370A1 (en) | Broadcast reception device, method of operating broadcast reception device, conditional access module, and method of operating conditional access module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20180115 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 20180503 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04N 21/435 20110101AFI20180425BHEP Ipc: H04N 21/258 20110101ALI20180425BHEP Ipc: H04N 21/266 20110101ALI20180425BHEP Ipc: H04N 21/235 20110101ALI20180425BHEP Ipc: G06F 21/10 20130101ALI20180425BHEP Ipc: H04N 21/647 20110101ALI20180425BHEP Ipc: H04N 21/2347 20110101ALI20180425BHEP Ipc: H04N 21/4623 20110101ALI20180425BHEP Ipc: H04N 21/6334 20110101ALI20180425BHEP Ipc: H04N 21/4627 20110101ALI20180425BHEP Ipc: H04L 9/30 20060101ALI20180425BHEP Ipc: H04N 21/4405 20110101ALI20180425BHEP Ipc: H04N 21/254 20110101ALI20180425BHEP |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20190806 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
INTG | Intention to grant announced |
Effective date: 20210908 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602016067669 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 1457874 Country of ref document: AT Kind code of ref document: T Effective date: 20220115 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG9D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220322 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20211222 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1457874 Country of ref document: AT Kind code of ref document: T Effective date: 20211222 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220322 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220323 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220422 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602016067669 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20220422 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
26N | No opposition filed |
Effective date: 20220923 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20220630 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220614 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220630 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220614 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220630 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220630 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20160614 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20240520 Year of fee payment: 9 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20240520 Year of fee payment: 9 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20240524 Year of fee payment: 9 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20211222 |