US20140029747A1 - System and method for transcoding content - Google Patents
System and method for transcoding content Download PDFInfo
- Publication number
- US20140029747A1 US20140029747A1 US13/557,595 US201213557595A US2014029747A1 US 20140029747 A1 US20140029747 A1 US 20140029747A1 US 201213557595 A US201213557595 A US 201213557595A US 2014029747 A1 US2014029747 A1 US 2014029747A1
- Authority
- US
- United States
- Prior art keywords
- content
- transcoder
- key
- media processor
- transcoded
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 58
- 230000001052 transient effect Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 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
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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/4402—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 reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—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 reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- 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/4408—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 encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
-
- 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
Definitions
- the present invention relates to transcoding media content over an interface, and in particular to transcoding media content into secure transcoded media content to be provided to a media processor.
- a conditional access device a non-limiting example of which includes a Cable Card
- a Host set-top terminal
- Cablelab's “CableCard Copy Protection 2.0 Specification” (OP-SP-CCCP2.0) defines procedures and methods for a compliant Multi-stream Cable Card (M-card) and a host media processor (Host) to securely communicate and negotiate encryption keys needed for providing copy protection of high value content across the M-card-Host Cable Card InterFace (CCIF). These procedures authenticate the M-card and Host pair and bind them together using a Diffie-Hellman key exchange.
- This exchange is based in part upon Cablelab's Certificate Authority based x.509 certificates that are stored in the M-card and the Host.
- CA conditional access
- a CA system provides a private way to communicate command/control information to the M-card including validation of the M-card and Host combination.
- An M-card and the Host complete the binding process after mutual authentication and the validation by the CA system.
- the CA system also provides a way to communicate a Certificate Revocation List (CRL) to the M-card, which can in turn disable the high value media content exchange to a compromised Host.
- CTL Certificate Revocation List
- a properly bound M-card and Host will jointly compute Copy Protection (CP) keys as necessary and according to OP-SP-CCCP2.0 specification in order to secure high value media content as it flows from the M-card to the Host.
- CP Copy Protection
- FIG. 1 illustrates a block diagram for a prior art set top box (STB) 100 .
- STB 100 includes a connector 102 , a diplex filter 104 , an out-of-band (OOB) modulator 106 , an OOB demodulator 108 , an M-Card 110 , an in-band (IB) tuner 112 , an IB tuner 114 , a host media processor 116 , a flash memory 118 , a system DRAM 120 , a hard disk drive (HDD) 122 , a transcoder 123 , a transcoder DRAM 124 , and peripheral devices 125 .
- OOB out-of-band
- each of diplex filter 104 , OOB modulator 106 , OOB demodulator 108 , M-Card 110 , IB tuner 112 , IB tuner 114 , host media processor 116 , flash memory 118 , system DRAM 120 , HDD 122 , transcoder 123 , and transcoder DRAM 124 are distinct devices.
- At least two of diplex filter 104 , OOB modulator 106 , OOB demodulator 108 , M-Card 110 , IB tuner 112 , IB tuner 114 , host media processor 116 , flash memory 118 , system DRAM 120 , HDD 122 , transcoder 123 , and transcoder DRAM 124 may be combined as a unitary device.
- At least one of diplex filter 104 , OOB modulator 106 , OOB demodulator 108 , M-Card 110 , IB tuner 112 , IB tuner 114 , host media processor 116 , flash memory 118 , system DRAM 120 , HDD 122 , transcoder 123 , and transcoder DRAM 124 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Such non-transient, tangible computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
- Non-limiting examples of non-transient, tangible computer-readable media include physical storage and/or memory media such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- RAM random access memory
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- CD-ROM or other optical disk storage such as CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- a network or another communications connection hardwired and/or wireless, or a combination of hardwired or wireless
- Diplex filter 104 is operable to receive a broadband signal 126 from connector 102 and an OOB modulated signal 128 from OOB modulator 106 .
- Broadband signal 126 may be an input signal from a cable company or a satellite, available via connector 102 .
- Diplex filter 104 performs frequency domain multiplexing between broadband signal 126 , which may be a multiplex of IB downstream bound high frequency signals and OOB modulated signal 128 , which may be an upstream bound low frequency signal.
- Downstream information provided by broadband signal 126 may include video, audio, multimedia and/or data.
- OOB modulator 106 is operable to receive an OOB signal 132 from M-Card 110 and to provide OOB modulated signal 128 to diplex filter 104 .
- OOB modulator 106 is also known as Return Path Transmitter (RPT), which is used to transmit the low frequency upstream information destined for the head-end server.
- RPT Return Path Transmitter
- Upstream information provided by OOB modulated signal 128 may include video, audio, multimedia, and/or data.
- OOB demodulator 108 is operable to receive a diplex filter output signal 130 and to provide an OOB demodulated signal 134 to M-card 110 .
- OOB demodulator 108 receives CA control information about the media content on a narrowband carrier, which it passes on to M-card 110 .
- M-Card 110 is operable to receive OOB demodulated signal 134 , data input signal 138 , and CPU interface signal 136 . M-Card 110 is also operable to provide OOB signal 132 , data output signal 140 .
- M-Card 110 receives and standardizes media access control messages from the head-end server via OOB demodulated signal 134 and forwards pertinent processed messages to host media processor 116 via interface signal 136 .
- M-Card 110 performs any conditional access and decryption functions based on the media access control messages, which may contain information about configurations, authorizations, entitlements, etc. of the media content received by IB tuner 112 and IB tuner 114 .
- M-Card 110 receives CA encrypted media content via data input 138 from host media processor 116 , and if authorized, decrypts the media content and passes it back to host media processor 116 via data output signal 140 . If the copy protection rules are such that data output signal 140 needs to be protected then M-Card 110 may encrypt data output signal 140 for protection, otherwise data output signal 140 may not be encrypted.
- CPU interface signal 136 is used for exchanging control information between M-Card 110 and host media processor 116 .
- IB tuner 112 and IB tuner 114 receive encrypted content from diplex filter 104 .
- IB tuner 112 performs in-band tuning of diplex filter output signal 130 and provides a baseband signal 142 to host media processor 116 .
- IB tuner 114 performs in-band tuning of diplex filter output signal 130 and provides another baseband signal 144 to host media processor 116 .
- There are only two tuners shown in FIG. 1 however, there may be any number of tuners connected to host media processor 116 .
- Host media processor 116 interfaces with M-Card 110 for a two-way communication using CPU interface signal 136 . It receives encrypted media content from IB tuner 112 and IB tuner 114 and provides the encrypted media content via data input signal 138 to M-Card 110 . Media content received from M-Card 110 via data output signal 140 may or may not be re-encrypted.
- Host media processor 116 is operable to send data stream 158 to transcoder 123 and receive data stream 160 from transcoder 123 . If host media processor 116 receives encrypted data from M-Card 110 it sends the encrypted data to transcoder 123 . Transcoder 123 decrypts the contents, transcodes it, re-encrypts it, and sends it back to host media processor 116 via data stream 160 . Host media processor 116 communicates with transcoder 123 via control interface signal 154 .
- host media processor 116 may store the media content on HDD 122 or provide it to peripheral devices 125 via peripheral interface 152 . Note that there is a plurality of peripheral devices with their corresponding interfaces, however, they are grouped as a peripheral device 125 with a peripheral interface 152 for convenience.
- Host media processor 116 interfaces with flash memory 118 via an external bus interface signal 146 .
- Host media processor 116 also interfaces with system DRAM 120 via a DRAM interface signal 148 .
- FIG. 2 illustrates a functional diagram for prior art STB 100 .
- FIG. 2 includes M-Card 110 , host media processor 116 , transcoder 123 , a host certificate 204 , a card certificate 208 , and a cable head-end command and control portion 242 .
- M-Card 110 further includes a CP processing portion 206 , a CA decrypt portion 210 , and a CP encrypt portion 212 .
- Host media processor 116 further includes a CP processing portion 202 , a CP decrypt portion 214 , a private CP encrypt portion 216 , an authentication and CP key exchange portion 222 , a private certificate chain 226 , and a private CP decrypt portion 232 .
- Transcoder 123 further includes a private CP decrypt portion 218 , an authentication and CP key exchange portion 220 , a private certificate chain 224 , a transcode portion 228 and a private CP encrypt portion 230 .
- CP processing portion 202 , CP decrypt portion 214 , private CP encrypt portion 216 , and private CP decrypt portion 232 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some embodiments at least one of CP processing portion 202 and CP decrypt portion 214 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- CP processing portion 206 , CA decrypt portion 210 , and CP encrypt portion 212 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some embodiments at least one of CP processing portion 206 , CA decrypt portion 210 and CP encrypt portion 212 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Private CP decrypt portion 218 and private CP encrypt portion 230 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some embodiments at least one of private CP decrypt 218 and private CP encrypt portion 230 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Host certificate 204 and card certificate 208 represent the identity of host media processor 116 and M-Card 110 , respectively. Initially, host certificate 204 is loaded into host media processor 116 and card certificate 208 is loaded into M-Card 110 . Certificates may be loaded into these devices via a number of known ways.
- Cable head-end command and control signal 242 is similar to 00 B demodulated signal 134 and includes CA entitlement and a pairing function to validate the compatibility of M-Card 110 and host media processor 116 .
- M-Card 110 and host media processor 116 mutually authenticate each other using mutual authentication and Diffie Hellman exchange information 234 .
- the Diffie Hellman method allows two entities to jointly establish a shared secret key over a communication link, without having any prior knowledge of each other.
- M-Card 110 and host media processor 116 jointly generate a CP key 236 , which is used by CP encrypt portion 212 via an information signal 240 and passes it over to a CP encrypted content 248 .
- Diffie Hellman exchange information 234 and CP key generation 236 together represent CPU interface signal 136 .
- CA decrypt portion 210 receives CA encrypted content 244 and it's associated IP rights from host media processor 116 , which has been encrypted by any known encryption method.
- CA decrypt portion 210 provides an information signal with CA decrypted data 246 to CP encrypt portion 212 in order to instruct CP encrypt portion 212 whether or not CA decrypted data 246 needs to be re-encrypted based on associated IP rights. If CP encrypted content 248 has been encrypted, then it needs to be decrypted by CP decrypt portion 214 , controlled by an information signal 238 provided by CP processing portion 202 .
- Host media processor 116 further encrypts the CP encrypted content using private CP encrypt portion 216 .
- Private CP encrypt portion 216 receives CP encrypted content via signal 250 and provides private CP encrypted content to transcoder 123 via private CP encrypted content signal 252 .
- Video format transcoding is a conversion of video content from one format into another format between different types of video devices. Video format transcoding is a valuable feature within set-top box (STB) architectures. Transcoding allows for contents to be broadcast in formats that are already in use, such as MPEG-2 (Moving Picture Experts Group-2), but then converted into an advanced format, such as MPEG-4 that allows for the content to consume less capacity on hard disk drives, in the case of Digital Video Recorder (DVR) applications, and consume less bandwidth on home networks, in the case of multi-room DVR, or other streaming applications. Other uses of transcoding include reformatting High Definition (HD) and Standard Definition contents into formats suitable to be viewed on mobile handsets with smaller screen sizes.
- HD High Definition
- Standard Definition contents into formats suitable to be viewed on mobile handsets with smaller screen sizes.
- the OpenCable 2.0 Host specifications have a mandatory requirement for MPEG-2 video decode, but not MPEG-4/H.264.
- MPEG-4 has raised a need for a transcoder in order to switch between different video formats.
- Transcoder 123 decrypts the private CP encrypted content using private CP decrypt portion 218 to generate decrypted content 254 .
- Transcoding portion 228 transcodes decrypted content 254 from a first format into a second format as transcoded content 256 .
- Private CP encrypt portion 230 then encrypts the transcoded content 256 as private CP encrypted content 258 .
- Private CP encrypt portion 230 then sends private CP encrypted content 258 back to host media processor 116 .
- Private CP decrypt portion 232 receives private CP encrypt content 258 and then decrypts it.
- private security/authentication portion 220 receives a private certificate chain A 224 via signal 260 .
- private security/authentication portion 222 may additionally receive a private certificate from private certificate chain A 226 via signal 262 .
- Private security/authentication portion 220 and private security/authentication portion 222 communicate with each other via CPU interface signals 264 and 266 in order to establish mutual authentication and secure CP exchange.
- Another example of authenticating between a host media processor and a transcoder involves the secure ‘preloading’ of secret keys into the transcoder and the host media processor at the time of manufacture.
- the transcoder and the host media processor would thus be paired and may then securely communicate without the need to exchange certifications/keys. Accordingly, with this type of authentication arrangement, there would be no need for a secure CP exchange between transcoder 123 and host media processor 116 , for example by way of CPU interface signal 266 .
- FIG. 3 is a timing diagram, illustrating the relative time of processes of M-Card 110 , host media processor 116 , and transcoder 123 of STB 100 .
- M-Card 110 and host media processor 116 are mutually authenticated as represented by bi-directional arrow 302 , which corresponds to mutual authentication and Diffie Hellman exchange information 234 of FIG. 2 .
- M-Card 110 and host media processor 116 generate a CP key as represented by bi-directional arrow 304 , which corresponds to CP key generation 236 of FIG. 2 .
- host media processor 116 sends encrypted content to M-Card 110 as represented by arrow 306 , which corresponds to the sending of encrypted content 248 of FIG. 2 .
- M-Card 110 decrypts the content as represented by circle 308 . Then M-Card 110 encrypts the content as represented by dot 310 , which corresponds to CA decrypt portion 210 deciding whether CA decrypted data 246 needs to be re-encrypted, as discussed above with reference to FIG. 2 . In this case, presume that the data is re-encrypted by CP encrypt portion 212 .
- M-Card 110 sends the encrypted content to host media processor 116 as represented by arrow 312 which corresponds to CP encrypted content 248 of FIG. 2 .
- host media processor 116 decrypts the content as represented by circle 314 , which corresponds to CA decrypt portion 210 receiving CA encrypted content 244 from M-Card 110 of FIG. 2 .
- the encoded content needs to be converted into another format, then it should be sent to transcoder 123 . However, the content must be protected.
- host media processor 116 encrypts the content as represented by dot 316 , which corresponds to CP encrypt portion 216 of FIG. 2 .
- the encrypted content is then sent to transcoder 123 as represented by arrow 318 , which corresponds to private CP encrypted content signal 252 of FIG. 2 .
- Transcoder 123 decrypts the content as represented by circle 320 , which corresponds to private CP decrypt portion 218 of FIG. 2 . Transcoder 123 then converts the decrypted content into another format, as represented X 322 . At this point transcoder 123 should return the transcoded content to host media processor 116 . However, the transcoded content must be protected. As such, before the transcoded content is sent to host media processor 116 , transcoder 123 encrypts the transcoded content as represented by dot 324 , which corresponds to private CP encrypt portion 230 of FIG. 2 . Then the encrypted transcoded content is sent to host media processor 116 as represented by arrow 326 , which corresponds to private CP encrypted content signal 258 of FIG. 2 .
- Host media processor 116 then decrypts the transcoded content as represented by circle 328 , which corresponds to private CP decrypt portion 232 of FIG. 2 . Host media processor 116 then plays the transcoded content, as represented by + signal 320 .
- CP encrypted content 248 is sent to host media processor 116 .
- Host media processor 116 receives this data and decrypts it, then re-encrypts it, then sends it to the transcoder where the data is decrypted and transcoded.
- the steps of decryption via CP decrypt block 214 and re-encryption via private CP encrypt block 216 are unnecessary.
- Another conventional system avoids unnecessary encryption/decryption. This will be discussed below with reference to FIGS. 4-6 .
- FIG. 4 illustrates an example conventional STB configuration 400 with an inline transcoder.
- STB configuration 400 includes all the elements of FIG. 1 , except host media processor 116 has been replaced by host media processor 402 and transcoder 123 has been replaced by transcoder 404 .
- STB configuration 400 additionally includes a tuner 406 .
- elements (and their respective functions) that are common between STB 100 and STB 400 may not be described again.
- IB tuner 406 Operation of M-card with respect to OOB modulator 106 and OOB demodulator 108 is similar to as described with reference to FIG. 1 .
- Diplex filter 104 now provides output signal 130 to IB tuner 112 , IB tuner 114 , and IB tuner 406 .
- Operation of IB tuner 406 is similar to IB tuner 112 and IB tuner 114 and has been added here to represent that by placing transcoder 404 on M-card 110 return path freed up a transport resource to allow another tuner to host media processor 402 in this configuration.
- M-card 110 is already responsible for encrypting all High Value content that it processes. In the configuration, M-card 110 will continue to encrypt High Value content similar to configurations discussed with reference to FIG. 1 and FIG. 2 .
- Transcoder 404 will decrypt the content received on signal 140 from M-card 110 prior to transcoding. After the transcoding operation is complete, transcoder 404 will re-encrypt the content using the same encryption keys that it used for decryption, thereby re-protecting the content on the way to host media processor 402 via signal 408 . Host media processor 402 will decrypt the content as if it had come directly from M-card 110 , using the same decryption resources that it would use in the configuration of FIG. 1 .
- Control interface 154 is still required in configuration 400 between transcoder 404 and host media processor 402 .
- Some non-limiting examples of this interface include USB, PCIe, serial port or any other suitable interface.
- Host media processor 402 uses control interface 154 to download any code modules required by transcoder 404 to operate, to establish operating parameters for transcoder 404 , and to provide the keys to transcoder 404 to enable the encryption and decryption of the protected content. This is further explained using FIG. 5 .
- FIG. 5 illustrates a functional diagram for STB configuration 400 .
- FIG. 5 includes a few elements of FIG. 2 , namely, M-Card 110 , host certificate 202 , card certificate 208 , and cable head-end command and control portion 242 . Additionally, it includes host media processor 402 , transcoder 404 , private certificate chain A 224 , and private certificate chain A 226 . Transcoder 404 further includes a CP decrypt portion 502 , a private security/authentication portion 504 , a transcoding portion 505 , and a CP encrypt portion 506 . Host media processor 402 further includes a CP processing portion 508 , a CP decrypt portion 510 and a private security/authentication portion 512 . For purposes of brevity, elements (and their respective functions) that are common between FIG. 2 and FIG. 5 may not be described again.
- each of CP decrypt portion 502 , private security/authentication portion 504 , transcoding portion 505 and CP encrypt portion 506 are distinct devices. However, in other embodiments, at least two of CP decrypt portion 502 , private security/authentication portion 504 , transcoding portion 505 and CP encrypt portion 506 may be combined as a unitary device. Further, in some embodiments at least one of CP decrypt portion 502 , private security/authentication portion 504 and CP encrypt portion 506 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- each of CP processing portion 508 , CP decrypt portion 510 and private security/authentication portion 512 are distinct devices. However, in other embodiments, at least two of CP processing portion 508 , CP decrypt portion 510 and private security/authentication portion 512 may be combined as a unitary device. Further, in some embodiments at least one of CP processing portion 508 , CP decrypt portion 510 and private security/authentication portion 512 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- transcoder 404 is placed in between M-Card 110 and host media processor 402 .
- Function of transcoder 404 is to convert the media content from one digital video format for example, MPEG2 to another digital video format like MPEG4. In this configuration, binding process still takes place according to OP-SP-CCCP2.0 Specification.
- M-Card 110 is operable to function as explained earlier with reference to FIG. 1 and FIG. 2 .
- Host media processor 402 communicates with M-Card 110 for mutual authentication and CP key generation as discussed earlier with reference to FIG. 1 and FIG. 4 .
- transcoder 404 Since transcoder 404 sits in between M-Card 110 and host media processor 402 , it needs to perform secondary encryption by first CP decrypting the CP encrypted content received from M-Card 110 , transcoding it and then CP encrypting it again before providing it to host media processor 402 . Transcoder 404 must therefore contain the security function necessary to decrypt and re-encrypt the content.
- host media processor 402 and transcoder 404 perform a mutual authentication function and a secured function for passing the CP key.
- Private security/authentication portion 504 and private security/authentication portion 512 perform the mutual authentication via interface signal 264 and a secure CP key exchange via interface signal 266 .
- private security/authentication portions can be implemented using any of the well-known security method, which provide authentication and secure channel communication.
- a non-limiting example of such a security system is a public/private key system chained to separate certificates like private certificate chain A 224 and private certificate chain A 226 .
- Transcoder 404 decrypts the private CP encrypted content using CP decrypt portion 502 to generate decrypted content 503 .
- Transcoding portion 505 transcodes decrypted content 503 from a first format into a second format as transcoded content 507 .
- CP encrypt portion 506 then encrypts transcoded content 507 as CP encrypted-transcoded content 514 .
- CP encrypt portion 506 then sends CP encrypted-transcoded content 514 back to host media processor 402 .
- CP decrypt portion 510 receives encrypted-transcoded content 514 and decrypts it.
- transcoder 404 Since transcoder 404 is placed in between M-Card 110 and host media processor 402 , the extra steps of private CP encrypting and decrypting the content as shown by private CP encrypt portion 216 and private CP decrypt portion 218 are not required in the configuration.
- the secondary encryption between transcoder 404 and host media processor 402 is dependent on OP-SP-CCCP2.0 process. Without binding, or in the event that a particular host certificate has been revoked, no High Value content will be transmitted, and host media processor 402 has no CP key to share with transcoder 404 .
- the chain can also be validated and revoked via private and remote means, which can also be used to enable and disable the Private CP process between transcoder 404 and host media processor 402 .
- transcoder 404 is placed in between M-Card 110 and host media processor 402 .
- the binding process between M-Card 110 and host media processor 402 still takes place using OP-SP-CCCP2.0 specifications. Since transcoder 404 is placed in between M-Card 110 and host media processor 402 , it first CP decrypts the media content, transcodes it and then CP re-crypts it before passing it to host media processor 402 .
- Transcoder 404 is required to contain necessary security functions in order to be able to decrypt and encrypt the content.
- FIG. 6 is a timing diagram, illustrating the relative time of process of M-Card 110 , host media processor 402 , and transcoder 504 of STB configuration 400 of FIG. 5 .
- M-Card 110 and host media processor 402 are mutually authenticated as represented by bi-directional arrow 302 , which corresponds to mutual authentication and Diffie Hellman exchange information 234 of FIG. 5 .
- M-Card 110 and host media processor 402 generate a CP key as represented by bi-directional arrow 304 , which corresponds to CP key generation 236 of FIG. 5 .
- host media processor 402 sends encrypted content to M-Card 110 as represented by arrow 306 , which corresponds to the send of encrypted content 244 of FIG. 5 .
- M-Card 110 decrypts the content as represented by circle 308 , which corresponds to CA decrypt portion 210 receiving CA encrypted content 244 from host media processor 116 , which has been encrypted by any known method as discussed above with reference to FIG. 5 . Then M-Card 110 encrypts the content as represented by dot 310 , which corresponds to CA decrypt portion 210 deciding whether CA decrypted data 246 needs to be re-encrypted, as discussed above with reference to FIG. 5 . In this case, presume that the data is re-encrypted by CP encrypt portion 212 .
- M-Card 110 sends the encrypted content to transcoder 404 as represented by arrow 602 , which corresponds to CP encrypted content 248 of FIG. 5 .
- transcoder 404 decrypts the content as represented by circle 604 , which corresponds to CP decrypt portion 502 of FIG. 5 .
- Transcoder 404 then converts the decrypted content into another format, as represented by X 606 . At this point transcoder 404 should send the transcoded content to host media processor 402 . However, the transcoded content must be protected. As such, before the transcoded content is sent to host media processor 402 , transcoder 404 encrypts the transcoded content as represented by dot 610 , which corresponds to CP encrypt portion 506 of FIG. 5 . Then the encrypted transcoded content is then sent to host media processor 402 as represented by arrow 612 , which corresponds to signal 514 of FIG. 5 .
- Host media processor 402 then decrypts the transcoded content as represented by circle 614 , which corresponds to CP decrypt portion 510 of FIG. 5 . Host media processor 402 then plays the transcoded content, as represented by + sign 616 .
- FIGS. 1-6 represent a separable security system including a CableCard and a Host.
- the CableCard and the Host exchange information back and forth and ultimately the content is passed to the CA device, which decrypts it and removes any conditional access encryption. It reapplies a copy protection encryption method to protect the content before providing it back to the Host.
- Host can CP decrypt the content, decode it, store it or send it out as needed.
- a problem with a conventional system as discussed above with reference to FIGS. 4-6 deals with the difficulty in implementing the M-Card/Transcoder interface correctly.
- the transcoder implement the M-Card interface, which includes both hardware and software components.
- the transcoder then has to be integrated/tested/qualified etc.
- not all conventional transcoders have an M-card interface.
- those that have an M-card interface they must also implement the software interfaces to make it useable.
- implementing conventional transcoders in this manner requires rigorous scheduling, work, etc., and it limits the pool of transcoders that might be selected, e.g., they must have an M-card interface.
- FIG. 1 illustrates a block diagram for a prior art STB configuration
- FIG. 2 illustrates a functional diagram for the prior art STB of FIG. 1 ;
- FIG. 3 illustrates a timing diagram for the prior art STB of FIG. 1 ;
- FIG. 4 illustrates a block diagram for a prior art STB configuration
- FIG. 5 illustrates a functional diagram for the prior art STB of FIG. 3 ;
- FIG. 6 illustrates a timing diagram for the prior art STB of FIG. 3 ;
- FIG. 7 illustrates a STB configuration, in accordance with aspects of the non-limiting example embodiments.
- FIG. 8 illustrates a functional diagram for the STB configuration of FIG. 7 , in accordance with aspects of non-limiting example embodiments
- FIG. 9 illustrates a timing diagram for the STB of FIG. 7 , in accordance with aspects of non-limiting example embodiments.
- FIG. 10 illustrates another timing diagram for the STB of FIG. 7 , in accordance with aspects of non-limiting example embodiments:
- FIG. 11 illustrates a functional diagram for a STB configuration that does not include a conditional access device, in accordance with aspects of non-limiting example embodiments.
- Non-limiting example embodiments provide a system and method for securely transferring media content from a conditional access device to a transcoder, transcoding the media content from one format to another format with the transcoder, and then securely transferring the transcoded media content to a host media processor.
- the media content is “securely transferred” when it is inaccessible to all but the intended receiver. Accordingly, when the media content is securely transferred from the conditional access device to the transcoder, the data will be inaccessible to anyone but the transcoder. Similarly, when the transcoded media content is securely transferred from the transcoder to the host media processor, the data will be inaccessible to anyone but the host media processor.
- Non-limiting example embodiments described herein provide a system and method for transcoding the media content over an existing interface between the M-Card and the host media processor.
- M-Card, host media processor, and the transcoder such that encrypted data must pass from the M-Card, through the host media processor and then to the transcoder, the additional steps of private CP decrypting and private CP encrypting or CP decrypting and CP encrypting, utilized in the prior art methods illustrated in FIG. 2 and FIG. 5 are not needed.
- a system for use with secure content in a first format.
- the system includes a conditional access device, a transcoding device and a media processor.
- the conditional access device is operable to receive the secure content and can generate a second secure content based on the secure content.
- the conditional access device can further provide the second secure content to the transcoding device.
- the transcoding device can transcode the second secure content into transcoded content of a second format, can secure the transcoded content as secure transcoded content and can provide the secure transcoded content to the media processor.
- another system for use with secure content in a first format.
- the system includes a transcoding device and a media processor.
- the media processor is operable to receive the secure content and a key for decrypting the content.
- the media processor can further provide the secure content and the key to the transcoding device.
- the transcoding device can transcode the second secure content into transcoded content of a second format, can secure the transcoded content as secure transcoded content and can provide the secure transcoded content back to the media processor.
- CP decrypt portion 214 and private CP encrypt portion 216 have been eliminated.
- CP decrypt portion 214 and private CP encrypt portion 216 there is a data forwarding portion. This data forward portion simply forwards CP encrypted data 248 and CP key 238 to the transcoder.
- the transcoder receives the encrypted data as well as the CP key and performs the decryption process itself, transcodes the data, re-encrypts it, and sends the newly encrypted and transcoded data back to the host media processor. This process improves on prior art STB 100 by eliminating one decryption process and one encryption process, which saves valuable processor power.
- the transcoder is no longer disposed between the Cable Card and the host media processor.
- the advantage with a system in accordance with non-limiting example embodiments is that the existing Host Media Process interface to the M-Card (hardware and software) is continuously leveraged. Further, a system in accordance with non-limiting example embodiments does not require the M-card hardware and software on the transcoder. This saves time and development, and increases transcoder choices. What may be added is a relatively light protocol (when compared with an M-card interface) to pass the key securely from host media processor to the transcoder, and forward the encrypted content on a standard interface that the transcoder must support by default.
- the M-Card sends data to the host media processor, which forwards the data to the transcoder, and the transcoded content is sent back to the host media processor.
- decryption and re-encryption steps are removed from the host processor.
- Content decryption keys obtained from the conditional access device are passed through by the host processor to the transcoder.
- Content re-encryption keys may be the same decryption keys or may be separately generated by the host processor and are also forwarded to the transcoder.
- the transcoder then performs content decryption followed by transcoding and then re-encryption.
- conditional access device is an M-Card.
- a transcoder securely receives media content from a conditional access device by way of an encryption system, wherein the conditional access device encrypts the media content, and the transcoder decrypts the media content.
- any secure communication system, method or protocol may be used.
- an example embodiment described herein includes an encryption system for securely transferring media content from the conditional access device to the transcoder.
- a host media processor securely receives transcoded media content from a transcoder by way of an encryption system, wherein the transcoder encrypts the media content, and the host media processor decrypts the transcoded media content.
- any secure communication system, method or protocol may be used.
- an example embodiment described herein includes an encryption system for securely transferring transcoded media content from the transcoder to the host media processor.
- the host media processor and the transcoder By arranging M-Card, the host media processor and the transcoder such that the same encrypted data with the original encryption must pass from the M-Card, through the host media processor and then to the transcoder, minimizes the additional steps of private encrypting/decrypting and CP encrypting/decrypting and therefore requires much lower use of the encryption and decryption processing resources. This will be further explained below using FIGS. 7-9 .
- FIGS. 7-9 An example STB with a transcoder in accordance with aspects of non-limiting example embodiments, will now be discussed further using FIGS. 7-9 .
- FIG. 7 illustrates an STB configuration 700 with a transcoder, in accordance with aspects of non-limiting example embodiments.
- STB 700 includes all of the elements of FIG. 1 , except host media processor 116 has been replaced with host media processor 702 and transcoder 123 has been replaced by transcoder 704 .
- elements (and their respective functions) that are common between STB 100 and STB 700 may not be described again.
- host media processor 702 receives media content from M-Card 110 , which may or may not be encrypted depending on the IP rights. For purposes of discussion assume, in this example embodiment, that the content is encrypted.
- Host media processor 702 forwards the encrypted content it receives without decrypting and re-encrypting the data.
- the encrypted content and key are sent to transcoder 704 where the content is decrypted, transcoded, re-encrypted, and sent to host media processor 702 .
- Host media processor 702 can store this newly encrypted content on HDD 122 or send it out to peripheral device 125 . This is further explained using FIG. 8 .
- FIG. 8 is a functional diagram of STB configuration 700 , in accordance with aspects of the non-limiting example embodiments.
- FIG. 8 includes some common elements of FIG. 2 , namely M-Card 110 , host certificate 204 , card certificate 208 , and cable head-end command 242 , private certificate chain A 224 , and private certificate chain A 226 . Additionally, it includes host media processor 702 and transcoder 704 . Host media processor 702 further includes CP processing portion 202 , a CP encrypted content and CP key forward (FWD) portion 802 , a CP decrypt portion 808 and security/authentication portion 222 . Transcoder 704 further includes a CP decrypt portion 804 , security/authentication portion 220 and a CP encrypt portion 806 . For purposes of brevity, elements (and their respective functions) that are common between FIG. 2 and FIG. 8 may not be described again.
- FWD CP encrypted content and CP key forward
- CP processing portion 202 , FWD portion 802 , security/authentication portion 222 , and CP decrypt portion 808 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments, at least one of CP processing portion 202 , FWD portion 802 , security/authentication portion 222 , and CP decrypt portion 808 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- CP decrypt portion 804 , CP encrypt portion 806 , and security/authentication portion 220 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments, at least one of CP decrypt portion 804 , CP encrypt portion 806 , and security/authentication portion 220 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Initial functional behavior of STB 800 is similar to that of STB 200 with respect to mutual authentication, loading the CP key, decrypting the CA encrypted content received from host media processor 702 by CA decrypt portion 210 and encrypting it again by CP encrypt portion 212 .
- CP processing portion 202 sends CP key 238 to FWD portion 802 .
- CP encrypt portion 212 sends CP encrypted content 248 it is also received by FWD portion 802 .
- FWD portion 802 forwards CP encrypted content 810 to transcoder 704 .
- Transcoder 704 obtains a key to decrypt CP encrypted content 810 .
- transcoder 704 decrypts CP encrypted data 810 using CP key 238 and CP decrypt portion 804 to generate decrypted content 803 .
- Transcoding portion 805 transcodes decrypted content 803 from a first format into a second format as transcoded content 807 .
- CP encrypt portion 806 then uses a re-encryption key to encrypt transcoded content 807 into CP encrypted content 814 .
- CP key 238 doubles as the re-encryption key, wherein FWD portion 802 forwards CP key 238 to secure CP key exchange 266 via signal 268 .
- CP key 238 is sent to transcoder 704 by secure CP key exchange 266 so it may be used to decrypt forwarded CP encrypted content 810 .
- transcoder 704 obtains the second key, or the re-encryption key, by receiving the second key from host media processor 702 .
- FWD portion 802 may forward CP key 238 and a separate second key to secure CP key exchange 266 via signal 268 .
- the separate second key may be sent to transcoder 704 by secure CP key exchange 266 so it may be used to encrypt transcoded content 807 .
- transcoder 704 obtains the second key by generating the second key itself
- FWD portion 802 forwards instructions to transcoder 704 via secure CP key exchange 266 , wherein transcoder 704 is able to generate the second key based on the instructions.
- transcoder 704 may generate a second key based on IP rights associated with the content. In a non-limiting example, some portion of the IP rights may be used as a key seed to generate the second key.
- transcoder 704 may generate the second key based on IP rights associated with the content and where the IP rights associated with the content change.
- the IP rights may change for many reasons, non-limiting examples of which include changing based on time or changing based on the transcoded format. For example, and only for purposes of discussion, presume that transcoder 704 is able to transcode MPEG 4 content into MPEG 2 content. Further, and only for purposes of discussion, presume that the IP rights associated with the content in the MPEG 4 format are different than the IP rights associated with the content in the MPEG 2 format. In this situation, when transcoder 704 generates the second key based on IP rights associated with the content, the new IP rights are embedded into the transcoded content. Eventually, when host media processor 702 decrypts the encrypted MPEG 2 formatted content, the decrypted content will have the new IP rights associated with the MPEG 2 formatted content.
- CP encrypt portion 806 then sends CP encrypted content 814 back to host media processor 702 .
- CP encrypt portion 808 receives and decrypts CP encrypted content 814 .
- private security/authentication portions can be implemented using any well-known security method, which provide authentication and secure channel communication.
- a non-limiting example of authenticating between a host media processor and a transcoder involves the secure ‘preloading’ of secret keys into the transcoder and the host media processor at the time of manufacture.
- the transcoder and the host media processor would thus be paired and may then securely communicate without the need to exchange certifications/keys. Accordingly, with this type of authentication arrangement, there would be no need for a secure CP exchange between transcoder 704 and host media processor 702 , for example by way of CPU interface signal 266 .
- the chain can also be validated and revoked via private and remote means, which can also be used to enable and disable the Private CP process between transcoder 704 and host media processor 702 .
- FIG. 9 is a timing diagram, illustrating the relative time of process of M-Card 110 , host media processor 702 , and transcoder 704 of STB configuration 700 of FIG. 8 , with aspects of non-limiting example embodiments.
- the encrypted content and keys may be provided by a content provider over a network, as opposed to an M-Card. Accordingly, for purposes of discussion, in this example the processes of M-Card 110 may be from a Content Provider Network or M-Card 110 .
- M-Card 110 and host media processor 702 are mutually authenticated as represented by bi-directional arrow 302 , which corresponds to mutual authentication and Diffie Hellman exchange information 234 of FIG. 8 .
- the Diffie-Hellman key exchange can be replaced by any other secure key agreement algorithm such as for example ECDH—Elliptical Curve Diffie-Hellman.
- M-Card 110 and host media processor 702 generate a CP key as represented by bi-directional arrow 304 , which corresponds to CP key generation 236 of FIG. 8 .
- host media processor 702 sends encrypted content to M-Card 110 as represented by arrow 306 , which corresponds to the send of encrypted content 244 of FIG. 8 .
- M-Card 110 decrypts the content as represented by circle 308 , which corresponds to CA decrypt portion 210 receiving CA encrypted content 244 from host media processor 702 , which has been encrypted by any known method as discussed above with reference to FIG. 8 . Then M-Card 110 encrypts the content as represented by dot 310 , which corresponds to CA decrypt portion 210 deciding whether CA decrypted data 246 needs to be re-encrypted, as discussed above with reference to FIG. 8 . In this case, presume that the data is re-encrypted by CP encrypt portion 212 .
- M-Card 110 sends the encrypted content to host media processor 702 as represented by line 902 , which corresponds to CP encrypted content 248 of FIG. 8 .
- host media processor 702 forwards the encrypted content to transcoder 704 as represented by * 906 , which corresponds to FWD portion 802 .
- Secure CP key exchange 266 sends CP key 238 to transcoder 704 as represented by dashed line 904 .
- CP key 238 is sent to transcoder 704 before M-Card 110 sends the encrypted content to host media processor 702 .
- CP key 238 is sent to transcoder 704 after M-Card 110 sends the encrypted content to host media processor 702 .
- CP key 238 is sent to transcoder 704 while M-Card 110 sends the encrypted content to host media processor 702 .
- a single key is sent to transcoder 704 , which is used to decrypt forwarded CP encrypted content 810 and to re-encrypt transcoded data 807 .
- two keys may be sent to transcoder 704 .
- a first key may be used by CP decrypt portion 804 to decrypt CP encrypted content 810
- a second key may be used by CP encrypt portion 806 to re-encrypt transcoded content 807 .
- a newly generated key may be sent to transcoder 704 at any time to be used by CP decrypt 804 and CP encrypt 806 .
- This newly generated key may be created by Diffie-Hellman exchange 234 between M-Card 110 and host media processor 702 . Once it is newly generated between M-Card 110 and host media processor 702 , host media processor 702 will forward the newly generated key to transcoder 704 .
- a new key may need to be generated for several reasons, as known to those of skill in the art.
- One non-limiting example reason for generating a new key is drawn to the situation where the IP rights of the content changes.
- Another non-limiting example reason for generating a new key is drawn to the situation where M-Card 110 detects that the currently used key has, or is about to, expire.
- transcoder 704 decrypts the content as represented by circle 908 , which corresponds to CP decrypt portion 804 of FIG. 8 . Transcoder 704 then converts the decrypted content into another format, as represented by X 910 .
- Transcoder 704 should send the transcoded content to host media processor 702 . However, the transcoded content must be protected. As such, before the transcoded content is sent to host media processor 702 , transcoder 704 encrypts the transcoded content as represented by dot 912 , which corresponds to CP encrypt portion 806 of FIG. 8 . Then the encrypted transcoded content is then sent to host media processor 702 as represented by arrow 914 , which corresponds to CP encrypted content signal 814 of FIG. 8 .
- Host media processor 702 then decrypts the transcoded content as represented by circle 916 , which corresponds to CP decrypt portion 808 of FIG. 8 . Host media processor 702 then plays the transcoded content, as represented by + sign 918 .
- transcoded content with the original encryption and the corresponding CP key(s) along with content usage rights and restrictions are saved on a DVR to be played at a later time
- host media processor 702 does not have to pass the content and CP key(s) for transcoding and decryption to the transcoder until the time when the user decides to play back the content to have CP decrypt portion 808 decrypt the content.
- the DVR may save the encrypted content as well as the CP key received from secure CP key exchange 266 in secure/protected storage on the device.
- the DVR may save multiple CP keys or a base key and the associated information for deriving multiple keys.
- content being provided by a Content Provider Network (no M-Card) or the storage of content to be played at a later time will now be further discussed with reference to FIG. 10 .
- FIG. 10 is a timing diagram, illustrating the relative time of process of M-Card 110 , host media processor 702 , and transcoder 704 of STB configuration 700 of FIG. 8 , with respects to playback of stored media, in accordance with aspects of non-limiting example embodiments.
- FIG. 10 The initial operation of FIG. 10 is similar to that of FIG. 9 , with respects to mutual authentication between Content Provider Network or M-Card 110 and host media processor 702 , CP key generation, host media processor 702 sending encrypted content to Content Provider Network or M-Card 110 , the Content Provider Network or M-Card 110 decrypting the content and then sending the content and CP key to host media processor 702 .
- the content being sent to host media processor 702 is represented by dashed line 1002 and the CP key being sent to host media processor 702 is represented by line 1004 .
- host media processor 702 creates a new CP key and uses the newly generated key to encrypt the content. After the content is encrypted, host media processor 702 sends the newly encrypted content as well as the CP key (in an encrypted form) to a local persistent storage (e.g. hard disk), as represented by square 1006 . At a later time, a user will request content playback, which is represented by square 1008 .
- a local persistent storage e.g. hard disk
- host media processor 702 retrieves the CP key from persistent storage and decrypts it as shown by square 1010 . Once the CP key is decrypted, it is forwarded to transcoder 704 as represented by dashed line 1012 . Host media processor 702 also retrieves the encrypted content that requested for playback and forwards it to transcoder 704 , as represented by solid line 1014 .
- transcoder 704 decrypts the content as represented by circle 908 , which corresponds to CP decrypt portion 804 of FIG. 8 . Transcoder 704 then converts the decrypted content into another format, as represented by X 910 .
- Transcoder 704 should send the transcoded content to host media processor 702 . However, the transcoded content must be protected. As such, before the transcoded content is sent to host media processor 702 , transcoder 704 encrypts the transcoded content as represented by dot 912 , which corresponds to CP encrypt portion 806 of FIG. 8 . Then the encrypted transcoded content is then sent to host media processor 702 as represented by arrow 914 , which corresponds to CP encrypted content signal 814 of FIG. 8 .
- Host media processor 702 then decrypts the transcoded content as represented by circle 916 , which corresponds to CP decrypt portion 808 of FIG. 8 . Host media processor 702 then plays the transcoded content, as represented by + sign 918 .
- host media processor 702 may not play the transcoded content. Instead, host media processor 702 may simply forward the encrypted content to another device via an external interface.
- an external interface may be a DLNA interface protected with DTCP-IP, an IEEE-1394 interface protected with DTCP, or an Xbox interface protected using PlayReady-ND DRM.
- FIG. 11 represents a functional diagram of a STB configuration that receives content from a provider other than an M-Card.
- FIG. 11 includes some common elements of FIG. 8 , namely private certificate chain A 224 , private certificate chain A 226 . Additionally, it includes host media processor 1102 and transcoder 1104 . Host media processor 1102 further includes, an encrypted content and key forward (FWD) portion 1108 , a decrypt portion 1116 and security/authentication portion 222 . Transcoder 1104 further includes a decrypt portion 1110 , transcoding portion 1112 , encrypt portion 1114 and a security/authentication portion 220 . For purposes of brevity, elements (and their respective functions) that are common between FIG. 2 and FIG. 8 may not be described again.
- FWD encrypted content and key forward
- FWD portion 1108 , security/authentication portion 222 , and decrypt portion 1116 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments at least one of FWD portion 1108 , security/authentication portion 222 , and decrypt portion 1116 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Decrypt portion 1110 , transcoding portion 1112 , encrypt portion 1114 , and security/authentication portion 220 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments at least one of decrypt portion 1110 , transcoding portion 1112 , encrypt portion 1114 , and security/authentication portion 220 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- FWD portion 1108 of host media processor 1102 receives encrypted content and a DRM protected content decryption key from a content provider.
- a content provider may be the internet, or a content provider within the network.
- Private security/authentication portion 220 receives a private certificate chain A 224 via signal 260 .
- private security/authentication portion 222 receives a private certificate from private certificate chain A 226 via signal 262 .
- Private security/authentication portion 220 and private security/authentication portion 222 communicate with each other via CPU interface signals 264 and 266 in order to establish mutual authentication and content decryption key exchange.
- transcoder 1104 decrypts encrypted data 1122 using the forwarded content decryption key and decrypt portion 1010 to generate decrypted content 1111 .
- Transcoding portion 1112 transcodes decrypted content 1111 from a first format into a second format as transcoded content 1113 .
- Encrypt portion 1114 then uses a second key to encrypt transcoded content 1113 into encrypted content 1124 .
- the second key used to encrypt transcoded content 1113 may be obtained or derived in a variety of methods as discussed above with reference to FIG. 8 .
- encrypt portion 1114 then sends encrypted content 1124 back to host media processor 1102 .
- Decrypt portion 1116 receives and decrypts encrypted content 1124 .
- private security/authentication portions can be implemented using any well-known security method, which provide authentication and secure channel communication.
- the chain can also be validated and revoked via private and remote means, which can also be used to enable and disable the Private CP process between transcoder 704 and host media processor 702 .
- FIG. 9 shows only three decryption processes and two encryption processes. However, in the conventional system discussed above with reference to FIG. 3 there are four decryption processes and three encryption processes.
- STB 700 in accordance with aspects of non-limiting example embodiments, reduces the number of encryptions and decryptions needed by one. This saves on the consumption of valuable computing resources that are needed to properly encrypt, transcode, and decrypt data.
- STB configuration 700 is able to decrease the number of encryptions and decryptions needed by one without moving the M-Card interface to the transcoder.
- the transcoder was previously required to implement a full DRM client with all of the associated DRM interfaces including key management and IP rights processing.
- STB configuration 1100 is able to decrease the number of encryptions and decryptions needed by one without moving a full DRM client to the transcoder.
- STB configuration 700 Another benefit of STB configuration 700 is that the transcoder is not required to implement the M-Card interface. In previous methods the transcoder was required to implement the M-Card interface, which includes has both hardware and software components.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
Description
- The present invention relates to transcoding media content over an interface, and in particular to transcoding media content into secure transcoded media content to be provided to a media processor.
- In digital cable systems, it is desirable to prevent the unauthorized access of certain content as it crosses from a conditional access device, a non-limiting example of which includes a Cable Card, to a Host (set-top terminal) on the Card-Host interface. Cablelab's “CableCard Copy Protection 2.0 Specification” (OP-SP-CCCP2.0) defines procedures and methods for a compliant Multi-stream Cable Card (M-card) and a host media processor (Host) to securely communicate and negotiate encryption keys needed for providing copy protection of high value content across the M-card-Host Cable Card InterFace (CCIF). These procedures authenticate the M-card and Host pair and bind them together using a Diffie-Hellman key exchange. This exchange is based in part upon Cablelab's Certificate Authority based x.509 certificates that are stored in the M-card and the Host. In addition to securing the content connection between M-card and the Host for High Value media content, it also provides for conditional access (CA) system validation and revocation in the event of a device/product compromise.
- A CA system provides a private way to communicate command/control information to the M-card including validation of the M-card and Host combination. An M-card and the Host complete the binding process after mutual authentication and the validation by the CA system. In the event the integrity of a Host becomes compromised, the CA system also provides a way to communicate a Certificate Revocation List (CRL) to the M-card, which can in turn disable the high value media content exchange to a compromised Host. A properly bound M-card and Host will jointly compute Copy Protection (CP) keys as necessary and according to OP-SP-CCCP2.0 specification in order to secure high value media content as it flows from the M-card to the Host.
-
FIG. 1 illustrates a block diagram for a prior art set top box (STB) 100. - As illustrated in the figure, STB 100 includes a
connector 102, adiplex filter 104, an out-of-band (OOB)modulator 106, anOOB demodulator 108, an M-Card 110, an in-band (IB)tuner 112, anIB tuner 114, ahost media processor 116, aflash memory 118, asystem DRAM 120, a hard disk drive (HDD) 122, atranscoder 123, atranscoder DRAM 124, andperipheral devices 125. - In this example, each of
diplex filter 104,OOB modulator 106,OOB demodulator 108, M-Card 110, IBtuner 112,IB tuner 114,host media processor 116,flash memory 118,system DRAM 120, HDD 122,transcoder 123, andtranscoder DRAM 124 are distinct devices. However, in other embodiments, at least two ofdiplex filter 104,OOB modulator 106,OOB demodulator 108, M-Card 110, IBtuner 112,IB tuner 114,host media processor 116,flash memory 118,system DRAM 120, HDD 122,transcoder 123, andtranscoder DRAM 124 may be combined as a unitary device. Further, in some embodiments, at least one ofdiplex filter 104,OOB modulator 106, OOBdemodulator 108, M-Card 110, IBtuner 112, IBtuner 114,host media processor 116,flash memory 118,system DRAM 120, HDD 122,transcoder 123, andtranscoder DRAM 124 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such non-transient, tangible computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. Non-limiting examples of non-transient, tangible computer-readable media include physical storage and/or memory media such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (hardwired and/or wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a non-transient, tangible computer-readable media computer-medium. Thus, any such connection is properly termed a non-transient, tangible computer-readable medium. Combinations of the above should also be included within the scope of non-transient, tangible computer-readable media. -
Diplex filter 104 is operable to receive abroadband signal 126 fromconnector 102 and an OOB modulatedsignal 128 fromOOB modulator 106.Broadband signal 126 may be an input signal from a cable company or a satellite, available viaconnector 102.Diplex filter 104 performs frequency domain multiplexing betweenbroadband signal 126, which may be a multiplex of IB downstream bound high frequency signals and OOB modulatedsignal 128, which may be an upstream bound low frequency signal. Downstream information provided bybroadband signal 126 may include video, audio, multimedia and/or data. -
OOB modulator 106 is operable to receive anOOB signal 132 from M-Card 110 and to provide OOB modulatedsignal 128 todiplex filter 104.OOB modulator 106 is also known as Return Path Transmitter (RPT), which is used to transmit the low frequency upstream information destined for the head-end server. Upstream information provided by OOB modulatedsignal 128 may include video, audio, multimedia, and/or data. -
OOB demodulator 108 is operable to receive a diplexfilter output signal 130 and to provide an OOB demodulatedsignal 134 to M-card 110. Traditionally, OOBdemodulator 108 receives CA control information about the media content on a narrowband carrier, which it passes on to M-card 110. - M-Card 110 is operable to receive OOB demodulated
signal 134,data input signal 138, andCPU interface signal 136. M-Card 110 is also operable to provideOOB signal 132,data output signal 140. - M-Card 110 receives and standardizes media access control messages from the head-end server via OOB demodulated
signal 134 and forwards pertinent processed messages to hostmedia processor 116 viainterface signal 136. M-Card 110 performs any conditional access and decryption functions based on the media access control messages, which may contain information about configurations, authorizations, entitlements, etc. of the media content received by IBtuner 112 and IBtuner 114. - M-Card 110 receives CA encrypted media content via
data input 138 fromhost media processor 116, and if authorized, decrypts the media content and passes it back to hostmedia processor 116 viadata output signal 140. If the copy protection rules are such thatdata output signal 140 needs to be protected then M-Card 110 may encryptdata output signal 140 for protection, otherwisedata output signal 140 may not be encrypted. -
CPU interface signal 136 is used for exchanging control information between M-Card 110 andhost media processor 116. - IB
tuner 112 and IBtuner 114 receive encrypted content fromdiplex filter 104. IBtuner 112 performs in-band tuning of diplexfilter output signal 130 and provides abaseband signal 142 to hostmedia processor 116. Similarly, IBtuner 114 performs in-band tuning of diplexfilter output signal 130 and provides anotherbaseband signal 144 to hostmedia processor 116. There are only two tuners shown inFIG. 1 , however, there may be any number of tuners connected to hostmedia processor 116. -
Host media processor 116 interfaces with M-Card 110 for a two-way communication usingCPU interface signal 136. It receives encrypted media content from IBtuner 112 and IBtuner 114 and provides the encrypted media content viadata input signal 138 to M-Card 110. Media content received from M-Card 110 viadata output signal 140 may or may not be re-encrypted. -
Host media processor 116 is operable to senddata stream 158 totranscoder 123 and receivedata stream 160 fromtranscoder 123. Ifhost media processor 116 receives encrypted data from M-Card 110 it sends the encrypted data totranscoder 123.Transcoder 123 decrypts the contents, transcodes it, re-encrypts it, and sends it back to hostmedia processor 116 viadata stream 160.Host media processor 116 communicates withtranscoder 123 viacontrol interface signal 154. - Depending on the IP rights,
host media processor 116 may store the media content on HDD 122 or provide it toperipheral devices 125 viaperipheral interface 152. Note that there is a plurality of peripheral devices with their corresponding interfaces, however, they are grouped as aperipheral device 125 with aperipheral interface 152 for convenience.Host media processor 116 interfaces withflash memory 118 via an externalbus interface signal 146.Host media processor 116 also interfaces withsystem DRAM 120 via aDRAM interface signal 148. -
FIG. 2 illustrates a functional diagram forprior art STB 100. -
FIG. 2 includes M-Card 110,host media processor 116,transcoder 123, ahost certificate 204, acard certificate 208, and a cable head-end command andcontrol portion 242. M-Card 110 further includes aCP processing portion 206, aCA decrypt portion 210, and a CP encryptportion 212.Host media processor 116 further includes aCP processing portion 202, aCP decrypt portion 214, a privateCP encrypt portion 216, an authentication and CPkey exchange portion 222, aprivate certificate chain 226, and a privateCP decrypt portion 232.Transcoder 123 further includes a privateCP decrypt portion 218, an authentication and CPkey exchange portion 220, aprivate certificate chain 224, atranscode portion 228 and a privateCP encrypt portion 230. -
CP processing portion 202,CP decrypt portion 214, privateCP encrypt portion 216, and privateCP decrypt portion 232 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some embodiments at least one ofCP processing portion 202 andCP decrypt portion 214 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. -
CP processing portion 206,CA decrypt portion 210, andCP encrypt portion 212 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some embodiments at least one ofCP processing portion 206,CA decrypt portion 210 and CPencrypt portion 212 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. - Private
CP decrypt portion 218 and privateCP encrypt portion 230 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some embodiments at least one of private CP decrypt 218 and private CPencrypt portion 230 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. -
Host certificate 204 andcard certificate 208 represent the identity ofhost media processor 116 and M-Card 110, respectively. Initially,host certificate 204 is loaded intohost media processor 116 andcard certificate 208 is loaded into M-Card 110. Certificates may be loaded into these devices via a number of known ways. - Cable head-end command and
control signal 242 is similar to 00B demodulatedsignal 134 and includes CA entitlement and a pairing function to validate the compatibility of M-Card 110 andhost media processor 116. M-Card 110 andhost media processor 116 mutually authenticate each other using mutual authentication and DiffieHellman exchange information 234. - In operation, the Diffie Hellman method allows two entities to jointly establish a shared secret key over a communication link, without having any prior knowledge of each other. M-
Card 110 andhost media processor 116 jointly generate aCP key 236, which is used by CPencrypt portion 212 via aninformation signal 240 and passes it over to a CPencrypted content 248. DiffieHellman exchange information 234 and CPkey generation 236 together representCPU interface signal 136. -
CA decrypt portion 210 receives CAencrypted content 244 and it's associated IP rights fromhost media processor 116, which has been encrypted by any known encryption method.CA decrypt portion 210 provides an information signal with CA decrypteddata 246 to CP encryptportion 212 in order to instruct CPencrypt portion 212 whether or not CA decrypteddata 246 needs to be re-encrypted based on associated IP rights. If CPencrypted content 248 has been encrypted, then it needs to be decrypted byCP decrypt portion 214, controlled by aninformation signal 238 provided byCP processing portion 202. -
Host media processor 116 further encrypts the CP encrypted content using private CPencrypt portion 216. PrivateCP encrypt portion 216 receives CP encrypted content viasignal 250 and provides private CP encrypted content to transcoder 123 via private CPencrypted content signal 252. - Transcoding of secure content will now be described.
- Video format transcoding is a conversion of video content from one format into another format between different types of video devices. Video format transcoding is a valuable feature within set-top box (STB) architectures. Transcoding allows for contents to be broadcast in formats that are already in use, such as MPEG-2 (Moving Picture Experts Group-2), but then converted into an advanced format, such as MPEG-4 that allows for the content to consume less capacity on hard disk drives, in the case of Digital Video Recorder (DVR) applications, and consume less bandwidth on home networks, in the case of multi-room DVR, or other streaming applications. Other uses of transcoding include reformatting High Definition (HD) and Standard Definition contents into formats suitable to be viewed on mobile handsets with smaller screen sizes.
- The OpenCable 2.0 Host specifications have a mandatory requirement for MPEG-2 video decode, but not MPEG-4/H.264. In order to support new and more efficient digital video encoding schemes, for example, MPEG-4, has raised a need for a transcoder in order to switch between different video formats.
-
Transcoder 123 decrypts the private CP encrypted content using privateCP decrypt portion 218 to generate decryptedcontent 254.Transcoding portion 228 transcodes decryptedcontent 254 from a first format into a second format as transcodedcontent 256. PrivateCP encrypt portion 230 then encrypts the transcodedcontent 256 as private CPencrypted content 258. PrivateCP encrypt portion 230 then sends private CPencrypted content 258 back tohost media processor 116. PrivateCP decrypt portion 232 receives private CP encryptcontent 258 and then decrypts it. - In an embodiment, private security/
authentication portion 220 receives a privatecertificate chain A 224 viasignal 260. In an embodiment, private security/authentication portion 222 may additionally receive a private certificate from privatecertificate chain A 226 viasignal 262. Private security/authentication portion 220 and private security/authentication portion 222 communicate with each other via CPU interface signals 264 and 266 in order to establish mutual authentication and secure CP exchange. - Another example of authenticating between a host media processor and a transcoder involves the secure ‘preloading’ of secret keys into the transcoder and the host media processor at the time of manufacture. With this type of authentication arrangement, the transcoder and the host media processor would thus be paired and may then securely communicate without the need to exchange certifications/keys. Accordingly, with this type of authentication arrangement, there would be no need for a secure CP exchange between
transcoder 123 andhost media processor 116, for example by way ofCPU interface signal 266. -
FIG. 3 is a timing diagram, illustrating the relative time of processes of M-Card 110,host media processor 116, andtranscoder 123 ofSTB 100. - In, operation, as illustrated in
FIG. 3 , M-Card 110 andhost media processor 116 are mutually authenticated as represented bybi-directional arrow 302, which corresponds to mutual authentication and DiffieHellman exchange information 234 ofFIG. 2 . Then M-Card 110 andhost media processor 116 generate a CP key as represented bybi-directional arrow 304, which corresponds to CPkey generation 236 ofFIG. 2 . Then hostmedia processor 116 sends encrypted content to M-Card 110 as represented byarrow 306, which corresponds to the sending ofencrypted content 248 ofFIG. 2 . - At this point, M-
Card 110 decrypts the content as represented bycircle 308. Then M-Card 110 encrypts the content as represented bydot 310, which corresponds to CA decryptportion 210 deciding whether CA decrypteddata 246 needs to be re-encrypted, as discussed above with reference toFIG. 2 . In this case, presume that the data is re-encrypted by CPencrypt portion 212. - Now, M-
Card 110 sends the encrypted content to hostmedia processor 116 as represented byarrow 312 which corresponds to CPencrypted content 248 ofFIG. 2 . At this point,host media processor 116 decrypts the content as represented bycircle 314, which corresponds to CA decryptportion 210 receiving CAencrypted content 244 from M-Card 110 ofFIG. 2 . If the encoded content needs to be converted into another format, then it should be sent totranscoder 123. However, the content must be protected. As such, before the content is sent totranscoder 123,host media processor 116 encrypts the content as represented bydot 316, which corresponds to CP encryptportion 216 ofFIG. 2 . Then the encrypted content is then sent to transcoder 123 as represented byarrow 318, which corresponds to private CPencrypted content signal 252 ofFIG. 2 . -
Transcoder 123 decrypts the content as represented bycircle 320, which corresponds to privateCP decrypt portion 218 ofFIG. 2 .Transcoder 123 then converts the decrypted content into another format, as represented X322. At thispoint transcoder 123 should return the transcoded content to hostmedia processor 116. However, the transcoded content must be protected. As such, before the transcoded content is sent to hostmedia processor 116,transcoder 123 encrypts the transcoded content as represented bydot 324, which corresponds to private CPencrypt portion 230 ofFIG. 2 . Then the encrypted transcoded content is sent to hostmedia processor 116 as represented byarrow 326, which corresponds to private CPencrypted content signal 258 ofFIG. 2 . -
Host media processor 116 then decrypts the transcoded content as represented bycircle 328, which corresponds to privateCP decrypt portion 232 ofFIG. 2 .Host media processor 116 then plays the transcoded content, as represented by +signal 320. - A problem with a conventional system as discussed above with reference to
FIGS. 1-3 is use of valuable encryption processing power that is unnecessary. As illustrated inFIG. 2 , CPencrypted content 248 is sent to hostmedia processor 116.Host media processor 116 receives this data and decrypts it, then re-encrypts it, then sends it to the transcoder where the data is decrypted and transcoded. The steps of decryption viaCP decrypt block 214 and re-encryption via private CP encrypt block 216 are unnecessary. Another conventional system avoids unnecessary encryption/decryption. This will be discussed below with reference toFIGS. 4-6 . -
FIG. 4 illustrates an exampleconventional STB configuration 400 with an inline transcoder. - As illustrated in
FIG. 4 ,STB configuration 400 includes all the elements ofFIG. 1 , excepthost media processor 116 has been replaced byhost media processor 402 andtranscoder 123 has been replaced bytranscoder 404.STB configuration 400 additionally includes a tuner 406. For purposes of brevity, elements (and their respective functions) that are common betweenSTB 100 andSTB 400 may not be described again. - Operation of M-card with respect to
OOB modulator 106 andOOB demodulator 108 is similar to as described with reference toFIG. 1 .Diplex filter 104 now providesoutput signal 130 toIB tuner 112,IB tuner 114, and IB tuner 406. Operation of IB tuner 406 is similar toIB tuner 112 andIB tuner 114 and has been added here to represent that by placingtranscoder 404 on M-card 110 return path freed up a transport resource to allow another tuner to hostmedia processor 402 in this configuration. - In operation, placing the transcoder in between M-
card 110 andhost media processor 402 solves the issue of encrypting the contents going into the transcoder and decrypting the contents out of the transcoder. M-card 110 is already responsible for encrypting all High Value content that it processes. In the configuration, M-card 110 will continue to encrypt High Value content similar to configurations discussed with reference toFIG. 1 andFIG. 2 . -
Transcoder 404 will decrypt the content received onsignal 140 from M-card 110 prior to transcoding. After the transcoding operation is complete,transcoder 404 will re-encrypt the content using the same encryption keys that it used for decryption, thereby re-protecting the content on the way to hostmedia processor 402 viasignal 408.Host media processor 402 will decrypt the content as if it had come directly from M-card 110, using the same decryption resources that it would use in the configuration ofFIG. 1 . -
Control interface 154 is still required inconfiguration 400 betweentranscoder 404 andhost media processor 402. Some non-limiting examples of this interface include USB, PCIe, serial port or any other suitable interface.Host media processor 402 usescontrol interface 154 to download any code modules required bytranscoder 404 to operate, to establish operating parameters fortranscoder 404, and to provide the keys to transcoder 404 to enable the encryption and decryption of the protected content. This is further explained usingFIG. 5 . -
FIG. 5 illustrates a functional diagram forSTB configuration 400. -
FIG. 5 includes a few elements ofFIG. 2 , namely, M-Card 110,host certificate 202,card certificate 208, and cable head-end command andcontrol portion 242. Additionally, it includeshost media processor 402,transcoder 404, privatecertificate chain A 224, and privatecertificate chain A 226.Transcoder 404 further includes aCP decrypt portion 502, a private security/authentication portion 504, atranscoding portion 505, and a CPencrypt portion 506.Host media processor 402 further includes aCP processing portion 508, aCP decrypt portion 510 and a private security/authentication portion 512. For purposes of brevity, elements (and their respective functions) that are common betweenFIG. 2 andFIG. 5 may not be described again. - In this example, each of
CP decrypt portion 502, private security/authentication portion 504, transcodingportion 505 and CP encryptportion 506 are distinct devices. However, in other embodiments, at least two ofCP decrypt portion 502, private security/authentication portion 504, transcodingportion 505 and CP encryptportion 506 may be combined as a unitary device. Further, in some embodiments at least one ofCP decrypt portion 502, private security/authentication portion 504 and CP encryptportion 506 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. - In this example, each of
CP processing portion 508,CP decrypt portion 510 and private security/authentication portion 512 are distinct devices. However, in other embodiments, at least two ofCP processing portion 508,CP decrypt portion 510 and private security/authentication portion 512 may be combined as a unitary device. Further, in some embodiments at least one ofCP processing portion 508,CP decrypt portion 510 and private security/authentication portion 512 may be implemented as non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. - In operation, as illustrated in the figure,
transcoder 404 is placed in between M-Card 110 andhost media processor 402. Function oftranscoder 404 is to convert the media content from one digital video format for example, MPEG2 to another digital video format like MPEG4. In this configuration, binding process still takes place according to OP-SP-CCCP2.0 Specification. - M-
Card 110 is operable to function as explained earlier with reference toFIG. 1 andFIG. 2 .Host media processor 402 communicates with M-Card 110 for mutual authentication and CP key generation as discussed earlier with reference toFIG. 1 andFIG. 4 . - Since
transcoder 404 sits in between M-Card 110 andhost media processor 402, it needs to perform secondary encryption by first CP decrypting the CP encrypted content received from M-Card 110, transcoding it and then CP encrypting it again before providing it to hostmedia processor 402.Transcoder 404 must therefore contain the security function necessary to decrypt and re-encrypt the content. - In order for the system to function properly,
host media processor 402 andtranscoder 404 perform a mutual authentication function and a secured function for passing the CP key. Private security/authentication portion 504 and private security/authentication portion 512 perform the mutual authentication viainterface signal 264 and a secure CP key exchange viainterface signal 266. - Note that private security/authentication portions can be implemented using any of the well-known security method, which provide authentication and secure channel communication. A non-limiting example of such a security system is a public/private key system chained to separate certificates like private
certificate chain A 224 and privatecertificate chain A 226. -
Transcoder 404 decrypts the private CP encrypted content usingCP decrypt portion 502 to generate decryptedcontent 503.Transcoding portion 505 transcodes decryptedcontent 503 from a first format into a second format as transcodedcontent 507. CPencrypt portion 506 then encrypts transcodedcontent 507 as CP encrypted-transcodedcontent 514. CPencrypt portion 506 then sends CP encrypted-transcodedcontent 514 back tohost media processor 402.CP decrypt portion 510 receives encrypted-transcodedcontent 514 and decrypts it. Sincetranscoder 404 is placed in between M-Card 110 andhost media processor 402, the extra steps of private CP encrypting and decrypting the content as shown by private CPencrypt portion 216 and privateCP decrypt portion 218 are not required in the configuration. - Since
host media processor 402 cannot receive high value content until it has completed binding with M-Card 110 using OP-SP-CCCP2.0 specifications, the secondary encryption betweentranscoder 404 andhost media processor 402 is dependent on OP-SP-CCCP2.0 process. Without binding, or in the event that a particular host certificate has been revoked, no High Value content will be transmitted, andhost media processor 402 has no CP key to share withtranscoder 404. In the event when private certificates are used betweentranscoder 404 andhost media processor 402, the chain can also be validated and revoked via private and remote means, which can also be used to enable and disable the Private CP process betweentranscoder 404 andhost media processor 402. - As discussed above with reference to
FIG. 4 andFIG. 5 ,transcoder 404 is placed in between M-Card 110 andhost media processor 402. The binding process between M-Card 110 andhost media processor 402 still takes place using OP-SP-CCCP2.0 specifications. Sincetranscoder 404 is placed in between M-Card 110 andhost media processor 402, it first CP decrypts the media content, transcodes it and then CP re-crypts it before passing it to hostmedia processor 402.Transcoder 404 is required to contain necessary security functions in order to be able to decrypt and encrypt the content. -
FIG. 6 is a timing diagram, illustrating the relative time of process of M-Card 110,host media processor 402, andtranscoder 504 ofSTB configuration 400 ofFIG. 5 . - In operation, as illustrated in
FIG. 6 , M-Card 110 andhost media processor 402 are mutually authenticated as represented bybi-directional arrow 302, which corresponds to mutual authentication and DiffieHellman exchange information 234 ofFIG. 5 . Then M-Card 110 andhost media processor 402 generate a CP key as represented bybi-directional arrow 304, which corresponds to CPkey generation 236 ofFIG. 5 . Then hostmedia processor 402 sends encrypted content to M-Card 110 as represented byarrow 306, which corresponds to the send ofencrypted content 244 ofFIG. 5 . - At this point, M-
Card 110 decrypts the content as represented bycircle 308, which corresponds to CA decryptportion 210 receiving CAencrypted content 244 fromhost media processor 116, which has been encrypted by any known method as discussed above with reference toFIG. 5 . Then M-Card 110 encrypts the content as represented bydot 310, which corresponds to CA decryptportion 210 deciding whether CA decrypteddata 246 needs to be re-encrypted, as discussed above with reference toFIG. 5 . In this case, presume that the data is re-encrypted by CPencrypt portion 212. - Now, M-
Card 110 sends the encrypted content to transcoder 404 as represented byarrow 602, which corresponds to CPencrypted content 248 ofFIG. 5 . At this point,transcoder 404 decrypts the content as represented bycircle 604, which corresponds toCP decrypt portion 502 ofFIG. 5 . -
Transcoder 404 then converts the decrypted content into another format, as represented by X606. At thispoint transcoder 404 should send the transcoded content to hostmedia processor 402. However, the transcoded content must be protected. As such, before the transcoded content is sent to hostmedia processor 402,transcoder 404 encrypts the transcoded content as represented bydot 610, which corresponds to CP encryptportion 506 ofFIG. 5 . Then the encrypted transcoded content is then sent to hostmedia processor 402 as represented byarrow 612, which corresponds to signal 514 ofFIG. 5 . -
Host media processor 402 then decrypts the transcoded content as represented bycircle 614, which corresponds toCP decrypt portion 510 ofFIG. 5 .Host media processor 402 then plays the transcoded content, as represented by + sign 616. - As discussed with reference to
FIGS. 1-6 represent a separable security system including a CableCard and a Host. The CableCard and the Host exchange information back and forth and ultimately the content is passed to the CA device, which decrypts it and removes any conditional access encryption. It reapplies a copy protection encryption method to protect the content before providing it back to the Host. Host can CP decrypt the content, decode it, store it or send it out as needed. - A problem with a conventional system as discussed above with reference to
FIGS. 4-6 deals with the difficulty in implementing the M-Card/Transcoder interface correctly. In particular, it requires that the transcoder implement the M-Card interface, which includes both hardware and software components. Further, the transcoder then has to be integrated/tested/qualified etc. Accordingly, not all conventional transcoders have an M-card interface. For those that have an M-card interface, they must also implement the software interfaces to make it useable. As such, implementing conventional transcoders in this manner requires rigorous scheduling, work, etc., and it limits the pool of transcoders that might be selected, e.g., they must have an M-card interface. - What is needed is a system and method for transcoding the media content efficiently while also being able to implement the Cable Card interface with the rest of the system hardware, while still being able to transcode data efficiently.
- The accompanying drawings, which are incorporated in and form a part of the specification, illustrate non-limiting example embodiments and, together with the description, serve to explain the principles of the non-limiting example embodiments. In the drawings:
-
FIG. 1 illustrates a block diagram for a prior art STB configuration; -
FIG. 2 illustrates a functional diagram for the prior art STB ofFIG. 1 ; -
FIG. 3 illustrates a timing diagram for the prior art STB ofFIG. 1 ; -
FIG. 4 illustrates a block diagram for a prior art STB configuration; -
FIG. 5 illustrates a functional diagram for the prior art STB ofFIG. 3 ; -
FIG. 6 illustrates a timing diagram for the prior art STB ofFIG. 3 ; -
FIG. 7 illustrates a STB configuration, in accordance with aspects of the non-limiting example embodiments; -
FIG. 8 illustrates a functional diagram for the STB configuration ofFIG. 7 , in accordance with aspects of non-limiting example embodiments; -
FIG. 9 illustrates a timing diagram for the STB ofFIG. 7 , in accordance with aspects of non-limiting example embodiments; -
FIG. 10 illustrates another timing diagram for the STB ofFIG. 7 , in accordance with aspects of non-limiting example embodiments: and -
FIG. 11 illustrates a functional diagram for a STB configuration that does not include a conditional access device, in accordance with aspects of non-limiting example embodiments. - Aspects of non-limiting example embodiments provide a system and method for securely transferring media content from a conditional access device to a transcoder, transcoding the media content from one format to another format with the transcoder, and then securely transferring the transcoded media content to a host media processor. The media content is “securely transferred” when it is inaccessible to all but the intended receiver. Accordingly, when the media content is securely transferred from the conditional access device to the transcoder, the data will be inaccessible to anyone but the transcoder. Similarly, when the transcoded media content is securely transferred from the transcoder to the host media processor, the data will be inaccessible to anyone but the host media processor.
- Non-limiting example embodiments described herein provide a system and method for transcoding the media content over an existing interface between the M-Card and the host media processor. By arranging M-Card, host media processor, and the transcoder such that encrypted data must pass from the M-Card, through the host media processor and then to the transcoder, the additional steps of private CP decrypting and private CP encrypting or CP decrypting and CP encrypting, utilized in the prior art methods illustrated in
FIG. 2 andFIG. 5 are not needed. - In accordance with non-limiting example embodiments, a system is provided for use with secure content in a first format. The system includes a conditional access device, a transcoding device and a media processor. The conditional access device is operable to receive the secure content and can generate a second secure content based on the secure content. The conditional access device can further provide the second secure content to the transcoding device. The transcoding device can transcode the second secure content into transcoded content of a second format, can secure the transcoded content as secure transcoded content and can provide the secure transcoded content to the media processor.
- In accordance with other non-limiting example embodiments, another system is provided for use with secure content in a first format. The system includes a transcoding device and a media processor. The media processor is operable to receive the secure content and a key for decrypting the content. The media processor can further provide the secure content and the key to the transcoding device. The transcoding device can transcode the second secure content into transcoded content of a second format, can secure the transcoded content as secure transcoded content and can provide the secure transcoded content back to the media processor.
- Additional advantages and novel features of non-limiting example embodiments are set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of non-limiting example embodiments. The advantages of non-limiting example embodiments may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
- In contrast with the conventional system discussed above with reference to
FIGS. 1-3 , in accordance with non-limiting example embodiments,CP decrypt portion 214 and private CPencrypt portion 216 have been eliminated. In the place ofCP decrypt portion 214 and private CPencrypt portion 216 there is a data forwarding portion. This data forward portion simply forwards CPencrypted data 248 and CP key 238 to the transcoder. - The transcoder receives the encrypted data as well as the CP key and performs the decryption process itself, transcodes the data, re-encrypts it, and sends the newly encrypted and transcoded data back to the host media processor. This process improves on
prior art STB 100 by eliminating one decryption process and one encryption process, which saves valuable processor power. - In contrast with the conventional system discussed above with reference to
FIGS. 4-6 , in accordance with non-limiting example embodiments, the transcoder is no longer disposed between the Cable Card and the host media processor. The advantage with a system in accordance with non-limiting example embodiments is that the existing Host Media Process interface to the M-Card (hardware and software) is continuously leveraged. Further, a system in accordance with non-limiting example embodiments does not require the M-card hardware and software on the transcoder. This saves time and development, and increases transcoder choices. What may be added is a relatively light protocol (when compared with an M-card interface) to pass the key securely from host media processor to the transcoder, and forward the encrypted content on a standard interface that the transcoder must support by default. - In accordance with aspects of non-limiting example embodiments, the M-Card sends data to the host media processor, which forwards the data to the transcoder, and the transcoded content is sent back to the host media processor. In this arrangement, decryption and re-encryption steps are removed from the host processor. Content decryption keys obtained from the conditional access device are passed through by the host processor to the transcoder. Content re-encryption keys may be the same decryption keys or may be separately generated by the host processor and are also forwarded to the transcoder. The transcoder then performs content decryption followed by transcoding and then re-encryption.
- In a non-limiting example embodiment described herein, the conditional access device is an M-Card.
- In a non-limiting example embodiment, a transcoder securely receives media content from a conditional access device by way of an encryption system, wherein the conditional access device encrypts the media content, and the transcoder decrypts the media content. In other non-limiting example embodiments, any secure communication system, method or protocol may be used. For purposes of explanation, an example embodiment described herein includes an encryption system for securely transferring media content from the conditional access device to the transcoder.
- In a non-limiting example embodiment, a host media processor securely receives transcoded media content from a transcoder by way of an encryption system, wherein the transcoder encrypts the media content, and the host media processor decrypts the transcoded media content. In other non-limiting example embodiments, any secure communication system, method or protocol may be used. For purposes of explanation, an example embodiment described herein includes an encryption system for securely transferring transcoded media content from the transcoder to the host media processor.
- By arranging M-Card, the host media processor and the transcoder such that the same encrypted data with the original encryption must pass from the M-Card, through the host media processor and then to the transcoder, minimizes the additional steps of private encrypting/decrypting and CP encrypting/decrypting and therefore requires much lower use of the encryption and decryption processing resources. This will be further explained below using
FIGS. 7-9 . - An example STB with a transcoder in accordance with aspects of non-limiting example embodiments, will now be discussed further using
FIGS. 7-9 . -
FIG. 7 illustrates anSTB configuration 700 with a transcoder, in accordance with aspects of non-limiting example embodiments. - As illustrated in the figure,
STB 700 includes all of the elements ofFIG. 1 , excepthost media processor 116 has been replaced withhost media processor 702 andtranscoder 123 has been replaced bytranscoder 704. For purposes of brevity, elements (and their respective functions) that are common betweenSTB 100 andSTB 700 may not be described again. - Similar to host
media processor 116 discussed above with reference toFIG. 1 ,host media processor 702 receives media content from M-Card 110, which may or may not be encrypted depending on the IP rights. For purposes of discussion assume, in this example embodiment, that the content is encrypted. -
Host media processor 702 forwards the encrypted content it receives without decrypting and re-encrypting the data. The encrypted content and key are sent to transcoder 704 where the content is decrypted, transcoded, re-encrypted, and sent to hostmedia processor 702.Host media processor 702 can store this newly encrypted content onHDD 122 or send it out toperipheral device 125. This is further explained usingFIG. 8 . -
FIG. 8 is a functional diagram ofSTB configuration 700, in accordance with aspects of the non-limiting example embodiments. -
FIG. 8 includes some common elements ofFIG. 2 , namely M-Card 110,host certificate 204,card certificate 208, and cable head-end command 242, privatecertificate chain A 224, and privatecertificate chain A 226. Additionally, it includeshost media processor 702 andtranscoder 704.Host media processor 702 further includesCP processing portion 202, a CP encrypted content and CP key forward (FWD)portion 802, aCP decrypt portion 808 and security/authentication portion 222.Transcoder 704 further includes aCP decrypt portion 804, security/authentication portion 220 and a CPencrypt portion 806. For purposes of brevity, elements (and their respective functions) that are common betweenFIG. 2 andFIG. 8 may not be described again. -
CP processing portion 202,FWD portion 802, security/authentication portion 222, and CP decryptportion 808 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments, at least one ofCP processing portion 202,FWD portion 802, security/authentication portion 222, and CP decryptportion 808 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. -
CP decrypt portion 804, CP encryptportion 806, and security/authentication portion 220 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments, at least one ofCP decrypt portion 804, CP encryptportion 806, and security/authentication portion 220 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. - Initial functional behavior of
STB 800 is similar to that ofSTB 200 with respect to mutual authentication, loading the CP key, decrypting the CA encrypted content received fromhost media processor 702 byCA decrypt portion 210 and encrypting it again by CPencrypt portion 212. - At this point,
CP processing portion 202 sends CP key 238 toFWD portion 802. When CP encryptportion 212 sends CPencrypted content 248 it is also received byFWD portion 802. Instead of decrypting the data,FWD portion 802 forwards CPencrypted content 810 totranscoder 704.Transcoder 704 obtains a key to decrypt CPencrypted content 810. - Once transcoder obtains CP key 238,
transcoder 704 decrypts CPencrypted data 810 usingCP key 238 and CP decryptportion 804 to generate decryptedcontent 803.Transcoding portion 805 transcodes decryptedcontent 803 from a first format into a second format as transcodedcontent 807. - CP
encrypt portion 806 then uses a re-encryption key to encrypt transcodedcontent 807 into CPencrypted content 814. - In some non-limiting example embodiments, CP key 238 doubles as the re-encryption key, wherein
FWD portion 802 forwards CP key 238 to secure CPkey exchange 266 viasignal 268. CP key 238 is sent to transcoder 704 by secure CPkey exchange 266 so it may be used to decrypt forwarded CPencrypted content 810. - In some non-limiting example embodiments,
transcoder 704 obtains the second key, or the re-encryption key, by receiving the second key fromhost media processor 702. For example,FWD portion 802 may forward CP key 238 and a separate second key to secure CPkey exchange 266 viasignal 268. The separate second key may be sent totranscoder 704 by secure CPkey exchange 266 so it may be used to encrypt transcodedcontent 807. - In some non-limiting example embodiments,
transcoder 704 obtains the second key by generating the second key itself In an example embodiment,FWD portion 802 forwards instructions totranscoder 704 via secure CPkey exchange 266, whereintranscoder 704 is able to generate the second key based on the instructions. In another embodiment,transcoder 704 may generate a second key based on IP rights associated with the content. In a non-limiting example, some portion of the IP rights may be used as a key seed to generate the second key. - There may be situations where
transcoder 704 may generate the second key based on IP rights associated with the content and where the IP rights associated with the content change. The IP rights may change for many reasons, non-limiting examples of which include changing based on time or changing based on the transcoded format. For example, and only for purposes of discussion, presume thattranscoder 704 is able to transcode MPEG 4 content into MPEG 2 content. Further, and only for purposes of discussion, presume that the IP rights associated with the content in the MPEG 4 format are different than the IP rights associated with the content in the MPEG 2 format. In this situation, whentranscoder 704 generates the second key based on IP rights associated with the content, the new IP rights are embedded into the transcoded content. Eventually, whenhost media processor 702 decrypts the encrypted MPEG 2 formatted content, the decrypted content will have the new IP rights associated with the MPEG 2 formatted content. - Once the decrypted content has been transcoded and re-encrypted, CP encrypt
portion 806 then sends CPencrypted content 814 back tohost media processor 702. CPencrypt portion 808 receives and decrypts CPencrypted content 814. - Note that private security/authentication portions can be implemented using any well-known security method, which provide authentication and secure channel communication. A non-limiting example of which includes a public/private key system chained to separate certificates like private
certificate chain A 224 and privatecertificate chain A 226. - A non-limiting example of authenticating between a host media processor and a transcoder involves the secure ‘preloading’ of secret keys into the transcoder and the host media processor at the time of manufacture. With this type of authentication arrangement, the transcoder and the host media processor would thus be paired and may then securely communicate without the need to exchange certifications/keys. Accordingly, with this type of authentication arrangement, there would be no need for a secure CP exchange between
transcoder 704 andhost media processor 702, for example by way ofCPU interface signal 266. - In the event when private certificates are used between
transcoder 704 andhost media processor 702, the chain can also be validated and revoked via private and remote means, which can also be used to enable and disable the Private CP process betweentranscoder 704 andhost media processor 702. -
FIG. 9 is a timing diagram, illustrating the relative time of process of M-Card 110,host media processor 702, andtranscoder 704 ofSTB configuration 700 ofFIG. 8 , with aspects of non-limiting example embodiments. It should be noted that in some non-limiting example embodiments, the encrypted content and keys may be provided by a content provider over a network, as opposed to an M-Card. Accordingly, for purposes of discussion, in this example the processes of M-Card 110 may be from a Content Provider Network or M-Card 110. - In operation, as illustrated in
FIG. 8 , M-Card 110 andhost media processor 702 are mutually authenticated as represented bybi-directional arrow 302, which corresponds to mutual authentication and DiffieHellman exchange information 234 ofFIG. 8 . The Diffie-Hellman key exchange can be replaced by any other secure key agreement algorithm such as for example ECDH—Elliptical Curve Diffie-Hellman. Then M-Card 110 andhost media processor 702 generate a CP key as represented bybi-directional arrow 304, which corresponds to CPkey generation 236 ofFIG. 8 . Then hostmedia processor 702 sends encrypted content to M-Card 110 as represented byarrow 306, which corresponds to the send ofencrypted content 244 ofFIG. 8 . - At this point, M-
Card 110 decrypts the content as represented bycircle 308, which corresponds to CA decryptportion 210 receiving CAencrypted content 244 fromhost media processor 702, which has been encrypted by any known method as discussed above with reference toFIG. 8 . Then M-Card 110 encrypts the content as represented bydot 310, which corresponds to CA decryptportion 210 deciding whether CA decrypteddata 246 needs to be re-encrypted, as discussed above with reference toFIG. 8 . In this case, presume that the data is re-encrypted by CPencrypt portion 212. - Now, M-
Card 110 sends the encrypted content to hostmedia processor 702 as represented byline 902, which corresponds to CPencrypted content 248 ofFIG. 8 . At this point,host media processor 702 forwards the encrypted content to transcoder 704 as represented by * 906, which corresponds toFWD portion 802. - Secure CP
key exchange 266 sends CP key 238 to transcoder 704 as represented by dashedline 904. In this example,CP key 238 is sent to transcoder 704 before M-Card 110 sends the encrypted content to hostmedia processor 702. However, in other non-limiting example embodiments,CP key 238 is sent to transcoder 704 after M-Card 110 sends the encrypted content to hostmedia processor 702. Further, in some non-limiting example embodiments,CP key 238 is sent to transcoder 704 while M-Card 110 sends the encrypted content to hostmedia processor 702. - In one example embodiment, a single key is sent to
transcoder 704, which is used to decrypt forwarded CPencrypted content 810 and to re-encrypt transcodeddata 807. - In another example embodiment, two keys may be sent to
transcoder 704. For example, a first key may be used byCP decrypt portion 804 to decrypt CPencrypted content 810, whereas a second key may be used by CPencrypt portion 806 to re-encrypt transcodedcontent 807. - In yet another example embodiment, a newly generated key may be sent to transcoder 704 at any time to be used by CP decrypt 804 and CP encrypt 806. This newly generated key may be created by Diffie-
Hellman exchange 234 between M-Card 110 andhost media processor 702. Once it is newly generated between M-Card 110 andhost media processor 702,host media processor 702 will forward the newly generated key totranscoder 704. - A new key may need to be generated for several reasons, as known to those of skill in the art. One non-limiting example reason for generating a new key is drawn to the situation where the IP rights of the content changes. Another non-limiting example reason for generating a new key is drawn to the situation where M-
Card 110 detects that the currently used key has, or is about to, expire. - At this point,
transcoder 704 decrypts the content as represented bycircle 908, which corresponds toCP decrypt portion 804 ofFIG. 8 .Transcoder 704 then converts the decrypted content into another format, as represented byX 910. -
Transcoder 704 should send the transcoded content to hostmedia processor 702. However, the transcoded content must be protected. As such, before the transcoded content is sent to hostmedia processor 702,transcoder 704 encrypts the transcoded content as represented bydot 912, which corresponds to CP encryptportion 806 ofFIG. 8 . Then the encrypted transcoded content is then sent to hostmedia processor 702 as represented byarrow 914, which corresponds to CPencrypted content signal 814 ofFIG. 8 . -
Host media processor 702 then decrypts the transcoded content as represented bycircle 916, which corresponds toCP decrypt portion 808 ofFIG. 8 .Host media processor 702 then plays the transcoded content, as represented by +sign 918. - In yet another example embodiment, if transcoded content with the original encryption and the corresponding CP key(s) along with content usage rights and restrictions are saved on a DVR to be played at a later time,
host media processor 702 does not have to pass the content and CP key(s) for transcoding and decryption to the transcoder until the time when the user decides to play back the content to haveCP decrypt portion 808 decrypt the content. Instead, the DVR may save the encrypted content as well as the CP key received from secure CPkey exchange 266 in secure/protected storage on the device. In a further embodiment, if more than one CP key is used for the encryption and decryption of the transcoded content, the DVR may save multiple CP keys or a base key and the associated information for deriving multiple keys. The case of content being provided by a Content Provider Network (no M-Card) or the storage of content to be played at a later time will now be further discussed with reference toFIG. 10 . -
FIG. 10 is a timing diagram, illustrating the relative time of process of M-Card 110,host media processor 702, andtranscoder 704 ofSTB configuration 700 ofFIG. 8 , with respects to playback of stored media, in accordance with aspects of non-limiting example embodiments. - The initial operation of
FIG. 10 is similar to that ofFIG. 9 , with respects to mutual authentication between Content Provider Network or M-Card 110 andhost media processor 702, CP key generation,host media processor 702 sending encrypted content to Content Provider Network or M-Card 110, the Content Provider Network or M-Card 110 decrypting the content and then sending the content and CP key to hostmedia processor 702. The content being sent to hostmedia processor 702 is represented by dashedline 1002 and the CP key being sent to hostmedia processor 702 is represented byline 1004. - At this point,
host media processor 702 creates a new CP key and uses the newly generated key to encrypt the content. After the content is encrypted,host media processor 702 sends the newly encrypted content as well as the CP key (in an encrypted form) to a local persistent storage (e.g. hard disk), as represented by square 1006. At a later time, a user will request content playback, which is represented by square 1008. - Once a user has requested content playback
host media processor 702 retrieves the CP key from persistent storage and decrypts it as shown by square 1010. Once the CP key is decrypted, it is forwarded to transcoder 704 as represented by dashedline 1012.Host media processor 702 also retrieves the encrypted content that requested for playback and forwards it to transcoder 704, as represented bysolid line 1014. - At this point,
transcoder 704 decrypts the content as represented bycircle 908, which corresponds toCP decrypt portion 804 ofFIG. 8 .Transcoder 704 then converts the decrypted content into another format, as represented byX 910. -
Transcoder 704 should send the transcoded content to hostmedia processor 702. However, the transcoded content must be protected. As such, before the transcoded content is sent to hostmedia processor 702,transcoder 704 encrypts the transcoded content as represented bydot 912, which corresponds to CP encryptportion 806 ofFIG. 8 . Then the encrypted transcoded content is then sent to hostmedia processor 702 as represented byarrow 914, which corresponds to CPencrypted content signal 814 ofFIG. 8 . -
Host media processor 702 then decrypts the transcoded content as represented bycircle 916, which corresponds toCP decrypt portion 808 ofFIG. 8 .Host media processor 702 then plays the transcoded content, as represented by +sign 918. - In a non-limiting example,
host media processor 702 may not play the transcoded content. Instead,host media processor 702 may simply forward the encrypted content to another device via an external interface. A non-limiting example of an external interface may be a DLNA interface protected with DTCP-IP, an IEEE-1394 interface protected with DTCP, or an Xbox interface protected using PlayReady-ND DRM. -
FIG. 11 represents a functional diagram of a STB configuration that receives content from a provider other than an M-Card. -
FIG. 11 includes some common elements ofFIG. 8 , namely privatecertificate chain A 224, privatecertificate chain A 226. Additionally, it includeshost media processor 1102 andtranscoder 1104.Host media processor 1102 further includes, an encrypted content and key forward (FWD)portion 1108, adecrypt portion 1116 and security/authentication portion 222. Transcoder 1104 further includes adecrypt portion 1110, transcoding portion 1112, encrypt portion 1114 and a security/authentication portion 220. For purposes of brevity, elements (and their respective functions) that are common betweenFIG. 2 andFIG. 8 may not be described again. -
FWD portion 1108, security/authentication portion 222, and decryptportion 1116 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments at least one ofFWD portion 1108, security/authentication portion 222, and decryptportion 1116 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. -
Decrypt portion 1110, transcoding portion 1112, encrypt portion 1114, and security/authentication portion 220 are functional elements that may be contained in a single device or separate devices. Those of skill in the art would appreciate that the functions performed by a single device may provide increased security. Further, in some non-limiting example embodiments at least one ofdecrypt portion 1110, transcoding portion 1112, encrypt portion 1114, and security/authentication portion 220 may be implemented as a non-transient, tangible computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. - In operation,
FWD portion 1108 ofhost media processor 1102 receives encrypted content and a DRM protected content decryption key from a content provider. In a non-limiting example embodiment, a content provider may be the internet, or a content provider within the network. Once the encrypted content and content decryption key have been received,FWD portion 1108 forwards the content totranscoder 1104 and the content decryption key to securekey exchange 266 viasignal 1126. - Private security/
authentication portion 220 receives a privatecertificate chain A 224 viasignal 260. Similarly, private security/authentication portion 222 receives a private certificate from privatecertificate chain A 226 viasignal 262. Private security/authentication portion 220 and private security/authentication portion 222 communicate with each other via CPU interface signals 264 and 266 in order to establish mutual authentication and content decryption key exchange. - Once
transcoder 1104 has received the encrypted content fromFWD portion 1108 and the content decryption key from securekey exchange 266,transcoder 1104 decrypts encrypted data 1122 using the forwarded content decryption key anddecrypt portion 1010 to generate decrypted content 1111. Transcoding portion 1112 transcodes decrypted content 1111 from a first format into a second format as transcodedcontent 1113. Encrypt portion 1114 then uses a second key to encrypt transcodedcontent 1113 intoencrypted content 1124. - The second key used to encrypt transcoded
content 1113 may be obtained or derived in a variety of methods as discussed above with reference toFIG. 8 . - Once the decrypted content has been transcoded and re-encrypted, encrypt portion 1114 then sends
encrypted content 1124 back tohost media processor 1102.Decrypt portion 1116 receives and decryptsencrypted content 1124. - Note that private security/authentication portions can be implemented using any well-known security method, which provide authentication and secure channel communication. A non-limiting example of which includes a public/private key system chained to separate certificates like private
certificate chain A 224 and privatecertificate chain A 226. - In the event when private certificates are used between
transcoder 704 andhost media processor 702, the chain can also be validated and revoked via private and remote means, which can also be used to enable and disable the Private CP process betweentranscoder 704 andhost media processor 702. - It is easy to see the benefit of non-limiting example embodiments when comparing
FIG. 9 toFIG. 3 . As seen inFIG. 9 withSTB 700, there are only three decryption processes and two encryption processes. However, in the conventional system discussed above with reference toFIG. 3 there are four decryption processes and three encryption processes.STB 700, in accordance with aspects of non-limiting example embodiments, reduces the number of encryptions and decryptions needed by one. This saves on the consumption of valuable computing resources that are needed to properly encrypt, transcode, and decrypt data. - Some previous methods which were efficient in terms of encryptions and decryptions; however these methods required the transcoder to implement the M-Card interface, which includes both hardware and software components.
STB configuration 700 is able to decrease the number of encryptions and decryptions needed by one without moving the M-Card interface to the transcoder. For other cases when the encrypted content and keys are delivered directly to the host media processor from a content provider (there is no M-Card), the transcoder was previously required to implement a full DRM client with all of the associated DRM interfaces including key management and IP rights processing.STB configuration 1100 is able to decrease the number of encryptions and decryptions needed by one without moving a full DRM client to the transcoder. - Another benefit of
STB configuration 700 is that the transcoder is not required to implement the M-Card interface. In previous methods the transcoder was required to implement the M-Card interface, which includes has both hardware and software components. - The foregoing description of various preferred embodiments of non-limiting example embodiments have been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the non-limiting example embodiments to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The example embodiments, as described above, were chosen and described in order to best explain the principles of non-limiting example embodiments and their practical application to thereby enable others skilled in the art to best utilize non-limiting example embodiments in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of non-limiting example embodiments be defined by the claims appended hereto.
Claims (25)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/557,595 US20140029747A1 (en) | 2012-07-25 | 2012-07-25 | System and method for transcoding content |
PCT/US2013/051430 WO2014018431A1 (en) | 2012-07-25 | 2013-07-22 | System and method for transcoding content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/557,595 US20140029747A1 (en) | 2012-07-25 | 2012-07-25 | System and method for transcoding content |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140029747A1 true US20140029747A1 (en) | 2014-01-30 |
Family
ID=48901195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/557,595 Abandoned US20140029747A1 (en) | 2012-07-25 | 2012-07-25 | System and method for transcoding content |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140029747A1 (en) |
WO (1) | WO2014018431A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140161196A1 (en) * | 2012-12-06 | 2014-06-12 | Microsoft Corporation | Secure transcoding of video data |
US10990691B2 (en) * | 2018-05-11 | 2021-04-27 | Arris Enterprises Llc | Secure deferred file decryption |
CN115955310A (en) * | 2023-03-07 | 2023-04-11 | 杭州海康威视数字技术股份有限公司 | Information source encrypted multimedia data export security protection method, device and equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7839998B2 (en) * | 2004-02-09 | 2010-11-23 | Sony Corporation | Transcoding CableCARD |
US8176322B2 (en) * | 2004-03-22 | 2012-05-08 | Samsung Electronics Co., Ltd | Apparatus and method for moving and copying rights objects between device and portable storage device |
US8462954B2 (en) * | 2008-05-30 | 2013-06-11 | Motorola Mobility Llc | Content encryption using at least one content pre-key |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7907634B2 (en) * | 2004-01-29 | 2011-03-15 | Hildebrand John G | Method and system of transporting multimedia signals |
GB2426651A (en) * | 2005-05-25 | 2006-11-29 | British Sky Broadcasting Ltd | Media transcoding device |
US9160974B2 (en) * | 2009-08-26 | 2015-10-13 | Sling Media, Inc. | Systems and methods for transcoding and place shifting media content |
US9516364B2 (en) * | 2010-03-29 | 2016-12-06 | Google Technology Holdings LLC | Secure transcoding of content |
-
2012
- 2012-07-25 US US13/557,595 patent/US20140029747A1/en not_active Abandoned
-
2013
- 2013-07-22 WO PCT/US2013/051430 patent/WO2014018431A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7839998B2 (en) * | 2004-02-09 | 2010-11-23 | Sony Corporation | Transcoding CableCARD |
US8176322B2 (en) * | 2004-03-22 | 2012-05-08 | Samsung Electronics Co., Ltd | Apparatus and method for moving and copying rights objects between device and portable storage device |
US8462954B2 (en) * | 2008-05-30 | 2013-06-11 | Motorola Mobility Llc | Content encryption using at least one content pre-key |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140161196A1 (en) * | 2012-12-06 | 2014-06-12 | Microsoft Corporation | Secure transcoding of video data |
US9445112B2 (en) * | 2012-12-06 | 2016-09-13 | Microsoft Technology Licensing, Llc | Secure transcoding of video data |
US10990691B2 (en) * | 2018-05-11 | 2021-04-27 | Arris Enterprises Llc | Secure deferred file decryption |
US12008124B2 (en) | 2018-05-11 | 2024-06-11 | Arris Enterprises Llc | Secure deferred file decryption |
CN115955310A (en) * | 2023-03-07 | 2023-04-11 | 杭州海康威视数字技术股份有限公司 | Information source encrypted multimedia data export security protection method, device and equipment |
Also Published As
Publication number | Publication date |
---|---|
WO2014018431A1 (en) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8275732B2 (en) | High definition multimedia interface transcoding system | |
US8458459B2 (en) | Client device and local station with digital rights management and methods for use therewith | |
US8825551B2 (en) | Digital rights management for local recording and home network distribution | |
US8413256B2 (en) | Content protection and digital rights management (DRM) | |
EP2776916B1 (en) | Network-based revocation, compliance and keying of copy protection systems | |
US9418211B2 (en) | Electronic device and method of transmitting content item | |
US9479825B2 (en) | Terminal based on conditional access technology | |
US20060282391A1 (en) | Method and apparatus for transferring protected content between digital rights management systems | |
US20080267411A1 (en) | Method and Apparatus for Enhancing Security of a Device | |
US9294446B2 (en) | Content encryption | |
US20120159146A1 (en) | System and Method for Transcoding Content | |
US20110099591A1 (en) | Secure wireless pairing of digital tv short-range transmitter and receiver | |
US10691778B2 (en) | Method and system for providing secure codecs | |
TW201404153A (en) | Receiving audio/video content | |
WO2017092687A1 (en) | Implementation method for media gateway/terminal supporting digital rights management (drm), and device therefor | |
US20080098487A1 (en) | Av communication control circuit for realizing copyright protection with respect to radio lan | |
WO2008139335A1 (en) | Transferring digital data | |
US20140029747A1 (en) | System and method for transcoding content | |
EP2827598A1 (en) | A system for receiving and decrypting streaming content | |
KR20100135505A (en) | Method for contents encryption, method for contents decryption and electronic device using the same | |
Fimić et al. | A proposal for secured streaming of premium content in second screen environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GENERAL INSTRUMENT CORPORATION, PENNSYLVANIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KAMIENIECKI, JOHN P.;CHAN, TAT KEUNG;CHANG, KEVIN T.;AND OTHERS;SIGNING DATES FROM 20120719 TO 20120724;REEL/FRAME:028635/0253 |
|
AS | Assignment |
Owner name: MOTOROLA MOBILITY LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL INSTRUMENT HOLDINGS, INC.;REEL/FRAME:030866/0113 Effective date: 20130528 Owner name: GENERAL INSTRUMENT HOLDINGS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL INSTRUMENT CORPORATION;REEL/FRAME:030764/0575 Effective date: 20130415 |
|
AS | Assignment |
Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:034234/0001 Effective date: 20141028 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |