US20110145577A1 - System and Method for a Variable Key Ladder - Google Patents

System and Method for a Variable Key Ladder Download PDF

Info

Publication number
US20110145577A1
US20110145577A1 US13/031,932 US201113031932A US2011145577A1 US 20110145577 A1 US20110145577 A1 US 20110145577A1 US 201113031932 A US201113031932 A US 201113031932A US 2011145577 A1 US2011145577 A1 US 2011145577A1
Authority
US
United States
Prior art keywords
key
keys
ladder
data
data message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/031,932
Inventor
James William Fahrny
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Comcast Cable Communications LLC
Original Assignee
Comcast Cable Holdings LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36817009&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20110145577(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Comcast Cable Holdings LLC filed Critical Comcast Cable Holdings LLC
Priority to US13/031,932 priority Critical patent/US20110145577A1/en
Assigned to COMCAST CABLE HOLDINGS, LLC reassignment COMCAST CABLE HOLDINGS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FAHRNY, JAMES WILLIAM
Publication of US20110145577A1 publication Critical patent/US20110145577A1/en
Assigned to COMCAST CABLE COMMUNICATIONS, LLC reassignment COMCAST CABLE COMMUNICATIONS, LLC MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: COMCAST CABLE COMMUNICATIONS, LLC, COMCAST CABLE HOLDINGS, LLC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • the present invention relates to a system and method for an encryption and decryption variable key ladder.
  • CA conditional access
  • the present invention generally provides new and innovative systems and techniques for-security technology that provides for lengthening the life cycle of any conditional access (CA) system by making at least one element (e.g., a variable key ladder (VKL)) of the CA system variable and renewable.
  • CA conditional access
  • VKL variable key ladder
  • the present invention generally provides a system and method for generating encrypting and decrypting keys for multiple tier hierarchies.
  • a method of generating encryption and decryption keys for a multiple tier, variable key ladder (VKL) hierarchy comprises determining a device key based on network connection and configuration data contained in conditional access system firmware, decrypting and extracting a session or category key from an input media stream or an Entitlement Management Message (EMM) using the device key, and configuring a key ladder in response to at least one Entitlement Control Message (ECM), wherein the key ladder comprises the device key and at least one of (i) a program key, (ii) the session or category key, and (iii) at least one control word.
  • ECM Entitlement Management Message
  • a system for generating encryption and decryption keys for a multiple tier, variable key ladder (VKL) hierarchy comprises a headend, a network, and at least one receiver.
  • the headend is configured to generate encrypted digital input media streams.
  • the network is coupled to the headend and configured to receive the encrypted digital input media streams.
  • the receiver is coupled to the network and configured to receive the encrypted digital input media streams and present a decrypted version of the encrypted digital media streams.
  • At least one of the headend and the at least one receiver comprises a security processor.
  • the security processor is configured to determine a device key based on network connection and configuration data contained in conditional access system hardware or firmware, decrypt and extract a session or category key from an Entitlement Management Message (EMM) using the device key, decrypt and extract at least one of (i) a program key and (ii) at least one control word from an Entitlement Control Message (ECM) in the input media stream, and configure a key ladder in response to the at least one control word, wherein the key ladder comprises the device key and at least one of (i) the program key, (ii) the session or category key, and (iii) the at least one control word.
  • EMM Entitlement Management Message
  • ECM Entitlement Control Message
  • a processor for digital media security processing comprises a selector for determining a device key based on network connection and configuration data contained in conditional access system firmware, a decryption operator for decrypting and extracting a session key from an input media stream using the device key, and at least one multiplexer for configuring a key ladder in response to at least one control word, wherein the key ladder comprises the device key and at least one of (i) a program key, (ii) the session key, and (iii) the at least one control word.
  • FIG. 1 is a diagram of a variable key ladder generation processor of the present invention.
  • FIGS. 2( a - b ) are diagrams of systems implementing the processor of FIG. 1 .
  • the present invention may be implemented in connection with a cable television transmission and reception system.
  • the present invention may be implemented in connection with a digital broadcast satellite (i.e., “dish”) television transmission and reception system (not shown).
  • the present invention may be implemented in connection with any appropriate media stream transmission and reception system to meet the design criteria of a particular application.
  • Access The ability and structure (i.e., hardware, software, firmware, etc.) to communicate with or otherwise interact with a system in order to use system resources to either handle information or gain knowledge of the information the system contains.
  • entities outside a security perimeter that can receive output from the system but cannot provide input or otherwise directly interact with the system might be treated as not having “access” and, therefore, be exempt from security policy requirements, such as the need for a security clearance.
  • Access control Protection of system resources against unauthorized access. A process by which use of system resources is regulated according to a security policy and is permitted by only authorized entities.
  • AES Advanced Encryption Standard.
  • AES is generally a much more secure algorithm to use for the storing of digital content in a digital video recording when compared to DES.
  • AES is a symmetric 128-bit block data encryption technique. AES works at multiple network layers simultaneously.
  • ASIC Application Specific Integrated Circuit.
  • CHAP Challenge Handshake Authentication Protocol
  • the authentication agent typically a network server
  • the client program a random value that is used only once and an ID value.
  • Both the sender and peer share a predefined secret.
  • the peer concatenates the random value (or nonce, i.e., value used for the one or single occasion, the present call, or purpose), the ID and the secret and calculates a one-way hash (e.g., using MD5 or other hash algorithm).
  • the hash value is sent to the authenticator, which in turn builds that same string on its side, calculates the MD5 sum itself and compares the result with the value received from the peer. When the values match, the peer is authenticated. By transmitting only the hash, the secret can not be reverse-engineered.
  • the ID value is increased with each CHAP dialogue to protect against replay attacks.
  • Control Word (see also, Working Key): The key used in program encrypt/decrypt operations.
  • Cryptographic key Usually shortened to just “key”.
  • the sequence of symbols (usually bits) that comprise the key should be random, or at least pseudo-random, because that makes the key more difficult for an adversary (e.g., hacker, thief, etc.) to determine.
  • DBS Direct Broadcast Satellite (or System)
  • DES Data Encryption Standard.
  • a fixed-key-length security algorithm that employs 56-bit length keys. Any 56-bit number can be implemented as a DES key.
  • the relatively short key length renders DES vulnerable to brute-force attack wherein all possible keys are tried one by one until the correct key is encountered (i.e., the key is “broken”).
  • DRM Digital Rights Management.
  • a system for protecting the rights of data circulated via the Internet or other digital media e.g., satellite transmissions, cable distributions, and the like
  • DRM system protects intellectual property by either encrypting the data so that it can only be accessed by authorized users or marking the content with a digital watermark or similar method so that the content can not be freely distributed.
  • ECB Electronic Code Block
  • the message is divided into 64-bit blocks, and each block is encrypted separately. Encryption is independent for each block.
  • Entitlement Control Message Stream: ECM, Messages that generally define access requirements of a program, specify the tiers required for subscription, and the cost associated with impulse purchase of the program.
  • the index may be delivered in the ECM as a reference to the content key.
  • Encrypted program keys may be delivered in the ECM stream.
  • Entitlement Management Message Stream: EMM, Messages that define access rights for each individual decoder.
  • the EMM stream is processed with the access control device; however, the user processor buffers EMMs and feeds the EMMs to the access control device via an interface.
  • the EMM contains a symmetric key typically referred to as a session key or category key.
  • Hash A function (or process) that converts an input (e.g., the input stream) from a large domain into an output in a smaller set (i.e., a hash value, e.g., the output stream).
  • Various hash processes differ in the domain of the respective input streams and the set of the respective output streams and in how patterns and similarities of input streams generate the respective output streams.
  • One example of a hash generation algorithm is Secure Hashing Algorithm-1 (SHA-1).
  • SHA-1 Secure Hashing Algorithm-1
  • MD5 Message Digest 5
  • the hash may be generated using any appropriate algorithm to meet the design criteria of a particular application.
  • Headend The control center of a cable (or other) centralized media (e.g., television) system, where broadcast signals are received and distributed.
  • the headend generally contains antennas, preamplifiers, frequency converters, demodulators, encoders, compressors, automatic switching equipment and other related equipment that receives, amplifies, filters, encrypts, encodes, and converts incoming satellite and terrestrial streams for presentation to distribution channels.
  • Initialization vector An initialization vector in a block cipher is a block of bits that is combined with the first block of data in any of several feedback modes. The IV will make each cipher text unique, even when similar plain text is encrypted with the same key in chain block coding (CBC) mode.
  • CBC chain block coding
  • Keylist A list of decoder addresses and respective decoder keys in ordered pairs.
  • Keylists may be used by the Uplink Control System (UCS) for generation of authorization messages that are addressed to the diagnostic circuit that is embedded in decoders that are specific to the encoder system.
  • UCS Uplink Control System
  • Kernel The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications. Typically, the kernel is responsible for memory management, process and task management, and disk management.
  • Key A password or table used to decipher encoded/encrypted data.
  • Multimedia Plural of medium. The form and technology used to communicate information. Multimedia presentations, for example, combine sound, pictures, and videos, all of which are different types of media.
  • Middleware Software that connects two otherwise separate applications. For example, there are a number of middleware products that link a database system to a Web server. The middleware allows users to request data from the database using forms displayed on a Web browser, and enables the Web server to return dynamic Web pages based on the user's requests and profile.
  • the term middleware is used to describe separate products that serve as the glue between two applications. Middleware is, therefore, distinct from import and export features that may be built into one of the applications. Middleware is sometimes called plumbing because it connects two sides of an application and passes data between them.
  • Nonce A random value that is used only once.
  • the nonce cryptographically binds a request and a response to prevent replay attacks.
  • Password A secret series of characters that enables a user to access a file, computer, program, media stream, and the like. May be implemented in combination with or in connection with encryption/decryption.
  • PKI Public-key Infrastructure.
  • a system of certification authorities and, optionally, registration authorities and other supporting servers and agents) that perform some set of certificate management, archive management, key management, and token management functions for a community of users in an application of asymmetric cryptography.
  • the core PKI functions are (a) to register users and devices and issue their public-key certificates, (b) to revoke certificates when required, and (c) to archive data needed to validate certificates at a much later time. Key pairs for data confidentiality may be generated (and perhaps escrowed) by certification authorities or registration authorities, but requiring a PKI client to generate its own digital signature key pair helps maintain system integrity of the cryptographic system, because then only the client ever possesses the private key it uses.
  • an authority may be established to approve or coordinate CPSs, which are security policies under which components of a PKI operate.
  • CPSs are security policies under which components of a PKI operate.
  • a number of other servers and agents may support the core PKI, and PKI clients may obtain services from them. The full range of such services is not yet fully understood and is evolving, but supporting roles may include archive agent, certified delivery agent, confirmation agent, digital notary, directory, key escrow agent, key generation agent, naming agent who ensures that issuers and subjects have unique identifiers within the PKI, repository, ticket-granting agent, and time stamp agent.
  • Program A time contiguous collection of motion image information, audio information, or a combination thereof that is generally transmitted (i.e., presented, broadcast, sent, delivered, etc.) as an entity.
  • Program Key An encryption/decryption key that controls access, encryption/decryption, etc. of a particular program.
  • RSA A public-key encryption technology developed by RSA Data Security, Inc.
  • the acronym stands for Rivest, Shamir, and Adelman, the inventors of the technique.
  • the RSA algorithm is based on the fact that there is no efficient way to factor very large numbers. Deducing an RSA key, therefore, requires an extraordinary amount of computer processing power and time. RSA may be implemented connection with key management, multiple key management, digital signatures, and the like.
  • Smart card A small electronic device about the size of a credit card that contains electronic memory, and possibly an embedded integrated circuit (IC). Smart cards containing an IC are sometimes called Integrated Circuit Cards (ICCs). Smart cards are used for a variety of purposes, including generating network IDs (similar to a token).
  • IC integrated circuit
  • ICCs Integrated Circuit Cards
  • Symmetric encryption A type of encryption where the same key is used to encrypt and decrypt the message. This differs from asymmetric (e.g., public-key) encryption, which uses one key to encrypt a message and another to decrypt the message.
  • asymmetric e.g., public-key
  • Token In security systems, a small device the size of a credit card that displays a constantly changing ID code. A user first enters a password and then the card displays an ID that can be used to log into a network. Typically, the IDs change every 5 minutes or so. A similar mechanism for generating IDs is a Smartcard or, for cable installations, a Cablecard.
  • Triple-DES (3-DES) Application of DES encryption three times using three different keys or, alternatively, using a one key for the first and third segments of a three segment key and a second key for the middle segment, for a total key bit-width of 112 or 168 bits is also used to protect certain structures and the key inside entitlements.
  • Unit address A unique number that identifies and distinguishes one decoder from another.
  • MAC Media Access Control
  • Unit key (or Private key): A key that is unique to a respective decoder. Messages intended for a particular decoder are encrypted using the respective unit key.
  • Unit keylist A file that contains unit addresses and respective unit keys.
  • Uplink Control System Software that is used to support the secure delivery of digitally compressed services.
  • the UCS generally provides the capability to authorize and de-authorize individual decoders on an event-by-event basis.
  • VOD Video On Demand
  • Working key A low level key that generally changes several times per second.
  • the working key generally has a validity that is equal to or shorter in duration than the program to which it is related.
  • the working key is also referred to as the “control word.”
  • the working key changes every 20 to 30 seconds.
  • the working key epoch i.e., the period of time during a program for which a working key is valid
  • duration may be set at an appropriate time interval.
  • any appropriate time for changing the working key may be implemented to meet the design criteria of a particular application.
  • the working key is used to derive the keystream.
  • the working key is generally delivered in an encrypted form with the respective program key.
  • Working Key File A file that contains the working keys for the entire program that is encrypted in the program key, generally in chronological order.
  • VKL variable key ladder
  • a media stream transmission and reception system may be implemented, in one example, as shown in detail in connection with FIGS. 2( a - b ) below.
  • the present invention may be implemented in connection with any appropriate media stream transmission and reception system to meet the design criteria of a particular application.
  • key generally refers to an encryption/decryption key.
  • the present invention is generally implemented as a hardware accelerated system and a method for decrypting and encrypting keys for multiple tier key hierarchies.
  • conventional approaches for key systems are fixed when hardware acceleration is used.
  • the system and method of the present invention generally provides for implementation of a variable key ladder (VKL) for use in cable systems.
  • VKL may have the number of tiers reduced or, alternatively, increased based on system design criteria and the desire for various levels of security when compared to the fixed three (3) or four (4) tier key ladder implementations of conventional approaches.
  • the present invention generally provides, through security technology, that the life cycle of any conditional access system (CAS) may be lengthened by making at least one element of the system variable and renewable.
  • the Variable Key Ladder (VKL) of the present invention generally supports incumbent (i.e., existing, legacy, previously implemented, etc.) CASs while also providing for newer larger or smaller key ladders.
  • the commercial value of the Variable Key Ladder may be very large since the present invention may support the computer and consumer electronics (CE) industry to innovate new types of streaming services for multiple system operators (MSOs), and all CE and computer companies are potential customers.
  • CE computer and consumer electronics
  • the present invention may lower the overall cost of managing head-ends, set top boxes and digital televisions, lower the cost and ease the operational complexities for Broadcast, Streaming Media, and video on demand (VOD) applications, thereby providing significant cost savings to the MSOs.
  • VOD video on demand
  • the Variable Key Ladder as a part of the security processor, will generally improve the competitive position of cable media stream distribution systems versus alternative video providers such as digital broadcast system (DBS) and emerging telecommunication-based video systems.
  • DBS digital broadcast system
  • the security processor 100 generally provides for a variable key ladder that can be started with a symmetric key or an asymmetric key (both symmetric keys and asymmetric keys are implemented in existing CA systems).
  • the selectable symmetric or asymmetric key is used to decrypt an Entitlement Management Message (EMM) or to decrypt substantially the same access rights
  • EMM Entitlement Management Message
  • the symmetric key is generally extracted from the EMM (or rights) to start the variable key ladder.
  • the size of the key ladder may be unlimited (i.e., the key ladder size is variable) and the keys for various levels may be sourced from many different data structures unlimited (i.e., the key ladder structure is also variable) in a media stream system.
  • the VKL security processor 100 may be configured to operate with devices using symmetric keys or asymmetric keys at the device level that are typically used to decrypt EMMs to validate entitlements and to extract the session or category key. Based on the network connection and configuration data when the CAS firmware is loaded, the VKL may be configured substantially at start-up time to utilize either symmetric or asymmetric keys for the device key as shown in FIG. 1 .
  • CAS firmware loaded into the processor 100 may also be able to configure the VKL processor 100 for the size of the key ladder.
  • the number of symmetric keys may be set (i.e., selected, established, predetermined, etc.) from zero to N, where N is any number, based upon the system of CA being run on the network where the processor 100 is implemented.
  • Conventional CA systems typically use 3 to 4 tiers of keys including the control word or program key.
  • the category or session key may be implemented as a symmetric key used in a chain of keys based upon the selected size of the key ladder. Each key is generally used to decrypt the next key in the chain. Each of the keys in the chain may be the result of a hash of the key and/or input data that is fed into the VKL as well.
  • the final result of the processing performed via the processor 100 is generally a control word (or working key), which will generally be used to decrypt the transport stream for the channel or service tier in the system where the processor 100 is implemented that is traversed to obtain the key.
  • the system and method of the present invention may be implemented in many ways, and may be implemented in connection with any appropriate media stream security processing system to meet the design criteria of a particular application.
  • Both triple DES and AES algorithms may be implemented to meet system criteria. Selection of triple DES and AES algorithms may be selectable using hardware registers.
  • Combinations of symmetric and asymmetric keys may be implemented on varying tiers of the key ladder generated using the system and method of the present invention. Due to the slower decryption times and key generation times for asymmetric keys, in one example, asymmetric keys may be practicably implemented only the first tier of the key ladder.
  • the VKL of the present invention is generally a cryptographic method to ensure high level content security while providing large flexibility in key management techniques used to secure the content keys and entitlements for various types of content.
  • the conventional CA systems that use 3 or 4 tier key hierarchies which are fixed, sometimes in hardware, and not modifiable are generally not suitable for future security needs or new business models.
  • the present invention When content is placed on centralized streaming servers or delivered in real-time, the present invention generally provides a cryptographic method that may ensure that MSOs have the greatest flexibility in securing content and entitlements and can also counter a number of security attacks.
  • the variable key ladder of the present invention also allows the implementation of an unlimited number of stages of keys in a new CA system.
  • the VKL of the present invention generally provides a new, more flexible, equally secure, and simplified method to deliver specialized keys and entitlement or license files for decrypting content and program streams in media stream (e.g., video) CAS and On Demand applications when compared to conventional approaches.
  • the new key management of the present invention dramatically increases security flexibility, performance and strength in the security processor.
  • the VKL system of the present invention generally ensures that legacy CA systems and new stronger CA systems are supported.
  • the VKL system of the present invention generally provides for far more efficient distribution and operations of certain types of content for broadcast, on demand, and streaming applications than conventional approaches.
  • the VKL system of the present invention generally provides for flexibility and can assist in the simplification of the Impulse Pay Per View (IPPV) and Video On Demand (VOD) security of the media stream distribution system.
  • IPPV Impulse Pay Per View
  • VOD Video On Demand
  • the security processor 100 generally comprises a key encryption/decryption engine 102 that may have an input 104 that may receive keys (e.g., KEYS_OUT, OUTPUT_KEY, and OPT_KEY), an input 106 that may receive keys (e.g., KEYS_OUT, EXTKEY), and an output 108 that may present keys (e.g., KEYS_OUT) as a control word to an output media stream 110 (e.g., to a media stream VIDOUT).
  • the engine 102 may further (i.e., optionally or alternatively) present the keys KEYS_OUT via a hash (e.g., a hash 150 n ).
  • the processor 100 is generally implemented in connection with network connection and configuration data contained in conditional access system (CAS) firmware.
  • CAS conditional access system
  • the processor 100 generally implements at least one selector (e.g., switch) 112 , encryption key sources 120 (e.g., keys generated by or stored at devices 120 a - 120 n ), at least one decryption operator (e.g., a device configured to perform at least one decryption operation, method, process, routine, algorithm, steps, blocks, software/firmware program, etc.) 122 , one or more multiplexers 130 (e.g., multiplexers 130 a and 130 b ), at least one exclusive OR (EXOR) operator (e.g., logic gate, programmed logic, etc.) 140 (e.g., EXOR 140 a and EXOR 140 b ), and at least one hash operator 150 (e.g., hash 150 a - 150 n ).
  • selector e.g., switch
  • encryption key sources 120 e.g., keys generated by or stored at devices 120 a - 120 n
  • decryption operator e.g.
  • the processor 100 generally receives encryption/decryption keys in connection with an input media stream (e.g., a signal DATA/KEYS_IN) and presents encryption/decryption keys (e.g., the signal KEYS_OUT).
  • an input media stream e.g., a signal DATA/KEYS_IN
  • encryption/decryption keys e.g., the signal KEYS_OUT
  • the encryption/decryption keys are generally contained (i.e., held, stored, programmed, etc.) in a respective source (i.e., register, memory, RAM, Flash, firmware, etc.) 120 .
  • the selector 112 and the multiplexers 130 generally select an appropriate key in response to a respective control signal (e.g., CA_CONFIGURATIONa-CA_CONFIGURATIONn).
  • the hash operators 150 are generally enabled to perform a respective one-way hash operation in response to a respective control signal (e.g., HASH_ENABLE_a-HASH_ENABLE_n).
  • the decryption operator 122 generally implements at least one decryption process such as RSA, AES, 3-DES, and the like.
  • the control signals CA_CONFIGURATION and the signal HASH_ENABLE generally establish the encryption/decryption key structure and configuration of the VKL.
  • the signal DATA/KEYS_IN generally comprises a digital media stream having at least one entitlement management message (e.g., EMM), external data (e.g., EXTDATA), and at least one external encryption/decryption key (e.g., EXTKEY).
  • EMM entitlement management message
  • EXTDATA external data
  • EXTKEY external encryption/decryption key
  • OUTPUT_KEY generally comprises at least one of a key from the message EMM (which may include at least one symmetric key in connection with a headend download) and a one time programmed/programmable (OTP) asymmetric key (e.g., OTPA) that is presented by a source 120 .
  • the data EXTDATA may be media stream data (i.e., information).
  • the key decryption operator 122 generally receives the signal (e.g., media stream) DATA/KEYS_IN that includes the message EMM, and an OTP asymmetric key (e.g., the key OTPA from a respective register 120 ).
  • the decryption operator 122 generally decrypts the EMM in response to the key OTPA to generate the key OUTPUT_KEY, and presents the signal OUTPUT_KEY to a first input of the selector 112 .
  • a second input of the selector 112 generally receives a OTP symmetric key (e.g., the key OTP_KEY from a respective register 120 ).
  • the selector 112 generally presents the signal OUTPUT_KEY or the signal OTP_KEY as a device key to a first input of the multiplexer 130 a in response to the control signal CA_CONFIGURATIONn.
  • the key OTPA may be based on network connection and configuration data.
  • the multiplexer 130 a may have a second input that may receive an internal symmetric key (e.g., the key KEYS_OUT from a respective register 120 ).
  • the multiplexer 130 a may present at least one of the signals OUTPUT_KEY and OTP_KEY, and the signal KEYS_OUT to the EXOR operator 140 a.
  • the signal KEYS_OUT may further (i.e., optionally or alternatively) be hashed via the hash operator 150 a in response to the control signal HASH_ENABLE_a.
  • the EXOR operator 140 a may present at least one of the signals (i.e., keys) OUTPUT_KEY, OTP_KEY, and KEYS_OUT to the input 104 of the engine 102 .
  • the multiplexer 130 b may have a first input that may receive the signal (i.e., key) EXTKEY that is presented via the signal (e.g., media stream) DATA/KEYS_IN via a respective register 120 .
  • the multiplexer 130 b may have a second input that may receive the signal (i.e., key) KEYS_OUT via a respective register 120 .
  • the multiplexer 130 b may present at least one of the signal EXTKEY and the signal KEYS_OUT to the EXOR operator 140 b.
  • the signals EXTKEY and KEYS_OUT may further (i.e., optionally or alternatively) be hashed via the respective hash operators 150 b and 150 c in response to the respective control signals HASH_ENABLE_b and HASH_ENABLE_c.
  • the EXOR operator 140 b may present at least one of the signals (i.e., keys) EXTKEY and KEYS_OUT to the input 106 of the engine 102 .
  • the engine 102 may generate the signal (i.e., keys) KEYS_OUT in response to at least one of the signals (i.e., keys) OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT.
  • the signal (i.e., keys) KEYS_OUT may further (i.e., optionally or alternatively) be hashed via the respective hash operator 150 n in response to the respective control signal HASH_ENABLE_n.
  • the signal (i.e., keys) KEYS_OUT may be configured as variable key ladders.
  • the configuration (e.g., size such as the number of keys (number of tiers) and the bit-counts of the keys, type of keys such as symmetric and asymmetric, implementation of hash on components of the keys, etc.) of the VKL KEYS_OUT may be generated in response to at least one of the control signals CA_CONFIGURATION and HASH_ENABLE.
  • the control signals CA_CONFIGURATION and HASH_ENABLE are generally predetermined.
  • the control signals CA_CONFIGURATION and HASH_ENABLE may be implemented in connection with firmware (e.g., in conditional access firmware, in a set top box or receiver that is implemented in connection with the security processor 100 ), downloaded (e.g., during a supervisory mode of operation), and the like.
  • At least one of the keys OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT may be implemented as a session key, or, alternatively referred to, as a category key.
  • the key KEYS_OUT may be used as a control word to encrypt/decrypt the media stream VIDOUT.
  • the security processor 100 may chain at least one of the keys OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT with at least one other of the keys OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT to generate a multi tier key hierarchy (i.e., a VKL) KEYS_OUT.
  • the security processor 100 may implement at least one of DES and AES algorithms, or, alternatively, any other appropriate symmetric key block cipher algorithm in connection with the engine 102 and the decryption operator 122 .
  • the variable key ladder generated using the processor 100 (e.g., KEYS_OUT) generally comprises the device key and at least one of (i) the program key, (ii) the session key, and (iii) at least one control word.
  • the distribution system 200 generally comprises a headend 202 , a network 204 , at least one set top box (STB) 206 (generally a plurality of STBs 206 a - 206 n ), and at least one respective receiving device (i.e., receiver, transceiver, display device, etc.) 208 (generally a plurality of devices 208 a - 208 n ).
  • STB set top box
  • the distribution system 200 is generally implemented as a media service provider/subscriber system wherein the provider (or vendor) generally operates the headend 202 and the network 204 , and also provides a subscriber (i.e., client, customer, service purchaser, user, etc.) with the STB 206 .
  • the provider or vendor
  • the provider generally operates the headend 202 and the network 204 , and also provides a subscriber (i.e., client, customer, service purchaser, user, etc.) with the STB 206 .
  • the STB 206 is generally located at the subscriber location (not shown, e.g., home, tavern, hotel room, business, etc.) and the receiving device 208 is generally provided by the client.
  • the device 208 is generally implemented as a television, high definition television (HDTV), monitor, host viewing device, MP3 player, audio receiver, radio, personal computer, media player, digital video recorder, game playing device, etc.
  • the device 208 may be implemented as a transceiver having interactive capability in connection with the STB 206 , the headend 202 , or both the STB 206 and the headend 202 .
  • the headend 202 is generally electrically coupled to the network 204
  • the network 204 is generally electrically coupled to the STB 206
  • each STB 206 is generally electrically coupled to the respective device 208 .
  • the electrical coupling may be implemented as any appropriate hard-wired (e.g., twisted pair, untwisted conductors, coaxial cable, fiber optic cable, hybrid fiber cable, etc.) or wireless (e.g., radio frequency, microwave, infrared, etc.) coupling and protocol (e.g., HomePlug, HomePNA, IEEE 802.11(a-b), BLUETOOTH, HomeRF, etc.) to meet the design criteria of a particular application.
  • the distribution system 200 is illustrated showing one STB 206 coupled to a respective one device 208
  • each STB 206 may be implemented having the capability of coupling more than one device 208 (not shown).
  • the headend 202 generally comprises a plurality of devices 210 (e.g., devices 210 a - 210 n ) that are implemented as amplifiers, pre-amplifiers, data servers, computers, processors, security encryption and decryption apparatuses or systems, and the like configured to provide video and audio data (e.g., movies, music, television programming, and the like), processing equipment (e.g., provider operated subscriber account processing servers), television service transceivers (e.g., transceivers for standard broadcast television and radio, digital television, HDTV, audio, MP3,text messaging, gaming, etc.), media streams, and the like.
  • the headend 202 may generate and present (i.e., transmit, provide, pass, broadcast, send, etc.) the stream media DATA/KEYS_IN.
  • the network 204 is generally implemented as a media stream distribution network (e.g., cable, satellite, and the like) that is configured to selectively distribute (i.e., transmit and receive) media service provider streams (e.g., standard broadcast television and radio, digital television, HDTV, audio, MP3, text messaging, games, etc.) for example, as the stream to the STBs 206 and to the receivers 208 , for example, as the stream VIDOUT.
  • the stream DATA/KEYS_IN is generally distributed based upon (or in response to) subscriber information.
  • the level of service the client has purchased e.g., basic service, premium movie channels, etc.
  • the type of service the client has requested e.g., standard TV, HDTV, interactive messaging, video on demand, pay-per-view, impulse-pay-per-view, etc.
  • the like may determine the media streams that are sent to (and received from) a particular subscriber.
  • the STB 206 is generally implemented as an STB having multiple stream capability (e.g., standard broadcast television and radio, digital television, audio, MP3, high definition digital television (HDTV), text messaging, etc.).
  • the STB 206 generally comprises at least one respective security processor (e.g., the processor 100 ).
  • the STB 206 may receive encrypted (and compressed) video and audio data (e.g., the media stream DATA/KEYS_IN), and present clear video and audio data (e.g., the stream VIDOUT) to the receiver 208 .
  • the distribution system 200 ′ generally comprises the headend 202 , the network 204 , and at least one of the receiving device (i.e., receiver, transceiver, etc.) 208 ′ (generally a plurality of the devices 208 a ′ - 208 n ′).
  • the receiving device 208 ′ is generally coupled directly to the network 204 and receives the stream DATA/KEYS_IN.
  • the receiving device 208 ′ generally comprises at least one respective security processor (e.g., the processor 100 ).
  • system 200 ′ may be implemented having at least one STB 206 coupled to the network 204 and with at least one receiver 208 coupled thereto, as well as having at least one device 208 ′ that is directly coupled to the network 204 .
  • system 200 ′ may be implemented having at least one STB 206 coupled to the network 204 and with at least one receiver 208 coupled thereto, as well as having at least one device 208 that is directly coupled to the network 204 .
  • the present invention generally provides an improved system and an improved method for generation of variable ladder encryption/decryption keys.
  • the processor of the present invention generally provides a variable key ladder that comprises a hardware acceleration with increased performance while providing re-configuration that is typically attributed to software in conventional approaches.

