WO2019018431A1 - Method and apparatus for supporting multiple broadcasters independently using a single conditional access system - Google Patents
Method and apparatus for supporting multiple broadcasters independently using a single conditional access system Download PDFInfo
- Publication number
- WO2019018431A1 WO2019018431A1 PCT/US2018/042542 US2018042542W WO2019018431A1 WO 2019018431 A1 WO2019018431 A1 WO 2019018431A1 US 2018042542 W US2018042542 W US 2018042542W WO 2019018431 A1 WO2019018431 A1 WO 2019018431A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- receiver module
- pairing key
- encrypted
- information
- encrypted version
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 16
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000009795 derivation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000001010 compromised effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 102100030310 5,6-dihydroxyindole-2-carboxylic acid oxidase Human genes 0.000 description 1
- 101000773083 Homo sapiens 5,6-dihydroxyindole-2-carboxylic acid oxidase Proteins 0.000 description 1
- 101000898746 Streptomyces clavuligerus Clavaminate synthase 1 Proteins 0.000 description 1
- 101000761220 Streptomyces clavuligerus Clavaminate synthase 2 Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1012—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to domains
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
Definitions
- the present invention relates to systems and methods for providing conditional access to media programs, and in particular to a system and method for providing for such conditional access between multiple independent broadcasters and a plurality of customers using a single conditional access system.
- subscriber-based services are readily available in some areas, they are not available on a world-wide basis.
- subscribers are typically offered services from a small number of providers (e.g. DIRECTV or ECHOSTAR, or the approved local cable provider) each of which typically provide a large number of media channels from a variety of sources (e.g. ESPN, HBO, COURT TV, HISTORY CHANNEL).
- providers e.g. DIRECTV or ECHOSTAR, or the approved local cable provider
- sources e.g. ESPN, HBO, COURT TV, HISTORY CHANNEL
- each service provider typically encrypts the program material and provides equipment necessary for the customer to decrypt them so that they can be viewed.
- the present invention discloses a method, apparatus, article of manufacture for brokering the enabling of communication of encrypted media programs from a plurality of independent broadcasters to a plurality of receivers, each encrypted media program decryptable by a first receiver module securely communicating with a second receiver module according to a pairing key associated with one of the plurality of receivers.
- the method comprises the steps of transmitting a service enabling request from one of the plurality of broadcasters to a broker independent from the one of the plurality of broadcasters, the request comprising an identification of the one of the plurality of receivers; receiving a first encrypted version of the pairing key E s [K p ] from the broker, the first encrypted version of the pairing key E s [K p ] decryptable by first information
- the apparatus is described by system for brokering the enabling of communication of encrypted media programs from a plurality of independent broadcasters to a plurality of receivers, each encrypted media program decryptable by a first receiver module securely communicating with a second receiver module according to a pairing key K associated with one of the plurality of receivers.
- the system comprises a broker, for providing a first encrypted version of the pairing key E s [K p ] in response to a service enabling request from one of the plurality of broadcasters, the service request having an identification of one of the plurality of receivers, wherein the first encrypted version of the pairing key E s [K p ] is decryptable by first information S 1 stored in the first receiver module.
- at least one of the first information S x and the second information S 2 may be derived from a hardware root of trust stored in at least one of the first receiver module and the second receiver module
- FIG. 1 is a diagram illustrating a media program distribution system
- FIG. 2 is a diagram of a typical subscriber station
- FIG. 3 is a diagram illustrating a multiple broadcaster media program distribution system
- FIGs. 4A-4D are diagrams illustrating one embodiment of how the pairing system cooperatively operates with multiple service providers and equipment at the subscriber stations to implement a conditional access system
- FIG. 5A is a diagram illustrating one embodiment of the service provider
- FIG. 5B is a diagram illustrating an embodiment of a table stored in the pairing system
- FIG. 5C is a diagram illustrating an embodiment of a table stored by the service provider
- FIG. 6 is a diagram illustrating one embodiment of the STB
- FIG. 7 is a diagram illustrating an exemplary embodiment of the transport module and the CAM.
- FIG. 8 is a diagram of a computer that can be used to implement selected modules. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
- FIG. 1 is a diagram illustrating a media program distribution system 100.
- the system 100 includes a plurality of service providers (hereinafter alternatively referred to as broadcasters) 102, including a first service provider 102A that broadcasts media programs from a satellite broadcast facility 152A via one or more uplink antennas and one or more satellites 156, a second service provider 102B, that broadcasts media programs from terrestrial broadcast facility 152B and one or more terrestrial antennas 164, and a third service provider 102C that broadcasts media programs via a cable link 160.
- broadcasters service providers
- the system 100 also comprises a plurality of subscriber stations 104A, 104B (alternatively referred to hereinafter as subscriber station 104), each providing service to one or more subscribers 112A, 112B (alternatively referred to hereinafter as subscribers 112).
- subscriber station 104 also comprises a plurality of subscriber stations 104A, 104B (alternatively referred to hereinafter as subscriber station 104), each providing service to one or more subscribers 112A, 112B (alternatively referred to hereinafter as subscribers 112).
- Each subscriber station 104A, 104B may include a satellite reception antenna 106A, 106B (alternatively referred to hereinafter as satellite reception antenna 104) and/or a terrestrial broadcast antenna 108A, 108B (alternatively referred to hereinafter as terrestrial broadcast antenna 108) communicatively coupled to a receiver 110A, HOB (alternatively referred to hereinafter as receiver 110), which is also known as a set top box (STB) or an integrated receiver/decoder (IRD).
- satellite reception antenna 104 and/or a terrestrial broadcast antenna 108A, 108B
- terrestrial broadcast antenna 108 communicatively coupled to a receiver 110A, HOB (alternatively referred to hereinafter as receiver 110), which is also known as a set top box (STB) or an integrated receiver/decoder (IRD).
- STB set top box
- ITD integrated receiver/decoder
- each receiver 110A, HOB (or at least, each conditional access system used with each receiver) is capable of receiving subscriber-based media programs from only one of the media program providers 102.
- the subscriber may need not only to have a multiple receivers 110 at the subscriber station 104A, but also, will require multiple conditional access systems.
- FIG. 2 is a diagram of a typical subscriber station 104.
- Each station 104 includes at least one receiver or STB 110, which itself includes a transport module 202 that communicates with a conditional access module (CAM) 206.
- CAM conditional access module
- the CAM 206 is a smart card that is removably
- the CAM 206 is a device such as a chip or a collection of devices that are physically integrated with the STB 110 and irremovable.
- the service providers typically encrypt the media program M with a control word CW, thus producing and encrypted program E cw [M] , and transmit the encrypted media program E cw [M] and an encrypted version of the control word E[CW] to the receiver 110.
- the receiver 110 receives both the encrypted program E cw [M] and the encrypted control word E[CW] .
- the transport module 202 analyzes the incoming data stream and passes the encrypted control E[CW] to the CAM 206, which decrypts the control word CW and returns the decrypted control word CW to a security module 204 or similar device in the transport module 202.
- the security module 204 uses the control word CW to decrypt the encrypted media program E cw [M] to produce the media program M for presentation to the subscriber.
- This system assures that only those who are in possession of a valid CAM 206 can receive and decode media programs. However, it does not prevent the use of the CAM 206 in any other STB 110. Hence, if the CAM 206 is compromised or duplicated, unauthorized access to media programs is possible.
- FIG. 3 is a diagram illustrating a multiple broadcaster Conditional Access Subscriber Administration System (CASAS) 200.
- the MB system 200 is similar to that which is disclosed in FIG. 1, but includes a pairing broker 304, which can communicate with the broadcast facilities 152 via a communications medium 302 such as the Internet.
- a communications medium 302 such as the Internet.
- FIGs. 4A-4D are diagrams illustrating one embodiment of how the pairing broker 304 cooperatively operates with multiple service providers 102 and equipment at the subscriber stations 104 to implement a conditional access system.
- FIGs. 4A-4D will be described in connection with and with reference to FIGs. 5 and 6, which illustrate one embodiment of the service provider 102 elements and STB 110 elements, respectively.
- FIG. 4A begins with a potential customer 112 who has decided to subscribe a media program service offered by a service provider 102. To do so, the subscriber contacts the service provider 102 and transmits information sufficient to identify the STB and the CAM to the service provider 102, as shown in block 402.. In one embodiment, this information includes an STB 110 unique identifier (ID) (such as a serial number or other designation) and a CAM 206 unique identifier (CAM ID). In a preferred embodiment, this is accomplished by transmitting the information via the Internet 302 or similar network.
- ID STB 110 unique identifier
- CAM ID CAM 206 unique identifier
- the subscriber's web browser can include the appropriate references to the URL where the request and STB ID and CAM ID should be transmitted.
- the potential subscriber in addition to the STB ID, the potential subscriber also transmits his/her credit card information (e.g. the account number) as well. This allows for services to be automatically billed for monthly subscription fees without further interaction.
- Credit card payment administration can be performed by the service provider 102 or by a third party such as PAYPAL. These functions can be performed by the subscriber administration module (SAM) 504.
- SAM subscriber administration module
- the SAM 504 can also comprise or be integrated with a customer relationship management (CRM) system or systems. If access is approved (e.g. if the supplied credit card information has been verified), the subscriber administration module 504 directs the web transaction module 502 to request a pairing key K p from the pairing broker 304.
- CRM customer relationship management
- the potential customer 112 can contact the service provider 102 via telephone or other means and provide the service request, STB ID, and CAM ID.
- the pairing broker 304 can receive the service request (preferably via an appropriate Internet interface) and forward the request for service and the appropriate identifying information to the service provider 102.
- the service provider 102 receives the service request the identifying information, as shown in block 404.
- the service provider 102 then transmits an enabling service request and the STB ID to the pairing broker 304, as shown in block 408.
- the pairing broker 304 receives the service enabling request and the STB ID.
- a first encrypted version of a pairing key K p is then provided.
- the pairing key K p wzs generated either in block by the service provider 102, as shown in block 406 or, preferably by the pairing broker 304, as shown in block 406'.
- the first encrypted version of the pairing key K is provided so as to be decryptable using first information S l securely stored in a first receiver module such as the transport module 202 shown in FIG.
- the first encrypted version of the pairing key K p therefore described as E s [K p ]
- this is accomplished by use of a secret that is known to the pairing broker 304, but unknown to the service provider 102.
- the STB IDs and related first information S can be stored in a table or a database 514 in the pairing broker 304. If desired, the related first encrypted versions of the pairing key E s [K p ] can be stored as well.
- the first encrypted version of the pairing key E s [K ] is transmitted to the service provider 102. If the pairing key K p was generated by the pairing broker 304, the pairing key K p is also transmitted to the service provider 102. One of both of the first encrypted version of the pairing key E s [K p ] and the pairing key K p can be securely transmitted to the service provider 102 via a shared secret, a private key, or a public/private key security paradigm, if desired.
- the foregoing process can be used to request all services from a service provider with a single pairing key K or repeated to request other services from the service provider 102, with each service enabled and controlled via a different pairing key K p .
- the service provider 102 may provide both general services (e.g. access to a number of channels as a part of a baseline fee service) and pay-per-view services (e.g. access to a particular program or set of programs on a pay-per-view basis).
- FIG. 5B is a diagram showing a table that might be used to store and relate the STB ID to first information S 1 3 a service provider 102 identifier (BDCST ID), and pairing keys for general services, IPPV, and multiple OPPV services.
- the service provider 102 receives the first encrypted version of the pairing key K , and generates a second encrypted version of the pairing key K such that it is decryp table by second information S 2 securely stored in a second receiver module such as the conditional access module 206 (the second encrypted version of the pairing key K p therefore described as E s ⁇ [K p ] ).
- the service provider 102 can store a table or database relating STB IDs and the pairing keys K p for each of the provided services.
- FIG. 5C is an example of how such information may be stored. Note that the BRDCST ID column is not necessary in this case, because the identity of the service provider 102 is inherently known.
- the service provider 102 transmits an entitlement control message (ECM) or an entitlement management message (EMM) to the subscriber station.
- ECM entitlement control message
- EMM entitlement management message
- the ECM is transmitted to the STB 110 in response to a subscriber request for access to general media programs from the service provider 102, while the EMM is transmitted in response to a subscriber request for a specific program (e.g. an impulse or order ahead pay-per-view).
- the ECM/EMM includes the first encrypted version of the applicable pairing key E s [K ] , the second encrypted version of the pairing key E s [K ] , and the ID of the service provider 102 (BRDCST ID) which is providing the services related to the pairing key K .
- the transport module 304 receives the first encrypted version of the pairing key E s [K p ] and the second encrypted version of the pairing key E s ⁇ [K p ] , and the service provider ID.
- the second encrypted version of the pairing key E s [K p ] is provided to the conditional access module
- FIG. 6 shows an exemplary embodiment of how the data relating services, broadcasters, and pairing keys K p might be stored in the transport module and the conditional access module.
- the pairing key K p is used to encrypt communications between the conditional access module 206 and the transport module 202.
- conditional access module 206 cannot be used a different STB 110, although if desired, more than one STB 110 can be provided to a customer, each having the same first information the conditional access module to be used with different STBs 110 in the same household.
- the broadcast module 506 and/ or the broadcast headend 516 encrypts media programs M 510 according to a control word (CW), encrypts the control word (CW) itself, and broadcasts a program stream comprising the encrypted program material E cw [M] and the encrypted control word E[CW] to the STBs 100, as shown in blocks 450, 452 and 454.
- the program stream may also comprise program guide information from the program guide module 508.
- the transport module 202 in the STB 110 receives the program stream, separates out the packets of information by channel (typically according to a packet ID), and provides the encrypted control word E[CW] to the conditional access module 206.
- the conditional access module 206 receives the encrypted control word E[CW] decrypts it to recover the control word ⁇ CW), encrypts the control word ⁇ CW) with the pairing key K , and provides the encrypted pairing key E K [CW] to the transport module 202, as shown in blocks 460-466.
- the transport module 202 decrypts the encrypted control wordEj f [CW] using the pairing key K p thus recovering the control word ⁇ CW), as shown in block 472, and uses the decrypted control word ⁇ CW) to decrypt the encrypted media program E cw [M] to produce the media program M, as shown in block 474.
- the foregoing system can be used to modify or change the provision of services from the service provider 102 as well. This can be accomplished by the service provider 102 deleting, adding, or modifying the pairing keys K in cooperation with the pairing broker 304 in essentially the same way as described above. Such modification can occur at the subscriber's behest (e.g. the subscriber desires either more, less, or different services than previously), or that of the service provider 102 (e.g. if the offered services change or the subscriber's credit card is no longer valid).
- the modules described above can be implemented as one or more software modules comprising instructions being performed by one or more special or general purpose processors, or may be implemented with hardware modules having dedicated circuitry, or with both hardware and software modules.
- the pairing broker 304 is implemented by a pairing server, and the program guide module 508, broadcast module 506, subscriber administration module 504 and web transaction module 502 are all implemented as servers, the transport module 202 and security module 204 are implemented in a secure, tamperproof electronic circuit, and the conditional access module is implemented on a smart card.
- the system and method described above uses unique secrets S-L and S 2 into the transport module 202 and CAM 206.
- the unique secrets S-L and S 2 can be derived from a hardware root of trust that is programmed into the device itself.
- the transport module 202 or CAM may be at least partially implemented using System-on-Chip (SoC) architectures that permit hardware root of trust values to be programmed into the SoC at the SoC manufacturing site using black-box techniques.
- SoC System-on-Chip
- SoC programming can also occur at the packaging or product manufacturing facility by execution of an in-field programming sequence on the SoC.
- a security provider independent architecture can support multiple concurrent or serial CAS and DRM
- This "derived key" security architecture implementation can provide a means for instantaneous switching between security profiles offered by different and independent CAS and DRM security providers.
- security providers may use black box OTP resources as the basis to derive security keys to enable different security schemes by altering the key generation inputs based on CAS and DRM vendor software and possibly vendor unique OTP inputs.
- the key generation inputs can be provided in the CAS and DRM application that could be loaded at CE device manufacturing or downloaded over the air for a fielded CE device.
- Key derivation can be accomplished in a number of ways, for example, by taking the black box programmed secret OTP keys, CAS/DRM vendor (security provider) software input and possible CAS/DRM vendor unique OTP values and combining in a series of crypto graphic calculations using AES, DES or Triple DES. Where the black box programmed secret OTP keys are used as the key and the software input and CAS/DRM vendor unique OTP values are the data in the crypto graphic operation. .
- the SoC can derive unique key outputs for each CAS and DRM security provider used for a given content provider or broadcaster.
- CAS unique inputs such as their assigned conditional access identifier (CA ID) maybe used to differentiate derived keys for different conditional access systems CAS1 versus CAS2.
- CA ID conditional access identifier
- These security provider unique key generation outputs enable support for multiple security providers for fielded CE devices typically found in STBs 110, televisions (TVs), Smart TVs and mobile devices such as smartphones.
- the black box security provider provides compatible headend applications to each content provider, so that the media programs are encrypted or otherwise protected using the CAS and DRM implementation used.
- Another advantage of using a derived key database is that the black box programmed OTP key secrets programmed into the SoC OTP do not have to be divulged to the multiple CAS and DRM security providers, since these security providers would use the derived key databases for their content protection systems, not the OTP value. This means that if a derived key database were compromised, it only affects the specific CAS/DRM security provider that was using that specific derived key database, i.e. such compromise would not affect the fielded CE devices or derived key databases of any other such CAS/DRM security provider.
- the keys and programming infrastructure provided by an independent black box security provider enables fielded CE devices to add additional revenue baring applications to the CE device manufacturer or content provider giving these entities more flexibility in managing their business and offering new services. Besides switching out a CAS/DRM vendor for any number of reasons, enabling the ability to add applications supporting new CAS/DRM vendors in fielded CE devices can result in generating significantly higher content sale revenues without requiring consumers to upgrade their CE devices. Consumer savings are realized by extending the field life of the CE device by allowing the consumer to download new software images to enable the purchase of new content services without having to replace their fielded CE devices.
- Extending Fixed Secrets with Key Derivation can be used to extend the fixed secret, S 1 , shown in FIGs. 5A and 5B to decrypt either of the encrypted paring keys E Si [K P ], E Sz [K P ] to with secrets S t and S 2 , respectively produce the pairing key Kp that is used to decrypt the ECW shown in FIG. 4C.
- the extension provides the ability to: (1) Use derived root keys to produce S 1 and alternately or in addition, using such root keys to produce S 2 and (2) Use this derivation process as a means of renewing key material for a fielded system.
- hardware root of trust values can provide the basis for security providers such as the pairing broker 304 and/ or one or more of the broadcasters 102 to derive a plurality of different security keys. Such keys can be used to add new security procedures or modify procedures already implemented. This can be accomplished, for example, by altering the key generation inputs based on security provider software (CAS or DRM) and possibly inputs vendor-unique hardware root of trust values.
- the key generation inputs can be provided in the CAS and DRM application software that could be loaded at into consumer electronics (CE) devices such as the transport module 2002 or CAM 206 when the devices are manufacture, or remotely downloaded over the air for a fielded CE device. This permits cryptographic separation of the CE devices at both S 1 and S 2 .
- CE consumer electronics
- Such hardware root of trust values can include one-time-programmable (OTP) values programmed into the transport module 202 and or CAM 206 using, for example, black box techniques also described in U.S. Patent
- OTP values may be held secret from other entities as necessary.
- the pairing broker 304 or third party security provider may provide a black box to the broadcaster 102 or manufacturer of the STB, permitting the storage of an OTP value without disclosing that value to the security provider or broadcaster.
- Another advantage of using a derived key database is that the black box programmed OTP key secrets programmed into the SoC OTP may be held secret from (do not have to be released to) the CAS or DRM security provider, since these security providers would use the OTP key secrets to derive the keys required for their content protection system. This permits supporting multiple security provider vendors.
- FIG. 7 is a diagram illustrating an exemplary embodiment of the transport module 202 and the CAM 206, wherein the transport module 202 includes a hardware root of trust value OTPl 702A and/ or the CAM 206 has another hardware root of trust value OTP2 702B, thus permitting at least one of the first information S x and second information S 2 to be derived from a hardware root of trust secret stored in at least one of the transport module 202 and the CAM 206.
- the transport module 202 has a SoC with a processor that can perform processor instructions 704A.
- the processor has access to OTP 1 702 and can use deriving information such as the processor instructions 704A to derive or generate the first value S x via one or more operations 708A.
- the CAM 206 comprises a SoC with a processor that can perform processor instructions 704B.
- the processor has access to OTP 1 702 and can use the processor instructions 704A to generate the first value S l via one or more operations 708B.
- the transport module 202 may also store one or more further hardware root of trust values OTPl 706A1 and OTP2 706A2 that can also be used as deriving information to generate the first value S x .
- OTPl 706A1 and OTP2 706A2 are security provider -unique, with each allocated to different security providers, allowing the transport module 202 to support CAS/DRM procedures of multiple security providers, allowing each such security provider to use their own OTP value 706A to generate first information S x .
- security providers may be provided multiple OTP values as well.
- the CAM 206 may also store one or more further hardware root of trust values OTPl 706B1 and OTP2 706B2 that can also be used to generate the second value S 2 .
- OTPl 706B1 and OTP2 706B2 may be allocated to the same security provider, or different security providers, allowing the CAM 206 to support CAS/DRM procedures of multiple security providers.
- FIG. 8 illustrates an exemplary computer system 800 that could be used to implement the servers or the subscriber computer 512 of the present invention.
- the computer 802 comprises a processor 804 and a memory, such as random access memory (RAM) 806.
- the computer 802 is operatively coupled to a display 822, which presents images such as windows to the user on a graphical user interface 818B.
- the computer system 802 may be coupled to other devices, such as a keyboard 814, a mouse device 816, a printer, etc.
- keyboard 814 a keyboard 814
- a mouse device 816 a printer, etc.
- the computer 802 operates under control of an operating system 808 stored in the memory 806, and interfaces with the user to accept inputs and commands and to present results through a graphical user interface (GUI) module 818A.
- GUI graphical user interface
- the instructions performing the GUI functions can be resident or distributed in the operating system 808, the computer program 810, or implemented with special purpose memory and processors.
- the computer 802 also implements a compiler 812 which allows an application program 810 written in a programming language such as COBOL, C++, FORTRAN, or other language to be translated into processor 804 readable code.
- the application 810 accesses and manipulates data stored in the memory 806 of the computer 802 using the relationships and logic that was generated using the compiler 812.
- the computer 802 also optionally comprises an external communication device such as a modem, satellite link, Ethernet card, or other device for communicating with other computers.
- instructions implementing the operating system 108, the computer program 810, and the compiler 812 are tangibly embodied in a computer-readable medium, e.g., data storage device 820, which could include one or more fixed or removable data storage devices, such as a zip drive, floppy disc drive 824, hard drive, CD-ROM drive, tape drive, etc.
- the operating system 808 and the computer program 810 are comprised of instructions which, when read and executed by the computer 802, causes the computer 802 to perform the steps necessary to implement and/ or use the present invention.
- Computer program 810 and/ or operating instructions may also be tangibly embodied in memory 806 and/ or data communications devices 830, thereby making a computer program product or article of manufacture according to the invention.
- the terms "article of manufacture,” “program storage device” and “computer program product” as used herein are intended to encompass a computer program accessible from any computer readable device or media.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Mathematical Physics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
A method and apparatus for brokering the enablement of the communication of encrypted media programs from a plurality of independent broadcasters to a plurality of receivers is disclosed. The system makes use of a pairing key for each provided service, which is differently encrypted by a pairing server and by the broadcaster providing the service. The encrypted versions of the pairing key are decrypted in a first receiver module using information known to the pairing service but not the broadcaster and in a second receiver module using information known to the broadcaster. The pairing key is used to cryptographically bind the first and second receiver modules.
Description
METHOD AND APPARATUS FOR SUPPORTING MULTIPLE BROADCASTERS INDEPENDENTLY USING A SINGLE CONDITIONAL ACCESS SYSTEM
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is an international (PCT) Application of U.S. Patent Application No. 15/652,082, entitled "METHOD AND APPARATUS FOR SUPPORTING MULTIPLE BROADCASTERS INDEPENDENTLY USING A SINGLE CONDITIONAL ACCESS SYSTEM," by Ronald P. Cocchi, Gregory J. Gagnon, Dennis R. Flaharty, Michael A. Gorman, Jacob T. Carson and Matthew A. Skubiszewski, filed July 17, 2017, which application:
claims benefit of U.S. Provisional Patent Application, No. 62/446,196, entitled "SIGNALING METHOD FOR CAS SWITCHING AND KEY DERIVATION," by Ronald P. Cocchi et al, filed January 13, 2017, which is also incorporated by reference herein; and
is a continuation-in-part of U.S. Patent Application No.
14/692,500, entitled "METHOD AND APPARATUS FOR SUPPORTING MULTIPLE BROADCASTERS INDEPENDENTLY USING A SINGLE CONDITIONAL ACCESS SYSTEM," by Ronald P. Cocchi, Gregory J.
Gagnon, and Dennis R. Flaharty, filed April 21, 2015, now issued as U.S. Patent No. 9,014,375, which application is a continuation of U.S. Patent Application No. 13/541,492, entitled "METHOD AND APPARATUS FOR
SUPPORTING MULTIPLE BROADCASTERS INDEPENDENTLY USING
A SINGLE CONDITIONAL ACCESS SYSTEM," by Ronald P. Cocchi, Gregory J. Gagnon, and Dennis R. Flaharty, filed July 3, 2012, now issued as U.S. Patent No. 9,014,375, which application is a continuation of U.S. Patent
Application No. 11/795,272, entitled "METHOD AND APPARATUS FOR SUPPORTING MULTIPLE BROADCASTERS INDEPENDENTLY USING A SINGLE CONDITIONAL ACCESS SYSTEM," by Ronald P. Cocchi, Gregory J. Gagnon, and Dennis R. Flaharty, filed July 13, 2007, now issued as U.S. Patent No. 8,243,925, which is a national phase application of International Patent Application No.: PCT/US2005/037197, entitled "METHOD AND APPARATUS FOR SUPPORTING MULTIPLE BROADCASTERS INDEPENDENTLY USING A SINGLE CONDITIONAL ACCESS SYSTEM," by Ronald P. Cocchi, Gregory J. Gagnon, and Dennis R. Flaharty, filed October 18, 2005, which claims benefit of U.S. Provisional Patent
Application No. 60/619,663, entitled "METHOD OF SUPPORTING
MULTIPLE BROADCASTERS INDEPENDENTLY USING A SINGLE CONDITIONAL ACCESS SYSTEM," by Ronald P. Cocchi, Gregory J.
Gagnon, and Dennis R. Flaharty, filed October 18, 2004, all of which
applications are hereby incorporated by reference herein. BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to systems and methods for providing conditional access to media programs, and in particular to a system and method for providing for such conditional access between multiple independent broadcasters and a plurality of customers using a single conditional access system.
2. Description of the Related Art
For many years, media programs such as television and radio programs have been broadcast to viewers/listeners free of charge. More recently, this free- of-charge dissemination model has been augmented with a fee-for-service and/ or fee-for-view model in which paying subscribers are provided access to a greater variety and number of media programs, including video programs, audio programs and the like, by cable, satellite and terrestrial broadcasts.
However, while subscriber-based services are readily available in some areas, they are not available on a world-wide basis. Further, in current media program subscription business models, subscribers are typically offered services from a small number of providers (e.g. DIRECTV or ECHOSTAR, or the approved local cable provider) each of which typically provide a large number of media channels from a variety of sources (e.g. ESPN, HBO, COURT TV, HISTORY CHANNEL). To assure that only subscribers receive the media programs, each service provider typically encrypts the program material and provides equipment necessary for the customer to decrypt them so that they can be viewed.
Since they provide a large number of programs and typically at a relatively high cost, the vast majority of customers subscribe to only one of the foregoing services (e.g. DIRECTV, ECHOSTAR, or the local cable provider), but not multiple providers. It is expected that future business models will evolve to the point where customers will subscribe to more than one media provider, each of which provides a smaller number of media channels. The foregoing is especially true in areas where subscriber-based services are in their infancy, including for example, large parts of Asia, Africa, and South America.
One of the roadblocks to the evolution of such services is the means by which the service provider assures that only paying customers receive their media programs. Existing conditional access systems are not compatible with each
other, and it is thought to be prohibitively expensive for each provider of a limited number of media programs to produce and provide its own conditional access system to potential subscribers. Another problem is that customers would typically prefer to receive all media programs through a single device (and hence, a single conditional access system), rather than multiple such systems.
Accordingly, there is a need in the art for a method and apparatus that allows multiple program providers (e.g. broadcasters) to transmit media programs to paying subscribers via a single conditional access system. The present invention satisfies that need.
SUMMARY OF THE INVENTION
To address the requirements described above, the present invention discloses a method, apparatus, article of manufacture for brokering the enabling of communication of encrypted media programs from a plurality of independent broadcasters to a plurality of receivers, each encrypted media program decryptable by a first receiver module securely communicating with a second receiver module according to a pairing key associated with one of the plurality of receivers. In one disclosed embodiment, the method comprises the steps of transmitting a service enabling request from one of the plurality of broadcasters to a broker independent from the one of the plurality of broadcasters, the request comprising an identification of the one of the plurality of receivers; receiving a first encrypted version of the pairing key Es [Kp ] from the broker, the first encrypted version of the pairing key Es [Kp ] decryptable by first information
S1 securely stored in the first receiver module of the one of the plurality of receivers; generating a second encrypted version of the pairing key K , the second encrypted version of the pairing key Es^ [Kp] decryptable by second information S2 securely stored in the second receiver module; and transmitting the first encrypted version of the pairing key Es [Kp ] and the second encrypted version of the pairing key Es^ [Kp] to the one of the plurality of receivers. In another disclosed embodiment, the apparatus is described by system for brokering the enabling of communication of encrypted media programs from a plurality of independent broadcasters to a plurality of receivers, each encrypted media program decryptable by a first receiver module securely communicating with a second receiver module according to a pairing key K associated with one of the plurality of receivers. The system comprises a broker, for providing a first encrypted version of the pairing key Es [Kp ] in response to a service enabling
request from one of the plurality of broadcasters, the service request having an identification of one of the plurality of receivers, wherein the first encrypted version of the pairing key Es [Kp ] is decryptable by first information S1 stored in the first receiver module. In each of these embodiments, at least one of the first information Sx and the second information S2 may be derived from a hardware root of trust stored in at least one of the first receiver module and the second receiver module
BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 is a diagram illustrating a media program distribution system;
FIG. 2 is a diagram of a typical subscriber station;
FIG. 3 is a diagram illustrating a multiple broadcaster media program distribution system;
FIGs. 4A-4D are diagrams illustrating one embodiment of how the pairing system cooperatively operates with multiple service providers and equipment at the subscriber stations to implement a conditional access system;
FIG. 5A is a diagram illustrating one embodiment of the service provider;
FIG. 5B is a diagram illustrating an embodiment of a table stored in the pairing system;
FIG. 5C is a diagram illustrating an embodiment of a table stored by the service provider;
FIG. 6 is a diagram illustrating one embodiment of the STB;
FIG. 7 is a diagram illustrating an exemplary embodiment of the transport module and the CAM; and
FIG. 8 is a diagram of a computer that can be used to implement selected modules.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
In the following description, reference is made to the accompanying drawings which form a part hereof, and which is shown, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
FIG. 1 is a diagram illustrating a media program distribution system 100. The system 100 includes a plurality of service providers (hereinafter alternatively referred to as broadcasters) 102, including a first service provider 102A that broadcasts media programs from a satellite broadcast facility 152A via one or more uplink antennas and one or more satellites 156, a second service provider 102B, that broadcasts media programs from terrestrial broadcast facility 152B and one or more terrestrial antennas 164, and a third service provider 102C that broadcasts media programs via a cable link 160.
The system 100 also comprises a plurality of subscriber stations 104A, 104B (alternatively referred to hereinafter as subscriber station 104), each providing service to one or more subscribers 112A, 112B (alternatively referred to hereinafter as subscribers 112). Each subscriber station 104A, 104B may include a satellite reception antenna 106A, 106B (alternatively referred to hereinafter as satellite reception antenna 104) and/or a terrestrial broadcast antenna 108A, 108B (alternatively referred to hereinafter as terrestrial broadcast antenna 108) communicatively coupled to a receiver 110A, HOB (alternatively referred to hereinafter as receiver 110), which is also known as a set top box (STB) or an integrated receiver/decoder (IRD).
As described above, in prior art systems, each receiver 110A, HOB (or at least, each conditional access system used with each receiver) is capable of receiving subscriber-based media programs from only one of the media program providers
102. Hence, if a subscriber 112 wanted to receive media programs from more than one media program provider 102 on a subscription basis, the subscriber may need not only to have a multiple receivers 110 at the subscriber station 104A, but also, will require multiple conditional access systems.
FIG. 2 is a diagram of a typical subscriber station 104. Each station 104 includes at least one receiver or STB 110, which itself includes a transport module 202 that communicates with a conditional access module (CAM) 206. In one embodiment, the CAM 206 is a smart card that is removably
communicatively coupleable to the transport module 202 and hence, the STB 110. In another embodiment, the CAM 206 is a device such as a chip or a collection of devices that are physically integrated with the STB 110 and irremovable. To assure that only those who subscribe to the service are provided with media programs, the service providers typically encrypt the media program M with a control word CW, thus producing and encrypted program Ecw [M] , and transmit the encrypted media program Ecw [M] and an encrypted version of the control word E[CW] to the receiver 110. The receiver 110 receives both the encrypted program Ecw [M] and the encrypted control word E[CW] . The transport module 202 analyzes the incoming data stream and passes the encrypted control E[CW] to the CAM 206, which decrypts the control word CW and returns the decrypted control word CW to a security module 204 or similar device in the transport module 202. The security module 204 then uses the control word CW to decrypt the encrypted media program Ecw [M] to produce the media program M for presentation to the subscriber. This system assures that only those who are in possession of a valid CAM 206 can receive and decode media programs. However, it does not prevent the use of the CAM 206 in any other STB 110. Hence, if the CAM 206 is compromised or duplicated, unauthorized access to media programs is possible.
FIG. 3 is a diagram illustrating a multiple broadcaster Conditional Access Subscriber Administration System (CASAS) 200. The MB system 200 is similar to that which is disclosed in FIG. 1, but includes a pairing broker 304, which can communicate with the broadcast facilities 152 via a communications medium 302 such as the Internet.
FIGs. 4A-4D are diagrams illustrating one embodiment of how the pairing broker 304 cooperatively operates with multiple service providers 102 and equipment at the subscriber stations 104 to implement a conditional access system. FIGs. 4A-4D will be described in connection with and with reference to FIGs. 5 and 6, which illustrate one embodiment of the service provider 102 elements and STB 110 elements, respectively.
FIG. 4A begins with a potential customer 112 who has decided to subscribe a media program service offered by a service provider 102. To do so, the subscriber contacts the service provider 102 and transmits information sufficient to identify the STB and the CAM to the service provider 102, as shown in block 402.. In one embodiment, this information includes an STB 110 unique identifier (ID) (such as a serial number or other designation) and a CAM 206 unique identifier (CAM ID). In a preferred embodiment, this is accomplished by transmitting the information via the Internet 302 or similar network.
This can be accomplished by use of a web browser implemented in a computer 512 disposed at the subscriber station 104 and a web transaction module 502 implemented at the service provider 102. If desired, the subscriber's web browser can include the appropriate references to the URL where the request and STB ID and CAM ID should be transmitted. In one embodiment, in addition to the STB ID, the potential subscriber also transmits his/her credit card information (e.g. the account number) as well. This allows for services to be automatically billed for monthly subscription fees without further interaction. Credit card payment administration can be performed by the service provider 102
or by a third party such as PAYPAL. These functions can be performed by the subscriber administration module (SAM) 504. The SAM 504 can also comprise or be integrated with a customer relationship management (CRM) system or systems. If access is approved (e.g. if the supplied credit card information has been verified), the subscriber administration module 504 directs the web transaction module 502 to request a pairing key Kp from the pairing broker 304.
This implementation reduces the support requirements for the service provider 102. In other embodiments, the potential customer 112 can contact the service provider 102 via telephone or other means and provide the service request, STB ID, and CAM ID. Further, if desired, the pairing broker 304 can receive the service request (preferably via an appropriate Internet interface) and forward the request for service and the appropriate identifying information to the service provider 102.
The service provider 102 receives the service request the identifying information, as shown in block 404. The service provider 102 then transmits an enabling service request and the STB ID to the pairing broker 304, as shown in block 408. In block 410, the pairing broker 304 receives the service enabling request and the STB ID. A first encrypted version of a pairing key Kp is then provided. The pairing key Kp wzs generated either in block by the service provider 102, as shown in block 406 or, preferably by the pairing broker 304, as shown in block 406'. The first encrypted version of the pairing key K is provided so as to be decryptable using first information Sl securely stored in a first receiver module such as the transport module 202 shown in FIG. 6 (the first encrypted version of the pairing key Kp therefore described as Es [Kp ] In one embodiment, this is accomplished by use of a secret that is known to the pairing broker 304, but unknown to the service provider 102. The STB IDs and related first information S, can be stored in a table or a database 514 in the
pairing broker 304. If desired, the related first encrypted versions of the pairing key Es [Kp ] can be stored as well.
In block 414, the first encrypted version of the pairing key Es [K ] is transmitted to the service provider 102. If the pairing key Kp was generated by the pairing broker 304, the pairing key Kp is also transmitted to the service provider 102. One of both of the first encrypted version of the pairing key Es [Kp ] and the pairing key Kp can be securely transmitted to the service provider 102 via a shared secret, a private key, or a public/private key security paradigm, if desired.
The foregoing process can be used to request all services from a service provider with a single pairing key K or repeated to request other services from the service provider 102, with each service enabled and controlled via a different pairing key Kp . For example, the service provider 102 may provide both general services (e.g. access to a number of channels as a part of a baseline fee service) and pay-per-view services (e.g. access to a particular program or set of programs on a pay-per-view basis). Therefore, if the foregoing process was undertaken to subscribe to the general services and the potential subscriber 112 desires order ahead pay per view (OPPV) services or impulse pay per view (IPPV) services as well, the foregoing process can be repeated for those services, resulting in the provision of a first encrypted version of a different pairing key for each service. The system 200 has the ability to store credit information in the security module 204, CAM 206, or elsewhere, and can therefore limit the amount of IPPV events the subscriber can purchase prior to requesting additional credits. Finally, the potential subscriber 112 can repeat this process for each service provider 102 from which they wish to receive service.
Although the pairing broker 304 need not generate or store the pairing keys K , it may be desirable to do so. FIG. 5B is a diagram showing a table that might be used to store and relate the STB ID to first information S1 3 a service provider 102 identifier (BDCST ID), and pairing keys for general services, IPPV, and multiple OPPV services.
In block 420, the service provider 102 receives the first encrypted version of the pairing key K , and generates a second encrypted version of the pairing key K such that it is decryp table by second information S2 securely stored in a second receiver module such as the conditional access module 206 (the second encrypted version of the pairing key Kp therefore described as Es^ [Kp ] ).
The service provider 102 can store a table or database relating STB IDs and the pairing keys Kp for each of the provided services. FIG. 5C is an example of how such information may be stored. Note that the BRDCST ID column is not necessary in this case, because the identity of the service provider 102 is inherently known.
In block 422, the service provider 102 transmits an entitlement control message (ECM) or an entitlement management message (EMM) to the subscriber station. The ECM is transmitted to the STB 110 in response to a subscriber request for access to general media programs from the service provider 102, while the EMM is transmitted in response to a subscriber request for a specific program (e.g. an impulse or order ahead pay-per-view). The ECM/EMM includes the first encrypted version of the applicable pairing key Es [K ] , the second encrypted version of the pairing key Es [K ] , and the ID of the service provider 102 (BRDCST ID) which is providing the services related to the pairing key K . This transmission can be accomplished via the same system used to transmit the media program M itself, or a different communication system such
as the Internet or a public switched telephone network (PSTN) or cellphone network. In block 424, the transport module 304 receives the first encrypted version of the pairing key Es [Kp ] and the second encrypted version of the pairing key Es^ [Kp ] , and the service provider ID. The second encrypted version of the pairing key Es [Kp ] is provided to the conditional access module
310, where it is received, decrypted (using the second information S2 ) to obtain the pairing key K which is stored (along with a reference to the service provider ID (BRDCST ID) from which the pairing key K was received), as shown in blocks 428 and 430. Similarly, the first encrypted version of the pairing key Es [Kp ] is decrypted and stored in the transport module 304 (also along with a reference to the service provider ID from which the pairing key K was received), as shown in block 432. FIG. 6 shows an exemplary embodiment of how the data relating services, broadcasters, and pairing keys Kp might be stored in the transport module and the conditional access module.
Thereafter, the pairing key Kp is used to encrypt communications between the conditional access module 206 and the transport module 202.
Henceforward, the conditional access module 206 cannot be used a different STB 110, although if desired, more than one STB 110 can be provided to a customer, each having the same first information the conditional access module to be used with different STBs 110 in the same household.
To begin service, the broadcast module 506 and/ or the broadcast headend 516 encrypts media programs M 510 according to a control word (CW), encrypts the control word (CW) itself, and broadcasts a program stream comprising the encrypted program material Ecw [M] and the encrypted control word E[CW] to the STBs 100, as shown in blocks 450, 452 and 454. The
program stream may also comprise program guide information from the program guide module 508.
The transport module 202 in the STB 110 receives the program stream, separates out the packets of information by channel (typically according to a packet ID), and provides the encrypted control word E[CW] to the conditional access module 206. The conditional access module 206 receives the encrypted control word E[CW] decrypts it to recover the control word {CW), encrypts the control word {CW) with the pairing key K , and provides the encrypted pairing key EK [CW] to the transport module 202, as shown in blocks 460-466. Using an STB application 602 and media kernel 604, the transport module 202 decrypts the encrypted control wordEjf [CW] using the pairing key Kp thus recovering the control word {CW), as shown in block 472, and uses the decrypted control word {CW) to decrypt the encrypted media program Ecw [M] to produce the media program M, as shown in block 474.
The foregoing system can be used to modify or change the provision of services from the service provider 102 as well. This can be accomplished by the service provider 102 deleting, adding, or modifying the pairing keys K in cooperation with the pairing broker 304 in essentially the same way as described above. Such modification can occur at the subscriber's behest (e.g. the subscriber desires either more, less, or different services than previously), or that of the service provider 102 (e.g. if the offered services change or the subscriber's credit card is no longer valid).
The modules described above can be implemented as one or more software modules comprising instructions being performed by one or more special or general purpose processors, or may be implemented with hardware modules having dedicated circuitry, or with both hardware and software modules.
In one embodiment, for example, the pairing broker 304 is implemented by a
pairing server, and the program guide module 508, broadcast module 506, subscriber administration module 504 and web transaction module 502 are all implemented as servers, the transport module 202 and security module 204 are implemented in a secure, tamperproof electronic circuit, and the conditional access module is implemented on a smart card.
Derived Key Mechanism in SoCs:
The system and method described above uses unique secrets S-L and S2 into the transport module 202 and CAM 206. In the embodiments described below, either or both of the unique secrets S-L and S2 can be derived from a hardware root of trust that is programmed into the device itself. For example, the transport module 202 or CAM may be at least partially implemented using System-on-Chip (SoC) architectures that permit hardware root of trust values to be programmed into the SoC at the SoC manufacturing site using black-box techniques. Since the values of St and S2 are computed from the hardware root of trust using software and key values that may be provided by the security provider, this permits later allocation of these SoCs to any one of a number of potential CE device manufacturers and many independent CAS/DRM security providers (security provider in this context broadly refers to any entity that would use the derived key database for a population of fielded CE devices to protect content for purchase by another entity who had a particular CE device in the deployed location (e.g. home). SoC programming can also occur at the packaging or product manufacturing facility by execution of an in-field programming sequence on the SoC.
In traditional broadcast and cable system, content is offered to subscribers within the content distribution ecosystem directly from the service provider, i.e. satellite or cable provider. In some embodiments of such systems, security based on a hardware root of trust is used for high value content. In both
CAS and DRM content distribution paradigms, a security provider independent architecture can support multiple concurrent or serial CAS and DRM
implementations using a single black box programming security platform with limited One Time Programming (OTP) resources to store secrets representing the hardware root of trust that are used to derive the S-L and S2 values. This "derived key" security architecture implementation can provide a means for instantaneous switching between security profiles offered by different and independent CAS and DRM security providers.
Hence, security providers may use black box OTP resources as the basis to derive security keys to enable different security schemes by altering the key generation inputs based on CAS and DRM vendor software and possibly vendor unique OTP inputs. The key generation inputs can be provided in the CAS and DRM application that could be loaded at CE device manufacturing or downloaded over the air for a fielded CE device.
Key derivation can be accomplished in a number of ways, for example, by taking the black box programmed secret OTP keys, CAS/DRM vendor (security provider) software input and possible CAS/DRM vendor unique OTP values and combining in a series of crypto graphic calculations using AES, DES or Triple DES. Where the black box programmed secret OTP keys are used as the key and the software input and CAS/DRM vendor unique OTP values are the data in the crypto graphic operation. .
By changing the key generation inputs used to compute St and S2 values, the SoC can derive unique key outputs for each CAS and DRM security provider used for a given content provider or broadcaster. CAS unique inputs such as their assigned conditional access identifier (CA ID) maybe used to differentiate derived keys for different conditional access systems CAS1 versus CAS2.
These security provider unique key generation outputs enable support for multiple security providers for fielded CE devices typically found in STBs 110,
televisions (TVs), Smart TVs and mobile devices such as smartphones. The black box security provider provides compatible headend applications to each content provider, so that the media programs are encrypted or otherwise protected using the CAS and DRM implementation used.
Another advantage of using a derived key database is that the black box programmed OTP key secrets programmed into the SoC OTP do not have to be divulged to the multiple CAS and DRM security providers, since these security providers would use the derived key databases for their content protection systems, not the OTP value. This means that if a derived key database were compromised, it only affects the specific CAS/DRM security provider that was using that specific derived key database, i.e. such compromise would not affect the fielded CE devices or derived key databases of any other such CAS/DRM security provider.
The keys and programming infrastructure provided by an independent black box security provider enables fielded CE devices to add additional revenue baring applications to the CE device manufacturer or content provider giving these entities more flexibility in managing their business and offering new services. Besides switching out a CAS/DRM vendor for any number of reasons, enabling the ability to add applications supporting new CAS/DRM vendors in fielded CE devices can result in generating significantly higher content sale revenues without requiring consumers to upgrade their CE devices. Consumer savings are realized by extending the field life of the CE device by allowing the consumer to download new software images to enable the purchase of new content services without having to replace their fielded CE devices.
Extending Fixed Secrets with Key Derivation Key derivation techniques can be used to extend the fixed secret, S1 , shown in FIGs. 5A and 5B to decrypt either of the encrypted paring keys
ESi [KP], ESz [KP] to with secrets St and S2, respectively produce the pairing key Kp that is used to decrypt the ECW shown in FIG. 4C. The extension provides the ability to: (1) Use derived root keys to produce S1 and alternately or in addition, using such root keys to produce S2 and (2) Use this derivation process as a means of renewing key material for a fielded system.
For example, in a System-on-Chip architecture such as the architecture described in the above-referenced patent application U.S. Patent Application Serial No. 15/207,332, now published as U.S. Patent Publication No.
2017/0012952, hardware root of trust values can provide the basis for security providers such as the pairing broker 304 and/ or one or more of the broadcasters 102 to derive a plurality of different security keys. Such keys can be used to add new security procedures or modify procedures already implemented. This can be accomplished, for example, by altering the key generation inputs based on security provider software (CAS or DRM) and possibly inputs vendor-unique hardware root of trust values. The key generation inputs can be provided in the CAS and DRM application software that could be loaded at into consumer electronics (CE) devices such as the transport module 2002 or CAM 206 when the devices are manufacture, or remotely downloaded over the air for a fielded CE device. This permits cryptographic separation of the CE devices at both S1 and S2 .
Such hardware root of trust values can include one-time-programmable (OTP) values programmed into the transport module 202 and or CAM 206 using, for example, black box techniques also described in U.S. Patent
Publication No. 2017/0012952. Such OTP values may be held secret from other entities as necessary. For example, the pairing broker 304 or third party security provider may provide a black box to the broadcaster 102 or manufacturer of the STB, permitting the storage of an OTP value without disclosing that value to the security provider or broadcaster.
Another advantage of using a derived key database is that the black box programmed OTP key secrets programmed into the SoC OTP may be held secret from (do not have to be released to) the CAS or DRM security provider, since these security providers would use the OTP key secrets to derive the keys required for their content protection system. This permits supporting multiple security provider vendors. Further, if a database of derived keys database were compromised, this compromise only affects the specific CAS / DRM security provider that was using that specific derived key database, and would not affect the fielded CE devices or derived key databases of any other such CAS/DRM security provider. This allows Sx (and/ or S2) to be updated in the event of an attack that compromises the database of keys.
FIG. 7 is a diagram illustrating an exemplary embodiment of the transport module 202 and the CAM 206, wherein the transport module 202 includes a hardware root of trust value OTPl 702A and/ or the CAM 206 has another hardware root of trust value OTP2 702B, thus permitting at least one of the first information Sx and second information S2 to be derived from a hardware root of trust secret stored in at least one of the transport module 202 and the CAM 206.
In the illustrated embodiment, the transport module 202 has a SoC with a processor that can perform processor instructions 704A. The processor has access to OTP 1 702 and can use deriving information such as the processor instructions 704A to derive or generate the first value Sx via one or more operations 708A. Similarly, the CAM 206 comprises a SoC with a processor that can perform processor instructions 704B. The processor has access to OTP 1 702 and can use the processor instructions 704A to generate the first value Sl via one or more operations 708B.
The transport module 202 may also store one or more further hardware root of trust values OTPl 706A1 and OTP2 706A2 that can also be used as
deriving information to generate the first value Sx . In one embodiment, OTPl 706A1 and OTP2 706A2 are security provider -unique, with each allocated to different security providers, allowing the transport module 202 to support CAS/DRM procedures of multiple security providers, allowing each such security provider to use their own OTP value 706A to generate first information Sx . However, security providers may be provided multiple OTP values as well.
Likewise, the CAM 206 may also store one or more further hardware root of trust values OTPl 706B1 and OTP2 706B2 that can also be used to generate the second value S2 . OTPl 706B1 and OTP2 706B2 may be allocated to the same security provider, or different security providers, allowing the CAM 206 to support CAS/DRM procedures of multiple security providers.
Hardware Environment
FIG. 8 illustrates an exemplary computer system 800 that could be used to implement the servers or the subscriber computer 512 of the present invention. The computer 802 comprises a processor 804 and a memory, such as random access memory (RAM) 806. The computer 802 is operatively coupled to a display 822, which presents images such as windows to the user on a graphical user interface 818B. The computer system 802 may be coupled to other devices, such as a keyboard 814, a mouse device 816, a printer, etc. Of course, those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the computer 802.
Generally, the computer 802 operates under control of an operating system 808 stored in the memory 806, and interfaces with the user to accept inputs and commands and to present results through a graphical user interface (GUI) module 818A. Although the GUI module 818A is depicted as a separate module, the instructions performing the GUI functions can be resident or distributed in the operating system 808, the computer program 810, or
implemented with special purpose memory and processors. The computer 802 also implements a compiler 812 which allows an application program 810 written in a programming language such as COBOL, C++, FORTRAN, or other language to be translated into processor 804 readable code. After completion, the application 810 accesses and manipulates data stored in the memory 806 of the computer 802 using the relationships and logic that was generated using the compiler 812. The computer 802 also optionally comprises an external communication device such as a modem, satellite link, Ethernet card, or other device for communicating with other computers.
In one embodiment, instructions implementing the operating system 108, the computer program 810, and the compiler 812 are tangibly embodied in a computer-readable medium, e.g., data storage device 820, which could include one or more fixed or removable data storage devices, such as a zip drive, floppy disc drive 824, hard drive, CD-ROM drive, tape drive, etc. Further, the operating system 808 and the computer program 810 are comprised of instructions which, when read and executed by the computer 802, causes the computer 802 to perform the steps necessary to implement and/ or use the present invention. Computer program 810 and/ or operating instructions may also be tangibly embodied in memory 806 and/ or data communications devices 830, thereby making a computer program product or article of manufacture according to the invention. As such, the terms "article of manufacture," "program storage device" and "computer program product" as used herein are intended to encompass a computer program accessible from any computer readable device or media.
Those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the present invention. For example, those skilled in the art will recognize that any combination of the
above components, or any number of different components, peripherals, and other devices, may be used with the present invention.
Conclusion
This concludes the description of the preferred embodiments of the present invention. The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Claims
1. A method of brokering an enabling of communication of encrypted media programs from a plurality of broadcasters to a plurality of receivers, each encrypted media program decryptable by a first receiver module securely communicating with a second receiver module according to a pairing key associated with one of the plurality of receivers, comprising the steps of:
transmitting a first service enabling request from one of the plurality of broadcasters to a broker independent from the one of the plurality of broadcasters, the request comprising an identification of the one of the plurality of receivers;
receiving a first encrypted version of the pairing key E^ [Kp ] from the broker, the first encrypted version of the pairing key Es [Kp ] decryptable by first information S1 securely stored in the first receiver module of the one of the plurality of receivers;
encrypting the pairing key with second information S2 to generate a second encrypted version of the pairing key K , the second encrypted version of the pairing key Es^ [Kp ] decryptable by the second information S2 securely stored in the second receiver module; and
transmitting the first encrypted version of the pairing key E^ [Kp ] and the second encrypted version of the pairing key Es^ [Kp ] to the one of the plurality of receivers;
wherein at least one of the first information Sx and the second information S2 is derived from a hardware root of trust stored in at least one of the first receiver module and the second receiver module.
2. The method of claim 1, wherein the hardware root of trust is a secret one-time programmably stored in at least one of the first receiver module and the second receiver module.
3. The method of claim 1, wherein:
the first information Sx is derived from a first secret one time programmably stored in the first receiver module and first deriving information.
4. The method of claim 3, wherein:
the first deriving information comprises a plurality of instructions stored in the first receiver module.
5. The method of claim 4, wherein:
the first deriving information further comprises a key.
6. The method of claim 5, wherein:
the key is a security provider-unique one time programmable value known only to the security provider.
7. The method of claim 3, wherein the first deriving information is remotely downloaded to the first receiver module.
8. The method of claim 1, wherein at least one of the encrypted media programs is encrypted according to an encrypted control word E[CW] , and the method further comprising the steps of:
decrypting the first encrypted version of the pairing key Es [Kp ] in the first receiver module;
decrypting the second encrypted version of the pairing key Es^ [Kp ] in the second receiver module;
decrypting the encrypted control word E[CW] in the second receiver module;
re-encrypting the decrypted control word CW according to the decrypted second encrypted version of the pairing key;
providing the re-encrypted control word EK [CW] from the second receiver module to the first receiver module; and
decrypting the re-encrypted control word EK [CW] using the decrypted first encrypted version of the pairing key K .
9. The method of claim 1, wherein the first service enabling request is for one service from the one of the plurality of broadcasters.
10. The method of claim 1, wherein the first service enabling request is for a plurality of services from the one of the plurality of broadcasters.
11. A system for brokering an enabling of communication of encrypted media programs from a plurality of independent broadcasters to a plurality of receivers, each encrypted media program decryptable by a first receiver module securely communicating with a second receiver module according to a pairing key K associated with one of the plurality of receivers, the system comprising:
a broker, for providing a first encrypted version of the pairing key Es [Kp ] in response to a service enabling request from one of the plurality of broadcasters, the service enabling request having an identification of one of the plurality of receivers; and
wherein:
the first encrypted version of the pairing key Es [Kp ] is decryptable by first information S1 stored in the first receiver module; and
the first information S1 is derived from a hardware root of trust stored in at least one of the first receiver module and the second receiver module.
12. The system of claim 11, wherein the hardware root of trust is a secret one-time programmably stored in at least one of the first receiver module and the second receiver module.
13. The system of claim 11, wherein:
the first information Sx is derived from a first secret one time programmably stored in the first receiver module and first deriving information.
14. The system of claim 13, wherein:
the first deriving information comprises a plurality of instructions stored in the first receiver module.
15. The system of claim 14, wherein:
the first deriving information further comprises a key.
16. The system of claim 15, wherein:
the key is a security provider-unique one time programmable value known only to the security provider.
17. The system of claim 13, wherein the first deriving information is remotely downloaded to the first receiver module.
18. The system of claim 11, wherein the broker provides a first encrypted version of a different pairing key for each service requested from the one of the plurality of broadcasters to the one of the plurality of receivers.
19. The system of claim 11, wherein the broker provides a first encrypted version of a the same pairing key for every service requested from the one of the plurality of broadcasters to the one of the plurality of receivers.
20. The system of claim 11, wherein:
the first receiver module receives the first encrypted version Es [Kp ] of the pairing key Kp and a second encrypted version of the pairing key Es^ [Kp ] from the one of the plurality of broadcasters, the second encrypted version of the pairing key Es^ [Kp ] being generated by the one of the plurality of broadcasters and decryptable by second information S2 stored in the second receiver module.
21. An apparatus for brokering an enabling of communication of encrypted media programs from a plurality of independent broadcasters to a plurality of receivers, each encrypted media program decryptable by a first receiver module securely communicating with a second receiver module according to a pairing key associated with one of the plurality of receivers, the apparatus comprising:
means for transmitting a service enabling request from one of the plurality of broadcasters to a broker independent from the one of the plurality of broadcasters, the request comprising an identification of the one of the plurality of receivers;
means for receiving a first encrypted version of the pairing key Es [Kp ] from the broker, the first encrypted version of the pairing key Es [Kp ] decryptable by first information Sx securely stored in the first receiver module of the one of the plurality of receivers;
means for encrypting the pairing key with second information S2 to generate a second encrypted version of the pairing key K , the second encrypted version of the pairing key Es [Kp ] decryptable by the second information S2 securely stored in the second receiver module; and
means for transmitting the first encrypted version of the pairing key Es [Kp ] and the second encrypted version of the pairing key Es^ [Kp ] to the one of the plurality of receivers;
wherein at least one of the first information S1 and the second information S2 is derived from a hardware root of trust stored in at least one of the first receiver module and the second receiver module.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/652,082 US10477151B2 (en) | 2004-10-18 | 2017-07-17 | Method and apparatus for supporting multiple broadcasters independently using a single conditional access system |
US15/652,082 | 2017-07-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019018431A1 true WO2019018431A1 (en) | 2019-01-24 |
Family
ID=65015543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2018/042542 WO2019018431A1 (en) | 2017-07-17 | 2018-07-17 | Method and apparatus for supporting multiple broadcasters independently using a single conditional access system |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2019018431A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940504A (en) * | 1991-07-01 | 1999-08-17 | Infologic Software, Inc. | Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site |
US20030061477A1 (en) * | 2001-09-21 | 2003-03-27 | Kahn Raynold M. | Method and apparatus for encrypting media programs for later purchase and viewing |
US20150113278A1 (en) * | 2012-03-02 | 2015-04-23 | Syphermedia International, Inc. | Blackbox security provider programming system permitting multiple customer use and in field conditional access switching |
US20170012952A1 (en) | 2015-07-10 | 2017-01-12 | Syphermedia International, Inc. | Method and apparatus for a blackbox programming system permitting downloadable applications and multiple security profiles providing hardware separation of services in hardware constrained devices |
-
2018
- 2018-07-17 WO PCT/US2018/042542 patent/WO2019018431A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940504A (en) * | 1991-07-01 | 1999-08-17 | Infologic Software, Inc. | Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site |
US20030061477A1 (en) * | 2001-09-21 | 2003-03-27 | Kahn Raynold M. | Method and apparatus for encrypting media programs for later purchase and viewing |
US20150113278A1 (en) * | 2012-03-02 | 2015-04-23 | Syphermedia International, Inc. | Blackbox security provider programming system permitting multiple customer use and in field conditional access switching |
US20170012952A1 (en) | 2015-07-10 | 2017-01-12 | Syphermedia International, Inc. | Method and apparatus for a blackbox programming system permitting downloadable applications and multiple security profiles providing hardware separation of services in hardware constrained devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9712786B2 (en) | Method and apparatus for supporting multiple broadcasters independently using a single conditional access system | |
JP4358226B2 (en) | Mechanism for remote control of client devices | |
KR100641218B1 (en) | Restriction Broadcasting System and Method for Terrestrial Digital Multimedia Broadcasting | |
US7970138B2 (en) | Method and apparatus for supporting broadcast efficiency and security enhancements | |
EP2066127B1 (en) | A method, apparatus and system to manage access to program content | |
US8819721B2 (en) | System and method for controlling access to video events associated with video broadcast services | |
JP2008547312A (en) | Multimedia access device registration system and method | |
US20200068174A1 (en) | Method and apparatus for supporting multiple broadcasters independently using a single conditional access system | |
EP1903799B1 (en) | A method for realizing preview of iptv programs, an encryption apparatus, a right center system and a user terminal | |
JP2009273151A (en) | Authentication of service in conditional access system | |
WO2017092687A1 (en) | Implementation method for media gateway/terminal supporting digital rights management (drm), and device therefor | |
TWI523534B (en) | Method for transmitting and receiving a multimedia content | |
JP2007501556A (en) | Copy protection application in digital broadcasting system | |
CN101742249A (en) | A Realization Method of Trusted Two-way Network Digital TV System | |
CN101442660B (en) | System for receiving download type digital television condition and dynamic download method thereof | |
WO2019018431A1 (en) | Method and apparatus for supporting multiple broadcasters independently using a single conditional access system | |
US12015831B2 (en) | Multimedia content secure access | |
US20060059506A1 (en) | Conditional access system for digital television content based on prepayment and optimisation of the bandwidth of the channel broadcasting said content | |
Yang et al. | Authentication scheme and simplified CAS in mobile multimedia broadcast | |
KR101743928B1 (en) | Operating system of broadcast contents protection technologies and its operating method in broadcast receiver environment | |
KR101240659B1 (en) | Cas system and method for digital broadcating receiver | |
JP2014161043A (en) | Multimedia access device registration system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18749714 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18749714 Country of ref document: EP Kind code of ref document: A1 |