WO2010033505A2 - Simulcrypt key sharing with hashed keys - Google Patents

Simulcrypt key sharing with hashed keys Download PDF

Info

Publication number
WO2010033505A2
WO2010033505A2 PCT/US2009/056989 US2009056989W WO2010033505A2 WO 2010033505 A2 WO2010033505 A2 WO 2010033505A2 US 2009056989 W US2009056989 W US 2009056989W WO 2010033505 A2 WO2010033505 A2 WO 2010033505A2
Authority
WO
WIPO (PCT)
Prior art keywords
values
key
content
vendor
cavl
Prior art date
Application number
PCT/US2009/056989
Other languages
French (fr)
Other versions
WO2010033505A3 (en
Inventor
Brant L. Candelore
Original Assignee
Sony Corporation
Sony Electronics Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corporation, Sony Electronics Inc. filed Critical Sony Corporation
Priority to CA2737413A priority Critical patent/CA2737413C/en
Priority to MX2011002586A priority patent/MX2011002586A/en
Priority to JP2011527901A priority patent/JP5421375B2/en
Priority to KR1020117006204A priority patent/KR101330947B1/en
Priority to CN200980136856.9A priority patent/CN102160325B/en
Priority to EP09815062.6A priority patent/EP2327211B1/en
Publication of WO2010033505A2 publication Critical patent/WO2010033505A2/en
Publication of WO2010033505A3 publication Critical patent/WO2010033505A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2221Secondary servers, e.g. proxy server, cable television Head-end being a cable television head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Definitions

  • This application is related to a key sharing system such as the SimulCrypt system as described in draft European Telecommunications Standards Institute (ETSI) TS 103 197 V 1.3.1 (02-06) TM2117r3 Technical Specification for "Digital Video Broadcasting (DVB); Head-end implementation of DVB SimulCrypt” as published by the European Broadcast Union, which is referenced generally herein as the SimulCrypt specification and which is hereby incorporated by reference.
  • ETSI European Telecommunications Standards Institute
  • TM2117r3 Technical Specification for "Digital Video Broadcasting (DVB); Head-end implementation of DVB SimulCrypt” as published by the European Broadcast Union which is referenced generally herein as the SimulCrypt specification and which is hereby incorporated by reference.
  • the Digital Video Broadcast (DVB) SimulCrypt standard as referenced above provides a common way for conditional access providers to interface with a scrambler (or encrypter) in order to receive scrambling keys (also known as “control words"), and synchronize the distribution of Entitlement Control Messages (ECMs).
  • the interface allows content to be secured by multiple Conditional Access (CA) providers since they each receive the same scrambling key.
  • CA Conditional Access
  • This approach is called “key sharing” and the full system is described in the DVB SimulCrypt specification referenced above.
  • DVB SimulCrypt is often cited as an alternative to Selective Multiple Encryption in situations where the CA providers are "cooperating" through key sharing.
  • FIGURE 1 is a block diagram illustrating the conventional SimulCrypt headend as described in the above-referenced SimulCrypt specification.
  • FIGURE 2 is a block diagram depicting an illustrative embodiment of a modified SimulCrypt headend consistent with certain embodiments of the present invention.
  • FIGURE 3 is a diagram illustrating receiver key management in a manner consistent with certain embodiments of the present invention.
  • FIGURE 4 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
  • FIGURE 5 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
  • FIGURE 6 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
  • FIGURE 7 is an example of a hashing function for three CA Values consistent with certain embodiments of the present invention.
  • FIGURE 8 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
  • FIGURE 9 is a flow chart depicting an example implementation of a headend process consistent with certain embodiments.
  • FIGURE 10 is a flow chart depicting an example implementation of a receiver process consistent with certain embodiments.
  • the terms “a” or “an”, as used herein, are defined as one or more than one.
  • the term “plurality”, as used herein, is defined as two or more than two.
  • the term “another”, as used herein, is defined as at least a second or more.
  • the terms “including” and/or “having”, as used herein, are defined as comprising (i.e., open language).
  • the term “coupled”, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically.
  • program or “computer program” or similar terms, as used herein, is defined as a sequence of instructions designed for execution on a computer system.
  • a "program”, or “computer program” may include a subroutine, a function, a procedure, an object method, an object implementation, in an executable application, an applet, a servlet, a source code, an object code, a shared library / dynamic load library and/or other sequence of instructions designed for execution on a computer system.
  • processor encompasses both hard programmed, special purpose, general purpose and programmable devices and may encompass a plurality of such devices or a single device in either a distributed or centralized configuration without limitation.
  • the SimulCrypt standard provides a common way for conditional access providers to interface with a scrambler in order to receive scrambling keys and distribute ECMs and EMMs.
  • the interface allows content to be secured by multiple CA providers since they each receive the same shared scrambling key.
  • the security of the CA providers using the DVB SimulCrypt standard suffers since they are not able to use 1- way encryption functions (also known as trap door functions) in the derivation of the control word.
  • a random number is generated for use as a control word and shared with Conditional Access (CA) providers.
  • the random number is used as an encryption key by the scrambler to scramble content.
  • the CA providers encrypt the key using proprietary CA algorithms and methods and generate Entitlement Control Messages (ECMs) to allow receivers to access content.
  • ECMs Entitlement Control Messages
  • CA providers' systems are designed to generate a key which is a oneway function of the access criteria.
  • the access criteria are sent as ancillary fields in the ECM and possibly Entitlement Management Messages (EMMs). Doing so is desirable for these CA providers since it prevents a hacker who might have knowledge of the internal workings of a cryptographic processor and global or group keys from re-encrypting ECMs with more liberal access criteria in an attempt to re-use the SW and HW of a receiver in the hacking process.
  • ECMs Entitlement Management Messages
  • CA providers with this method of key generation cannot implement SimulCrypt or similar key sharing processes without significantly reducing the security of their systems - possibly making their systems more open to a so-called "Three Musketeer" attack where a cryptographic processor authorized for a set of services can receive service for which the appropriate subscription fees have not been paid.
  • SimulCrypt system it may be possible for a hacker to use the control word learned from one CA system, to attack the key hierarchy of the other CA system(s) sharing the control word.
  • the processing is isolated by a 1-way function at the lowest point of the key hierarchy.
  • Authentication of access criteria helps to ward off Three Musketeer attacks. These attacks take advantage of the knowledge of global keys and algorithms to re-encrypt Entitlement Control Messages (ECMs) so that hardware can be re-used. Pirates like to re-use hardware if possible since it minimizes capital investment in substitute hardware. CA providers try to make smart cards and other cryptographic devices more secure in order not to leak global keys and algorithms. But the cryptographic processors (cryptos) may yet be susceptible to hardcore reverse engineering, using Focused Ion Beam (FIB) technology, probing and other techniques. Secrets from one crypto may then be used to perform a Three Musketeer attack on other cryptos.
  • FIB Focused Ion Beam
  • a common hashing function is created at the bottom of the key hierarchy that the CA providers and the scramblers and descramblers know about.
  • the hashing function takes a contribution from each CA provider expected to share a key and passes the contribution(s) to the other party (other CA providers sharing the key).
  • Each CA provider takes each contribution(s) and finalizes the key derivation with the common hash function using each of the contributions.
  • the scrambler takes the two or more key CA Values and generates a content key (also known as a control word) used to encrypt the content for a particular period of time known as a "key epoch".
  • DVB SimulCrypt is enhanced to accept a hashed key from one or more CA providers expected to share keys. Keys need no longer be simple "random numbers" created by the SimulCrypt synchronizer. Rather, the SimulCrypt synchronizer is used to facilitate "CA Value" exchange, which CA providers may then use to calculate a common hashed key used to encrypt content (called “Control Word” in the SimulCrypt standard). Since the overall key is a one-way function even if a hacker knows global keys and secret algorithms and values, it will not be possible to change the access criteria of programs (sent in ECMs and even EMMs) in order to steal content where the appropriate fees were not paid.
  • CA Value The contribution of each CA system (CA Value) can be whatever the CA provider wants it to be. If the CA provider does not want to use a one-way function in its portion of the CA processing, then it can simply use a random number that it generates on its own. It is completely up to the CA provider.
  • block diagram 100 depicts the various components of a SimulCrypt headend as defined in the above SimulCrypt specification (See figure 1 - System Architecture). All acronyms used herein are in accord with those used in the SimulCrypt specification and thus need not be rigorously defined again.
  • the system architecture shown as block diagram 100 depicts a more or less complete SimulCrypt headend architecture, but the present discussion is primarily associated with the generation of Control Words (CW) at control word generator 104.
  • CW generator 104 generates random numbers that are used as control words at 104.
  • the CW generator 104 supplies this CW to the SimulCrypt synchronizer 108.
  • the role of the SimulCrypt synchronizer includes getting the control words (CWs) from the control word generator 104; supplying the CWs to the relevant ECM generators (ECMGs) 112 on the relevant streams, as well as any CA specific information; acquiring ECMs from the ECMGs; synchronizing the ECMs with their associated Crypto periods according to channel parameters; submitting these ECMs to multiplexer (MUX) 116 and requesting their repetition according to the channel parameters; and supplying the CW to the scrambler 120 for use in the specified Crypto Period (epoch).
  • FIGURE 2 shows how the standard SimulCrypt system is modified in accord with certain embodiments consistent with the present invention.
  • the changes made to the standard SimulCrypt system are shown in the dotted box 150 appearing at the lower portion of the drawing.
  • the CW generator 104 is replaced with a CA value generator forming a part of each CA provider like the ECM Generator (ECMG) 112.
  • the ECMG 112 receives the particular CA Values for a particular CA provider from the CW Hasher and SimulCrypt synchronizer 160, and returns ECMs to the CW Hasher and SimulCrypt synchronizer 160.
  • the CW Hasher and SimulCrypt synchronizer 160 may also include access criteria (AC) for inclusion with the ECMs. Or the ECMG may obtain access criteria from another source, for example the Access Control Generator (ACG) 164 directly, or other mechanism.
  • ACG Access Control Generator
  • Each CA provider provides a CA Value contribution (CAlV, CA2V... etc.) represented as CA Value Generators 154 which is provided to a modified SimulCrypt synchronizer 160 which is modified to further provide a hashing function to generate the CW (shown as CW Hasher and SimulCrypt synchronizer 160).
  • the hash function is carried out at 160, but in other embodiments, the CA Values are passed to the scrambler 120 or to a separate hasher device (not shown). Other variations will occur to those skilled in the art upon consideration of the present teachings.
  • the scrambler may be subject to governmental export control over key length. This is the situation with DVB Common Scrambling Algorithm in Europe.
  • the key may undergo key reduction before being applied to the scrambler. Key reduction algorithms as shown in US 7,366,302 may be used which allows each bit of the key produced to be expressed in the reduced key If key reduction is enabled, then CW Hasher and SimulCrypt synchronizer 160 would accomplish this in the headend or broadcast facility. In the receiver, the cryptographic process would apply key reduction to calculate the final key. Key reduction is performed after CA Value hashing.
  • the hashing function of 160 takes a contribution of a CA Value 154 from each CA provider expected to share a key and passes the contribution(s) to the other CA providers sharing the key. Each CA provider takes each contribution(s) and finalizes the key derivation with a hash using each of the contributions.
  • the scrambler 120 either takes the two or more key Value contributions and generates a content key CW used to encrypt the content for the key epoch, or receives the CW (generated by the hash of the multiple key Values from the synchronizer 160 if the hashing is done at the synchronizer 160 as shown).
  • Each CA provider is responsible for generating a CA Value used to derive the CW. Each CA Value could be just a random number supplied by the CA provider (or generated at the headend) as before, or could be a one-way value. It is up to the CA Provider to determine how it wishes to utilize the CA Value.
  • the hashing is shown as being carried out in synchronizer 160, but as noted above, the hash function could also be carried out at the scrambler, or prior to the synchronizer or elsewhere without limitation.
  • the SimulCrypt synchronizer instead of using the standard SimulCrypt CWG, the SimulCrypt synchronizer obtains CA 1 Value and CA 2 Value from the CA providers (assume two CA providers here, but this is not to be limiting since there could be more).
  • the CA 1 Value is shared with CA Provider 2 and the CA 2 Value is shared with CA provider 1.
  • the CA 1 Value and CA 2 Value are hashed at an appropriate location to create the CW used at the Scrambler for the same purposes as in standard SimulCrypt.
  • the CA providers contribute a Value that is hashed to produce the CW, a one way function can be implemented to enhance the security of the CA provider's CA system.
  • CA 1 Value and CA 2 Value are calculated from ECM processing.
  • the CA 1 Value is a function of the CA 1 access criteria.
  • CA 2 Value is delivered like a "random number" which is hashed at the bottom of the key hierarchy.
  • the CA 2 Value is a function of CA 2 access criteria.
  • CA 2 is delivered like a "random number" which is hashed at the bottom of the key hierarchy.
  • the crypto can perform the hash to generate the CW itself, or the host can perform the hash.
  • the crypto internally calculates CA 1 Value and CA 2 Value and performs the hash that results in the CW.
  • the crypto then outputs the CW to the host.
  • the CW may be encrypted using One-Time-Programmable (OTP) security for example to protect it across the interface to the host, hi the second case, the crypto internally calculates the CA 1 Value and CA 2 Value.
  • the crypto then outputs each to the host.
  • the host performs the hash that results in the CW.
  • the CA 1 Value and the CA 2 Value may be encrypted using OTP security for example to protect them across the interface.
  • CA 1 Value 180 and CA 2 Value 184 being delivered as inputs to a hash function 188, either within the crypto processor or the host to generate the control word 192 in the manner described above.
  • CA Values are represented as CAVl for the CA Value from CA provider 1, etc.
  • FIGURES 4-9 show a few of the many variations of hashing functions that can be used in implementing example embodiments consistent with the present invention
  • the CAVl is shown as a 128 bit key and the CAV2 is shown as 128 bits of data.
  • the CAVl key is used by an Advanced Encryption Standard (AES) encryption engine 200 to produce an encrypted output. This output is then applied along with the CAVl key to an Exclusive OR (EXOR) 204 to produce the CW.
  • AES Advanced Encryption Standard
  • EXOR Exclusive OR
  • FIGURE 5 provides a rearrangement of the AES encrypter 200 and the EXOR 204 in which CAVl is again used as a 128 bit key to the AES encrypter 200 and the CAV2 data is encrypted using the AES encrypter 200 with the CAVl key.
  • the CAV2 data are EXORed with the output of the encrypter to produce the CW.
  • FIGURE 6 another example hashing is provided in which the CAVl is used as a key for the AES encrypter 200 and CAV2 is used as the data.
  • the output is CAV2 encrypted with CAVl as the key, and that output is provided to EXOR 204 where the output is first EXORed with CAV2.
  • the output of EXOR 204 is supplied to a second EXOR 208 where that output is EXORed with CAVl to produce CW as the output.
  • FIGURE 7 provides an example of a hash that can be used for three CA providers contributing CAVl, CAV2 and CAV3. This hash can be viewed as a variant and a cascaded extension of that shown in FIGURE 4.
  • CAVl serves as the key for AES encrypter 200 and is used to encrypt CAV2.
  • the encrypted output is EXORed at 204 with CAVl to produce a first stage output (CAV12) which is encrypted by a second AES encrypter 212 (or a second instance of the first AES encrypter 200).
  • AES encrypter 212 encrypts the CAV12 hash under CAV3 used as a key by AES encrypter 212 to produce an output from 212 that is then EXORed at 208 with CAV3 to produce the CW.
  • CAV12 is produced in the same manner described in connection with FIGURE 7.
  • CAV3 and CAV4 are similarly combined using AES encrypter 212 and EXOR 208 to produce CAV34 with CAV3 used as the key and CAV4 used as the data for encrypter 212.
  • a similar arrangement of AES encrypter 216 and 220 are then used to produce the CW from CAV12 as data encrypted under CAV34 as the key, with the key being EXORed with the encrypter output to produce the CW.
  • the SimulCrypt synchronizer delivers the following:
  • encryption could be as simple as an EXOR function, or could be more complex.
  • FIGURE 9 depicts one example process that can be used in a manner consistent with certain implementations at a headend starting at 300.
  • CA Value contributions are received from each CA vendor sharing keys in the SimulCrypt system.
  • CA Values are shared directly (or indirectly as an intermediate hash such as CAV 12 shown above — in which case this operation is moved later into the process) with the other CA contributing vendors.
  • CA Value for each CA system is distributed to the receivers using ECMs or EMMs or using any other technique for distribution of keys.
  • CA Value contributions are hashed together using any suitable hashing algorithm to produce the CW.
  • the CW is then used at 320 as the content key for encryption of outgoing content at the scrambler 120. This value is used for an encryption epoch until the next control word is needed at 324, at which point the process repeats starting at 304.
  • FIGURE 10 depicts one example process that can be used in a manner consistent with certain implementations at a receiver device such as a television or set top box starting at 400.
  • the receiver receives the CA Value contributions by any suitable key distribution technique including use of ECMs and the like; however, the CW itself is not directly transferred to the receiver.
  • the receiver reproduces the CW used for encryption of content using whatever hashing algorithm was used at the headend to generate the CW. This reproduced CW is then used to decrypt content at the receiver at 412 for the current key epoch.
  • the process repeats starting at 404.
  • the receiver device uses the one-way function to re- derive the CW.
  • This low level hash allows each CA system to calculate the CW which in essence merges CA keys from each CA provider.
  • Each CA system can do whatever it wishes with this last hash, but in fact, other calculations could also be hashes up to the last hash.
  • a hash function of two or more CA Values is used as the headend as the content key or CW to encrypt the content.
  • the hash function is further used to re-derive the content key or CW at the receiver to decrypt the content.
  • the CA Value contributions from each CA vendor can be sent to the receiver in independent ECMs and there is no need to directly send the CW itself to the receiver since the CW can be re-derived at the receiver using the same hash function used to generate the CW at the headend, thus enhancing security
  • the hash algorithm itself can also be delivered in encrypted form via the ECM, an EMM or other secure mechanism, and could change periodically for further security. Other variations will occur to those skilled in the art upon consideration of the present teachings.
  • DVB SimulCrypt standard is generally intended for a broadcast stream, the concept may be applied to DRM with an IP stream. It should be possible for DRMs to share keys in the same way, although DRMs have a simplified key structure on the ECM side.
  • a security of a scrambling key used to scramble the content in accordance with a Digital Video Broadcasting (DVB) SimulCrypt standard is enhanced, hi DVB SimulCrypt standard, various Conditional Access (CA) providers receive a common shared scrambling key that is used to scramble the content.
  • DVD Digital Video Broadcasting
  • CA Conditional Access
  • the present methods achieve enhanced security by using a one-way hashing function.
  • the hashing function takes contributions of each CA provider to derive the scrambling key used for scrambling content.
  • the generated scrambling key is a one-way function which is very difficult to hack. As a result, even if the global keys are leaked or hacked, program access criteria cannot be changed which can prevent certain types of hacks.
  • a method of sharing keys among a plurality of conditional access (CA) vendors having differing CA systems used at a distribution headend involves receiving a CA Value contribution from each of the plurality of CA vendors at the headend; hashing the CA Values from each of the plurality of CA vendors together using a hashing function to produce an output control word; and at an encrypter at the headend, using the output control word as a content key, wherein the content key is used as an encryption key to encrypt content provided to a plurality of receivers that decrypt the content using any of the conditional access systems.
  • the method further involves sharing the CA Values among the plurality of CA vendors.
  • the sharing is carried out by directly providing the CA Values of each CA vendor to each other CA vendor. In certain implementations, the sharing is carried out by indirectly providing the CA Values of each CA vendor to each other vendor, wherein the CA Values provided to each vendor comprises a hash of the other vendor's CA Values.
  • one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process.
  • the encryption comprises one of DES, DVB common scrambling and AES encryption.
  • the method further involves sending the CA Values to a plurality of receivers. In certain implementations, the method further involves sending the CA Values to the plurality of receivers in an Entitlement Control Message (ECM). hi certain implementations, the method further involves sending the hashing algorithm to the plurality of receivers.
  • ECM Entitlement Control Message
  • a SimulCrypt headend apparatus that shares keys among a plurality of conditional access (CA) vendors having differing CA systems has a device for receiving a CA Value contribution from each of the plurality of CA vendors at the headend.
  • a hashing processor hashes the CA Values from each of the plurality of CA vendors together using a hashing function to produce an output control word.
  • An encrypter uses the output control word as a content key as encryption key to encrypt content provided to a plurality of receivers that decrypt the content using any of the conditional access systems.
  • CA Values there are at least two CA Values (CAVl and CAV2) and wherein CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output
  • CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output
  • one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process
  • the encryption can be one of DES, DVB common scrambling and AES encryption
  • an ECM generator generates Entitlement Control Messages (ECMs) that carry the CA Values to the plurality of receivers
  • ECM generator further generates ECMs that send the hashing algorithm to the plurality of receivers.
  • circuit functions are carried out using equivalent implementations executed on one or more programmed processors.
  • General purpose computers, microprocessor based computers, micro-controllers, optical computers, analog computers, dedicated processors, application specific circuits and/or dedicated hard wired logic, analog circuitry, pluralities of such devices and combinations of such devices in centralized or distributed configurations may be used to construct alternative equivalent embodiments.
  • Other embodiments could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)

Abstract

A method of sharing keys among a plurality of conditional access (CA) vendors having differing CA systems used at a distribution headend involves receiving a CA Value contribution from each of the plurality of CA vendors at the headend; hashing the CA Values from each of the plurality of CA vendors together using a hashing function to produce an output control word; and at an encrypter at the headend, using the output control word as a content key, wherein the content key is used as an encryption key to encrypt content provided to a plurality of receivers that decrypt the content using any of the conditional access systems. This abstract is not to be considered limiting, since other embodiments may deviate from the features described in this abstract.

Description

SIMULCRYPT KEY SHARING WITH HASHED KEYS
CROSS REFERENCE TO RELATED DOCUMENTS
This application is related to a key sharing system such as the SimulCrypt system as described in draft European Telecommunications Standards Institute (ETSI) TS 103 197 V 1.3.1 (02-06) TM2117r3 Technical Specification for "Digital Video Broadcasting (DVB); Head-end implementation of DVB SimulCrypt" as published by the European Broadcast Union, which is referenced generally herein as the SimulCrypt specification and which is hereby incorporated by reference.
COPYRIGHT AND TRADEMARK NOTICE
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. Trademarks are the property of their respective owners.
BACKGROUND
The Digital Video Broadcast (DVB) SimulCrypt standard as referenced above provides a common way for conditional access providers to interface with a scrambler (or encrypter) in order to receive scrambling keys (also known as "control words"), and synchronize the distribution of Entitlement Control Messages (ECMs). The interface allows content to be secured by multiple Conditional Access (CA) providers since they each receive the same scrambling key. This approach is called "key sharing" and the full system is described in the DVB SimulCrypt specification referenced above. DVB SimulCrypt is often cited as an alternative to Selective Multiple Encryption in situations where the CA providers are "cooperating" through key sharing.
BRIEF DESCRIPTION OF THE DRAWINGS
Certain illustrative embodiments illustrating organization and method of operation, together with objects and advantages may be best understood by reference detailed description that follows taken in conjunction with the accompanying drawings in which: FIGURE 1 is a block diagram illustrating the conventional SimulCrypt headend as described in the above-referenced SimulCrypt specification.
FIGURE 2 is a block diagram depicting an illustrative embodiment of a modified SimulCrypt headend consistent with certain embodiments of the present invention.
FIGURE 3 is a diagram illustrating receiver key management in a manner consistent with certain embodiments of the present invention.
FIGURE 4 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
FIGURE 5 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
FIGURE 6 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
FIGURE 7 is an example of a hashing function for three CA Values consistent with certain embodiments of the present invention.
FIGURE 8 is an example of a hashing function for two CA Values consistent with certain embodiments of the present invention.
FIGURE 9 is a flow chart depicting an example implementation of a headend process consistent with certain embodiments.
FIGURE 10 is a flow chart depicting an example implementation of a receiver process consistent with certain embodiments.
DETAILED DESCRIPTION
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure of such embodiments is to be considered as an example of the principles and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
The terms "a" or "an", as used herein, are defined as one or more than one. The term "plurality", as used herein, is defined as two or more than two. The term "another", as used herein, is defined as at least a second or more. The terms "including" and/or "having", as used herein, are defined as comprising (i.e., open language). The term "coupled", as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The term "program" or "computer program" or similar terms, as used herein, is defined as a sequence of instructions designed for execution on a computer system. A "program", or "computer program", may include a subroutine, a function, a procedure, an object method, an object implementation, in an executable application, an applet, a servlet, a source code, an object code, a shared library / dynamic load library and/or other sequence of instructions designed for execution on a computer system.
Reference throughout this document to "one embodiment", "certain embodiments", "an embodiment", "an example", "an implementation" or similar terms means that a particular feature, structure, or characteristic described in connection with the embodiment or example or implementation is included in at least one embodiment of the present invention. Thus, the appearances of such phrases or in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments, examples and implementations without limitation.
The term "or" as used herein is to be interpreted as an inclusive or meaning any one or any combination. Therefore, "A, B or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C". An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.
The term "processor", "controller", "Central Processor Unit (CPU)", "Computer" and the like as used herein encompasses both hard programmed, special purpose, general purpose and programmable devices and may encompass a plurality of such devices or a single device in either a distributed or centralized configuration without limitation.
As noted above, the SimulCrypt standard provides a common way for conditional access providers to interface with a scrambler in order to receive scrambling keys and distribute ECMs and EMMs. The interface allows content to be secured by multiple CA providers since they each receive the same shared scrambling key. However, the security of the CA providers using the DVB SimulCrypt standard suffers since they are not able to use 1- way encryption functions (also known as trap door functions) in the derivation of the control word.
Under the DVB SimulCrypt standard a random number is generated for use as a control word and shared with Conditional Access (CA) providers. The random number is used as an encryption key by the scrambler to scramble content. The CA providers encrypt the key using proprietary CA algorithms and methods and generate Entitlement Control Messages (ECMs) to allow receivers to access content.
However, some CA providers' systems are designed to generate a key which is a oneway function of the access criteria. The access criteria are sent as ancillary fields in the ECM and possibly Entitlement Management Messages (EMMs). Doing so is desirable for these CA providers since it prevents a hacker who might have knowledge of the internal workings of a cryptographic processor and global or group keys from re-encrypting ECMs with more liberal access criteria in an attempt to re-use the SW and HW of a receiver in the hacking process. When access criteria are authenticated in this way and a hacker attempts to modify it, the key generated is modified and the content cannot be descrambled and decoded. CA providers with this method of key generation cannot implement SimulCrypt or similar key sharing processes without significantly reducing the security of their systems - possibly making their systems more open to a so-called "Three Musketeer" attack where a cryptographic processor authorized for a set of services can receive service for which the appropriate subscription fees have not been paid. Also, with the current SimulCrypt system, it may be possible for a hacker to use the control word learned from one CA system, to attack the key hierarchy of the other CA system(s) sharing the control word. In certain proposed embodiments, while the key generated may be the same, the processing is isolated by a 1-way function at the lowest point of the key hierarchy.
Authentication of access criteria helps to ward off Three Musketeer attacks. These attacks take advantage of the knowledge of global keys and algorithms to re-encrypt Entitlement Control Messages (ECMs) so that hardware can be re-used. Pirates like to re-use hardware if possible since it minimizes capital investment in substitute hardware. CA providers try to make smart cards and other cryptographic devices more secure in order not to leak global keys and algorithms. But the cryptographic processors (cryptos) may yet be susceptible to hardcore reverse engineering, using Focused Ion Beam (FIB) technology, probing and other techniques. Secrets from one crypto may then be used to perform a Three Musketeer attack on other cryptos.
In accord with certain implementations of the invention, a common hashing function is created at the bottom of the key hierarchy that the CA providers and the scramblers and descramblers know about. The hashing function takes a contribution from each CA provider expected to share a key and passes the contribution(s) to the other party (other CA providers sharing the key). Each CA provider takes each contribution(s) and finalizes the key derivation with the common hash function using each of the contributions. The scrambler takes the two or more key CA Values and generates a content key (also known as a control word) used to encrypt the content for a particular period of time known as a "key epoch".
In this manner DVB SimulCrypt is enhanced to accept a hashed key from one or more CA providers expected to share keys. Keys need no longer be simple "random numbers" created by the SimulCrypt synchronizer. Rather, the SimulCrypt synchronizer is used to facilitate "CA Value" exchange, which CA providers may then use to calculate a common hashed key used to encrypt content (called "Control Word" in the SimulCrypt standard). Since the overall key is a one-way function even if a hacker knows global keys and secret algorithms and values, it will not be possible to change the access criteria of programs (sent in ECMs and even EMMs) in order to steal content where the appropriate fees were not paid. The contribution of each CA system (CA Value) can be whatever the CA provider wants it to be. If the CA provider does not want to use a one-way function in its portion of the CA processing, then it can simply use a random number that it generates on its own. It is completely up to the CA provider.
Turning now to FIGURE 1, block diagram 100 depicts the various components of a SimulCrypt headend as defined in the above SimulCrypt specification (See figure 1 - System Architecture). All acronyms used herein are in accord with those used in the SimulCrypt specification and thus need not be rigorously defined again. The system architecture shown as block diagram 100 depicts a more or less complete SimulCrypt headend architecture, but the present discussion is primarily associated with the generation of Control Words (CW) at control word generator 104. In accord with the SimulCrypt specification, the CW generator 104 generates random numbers that are used as control words at 104. The CW generator 104 supplies this CW to the SimulCrypt synchronizer 108.
As explained in the SimulCrypt specification, The role of the SimulCrypt synchronizer includes getting the control words (CWs) from the control word generator 104; supplying the CWs to the relevant ECM generators (ECMGs) 112 on the relevant streams, as well as any CA specific information; acquiring ECMs from the ECMGs; synchronizing the ECMs with their associated Crypto periods according to channel parameters; submitting these ECMs to multiplexer (MUX) 116 and requesting their repetition according to the channel parameters; and supplying the CW to the scrambler 120 for use in the specified Crypto Period (epoch). FIGURE 2 shows how the standard SimulCrypt system is modified in accord with certain embodiments consistent with the present invention. The changes made to the standard SimulCrypt system are shown in the dotted box 150 appearing at the lower portion of the drawing. The CW generator 104 is replaced with a CA value generator forming a part of each CA provider like the ECM Generator (ECMG) 112. The ECMG 112 receives the particular CA Values for a particular CA provider from the CW Hasher and SimulCrypt synchronizer 160, and returns ECMs to the CW Hasher and SimulCrypt synchronizer 160. The CW Hasher and SimulCrypt synchronizer 160 may also include access criteria (AC) for inclusion with the ECMs. Or the ECMG may obtain access criteria from another source, for example the Access Control Generator (ACG) 164 directly, or other mechanism.
Each CA provider provides a CA Value contribution (CAlV, CA2V... etc.) represented as CA Value Generators 154 which is provided to a modified SimulCrypt synchronizer 160 which is modified to further provide a hashing function to generate the CW (shown as CW Hasher and SimulCrypt synchronizer 160).
As shown in this drawing, the hash function is carried out at 160, but in other embodiments, the CA Values are passed to the scrambler 120 or to a separate hasher device (not shown). Other variations will occur to those skilled in the art upon consideration of the present teachings.
The scrambler may be subject to governmental export control over key length. This is the situation with DVB Common Scrambling Algorithm in Europe. The key may undergo key reduction before being applied to the scrambler. Key reduction algorithms as shown in US 7,366,302 may be used which allows each bit of the key produced to be expressed in the reduced key If key reduction is enabled, then CW Hasher and SimulCrypt synchronizer 160 would accomplish this in the headend or broadcast facility. In the receiver, the cryptographic process would apply key reduction to calculate the final key. Key reduction is performed after CA Value hashing.
The hashing function of 160 takes a contribution of a CA Value 154 from each CA provider expected to share a key and passes the contribution(s) to the other CA providers sharing the key. Each CA provider takes each contribution(s) and finalizes the key derivation with a hash using each of the contributions. The scrambler 120 either takes the two or more key Value contributions and generates a content key CW used to encrypt the content for the key epoch, or receives the CW (generated by the hash of the multiple key Values from the synchronizer 160 if the hashing is done at the synchronizer 160 as shown). Each CA provider is responsible for generating a CA Value used to derive the CW. Each CA Value could be just a random number supplied by the CA provider (or generated at the headend) as before, or could be a one-way value. It is up to the CA Provider to determine how it wishes to utilize the CA Value.
In this example, the hashing is shown as being carried out in synchronizer 160, but as noted above, the hash function could also be carried out at the scrambler, or prior to the synchronizer or elsewhere without limitation. Hence, in accord with certain implementations, instead of using the standard SimulCrypt CWG, the SimulCrypt synchronizer obtains CA 1 Value and CA 2 Value from the CA providers (assume two CA providers here, but this is not to be limiting since there could be more). The CA 1 Value is shared with CA Provider 2 and the CA 2 Value is shared with CA provider 1. The CA 1 Value and CA 2 Value are hashed at an appropriate location to create the CW used at the Scrambler for the same purposes as in standard SimulCrypt. However, since the CA providers contribute a Value that is hashed to produce the CW, a one way function can be implemented to enhance the security of the CA provider's CA system.
On the receiver side, CA 1 Value and CA 2 Value are calculated from ECM processing. The CA 1 Value is a function of the CA 1 access criteria. For CA 1, the CA 2 Value is delivered like a "random number" which is hashed at the bottom of the key hierarchy. The CA 2 Value is a function of CA 2 access criteria. For CA 2, the CA 1 Value is delivered like a "random number" which is hashed at the bottom of the key hierarchy.
Referring to FIGURE 3, at the receiver side, there are at least two ways that the keys can be managed. The crypto can perform the hash to generate the CW itself, or the host can perform the hash. In the first case, the crypto internally calculates CA 1 Value and CA 2 Value and performs the hash that results in the CW. The crypto then outputs the CW to the host. The CW may be encrypted using One-Time-Programmable (OTP) security for example to protect it across the interface to the host, hi the second case, the crypto internally calculates the CA 1 Value and CA 2 Value. The crypto then outputs each to the host. The host performs the hash that results in the CW. The CA 1 Value and the CA 2 Value may be encrypted using OTP security for example to protect them across the interface.
Both implementations are broadly characterized in FIGURE 3 as CA 1 Value 180 and CA 2 Value 184 being delivered as inputs to a hash function 188, either within the crypto processor or the host to generate the control word 192 in the manner described above. Hereinafter, the CA Values are represented as CAVl for the CA Value from CA provider 1, etc.
FIGURES 4-9 show a few of the many variations of hashing functions that can be used in implementing example embodiments consistent with the present invention, hi FIGURE 4, the CAVl is shown as a 128 bit key and the CAV2 is shown as 128 bits of data. The CAVl key is used by an Advanced Encryption Standard (AES) encryption engine 200 to produce an encrypted output. This output is then applied along with the CAVl key to an Exclusive OR (EXOR) 204 to produce the CW.
FIGURE 5 provides a rearrangement of the AES encrypter 200 and the EXOR 204 in which CAVl is again used as a 128 bit key to the AES encrypter 200 and the CAV2 data is encrypted using the AES encrypter 200 with the CAVl key. hi this case, the CAV2 data are EXORed with the output of the encrypter to produce the CW.
In FIGURE 6, another example hashing is provided in which the CAVl is used as a key for the AES encrypter 200 and CAV2 is used as the data. The output is CAV2 encrypted with CAVl as the key, and that output is provided to EXOR 204 where the output is first EXORed with CAV2. The output of EXOR 204 is supplied to a second EXOR 208 where that output is EXORed with CAVl to produce CW as the output.
Clearly, many variants of hashing functions can be used to produce one way functions at the output. The above three examples all use AES encryption, but this is not to be considered limiting. FIGURE 7 provides an example of a hash that can be used for three CA providers contributing CAVl, CAV2 and CAV3. This hash can be viewed as a variant and a cascaded extension of that shown in FIGURE 4. hi this case, CAVl serves as the key for AES encrypter 200 and is used to encrypt CAV2. The encrypted output is EXORed at 204 with CAVl to produce a first stage output (CAV12) which is encrypted by a second AES encrypter 212 (or a second instance of the first AES encrypter 200). AES encrypter 212 encrypts the CAV12 hash under CAV3 used as a key by AES encrypter 212 to produce an output from 212 that is then EXORed at 208 with CAV3 to produce the CW.
The concept can be further extended to four CA providers, for example, as shown in FIGURE 8. In this case, CAV12 is produced in the same manner described in connection with FIGURE 7. CAV3 and CAV4 are similarly combined using AES encrypter 212 and EXOR 208 to produce CAV34 with CAV3 used as the key and CAV4 used as the data for encrypter 212. A similar arrangement of AES encrypter 216 and 220 are then used to produce the CW from CAV12 as data encrypted under CAV34 as the key, with the key being EXORed with the encrypter output to produce the CW.
In this example, the SimulCrypt synchronizer delivers the following:
1) To CAl: CAV2 and CAV34 ;
2) To CA2: CAVl and CAV34 ;
3) To CA3: CAV4 and CAV12 ; and
4) To CA4: CAV3 and CAV12 .
The exact mechanism for the CA systems to deliver the CA Values to the receiver is generally proprietary and varies by provider. However, one method could use the calculated or decrypted value of the preceding stage to decrypt values sent in the next stage. This should safeguard values delivered for each stage almost as well as the derived CA Value. By way of example, the following could be done with each CA system:
1) To CAl : Encrypted using CAVl [CAV2] and Encrypted using CAV12[CAV34];
2) To CA2: Encrypted using CAV2[CAV1] and Encrypted using CAV12[CAV34];
3) To CA3: Encrypted using CAV3[CAV4] and Encrypted using CAV34[CAV12]; and
4) To CA4: Encrypted using CAV4[CAV3] and Encrypted using CAV34[CAV12].
hi the examples, 1) to 4), above, encryption could be as simple as an EXOR function, or could be more complex.
The following TABLE 1 tabulates some of the variations in the SimulCrypt possible with introduction of the present teachings (referred to as "New", with standard SimulCrypt referred to as "Standard"). RN means random number.
Figure imgf000011_0001
TABLE 1
TABLE 2 below summarizes a few of the various hashing methods that can be used in a manner consistent with the present invention. However, this table is not intended to provide an exhaustive list of hashing algorithms.
Hashing Methods )escription Comment
MD5 or Sha-l,2 lash of CAVl, CAV2. Can be arbitrarily long letc.
Feed-forward EXOR from Assignment of CAVl as Same, except each either Key or Data to Data- key, CAV2 as data, CA CAV after CAVl and out using Cipher (AES, V3 is next key or data CAV2 will require
DES, DVB Common depending on hierarchy another cipher stage Scrambling Algorithm, etc.)|
Double Feed-forwar rddElSame as above, except EXOR Key AND Data to double EXOR Data-out using Cipher (same as above)
TABLE 2
FIGURE 9 depicts one example process that can be used in a manner consistent with certain implementations at a headend starting at 300. At 304, CA Value contributions are received from each CA vendor sharing keys in the SimulCrypt system. At 308, the CA
Values are shared directly (or indirectly as an intermediate hash such as CAV 12 shown above — in which case this operation is moved later into the process) with the other CA contributing vendors. Also at 308, the CA Value for each CA system is distributed to the receivers using ECMs or EMMs or using any other technique for distribution of keys. At 312, the CA Value contributions are hashed together using any suitable hashing algorithm to produce the CW. The CW is then used at 320 as the content key for encryption of outgoing content at the scrambler 120. This value is used for an encryption epoch until the next control word is needed at 324, at which point the process repeats starting at 304.
FIGURE 10 depicts one example process that can be used in a manner consistent with certain implementations at a receiver device such as a television or set top box starting at 400. At 404, the receiver receives the CA Value contributions by any suitable key distribution technique including use of ECMs and the like; however, the CW itself is not directly transferred to the receiver. At 408, the receiver reproduces the CW used for encryption of content using whatever hashing algorithm was used at the headend to generate the CW. This reproduced CW is then used to decrypt content at the receiver at 412 for the current key epoch. When a new key is needed for the next key epoch at 420, the process repeats starting at 404. In this manner, the receiver device uses the one-way function to re- derive the CW. This low level hash allows each CA system to calculate the CW which in essence merges CA keys from each CA provider. Each CA system can do whatever it wishes with this last hash, but in fact, other calculations could also be hashes up to the last hash.
Hence, as described above, a hash function of two or more CA Values is used as the headend as the content key or CW to encrypt the content. The hash function is further used to re-derive the content key or CW at the receiver to decrypt the content. As noted above, the CA Value contributions from each CA vendor can be sent to the receiver in independent ECMs and there is no need to directly send the CW itself to the receiver since the CW can be re-derived at the receiver using the same hash function used to generate the CW at the headend, thus enhancing security, hi certain embodiments, the hash algorithm itself can also be delivered in encrypted form via the ECM, an EMM or other secure mechanism, and could change periodically for further security. Other variations will occur to those skilled in the art upon consideration of the present teachings.
While the DVB SimulCrypt standard is generally intended for a broadcast stream, the concept may be applied to DRM with an IP stream. It should be possible for DRMs to share keys in the same way, although DRMs have a simplified key structure on the ECM side.
While it is possible to daisy-chain hashing functions - if Advanced Encryption Standard (AES) or Data Encryption Standard (DES) is used - then a binary tree structure is more efficient in that it reduces the number of steps that any one receiver needs to do in order to calculate the control word. Many other variations will occur to those skilled in the art upon consideration of the present teachings.
Hence, in accord with certain implementations consistent with the invention, a security of a scrambling key used to scramble the content in accordance with a Digital Video Broadcasting (DVB) SimulCrypt standard is enhanced, hi DVB SimulCrypt standard, various Conditional Access (CA) providers receive a common shared scrambling key that is used to scramble the content. But this has a limitation that CA providers are not able to use one-way functions and hence this is less secured. The present methods achieve enhanced security by using a one-way hashing function. The hashing function takes contributions of each CA provider to derive the scrambling key used for scrambling content. The generated scrambling key is a one-way function which is very difficult to hack. As a result, even if the global keys are leaked or hacked, program access criteria cannot be changed which can prevent certain types of hacks.
Thus, a method of sharing keys among a plurality of conditional access (CA) vendors having differing CA systems used at a distribution headend involves receiving a CA Value contribution from each of the plurality of CA vendors at the headend; hashing the CA Values from each of the plurality of CA vendors together using a hashing function to produce an output control word; and at an encrypter at the headend, using the output control word as a content key, wherein the content key is used as an encryption key to encrypt content provided to a plurality of receivers that decrypt the content using any of the conditional access systems. hi certain implementations, the method further involves sharing the CA Values among the plurality of CA vendors. In certain implementations, the sharing is carried out by directly providing the CA Values of each CA vendor to each other CA vendor. In certain implementations, the sharing is carried out by indirectly providing the CA Values of each CA vendor to each other vendor, wherein the CA Values provided to each vendor comprises a hash of the other vendor's CA Values. In certain implementations, there are at least two CA Values (CAVl and CAV2) and CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output. In certain implementations, one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process. In certain implementations, the encryption comprises one of DES, DVB common scrambling and AES encryption. In certain implementations, the method further involves sending the CA Values to a plurality of receivers. In certain implementations, the method further involves sending the CA Values to the plurality of receivers in an Entitlement Control Message (ECM). hi certain implementations, the method further involves sending the hashing algorithm to the plurality of receivers.
In another embodiment, a SimulCrypt headend apparatus that shares keys among a plurality of conditional access (CA) vendors having differing CA systems has a device for receiving a CA Value contribution from each of the plurality of CA vendors at the headend. A hashing processor hashes the CA Values from each of the plurality of CA vendors together using a hashing function to produce an output control word. An encrypter uses the output control word as a content key as encryption key to encrypt content provided to a plurality of receivers that decrypt the content using any of the conditional access systems. hi certain implementations, the CA Values are shared among the plurality of CA vendors, hi certain implementations, the sharing is carried out by directly providing the CA Values of each CA vendor to each other CA vendor, hi certain implementations, the sharing is carried out by indirectly providing the CA Values of each CA vendor to each other vendor, wherein the CA Values provided to each vendor comprises a hash of the other vendor's CA Values. In certain implementations, there are at least two CA Values (CAVl and CAV2) and wherein CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output, hi certain implementations, one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process, hi certain implementations, the encryption can be one of DES, DVB common scrambling and AES encryption, hi certain implementations, an ECM generator generates Entitlement Control Messages (ECMs) that carry the CA Values to the plurality of receivers, hi certain implementations, the ECM generator further generates ECMs that send the hashing algorithm to the plurality of receivers.
Another method of receiving encrypted content with shared keys at a receiver, the shared keys being keys shared among a plurality of Conditional Access (CA) vendors having different CA systems involves receiving a plurality of Conditional Access (CA) Value contributions; hashing the CA Value contributions to re-derive a control word (CW) used as a content encryption key for use in the receiver; receiving content at the receiver encrypted using the CW; and decrypting the content at the receiver using the re-derived CW. hi certain implementations, there are at least two CA Values (CAVl and CAV2) and wherein CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output, hi certain implementations, one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process. In certain implementations, the encryption can be one of DES, DVB common scrambling and AES encryption. In certain implementations, the CA Values are received by the receiver in an Entitlement Control Message (ECM). In certain implementations, the method further involves receiving the hashing algorithm at the receiver.
A tangible computer readable electronic storage medium storing instructions which, when executed on one or more programmed processors, can carry out any of the processes described above.
Those skilled in the art will recognize, upon consideration of the above teachings, that certain of the above exemplary embodiments are based upon use of one or more programmed processors, computers or other programmable devices. However, the invention is not limited to such exemplary embodiments, since other embodiments could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors. Similarly, general purpose computers, microprocessor based computers, microcontrollers, optical computers, analog computers, dedicated processors, application specific circuits and/or dedicated hard wired logic may be used to construct alternative equivalent embodiments.
Certain embodiments described herein, are or may be implemented using one or more programmed processors executing programming instructions that are broadly described above in flow chart form that can be stored on any suitable electronic or computer readable storage medium. However, those skilled in the art will appreciate, upon consideration of the present teaching, that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from embodiments of the present invention. For example, the order of certain operations carried out can often be varied, additional operations can be added or operations can be deleted without departing from certain embodiments of the invention. Error trapping can be added and/or enhanced and variations can be made in user interface and information presentation without departing from certain embodiments of the present invention. Such variations are contemplated and considered equivalent.
While certain embodiments herein were described in conjunction with specific circuitry that carries out the functions described, other embodiments are contemplated in which the circuit functions are carried out using equivalent implementations executed on one or more programmed processors. General purpose computers, microprocessor based computers, micro-controllers, optical computers, analog computers, dedicated processors, application specific circuits and/or dedicated hard wired logic, analog circuitry, pluralities of such devices and combinations of such devices in centralized or distributed configurations may be used to construct alternative equivalent embodiments. Other embodiments could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors.
While certain illustrative embodiments have been described, it is evident that many alternatives, modifications, permutations and variations will become apparent to those skilled in the art in light of the foregoing description.