Abstract

A method and apparatus is described that may receive a data message and storing configuration data. The method and apparatus may also select between a first device key and a second device key depending upon the configuration data and decrypt at least a portion of the data message using a key ladder that includes the selected first or second device key.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application claims priority to, and is a continuation of, U.S. patent application Ser. No. 11/058,894, filed Feb. 16, 2005, hereby incorporated by reference as to its entirety.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to a system and method for an encryption and decryption variable key ladder.
  • 2. Background Art
  • Conventional implementations of media (e.g., video, audio, video plus audio, and the like) program stream delivery systems (e.g., cable, satellite, etc.) typically include cryptographic techniques such as conditional access (CA) to provide security to the media stream. There are complex legacy (i.e., conventional) CA systems that use 3 or 4 tier encryption and decryption key hierarchies which are fixed, sometimes implemented in hardware state machines and not modifiable. Such conventional CA system approaches are unable to accommodate future security needs or new business models. The conventional approaches fail to provide for increased security, flexibility in new business models, and ability to counter attacks by the hacker community.
  • Thus, it would be desirable to have a system and a method for an encryption and decryption variable key ladder that overcomes deficiencies of conventional approaches.
  • SUMMARY OF THE INVENTION
  • The present invention generally provides new and innovative systems and techniques for-security technology that provides for lengthening the life cycle of any conditional access (CA) system by making at least one element (e.g., a variable key ladder (VKL)) of the CA system variable and renewable. The present invention generally provides a system and method for generating encrypting and decrypting keys for multiple tier hierarchies.
  • According to the present invention, a method of generating encryption and decryption keys for a multiple tier, variable key ladder (VKL) hierarchy is provided. The method comprises determining a device key based on network connection and configuration data contained in conditional access system firmware, decrypting and extracting a session or category key from an input media stream or an Entitlement Management Message (EMM) using the device key, and configuring a key ladder in response to at least one Entitlement Control Message (ECM), wherein the key ladder comprises the device key and at least one of (i) a program key, (ii) the session or category key, and (iii) at least one control word.
  • Also according to the present invention, a system for generating encryption and decryption keys for a multiple tier, variable key ladder (VKL) hierarchy is provided. The system comprises a headend, a network, and at least one receiver. The headend is configured to generate encrypted digital input media streams. The network is coupled to the headend and configured to receive the encrypted digital input media streams. The receiver is coupled to the network and configured to receive the encrypted digital input media streams and present a decrypted version of the encrypted digital media streams. At least one of the headend and the at least one receiver comprises a security processor. The security processor is configured to determine a device key based on network connection and configuration data contained in conditional access system hardware or firmware, decrypt and extract a session or category key from an Entitlement Management Message (EMM) using the device key, decrypt and extract at least one of (i) a program key and (ii) at least one control word from an Entitlement Control Message (ECM) in the input media stream, and configure a key ladder in response to the at least one control word, wherein the key ladder comprises the device key and at least one of (i) the program key, (ii) the session or category key, and (iii) the at least one control word.
  • Further, according to the present invention, a processor for digital media security processing is provided. The processor comprises a selector for determining a device key based on network connection and configuration data contained in conditional access system firmware, a decryption operator for decrypting and extracting a session key from an input media stream using the device key, and at least one multiplexer for configuring a key ladder in response to at least one control word, wherein the key ladder comprises the device key and at least one of (i) a program key, (ii) the session key, and (iii) the at least one control word.
  • The above features, and other features and advantages of the present invention are readily apparent from the following detailed descriptions thereof when taken in connection with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagram of a variable key ladder generation processor of the present invention; and
  • FIGS. 2( a-b) are diagrams of systems implementing the processor of FIG. 1.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
  • With reference to the Figures, the preferred embodiments of the present invention will now be described in detail. In one example, the present invention may be implemented in connection with a cable television transmission and reception system. In another example, the present invention may be implemented in connection with a digital broadcast satellite (i.e., “dish”) television transmission and reception system (not shown). However, the present invention may be implemented in connection with any appropriate media stream transmission and reception system to meet the design criteria of a particular application.
  • In the description below, these terms may be defined as follows:
  • Access: The ability and structure (i.e., hardware, software, firmware, etc.) to communicate with or otherwise interact with a system in order to use system resources to either handle information or gain knowledge of the information the system contains. A specific type of interaction between a subject and an object that results in the flow of information from one to the other. Any ability to communicate with a system, including one-way communication in either direction. In actual practice, however, entities outside a security perimeter that can receive output from the system but cannot provide input or otherwise directly interact with the system, might be treated as not having “access” and, therefore, be exempt from security policy requirements, such as the need for a security clearance.
  • Access control: Protection of system resources against unauthorized access. A process by which use of system resources is regulated according to a security policy and is permitted by only authorized entities.
  • AES: Advanced Encryption Standard. AES is generally a much more secure algorithm to use for the storing of digital content in a digital video recording when compared to DES. AES is a symmetric 128-bit block data encryption technique. AES works at multiple network layers simultaneously.
  • ASIC: Application Specific Integrated Circuit. A dedicated (i.e., designed for a particular application) microprocessor/micro-controller.
  • CAS: Conditional Access System (or Software).
  • CHAP: Challenge Handshake Authentication Protocol, a type of authentication in which the authentication agent (typically a network server) sends the client program a random value that is used only once and an ID value. Both the sender and peer share a predefined secret. The peer concatenates the random value (or nonce, i.e., value used for the one or single occasion, the present call, or purpose), the ID and the secret and calculates a one-way hash (e.g., using MD5 or other hash algorithm). The hash value is sent to the authenticator, which in turn builds that same string on its side, calculates the MD5 sum itself and compares the result with the value received from the peer. When the values match, the peer is authenticated. By transmitting only the hash, the secret can not be reverse-engineered. The ID value is increased with each CHAP dialogue to protect against replay attacks.
  • Control Word (see also, Working Key): The key used in program encrypt/decrypt operations.
  • Cryptographic key: Usually shortened to just “key”. An input parameter (or value) that varies the transformation performed by a cryptographic algorithm. A sequence of symbols that controls the operations of encipherment and decipherment. When a key value is to be kept secret, the sequence of symbols (usually bits) that comprise the key should be random, or at least pseudo-random, because that makes the key more difficult for an adversary (e.g., hacker, thief, etc.) to determine.
  • DBS: Direct Broadcast Satellite (or System)
  • DES: Data Encryption Standard. A fixed-key-length security algorithm that employs 56-bit length keys. Any 56-bit number can be implemented as a DES key. The relatively short key length renders DES vulnerable to brute-force attack wherein all possible keys are tried one by one until the correct key is encountered (i.e., the key is “broken”).
  • DRM: Digital Rights Management. A system for protecting the rights of data circulated via the Internet or other digital media (e.g., satellite transmissions, cable distributions, and the like) by performing at least one of enabling secure distribution and disabling illegal distribution of the data. Typically, a DRM system protects intellectual property by either encrypting the data so that it can only be accessed by authorized users or marking the content with a digital watermark or similar method so that the content can not be freely distributed.
  • Electronic Code Block (Mode): ECB, In ECB the message is divided into 64-bit blocks, and each block is encrypted separately. Encryption is independent for each block.
  • Entitlement Control Message (Stream): ECM, Messages that generally define access requirements of a program, specify the tiers required for subscription, and the cost associated with impulse purchase of the program. The index may be delivered in the ECM as a reference to the content key. Encrypted program keys may be delivered in the ECM stream.
  • Entitlement Management Message (Stream): EMM, Messages that define access rights for each individual decoder. The EMM stream is processed with the access control device; however, the user processor buffers EMMs and feeds the EMMs to the access control device via an interface. The EMM contains a symmetric key typically referred to as a session key or category key.
  • Hash: A function (or process) that converts an input (e.g., the input stream) from a large domain into an output in a smaller set (i.e., a hash value, e.g., the output stream). Various hash processes differ in the domain of the respective input streams and the set of the respective output streams and in how patterns and similarities of input streams generate the respective output streams. One example of a hash generation algorithm is Secure Hashing Algorithm-1 (SHA-1). Another example of a hash generation algorithm is Message Digest 5 (MD5). The hash may be generated using any appropriate algorithm to meet the design criteria of a particular application.
  • Headend: The control center of a cable (or other) centralized media (e.g., television) system, where broadcast signals are received and distributed. The headend generally contains antennas, preamplifiers, frequency converters, demodulators, encoders, compressors, automatic switching equipment and other related equipment that receives, amplifies, filters, encrypts, encodes, and converts incoming satellite and terrestrial streams for presentation to distribution channels.
  • Initialization vector: IV, An initialization vector in a block cipher is a block of bits that is combined with the first block of data in any of several feedback modes. The IV will make each cipher text unique, even when similar plain text is encrypted with the same key in chain block coding (CBC) mode.
  • IPPV: Impulse Pay Per View
  • Keylist: A list of decoder addresses and respective decoder keys in ordered pairs.
  • Keylists may be used by the Uplink Control System (UCS) for generation of authorization messages that are addressed to the diagnostic circuit that is embedded in decoders that are specific to the encoder system.
  • Kernel: The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications. Typically, the kernel is responsible for memory management, process and task management, and disk management.
  • Key: A password or table used to decipher encoded/encrypted data.
  • Media: Plural of medium. The form and technology used to communicate information. Multimedia presentations, for example, combine sound, pictures, and videos, all of which are different types of media.
  • Middleware: Software that connects two otherwise separate applications. For example, there are a number of middleware products that link a database system to a Web server. The middleware allows users to request data from the database using forms displayed on a Web browser, and enables the Web server to return dynamic Web pages based on the user's requests and profile. The term middleware is used to describe separate products that serve as the glue between two applications. Middleware is, therefore, distinct from import and export features that may be built into one of the applications. Middleware is sometimes called plumbing because it connects two sides of an application and passes data between them.
  • MSO: Multiple System Operator
  • Nonce: A random value that is used only once. The nonce cryptographically binds a request and a response to prevent replay attacks.
  • OTP: One Time Programmable/Password
  • Password: A secret series of characters that enables a user to access a file, computer, program, media stream, and the like. May be implemented in combination with or in connection with encryption/decryption.
  • PID: Program Identification/Identifier
  • PKI: Public-key Infrastructure. A system of certification authorities (and, optionally, registration authorities and other supporting servers and agents) that perform some set of certificate management, archive management, key management, and token management functions for a community of users in an application of asymmetric cryptography. The core PKI functions are (a) to register users and devices and issue their public-key certificates, (b) to revoke certificates when required, and (c) to archive data needed to validate certificates at a much later time. Key pairs for data confidentiality may be generated (and perhaps escrowed) by certification authorities or registration authorities, but requiring a PKI client to generate its own digital signature key pair helps maintain system integrity of the cryptographic system, because then only the client ever possesses the private key it uses. Also, an authority may be established to approve or coordinate CPSs, which are security policies under which components of a PKI operate. A number of other servers and agents may support the core PKI, and PKI clients may obtain services from them. The full range of such services is not yet fully understood and is evolving, but supporting roles may include archive agent, certified delivery agent, confirmation agent, digital notary, directory, key escrow agent, key generation agent, naming agent who ensures that issuers and subjects have unique identifiers within the PKI, repository, ticket-granting agent, and time stamp agent.
  • Program: A time contiguous collection of motion image information, audio information, or a combination thereof that is generally transmitted (i.e., presented, broadcast, sent, delivered, etc.) as an entity.
  • Program Key: An encryption/decryption key that controls access, encryption/decryption, etc. of a particular program.
  • RSA: A public-key encryption technology developed by RSA Data Security, Inc. The acronym stands for Rivest, Shamir, and Adelman, the inventors of the technique. The RSA algorithm is based on the fact that there is no efficient way to factor very large numbers. Deducing an RSA key, therefore, requires an extraordinary amount of computer processing power and time. RSA may be implemented connection with key management, multiple key management, digital signatures, and the like.
  • Smart card: A small electronic device about the size of a credit card that contains electronic memory, and possibly an embedded integrated circuit (IC). Smart cards containing an IC are sometimes called Integrated Circuit Cards (ICCs). Smart cards are used for a variety of purposes, including generating network IDs (similar to a token).
  • SSO: System Sign On
  • Symmetric encryption: A type of encryption where the same key is used to encrypt and decrypt the message. This differs from asymmetric (e.g., public-key) encryption, which uses one key to encrypt a message and another to decrypt the message.
  • Token: In security systems, a small device the size of a credit card that displays a constantly changing ID code. A user first enters a password and then the card displays an ID that can be used to log into a network. Typically, the IDs change every 5 minutes or so. A similar mechanism for generating IDs is a Smartcard or, for cable installations, a Cablecard.
  • Triple-DES: (3-DES) Application of DES encryption three times using three different keys or, alternatively, using a one key for the first and third segments of a three segment key and a second key for the middle segment, for a total key bit-width of 112 or 168 bits is also used to protect certain structures and the key inside entitlements.
  • Unit address: A unique number that identifies and distinguishes one decoder from another. One example of a unit address is a Media Access Control (MAC).
  • Unit key (or Private key): A key that is unique to a respective decoder. Messages intended for a particular decoder are encrypted using the respective unit key.
  • Unit keylist: A file that contains unit addresses and respective unit keys.
  • Uplink Control System (UCS): Software that is used to support the secure delivery of digitally compressed services. The UCS generally provides the capability to authorize and de-authorize individual decoders on an event-by-event basis.
  • URL: Uniform Resource Locator (World Wide Web address)
  • VOD: Video On Demand
  • Working key: A low level key that generally changes several times per second.
  • The working key generally has a validity that is equal to or shorter in duration than the program to which it is related. The working key is also referred to as the “control word.” In one typical example, the working key changes every 20 to 30 seconds. In one example (e.g., services that do not have a video component), the working key epoch (i.e., the period of time during a program for which a working key is valid) duration may be set at an appropriate time interval. However, any appropriate time for changing the working key may be implemented to meet the design criteria of a particular application. The working key is used to derive the keystream. The working key is generally delivered in an encrypted form with the respective program key.
  • Working Key File: A file that contains the working keys for the entire program that is encrypted in the program key, generally in chronological order.
  • The system and method for a variable key ladder (VKL) of the present invention is generally implemented in connection with a media stream transmission and reception system. Such a media stream transmission and reception system may be implemented, in one example, as shown in detail in connection with FIGS. 2( a-b) below. However, the present invention may be implemented in connection with any appropriate media stream transmission and reception system to meet the design criteria of a particular application.
  • As used herein, the term “key” generally refers to an encryption/decryption key. The present invention is generally implemented as a hardware accelerated system and a method for decrypting and encrypting keys for multiple tier key hierarchies. In contrast, conventional approaches for key systems are fixed when hardware acceleration is used.
  • The system and method of the present invention generally provides for implementation of a variable key ladder (VKL) for use in cable systems. The VKL may have the number of tiers reduced or, alternatively, increased based on system design criteria and the desire for various levels of security when compared to the fixed three (3) or four (4) tier key ladder implementations of conventional approaches.
  • Conventional approaches generally fail to provide the ability to increase security, flexibility and ability to counter attacks by the hacker community that is provided via the Variable Key Ladder of the present invention. The present invention generally provides, through security technology, that the life cycle of any conditional access system (CAS) may be lengthened by making at least one element of the system variable and renewable. The Variable Key Ladder (VKL) of the present invention generally supports incumbent (i.e., existing, legacy, previously implemented, etc.) CASs while also providing for newer larger or smaller key ladders.
  • The commercial value of the Variable Key Ladder may be very large since the present invention may support the computer and consumer electronics (CE) industry to innovate new types of streaming services for multiple system operators (MSOs), and all CE and computer companies are potential customers. The present invention may lower the overall cost of managing head-ends, set top boxes and digital televisions, lower the cost and ease the operational complexities for Broadcast, Streaming Media, and video on demand (VOD) applications, thereby providing significant cost savings to the MSOs. By enabling dramatically lower costs as well as increased performance, innovation and new business models, the Variable Key Ladder, as a part of the security processor, will generally improve the competitive position of cable media stream distribution systems versus alternative video providers such as digital broadcast system (DBS) and emerging telecommunication-based video systems.
  • Referring to FIG. 1, a diagram illustrating a security processor 100 of the present invention is shown. The security processor 100 generally provides for a variable key ladder that can be started with a symmetric key or an asymmetric key (both symmetric keys and asymmetric keys are implemented in existing CA systems). When the selectable symmetric or asymmetric key is used to decrypt an Entitlement Management Message (EMM) or to decrypt substantially the same access rights, the symmetric key is generally extracted from the EMM (or rights) to start the variable key ladder. The size of the key ladder may be unlimited (i.e., the key ladder size is variable) and the keys for various levels may be sourced from many different data structures unlimited (i.e., the key ladder structure is also variable) in a media stream system.
  • The VKL security processor 100 may be configured to operate with devices using symmetric keys or asymmetric keys at the device level that are typically used to decrypt EMMs to validate entitlements and to extract the session or category key. Based on the network connection and configuration data when the CAS firmware is loaded, the VKL may be configured substantially at start-up time to utilize either symmetric or asymmetric keys for the device key as shown in FIG. 1.
  • CAS firmware loaded into the processor 100 may also be able to configure the VKL processor 100 for the size of the key ladder. The number of symmetric keys may be set (i.e., selected, established, predetermined, etc.) from zero to N, where N is any number, based upon the system of CA being run on the network where the processor 100 is implemented. Conventional CA systems typically use 3 to 4 tiers of keys including the control word or program key.
  • The category or session key may be implemented as a symmetric key used in a chain of keys based upon the selected size of the key ladder. Each key is generally used to decrypt the next key in the chain. Each of the keys in the chain may be the result of a hash of the key and/or input data that is fed into the VKL as well. The final result of the processing performed via the processor 100 is generally a control word (or working key), which will generally be used to decrypt the transport stream for the channel or service tier in the system where the processor 100 is implemented that is traversed to obtain the key.
  • The system and method of the present invention may be implemented in many ways, and may be implemented in connection with any appropriate media stream security processing system to meet the design criteria of a particular application. Both triple DES and AES algorithms may be implemented to meet system criteria. Selection of triple DES and AES algorithms may be selectable using hardware registers. Combinations of symmetric and asymmetric keys may be implemented on varying tiers of the key ladder generated using the system and method of the present invention. Due to the slower decryption times and key generation times for asymmetric keys, in one example, asymmetric keys may be practicably implemented only the first tier of the key ladder.
  • The VKL of the present invention is generally a cryptographic method to ensure high level content security while providing large flexibility in key management techniques used to secure the content keys and entitlements for various types of content. The conventional CA systems that use 3 or 4 tier key hierarchies which are fixed, sometimes in hardware, and not modifiable are generally not suitable for future security needs or new business models. When content is placed on centralized streaming servers or delivered in real-time, the present invention generally provides a cryptographic method that may ensure that MSOs have the greatest flexibility in securing content and entitlements and can also counter a number of security attacks. In addition to supporting the fixed legacy (i.e., conventional) systems, the variable key ladder of the present invention also allows the implementation of an unlimited number of stages of keys in a new CA system.
  • The VKL of the present invention generally provides a new, more flexible, equally secure, and simplified method to deliver specialized keys and entitlement or license files for decrypting content and program streams in media stream (e.g., video) CAS and On Demand applications when compared to conventional approaches. The new key management of the present invention dramatically increases security flexibility, performance and strength in the security processor. The VKL system of the present invention generally ensures that legacy CA systems and new stronger CA systems are supported.
  • The VKL system of the present invention generally provides for far more efficient distribution and operations of certain types of content for broadcast, on demand, and streaming applications than conventional approaches. The VKL system of the present invention generally provides for flexibility and can assist in the simplification of the Impulse Pay Per View (IPPV) and Video On Demand (VOD) security of the media stream distribution system.
  • The security processor 100 generally comprises a key encryption/decryption engine 102 that may have an input 104 that may receive keys (e.g., KEYS_OUT, OUTPUT_KEY, and OPT_KEY), an input 106 that may receive keys (e.g., KEYS_OUT, EXTKEY), and an output 108 that may present keys (e.g., KEYS_OUT) as a control word to an output media stream 110 (e.g., to a media stream VIDOUT). The engine 102 may further (i.e., optionally or alternatively) present the keys KEYS_OUT via a hash (e.g., a hash 150 n). The processor 100 is generally implemented in connection with network connection and configuration data contained in conditional access system (CAS) firmware.
  • The processor 100 generally implements at least one selector (e.g., switch) 112, encryption key sources 120 (e.g., keys generated by or stored at devices 120 a-120 n), at least one decryption operator (e.g., a device configured to perform at least one decryption operation, method, process, routine, algorithm, steps, blocks, software/firmware program, etc.) 122, one or more multiplexers 130 (e.g., multiplexers 130 a and 130 b), at least one exclusive OR (EXOR) operator (e.g., logic gate, programmed logic, etc.) 140 (e.g., EXOR 140 a and EXOR 140 b), and at least one hash operator 150 (e.g., hash 150 a-150 n). (e.g., an operator using SHA-1 or other hash algorithm). The processor 100 generally receives encryption/decryption keys in connection with an input media stream (e.g., a signal DATA/KEYS_IN) and presents encryption/decryption keys (e.g., the signal KEYS_OUT).
  • The encryption/decryption keys are generally contained (i.e., held, stored, programmed, etc.) in a respective source (i.e., register, memory, RAM, Flash, firmware, etc.) 120. The selector 112 and the multiplexers 130 generally select an appropriate key in response to a respective control signal (e.g., CA_CONFIGURATIONa-CA_CONFIGURATIONn). The hash operators 150 are generally enabled to perform a respective one-way hash operation in response to a respective control signal (e.g., HASH_ENABLE_a-HASH_ENABLE_n). The decryption operator 122 generally implements at least one decryption process such as RSA, AES, 3-DES, and the like. The control signals CA_CONFIGURATION and the signal HASH_ENABLE generally establish the encryption/decryption key structure and configuration of the VKL.
  • The signal DATA/KEYS_IN generally comprises a digital media stream having at least one entitlement management message (e.g., EMM), external data (e.g., EXTDATA), and at least one external encryption/decryption key (e.g., EXTKEY). OUTPUT_KEY generally comprises at least one of a key from the message EMM (which may include at least one symmetric key in connection with a headend download) and a one time programmed/programmable (OTP) asymmetric key (e.g., OTPA) that is presented by a source 120. The data EXTDATA may be media stream data (i.e., information).
  • The key decryption operator 122 generally receives the signal (e.g., media stream) DATA/KEYS_IN that includes the message EMM, and an OTP asymmetric key (e.g., the key OTPA from a respective register 120). The decryption operator 122 generally decrypts the EMM in response to the key OTPA to generate the key OUTPUT_KEY, and presents the signal OUTPUT_KEY to a first input of the selector 112. A second input of the selector 112 generally receives a OTP symmetric key (e.g., the key OTP_KEY from a respective register 120). The selector 112 generally presents the signal OUTPUT_KEY or the signal OTP_KEY as a device key to a first input of the multiplexer 130 a in response to the control signal CA_CONFIGURATIONn. The key OTPA may be based on network connection and configuration data.
  • The multiplexer 130 a may have a second input that may receive an internal symmetric key (e.g., the key KEYS_OUT from a respective register 120). In response to the control signal CA_CONFIGURATIONa, the multiplexer 130 a may present at least one of the signals OUTPUT_KEY and OTP_KEY, and the signal KEYS_OUT to the EXOR operator 140 a. The signal KEYS_OUT may further (i.e., optionally or alternatively) be hashed via the hash operator 150 a in response to the control signal HASH_ENABLE_a. The EXOR operator 140 a may present at least one of the signals (i.e., keys) OUTPUT_KEY, OTP_KEY, and KEYS_OUT to the input 104 of the engine 102.
  • The multiplexer 130 b may have a first input that may receive the signal (i.e., key) EXTKEY that is presented via the signal (e.g., media stream) DATA/KEYS_IN via a respective register 120. The multiplexer 130 b may have a second input that may receive the signal (i.e., key) KEYS_OUT via a respective register 120. In response to the control signal CA_CONFIGURATIONb, the multiplexer 130 b may present at least one of the signal EXTKEY and the signal KEYS_OUT to the EXOR operator 140 b. The signals EXTKEY and KEYS_OUT may further (i.e., optionally or alternatively) be hashed via the respective hash operators 150 b and 150 c in response to the respective control signals HASH_ENABLE_b and HASH_ENABLE_c. The EXOR operator 140 b may present at least one of the signals (i.e., keys) EXTKEY and KEYS_OUT to the input 106 of the engine 102.
  • The engine 102 may generate the signal (i.e., keys) KEYS_OUT in response to at least one of the signals (i.e., keys) OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT. The signal (i.e., keys) KEYS_OUT may further (i.e., optionally or alternatively) be hashed via the respective hash operator 150 n in response to the respective control signal HASH_ENABLE_n. The signal (i.e., keys) KEYS_OUT may be configured as variable key ladders. The configuration (e.g., size such as the number of keys (number of tiers) and the bit-counts of the keys, type of keys such as symmetric and asymmetric, implementation of hash on components of the keys, etc.) of the VKL KEYS_OUT may be generated in response to at least one of the control signals CA_CONFIGURATION and HASH_ENABLE.
  • The control signals CA_CONFIGURATION and HASH_ENABLE are generally predetermined. The control signals CA_CONFIGURATION and HASH_ENABLE may be implemented in connection with firmware (e.g., in conditional access firmware, in a set top box or receiver that is implemented in connection with the security processor 100), downloaded (e.g., during a supervisory mode of operation), and the like. At least one of the keys OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT may be implemented as a session key, or, alternatively referred to, as a category key. The key KEYS_OUT may be used as a control word to encrypt/decrypt the media stream VIDOUT.
  • The security processor 100 may chain at least one of the keys OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT with at least one other of the keys OUTPUT_KEY, OTP_KEY, EXTKEY and KEYS_OUT to generate a multi tier key hierarchy (i.e., a VKL) KEYS_OUT. The security processor 100 may implement at least one of DES and AES algorithms, or, alternatively, any other appropriate symmetric key block cipher algorithm in connection with the engine 102 and the decryption operator 122. The variable key ladder generated using the processor 100 (e.g., KEYS_OUT) generally comprises the device key and at least one of (i) the program key, (ii) the session key, and (iii) at least one control word.
  • Referring to FIG. 2 a, a diagram illustrating a media stream processing and distribution system 200 implemented in connection with the present invention is shown. The distribution system 200 generally comprises a headend 202, a network 204, at least one set top box (STB) 206 (generally a plurality of STBs 206 a-206 n), and at least one respective receiving device (i.e., receiver, transceiver, display device, etc.) 208 (generally a plurality of devices 208 a-208 n). The distribution system 200 is generally implemented as a media service provider/subscriber system wherein the provider (or vendor) generally operates the headend 202 and the network 204, and also provides a subscriber (i.e., client, customer, service purchaser, user, etc.) with the STB 206.
  • The STB 206 is generally located at the subscriber location (not shown, e.g., home, tavern, hotel room, business, etc.) and the receiving device 208 is generally provided by the client. The device 208 is generally implemented as a television, high definition television (HDTV), monitor, host viewing device, MP3 player, audio receiver, radio, personal computer, media player, digital video recorder, game playing device, etc. The device 208 may be implemented as a transceiver having interactive capability in connection with the STB 206, the headend 202, or both the STB 206 and the headend 202.
  • The headend 202 is generally electrically coupled to the network 204, the network 204 is generally electrically coupled to the STB 206, and each STB 206 is generally electrically coupled to the respective device 208. The electrical coupling may be implemented as any appropriate hard-wired (e.g., twisted pair, untwisted conductors, coaxial cable, fiber optic cable, hybrid fiber cable, etc.) or wireless (e.g., radio frequency, microwave, infrared, etc.) coupling and protocol (e.g., HomePlug, HomePNA, IEEE 802.11(a-b), BLUETOOTH, HomeRF, etc.) to meet the design criteria of a particular application. While the distribution system 200 is illustrated showing one STB 206 coupled to a respective one device 208, each STB 206 may be implemented having the capability of coupling more than one device 208 (not shown).
  • The headend 202 generally comprises a plurality of devices 210 (e.g., devices 210 a-210 n) that are implemented as amplifiers, pre-amplifiers, data servers, computers, processors, security encryption and decryption apparatuses or systems, and the like configured to provide video and audio data (e.g., movies, music, television programming, and the like), processing equipment (e.g., provider operated subscriber account processing servers), television service transceivers (e.g., transceivers for standard broadcast television and radio, digital television, HDTV, audio, MP3,text messaging, gaming, etc.), media streams, and the like. In one example, the headend 202 may generate and present (i.e., transmit, provide, pass, broadcast, send, etc.) the stream media DATA/KEYS_IN.
  • The network 204 is generally implemented as a media stream distribution network (e.g., cable, satellite, and the like) that is configured to selectively distribute (i.e., transmit and receive) media service provider streams (e.g., standard broadcast television and radio, digital television, HDTV, audio, MP3, text messaging, games, etc.) for example, as the stream to the STBs 206 and to the receivers 208, for example, as the stream VIDOUT. The stream DATA/KEYS_IN is generally distributed based upon (or in response to) subscriber information. For example, the level of service the client has purchased (e.g., basic service, premium movie channels, etc.), the type of service the client has requested (e.g., standard TV, HDTV, interactive messaging, video on demand, pay-per-view, impulse-pay-per-view, etc.), and the like may determine the media streams that are sent to (and received from) a particular subscriber.
  • The STB 206 is generally implemented as an STB having multiple stream capability (e.g., standard broadcast television and radio, digital television, audio, MP3, high definition digital television (HDTV), text messaging, etc.). The STB 206 generally comprises at least one respective security processor (e.g., the processor 100). The STB 206 may receive encrypted (and compressed) video and audio data (e.g., the media stream DATA/KEYS_IN), and present clear video and audio data (e.g., the stream VIDOUT) to the receiver 208.
  • Referring to FIG. 2 b, a diagram illustrating a media stream processing and distribution system 200′ implemented in connection with the present invention is shown. The distribution system 200′ generally comprises the headend 202, the network 204, and at least one of the receiving device (i.e., receiver, transceiver, etc.) 208′ (generally a plurality of the devices 208 a′ -208 n′). The receiving device 208′ is generally coupled directly to the network 204 and receives the stream DATA/KEYS_IN. The receiving device 208′ generally comprises at least one respective security processor (e.g., the processor 100).
  • In yet another example (not shown), the system 200′ may be implemented having at least one STB 206 coupled to the network 204 and with at least one receiver 208 coupled thereto, as well as having at least one device 208′ that is directly coupled to the network 204.
  • In yet another example (not shown), the system 200′ may be implemented having at least one STB 206 coupled to the network 204 and with at least one receiver 208 coupled thereto, as well as having at least one device 208 that is directly coupled to the network 204.
  • As is readily apparent from the foregoing description, then, the present invention generally provides an improved system and an improved method for generation of variable ladder encryption/decryption keys. The processor of the present invention generally provides a variable key ladder that comprises a hardware acceleration with increased performance while providing re-configuration that is typically attributed to software in conventional approaches.
  • While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention.

Claims (20)

1. A method, comprising:
receiving, by a receiver, a data message;
storing configuration data in a memory;
selecting between a first device key and a second device key depending upon the configuration data; and
decrypting, by a decryption apparatus, at least a portion of the data message using a key ladder that includes the selected first or second device key.
2. The method of claim 1, further comprising receiving the configuration data as part of the data message.
3. The method of claim 1, further comprising generating the second device key by decrypting at least a portion of the data message using an asymmetric key.
4. The method of claim 1, wherein the first device key is a symmetric device key.
5. The method of claim 1, wherein the key ladder comprises at least one symmetric key and at least one asymmetric key.
6. The method of claim 1, wherein the configuration data indicates a number of tiers of the key ladder.
7. The method of claim 1, wherein the data message comprises an Entitlement Management Message (EMM).
8. A decryption apparatus, comprising:
a memory configured to store configuration data and a first device key;
a receiver configured to receive a data message from a network;
a key decryption operator configured to generate a second device key based on a data message;
a switch configured to select between the first device key and the second device key depending upon the configuration data; and
a decryption engine configured to decrypt at least a portion of the data message using a key ladder that includes the selected first or second device key.
9. The decryption apparatus of claim 8, wherein the data message comprises the configuration data, and wherein the decryption apparatus is configured to store, in the memory, the configuration data received as part of the data message.
10. The decryption apparatus of claim 8, wherein the key decryption operator is configured to generate the second device key by decrypting at least a portion of the data message using an asymmetric key stored in the memory.
11. The decryption apparatus of claim 8, wherein the first device key is a symmetric device key.
12. The decryption apparatus of claim 8, wherein the key ladder comprises at least one symmetric key and at least one asymmetric key.
13. The decryption apparatus of claim 8, wherein the configuration data indicates a number of tiers of the key ladder.
14. The decryption apparatus of claim 8, wherein the data message comprises an Entitlement Management Message (EMM).
15. A method, comprising:
storing, in a memory, a first key and a second key;
selecting between the first key and a third key depending upon configuration data;
determining a key ladder tier of the second key based on the configuration data; and
decrypting at least a portion of a data message using a key ladder that includes the selected one of the first and third keys as a device key and that includes the second key at the determined key ladder tier.
16. The method of claim 15, further comprising receiving, by a receiver, the configuration data as part of the data message.
17. The method of claim 15, further comprising generating the third key by decrypting at least a portion of the data message using an asymmetric fourth key.
18. The method of claim 15, wherein the key ladder comprises at least one symmetric key and at least one asymmetric key.
19. The method of claim 15, wherein the configuration data indicates a number of tiers of the key ladder.
20. The method of claim 15, wherein the data message comprises an Entitlement Management Message (EMM).
US13/031,932 2005-02-16 2011-02-22 System and Method for a Variable Key Ladder Abandoned US20110145577A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/031,932 US20110145577A1 (en) 2005-02-16 2011-02-22 System and Method for a Variable Key Ladder

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/058,894 US7933410B2 (en) 2005-02-16 2005-02-16 System and method for a variable key ladder
US13/031,932 US20110145577A1 (en) 2005-02-16 2011-02-22 System and Method for a Variable Key Ladder

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/058,894 Continuation US7933410B2 (en) 2005-02-16 2005-02-16 System and method for a variable key ladder