Claims

CLAIMSWhat is claimed is:
1. A method of sharing keys among a plurality of conditional access (CA) vendors having differing CA systems used at a distribution headend, the method comprising: receiving a CA Value contribution from each of the plurality of CA vendors at the headend; hashing the CA Values from each of the plurality of CA vendors together using a hashing function to produce an output control word; and at an encrypter at the headend, using the output control word as a content key, wherein the content key is used as an encryption key to encrypt content provided to a plurality of receivers that decrypt the content using any of the conditional access systems.
2. The method according to claim 1, further comprising sharing the CA Values among the plurality of CA vendors.
3. The method according to claim 2, wherein the sharing is carried out by directly providing the CA Values of each CA vendor to each other CA vendor.
4. The method according to claim 2, wherein the sharing is carried out by indirectly providing the CA Values of each CA vendor to each other vendor, wherein the CA Values provided to each vendor comprises a hash of the other vendor's CA Values.
5. The method according to claim 1, wherein there are at least two CA Values CAVl and CAV2 and wherein CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output.
6. The method according to claim 5, wherein one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process.
7. The method according to claim 5, wherein the encryption comprises one of DES, DVB common scrambling and AES encryption.
8. The method according to claim 1, further comprising sending the CA Values to a plurality of receivers.
9. The method according to claim 8, further comprising sending the CA Values to the plurality of receivers in an Entitlement Control Message (ECM).
10. The method according to claim 8, further comprising sending the hashing algorithm to the plurality of receivers.
11. A tangible computer readable electronic storage medium storing instructions which, when executed on one or more programmed processors, carry out a process according to claim 1.
12. A SimulCrypt headend apparatus that shares keys among a plurality of conditional access (CA) vendors having differing CA systems, comprising: means for receiving a CA Value contribution from each of the plurality of CA vendors at the headend; a hashing processor that hashes the CA Values from each of the plurality of CA vendors together using a hashing function to produce an output control word; and an encrypter that uses the output control word as a content key as encryption key to encrypt content provided to a plurality of receivers that decrypt the content using any of the conditional access systems.
13. The apparatus according to claim 12, further comprising means for sharing the CA Values among the plurality of CA vendors.
14. The apparatus according to claim 13, wherein the sharing is carried out by directly providing the CA Values of each CA vendor to each other CA vendor.
15. The apparatus according to claim 13, wherein the sharing is carried out by indirectly providing the CA Values of each CA vendor to each other vendor, wherein the CA Values provided to each vendor comprises a hash of the other vendor's CA Values.
16. The apparatus according to claim 12, wherein there are at least two CA Values CAVl and CAV2 and wherein CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output.
17. The apparatus according to claim 16, wherein one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process.
18. The apparatus according to claim 16, wherein the encryption comprises one of DES, DVB common scrambling and AES encryption.
19. The apparatus according to claim 12, further comprising an ECM generator that generates Entitlement Control Messages (ECMs) that carry the CA Values to the plurality of receivers.
20. The apparatus according to claim 19, wherein the ECM generator further generates ECMs that send the hashing algorithm to the plurality of receivers.
21. A method of receiving encrypted content with shared keys at a receiver, the shared keys being keys shared among a plurality of Conditional Access (CA) vendors having different CA systems, the method comprising: receiving a plurality of Conditional Access (CA) Value contributions; hashing the CA Value contributions to re-derive a control word (CW) used as a content encryption key for use in the receiver; receiving content at the receiver encrypted using the CW; and decrypting the content at the receiver using the re-derived CW.
22. The method according to claim 21, wherein there are at least two CA Values CAVl and CAV2 and wherein CAVl is used as an encryption key to encrypt CAV2 to produce an encrypted output.
23. The method according to claim 22, wherein one of CAVl and CAV2 is combined with the encrypted output in an Exclusive OR process.
24. The method according to claim 22, wherein the encryption comprises one of DES, DVB common scrambling and AES encryption.
25. The method according to claim 21, wherein the CA Values are received by the receiver in an Entitlement Control Message (ECM).
26. The method according to claim 21, further comprising receiving the hashing algorithm at the receiver.
27. A tangible computer readable electronic storage medium storing instructions which, when executed on one or more programmed processors, carry out a process according to claim 21.
PCT/US2009/056989 2008-09-18 2009-09-15 Simulcrypt key sharing with hashed keys WO2010033505A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA2737413A CA2737413C (en) 2008-09-18 2009-09-15 Simulcrypt key sharing with hashed keys
MX2011002586A MX2011002586A (en) 2008-09-18 2009-09-15 Simulcrypt key sharing with hashed keys.
JP2011527901A JP5421375B2 (en) 2008-09-18 2009-09-15 Sharing the hash key of the simulcrypt key
KR1020117006204A KR101330947B1 (en) 2008-09-18 2009-09-15 Simulcrypt key sharing with hashed keys
CN200980136856.9A CN102160325B (en) 2008-09-18 2009-09-15 Simulcrypt key sharing with hashed keys
EP09815062.6A EP2327211B1 (en) 2008-09-18 2009-09-15 Simulcrypt key sharing with hashed keys

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/284,049 2008-09-18
US12/284,049 US8204220B2 (en) 2008-09-18 2008-09-18 Simulcrypt key sharing with hashed keys