Publications (1)

Publication Number Publication Date
US20110145577A1 true US20110145577A1 (en) 2011-06-16

Family

ID=36817009

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/058,894 Active 2027-11-03 US7933410B2 (en) 2005-02-16 2005-02-16 System and method for a variable key ladder
US13/031,932 Abandoned US20110145577A1 (en) 2005-02-16 2011-02-22 System and Method for a Variable Key Ladder

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/058,894 Active 2027-11-03 US7933410B2 (en) 2005-02-16 2005-02-16 System and method for a variable key ladder

Country Status (4)

Country Link
US (2) US7933410B2 (en)
EP (1) EP1872511A4 (en)
CA (1) CA2602226C (en)
WO (1) WO2007094751A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100251285A1 (en) * 2009-03-02 2010-09-30 Irdeto Access B.V. Conditional entitlement processing for obtaining a control word
US9008304B2 (en) * 2012-12-28 2015-04-14 Intel Corporation Content protection key management
US11418364B2 (en) * 2017-06-07 2022-08-16 Combined Conditional Access Development And Support, Llc Determining a session key using session data

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031873A1 (en) * 2004-08-09 2006-02-09 Comcast Cable Holdings, Llc System and method for reduced hierarchy key management
US8099369B2 (en) * 2004-12-08 2012-01-17 Ngna, Llc Method and system for securing content in media systems
US7383438B2 (en) * 2004-12-18 2008-06-03 Comcast Cable Holdings, Llc System and method for secure conditional access download and reconfiguration
US20060200412A1 (en) * 2005-02-23 2006-09-07 Comcast Cable Holdings, Llc System and method for DRM regional and timezone key management
CN101278517B (en) * 2005-10-06 2012-03-21 Nds有限公司 Security device and building block functions
US20070239605A1 (en) * 2006-04-06 2007-10-11 Peter Munguia Supporting multiple key ladders using a common private key set
US20080019517A1 (en) * 2006-04-06 2008-01-24 Peter Munguia Control work key store for multiple data streams
EP1885095A1 (en) * 2006-08-02 2008-02-06 Nagravision S.A. Local conditional access method for mobile receivers
US8687800B2 (en) * 2006-08-15 2014-04-01 Alcatel Lucent Encryption method for message authentication
US20090323971A1 (en) * 2006-12-28 2009-12-31 Munguia Peter R Protecting independent vendor encryption keys with a common primary encryption key
US9246687B2 (en) * 2007-02-28 2016-01-26 Broadcom Corporation Method for authorizing and authenticating data
US7876895B2 (en) * 2007-05-09 2011-01-25 International Business Machines Corporation System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
US8291495B1 (en) 2007-08-08 2012-10-16 Juniper Networks, Inc. Identifying applications for intrusion detection systems
US8280057B2 (en) * 2007-09-04 2012-10-02 Honeywell International Inc. Method and apparatus for providing security in wireless communication networks
US7934083B2 (en) * 2007-09-14 2011-04-26 Kevin Norman Taylor Configurable access kernel
DE102007052656B4 (en) * 2007-11-05 2010-03-25 Texas Instruments Deutschland Gmbh Digital encryption hardware accelerator
US8112800B1 (en) 2007-11-08 2012-02-07 Juniper Networks, Inc. Multi-layered application classification and decoding
US9432184B2 (en) * 2008-09-05 2016-08-30 Vixs Systems Inc. Provisioning of secure storage for both static and dynamic rules for cryptographic key information
US8594333B2 (en) * 2008-09-05 2013-11-26 Vixs Systems, Inc Secure key access with one-time programmable memory and applications thereof
US9501429B2 (en) * 2008-09-05 2016-11-22 Vixs Systems Inc. Dynamic key and rule storage protection
EP2166761A1 (en) * 2008-09-19 2010-03-24 Nagravision S.A. Method to enforce by a management center the access rules to a broadcast product
WO2010041690A1 (en) * 2008-10-07 2010-04-15 日本電気株式会社 Multi-party variance multiplication device, multi-party variance multiplication system and method
US8385555B2 (en) * 2008-12-10 2013-02-26 Combined Conditional Access Development And Support, Llc. Content delivery with segmented key list
EP2227014B1 (en) * 2009-03-02 2019-10-02 Irdeto B.V. Securely providing secret data from a sender to a receiver
US8800017B2 (en) * 2009-05-29 2014-08-05 Ncomputing, Inc. Method and apparatus for copy protecting a digital electronic device
ES2394767T3 (en) * 2009-06-26 2013-02-05 France Telecom Control access to digital content
GB0915596D0 (en) * 2009-09-07 2009-10-07 St Microelectronics Res & Dev Encryption keys
US8364964B2 (en) * 2009-12-29 2013-01-29 General Instrument Corporation Registering client devices with a registration server
EP2348725A1 (en) * 2010-01-26 2011-07-27 Irdeto Access B.V. Computational efficiently obtaining a control word in a receiver using transformations
FR2965431B1 (en) * 2010-09-28 2013-01-04 Mouchi Haddad SYSTEM FOR EXCHANGING DATA BETWEEN AT LEAST ONE TRANSMITTER AND ONE RECEIVER
US9584497B2 (en) * 2011-08-26 2017-02-28 Hewlett Packard Enterprise Development Lp Managing access to a network
US20130129095A1 (en) * 2011-11-18 2013-05-23 Comcast Cable Communications, Llc Key Delivery
US9066117B2 (en) * 2012-02-08 2015-06-23 Vixs Systems, Inc Container agnostic encryption device and methods for use therewith
US9123106B2 (en) * 2012-12-13 2015-09-01 Microsoft Technology Licensing, Llc Watermarking screen capture content
US10069632B2 (en) * 2013-09-09 2018-09-04 Arris Enterprises Llc Remote image signing
US9876991B1 (en) 2014-02-28 2018-01-23 Concurrent Computer Corporation Hierarchical key management system for digital rights management and associated methods
US9860242B2 (en) * 2014-08-11 2018-01-02 Vivint, Inc. One-time access to an automation system
DE102014219090A1 (en) * 2014-09-22 2016-03-24 Siemens Aktiengesellschaft Device with communication interface and method for controlling a database access
WO2016091898A1 (en) * 2014-12-08 2016-06-16 Citypassenger Dynamic data encryption method, and associated method for controlling decryption rights
IL236439A0 (en) * 2014-12-24 2015-04-30 Yaron Sella Key ladder apparatus and method
US10334316B2 (en) * 2015-09-18 2019-06-25 At&T Intellectual Property I, L.P. Determining a quality of experience metric based on uniform resource locator data
US20170149749A1 (en) * 2015-11-20 2017-05-25 Qualcomm Incorporated Exchanging encrypted media over a local wireless connection in accordance with a local wireless rendered media distribution scheme
US10432685B2 (en) 2016-05-31 2019-10-01 Brightcove, Inc. Limiting key request rates for streaming media
US10749692B2 (en) 2017-05-05 2020-08-18 Honeywell International Inc. Automated certificate enrollment for devices in industrial control systems or other systems
WO2020243010A1 (en) * 2019-05-24 2020-12-03 Arris Enterprises Llc Key-ladder protected personalization data conversion from global to unique encryption
WO2021016577A1 (en) * 2019-07-24 2021-01-28 Arris Enterprises Llc Key ladder generating a device public key