Publications (2)

Publication Number Publication Date
WO2010033505A2 true WO2010033505A2 (en) 2010-03-25
WO2010033505A3 WO2010033505A3 (en) 2010-06-24

Family

ID=42007232

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/056989 WO2010033505A2 (en) 2008-09-18 2009-09-15 Simulcrypt key sharing with hashed keys

Country Status (8)

Country Link
US (1) US8204220B2 (en)
EP (1) EP2327211B1 (en)
JP (1) JP5421375B2 (en)
KR (1) KR101330947B1 (en)
CN (1) CN102160325B (en)
CA (1) CA2737413C (en)
MX (1) MX2011002586A (en)
WO (1) WO2010033505A2 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204220B2 (en) 2008-09-18 2012-06-19 Sony Corporation Simulcrypt key sharing with hashed keys
EP2219374A1 (en) * 2009-02-13 2010-08-18 Irdeto Access B.V. Securely providing a control word from a smartcard to a conditional access module
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
WO2011064613A1 (en) * 2009-11-25 2011-06-03 Serela Card sharing countermeasures
EP2334069A1 (en) * 2009-12-11 2011-06-15 Irdeto Access B.V. Providing control words to a receiver
FR2958103B1 (en) * 2010-03-23 2012-08-17 Cryptoexperts Sas METHOD FOR IDENTIFYING A DEVICE USED BY A PIRATE TERMINAL AND ASSOCIATED DEVICE
KR20110110055A (en) * 2010-03-31 2011-10-06 한국전자통신연구원 Method and apparauts for remotely installing and updating different security client by broadcasting or communication channel
CN102387407A (en) * 2010-08-31 2012-03-21 国基电子(上海)有限公司 System and method for realizing broadcasting network conditional access (CA)
IL210169A0 (en) * 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US8687807B2 (en) 2011-01-26 2014-04-01 Nagrastar, L.L.C. Cascading dynamic crypto periods
WO2014152060A1 (en) * 2013-03-15 2014-09-25 General Instrument Corporation Protection of control words employed by conditional access systems
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US10218496B2 (en) 2014-08-04 2019-02-26 Cryptography Research, Inc. Outputting a key based on an authorized sequence of operations
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
FR3050599B1 (en) 2016-04-20 2018-05-11 4T Sa METHOD AND APPARATUS FOR APPLYING A SYSTEM FOR CONTROLLING ACCESS TO PROTECT VIDEO FLOWS IN DIRECT MODE
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
EP3767494B1 (en) 2017-08-28 2023-02-15 Bright Data Ltd. Method for improving content fetching by selecting tunnel devices
US10944544B2 (en) 2018-11-07 2021-03-09 Sony Corporation Reducing variable-length pre-key to fix-length key
US11443016B2 (en) 2018-11-09 2022-09-13 Sony Corporation Pre-key with authentication using logical combinations of pre-key bits with other information
US11171931B2 (en) * 2019-02-15 2021-11-09 Wipro Limited Method and system for providing a light-weight secure communication for computing devices
EP4075304B1 (en) 2019-02-25 2023-06-28 Bright Data Ltd. System and method for url fetching retry mechanism
US11411922B2 (en) 2019-04-02 2022-08-09 Bright Data Ltd. System and method for managing non-direct URL fetching service

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058477A (en) 1997-03-26 2000-05-02 Sony Corporation System and method for authentication, and device and method for authentication
US20040123094A1 (en) 2002-11-13 2004-06-24 Eric Sprunk Efficient distribution of encrypted content for multiple content access systems

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US6157719A (en) * 1995-04-03 2000-12-05 Scientific-Atlanta, Inc. Conditional access system
US6424717B1 (en) * 1995-04-03 2002-07-23 Scientific-Atlanta, Inc. Encryption devices for use in a conditional access system
US6937729B2 (en) * 1995-04-03 2005-08-30 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US5606616A (en) * 1995-07-03 1997-02-25 General Instrument Corporation Of Delaware Cryptographic apparatus with double feedforward hash function
US5754659A (en) 1995-12-22 1998-05-19 General Instrument Corporation Of Delaware Generation of cryptographic signatures using hash keys
EP0910008A3 (en) * 1997-10-14 2005-01-26 Canon Kabushiki Kaisha Apparatus and method for changing, adding and deleting a job, and a storage medium for such a program
IL122272A (en) * 1997-11-21 2005-06-19 Nds Ltd Symbol display system
IL123554A (en) 1998-03-04 2003-01-12 Nds Ltd Key delivery in a secure broadcasting system
GB2342013B (en) * 1998-09-23 2003-06-25 Sony Uk Ltd Multiplexing digital signals
US6363149B1 (en) 1999-10-01 2002-03-26 Sony Corporation Method and apparatus for accessing stored digital programs
IL129230A (en) 1999-03-29 2003-04-10 Nds Ltd System for determining successful reception of a message
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US7254236B1 (en) 1999-10-06 2007-08-07 Thomson Licensing Method and system for handling two CA systems in a same receiver
JP2001350967A (en) * 2000-06-09 2001-12-21 Seiko Epson Corp Print data managing device, storage medium with print data management program stored therein, storage medium with use certificate data stored therein and print data utilizing method
EP1182874A1 (en) * 2000-08-24 2002-02-27 Canal+ Technologies Société Anonyme Digital content protection system
US7143289B2 (en) * 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
JP2002271561A (en) * 2001-03-13 2002-09-20 Minolta Co Ltd Data transmitter, data receiver, data transmitting/ receiving system, data transmitting method, data receiving method, data transmitting/receiving method, program and recording medium
WO2003030447A2 (en) * 2001-09-27 2003-04-10 Matsushita Electric Industrial Co., Ltd. An encryption device, a decrypting device, a secret key generation device,a copyright protection system and a cipher communication device
KR100980523B1 (en) * 2002-03-19 2010-09-06 엔엑스피 비 브이 Conditional access control
US8818896B2 (en) * 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US7200868B2 (en) 2002-09-12 2007-04-03 Scientific-Atlanta, Inc. Apparatus for encryption key management
US7724907B2 (en) * 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
CN1692598A (en) * 2002-12-03 2005-11-02 松下电器产业株式会社 Key sharing system, shared key generating apparatus, and shared key restoring apparatus
US20040242150A1 (en) 2003-05-28 2004-12-02 Microspace Communications Corporation Systems, methods and transmission formats for providing a common platform for direct broadcast satellite television networks
MXPA06007549A (en) * 2004-01-06 2006-08-31 Thomson Licensing Secure porting of information from one device to another.
JP2005260614A (en) * 2004-03-12 2005-09-22 Dainippon Printing Co Ltd Encryption device
US7804959B2 (en) * 2005-02-01 2010-09-28 Panasonic Corporation Digital cable television broadcasting receiver
JP4501864B2 (en) * 2006-02-08 2010-07-14 村田機械株式会社 Communication terminal device
EP1840779B1 (en) * 2006-03-31 2013-03-20 Irdeto Access B.V. Method and device for authorising conditional access
JP4151709B2 (en) * 2006-04-29 2008-09-17 コニカミノルタビジネステクノロジーズ株式会社 Data processing system, data processing method, and data processing program
US20080080711A1 (en) * 2006-09-28 2008-04-03 Syphermedia International, Inc. Dual conditional access module architecture and method and apparatus for controlling same
US20090323971A1 (en) * 2006-12-28 2009-12-31 Munguia Peter R Protecting independent vendor encryption keys with a common primary encryption key
EP2122900A4 (en) * 2007-01-22 2014-07-23 Spyrus Inc Portable data encryption device with configurable security functionality and method for file encryption
EP2140667B1 (en) * 2007-04-26 2016-12-14 Nokia Technologies Oy Method and portable apparatus for searching items of different types
US8204220B2 (en) 2008-09-18 2012-06-19 Sony Corporation Simulcrypt key sharing with hashed keys

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058477A (en) 1997-03-26 2000-05-02 Sony Corporation System and method for authentication, and device and method for authentication
US20040123094A1 (en) 2002-11-13 2004-06-24 Eric Sprunk Efficient distribution of encrypted content for multiple content access systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2327211A4