Citations (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792973A (en) * 1984-06-08 1988-12-20 M/A-Com Government Systems Inc. Selective enablement of descramblers
US4860353A (en) * 1988-05-17 1989-08-22 General Instrument Corporation Dynamic feedback arrangement scrambling technique keystream generator
US5054067A (en) * 1990-02-21 1991-10-01 General Instrument Corporation Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5671276A (en) * 1995-07-21 1997-09-23 General Instrument Corporation Of Delaware Method and apparatus for impulse purchasing of packaged information services
US5734720A (en) * 1994-11-29 1998-03-31 Salganicoff; Marcos System and method for providing digital communications between a head end and a set top terminal
US5784095A (en) * 1995-07-14 1998-07-21 General Instrument Corporation Digital audio system with video output program guide
US5982363A (en) * 1997-10-24 1999-11-09 General Instrument Corporation Personal computer-based set-top converter for television services
US6157719A (en) * 1995-04-03 2000-12-05 Scientific-Atlanta, Inc. Conditional access system
US20010046299A1 (en) * 1995-04-03 2001-11-29 Wasilewski Anthony J. Authorization of services in a conditional access system
US20020080958A1 (en) * 1997-09-16 2002-06-27 Safenet, Inc. Cryptographic key management scheme
US20020090090A1 (en) * 2000-12-22 2002-07-11 Van Rijnsoever Bartholomeus Johannes Conditional access
US6424717B1 (en) * 1995-04-03 2002-07-23 Scientific-Atlanta, Inc. Encryption devices for use in a conditional access system
US20020101990A1 (en) * 2001-02-01 2002-08-01 Harumi Morino Data receiving apparatus and data reproducing apparatus
US20020118837A1 (en) * 2000-12-21 2002-08-29 Hamilton Jon W. Method and system for digital image authentication center
US20020136406A1 (en) * 2001-03-20 2002-09-26 Jeremy Fitzhardinge System and method for efficiently storing and processing multimedia content
US20020170054A1 (en) * 2000-10-04 2002-11-14 Andre Kudelski Mechanism of matching between a receiver and a security module
US20030002577A1 (en) * 2001-06-29 2003-01-02 Pinder Howard G. In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate
US20030097655A1 (en) * 2001-11-21 2003-05-22 Novak Robert E. System and method for providing conditional access to digital content
US20030123667A1 (en) * 2001-12-28 2003-07-03 Cable Television Laboratories, Inc. Method for encryption key generation
US20030190044A1 (en) * 2002-04-05 2003-10-09 Akio Higashi Content using system
US20030219127A1 (en) * 2002-05-24 2003-11-27 Russ Samuel H. Apparatus for entitling remote client devices
US20040003263A1 (en) * 2002-06-28 2004-01-01 Olivier Brique Security key for set-top-box updating method
US20040057579A1 (en) * 2002-09-20 2004-03-25 Fahrny James W. Roaming hardware paired encryption key generation
US20040088558A1 (en) * 2002-11-05 2004-05-06 Candelore Brant L. Descrambler
US20040098591A1 (en) * 2002-11-15 2004-05-20 Fahrny James W. Secure hardware device authentication method
US20040177369A1 (en) * 2003-03-06 2004-09-09 Akins Glendon L. Conditional access personal video recorder
US20040208316A1 (en) * 1998-02-13 2004-10-21 Wack C. Jay Cryptographic key split binder for use with tagged data elements
US20050010778A1 (en) * 1998-07-10 2005-01-13 Walmsley Simon Robert Method for validating an authentication chip
US20050058291A1 (en) * 2003-08-25 2005-03-17 Brant Candelore Apparatus and method for an iterative cryptographic block
US20050063541A1 (en) * 2002-11-05 2005-03-24 Candelore Brant L. Digital rights management of a digital device
US20050100161A1 (en) * 2001-12-10 2005-05-12 Dirk Husemann Access to encrypted broadcast content
US6898285B1 (en) * 2000-06-02 2005-05-24 General Instrument Corporation System to deliver encrypted access control information to support interoperability between digital information processing/control equipment
US20050119967A1 (en) * 2002-04-15 2005-06-02 Ryuji Ishiguro Information processing device and method, program storage medium and program
US20050169468A1 (en) * 2004-01-29 2005-08-04 Fahrny James W. System and method for security processing media streams
US20050172132A1 (en) * 2004-01-30 2005-08-04 Chen Sherman (. Secure key authentication and ladder system
US20050177741A1 (en) * 2004-02-05 2005-08-11 Iue-Shuenn Chen System and method for security key transmission with strong pairing to destination client
US6944083B2 (en) * 2003-11-17 2005-09-13 Sony Corporation Method for detecting and preventing tampering with one-time programmable digital devices
US6976163B1 (en) * 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US20060031873A1 (en) * 2004-08-09 2006-02-09 Comcast Cable Holdings, Llc System and method for reduced hierarchy key management
US20060122946A1 (en) * 2004-12-08 2006-06-08 Fahrny James W Method and system for securing content in media systems
US20060137015A1 (en) * 2004-12-18 2006-06-22 Comcast Cable Holdings, Llc System and method for secure conditional access download and reconfiguration
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US20060153379A1 (en) * 2001-06-06 2006-07-13 Candelore Brant L Partial encryption and PID mapping
US20060171391A1 (en) * 2003-03-26 2006-08-03 Hidekazu Suzuki Revocation information transmission method, reception method, and device Thereof
US20060200412A1 (en) * 2005-02-23 2006-09-07 Comcast Cable Holdings, Llc System and method for DRM regional and timezone key management
US20070168048A1 (en) * 2005-09-21 2007-07-19 Broadcom Corporation Secure processor supporting multiple security functions
US20070209799A1 (en) * 2001-10-24 2007-09-13 Shell Oil Company In situ recovery from a hydrocarbon containing formation
US20080086641A1 (en) * 2004-01-30 2008-04-10 Stephane Rodgers Method and system for preventing revocation denial of service attacks
US20090323971A1 (en) * 2006-12-28 2009-12-31 Munguia Peter R Protecting independent vendor encryption keys with a common primary encryption key
US20100046299A1 (en) * 2007-06-18 2010-02-25 Micron Technology, Inc. Programming rate identification and control in a solid state memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA04002726A (en) 2001-09-25 2005-10-05 Thomson Licensing Sa Ca system for broadcast dtv using multiple keys for different service providers and service areas.
WO2004042995A1 (en) * 2002-11-05 2004-05-21 Sony Electronics, Inc. Mechanism for protecting the transfer of digital content
US8194859B2 (en) * 2005-09-01 2012-06-05 Qualcomm Incorporated Efficient key hierarchy for delivery of multimedia content

Patent Citations (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792973A (en) * 1984-06-08 1988-12-20 M/A-Com Government Systems Inc. Selective enablement of descramblers
US4860353A (en) * 1988-05-17 1989-08-22 General Instrument Corporation Dynamic feedback arrangement scrambling technique keystream generator
US5054067A (en) * 1990-02-21 1991-10-01 General Instrument Corporation Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5734720A (en) * 1994-11-29 1998-03-31 Salganicoff; Marcos System and method for providing digital communications between a head end and a set top terminal
US20010046299A1 (en) * 1995-04-03 2001-11-29 Wasilewski Anthony J. Authorization of services in a conditional access 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
US5784095A (en) * 1995-07-14 1998-07-21 General Instrument Corporation Digital audio system with video output program guide
US5671276A (en) * 1995-07-21 1997-09-23 General Instrument Corporation Of Delaware Method and apparatus for impulse purchasing of packaged information services
US20020080958A1 (en) * 1997-09-16 2002-06-27 Safenet, Inc. Cryptographic key management scheme
US5982363A (en) * 1997-10-24 1999-11-09 General Instrument Corporation Personal computer-based set-top converter for television services
US6271837B1 (en) * 1997-10-24 2001-08-07 General Instrument Corporation Personal computer-based set-top converter for television services
US20040208316A1 (en) * 1998-02-13 2004-10-21 Wack C. Jay Cryptographic key split binder for use with tagged data elements
US20050010778A1 (en) * 1998-07-10 2005-01-13 Walmsley Simon Robert Method for validating an authentication chip
US6898285B1 (en) * 2000-06-02 2005-05-24 General Instrument Corporation System to deliver encrypted access control information to support interoperability between digital information processing/control equipment
US6976163B1 (en) * 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US20020170054A1 (en) * 2000-10-04 2002-11-14 Andre Kudelski Mechanism of matching between a receiver and a security module
US20020118837A1 (en) * 2000-12-21 2002-08-29 Hamilton Jon W. Method and system for digital image authentication center
US20020090090A1 (en) * 2000-12-22 2002-07-11 Van Rijnsoever Bartholomeus Johannes Conditional access
US20020101990A1 (en) * 2001-02-01 2002-08-01 Harumi Morino Data receiving apparatus and data reproducing apparatus
US20020136406A1 (en) * 2001-03-20 2002-09-26 Jeremy Fitzhardinge System and method for efficiently storing and processing multimedia content
US20060153379A1 (en) * 2001-06-06 2006-07-13 Candelore Brant L Partial encryption and PID mapping
US20030002577A1 (en) * 2001-06-29 2003-01-02 Pinder Howard G. In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate
US20070209799A1 (en) * 2001-10-24 2007-09-13 Shell Oil Company In situ recovery from a hydrocarbon containing formation
US20030097655A1 (en) * 2001-11-21 2003-05-22 Novak Robert E. System and method for providing conditional access to digital content
US20050100161A1 (en) * 2001-12-10 2005-05-12 Dirk Husemann Access to encrypted broadcast content
US20030123667A1 (en) * 2001-12-28 2003-07-03 Cable Television Laboratories, Inc. Method for encryption key generation
US20030190044A1 (en) * 2002-04-05 2003-10-09 Akio Higashi Content using system
US20050119967A1 (en) * 2002-04-15 2005-06-02 Ryuji Ishiguro Information processing device and method, program storage medium and program
US20030219127A1 (en) * 2002-05-24 2003-11-27 Russ Samuel H. Apparatus for entitling remote client devices
US6748080B2 (en) * 2002-05-24 2004-06-08 Scientific-Atlanta, Inc. Apparatus for entitling remote client devices
US20040003263A1 (en) * 2002-06-28 2004-01-01 Olivier Brique Security key for set-top-box updating method
US20040057579A1 (en) * 2002-09-20 2004-03-25 Fahrny James W. Roaming hardware paired encryption key generation
US20040086127A1 (en) * 2002-11-05 2004-05-06 Candelore Brant L. Mechanism for protecting the transfer of digital content
US20040088558A1 (en) * 2002-11-05 2004-05-06 Candelore Brant L. Descrambler
US20060198519A9 (en) * 2002-11-05 2006-09-07 Candelore Brant L Digital rights management of a digital device
US20050063541A1 (en) * 2002-11-05 2005-03-24 Candelore Brant L. Digital rights management of a digital device
US20040098591A1 (en) * 2002-11-15 2004-05-20 Fahrny James W. Secure hardware device authentication method
US20040177369A1 (en) * 2003-03-06 2004-09-09 Akins Glendon L. Conditional access personal video recorder
US20060171391A1 (en) * 2003-03-26 2006-08-03 Hidekazu Suzuki Revocation information transmission method, reception method, and device Thereof
US20050058291A1 (en) * 2003-08-25 2005-03-17 Brant Candelore Apparatus and method for an iterative cryptographic block
US6944083B2 (en) * 2003-11-17 2005-09-13 Sony Corporation Method for detecting and preventing tampering with one-time programmable digital devices
US20050169468A1 (en) * 2004-01-29 2005-08-04 Fahrny James W. System and method for security processing media streams
US20050172132A1 (en) * 2004-01-30 2005-08-04 Chen Sherman (. Secure key authentication and ladder system
US20080086641A1 (en) * 2004-01-30 2008-04-10 Stephane Rodgers Method and system for preventing revocation denial of service attacks
US20050177741A1 (en) * 2004-02-05 2005-08-11 Iue-Shuenn Chen System and method for security key transmission with strong pairing to destination client
US20060031873A1 (en) * 2004-08-09 2006-02-09 Comcast Cable Holdings, Llc System and method for reduced hierarchy key management
US20060122946A1 (en) * 2004-12-08 2006-06-08 Fahrny James W Method and system for securing content in media systems
US20060137015A1 (en) * 2004-12-18 2006-06-22 Comcast Cable Holdings, Llc System and method for secure conditional access download and reconfiguration
US20060200412A1 (en) * 2005-02-23 2006-09-07 Comcast Cable Holdings, Llc System and method for DRM regional and timezone key management
US20070168048A1 (en) * 2005-09-21 2007-07-19 Broadcom Corporation Secure processor supporting multiple security functions
US20090323971A1 (en) * 2006-12-28 2009-12-31 Munguia Peter R Protecting independent vendor encryption keys with a common primary encryption key
US20100046299A1 (en) * 2007-06-18 2010-02-25 Micron Technology, Inc. Programming rate identification and control in a solid state memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100251285A1 (en) * 2009-03-02 2010-09-30 Irdeto Access B.V. Conditional entitlement processing for obtaining a control word
US8958558B2 (en) * 2009-03-02 2015-02-17 Irdeto B.V. Conditional entitlement processing for obtaining a control word
US9866381B2 (en) 2009-03-02 2018-01-09 Irdeto B.V. Conditional entitlement processing for obtaining a control word
US9008304B2 (en) * 2012-12-28 2015-04-14 Intel Corporation Content protection key management
US11418364B2 (en) * 2017-06-07 2022-08-16 Combined Conditional Access Development And Support, Llc Determining a session key using session data
US11671279B2 (en) 2017-06-07 2023-06-06 Combined Conditional Access Development And Support, Llc Determining a session key using session data

Also Published As

Publication number Publication date
CA2602226C (en) 2014-11-25
EP1872511A2 (en) 2008-01-02
CA2602226A1 (en) 2007-08-23
WO2007094751A2 (en) 2007-08-23
US7933410B2 (en) 2011-04-26
US20060184796A1 (en) 2006-08-17
WO2007094751A3 (en) 2009-05-07
EP1872511A4 (en) 2012-01-11

Similar Documents

Publication Publication Date Title
US7933410B2 (en) System and method for a variable key ladder
US7383438B2 (en) System and method for secure conditional access download and reconfiguration
US20220021930A1 (en) Reduced Hierarchy Key Management System and Method
US7620179B2 (en) System and method for security processing media streams
US10848806B2 (en) Technique for securely communicating programming content
TW453089B (en) Protecting information in a system
US20060200412A1 (en) System and method for DRM regional and timezone key management
US20130279694A1 (en) System and method to record encrypted content with access conditions
KR100978162B1 (en) Method for verifying validity of domestic digital network key
Diehl et al. Protection in Broadcast

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMCAST CABLE HOLDINGS, LLC, PENNSYLVANIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FAHRNY, JAMES WILLIAM;REEL/FRAME:025846/0842

Effective date: 20050210

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: COMCAST CABLE COMMUNICATIONS, LLC, PENNSYLVANIA

Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:COMCAST CABLE HOLDINGS, LLC;COMCAST CABLE COMMUNICATIONS, LLC;REEL/FRAME:037229/0550

Effective date: 20150930