Also Published As

Publication number Publication date
JP5421375B2 (en) 2014-02-19
CA2737413C (en) 2015-12-29
CN102160325A (en) 2011-08-17
EP2327211B1 (en) 2019-11-06
EP2327211A4 (en) 2017-05-10
US20100067703A1 (en) 2010-03-18
KR20110053359A (en) 2011-05-20
JP2012503433A (en) 2012-02-02
EP2327211A2 (en) 2011-06-01
US8204220B2 (en) 2012-06-19
KR101330947B1 (en) 2013-11-26
CN102160325B (en) 2014-08-27
MX2011002586A (en) 2011-04-07
WO2010033505A3 (en) 2010-06-24
CA2737413A1 (en) 2010-03-25

Similar Documents

Publication Publication Date Title
EP2327211B1 (en) Simulcrypt key sharing with hashed keys
CN103354998B (en) Control word is protected
JP5106845B2 (en) How to descramble a scrambled content data object
US9866381B2 (en) Conditional entitlement processing for obtaining a control word
EP3207659B1 (en) Securing communication in a playback device with a control module using a key contribution
JP5933705B2 (en) Receiver software protection
CA2735080C (en) Personalized whitebox descramblers
JP2012510743A (en) Content decryption apparatus and encryption system using additional key layer
US20110113443A1 (en) IP TV With DRM
WO2018157724A1 (en) Method for protecting encrypted control word, hardware security module, main chip and terminal
US20110191589A1 (en) Preventing the use of modified receiver firmware in receivers of a conditional access system
WO2013186274A1 (en) Obtaining control words using multiple key ladders
WO2014154236A1 (en) Obtaining or providing key data
Roelse A new key establishment protocol and its application in pay-TV systems

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980136856.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09815062

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: MX/A/2011/002586

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2009815062

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2737413

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 20117006204

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011527901

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE